:root{--bg:#f3f5f8;--bg-elevated:#ffffff;--bg-surface:#eef1f4;--border:rgba(15,23,42,0.1);--border-strong:rgba(15,23,42,0.16);--text:#0f172a;--text-muted:#64748b;--accent:#1e3a5f;--accent-soft:rgba(30,58,95,0.1);--hover-bg:rgba(15,23,42,0.04);--radius-sm:8px;--radius-md:12px;--shadow-card:0 1px 3px rgba(15,23,42,0.06),0 4px 16px rgba(15,23,42,0.04);--workspace-max:1100px;--touch-target:44px;--page-pad-x:1.25rem;--page-pad-y:1.5rem;--font-sans:"Segoe UI",system-ui,-apple-system,sans-serif}*,:after,:before{box-sizing:border-box}body,html{margin:0;min-height:100%}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:inherit}.admin-app{min-height:100vh;max-width:var(--workspace-max);margin:0 auto;padding:var(--page-pad-y) var(--page-pad-x) 2.5rem;min-width:0;overflow-x:clip}.admin-header{justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.admin-brand,.admin-header{display:flex;align-items:center;min-width:0}.admin-brand{gap:.75rem;text-decoration:none}.admin-brand-mark{width:36px;height:36px;border-radius:9px;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;flex-shrink:0}.admin-brand-text{display:flex;flex-direction:column;min-width:0}.admin-brand-title{margin:0;font-size:1.05rem;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-brand-sub{margin:.1rem 0 0;font-size:.75rem;color:var(--text-muted)}.admin-header-actions{display:flex;align-items:center;gap:.5rem}.admin-nav-desktop{display:contents}.admin-nav{display:flex;flex-wrap:wrap;gap:.25rem;padding:.25rem;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg-elevated)}.admin-nav-link{display:inline-flex;align-items:center;min-height:var(--touch-target);padding:.35rem .85rem;border-radius:999px;font-size:.85rem;font-weight:500;color:var(--text-muted);text-decoration:none}.admin-nav-link:hover{color:var(--text);background:var(--hover-bg)}.admin-nav-link.is-active{color:#fff;background:var(--accent)}.admin-menu-toggle{display:none;align-items:center;justify-content:center;width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-elevated);cursor:pointer;color:var(--text)}.admin-menu-toggle-bars,.admin-menu-toggle-bars:after,.admin-menu-toggle-bars:before{display:block;width:18px;height:2px;background:currentColor;border-radius:1px;position:relative}.admin-menu-toggle-bars:after,.admin-menu-toggle-bars:before{content:"";position:absolute;left:0}.admin-menu-toggle-bars:before{top:-6px}.admin-menu-toggle-bars:after{top:6px}.admin-nav-backdrop,.admin-nav-drawer{display:none}.admin-main{min-width:0}.admin-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.85rem;margin-bottom:1.25rem}.admin-page-header h1{margin:0 0 .35rem;font-size:clamp(1.35rem,2.5vw,1.75rem);letter-spacing:-.02em}.admin-page-header p{margin:0;color:var(--text-muted);font-size:.95rem;line-height:1.45;max-width:42rem}.admin-card{padding:1.15rem 1.25rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow-card);min-width:0}.admin-actions{display:flex;flex-wrap:wrap;gap:.5rem}.admin-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target);padding:.5rem 1rem;border-radius:var(--radius-sm);border:1px solid transparent;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}.admin-btn-primary{background:var(--accent);color:#fff}.admin-btn-primary:hover{filter:brightness(1.05)}.admin-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-elevated)}.admin-login-page{min-height:100vh;display:grid;place-items:center;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.admin-login-card{width:min(420px,100%);padding:1.5rem 1.35rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow-card)}.admin-login-card h1{margin:0 0 .4rem;font-size:1.5rem}.admin-login-card>p{margin:0 0 1.25rem;color:var(--text-muted);font-size:.95rem}.admin-login-card label{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem;font-size:.85rem;font-weight:500;color:var(--text-muted)}.admin-login-card input{width:100%;min-height:var(--touch-target);padding:.55rem .7rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);font:inherit;font-size:16px;color:var(--text);background:var(--bg-surface)}.admin-login-card .admin-btn{width:100%;margin-top:.35rem}@media (max-width:900px){.admin-nav-desktop{display:none}.admin-menu-toggle{display:inline-flex}.admin-nav-backdrop{display:block;position:fixed;inset:0;z-index:40;background:rgba(15,23,42,.35);opacity:0;pointer-events:none;transition:opacity .2s ease}.admin-nav-backdrop.is-open{opacity:1;pointer-events:auto}.admin-nav-drawer{display:flex;flex-direction:column;position:fixed;top:0;right:0;z-index:50;width:min(320px,88vw);height:100%;padding:1rem;background:var(--bg-elevated);border-left:1px solid var(--border-strong);box-shadow:-8px 0 24px rgba(15,23,42,.12);transform:translateX(100%);transition:transform .22s ease;overflow-y:auto}.admin-nav-drawer.is-open{transform:translateX(0)}.admin-nav-drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.admin-nav-drawer-title{font-weight:650}.admin-nav-drawer-close{width:var(--touch-target);height:var(--touch-target);border:none;background:transparent;font-size:1.5rem;color:var(--text-muted);cursor:pointer}.admin-nav-drawer .admin-nav{flex-direction:column;align-items:stretch;border-radius:var(--radius-md)}.admin-nav-drawer .admin-nav-link{border-radius:var(--radius-sm);justify-content:flex-start}}@media (max-width:560px){:root{--page-pad-x:0.85rem;--page-pad-y:1rem}.admin-page-header{flex-direction:column;align-items:stretch}.admin-actions .admin-btn{width:100%}}