:root{--bg:#0d1117;--panel:#141a22;--panel2:#10161e;--border:#252d38;--text:#eef3f8;--muted:#8d99a8;--accent:#48a9ff;--green:#33d17a;--red:#ff5d6c;--amber:#ffbf47;--shadow:0 14px 34px rgba(0,0,0,.28)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}button,input,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:22px 16px;border-right:1px solid var(--border);background:#0b1016;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 22px}.brand strong{display:block;font-size:15px}.brand span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.brand-mark{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#2d91e8,#67c5ff);color:#06111a;font-weight:900;letter-spacing:-1px;box-shadow:0 8px 24px rgba(72,169,255,.28)}.brand-mark.small{width:38px;height:38px;border-radius:11px;font-size:12px}nav{display:grid;gap:5px}.nav-item,.logout{border:0;background:transparent;color:#aeb9c6;text-align:left;border-radius:9px;padding:10px 12px;cursor:pointer}.nav-item{display:flex;gap:11px;align-items:center}.nav-item span{width:18px;text-align:center;color:#758293}.nav-item:hover,.nav-item.active{background:#151d27;color:white}.nav-item.active{box-shadow:inset 3px 0 var(--accent)}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--border);padding-top:14px}.mini-status{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12px;padding:9px 12px}.mini-status i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(51,209,122,.08)}.logout{width:100%;color:#8996a5}.main{min-width:0;padding:0 34px 48px}.topbar{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);margin-bottom:28px}.topbar h1{font-size:25px;margin:0 0 4px}.topbar p{margin:0;color:var(--muted);font-size:13px}.page{display:none}.page.active{display:block}.grid{display:grid;gap:18px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:linear-gradient(180deg,#151b23,#121820);border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow)}.stat{padding:18px}.stat .label{font-size:12px;color:var(--muted);margin-bottom:12px}.stat .value{font-size:27px;font-weight:750}.stat .foot{margin-top:7px;color:#7f8c9a;font-size:11px}.section{margin-top:18px;padding:20px}.section-hd{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:16px}.section-hd h2{font-size:15px;margin:0}.section-hd p{font-size:12px;color:var(--muted);margin:4px 0 0}.service-row{display:grid;grid-template-columns:1.2fr .7fr .7fr auto;gap:16px;align-items:center;padding:13px 0;border-top:1px solid var(--border)}.service-row:first-of-type{border-top:0}.service-name strong{display:block}.service-name span{font-size:11px;color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:7px;font-size:11px;padding:5px 9px;border:1px solid var(--border);border-radius:20px;background:#0e141b}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green)}.pill.offline:before{background:var(--red)}.ghost,.primary,.danger,.small-btn{border:1px solid var(--border);border-radius:8px;padding:8px 12px;color:white;background:#151d27;cursor:pointer}.ghost:hover,.small-btn:hover{border-color:#3a4655}.primary{background:var(--accent);border-color:var(--accent);color:#07131d;font-weight:700}.danger{background:#30161a;border-color:#67262d;color:#ff9ba5}.wide{width:100%;margin-top:16px}.matrix{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.matrix-card{padding:16px}.matrix-card h3{margin:0 0 12px;font-size:14px}.branch{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--border);padding:9px 0;font-size:12px}.branch:first-of-type{border-top:0}.branch span{color:var(--muted)}code{font-family:"Cascadia Code",Consolas,monospace;color:#b9defe;background:#0c1218;padding:2px 5px;border-radius:5px;font-size:11px}.two-col{grid-template-columns:1fr 1fr}.release-card{padding:18px}.release-card h3{margin:0 0 4px;text-transform:capitalize}.meta-list{display:grid;gap:8px;margin:15px 0}.meta{display:flex;justify-content:space-between;font-size:12px;gap:20px}.meta span:first-child{color:var(--muted)}label{display:block;color:#a7b2bf;font-size:11px;margin:10px 0 6px}input,textarea{width:100%;border:1px solid var(--border);background:#0d131a;color:white;border-radius:8px;padding:9px 10px;outline:none}input:focus,textarea:focus{border-color:#3f8dcc}textarea{min-height:100px;resize:vertical}.upload-line{display:grid;grid-template-columns:1fr 1.2fr auto;gap:8px;align-items:end}.token-table{width:100%;border-collapse:collapse;font-size:12px}.token-table th{text-align:left;color:#7f8b99;font-weight:500;padding:0 10px 10px}.token-table td{padding:11px 10px;border-top:1px solid var(--border);vertical-align:middle}.actions{display:flex;gap:6px;flex-wrap:wrap}.token-key{display:flex;gap:7px;align-items:center;max-width:410px}.token-key code{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:330px}.form-row{display:grid;grid-template-columns:1.4fr .7fr auto;gap:9px;align-items:end}.log-entry{padding:15px 0;border-top:1px solid var(--border)}.log-entry:first-child{border-top:0}.log-entry-top{display:flex;justify-content:space-between;gap:10px}.log-entry h3{font-size:13px;margin:0}.log-entry ul{color:#aab4c0;font-size:12px;line-height:1.65}.path-box{padding:11px 12px;border:1px solid var(--border);border-radius:8px;background:#0d1319;margin-top:8px}.path-box span{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}.path-box code{word-break:break-all}.empty{color:var(--muted);font-size:12px;padding:14px 0}.toast{position:fixed;right:24px;top:20px;z-index:20;background:#1a2430;border:1px solid #34404f;padding:11px 14px;border-radius:9px;box-shadow:var(--shadow);font-size:12px}.toast.error{border-color:#6b2d35;color:#ffb4bb}.login-page{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at 50% 20%,#162434 0,#0d1117 42%,#090d12 100%)}.login-card{width:min(390px,calc(100vw - 32px));background:#111820;border:1px solid var(--border);border-radius:16px;padding:30px;box-shadow:var(--shadow)}.login-card .brand-mark{margin-bottom:20px}.login-card h1{margin:0 0 8px;font-size:22px}.login-card p{margin:0 0 22px;color:var(--muted);font-size:12px}.login-error{display:none;color:#ff8f9a;font-size:12px;margin-top:12px}@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.matrix{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.sidebar nav{grid-template-columns:repeat(2,1fr)}.sidebar-bottom{display:none}.main{padding:0 16px 30px}.topbar{height:88px}.stats,.matrix{grid-template-columns:1fr}.service-row{grid-template-columns:1fr auto}.service-row>div:nth-child(3){display:none}.upload-line,.form-row{grid-template-columns:1fr}.token-table{display:block;overflow:auto}}

.subsection{margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}
.subsection h3{margin:0 0 10px;font-size:13px}
.toggle-line{display:flex;align-items:center;gap:9px;margin:4px 0 14px;cursor:pointer}
.toggle-line input{width:auto;accent-color:var(--accent)}
.toggle-line span{font-size:12px;color:var(--text)}
.sale-dates{grid-template-columns:1fr 1fr}
.sale-banner-row{grid-template-columns:.6fr .9fr 1.2fr}
.sale-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.price-editor{border:1px solid var(--border);background:#0d1319;border-radius:10px;padding:13px}
.price-editor strong{font-size:12px}
.sale-preview{border:1px solid #35516a;background:linear-gradient(135deg,#102131,#101820);border-radius:11px;padding:18px;margin-bottom:18px}
.sale-preview-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7fc5ff;margin-bottom:7px;font-weight:800}
.sale-preview-message{font-size:18px;font-weight:750;line-height:1.3}
.sale-preview-cta{font-size:12px;color:#8fa1b3;margin-top:10px}
.pill.scheduled:before{background:var(--amber)}
@media(max-width:760px){.sale-dates,.sale-banner-row,.sale-price-grid{grid-template-columns:1fr}}
