*{box-sizing:border-box}:root{color:#475569;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fafc;font-family:Inter,Segoe UI,Microsoft YaHei,PingFang SC,Hiragino Sans GB,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.5}html,body,#app{min-width:320px;min-height:100%}body{background:#f8fafc;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:#4f46e5;text-decoration:none}.app-shell{width:100%;height:100vh;min-height:0;display:flex;overflow:hidden}.sidebar{background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;width:272px;min-width:240px;display:flex}.brand{align-items:center;gap:12px;min-width:0;padding:22px 20px;display:flex}.brand h1,.brand p{margin:0}.brand h1{color:#0f172a;font-size:18px;line-height:1.1}.brand p,.admin-card small,.nav-copy small{color:#94a3b8;font-size:12px}.brand-mark{color:#fff;background:linear-gradient(135deg,#6366f1,#7c3aed);border-radius:12px;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 14px 28px #4f46e52e}.nav-list{flex:1;padding:0 12px 16px;overflow-y:auto}.nav-item{color:#64748b;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;min-width:0;padding:10px 12px;display:flex}.nav-item:hover,.nav-item.active{color:#4f46e5;background:#6366f114}.nav-icon{background:#f1f5f9;border-radius:8px;place-items:center;width:28px;min-width:28px;height:28px;display:grid}.nav-copy{gap:1px;min-width:0;display:grid}.nav-copy strong,.nav-copy small,.admin-card strong,.admin-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-copy strong{color:inherit;font-size:14px}.admin-card{background:#ffffffd6;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:10px;min-width:0;margin:16px;padding:12px;display:flex}.admin-card>div:last-child{gap:2px;min-width:0;display:grid}.avatar,.tenant-avatar{color:#4f46e5;background:linear-gradient(135deg,#eef2ff,#f5f3ff);flex:none;place-items:center;font-weight:700;display:grid}.avatar{border-radius:10px;width:36px;height:36px}.main{flex-direction:column;flex:1;min-width:0;display:flex}.glass{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffdb;border:1px solid #e2e8f0e0}.topbar{border-top:0;border-left:0;border-right:0;justify-content:space-between;align-items:center;gap:16px;min-height:66px;padding:12px 32px;display:flex}.topbar>div:first-child{min-width:0}.topbar h2{color:#0f172a;margin:0;font-size:20px}.topbar p{color:#64748b;margin:3px 0 0;font-size:12px;line-height:1.45}.top-actions{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.service-pill,.version-pill{color:#334155;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:8px;max-width:180px;padding:7px 10px;font-size:12px;display:inline-flex;overflow:hidden}.icon-button{color:#475569;background:#f1f5f9;border:0;border-radius:10px;width:34px;min-width:34px;height:34px}.content-scroll{flex:1;min-width:0;padding:28px 32px;overflow:hidden auto}.view-stack{gap:22px;display:grid}.kpi-grid,.provider-grid,.plan-grid,.settings-grid,.governance-strip{align-items:stretch;gap:16px;display:grid}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.provider-grid,.settings-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.plan-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.governance-strip{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch}.kpi-grid>.metric-card,.provider-grid>.panel,.settings-grid>.panel,.plan-grid>.panel,.governance-strip>.action-card{height:100%}.dashboard-grid,.tenant-layout,.docs-grid,.provider-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.dashboard-grid>.panel,.tenant-layout>.panel,.provider-layout>.panel{height:100%}.docs-grid>.panel{flex-direction:column;height:100%;display:flex}.docs-grid pre{flex:auto;min-height:260px;margin:0}.tenant-layout{grid-template-columns:minmax(320px,420px) minmax(0,1fr)}.provider-layout{grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr)}.llm-base-layout{width:100%;display:block}.llm-base-layout .panel{width:100%}.panel,.metric-card{border-radius:8px;min-width:0;padding:20px;box-shadow:0 16px 36px #0f172a0d}.card-hover{transition:transform .2s,box-shadow .2s,border-color .2s}.card-hover:hover{border-color:#6366f13d;transform:translateY(-2px);box-shadow:0 22px 44px #0f172a14}.metric-head,.panel-heading{justify-content:space-between;align-items:center;gap:12px;min-width:0;margin-bottom:16px;display:flex}.panel-heading>div{min-width:0}.panel-heading h3{color:#0f172a;margin:0;font-size:15px}.panel-heading span,.panel-heading button,.panel-heading a{color:#6366f1;background:0 0;border:0;font-size:12px}.panel-heading .primary{color:#fff;white-space:nowrap;background:#4f46e5;padding:9px 12px}.panel-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.metric-card strong{color:#0f172a;font-size:27px;line-height:1;display:block}.metric-card p{color:#64748b;margin:8px 0 0;font-size:13px}.metric-icon{border-radius:13px;place-items:center;width:40px;height:40px;font-weight:700;display:grid}.accent{color:#4f46e5;background:#eef2ff}.success{color:#059669;background:#ecfdf5}.warning{color:#d97706;background:#fffbeb}.danger{color:#dc2626;background:#fef2f2}.neutral{color:#475569;background:#f1f5f9}.delta,.pill,.feature-status{white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:12px;font-style:normal}.status-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.status-dot.running{background:#10b981;box-shadow:0 0 8px #10b98173}.status-dot.warning{background:#f59e0b;box-shadow:0 0 8px #f59e0b66}.service-list,.event-list,.tenant-mini-list,.settings-list,.role-list{gap:10px;display:grid}.service-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;min-width:0;padding:12px;display:grid}.service-row div{align-items:center;gap:9px;display:flex}.service-row strong{overflow-wrap:anywhere;min-width:0}.service-row small{color:#94a3b8;overflow-wrap:anywhere;grid-column:1/-1}.chart-panel{flex-direction:column;min-height:0;display:flex}.chart-panel .panel-heading{flex:none}.bar-chart{flex:auto;align-items:end;gap:13px;min-height:164px;padding-top:8px;display:flex}.bar-slot{flex-direction:column;flex:1;justify-content:end;align-items:center;gap:5px;min-width:0;height:100%;display:flex}.bar{border-radius:5px 5px 0 0;width:100%;min-height:10px}.bar.message,.legend .message{background:#6366f1}.bar.token,.legend .token{background:#a78bfa}.legend{color:#64748b;flex:none;justify-content:center;align-items:center;gap:9px;font-size:12px;display:flex}.legend span{border-radius:4px;width:12px;height:12px;display:inline-block}.segmented{gap:6px;display:flex}.segmented button{color:#64748b;background:#f8fafc;border:1px solid #0000;border-radius:8px;padding:4px 9px;font-size:12px}.segmented button:first-child{color:#4f46e5;background:#eef2ff;border-color:#e0e7ff}.event-row,.tenant-mini,.settings-row,.policy-row,.role-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:12px;min-width:0;padding:12px;display:flex}.event-row div,.tenant-mini div,.settings-row div{flex:1;gap:2px;min-width:0;display:grid}.event-row strong,.event-row small,.tenant-mini strong,.tenant-mini small,.settings-row strong,.settings-row small,.role-row strong{overflow-wrap:anywhere}.event-row strong,.tenant-mini strong,.settings-row strong,.role-row strong{color:#0f172a;font-size:13px}.event-row small,.tenant-mini small,.settings-row small,.body-copy{color:#64748b;font-size:12px;line-height:1.6}.event-row time{color:#94a3b8;white-space:nowrap;font-size:12px}.event-icon{border-radius:10px;place-items:center;width:32px;height:32px;font-weight:700;display:grid}.tenant-avatar{border-radius:12px;width:38px;height:38px;font-size:13px}.tenant-layout .span-full,.edit-panel{grid-column:1/-1}.form-grid,.filter-row,.toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}label{color:#64748b;gap:6px;font-size:12px;display:grid}.checkbox-line{align-items:center;gap:8px;display:flex}.checkbox-line input{width:auto}input,select,textarea{color:#0f172a;background:#fbfdff;border:1px solid #dbe3ef;border-radius:8px;width:100%;min-width:0;padding:10px 12px}textarea{resize:vertical;min-height:96px;line-height:1.45}.span-2{grid-column:1/-1}.primary,.secondary{border:0;border-radius:8px;padding:10px 13px;font-weight:600}.primary{color:#fff;background:#4f46e5}.secondary{color:#334155;background:#fff;border:1px solid #dbe3ef}.tenant-table{gap:8px;display:grid}.tenant-row-button{text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:10px;width:100%;padding:10px;display:grid}.tenant-row-button.selected{background:#eef2ff;border-color:#818cf8}.tenant-title{gap:2px;min-width:0;display:grid}.tenant-title strong{color:#0f172a}.tenant-title small{color:#64748b;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tenant-admin{gap:16px;display:grid}.tenant-panel{background:#fff;border:1px solid #e2e8f0}.tenant-toolbar{grid-template-columns:minmax(220px,360px) auto;justify-content:start;align-items:end;gap:10px;margin-bottom:14px;display:grid}.tenant-toolbar button,.row-actions button,.pagination button,.modal-actions button{color:#334155;white-space:nowrap;background:#fff;border:1px solid #dbe3ef;border-radius:8px;padding:8px 10px}.row-actions{flex-wrap:wrap;gap:8px;min-width:150px;display:flex}.row-actions .danger,.modal-actions .danger{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.empty-cell{text-align:center;color:#64748b;padding:28px 12px}.pagination{color:#64748b;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:14px;font-size:12px;display:flex}.modal-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.modal-heading h3{color:#0f172a;margin:0;font-size:16px}.modal-heading button{color:#64748b;background:0 0;border:0;place-items:center;min-width:44px;min-height:44px;font-size:20px;line-height:1;display:grid}.tenant-modal{width:min(760px,100%)}.account-modal{width:min(1180px,100vw - 48px)}.confirm-modal{width:min(460px,100%)}.confirm-modal p{color:#334155;margin:0 0 18px;line-height:1.7}.worker-modal{width:min(560px,100%)}.worker-status-grid{grid-template-columns:120px 1fr;gap:10px 12px;margin-bottom:14px;display:grid}.worker-status-grid span{color:#64748b;font-size:12px}.worker-status-grid strong{color:#0f172a;overflow-wrap:anywhere;font-size:13px}.worker-queue-line,.danger-confirm{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;font-size:12px}.danger-confirm{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.checkbox-group{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-content:start;gap:8px;padding:12px;display:grid}.checkbox-group strong{color:#0f172a;font-size:13px}.check-row{color:#334155;align-items:center;gap:8px;display:flex}.check-row input{width:auto}.capability-row{align-items:flex-start}.capability-row span{gap:2px;display:grid}.capability-row small{color:#64748b;line-height:1.35}.empty-text{color:#94a3b8;margin:0;font-size:12px}.wizard-form{gap:16px;display:grid}.wizard-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.wizard-steps span{color:#64748b;text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;font-size:12px}.wizard-steps span.active{color:#4f46e5;background:#eef2ff;border-color:#c7d2fe;font-weight:700}.wizard-steps span.done{color:#047857;background:#ecfdf5;border-color:#bbf7d0}.account-create{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px;margin-bottom:14px;display:grid}.account-create .primary{min-height:42px}.avatar-chip{background:#eef2ff;border-radius:10px;place-items:center;width:34px;height:34px;font-size:18px;display:grid}.avatar-picker-inline{gap:7px;display:grid}.avatar-picker-inline>span{color:#64748b;font-size:12px;font-weight:700}.avatar-options{flex-wrap:wrap;gap:8px;display:flex}.avatar-picker-inline .avatar-options{max-height:92px;padding-right:2px;overflow-y:auto}.avatar-options.compact{max-height:92px}.avatar-options button{background:#fff;border:1px solid #dbe3ef;border-radius:10px;place-items:center;width:38px;height:38px;padding:0;font-size:20px;display:grid}.avatar-options button.active{background:#eef2ff;border-color:#818cf8;box-shadow:0 0 0 2px #818cf82e}.provider-actions,.chip-row,.cap-row,.policy-tabs{flex-wrap:wrap;gap:8px;display:flex}.policy-tabs{margin-bottom:14px}.policy-tabs button{color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:7px 10px}.policy-tabs button.active{color:#4f46e5;background:#eef2ff;border-color:#818cf8}.chip,.cap-row span{color:#475569;background:#f1f5f9;border-radius:999px;padding:5px 8px;font-size:12px}.cap-row span{color:#4f46e5;background:#eef2ff}.policy-grid,.quota-list,.route-grid{gap:10px;display:grid}.settings-row{align-items:flex-start}.settings-row .feature-status{flex:none}.role-row{grid-template-columns:minmax(120px,.35fr) minmax(0,1fr);align-items:start;display:grid}.policy-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;display:grid}.policy-row span{color:#64748b;white-space:nowrap}.policy-row em{white-space:nowrap}.quota-list div,.route-grid div{border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.quota-list span,.route-grid span{color:#64748b;font-size:12px}.table-wrap{-webkit-overflow-scrolling:touch;border:1px solid #e2e8f0;border-radius:8px;width:100%;max-width:100%;overflow-x:auto}table{border-collapse:collapse;table-layout:auto;width:100%;min-width:760px}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #e2e8f0;padding:11px 12px;font-size:12px}th{color:#64748b;background:#f8fafc;font-weight:600}td{color:#334155}td strong,td small{overflow-wrap:anywhere}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:stretch;gap:10px;display:grid}.feature-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-content:start;gap:8px;min-width:0;height:100%;min-height:96px;padding:12px;display:grid}.feature-item strong{color:#0f172a;font-size:13px;line-height:1.45}.feature-status.live,.feature-status.active,em.active{color:#059669;background:#ecfdf5}.feature-status.ui-ready,em.ui-ready{color:#4f46e5;background:#eef2ff}.feature-status.planned,em.planned{color:#d97706;background:#fffbeb}.feature-status.danger{color:#dc2626;background:#fef2f2}.danger-text{color:#dc2626}.action-card{border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-content:start;gap:8px 12px;min-width:0;padding:16px;display:grid;box-shadow:0 12px 28px #0f172a0d}.action-card strong{color:#0f172a;overflow-wrap:anywhere;font-size:14px;line-height:1.35}.action-card small{color:#64748b;overflow-wrap:anywhere;grid-column:1/-1;font-size:12px;line-height:1.55}.action-card .feature-status{place-self:start end}.plan-card{align-content:start;gap:14px;height:100%;display:grid}.plan-card .panel-heading,.plan-card .quota-list{margin-bottom:0}.provider-table-panel{grid-column:1/-1}.release-center-view,.release-toolbar-panel{width:100%}.release-filters{grid-template-columns:minmax(220px,360px) minmax(180px,240px);margin-bottom:14px}.release-upload-modal{width:min(820px,100%)}.release-file-field small{color:#64748b;overflow-wrap:anywhere}.release-platforms{gap:12px;display:grid}.release-platform-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:12px;padding:14px;display:grid}.release-platform-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.release-platform-heading strong{color:#0f172a}.release-platform-heading button{color:#dc2626;background:0 0;border:0}.release-platform-statuses{white-space:nowrap;gap:4px;display:grid}.release-bundle-summary{grid-template-columns:auto 1fr;gap:6px 12px;display:grid}.release-bundle-summary span{color:#64748b}.release-abandon{gap:8px;display:grid}.release-abandon button{color:#b91c1c;background:#fff;border:1px solid #fecaca;border-radius:8px;justify-self:end;padding:8px 10px}.release-hash{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:6px;padding:12px;display:grid}.release-hash code,.danger-confirm code{color:#334155;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font-size:12px}.release-hash small{color:#64748b}.upload-progress{color:#475569;gap:8px;display:grid}.upload-progress progress{accent-color:#4f46e5;width:100%}.release-artifact-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:10px;display:grid}.release-artifact-grid .service-row{align-content:start}.release-artifact-grid .service-row div{justify-content:space-between}.release-observability-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.maintenance-days{border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;gap:10px;margin:0;padding:12px;display:flex}.maintenance-days legend{color:#64748b;padding:0 6px;font-size:12px}@media (width<=860px){.release-observability-grid,.release-filters{grid-template-columns:1fr}}.presets-view .table-wrap table{min-width:860px}.preset-tabs{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.preset-tabs button{text-align:left;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:3px;min-height:64px;padding:12px;display:grid}.preset-tabs button.active{color:#4f46e5;background:#eef2ff;border-color:#818cf8}.preset-tabs strong{color:inherit;font-size:13px}.preset-tabs small{color:#64748b;line-height:1.4}.preset-filter{grid-template-columns:minmax(260px,420px);margin-bottom:12px}.bulk-toolbar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;display:flex}.bulk-toolbar span{color:#64748b;font-size:12px}.bulk-toolbar div{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.bulk-toolbar button{color:#334155;background:#fff;border:1px solid #dbe3ef;border-radius:9px;padding:8px 10px}.bulk-toolbar button.primary{color:#fff;background:#4f46e5;border-color:#4f46e5}.preset-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.preset-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:14px;display:grid}.preset-card strong{color:#0f172a;font-size:13px;display:block}.preset-card small{color:#64748b;line-height:1.5}.preset-avatar,.preset-skill-icon{color:#4f46e5;background:#eef2ff;border-radius:14px;place-items:center;width:44px;height:44px;font-size:20px;font-weight:800;display:grid}.preset-skill-icon{color:#334155;background:#f1f5f9;font-size:18px}.table-avatar{border-radius:10px;width:34px;height:34px;font-size:16px}.picker-block{color:#64748b;gap:8px;font-size:12px;display:grid}.icon-palette,.swatch-row{flex-wrap:wrap;gap:8px;display:flex}.icon-palette button,.swatch-row button,.distribute-toolbar button,.tenant-load-error button{color:#334155;background:#fff;border:1px solid #dbe3ef;border-radius:10px}.icon-palette button{justify-items:center;gap:3px;min-width:74px;padding:10px;display:grid}.icon-palette button strong{color:#0f172a;font-size:16px;line-height:1}.icon-palette button small{color:#64748b;font-size:11px}.icon-palette button.active,.swatch-row button.active{color:#4f46e5;background:#eef2ff;border-color:#818cf8}.swatch-row button{align-items:center;gap:7px;padding:9px 11px;display:inline-flex}.swatch-row i{border-radius:999px;width:14px;height:14px;box-shadow:inset 0 0 0 1px #0f172a29}.distribute-toolbar{grid-template-columns:minmax(240px,1fr) auto auto;align-items:end;gap:10px;display:grid}.distribute-toolbar div{flex-wrap:wrap;gap:8px;display:flex}.distribute-toolbar button{padding:9px 10px}.distribute-toolbar small{color:#64748b;white-space:nowrap;padding-bottom:10px;font-size:12px}.distribute-tenants{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;gap:8px;max-height:260px;padding:8px;display:grid;overflow:auto}.tenant-choice{background:#fff;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:9px 10px;display:grid}.tenant-choice.selected{background:#eef2ff;border-color:#818cf8}.tenant-choice strong{color:#0f172a;font-size:13px;display:block}.tenant-choice small{color:#64748b;line-height:1.4}.selection-cell{text-align:center;width:58px}.selection-cell input{width:auto}.presets-view tbody tr.selected td{background:#eef2ff}.asset-pagination{margin-top:12px}.tenant-load-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px;font-size:12px;display:flex}.tenant-load-error button{color:#b91c1c;border-color:#fecaca;padding:7px 10px}.empty-state{text-align:center;color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:42px 16px}.modal-backdrop{z-index:20;background:#0f172a61;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:min(620px,100%);max-width:100%;max-height:calc(100vh - 36px);padding:20px;overflow:auto;box-shadow:0 24px 80px #0f172a42}.modal-title{margin-bottom:14px}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.llm-log-modal{width:min(1180px,100vw - 48px)}.log-meta{color:#475569;flex-wrap:wrap;gap:8px;margin-bottom:14px;font-size:12px;display:flex}.log-meta span{background:#f1f5f9;border-radius:8px;padding:5px 8px}.log-detail-block{margin-top:14px}.log-detail-block h4{color:#0f172a;margin:0 0 8px;font-size:13px}.log-detail-block pre{color:#e2e8f0;white-space:pre-wrap;word-break:break-word;background:#0f172a;border-radius:10px;max-height:280px;margin:0;padding:12px;overflow:auto}.form-note{color:#64748b;margin:0;font-size:12px;line-height:1.6}.note-list{color:#64748b;margin:0;padding-left:18px;line-height:1.7}pre{white-space:pre-wrap;color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;max-height:420px;padding:14px;overflow:auto}.error-banner{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin:0 0 18px;padding:12px}.toast-stack{z-index:40;gap:10px;width:min(360px,100vw - 36px);display:grid;position:fixed;top:18px;right:18px}.toast{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:1fr auto;align-items:start;gap:12px;padding:12px 14px;font-size:13px;line-height:1.5;display:grid;box-shadow:0 18px 42px #0f172a24}.toast.success{color:#047857;background:#f0fdf4;border-color:#bbf7d0}.toast.danger{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.toast.warning{color:#b45309;background:#fffbeb;border-color:#fde68a}.toast button{color:inherit;background:0 0;border:0;padding:0 2px;font-weight:700}footer{text-align:center;color:#94a3b8;margin-top:28px;font-size:12px}.login-screen{background:#eef2ff;place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:#fff;border:1px solid #dbe3ef;border-radius:16px;gap:16px;width:min(420px,100%);padding:24px;display:grid;box-shadow:0 22px 60px #0f172a24}.login-brand{align-items:center;gap:12px;margin-bottom:4px;display:flex}.login-brand h1,.login-brand p{margin:0}.login-brand h1{color:#0f172a;font-size:20px}.login-brand p{color:#64748b;font-size:13px}.login-panel .primary{width:100%}@media (width<=1100px){.sidebar{width:232px;min-width:232px}.brand{padding:18px 16px}.nav-list{padding:0 10px 14px}.nav-item{gap:10px;padding:9px 10px}.admin-card{margin:12px}.topbar{padding-inline:24px}.content-scroll{padding:24px}.dashboard-grid,.tenant-layout,.docs-grid,.provider-layout{grid-template-columns:1fr}.kpi-grid,.provider-grid,.plan-grid,.settings-grid,.governance-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.tenant-layout .span-full,.edit-panel{grid-column:auto}}@media (width>=1101px) and (width<=1320px){.dashboard-grid{grid-template-columns:1fr}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}@media (width<=760px){html,body,#app{height:auto}.app-shell{height:auto;min-height:100vh;display:block;overflow:visible}.sidebar{z-index:15;border-bottom:1px solid #e2e8f0;border-right:0;width:auto;min-width:0;min-height:auto;position:sticky;top:0}.brand{padding:14px 16px 10px}.brand-mark{border-radius:8px;width:34px;height:34px}.nav-list{gap:8px;padding:0 12px 12px;display:flex;overflow-x:auto}.nav-item{flex:none;width:auto;max-width:190px;padding:8px 10px}.nav-icon{width:26px;min-width:26px;height:26px}.admin-card{display:none}.main{min-height:100vh}.topbar{align-items:flex-start;gap:12px;height:auto;padding:16px}.topbar,.top-actions{flex-wrap:wrap}.top-actions{justify-content:flex-start;width:100%}.service-pill,.version-pill{max-width:calc(50vw - 24px)}.content-scroll{padding:16px}.view-stack{gap:16px}.panel,.metric-card{padding:16px}.panel-heading{flex-wrap:wrap;align-items:flex-start}.form-grid,.filter-row,.toggle-grid,.feature-grid,.tenant-toolbar,.account-create,.wizard-steps,.preset-tabs,.preset-grid,.distribute-toolbar,.kpi-grid,.provider-grid,.plan-grid,.settings-grid,.governance-strip{grid-template-columns:1fr}.bulk-toolbar{flex-direction:column;align-items:stretch}.bulk-toolbar div{justify-content:flex-start}.span-2{grid-column:auto}.tenant-row-button{grid-template-columns:auto 1fr}.row-actions{min-width:0}.role-row,.policy-row{grid-template-columns:1fr}.policy-row span,.policy-row em{white-space:normal}.pagination{justify-content:flex-start}.modal-backdrop{align-items:start;padding:12px;overflow-y:auto}.modal-panel,.account-modal,.llm-log-modal{width:100%;max-height:none}table{min-width:680px}}@media (width<=460px){:root{font-size:13px}.brand h1{font-size:17px}.topbar h2{font-size:18px}.service-pill,.version-pill{max-width:100%}.top-actions .service-pill,.top-actions .version-pill{flex:140px}.icon-button{width:32px;min-width:32px;height:32px}.content-scroll{padding:12px}.panel,.metric-card,.login-panel{padding:14px}.modal-actions{justify-content:stretch}.modal-actions button{flex:120px}}
