@import url("design-tokens.css");
*{box-sizing:border-box}:root{--bg:#f7f4ef;--surface:#fffdfa;--surface2:#f1ece5;--text:#15171a;--muted:#746f68;--line:#e2dbd2;--dark:#17191d;--cream:#eee5d8;--danger:#a83e34;--success:#4e7d56}body{margin:0;background:radial-gradient(circle at 78% 2%,#eee7de 0,transparent 30%),var(--bg);color:var(--text);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}.top{height:76px;background:color-mix(in srgb,var(--surface) 84%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);display:flex;align-items:center}.wrap{width:min(1120px,calc(100% - 32px));margin:auto}.brand{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none;font-weight:850;letter-spacing:-.025em}.mark{width:38px;height:38px;border-radius:10px;background:#17191d;display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:0 8px 20px rgba(20,20,20,.11)}.auth-shell{min-height:calc(100vh - 76px);display:grid;place-items:center;padding:44px 16px}.panel{width:min(460px,100%);background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 20px 60px rgba(37,31,24,.10)}h1{margin:0 0 7px;font-size:30px;letter-spacing:-.045em}p{color:var(--muted)}label{display:block;font-size:11px;font-weight:780;color:var(--muted);margin-top:13px}input,select{display:block;width:100%;margin-top:6px;border:1px solid #d8d0c7;border-radius:9px;padding:11px;background:#fffefa;color:var(--text);outline:none}input:focus,select:focus{border-color:#a9a198;box-shadow:0 0 0 3px #eee8e0}button,.button{display:inline-flex;justify-content:center;align-items:center;border:1px solid #d8d0c7;border-radius:9px;padding:11px 14px;font-weight:780;background:#fffefa;color:var(--text);cursor:pointer;text-decoration:none}.primary{background:#17191d;color:#fff;border-color:#17191d}.block{width:100%;margin-top:14px}.google{width:100%;margin-top:9px;background:var(--surface)}.divider{text-align:center;color:var(--muted);font-size:11px;margin:16px 0}.status{font-size:12px;min-height:18px;margin-top:10px;color:var(--danger)}.links{display:flex;justify-content:space-between;font-size:12px;margin-top:14px}.links a{color:var(--text);font-weight:750}.portal{padding:38px 0}.portal-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:19px;box-shadow:0 7px 24px rgba(37,31,24,.045)}.card h3{margin:0}.card strong.big{font-size:26px}.actions{display:flex;gap:8px;flex-wrap:wrap}.table-card{margin-top:14px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px;border-bottom:1px solid #ece6df;font-size:12px}th{font-size:10px;color:var(--muted)}td input,td select{margin:0;min-width:110px;padding:7px}.search{display:flex;gap:8px;margin-bottom:10px}.search input{margin:0}.muted{color:var(--muted);font-size:12px}.top .wrap{display:flex;align-items:center;justify-content:space-between}.top-actions{display:flex;gap:8px;align-items:center}.notice{padding:12px;border-radius:10px;background:#f2ece3;border:1px solid #ded3c6;color:#655f58;font-size:12px;margin:12px 0}.success{color:var(--success)}.danger{color:var(--danger)}.stack{display:grid;gap:10px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hidden{display:none!important}html[data-theme="dark"]{--bg:#171715;--surface:#211f1c;--surface2:#292621;--text:#f7f2ea;--muted:#b0a89f;--line:#38342f;--dark:#f5efe6;--cream:#302b24}html[data-theme="dark"] body{background:radial-gradient(circle at 75% 0,#2c2924 0,transparent 30%),var(--bg)}html[data-theme="dark"] .top,html[data-theme="dark"] .panel,html[data-theme="dark"] .card,html[data-theme="dark"] .table-card{background:var(--surface);border-color:var(--line)}html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] button,html[data-theme="dark"] .button{background:#282620;color:var(--text);border-color:var(--line)}html[data-theme="dark"] .primary{background:#f4eee6;color:#171715;border-color:#f4eee6}html[data-theme="dark"] .notice{background:#2d2923;border-color:#453e35;color:#d6cec4}@media(max-width:800px){.cards{grid-template-columns:1fr}.portal-head{align-items:flex-start;flex-direction:column}}@media(max-width:620px){.two{grid-template-columns:1fr}}

/* v0.5.3 admin shell alignment */
.admin-portal{padding:30px 0 64px}.admin-wrap{width:min(1380px,calc(100% - 48px))}.admin-portal .portal-head{margin-bottom:16px}.admin-portal .portal-head h1{font-size:36px;margin-bottom:5px}.admin-portal .table-card{border-radius:14px;box-shadow:0 8px 28px rgba(37,31,24,.04)}
@media(max-width:700px){.admin-wrap{width:min(100% - 28px,1380px)}}

/* v0.5.8 — shared shell typography and logo */
:root{--bg:var(--ins-bg);--surface:var(--ins-surface);--surface2:var(--ins-surface-soft);--text:var(--ins-text);--muted:var(--ins-muted);--line:var(--ins-line);--dark:var(--ins-charcoal);--cream:var(--ins-cream)}
body{font-family:var(--ins-font-sans)}
.top{height:var(--ins-header-h);background:color-mix(in srgb,var(--ins-surface) 92%,transparent);border-color:var(--ins-line)}
.top .wrap{width:min(1120px,calc(100% - 36px))}
.brand{gap:10px;font-family:var(--ins-font-sans);font-weight:800;letter-spacing:-.025em}
.brand .mark{width:var(--ins-brand-mark);height:var(--ins-brand-mark);border-radius:12px;background:transparent url('/brand/mark-light.svg') center/contain no-repeat!important;box-shadow:none!important;font-size:0;color:transparent;flex:0 0 var(--ins-brand-mark)}
.brand strong{font-size:var(--ins-font-brand);letter-spacing:-.035em}.brand small{font-size:var(--ins-font-brand-sub);font-weight:650}
html[data-theme="dark"] .brand .mark{background-image:url('/brand/mark-dark.svg')!important}
html[data-theme="dark"] .top{background:color-mix(in srgb,var(--ins-surface) 92%,transparent)}
.panel{border-radius:var(--ins-radius-lg);box-shadow:var(--ins-shadow-md)}
.panel h1,.portal-head h1{font-family:var(--ins-font-display)}
html[data-theme="dark"]{--bg:var(--ins-bg);--surface:var(--ins-surface);--surface2:var(--ins-surface-soft);--text:var(--ins-text);--muted:var(--ins-muted);--line:var(--ins-line);--dark:var(--ins-text);--cream:var(--ins-surface-muted)}
