/* Admin panel: mobile-first, big touch targets. Colors come from the same theme variables as the public site. */
body.admin{background-color:var(--bg);font-size:16px}
.a-wrap{width:min(1000px,100% - 24px);margin-inline:auto}
.a-top{background:rgba(var(--bg-rgb),.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.a-top::after{content:"";position:absolute;inset-inline:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--glow),transparent);opacity:.5;pointer-events:none}
.a-bar{display:flex;align-items:center;gap:10px;padding:10px 0}
.a-brand{display:flex;align-items:center;gap:10px;color:var(--text);margin-inline-end:auto}
.a-brand:hover{color:var(--text)}
.a-view{font-size:.88rem}
.a-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:10px;scrollbar-width:none}
.a-tabs::-webkit-scrollbar{display:none}
.a-tabs a{flex:none;display:inline-flex;align-items:center;min-height:42px;padding:6px 16px;color:var(--text);background:var(--panel);border:1px solid var(--line-2);border-radius:var(--r-sm);font-size:.92rem;transition:all .2s}
.a-tabs a.on,.a-tabs a:hover{background:var(--btn);border-color:var(--glow);color:var(--on-btn);box-shadow:0 0 16px rgba(var(--glow-rgb),.35)}
.a-main{padding:18px 0 90px}
.a-title{font-size:1.4rem;margin:6px 0 16px}
.a-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:22px}
.a-stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.a-stat b{display:block;font-size:1.8rem;color:var(--text);text-shadow:0 0 18px rgba(var(--glow-rgb),.5)}
.a-stat span{color:var(--muted);font-size:.88rem}
.a-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin-bottom:14px}
.a-card h2{font-size:1.05rem;margin-bottom:12px}
.a-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.a-actions form{display:inline}
.a-row{display:flex;gap:12px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px;margin-bottom:10px}
.a-row img{width:84px;height:54px;object-fit:cover;flex:none;background:var(--panel-2);border-radius:8px}
.a-row .info{flex:1;min-width:0}
.a-row .info strong{display:block;overflow-wrap:anywhere}
.a-row .meta{color:var(--muted);font-size:.84rem}
.st{display:inline-block;padding:1px 10px;font-size:.78rem;border:1px solid;border-radius:999px}
.st-on{color:var(--ok);border-color:var(--ok)}
.st-off{color:var(--muted);border-color:var(--line-2)}
.a-two{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.a-img-prev{max-width:240px;margin:6px 0;border:1px solid var(--line-2);border-radius:var(--r-sm)}
.a-shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:10px 0}
.a-shots label{display:block;font-size:.8rem;color:var(--muted)}
.a-shots img{aspect-ratio:16/10;object-fit:cover;width:100%;border:1px solid var(--line-2);border-radius:8px}
.a-login{max-width:420px;margin:8vh auto;padding:0 12px}
.a-msg{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px;margin:8px 0}
.a-unread{border-inline-start:4px solid var(--accent)}
[hidden]{display:none!important}

/* ---------- Appearance page ---------- */
.th-presets{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.th-opt{position:relative;display:block;cursor:pointer}
.th-opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.th-opt .face{display:flex;flex-direction:column;gap:8px;padding:12px 14px;min-height:76px;background:var(--bg);border:1px solid var(--line-2);border-radius:var(--r-sm);transition:all .2s}
.th-opt input:checked + .face{border-color:var(--glow);box-shadow:0 0 0 2px var(--glow),0 0 22px rgba(var(--glow-rgb),.4)}
.th-opt input:focus-visible + .face{outline:2px solid var(--accent-hi);outline-offset:3px}
.th-opt b{font-size:.95rem}
.dots{display:flex;gap:6px}
.dots i{display:block;width:22px;height:22px;border-radius:50%;border:1px solid rgba(255,255,255,.25)}
.th-colors{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.th-color{display:flex;align-items:center;gap:12px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px}
.th-color input[type=color]{width:56px;height:46px;padding:0;border:1px solid var(--line-2);border-radius:10px;background:transparent;cursor:pointer;flex:none}
.th-color label{flex:1;min-width:0;font-size:.9rem;margin:0}
.th-color output{display:block;direction:ltr;text-align:right;color:var(--muted);font-size:.8rem;font-family:ui-monospace,Menlo,Consolas,monospace}
.th-warn{margin:12px 0 0;padding:10px 14px;border:1px solid var(--err);border-radius:var(--r-sm);color:var(--err);background:rgba(255,107,139,.08);font-size:.9rem}
.th-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:16px}

/* live preview mini-site (variables are set on #tp by theme.js, so it never touches the real page) */
.tp{background-color:var(--bg);color:var(--text);border:1px solid var(--line-2);border-radius:var(--r);overflow:hidden;box-shadow:0 0 34px rgba(var(--glow-rgb),.3);
  background-image:radial-gradient(420px 220px at 90% -10%,rgba(var(--glow-rgb),.25),transparent 65%)}
.tp-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);background:rgba(var(--bg-rgb),.9)}
.tp-head b{font-size:1.05rem}
.tp-nav{margin-inline-start:auto;display:flex;gap:6px;font-size:.82rem}
.tp-nav span{padding:3px 10px;border-radius:8px;color:var(--text);opacity:.85}
.tp-nav span.on{background:rgba(var(--glow-rgb),.18);color:var(--accent-hi);box-shadow:inset 0 -2px 0 var(--accent);opacity:1}
.tp-body{display:grid;grid-template-columns:1fr 1.2fr;gap:14px;padding:14px}
.tp-card{background:linear-gradient(var(--panel),var(--panel)) padding-box,linear-gradient(145deg,var(--glow),var(--line) 60%) border-box;border:1px solid transparent;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 26px rgba(var(--glow-rgb),.25)}
.tp-img{aspect-ratio:16/10;background:linear-gradient(135deg,var(--btn-lo),var(--panel-2));position:relative}
.tp-img span{position:absolute;top:8px;inset-inline-start:8px;padding:1px 10px;font-size:.7rem;border-radius:999px;background:rgba(var(--bg-rgb),.85);border:1px solid var(--accent)}
.tp-card .in{padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.tp-card .in small{color:var(--accent-hi)}
.tp-card .in p{color:var(--muted);font-size:.8rem;margin:0}
.tp-card .btn{margin:0 10px 10px}
.tp-side{display:flex;flex-direction:column;gap:10px}
.tp-side h3{margin:0;font-size:1.05rem}
.tp-side p{margin:0;color:var(--muted);font-size:.88rem}
.tp-side .row{display:flex;gap:8px;flex-wrap:wrap}
.tp-input{min-height:42px;background:var(--bg);border:1px solid var(--glow);border-radius:var(--r-sm);box-shadow:0 0 0 3px rgba(var(--glow-rgb),.2);padding:9px 12px;color:var(--muted);font-size:.9rem}
.tp-foot{padding:10px 14px;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem;text-align:center}

@media (max-width:640px){
  .a-two{grid-template-columns:1fr}
  .btn{min-height:46px}
  .btn-sm{min-height:42px}
  .a-row img{width:64px;height:44px}
  .tp-body{grid-template-columns:1fr}
}
