:root{--cream: #fbf7ed;--cream-2: #f5efe2;--cream-3: #efe7d6;--paper: #fffdf8;--ink: #1f1d1a;--ink-soft: #57534b;--ink-faint: #938c7e;--amber: #e07c4f;--amber-dk: #b85f35;--amber-lt: #eba97f;--amber-wash: #f7e7da;--blue: #3f6683;--blue-wash: #e7eef2;--green: #5e8c64;--green-wash: #e6eee3;--red: #c0553f;--rule: rgba(31, 29, 26, .13);--rule-soft: rgba(31, 29, 26, .07);--shadow-sm: 0 1px 2px rgba(80, 45, 20, .04), 0 4px 14px -8px rgba(80, 45, 20, .18);--shadow: 0 24px 60px -34px rgba(80, 45, 20, .5);--serif: "Newsreader", Georgia, serif;--sans: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--mono: "DM Mono", ui-monospace, monospace}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased}body{font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.5}::selection{background:#e07c4f38}a{color:var(--amber-dk);text-decoration:none}a:hover{color:var(--ink)}button{font-family:inherit;cursor:pointer}.orb{position:relative;display:grid;place-items:center;width:var(--s, 40px);height:var(--s, 40px);flex-shrink:0}.orb .halo{position:absolute;inset:-40%;border-radius:50%;background:radial-gradient(circle,rgba(224,124,79,.32) 0%,rgba(224,124,79,.05) 46%,transparent 68%);filter:blur(14px)}.orb .core{position:relative;width:74%;height:74%;border-radius:50%;background:radial-gradient(circle at 34% 28%,#ffe3cf,#f3a878,#e07c4f 64%,#b85f35);box-shadow:0 0 22px #e07c4f80,inset -4px -8px 18px #78321480,inset 4px 7px 14px #ffe0c899}.orb .core:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 68% 74%,rgba(255,210,170,.45),transparent 44%);mix-blend-mode:screen}@media(prefers-reduced-motion:no-preference){.orb.live .core{animation:orbCore 6s ease-in-out infinite}.orb.live .halo{animation:orbHalo 6s ease-in-out infinite}}@keyframes orbCore{0%,to{transform:scale(.97)}50%{transform:scale(1.04)}}@keyframes orbHalo{0%,to{opacity:.6;transform:scale(.95)}50%{opacity:1;transform:scale(1.06)}}.orb-mark{border-radius:50%;flex-shrink:0;background:radial-gradient(circle at 34% 28%,#ffe3cf,#f3a878 34%,#e07c4f 66%,#b85f35);box-shadow:0 0 12px #e07c4f73}.mono{font-family:var(--mono)}.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}.avatar{border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:600;flex-shrink:0;background:linear-gradient(135deg,#7c9ab2,#3f6683)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:500;font-size:14px;border:0;border-radius:10px;padding:11px 18px;background:var(--ink);color:var(--cream);transition:background .16s,transform .16s,box-shadow .16s;white-space:nowrap}.btn:hover{background:var(--amber-dk)}.btn:active{transform:translateY(1px)}.btn.amber{background:var(--amber-dk)}.btn.amber:hover{background:var(--amber)}.btn.ghost{background:transparent;color:var(--ink-soft);box-shadow:inset 0 0 0 1px var(--rule)}.btn.ghost:hover{background:var(--cream-2);color:var(--ink)}.btn.danger{background:transparent;color:var(--red);box-shadow:inset 0 0 0 1px #c0553f59}.btn.danger:hover{background:#c0553f14;color:var(--red)}.btn.sm{font-size:13px;padding:8px 13px;border-radius:8px}.btn.block{width:100%}.btn:disabled{opacity:.5;cursor:default}.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12px;letter-spacing:.03em;padding:4px 10px;border-radius:7px;background:var(--cream-2);color:var(--ink-soft)}.chip.green{background:var(--green-wash);color:var(--green)}.chip.amber{background:var(--amber-wash);color:var(--amber-dk)}.chip.blue{background:var(--blue-wash);color:var(--blue)}.chip .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.login{min-height:100vh;display:grid;place-items:center;padding:40px;background:radial-gradient(120% 70% at 84% -6%,rgba(224,124,79,.16),transparent 46%),radial-gradient(90% 80% at 10% 108%,rgba(224,124,79,.08),transparent 50%),linear-gradient(150deg,var(--cream) 0%,var(--cream-2) 100%)}.login-card{width:100%;max-width:400px;text-align:center}.login .orb{margin:0 auto 22px}.login-brand{font-family:var(--serif);font-size:24px;letter-spacing:.01em;margin-bottom:40px}.login h1{font-family:var(--serif);font-weight:300;font-size:40px;letter-spacing:-.025em;margin-bottom:8px}.login .sub{color:var(--ink-soft);font-size:15px;margin-bottom:30px}.login-form{display:flex;flex-direction:column;gap:12px;text-align:left}.login-form .field-label{display:flex;justify-content:space-between;align-items:baseline}.login .alt{display:flex;align-items:center;gap:14px;margin:20px 0;color:var(--ink-faint);font-size:12px;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase}.login .alt:before,.login .alt:after{content:"";flex:1;height:1px;background:var(--rule)}.login-foot{margin-top:36px;font-size:13px;color:var(--ink-faint);line-height:1.6}.login-foot .lock{display:inline-flex;align-items:center;gap:6px}.sent{display:none;flex-direction:column;align-items:center;gap:6px}.sent.on{display:flex}.sent .ping{width:64px;height:64px;border-radius:50%;background:var(--amber-wash);color:var(--amber-dk);display:grid;place-items:center;margin-bottom:12px}.sent .ping svg{width:30px;height:30px}.sent h1{font-size:32px}.sent .to{font-family:var(--mono);font-size:14px;color:var(--ink);background:var(--cream-2);padding:4px 10px;border-radius:6px}.portal{display:none;min-height:100vh}.portal.on{display:grid;grid-template-columns:264px 1fr}.side{position:sticky;top:0;height:100vh;background:var(--cream-2);border-right:1px solid var(--rule-soft);display:flex;flex-direction:column;padding:24px 18px}.side-brand{display:flex;align-items:center;gap:11px;padding:4px 10px 24px}.side-brand .nm{font-family:var(--serif);font-size:20px}.side-brand .tag{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);border-left:1px solid var(--rule);padding-left:10px}.nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:13px;width:100%;padding:11px 12px;border-radius:10px;border:0;background:transparent;color:var(--ink-soft);font-size:14.5px;font-weight:500;text-align:left;position:relative;transition:background .14s,color .14s;text-decoration:none}.nav-item svg{width:20px;height:20px;flex-shrink:0;stroke-width:1.7}.nav-item:hover{background:#1f1d1a0a;color:var(--ink)}.nav-item.on{background:var(--amber-wash);color:var(--amber-dk)}.nav-item .badge{margin-left:auto;font-family:var(--mono);font-size:11px;background:var(--paper);color:var(--ink-faint);padding:1px 7px;border-radius:20px;box-shadow:inset 0 0 0 1px var(--rule-soft)}.side-sep{height:1px;background:var(--rule-soft);margin:16px 10px}.side-spacer{flex:1}.side-user{display:flex;align-items:center;gap:11px;padding:10px;border-radius:12px;background:var(--paper);box-shadow:var(--shadow-sm)}.side-user .avatar{width:38px;height:38px;font-size:15px}.side-user .who{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.side-user .who .n{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-user .who .e{font-size:12px;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-user .out{width:32px;height:32px;border-radius:8px;background:transparent;color:var(--ink-faint);display:grid;place-items:center;flex-shrink:0;border:0}.side-user .out:hover{background:var(--cream-2);color:var(--ink)}.side-user .out svg{width:18px;height:18px}.content{min-width:0;padding:52px 60px 80px;max-width:900px}.panel{display:none;animation:fade .4s ease}.panel.on{display:block}@keyframes fade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.page-head{margin-bottom:34px}.page-head h1{font-family:var(--serif);font-weight:300;font-size:40px;letter-spacing:-.025em}.page-head p{color:var(--ink-soft);font-size:15px;margin-top:6px;max-width:60ch}.card{background:var(--paper);border:1px solid var(--rule-soft);border-radius:16px;box-shadow:var(--shadow-sm);margin-bottom:22px;overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px 0}.card-head h2{font-size:17px;font-weight:600}.card-head .hint{font-size:13px;color:var(--ink-faint)}.card-body{padding:22px 26px}.card-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 26px;background:var(--cream);border-top:1px solid var(--rule-soft)}.card-foot .note{font-size:13px;color:var(--ink-faint)}.card-foot .actions{display:flex;gap:10px;margin-left:auto}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.span2{grid-column:1 / -1}.field-label{font-size:13px;font-weight:500;color:var(--ink-soft)}.field-label .opt{color:var(--ink-faint);font-weight:400}.input,.select{width:100%;font-family:inherit;font-size:15px;color:var(--ink);background:var(--cream);border:1px solid var(--rule);border-radius:10px;padding:12px 14px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--ink-faint)}.input:focus,.select:focus{outline:0;border-color:var(--amber);box-shadow:0 0 0 3px #e07c4f29;background:var(--paper)}.input.mono{font-family:var(--mono);letter-spacing:.04em}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap .lead{position:absolute;left:14px;color:var(--ink-faint);display:grid;place-items:center;pointer-events:none}.input-wrap .lead svg{width:18px;height:18px}.input-wrap .input{padding-left:42px}.input-wrap .trail{position:absolute;right:8px}.field-note{font-size:12.5px;color:var(--ink-faint)}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23938C7E' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}.ava-row{display:flex;align-items:center;gap:18px;margin-bottom:22px}.ava-row .avatar{width:68px;height:68px;font-size:26px}.ava-row .meta .t{font-weight:600;font-size:15px}.ava-row .meta .s{font-size:13px;color:var(--ink-faint);margin:2px 0 10px}.device{display:flex;align-items:center;gap:16px;padding:16px 18px;background:var(--cream);border-radius:12px;border:1px solid var(--rule-soft)}.device .ic{width:44px;height:44px;border-radius:11px;background:var(--paper);box-shadow:var(--shadow-sm);display:grid;place-items:center;color:var(--ink-soft);flex-shrink:0}.device .ic svg{width:24px;height:24px}.device .d{flex:1}.device .d .t{font-weight:600;font-size:14.5px}.device .d .s{font-size:12.5px;color:var(--ink-faint);margin-top:2px}.plan-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:0}.plan-left{padding:28px 30px}.plan-badge{display:inline-flex;margin-bottom:16px}.plan-name{font-family:var(--serif);font-size:30px;font-weight:400}.plan-price{display:flex;align-items:baseline;gap:4px;margin:14px 0 6px}.plan-price .amt{font-family:var(--serif);font-size:52px;font-weight:300;letter-spacing:-.03em}.plan-price .per{color:var(--ink-faint);font-size:15px}.plan-renew{font-size:13.5px;color:var(--ink-soft)}.plan-renew b{font-weight:600}.plan-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.plan-right{padding:28px 30px;background:var(--cream);border-left:1px solid var(--rule-soft)}.plan-right .h{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:18px}.usage{display:flex;flex-direction:column;gap:18px}.usage-row .top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px}.usage-row .top .k{font-size:14px;color:var(--ink-soft)}.usage-row .top .v{font-family:var(--mono);font-size:14px;font-weight:500}.usage-row .top .v b{color:var(--ink)}.bar{height:8px;background:var(--cream-3);border-radius:5px;overflow:hidden}.bar span{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,var(--amber),var(--amber-lt))}.value-note{display:flex;align-items:center;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--rule-soft);font-family:var(--serif);font-style:italic;font-size:15px;color:var(--ink-soft)}@media(max-width:1024px){.plan-hero{grid-template-columns:1fr}.plan-right{border-left:0;border-top:1px solid var(--rule-soft)}}.cc{position:relative;width:340px;max-width:100%;aspect-ratio:1.6 / 1;border-radius:16px;padding:22px 24px;background:linear-gradient(140deg,#2a2320,#1f1d1a 60%,#241a12);color:var(--cream);display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow);overflow:hidden}.cc:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-70px;top:-90px;background:radial-gradient(circle,rgba(224,124,79,.5),transparent 68%)}.cc-top{display:flex;align-items:center;justify-content:space-between;z-index:1}.cc-chip{width:40px;height:30px;border-radius:6px;background:linear-gradient(135deg,#e6c07a,#b8933f)}.cc-brand{font-family:var(--serif);font-style:italic;font-size:20px;letter-spacing:.02em}.cc-num{font-family:var(--mono);font-size:21px;letter-spacing:.14em;z-index:1}.cc-bot{display:flex;justify-content:space-between;align-items:flex-end;z-index:1}.cc-bot .lab{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#f5ede28c}.cc-bot .val{font-size:14px;margin-top:3px}.pay-current{display:flex;gap:30px;align-items:center;flex-wrap:wrap}.pay-meta{flex:1;min-width:220px}.pay-meta .status{margin-bottom:14px}.pay-meta .line{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--rule-soft);font-size:14px}.pay-meta .line:last-child{border:0}.pay-meta .line .k{color:var(--ink-faint)}.table{width:100%}.tr{display:grid;grid-template-columns:1.3fr 1fr 1fr .8fr auto;align-items:center;gap:16px;padding:15px 26px;border-bottom:1px solid var(--rule-soft)}.tr:last-child{border-bottom:0}.thead{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);background:var(--cream)}.tr .amt{font-family:var(--mono);font-weight:500}.tr .inv-id{font-family:var(--mono);font-size:13px;color:var(--ink-faint)}.tr .dl{color:var(--ink-faint);display:inline-flex;align-items:center;gap:6px;font-size:13px;background:transparent;border:0}.tr .dl:hover{color:var(--amber-dk)}.tr .dl svg{width:16px;height:16px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.toggle-row .tx .t{font-weight:600;font-size:15px}.toggle-row .tx .s{font-size:13px;color:var(--ink-faint);margin-top:3px;max-width:52ch}.switch{position:relative;width:46px;height:27px;border-radius:20px;background:var(--rule);border:0;flex-shrink:0;transition:background .18s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .18s}.switch.on{background:var(--green)}.switch.on:after{transform:translate(19px)}.session{display:flex;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid var(--rule-soft)}.session:last-child{border:0}.session .ic{width:40px;height:40px;border-radius:10px;background:var(--cream);display:grid;place-items:center;color:var(--ink-soft);flex-shrink:0}.session .ic svg{width:20px;height:20px}.session .s-main{flex:1}.session .s-main .t{font-weight:600;font-size:14.5px;display:flex;align-items:center;gap:9px}.session .s-main .s{font-size:12.5px;color:var(--ink-faint);margin-top:2px}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%) translateY(20px);display:flex;align-items:center;gap:10px;background:var(--ink);color:var(--cream);font-size:14px;font-weight:500;padding:13px 20px;border-radius:12px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:100}.toast.on{opacity:1;transform:translate(-50%) translateY(0)}.toast svg{width:18px;height:18px;color:var(--amber-lt)}@media(max-width:860px){.portal.on{grid-template-columns:1fr}.side{position:static;height:auto;flex-direction:row;align-items:center;flex-wrap:wrap;gap:6px;padding:14px 18px}.side-brand{padding:0 12px 0 4px}.nav{flex-direction:row;flex-wrap:wrap;flex:1}.nav-item{width:auto}.nav-item span.lbl,.side-sep,.side-spacer{display:none}.side-user{margin-left:auto}.side-user .who{display:none}.content{padding:32px 24px 60px}.plan-hero,.pay-current{grid-template-columns:1fr}.plan-right{border-left:0;border-top:1px solid var(--rule-soft)}.grid2,.grid3{grid-template-columns:1fr}.tr{grid-template-columns:1fr auto}.tr .inv-id,.tr .status-cell{display:none}}.portal-loading{min-height:100vh;display:grid;place-items:center;padding:40px;background:radial-gradient(120% 70% at 84% -6%,rgba(224,124,79,.16),transparent 46%),radial-gradient(90% 80% at 10% 108%,rgba(224,124,79,.08),transparent 50%),linear-gradient(150deg,var(--cream) 0%,var(--cream-2) 100%)}.notice-card{width:100%;max-width:420px;text-align:center}.notice-card .orb{margin:0 auto 20px}.notice-card .eyebrow{display:block;margin-bottom:10px}.notice-card h1{font-family:var(--serif);font-weight:300;font-size:34px;letter-spacing:-.025em;margin-bottom:8px}.notice-card p{color:var(--ink-soft);font-size:15px;margin-bottom:8px}.notice-card code{font-family:var(--mono);font-size:13px;background:var(--cream-2);padding:1px 6px;border-radius:5px}.admin-state{padding:26px;text-align:center;color:var(--ink-faint);font-size:14px}.admin-spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--rule);border-top-color:var(--amber-dk);animation:spin .7s linear infinite;margin:6px auto}@keyframes spin{to{transform:rotate(360deg)}}.tr.admin-row,.tr.admin-head{grid-template-columns:1.4fr 1fr .8fr .8fr}@media(max-width:860px){.tr.admin-row,.tr.admin-head{grid-template-columns:1fr auto}.tr.admin-row .admin-plan,.tr.admin-head .admin-plan,.tr.admin-row .admin-name,.tr.admin-head .admin-name{display:none}}.billing-state{padding:30px 26px;text-align:center;color:var(--ink-faint);font-size:14px}.billing-state .spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--rule);border-top-color:var(--amber-dk);animation:spin .7s linear infinite;margin:0 auto 12px}.billing-state.err{color:var(--red)}.plan-pick{display:grid;grid-template-columns:1fr 1fr;gap:16px}.plan-opt{position:relative;display:flex;flex-direction:column;gap:6px;text-align:left;padding:22px 22px 20px;border:1px solid var(--rule);border-radius:14px;background:var(--cream);transition:border-color .15s,box-shadow .15s,background .15s}.plan-opt:hover{border-color:var(--amber);background:var(--paper)}.plan-opt.on{border-color:var(--amber);box-shadow:0 0 0 3px #e07c4f29;background:var(--paper)}.plan-opt .opt-name{font-weight:600;font-size:16px}.plan-opt .opt-price{display:flex;align-items:baseline;gap:5px;margin-top:2px}.plan-opt .opt-price .amt{font-family:var(--serif);font-size:34px;font-weight:300;letter-spacing:-.02em}.plan-opt .opt-price .per{color:var(--ink-faint);font-size:14px}.plan-opt .opt-note{font-size:13px;color:var(--ink-soft)}.plan-opt .opt-save{align-self:flex-start;margin-top:4px}.pay-form{display:flex;flex-direction:column;gap:18px}.pay-form .stripe-err{font-size:13.5px;color:var(--red);background:#c0553f14;border:1px solid rgba(192,85,63,.28);border-radius:10px;padding:10px 12px}.pay-form .pay-actions{display:flex;align-items:center;gap:12px}.pay-form .pay-actions .note{font-size:12.5px;color:var(--ink-faint);margin-left:auto}.plan-start{padding:40px 30px;text-align:center}.plan-start .plan-name{margin-bottom:6px}.plan-start p{color:var(--ink-soft);font-size:15px;max-width:460px;margin:0 auto 22px}@media(max-width:720px){.plan-pick{grid-template-columns:1fr}}.admin{--a-bg: #f6f7f9;--a-surface: #ffffff;--a-surface-2: #fbfcfd;--a-surface-3: #f1f3f6;--a-ink: #17202e;--a-ink-soft: #556072;--a-ink-faint: #8a94a4;--a-border: #e4e8ee;--a-border-soft: #eef1f5;--a-accent: #4260e0;--a-accent-ink: #2f47b8;--a-accent-soft: #eef1fe;--a-green: #12855a;--a-green-soft: #e6f5ee;--a-amber: #a76a12;--a-amber-soft: #fbf1de;--a-red: #cc3d38;--a-red-soft: #fbeceb;--a-slate-soft: #eef1f5;--a-shadow-sm: 0 1px 2px rgba(20, 30, 50, .05);--a-shadow: 0 1px 2px rgba(20, 30, 50, .04), 0 8px 24px -12px rgba(20, 30, 50, .16);--a-radius: 12px;--a-radius-sm: 9px;--a-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--a-mono: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;min-height:100vh;display:grid;grid-template-rows:auto 1fr;background:var(--a-bg);color:var(--a-ink);font-family:var(--a-sans);line-height:1.5;-webkit-font-smoothing:antialiased}.admin ::selection{background:#4260e02e}.admin a{color:var(--a-accent-ink);text-decoration:none}.admin a:hover{color:var(--a-accent)}.admin-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:16px;height:58px;padding:0 22px;background:var(--a-surface);border-bottom:1px solid var(--a-border)}.admin-brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px;letter-spacing:-.01em}.admin-brand .mark{width:24px;height:24px;border-radius:7px;flex-shrink:0;background:radial-gradient(circle at 34% 28%,#ffe3cf,#f3a878 34%,#e07c4f 66%,#b85f35);box-shadow:0 0 10px #e07c4f66}.admin-brand .tag{font-family:var(--a-mono);font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--a-ink-faint);border:1px solid var(--a-border);border-radius:5px;padding:2px 7px}.admin-topbar-spacer{flex:1}.admin-topbar-user{display:flex;align-items:center;gap:11px;min-width:0}.admin-topbar-user .who{display:flex;flex-direction:column;align-items:flex-end;min-width:0;line-height:1.2}.admin-topbar-user .who .n{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:30ch}.admin-topbar-user .who .e{font-size:11.5px;color:var(--a-ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:30ch}.admin-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:13px;font-weight:600;flex-shrink:0;background:linear-gradient(135deg,#6f86ec,#4260e0)}.admin-signout{width:34px;height:34px;border-radius:8px;border:1px solid var(--a-border);background:var(--a-surface);color:var(--a-ink-faint);display:grid;place-items:center;flex-shrink:0;transition:background .14s,color .14s,border-color .14s}.admin-signout:hover{background:var(--a-surface-3);color:var(--a-ink);border-color:var(--a-border)}.admin-signout svg{width:17px;height:17px}.admin-body{display:grid;grid-template-columns:224px 1fr;min-height:0}.admin-nav{position:sticky;top:58px;align-self:start;height:calc(100vh - 58px);padding:18px 14px;background:var(--a-surface);border-right:1px solid var(--a-border);display:flex;flex-direction:column;gap:3px}.admin-nav .nav-group{font-family:var(--a-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--a-ink-faint);padding:6px 12px 4px}.admin-nav-item{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:var(--a-radius-sm);color:var(--a-ink-soft);font-size:14px;font-weight:500;transition:background .13s,color .13s}.admin-nav-item svg{width:18px;height:18px;flex-shrink:0;stroke-width:1.8}.admin-nav-item:hover{background:var(--a-surface-3);color:var(--a-ink)}.admin-nav-item.on{background:var(--a-accent-soft);color:var(--a-accent-ink)}.admin-main{min-width:0;padding:32px 40px 64px;max-width:1160px}.admin-page-head{margin-bottom:26px}.admin-page-head h1{font-size:26px;font-weight:650;letter-spacing:-.02em}.admin-page-head p{color:var(--a-ink-soft);font-size:14px;margin-top:5px;max-width:70ch}.admin-card{background:var(--a-surface);border:1px solid var(--a-border);border-radius:var(--a-radius);box-shadow:var(--a-shadow-sm);margin-bottom:20px;overflow:hidden}.admin-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--a-border-soft)}.admin-card-head h2{font-size:15px;font-weight:650}.admin-card-head .hint{font-size:12.5px;color:var(--a-ink-faint);font-family:var(--a-mono)}.admin-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px}.admin-stat{background:var(--a-surface);border:1px solid var(--a-border);border-radius:var(--a-radius);box-shadow:var(--a-shadow-sm);padding:18px 18px 16px;display:flex;flex-direction:column;gap:6px}.admin-stat .k{font-size:12.5px;font-weight:500;color:var(--a-ink-soft);display:flex;align-items:center;gap:7px}.admin-stat .v{font-size:30px;font-weight:680;letter-spacing:-.03em;line-height:1.05;font-variant-numeric:tabular-nums}.admin-stat .note{font-size:11.5px;color:var(--a-ink-faint)}.admin-stat .dot{width:7px;height:7px;border-radius:50%;background:var(--a-green);box-shadow:0 0 0 3px var(--a-green-soft)}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:13.5px}.admin-table thead th{text-align:left;font-family:var(--a-mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--a-ink-faint);font-weight:500;padding:11px 16px;background:var(--a-surface-2);border-bottom:1px solid var(--a-border);white-space:nowrap}.admin-table tbody td{padding:12px 16px;border-bottom:1px solid var(--a-border-soft);color:var(--a-ink);vertical-align:middle;white-space:nowrap}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table tbody tr:hover td{background:var(--a-surface-2)}.admin-table .col-email{font-weight:550}.admin-table .muted{color:var(--a-ink-faint)}.admin-table .mono{font-family:var(--a-mono);font-size:12.5px}.admin-table td.actions{text-align:right}.admin-row-actions{display:inline-flex;gap:7px;justify-content:flex-end}.admin-chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--a-mono);font-size:11px;letter-spacing:.02em;padding:3px 9px;border-radius:6px;background:var(--a-slate-soft);color:var(--a-ink-soft);white-space:nowrap}.admin-chip.green{background:var(--a-green-soft);color:var(--a-green)}.admin-chip.amber{background:var(--a-amber-soft);color:var(--a-amber)}.admin-chip.red{background:var(--a-red-soft);color:var(--a-red)}.admin-chip.accent{background:var(--a-accent-soft);color:var(--a-accent-ink)}.admin-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:inherit;font-size:13px;font-weight:550;border:1px solid var(--a-border);border-radius:8px;padding:7px 13px;background:var(--a-surface);color:var(--a-ink);transition:background .14s,border-color .14s,color .14s,box-shadow .14s;white-space:nowrap}.admin-btn:hover{background:var(--a-surface-3)}.admin-btn.sm{font-size:12px;padding:5px 10px;border-radius:7px}.admin-btn.primary{background:var(--a-accent);border-color:var(--a-accent);color:#fff}.admin-btn.primary:hover{background:var(--a-accent-ink);border-color:var(--a-accent-ink)}.admin-btn:disabled{opacity:.45;cursor:default}.admin-btn:disabled:hover{background:var(--a-surface)}.admin-search{position:relative;display:flex;align-items:center;max-width:340px;flex:1}.admin-search svg{position:absolute;left:12px;width:16px;height:16px;color:var(--a-ink-faint);pointer-events:none}.admin-input{width:100%;font-family:inherit;font-size:13.5px;color:var(--a-ink);background:var(--a-surface-2);border:1px solid var(--a-border);border-radius:8px;padding:8px 12px 8px 34px;transition:border-color .14s,box-shadow .14s,background .14s}.admin-input::placeholder{color:var(--a-ink-faint)}.admin-input:focus{outline:0;background:var(--a-surface);border-color:var(--a-accent);box-shadow:0 0 0 3px #4260e024}.admin-pager{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 20px;border-top:1px solid var(--a-border-soft);font-size:12.5px;color:var(--a-ink-soft)}.admin-pager .controls{display:flex;align-items:center;gap:8px}.admin-pager .range{font-variant-numeric:tabular-nums}.admin-state{padding:34px 22px;text-align:center;color:var(--a-ink-faint);font-size:13.5px}.admin-state.err{color:var(--a-red)}.admin-spin{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--a-border);border-top-color:var(--a-accent);animation:admin-spin .7s linear infinite;margin:0 auto 12px}@keyframes admin-spin{to{transform:rotate(360deg)}}.admin-callout{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:12px 14px;background:var(--a-accent-soft);border:1px solid rgba(66,96,224,.22);border-radius:var(--a-radius-sm);font-size:13px;color:var(--a-accent-ink)}.admin-callout .msg{flex:1;min-width:0}.admin-callout .url{font-family:var(--a-mono);font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--a-ink-soft);margin-top:2px}.admin-callout .close{border:0;background:transparent;color:var(--a-accent-ink);font-size:18px;line-height:1;padding:2px 4px}.admin-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.admin-link-card{display:flex;align-items:center;gap:13px;padding:16px 18px;background:var(--a-surface);border:1px solid var(--a-border);border-radius:var(--a-radius);box-shadow:var(--a-shadow-sm);transition:border-color .14s,box-shadow .14s,transform .14s}.admin-link-card:hover{border-color:var(--a-accent);box-shadow:var(--a-shadow);transform:translateY(-1px)}.admin-link-card .ic{width:38px;height:38px;border-radius:10px;background:var(--a-accent-soft);color:var(--a-accent-ink);display:grid;place-items:center;flex-shrink:0}.admin-link-card .ic svg{width:20px;height:20px}.admin-link-card .t{font-weight:600;font-size:14px;color:var(--a-ink)}.admin-link-card .s{font-size:12.5px;color:var(--a-ink-faint);margin-top:1px}.admin-body-pad{padding:6px 8px 8px}@media(max-width:820px){.admin-body{grid-template-columns:1fr}.admin-nav{position:static;height:auto;flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--a-border)}.admin-nav .nav-group{display:none}.admin-main{padding:24px 20px 48px}.admin-topbar-user .who{display:none}}.imp-banner{position:sticky;top:0;z-index:300;display:flex;align-items:center;gap:12px;padding:9px 18px;background:#7a3ca8;background:linear-gradient(90deg,#7a3ca8,#9a4fb8);color:#fff;font-size:13.5px;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;box-shadow:0 1px 3px #0000002e}.imp-banner svg{width:18px;height:18px;flex-shrink:0}.imp-banner .imp-msg{flex:1;min-width:0}.imp-banner .imp-msg b{font-weight:650}.imp-banner .imp-actor{opacity:.82}.imp-banner .imp-exit{border:1px solid rgba(255,255,255,.55);background:#ffffff1f;color:#fff;font-family:inherit;font-size:12.5px;font-weight:600;border-radius:7px;padding:5px 13px;flex-shrink:0;transition:background .14s}.imp-banner .imp-exit:hover{background:#ffffff3d}.imp-banner .imp-exit:disabled{opacity:.55;cursor:default}
