:root{--bg: #0f1220;--panel: #1a1f33;--panel2: #232a44;--text: #e8ecf5;--muted: #9aa3bd;--accent: #5b8cff;--green: #38c172;--red: #ef5350;--border: #2c3354}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text)}button{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:8px 14px;cursor:pointer;font-size:14px}button.ghost{background:var(--panel2);color:var(--text)}button:disabled{opacity:.5;cursor:not-allowed}input,select{background:var(--panel2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:8px 10px;font-size:14px}.model-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;max-width:620px}.model-checks label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:36px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel2)}.model-checks label.disabled{opacity:.55}.model-checks input{width:auto;padding:0}.model-checks span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-checks em{color:var(--muted);font-size:11px;font-style:normal;white-space:nowrap}.muted{color:var(--muted)}.entitlements{display:flex;flex-direction:column;gap:3px;min-width:140px}.entitlements div{display:flex;justify-content:space-between;gap:10px;color:var(--muted)}.entitlements strong{color:var(--text);font-weight:650}textarea{width:100%;min-height:74px;resize:vertical;background:var(--panel2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.45}.login-wrap{height:100vh;display:flex;align-items:center;justify-content:center}.login-card{background:var(--panel);padding:32px;border-radius:16px;width:340px;display:flex;flex-direction:column;gap:14px;border:1px solid var(--border)}.login-card h1{margin:0 0 8px;font-size:20px}.layout{display:flex;min-height:100vh}.sidebar{width:200px;background:var(--panel);padding:20px 12px;display:flex;flex-direction:column;gap:6px;border-right:1px solid var(--border)}.sidebar .brand{font-weight:700;font-size:16px;padding:8px 12px 16px}.nav-item{padding:10px 12px;border-radius:8px;cursor:pointer;color:var(--muted)}.nav-item.active{background:var(--panel2);color:var(--text)}.main{flex:1;padding:24px 32px;overflow:auto}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.stat{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px}.stat .label{color:var(--muted);font-size:13px}.stat .value{font-size:26px;font-weight:700;margin-top:6px}table{width:100%;border-collapse:collapse;margin-top:12px}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);font-size:13px}th{color:var(--muted);font-weight:600}.badge{padding:2px 8px;border-radius:20px;font-size:12px}.badge.granted{background:#38c1722e;color:var(--green)}.badge.pending_payment{background:#ef53502e;color:var(--red)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.err{color:var(--red);font-size:13px}.notice{margin-top:12px;padding:12px;border:1px solid rgba(56,193,114,.32);border-radius:12px;background:#38c17214;color:var(--text);font-size:13px}.notice textarea{margin-top:8px}.panel-block{margin-bottom:14px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.inline-field{min-width:220px}.small-field{min-width:150px}.tiny-field{min-width:110px}.model-field{min-width:420px;flex:1 1 420px}.model-pricing-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.model-pricing-head h3{margin:0 0 6px;font-size:16px}.model-pricing-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.pricing-input{width:120px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}h2{margin:0}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center}.modal{background:var(--panel);padding:24px;border-radius:14px;width:380px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--border)}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:12px;color:var(--muted)}
