@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.2qo5md4hn_gum.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.1d9rlgtqyj_-l.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/03bda585a99c6450-s.p.32sris142tqlb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_62758222-module__njX_Ea__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_62758222-module__njX_Ea__variable{--font-admin-display:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.3hd2l7bm32o7k.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.1l2zhvq5eocqf.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.2vhvl9vrvk-va.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.173xwsdme27n8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.13hnt-xgp82zk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.1sj6eobyi31rd.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_fdfdad3b-module__RsX2ea__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_fdfdad3b-module__RsX2ea__variable{--font-admin-sans:"Manrope", "Manrope Fallback"}
:root{--bg:#0f1412;--bg-elevated:#17201c;--bg-soft:#1d2a24;--border:#b4d2be1f;--text:#e8f0ea;--muted:#8aa396;--accent:#3dbe8c;--accent-dim:#3dbe8c29;--danger:#e35d5d;--warn:#d4a24c;--shadow:0 18px 50px #00000059;--radius:14px;--font:var(--font-admin-sans), "Avenir Next", "Segoe UI", sans-serif;--font-display:var(--font-admin-display), Georgia, serif}*{box-sizing:border-box}html,body{background:radial-gradient(1200px 600px at 10% -10%, #3dbe8c1f, transparent 55%), radial-gradient(900px 500px at 100% 0%, #d4a24c14, transparent 50%), var(--bg);min-height:100%;color:var(--text);font-family:var(--font);margin:0;padding:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.admin-shell{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.admin-sidebar{border-right:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f1412eb;flex-direction:column;gap:28px;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.brand-mark{color:#04140d;width:42px;height:42px;font-family:var(--font-display);background:linear-gradient(145deg,#3dbe8c,#217a58);border-radius:12px;place-items:center;font-weight:700;display:grid}.brand-title{font-family:var(--font-display);font-size:1.15rem}.brand-sub{color:var(--muted);font-size:.78rem}.side-nav{flex-direction:column;gap:6px;display:flex}.side-link{color:var(--muted);border-radius:10px;padding:10px 12px;transition:all .15s}.side-link:hover,.side-link.active{background:var(--accent-dim);color:var(--text)}.side-footer{flex-direction:column;gap:10px;margin-top:auto;display:flex}.side-user{color:var(--muted);word-break:break-all;font-size:.8rem}.admin-main{padding:28px 32px 48px}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.page-header h1{font-family:var(--font-display);margin:0;font-size:2rem;font-weight:500}.page-header p{color:var(--muted);margin:6px 0 0}.page-actions{flex-wrap:wrap;gap:8px;display:flex}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.stat-card .label{color:var(--muted);font-size:.8rem}.stat-card .value{font-size:1.8rem;font-family:var(--font-display);margin-top:8px}.toolbar{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.table-wrap{overflow:auto}table.data{border-collapse:collapse;width:100%;min-width:720px}table.data th,table.data td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:12px 14px;font-size:.92rem}table.data th{color:var(--muted);background:#ffffff05;font-weight:500}table.data tr:hover td{background:#3dbe8c0a}.muted{color:var(--muted)}.clamp{-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:420px;line-height:1.45;display:-webkit-box;overflow:hidden}.badge{background:var(--bg-soft);color:var(--text);border:1px solid var(--border);border-radius:999px;align-items:center;padding:3px 8px;font-size:.75rem;display:inline-flex}.badge.ok{background:var(--accent-dim);color:#9fe7c7}.badge.warn{color:#f0d19a;background:#d4a24c29}.badge.danger{color:#f2a0a0;background:#e35d5d29}.btn{cursor:pointer;background:var(--accent);color:#04140d;border:1px solid #0000;border-radius:10px;padding:9px 14px;font-weight:600}.btn:hover{filter:brightness(1.05)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.ghost{border-color:var(--border);color:var(--text);background:0 0;font-weight:500}.btn.danger{color:#f2a0a0;background:0 0;border-color:#e35d5d73}.btn.small{padding:6px 10px;font-size:.8rem}.input,.select{background:var(--bg-soft);border:1px solid var(--border);color:var(--text);border-radius:10px;min-width:200px;padding:9px 12px}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--bg-elevated);border:1px solid var(--border);width:min(420px,100%);box-shadow:var(--shadow);border-radius:20px;padding:32px}.login-card h1{font-family:var(--font-display);margin:0 0 8px;font-weight:500}.login-card p{color:var(--muted);margin:0 0 22px}.stack{flex-direction:column;gap:12px;display:flex}.error-banner{color:#f2a0a0;background:#e35d5d1f;border:1px solid #e35d5d59;border-radius:10px;margin-bottom:14px;padding:10px 12px}.dev-otp{color:#f0d19a;margin-top:8px;font-size:.85rem}.center-state{min-height:100vh;color:var(--muted);place-items:center;display:grid}.form-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.empty{text-align:center;color:var(--muted);padding:36px}@media (max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{height:auto;position:static}.side-nav{flex-flow:wrap}}
