:root{color:#172026;background:#eef3f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--green: #14745f;--green-soft: #e7f5ef;--blue: #2563eb;--blue-soft: #e9f0ff;--amber: #b45309;--amber-soft: #fff3d8;--violet: #7c3aed;--violet-soft: #f0e9ff;--rose: #be3455;--rose-soft: #ffe9ef;--ink: #172026;--muted: #66746f;--line: #d8e1dd}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}.boot,.empty{display:grid;min-height:240px;place-items:center;color:var(--muted)}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#14745f1a,#2563eb1a),#f7faf9}.login-panel{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px;box-shadow:0 18px 60px #24352f24;display:grid;gap:18px}.eyebrow{margin:0 0 4px;font-size:12px;text-transform:uppercase;color:var(--green);font-weight:750}h1{margin:0;font-size:24px;letter-spacing:0}h2{margin:0 0 12px;font-size:15px;letter-spacing:0}label{display:grid;gap:8px;font-weight:650;font-size:13px;color:#2f3d38}input:not([type=checkbox]),select,textarea{min-height:38px;border:1px solid #c9d5d0;border-radius:6px;padding:8px 10px;background:#fff;color:#172026;min-width:0}textarea{min-height:86px;resize:vertical}.error{color:#a32727;background:#fff0f0;border:1px solid #f2c4c4;padding:10px;border-radius:6px}.notice{color:#176342;background:#ecfdf4;border:1px solid #b8ebce;padding:10px;border-radius:6px}.app{height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr);overflow:hidden}.sidebar{height:100vh;min-height:0;background:linear-gradient(180deg,rgba(37,99,235,.14),transparent 34%),linear-gradient(145deg,#10221e,#132c2c 55%,#182238);color:#edf5f1;padding:18px;display:grid;grid-template-rows:auto 1fr auto auto;gap:20px;overflow:hidden}.brand{display:flex;align-items:center;gap:10px;font-weight:760}.brand svg{color:#7dd3c7;filter:drop-shadow(0 0 12px rgba(125,211,199,.3))}nav{display:grid;align-content:start;gap:8px;min-height:0;overflow-y:auto}.nav,.ghost,.primary,.secondary,.icon{border:0;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:8px 12px}.nav{justify-content:flex-start;width:100%;color:#cfdbd7;background:transparent}.nav{cursor:pointer;text-decoration:none}.nav svg{color:#95ddd2}.nav.active,.nav:hover{background:#ffffff1a;box-shadow:inset 3px 0 #fbbf24;color:#fff}.nav.active svg,.nav:hover svg{color:#fbbf24}.litellm-external{align-self:end;border:1px solid rgba(149,221,210,.32);background:#7dd3c717}.litellm-external:hover{box-shadow:inset 3px 0 #7dd3c7}.litellm-external:hover svg{color:#7dd3c7}.account{display:grid;gap:6px;font-size:13px;color:#b7c7c1}.account strong{color:#fff;overflow-wrap:anywhere}.ghost{background:transparent;color:#fff;border:1px solid #3d5b53;justify-content:flex-start}.content{min-width:0;min-height:0;height:100vh;overflow-y:auto;padding:22px;background:linear-gradient(180deg,#f7faf9,#eef3f4)}.header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.header-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.page-title{display:flex;align-items:center;gap:10px}.page-icon,.metric-icon,.panel-title span{display:inline-grid;place-items:center;border-radius:7px}.page-icon{width:40px;height:40px}.page-title.green .page-icon{background:var(--green-soft);color:var(--green)}.page-title.amber .page-icon{background:var(--amber-soft);color:var(--amber)}.page-title.violet .page-icon{background:var(--violet-soft);color:var(--violet)}.primary{background:linear-gradient(135deg,var(--green),#0f8a73);color:#fff;font-weight:720;box-shadow:0 8px 20px #14745f2e}.secondary{background:#fff;color:#23332e;border:1px solid #c9d5d0;text-decoration:none}.secondary:hover{border-color:#99aaa4;background:#f8fbfa}.danger{color:#b4233a}.icon{width:34px;padding:0;background:transparent}.icon:hover{background:#f3f6f5}.row-actions{display:inline-flex;align-items:center;gap:4px}td:has(.row-actions){position:sticky;right:0;z-index:2;min-width:170px;background:#fff;box-shadow:-1px 0 #edf2f0}.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}.metric,.panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px}.metric{display:grid;gap:8px;border-top:3px solid transparent}.metric.green{border-top-color:var(--green)}.metric.blue{border-top-color:var(--blue)}.metric.amber{border-top-color:var(--amber)}.metric.violet{border-top-color:var(--violet)}.metric.rose{border-top-color:var(--rose)}.metric-top{display:flex;align-items:center;gap:8px}.metric-icon{width:30px;height:30px}.metric.green .metric-icon{background:var(--green-soft);color:var(--green)}.metric.blue .metric-icon{background:var(--blue-soft);color:var(--blue)}.metric.amber .metric-icon{background:var(--amber-soft);color:var(--amber)}.metric.violet .metric-icon{background:var(--violet-soft);color:var(--violet)}.metric.rose .metric-icon{background:var(--rose-soft);color:var(--rose)}.metric span,.muted{color:var(--muted);font-size:13px}.metric strong{font-size:22px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.chart-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:12px;margin-bottom:14px}.chart-panel{min-height:230px}.donut-layout{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:14px}.donut-chart{width:150px;height:150px;transform:rotate(-90deg)}.donut-chart text{transform:rotate(90deg);transform-origin:60px 60px}.chart-value{font-size:12px;font-weight:800;fill:#20302b}.chart-label{font-size:9px;fill:var(--muted)}.chart-legend{display:grid;gap:8px}.legend-row{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;font-size:13px}.legend-row strong{color:#20302b}.legend-dot{width:9px;height:9px;border-radius:999px}.bar-chart{display:grid;gap:10px}.chart-bar-row{display:grid;grid-template-columns:minmax(90px,1fr) minmax(120px,2fr) minmax(42px,auto);align-items:center;gap:10px;font-size:13px}.chart-bar-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#20302b}.chart-bar-row strong{text-align:right;color:#20302b}.chart-bar-track{height:10px;background:#edf2f0;border-radius:999px;overflow:hidden}.chart-bar-fill{height:100%;border-radius:999px}.panel.green{border-top:3px solid var(--green)}.panel.amber{border-top:3px solid var(--amber)}.panel.violet{border-top:3px solid var(--violet)}.panel.rose{border-top:3px solid var(--rose)}.panel-title{display:flex;align-items:center;gap:8px}.panel-title span{width:28px;height:28px;background:#f1f5f9;color:#315348}.panel.amber .panel-title span{background:var(--amber-soft);color:var(--amber)}.panel.violet .panel-title span{background:var(--violet-soft);color:var(--violet)}.panel.rose .panel-title span{background:var(--rose-soft);color:var(--rose)}.bar-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid #eef2f0;font-size:13px}.bar-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-row strong{color:#315348}.bar-row.clickable{width:100%;background:transparent;border-right:0;border-bottom:0;border-left:0;color:inherit}.bar-row.clickable:hover{background:#f6fbf9}.wide{overflow-x:auto}.table-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:10px}.detail-heading{display:flex;align-items:center;gap:10px;margin:-6px 0 16px}.toolbar{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) auto;gap:10px;margin-bottom:14px;align-items:center}.secret{display:flex;gap:10px;align-items:center;background:var(--amber-soft);border:1px solid #efd18a;padding:12px;border-radius:8px;margin-bottom:14px;overflow-x:auto}.modal-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:18px;background:#0c1c1885}.modal{width:min(760px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border:1px solid #d8e1dd;border-radius:8px;box-shadow:0 28px 80px #0000003d}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #edf2f0}.modal-header h2{margin:0;font-size:18px}.modal-form,.modal-stack{display:grid;gap:14px;padding:18px}.modal-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.modal-form .modal-actions,.model-access,.config-section{grid-column:1 / -1}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.settings-form{display:grid;gap:16px;max-width:900px}.expiration-field{display:grid;gap:10px;min-height:38px}.toggle-row{display:inline-flex;align-items:center;gap:8px;min-height:38px;width:fit-content}.toggle-row input,.model-check input{flex:0 0 auto;accent-color:var(--green)}.duration-controls{display:grid;grid-template-columns:minmax(120px,1fr) minmax(140px,1fr);gap:10px}.model-access,.config-section{border:1px solid var(--line);border-radius:8px;padding:14px;background:#fbfdfc}.config-section,.rule-stack{display:grid;gap:12px}.rule-editor{display:grid;gap:12px;padding:12px;border:1px solid #dfe8e4;border-radius:8px;background:#fbfdfc}.rule-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pricing-ranges{display:grid;gap:10px}.pricing-range{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr)) auto;gap:10px;align-items:end;padding:10px;border:1px solid #dfe8e4;border-radius:8px;background:#fff}.pricing-add{justify-self:start}.model-access-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.field-label{font-size:13px;font-weight:750;color:#2f3d38}.section-title{display:inline-flex;align-items:center;gap:8px}.section-title svg{color:var(--blue)}.model-actions{display:flex;gap:10px}.text-action{border:0;background:transparent;color:var(--green);font-size:13px;font-weight:750;padding:0}.text-action:hover{color:#0e5f4e;text-decoration:underline}.field-note{margin:8px 0 12px;color:var(--muted);font-size:13px}.field-note.compact{margin:-2px 0 0}.danger-note{color:#a32727}.schedule-grid{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr)}.weekday-checks{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:8px}.weekday-check{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;border:1px solid #dbe6e2;border-radius:7px;background:#fff;font-weight:750}.weekday-check input{accent-color:var(--blue)}.weekday-check:has(input:checked){border-color:#93c5fd;background:var(--blue-soft);color:#1d4ed8}.model-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:240px;overflow:auto}.model-check{display:flex;align-items:center;gap:8px;min-height:36px;border:1px solid #e0e8e4;border-radius:7px;padding:8px 10px;background:#fff;font-weight:650}.model-check:hover{border-color:#bad1ca;background:#f6fbf9}.model-check span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.test-shell{display:grid;gap:14px}.test-controls{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.4fr) minmax(180px,1fr) minmax(120px,.5fr);gap:10px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.chat-window{min-height:360px;max-height:56vh;overflow:auto;display:grid;align-content:start;gap:12px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#f9fbfa}.chat-message{width:min(760px,88%);display:grid;gap:6px}.chat-message span{color:var(--muted);font-size:12px;font-weight:750;text-transform:capitalize}.chat-message p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;border:1px solid #dbe5e1;border-radius:8px;background:#fff}.chat-message.user{justify-self:end}.chat-message.user p{background:var(--green-soft);border-color:#b9ded2}.chat-composer{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.chat-composer textarea{min-height:96px}table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #d8e1dd;border-radius:8px;overflow:hidden}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid #edf2f0;font-size:13px;vertical-align:middle}th{color:#52605b;background:#f8faf9;font-weight:760}td{color:#20302b}tbody tr:hover{background:#f8fbfa}code{font-family:SFMono-Regular,Consolas,monospace;font-size:12px}.status{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:750}.status.active{background:var(--green-soft);color:var(--green)}.status.blocked{background:var(--rose-soft);color:var(--rose)}@media(max-width:920px){.app{height:auto;min-height:100vh;grid-template-columns:1fr;align-content:start;overflow:visible}.sidebar{position:sticky;top:0;z-index:2;height:auto;min-height:0;align-self:start;grid-template-columns:1fr;grid-template-rows:auto auto;gap:14px;padding:16px;overflow:visible}nav{grid-template-columns:repeat(3,1fr);overflow:visible}.nav{justify-content:center}.account{display:none}.metrics,.grid3,.toolbar,.chart-grid,.donut-layout{grid-template-columns:1fr}.donut-chart{justify-self:center}.modal-form,.model-checks,.duration-controls,.config-grid,.pricing-range,.schedule-grid,.test-controls,.chat-composer{grid-template-columns:minmax(0,1fr)}.config-grid{gap:14px}.toggle-row{width:100%;justify-content:flex-start}.modal-backdrop{align-items:start;place-items:start center}.modal{max-height:calc(100dvh - 36px);overflow:auto;scroll-padding-block:96px}.modal-form,.modal-stack{padding-bottom:96px}.modal-actions{position:sticky;bottom:0;z-index:3;display:grid;grid-template-columns:1fr;padding-top:12px;background:linear-gradient(180deg,#ffffffd1,#fff 42%);pointer-events:none}.modal-actions button{flex:1 1 0;pointer-events:auto}tr,.row-actions,.icon{scroll-margin-top:220px;scroll-margin-bottom:96px}td:has(.row-actions){position:static;min-width:0;box-shadow:none;order:-1}table,thead,tbody,tr,th,td{display:block}thead{display:none}table{border:0;background:transparent}tbody{display:grid;gap:10px}tr{display:grid;gap:6px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:8px}th,td{border-bottom:0;padding:4px 0}.row-actions{justify-content:flex-start;padding-bottom:4px}.chat-message{width:100%}.weekday-checks{grid-template-columns:repeat(4,minmax(0,1fr))}.content{height:auto;min-height:100vh;overflow:visible;padding:14px}.header{align-items:flex-start;flex-direction:column}}
