:root{--bg:#121316;--panel:#1b1e24;--panel-2:#22252d;--border:#2a2d34;--text:#f5f6ff;--muted:#a5a9ba;--accent:#8b5cff;--accent-ink:#fff;--danger:#ff7c73;color:var(--text);background:var(--bg);font-synthesis:none;font-family:Inter,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif}html[data-theme=light]{--bg:#f5f7fa;--panel:#fff;--panel-2:#eef2f6;--border:#dfe5ec;--text:#1f2630;--muted:#6e7986;--accent:#7c3cff;--accent-ink:#fff}html,body,#app{min-height:100%;margin:0}body{background:var(--bg);min-height:100vh;color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.6}a{color:inherit;text-decoration:none}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.admin-shell{grid-template-columns:216px minmax(0,1fr);align-items:start;min-height:100vh;display:grid}.sidebar{box-sizing:border-box;border-right:1px solid var(--border);background:var(--panel);grid-template-rows:auto 1fr auto;gap:12px;width:216px;height:100vh;max-height:100vh;padding:16px 12px;display:grid;position:sticky;top:0;overflow:hidden}.brand,.topbar,.page-head,.panel-card>header,.boundary-banner,.boundary-status-card{justify-content:space-between;align-items:center;gap:12px;display:flex}.brand>span,.boundary-banner>svg,.boundary-status-card>svg{width:38px;height:38px;color:var(--accent-ink);background:var(--accent);border-radius:8px;place-items:center;display:grid}.brand strong,.page-head h1,.panel-card h2{margin:0;font-size:15px}.brand small,.page-head p,.panel-card span,.panel-card p,.boundary-mini p,.boundary-status-card p{color:var(--muted);font-size:12px;line-height:1.6}.sidebar nav{align-content:start;gap:8px;min-height:0;padding-right:2px;display:grid;overflow:auto}.sidebar nav a{color:var(--muted);border-radius:10px;grid-template-columns:18px minmax(0,1fr);gap:10px;padding:9px 10px;display:grid}.sidebar nav a.router-link-active{color:var(--text);background:var(--panel-2);box-shadow:inset 3px 0 0 var(--accent)}.sidebar nav a strong,.sidebar nav a small{display:block}.sidebar nav a strong{color:var(--text);font-size:13px}.boundary-mini{border:1px solid var(--border);background:var(--panel-2);border-radius:12px;padding:12px}.boundary-mini strong{margin-bottom:4px;display:block}main{min-width:0}.topbar{z-index:5;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);min-height:64px;padding:12px 22px;position:sticky;top:0}.topbar-left,.topbar-actions{align-items:center;gap:10px;display:flex}.topbar-left span{font-size:15px;font-weight:800;display:block}.topbar-left small{color:var(--muted);font-size:12px}.topbar-actions{margin-left:auto}.icon-button,.ghost-button,.secondary-button{min-height:36px;color:var(--text);background:var(--panel-2);border-radius:10px;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.ghost-button,.secondary-button{border:1px solid var(--border)}.ghost-button:hover,.secondary-button:hover,.icon-button:hover{background:color-mix(in srgb, var(--panel-2) 75%, white 25%)}.danger{color:var(--danger)}.user-chip{color:var(--muted)}.page{padding:22px}.page-head{align-items:flex-start;margin-bottom:16px}.page-head p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.55}.page-actions{gap:10px;display:flex}.kicker{color:var(--accent);font-size:12px;font-weight:800}.boundary-banner,.boundary-status-card,.panel-card,.metric-grid article,.quick-nav-card,.ops-snapshot-card{border:1px solid var(--border);background:var(--panel);border-radius:14px}.boundary-banner,.boundary-status-card{margin-bottom:16px;padding:18px}.boundary-status-card{align-items:flex-start}.boundary-status-card>div{flex:1;min-width:0}.boundary-status-card span{color:var(--accent);font-size:12px;font-weight:800}.boundary-status-card strong{margin:4px 0;font-size:18px;display:block}.boundary-status-card p{margin:0}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:16px;display:grid}.metric-grid article{gap:8px;padding:16px;display:grid}.metric-grid article strong{font-size:26px}.metric-grid article.success strong{color:#56c894}.metric-grid article.warning strong{color:#dba943}.metric-grid article.danger strong{color:#e06e66}.metric-grid article.info strong{color:var(--text)}.ops-snapshot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.ops-snapshot-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px 12px;padding:16px;display:grid}.ops-snapshot-card>div{min-width:0}.ops-snapshot-card strong{margin-bottom:3px;font-size:14px;display:block}.ops-snapshot-card p,.ops-snapshot-card small{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.ops-snapshot-card b{font-size:24px;line-height:1}.ops-snapshot-card small{grid-column:2/-1}.ops-snapshot-icon,.quick-nav-icon{width:34px;height:34px;color:var(--accent-ink);background:var(--accent);border-radius:10px;place-items:center;display:grid}.ops-snapshot-card.success b{color:#56c894}.ops-snapshot-card.warning b{color:#dba943}.ops-snapshot-card.info b{color:var(--text)}.quick-nav-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-bottom:16px;display:grid}.quick-nav-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px;transition:border-color .16s,transform .16s,background .16s;display:grid}.quick-nav-card:hover{border-color:color-mix(in srgb, var(--accent) 46%, var(--border));background:color-mix(in srgb, var(--panel) 82%, var(--accent) 18%);transform:translateY(-1px)}.quick-nav-card>div{min-width:0}.quick-nav-card small{color:var(--accent);letter-spacing:.02em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:800;display:block}.quick-nav-card strong{font-size:14px;display:block}.quick-nav-card p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.55}.quick-nav-card>svg{color:var(--muted)}.dashboard-grid,.boundary-grid{grid-template-columns:1fr 1.2fr;gap:16px;display:grid}.boundary-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.panel-card{padding:18px}.panel-card>header{align-items:flex-start;margin-bottom:14px}.panel-card>header>div{flex:1}.wide-card{grid-column:1/-1}.boundary-owner-card ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.boundary-owner-card li{border:1px solid var(--border);color:var(--text);background:var(--panel-2);border-radius:12px;align-items:flex-start;gap:8px;padding:10px;display:flex}.boundary-owner-card li svg{color:var(--accent);flex:none;margin-top:2px}.boundary-owner-card li span{color:var(--text);font-size:13px}.boundary-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.boundary-rule-grid>div{border:1px solid var(--border);background:var(--panel-2);border-radius:12px;padding:14px}.boundary-rule-grid strong{margin-bottom:6px;font-size:13px;display:block}.boundary-rule-grid p{margin:0}.health-list{gap:12px;display:grid}.health-list>div,.admin-table .table-row,.admin-table .table-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 0;display:grid}.health-list>div{grid-template-columns:110px minmax(0,1fr) auto}.health-list strong{font-size:14px}.guardrail-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.guardrail-list>div{border:1px solid var(--border);background:var(--panel-2);border-radius:12px;align-items:flex-start;gap:8px;padding:12px;display:flex}.guardrail-list svg{color:var(--accent);flex:none;margin-top:1px}.guardrail-list span{color:var(--text);font-size:13px;line-height:1.55}.admin-table{gap:0;display:grid}.table-head,.table-row{grid-auto-flow:column}.template-head{grid-template-columns:1.2fr .7fr .8fr 1.1fr .45fr .45fr .5fr .55fr .9fr}.task-head{grid-template-columns:1fr .9fr 1fr .6fr .8fr}.task-monitor-head{grid-template-columns:.9fr 1fr .9fr .6fr .8fr 1fr .8fr}.usage-ledger-head{grid-template-columns:.8fr .9fr .8fr 1fr .8fr 1fr}.asset-head{grid-template-columns:1.2fr .8fr .7fr .8fr .8fr 1fr}.project-head{grid-template-columns:1.2fr .8fr .8fr .7fr .8fr 1fr}.audit-head{grid-template-columns:1fr .7fr .7fr .8fr 1fr 1.2fr 1.2fr}.generation-job-head{grid-template-columns:.9fr 1fr .7fr .8fr .7fr .7fr .8fr 1fr 1fr}.tenant-head{grid-template-columns:1fr .8fr .7fr .5fr .5fr .5fr 1.2fr 1fr}.table-head{color:var(--muted);font-size:12px}.table-row strong,.table-row code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table-row code{color:var(--accent)}.table-row:last-child,.health-list>div:last-child{border-bottom:0}.empty-state,.empty-panel{min-height:180px;color:var(--muted);text-align:center;place-items:center;display:grid}.empty-state.compact{min-height:96px}.danger-text{color:var(--danger)}.form-error,.form-success{border-radius:10px;margin:0 0 14px;padding:10px 12px;font-size:13px}.form-error{border:1px solid color-mix(in srgb, var(--danger) 42%, var(--border));color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, var(--panel))}.form-success{border:1px solid color-mix(in srgb, #56c894 42%, var(--border));color:#56c894;background:color-mix(in srgb, #56c894 12%, var(--panel))}.search-field{border:1px solid var(--border);background:var(--panel-2);border-radius:999px;align-items:center;gap:8px;min-width:260px;padding:0 12px;display:inline-flex}.search-field input{width:100%;min-height:36px;color:var(--text);background:0 0;border:0;outline:0}.primary-button{min-height:36px;color:var(--accent-ink);background:var(--accent);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:800;display:inline-flex}.primary-button:hover{filter:brightness(1.03)}.text-model-layout{grid-template-columns:minmax(250px,.55fr) minmax(0,1.45fr);align-items:start;gap:16px;display:grid}.text-model-list{gap:8px;display:grid}.text-model-item{border:1px solid var(--border);width:100%;color:var(--text);text-align:left;background:var(--panel-2);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;display:grid}.text-model-item:hover,.text-model-item.selected{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));background:color-mix(in srgb, var(--panel-2) 88%, var(--accent) 12%)}.text-model-item>span:nth-child(2){min-width:0}.text-model-item strong,.text-model-item small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.text-model-item strong{font-size:13px}.text-model-item small{color:var(--muted);margin-top:3px;font-size:12px}.text-model-mark{width:32px;height:32px;color:var(--accent-ink);background:var(--accent);border-radius:8px;place-items:center;display:grid}.config-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.config-form-grid label{color:var(--muted);gap:7px;font-size:12px;display:grid}.config-form-grid label.wide{grid-column:1/-1}.config-form-grid input,.config-form-grid textarea{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--text);background:var(--panel-2);resize:vertical;border-radius:7px;outline:0;padding:9px 10px}.config-form-grid input:focus,.config-form-grid textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.form-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding-top:14px;display:flex}.status-toggle{color:var(--text);align-items:center;gap:8px;font-size:13px;display:inline-flex}.status-toggle input{accent-color:var(--accent)}.workflow-metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:16px;display:grid}.workflow-metrics .panel-card{gap:8px;padding:16px;display:grid}.workflow-metrics span{color:var(--muted);font-size:12px}.workflow-metrics strong{font-size:26px;line-height:1}.workflow-metrics small{color:var(--muted);font-size:12px;line-height:1.5}.ops-tabs{--el-color-primary:var(--accent);--el-text-color-primary:var(--text);--el-text-color-regular:var(--muted);--el-border-color-light:var(--border);--el-fill-color-blank:transparent}.ops-tabs .el-tabs__header{margin-bottom:16px}.ops-tabs .el-tabs__item{color:var(--muted);font-weight:800}.ops-tabs .el-tabs__item.is-active{color:var(--text)}.ops-tabs .el-tabs__active-bar{background:var(--accent)}.ops-tabs .el-tabs__nav-wrap:after{background:var(--border)}.ops-layout{grid-template-columns:minmax(260px,320px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.selector-card{gap:10px;display:grid;position:sticky;top:86px}.selector-card>button:not(.secondary-button),.selector-card .add-wide{width:100%}.selector-card>button:not(.secondary-button){border:1px solid var(--border);color:var(--text);text-align:left;background:var(--panel-2);border-radius:12px;gap:4px;padding:12px;display:grid}.selector-card>button:not(.secondary-button).selected{border-color:color-mix(in srgb, var(--accent) 64%, var(--border));box-shadow:inset 3px 0 0 var(--accent)}.selector-card button strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selector-card button small{color:var(--muted)}.inline-create{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:4px;display:grid}.add-wide{justify-content:center;margin-top:4px}.editor-card{min-width:0}.editor-card>header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.editor-actions{align-items:center;gap:8px;display:inline-flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid label{color:var(--text);gap:8px;font-size:13px;font-weight:800;display:grid}.form-grid label.full{grid-column:1/-1}.form-grid label>span{color:var(--muted);font-size:12px}.form-grid input,.form-grid select,.form-grid textarea,.inline-create select{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--text);background:var(--panel-2);border-radius:10px;outline:0}.form-grid input,.form-grid select,.inline-create select{min-height:40px;padding:0 12px}.form-grid textarea{resize:vertical;min-height:240px;padding:12px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.6}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.inline-create select:focus{border-color:color-mix(in srgb, var(--accent) 60%, var(--border));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent)}.usage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.breakdown-list{gap:10px;display:grid}.breakdown-list>div:not(.empty-state){border:1px solid var(--border);background:var(--panel-2);border-radius:12px;gap:4px;padding:12px;display:grid}.breakdown-list strong{font-size:13px}.breakdown-list span{color:var(--muted);font-size:12px}.ledger-filters{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.ledger-filters select{border:1px solid var(--border);min-height:36px;color:var(--text);background:var(--panel-2);border-radius:999px;outline:0;padding:0 12px}.ledger-filters select:focus{border-color:color-mix(in srgb, var(--accent) 60%, var(--border));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent)}.asset-breakdown-grid,.generation-breakdown-grid,.template-ops-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.asset-chip-list{flex-wrap:wrap;gap:10px;display:flex}.asset-chip-list button{border:1px solid var(--border);min-width:128px;color:var(--text);text-align:left;background:var(--panel-2);border-radius:12px;gap:4px;padding:12px;display:grid}.asset-chip-list button.selected{border-color:color-mix(in srgb, var(--accent) 64%, var(--border));box-shadow:inset 3px 0 0 var(--accent)}.asset-chip-list button strong{font-size:13px}.asset-chip-list button span{color:var(--muted);font-size:12px}.tenant-status-card,.template-ranking-card{margin-bottom:16px}.template-rank-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.template-rank-list>div:not(.empty-state){border:1px solid var(--border);background:var(--panel-2);border-radius:12px;gap:4px;padding:12px;display:grid}.template-rank-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.template-rank-list span{color:var(--muted);font-size:12px}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--border);background:var(--panel);border-radius:16px;width:min(460px,100%);padding:28px}.login-brand{align-items:center;gap:10px;display:flex}.login-brand>span{width:40px;height:40px;color:var(--accent-ink);background:var(--accent);border-radius:10px;place-items:center;display:grid}.login-copy{margin:28px 0 22px}.login-copy span{color:var(--accent);font-size:12px;font-weight:800}.login-copy h1{margin:10px 0 6px;font-size:26px}.login-copy p{color:var(--muted);margin:0}.login-card form{gap:14px;display:grid}.login-card label{color:var(--text);gap:8px;font-weight:700;display:grid}.login-card input{border:1px solid var(--border);min-height:42px;color:var(--text);background:var(--panel-2);border-radius:10px;padding:0 12px}.login-card button{min-height:42px;color:var(--accent-ink);background:var(--accent);border-radius:10px;font-weight:800}@media (width<=980px){.admin-shell{grid-template-columns:1fr}.sidebar{z-index:20;width:216px;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:none}.backdrop{z-index:15;background:#0000006b;position:fixed;inset:0}.mobile-menu,.close{display:inline-flex}.topbar{padding-inline:16px}.dashboard-grid,.boundary-grid,.boundary-split,.boundary-rule-grid,.ops-snapshot-grid,.guardrail-list,.ops-layout{grid-template-columns:1fr}.selector-card{position:static}.editor-card>header{grid-template-columns:auto minmax(0,1fr)}.editor-actions,.editor-card>header .primary-button{grid-column:1/-1}.form-grid,.usage-grid,.asset-breakdown-grid,.generation-breakdown-grid,.template-ops-grid{grid-template-columns:1fr}.ledger-filters{justify-content:stretch}.ledger-filters select{width:100%}.template-head,.task-head,.task-monitor-head,.usage-ledger-head,.asset-head,.project-head,.audit-head,.generation-job-head,.tenant-head{grid-template-columns:1fr}.search-field{width:100%;min-width:0}}
