:root{--a-paper:#f3f5ef;--a-surface:#fff;--a-ink:#1e241c;--a-soft:#5b6453;--a-line:#e1e6d8;--a-green-900:#672a7b;--a-green-700:#88449e;--a-green-500:#a368b6;--a-green-100:#ece1ef;--a-lilac-600:#7e5ea8;--a-lilac-400:#a98bd0;--a-lilac-100:#efe7f6;--a-radius:14px;--a-shadow:0 1px 2px rgba(20,51,31,0.05),0 16px 40px -26px rgba(20,51,31,0.4)}.admin-root{min-height:100vh;background:var(--a-paper);color:var(--a-ink);font-family:var(--font-body-stack);font-size:16px;line-height:1.55}.admin-root h1,.admin-root h2,.admin-root h3{font-family:var(--font-display-stack);font-weight:600;margin:0;letter-spacing:-.01em}.admin-root p{margin:0}.admin-root button{font-family:inherit}.admin-root :focus-visible{outline:3px solid var(--a-lilac-400);outline-offset:2px;border-radius:8px}.admin-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-weight:600;font-size:.95rem;padding:.72em 1.15em;border-radius:10px;border:1.5px solid transparent;cursor:pointer;transition:.15s;text-decoration:none}.admin-btn:hover{transform:translateY(-1px)}.admin-btn-pri{background:var(--a-green-900);color:#fff}.admin-btn-pri:hover{background:var(--a-green-700)}.admin-btn-lil{background:var(--a-lilac-600);color:#fff}.admin-btn-lil:hover{background:var(--a-lilac-400)}.admin-btn-ghost{background:#fff;color:var(--a-green-900);border-color:var(--a-line)}.admin-btn-ghost:hover{border-color:var(--a-green-900)}.admin-btn-danger{background:#fff;color:#b1442f;border-color:#eccfc8}.admin-btn-danger:hover{background:#fbeeea}.admin-btn-sm{padding:.5em .8em;font-size:.85rem;border-radius:9px}.admin-btn-block{width:100%}.admin-root input,.admin-root select,.admin-root textarea{font-family:inherit;font-size:1rem;width:100%;padding:.7em .85em;border:1.5px solid var(--a-line);border-radius:10px;background:#fff;color:var(--a-ink)}.admin-root textarea{resize:vertical;min-height:80px}.admin-root label{display:block;font-size:.8rem;font-weight:600;color:var(--a-green-900);margin:0 0 5px}.admin-field{margin-bottom:14px}.admin-error{color:#b1442f;font-size:.85rem;margin-top:10px}.admin-login{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(120% 90% at 80% 0,var(--a-lilac-100),transparent 55%),var(--a-paper)}.admin-login-card{background:var(--a-surface);border:1px solid var(--a-line);border-radius:22px;box-shadow:var(--a-shadow);width:100%;max-width:390px;padding:30px}.admin-brand{display:flex;align-items:center;gap:.5em;font-family:var(--font-display-stack);font-size:1.35rem;color:var(--a-green-900)}.admin-brand span{color:var(--a-lilac-600);font-style:italic}.admin-brand svg{width:26px;height:26px}.admin-url-hint{font-size:.78rem;color:var(--a-soft);background:var(--a-green-100);border-radius:8px;padding:.5em .7em;margin:14px 0 18px;text-align:center}.admin-topbar{position:sticky;top:0;z-index:40;background:var(--a-green-900);color:#fff;display:flex;align-items:center;gap:14px;padding:0 16px;height:58px}.admin-topbar .admin-brand{color:#fff;font-size:1.15rem}.admin-topbar .admin-brand span{color:var(--a-lilac-400)}.admin-topbar .admin-sp{flex:1}.admin-topbar .admin-mini{font-size:.85rem;color:#b7c7b0;display:none}.admin-layout{display:grid;grid-template-columns:1fr;max-width:1100px;margin:0 auto;width:100%}.admin-side{display:none}.admin-side a{display:flex;align-items:center;gap:10px;padding:.7em .9em;border-radius:10px;color:var(--a-soft);font-weight:500;cursor:pointer}.admin-side a.active{background:var(--a-green-100)}.admin-side a.active,.admin-side a:hover{color:var(--a-green-900)}.admin-side svg{width:19px;height:19px}.admin-content{padding:20px 16px 96px;min-width:0}.admin-page-head{margin-bottom:18px}.admin-page-head h2{font-size:1.5rem}.admin-page-head p{color:var(--a-soft);font-size:.92rem;margin-top:3px}.admin-botnav{position:fixed;bottom:0;left:0;right:0;z-index:40;background:#fff;border-top:1px solid var(--a-line);display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.admin-botnav a{appearance:none;border:0;background:none;padding:9px 0 11px;display:grid;justify-items:center;gap:3px;font-size:.64rem;font-weight:600;color:var(--a-soft);cursor:pointer}.admin-botnav a.active{color:var(--a-green-900)}.admin-botnav svg{width:20px;height:20px}.admin-card{background:var(--a-surface);border:1px solid var(--a-line);border-radius:var(--a-radius);padding:18px;box-shadow:var(--a-shadow)}.admin-grid-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:18px}.admin-stat{background:var(--a-surface);border:1px solid var(--a-line);border-radius:var(--a-radius);padding:14px}.admin-stat .k{font-family:var(--font-display-stack);font-size:1.6rem;color:var(--a-green-700)}.admin-stat .l{font-size:.8rem;color:var(--a-soft)}.admin-quick{display:grid;gap:10px}.admin-quick .admin-btn{justify-content:flex-start;text-align:left}.admin-tabs{display:inline-flex;background:var(--a-green-100);border-radius:10px;padding:3px;margin-bottom:12px}.admin-tabs button{appearance:none;border:0;background:none;font-weight:600;font-size:.82rem;color:var(--a-soft);padding:.4em .8em;border-radius:8px;cursor:pointer}.admin-tabs button.active{background:#fff;color:var(--a-green-900);box-shadow:0 1px 3px rgba(0,0,0,.08)}.admin-empty{border:1.5px dashed var(--a-line);border-radius:12px;padding:28px;text-align:center;color:var(--a-soft);font-size:.9rem}@media (min-width:860px){.admin-layout{grid-template-columns:220px 1fr;gap:24px;padding:0 16px}.admin-side{display:flex;flex-direction:column;gap:4px;padding:20px 0}.admin-content{padding:20px 0 60px}.admin-botnav{display:none}.admin-topbar .admin-mini{display:inline}.admin-grid-stats{grid-template-columns:repeat(4,1fr)}}.admin-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-grid-2>*{min-width:0}@media (max-width:560px){.admin-grid-2{grid-template-columns:1fr;gap:0}}.admin-check{display:flex;align-items:flex-start;gap:8px;margin-bottom:12px;font-size:.88rem}.admin-check input{width:auto;margin-top:3px;flex:none}.admin-check label{margin:0}.admin-topbar .admin-btn{white-space:nowrap}@media (max-width:440px){.admin-topbar{gap:8px;padding:0 12px}.admin-topbar .admin-brand{font-size:1rem}.admin-topbar .admin-btn-sm{padding:.45em .6em;font-size:.8rem}}