:root{color:#17231f;font-synthesis:none;text-rendering:optimizelegibility;--bg:#f3efe3;--ink:#17231f;--muted:#65736d;--panel:#fffcf2e0;--panel-solid:#fffaf0;--line:#2a373124;--green:#0f8f65;--green-dark:#0a684a;--amber:#d98324;--red:#be3d2f;--blue:#2f6f95;--shadow:0 24px 80px #1c2b2529;background:#f3efe3;font-family:LXGW WenKai,Microsoft YaHei UI,Microsoft YaHei,Noto Sans CJK SC,Segoe UI Variable,sans-serif;font-size:14px;line-height:1.5}*{box-sizing:border-box}body{background:radial-gradient(circle at 0 0,#0f8f6538,#0000 32rem),radial-gradient(circle at 90% 10%,#d9832438,#0000 28rem),linear-gradient(135deg,#f6f0df 0%,#e9f0e9 56%,#f4e2cc 100%);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#ffffffbd;border-radius:16px;outline:none;padding:.72rem .9rem;transition:border-color .16s,box-shadow .16s,background .16s}textarea{resize:vertical;min-height:96px}input:focus,select:focus,textarea:focus{background:#fff;border-color:#0f8f65b8;box-shadow:0 0 0 4px #0f8f6524}label{color:var(--muted);gap:.45rem;font-size:.84rem;font-weight:700;display:grid}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:.78rem .9rem}th{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}td{min-width:9rem}.login-shell{place-items:center;min-height:100vh;padding:2rem;display:grid}.login-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:34px;max-width:480px;padding:2rem;animation:.52s both rise-in;position:relative;overflow:hidden}.login-card:before,.hero-panel:before{content:"";background:linear-gradient(135deg,#0f8f653d,#d9832433);width:14rem;height:9rem;position:absolute;top:-4rem;right:-3rem;transform:rotate(18deg)}.brand-mark{color:#f9f0d8;letter-spacing:-.08em;background:#17231f;border-radius:22px;place-items:center;width:4.25rem;height:4.25rem;margin-bottom:1.25rem;font-weight:900;display:inline-grid}.brand-mark.small{border-radius:14px;width:2.6rem;height:2.6rem;margin:0;font-size:.92rem}.brand-logo{filter:drop-shadow(0 16px 28px #07120f2e);width:4.25rem;height:4.25rem;margin-bottom:1.25rem;display:block}.brand-logo.small{width:2.6rem;height:2.6rem;margin:0}.eyebrow{color:var(--green-dark);letter-spacing:.15em;text-transform:uppercase;margin:0 0 .35rem;font-size:.72rem;font-weight:900}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.045em;margin-bottom:.75rem;font-size:clamp(2rem,4.2vw,3.75rem);line-height:.98}h2{letter-spacing:-.025em;margin-bottom:.35rem;font-size:clamp(1.2rem,1.8vw,1.62rem);line-height:1.12}h3{letter-spacing:-.04em;margin-bottom:0;font-size:1.15rem}.muted,.form-hint,.subtle-line{color:var(--muted)}.form-hint,.subtle-line{font-size:.84rem;display:block}.login-form,.renew-form{gap:1rem;margin-top:1.5rem;display:grid}.primary-action,.secondary-action,.danger-action,.ghost-action{border:0;border-radius:999px;justify-content:center;align-items:center;min-height:2.45rem;padding:.58rem .9rem;font-size:.92rem;font-weight:900;transition:transform .14s,box-shadow .14s,background .14s;display:inline-flex}.primary-action{background:var(--green);color:#fff;box-shadow:0 12px 26px #0f8f653d}.secondary-action{color:var(--green-dark);background:#deefe5}.danger-action{color:var(--red);background:#ffe1d8}.ghost-action{color:var(--ink);background:#17231f12}.compact-action{white-space:nowrap;margin-top:6px;padding:6px 10px;display:inline-flex}.primary-action:not(:disabled):hover,.secondary-action:not(:disabled):hover,.danger-action:not(:disabled):hover,.ghost-action:not(:disabled):hover{transform:translateY(-1px)}.alert{color:var(--red);background:#fff0ea;border:1px solid #be3d2f47;border-radius:18px;padding:.85rem 1rem}.success-alert{color:var(--green-dark);background:#e7f6ee;border:1px solid #0f8f6547;border-radius:18px;padding:.85rem 1rem}.wide-alert{margin-bottom:1rem}.admin-shell{max-width:1500px;margin:0 auto;padding:1.25rem}.topbar,.hero-panel,.stat-grid article,.table-card,.detail-panel,.modal-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}.topbar{border-radius:28px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem;display:flex}.brand-strip,.topbar-actions,.row-actions,.modal-actions,.panel-actions{align-items:center;gap:.75rem;display:flex}.brand-strip span{color:var(--muted);font-size:.82rem;display:block}.session-chip{border:1px solid var(--line);color:var(--muted);background:#ffffffa3;border-radius:999px;padding:.55rem .8rem;font-weight:800}.main-menu{border:1px solid var(--line);background:#17231f0f;border-radius:999px;align-items:center;gap:.35rem;margin:0 auto;padding:.35rem;display:flex}.menu-tab{color:var(--muted);text-align:center;background:0 0;border:0;border-radius:999px;gap:.05rem;min-width:8.3rem;padding:.5rem .85rem;transition:background .16s,color .16s,box-shadow .16s,transform .16s;display:grid}.menu-tab strong{color:inherit;font-size:.92rem;line-height:1.2}.menu-tab span{color:inherit;opacity:.78;font-size:.72rem}.menu-tab.active{color:#fffaf0;background:#17231f;box-shadow:0 10px 26px #17231f2e}.menu-tab:not(.active):hover{color:var(--ink);background:#ffffffb8;transform:translateY(-1px)}.hero-panel{border-radius:36px;grid-template-columns:1fr minmax(320px,430px);gap:1.2rem;margin-bottom:1rem;padding:clamp(1.15rem,2.4vw,1.75rem);display:grid;position:relative;overflow:hidden}.hero-panel>*{z-index:1;position:relative}.hero-side{gap:.75rem;display:grid}.search-card,.smtp-card{border:1px solid var(--line);background:#fffaf0b8;border-radius:22px;align-self:center;gap:.72rem;padding:.85rem;display:grid}.smtp-card{align-self:stretch}.smtp-card-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.smtp-card-heading strong{font-size:.98rem;display:block}.smtp-grid{grid-template-columns:1fr 1fr;gap:.5rem;margin:0;display:grid}.smtp-grid div{min-width:0}.smtp-grid dd{font-size:.82rem;line-height:1.35}.search-row{grid-template-columns:1fr auto;gap:.65rem;display:grid}.clear-filter{justify-self:start}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem;display:grid}.stat-grid article{border-radius:24px;padding:.85rem 1rem;animation:.42s both rise-in}.stat-grid span{color:var(--muted);font-size:.78rem;font-weight:800;display:block}.stat-grid strong{letter-spacing:-.06em;font-size:1.65rem;display:block}.workspace-grid{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:1rem;display:grid}.workspace-grid.single-column{grid-template-columns:minmax(0,1fr)}.table-card,.detail-panel{border-radius:28px;overflow:hidden}.table-heading,.panel-heading,.membership-header,.pagination-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.table-heading,.pagination-row{padding:.85rem 1rem}.table-scroll{overflow-x:auto}.selected-row{background:#0f8f6514}.link-button{color:var(--ink);text-align:left;background:0 0;border:0;padding:0;font-weight:900;display:block}.status-pill{white-space:nowrap;border-radius:999px;padding:.35rem .65rem;font-size:.72rem;font-weight:900;display:inline-flex}.status-active,.status-enabled,.status-direct{color:var(--green-dark);background:#d9f1e4}.status-expired,.status-traffic_exhausted,.status-proxy,.status-draining{color:#94600f;background:#fff2cc}.status-disabled,.status-none,.status-block{color:var(--red);background:#f5dfd8}.detail-panel{padding:.9rem;position:sticky;top:1rem}.empty-panel{min-height:360px}.icon-only{min-height:2.35rem;padding:.55rem .75rem}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0;display:grid}.detail-grid.compact{grid-template-columns:1fr}.detail-grid div{border:1px solid var(--line);background:#ffffff8a;border-radius:18px;padding:.72rem}dt{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:900}dd{overflow-wrap:anywhere;margin:.2rem 0 0;font-weight:850}.membership-card{color:#fffaf0;background:#17231f;border-radius:24px;margin-top:1rem;padding:1rem}.membership-card .eyebrow,.membership-card .form-hint{color:#a9d9bf}.membership-card .detail-grid div{background:#ffffff14;border-color:#ffffff1f}.meter{background:#ffffff24;border-radius:999px;height:.7rem;margin-top:1rem;overflow:hidden}.meter span{background:linear-gradient(90deg,#49d09b,#f0a23a);height:100%;display:block}.token-card{border:1px solid var(--line);background:#ffffff8f;border-radius:24px;margin-top:1rem;padding:1rem}.token-list{gap:.55rem;margin-top:.8rem;display:grid}.token-row{border:1px solid var(--line);background:#17231f0f;border-radius:16px;gap:.2rem;padding:.68rem .78rem;display:grid}.token-row strong{color:var(--green-dark);letter-spacing:.08em;font-size:.78rem}.token-row span{color:var(--muted);overflow-wrap:anywhere;font-size:.78rem}.panel-actions{grid-template-columns:1fr 1fr;align-items:stretch;margin-top:1rem;display:grid}.panel-skeleton{background:#ffffffb3;border-radius:20px;height:9rem;margin-bottom:1rem;animation:1.1s ease-in-out infinite pulse}.panel-skeleton.short{height:4rem}.empty-state{color:var(--muted);text-align:center;padding:2rem}.modal-backdrop{z-index:20;background:#17231f5c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{border-radius:30px;width:min(100%,560px);max-width:560px;padding:1rem;animation:.24s both rise-in}.modal-actions{justify-content:flex-end}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes pulse{50%{opacity:.42}}@media (width<=1080px){.hero-panel,.workspace-grid{grid-template-columns:1fr}.detail-panel{position:static}}@media (width<=760px){.admin-shell,.login-shell{padding:.75rem}.topbar,.topbar-actions,.brand-strip,.table-heading,.panel-heading,.membership-header,.pagination-row{flex-direction:column;align-items:stretch}.search-row,.stat-grid,.detail-grid,.panel-actions{grid-template-columns:1fr}.row-actions,.modal-actions{flex-direction:column;align-items:stretch}.row-actions button,.modal-actions button{width:100%}}.node-hero h1{max-width:8ch}.node-form{gap:.9rem;margin-top:1rem;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.checkbox-row{flex-direction:row;align-items:center;gap:.55rem;display:flex}.checkbox-row input{width:auto}.node-config-editor{white-space:pre;min-height:360px;font-family:Cascadia Code,JetBrains Mono,Consolas,monospace;font-size:.82rem}.protocol-list{flex-wrap:wrap;gap:.35rem;display:flex}.tag-list{flex-wrap:wrap;gap:.28rem;margin-top:.35rem;display:flex}.tag-chip{color:var(--blue);background:#2f6f951f;border-radius:999px;padding:.28rem .5rem;font-size:.7rem;font-weight:900;line-height:1;display:inline-flex}.node-editor{max-height:calc(100vh - 2rem);overflow-y:auto}.status-unhealthy{color:#94600f;background:#fff2cc}.settings-hero h1{max-width:11ch}.settings-grid{grid-template-columns:minmax(0,1fr) 420px;align-items:start;gap:1rem;display:grid}.settings-card{padding-bottom:.2rem}.settings-stack{gap:1rem;display:grid}.plan-list{gap:.65rem;padding:0 1rem 1rem;display:grid}.plan-row{border:1px solid var(--line);background:#ffffff8a;border-radius:18px;grid-template-columns:minmax(0,1fr) 6rem;align-items:center;gap:.75rem;padding:.75rem;display:grid}.plan-row strong,.plan-row small{display:block}.plan-row small{color:var(--muted);font-size:.76rem}.plan-row input{text-align:center}.settings-detail-grid{margin:0;padding:0 1rem 1rem}.settings-placeholder{padding:0 1rem 1rem}.password-card{position:static}.password-form{gap:.9rem;margin-top:1rem;display:grid}@media (width<=1080px){.settings-grid{grid-template-columns:1fr}}@media (width<=760px){.form-row{grid-template-columns:1fr}.node-editor{max-height:none}.main-menu{border-radius:22px;width:100%;overflow-x:auto}.menu-tab{min-width:7.8rem}}.inline-filter{color:#4b5563;align-items:center;gap:8px;font-size:13px;display:inline-flex}.inline-filter select{background:#fff;border:1px solid #d9e8e3;border-radius:10px;padding:6px 10px}.mono{letter-spacing:.5px;font-family:JetBrains Mono,Cascadia Code,Consolas,monospace}.status-pill.status-block{color:#b91c1c;background:#fde2e1}.generated-batch{border-top:1px solid #e6efe9;margin-top:18px;padding-top:16px}.code-output{letter-spacing:.5px;resize:vertical;width:100%;font-family:JetBrains Mono,Cascadia Code,Consolas,monospace;font-size:13px}
