:root{color:#182235;background:#f5f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #f5f7fb;--surface: #ffffff;--surface-soft: #f8fafc;--surface-tint: #eef6ff;--line: #dbe3ee;--line-strong: #c6d2e1;--text: #182235;--muted: #64748b;--faint: #94a3b8;--primary: #1769e0;--primary-strong: #0f4fb4;--primary-soft: #e8f1ff;--accent: #0f9f8f;--accent-soft: #e6f8f5;--warning: #c47b13;--warning-soft: #fff6df;--danger: #c2413b;--danger-soft: #fff0ee;--success: #15803d;--success-soft: #eaf8ee;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 16px 40px rgba(30, 41, 59, .08);--shadow-lg: 0 28px 70px rgba(30, 41, 59, .12)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{min-height:38px;border:1px solid transparent;border-radius:8px;padding:0 15px;color:#fff;background:linear-gradient(180deg,#2278f2,var(--primary));font-weight:750;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 10px 22px #1769e02e;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}button:hover:not(:disabled){background:linear-gradient(180deg,#2d82ff,#135ed0);transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.55;transform:none}h1,h2,h3,p{margin:0}.login-page,.admin-page,.app-shell{min-height:100vh;position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(23,105,224,.1),transparent 34%),linear-gradient(315deg,rgba(15,159,143,.1),transparent 32%),var(--bg)}.login-page:before,.admin-page:before,.app-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(100,116,139,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(100,116,139,.07) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),transparent 68%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),transparent 68%)}.login-page{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,430px);align-items:center;gap:54px;padding:56px clamp(28px,6vw,88px)}.login-hero,.login-panel,.admin-page>*,.sidebar,.workspace{position:relative;z-index:1}.brand-mark{display:flex;align-items:center;gap:16px}.brand-mark svg{width:50px;height:50px;padding:10px;color:var(--primary);border:1px solid rgba(23,105,224,.16);border-radius:14px;background:#fff;box-shadow:var(--shadow-md)}.brand-mark h1{color:#0f172a;font-size:29px;line-height:1;letter-spacing:0}.brand-mark p,.sidebar-brand p,.topbar p,.table-heading p,.panel-heading-row p,.hero-copy p:not(.eyebrow),.planned-panel p:not(.eyebrow){color:var(--muted)}.brand-mark p{margin-top:7px;font-size:13px;font-weight:750}.hero-copy{margin-top:70px;max-width:760px}.eyebrow{margin-bottom:16px;color:var(--accent);font-size:12px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.hero-copy h2{max-width:740px;color:#0f172a;font-size:clamp(40px,5vw,70px);line-height:1.04;letter-spacing:0}.hero-copy p:not(.eyebrow){max-width:650px;margin-top:24px;font-size:17px;line-height:1.85}.signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:720px;margin-top:46px}.signal-grid div,.metrics div{min-height:104px;border:1px solid var(--line);border-radius:8px;background:#ffffffd6;box-shadow:var(--shadow-sm)}.signal-grid div{display:grid;gap:9px;padding:18px}.signal-grid svg{color:var(--primary)}.signal-grid span,.metrics span,.table-heading p,.topbar p{color:var(--muted);font-size:13px}.signal-grid strong{color:#0f172a;font-size:20px}.login-panel{width:100%;border:1px solid rgba(203,213,225,.9);border-radius:10px;background:#ffffffe6;padding:34px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.panel-heading{margin-bottom:28px}.panel-heading p{color:var(--primary);font-size:13px;font-weight:850}.panel-heading h2{margin-top:8px;color:#0f172a;font-size:28px;letter-spacing:0}.form{display:grid;gap:18px}label{display:grid;gap:9px;color:#334155;font-size:14px;font-weight:700}input,select,textarea{height:46px;width:100%;border:1px solid var(--line-strong);border-radius:8px;padding:0 13px;color:var(--text);background:#fff;outline:none;transition:border-color .16s ease,box-shadow .16s ease}textarea{min-height:120px;padding:12px 13px;resize:vertical;line-height:1.5}input:focus,select:focus,textarea:focus{border-color:#1769e0c7;box-shadow:0 0 0 3px #1769e01f}input::placeholder,textarea::placeholder{color:#9aa8b8}.captcha-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px}.captcha-button,.secondary{color:#334155;background:#fff;border:1px solid var(--line-strong);box-shadow:var(--shadow-sm)}.captcha-button{height:46px;padding:0 10px}.captcha-button:hover:not(:disabled),.secondary:hover:not(:disabled){color:var(--primary-strong);background:var(--primary-soft);border-color:#1769e03d}.captcha-button img{width:104px;height:32px;border-radius:6px;object-fit:cover}.danger{color:#fff;background:linear-gradient(180deg,#d6554f,var(--danger));box-shadow:0 10px 22px #c2413b29}.danger:hover:not(:disabled){background:linear-gradient(180deg,#e46761,#b83832)}.error{border:1px solid rgba(194,65,59,.18);border-radius:8px;background:var(--danger-soft);color:#9f2f2b;padding:11px 13px;font-size:14px}.admin-page{padding:28px}.topbar,.metrics,.table-wrap{max-width:1280px;margin-left:auto;margin-right:auto}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px;border:1px solid var(--line);border-radius:10px;background:#ffffffe6;padding:18px 20px;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand-badge{display:grid;width:44px;height:44px;place-items:center;color:var(--primary);border:1px solid rgba(23,105,224,.16);border-radius:10px;background:var(--primary-soft)}.topbar h1{color:#0f172a;font-size:23px;line-height:1.15}.topbar p{margin-top:5px;max-width:860px;line-height:1.55}.topbar-title{display:grid;min-width:0;gap:3px}.section-kicker{color:var(--primary);font-size:12px;font-weight:850}.topbar-side{display:grid;justify-items:end;gap:12px;flex:0 0 auto}.admin-chip{display:grid;gap:3px;min-width:190px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:9px 11px}.admin-chip span{color:var(--faint);font-size:11px;font-weight:850}.admin-chip strong{overflow:hidden;color:#0f172a;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.actions,.row-actions{display:flex;align-items:center;gap:10px}.row-actions{flex-wrap:wrap}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.metrics div{display:grid;align-content:center;gap:8px;padding:18px}.metrics strong{color:#0f172a;font-size:25px}.metrics small{color:var(--faint);font-size:12px}.table-wrap,.asset-editor,.panel,.planned-panel{border:1px solid var(--line);border-radius:10px;background:#ffffffeb;box-shadow:var(--shadow-sm)}.table-wrap{overflow-x:auto;overflow-y:hidden}.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;padding:12px 16px;border-top:1px solid var(--line);background:#fff}.pagination-bar span{color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}.pagination-bar>div{display:flex;align-items:center;gap:10px}.pagination-bar strong{min-width:54px;color:#0f172a;font-size:13px;text-align:center}.pagination-bar button{min-height:34px;padding:0 12px;box-shadow:none}.table-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8fafc)}.table-heading h2,.panel-heading-row h2,.terminal-detail h3{color:#0f172a}.table-heading h2{font-size:18px}.table-heading p{margin-top:6px}.table-heading svg,.panel-heading-row svg{color:var(--primary)}.market-layout{display:grid;grid-template-columns:minmax(320px,390px) minmax(0,1fr);gap:18px;max-width:none;margin:0;align-items:start}.market-layout .table-wrap{min-width:0}.asset-editor{display:grid;gap:14px;padding:18px}.asset-editor .table-heading{margin:-18px -18px 4px}.market-main-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,360px);gap:16px;align-items:start}.market-terminal-panel{position:sticky;top:0;padding:16px}.compact-heading{padding:16px 18px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.release-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:22px;background:#0f172a6b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.release-modal{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(880px,100%);max-height:min(92vh,860px);overflow:hidden;border:1px solid rgba(203,213,225,.92);border-radius:10px;background:#fff;box-shadow:var(--shadow-lg)}.release-modal-header,.release-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.release-modal-header{padding:20px 22px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8fafc)}.release-modal-header h3{margin-top:5px;color:#0f172a;font-size:20px}.release-modal-header p{margin-top:7px;color:var(--muted);font-size:13px;line-height:1.55}.release-modal-body{display:grid;gap:14px;min-height:0;overflow-y:auto;padding:18px 22px}.release-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.release-type-card{display:grid;justify-items:start;min-height:76px;padding:14px 16px;color:#334155;border:1px solid var(--line-strong);background:#fff;box-shadow:var(--shadow-sm);text-align:left;transform:none}.release-type-card:hover:not(:disabled),.release-type-card.active{color:var(--primary-strong);border-color:#1769e052;background:var(--primary-soft);transform:none}.release-type-card.active{box-shadow:inset 3px 0 0 var(--primary),var(--shadow-sm)}.release-type-card strong{color:#0f172a;font-size:14px}.release-type-card span,.release-field small,.release-progress p{color:var(--muted);font-size:12px;font-weight:650}.release-hint{border:1px solid rgba(196,123,19,.2);border-radius:8px;background:var(--warning-soft);color:#8a5510;padding:10px 12px;font-size:12px;font-weight:750;line-height:1.55}.release-dropzone{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;min-height:116px;border:1.5px dashed var(--line-strong);border-radius:10px;background:var(--surface-soft);padding:18px;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.release-dropzone:hover,.release-dropzone.dragging{border-color:#1769e08c;background:var(--primary-soft);box-shadow:0 0 0 3px #1769e014}.release-dropzone.has-file{border-style:solid;border-color:#0f9f8f42;background:var(--accent-soft)}.release-drop-icon{display:grid;width:48px;height:48px;place-items:center;color:var(--primary);border:1px solid rgba(23,105,224,.18);border-radius:8px;background:#fff;box-shadow:var(--shadow-sm)}.release-dropzone strong{display:block;overflow-wrap:anywhere;color:#0f172a;font-size:15px}.release-dropzone p{margin-top:6px;color:var(--muted);font-size:13px}.release-field-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr .85fr;gap:12px}.release-field-grid.patch{grid-template-columns:repeat(2,minmax(0,1fr))}.release-field{display:grid;gap:8px}.release-field span{color:#334155;font-size:13px;font-weight:800}.release-field input,.release-field select{height:42px}.release-field textarea{min-height:108px}.release-progress{display:grid;gap:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:12px}.release-progress-row{display:flex;justify-content:space-between;gap:14px;color:var(--muted);font-size:12px;font-weight:750}.release-progress-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.release-progress-row strong{flex:0 0 auto;color:#0f172a;font-size:12px}.release-progress-track{height:7px;overflow:hidden;border-radius:999px;background:#e2e8f0}.release-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--primary);transition:width .18s ease}.release-progress-track.accent span{background:var(--accent)}.release-form-error{border:1px solid rgba(194,65,59,.18);border-radius:8px;background:var(--danger-soft);color:#9f2f2b;padding:10px 12px;font-size:13px;font-weight:750}.release-modal-footer{padding:14px 22px;border-top:1px solid var(--line);background:#fff}.checkbox-line{display:flex;align-items:center;gap:10px}.checkbox-line input{width:18px;height:18px}table{width:100%;min-width:760px;border-collapse:collapse}th,td{padding:14px 18px;border-bottom:1px solid #edf1f6;text-align:left;font-size:14px}th{color:#64748b;background:#f8fafc;font-size:12px;font-weight:850}td{color:#334155}td strong{color:#0f172a}td small{display:block;margin-top:4px;color:var(--faint);font-size:12px}tbody tr:hover{background:#f8fbff}.status-pill{display:inline-flex;align-items:center;min-height:26px;border:1px solid var(--line-strong);border-radius:999px;padding:0 10px;background:#fff;color:#475569;font-size:12px;font-weight:850;white-space:nowrap}.status-pill.online,.user-status-1{border-color:#15803d2e;color:var(--success);background:var(--success-soft)}.user-status-2{border-color:#c47b1338;color:var(--warning);background:var(--warning-soft)}.status-pill.offline,.user-status-3,.user-status-0{border-color:#c2413b2e;color:var(--danger);background:var(--danger-soft)}.empty{height:140px;color:var(--muted);text-align:center}.app-shell{display:grid;grid-template-columns:264px minmax(0,1fr);overflow:hidden}.sidebar{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;border-right:1px solid var(--line);background:#ffffffdb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:20px 14px;box-shadow:1px 0 #ffffffb3}.sidebar-brand{display:flex;align-items:center;gap:13px;padding:4px 6px 20px}.sidebar-brand h1{color:#0f172a;font-size:20px;line-height:1.1}.sidebar-brand p{margin-top:5px;font-size:12px}.nav-menu{display:grid;align-content:start;gap:7px;padding-top:14px;border-top:1px solid var(--line)}.nav-item{width:100%;height:43px;justify-content:flex-start;gap:11px;color:#526173;background:transparent;border:1px solid transparent;box-shadow:none;font-weight:750}.nav-item:hover:not(:disabled),.nav-item.active{color:var(--primary-strong);background:var(--primary-soft);border-color:#1769e029;transform:none}.nav-item.active{box-shadow:inset 3px 0 0 var(--primary)}.nav-item span{flex:1;text-align:left}.nav-item em{color:var(--warning);font-size:11px;font-style:normal;font-weight:850}.sidebar-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:12px}.sidebar-footer span{color:var(--faint);font-size:11px;font-weight:850}.sidebar-footer strong{color:var(--accent);font-size:13px}.workspace{min-width:0;height:100vh;overflow:auto;padding:22px}.workspace .topbar,.workspace .metrics,.workspace .table-wrap,.command-center,.dashboard-grid,.planned-panel{max-width:none;width:100%}.topbar-title h1{font-size:24px}.icon-only{width:40px;padding:0}.page-stack{display:grid;gap:16px}.command-center{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.58fr);gap:22px;min-height:230px;border:1px solid rgba(23,105,224,.12);border-radius:10px;background:linear-gradient(135deg,#1769e01c,#0f9f8f0f),#fff;padding:26px;box-shadow:var(--shadow-md)}.command-copy{display:grid;align-content:center}.command-center h2{max-width:780px;color:#0f172a;font-size:clamp(28px,3.4vw,46px);line-height:1.12}.command-center p:not(.eyebrow){max-width:700px;margin-top:18px;color:var(--muted);font-size:16px;line-height:1.8}.hero-stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:660px;margin-top:24px}.hero-stat-row div{display:grid;gap:6px;min-height:78px;border:1px solid rgba(23,105,224,.12);border-radius:8px;background:#ffffffb8;padding:14px}.hero-stat-row span,.mini-heading span{color:var(--muted);font-size:12px;font-weight:750}.hero-stat-row strong{color:#0f172a;font-size:24px}.fleet-map-card{display:grid;align-content:start;gap:13px;border:1px solid rgba(203,213,225,.8);border-radius:10px;background:#ffffffd1;padding:16px}.mini-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.mini-heading strong{color:var(--success);font-size:13px}.fleet-map{align-self:stretch;display:grid;gap:12px;align-content:center}.fleet-node{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;row-gap:4px;min-height:70px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#ffffffc7}.fleet-node span{grid-row:span 2;align-self:center;width:11px;height:11px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px #15803d1a}.fleet-node.warning span{background:var(--warning);box-shadow:0 0 0 4px #c47b131f}.fleet-node.offline span{background:var(--danger);box-shadow:0 0 0 4px #c2413b1f}.fleet-node strong{overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap}.fleet-node em{color:var(--muted);font-size:12px;font-style:normal}.fleet-empty,.terminal-empty{display:grid;min-height:96px;place-items:center;color:var(--muted);border:1px dashed var(--line-strong);border-radius:8px;background:var(--surface-soft);font-size:13px;font-weight:750}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:16px}.dashboard-grid-wide{grid-template-columns:minmax(0,1.55fr) minmax(340px,.75fr)}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.resource-grid>.wide-panel{grid-column:span 2}.policy-workbench{display:grid;grid-template-columns:minmax(280px,320px) minmax(620px,1fr) minmax(320px,360px);gap:16px;align-items:start}.policy-library,.market-library{min-width:0}.market-library{position:sticky;top:0}.asset-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.asset-card,.assignment-list article,.empty-state-card{border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow-sm)}.asset-card{display:grid;grid-template-rows:auto auto 1fr auto auto;gap:14px;min-height:260px;padding:16px}.card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.card-title-row>div{min-width:0}.card-title-row strong{display:block;overflow:hidden;color:#0f172a;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.card-title-row span:not(.status-pill){display:block;margin-top:5px;color:var(--muted);font-size:12px}.asset-card p{color:var(--muted);font-size:13px;line-height:1.6}.chip-row{display:flex;flex-wrap:wrap;gap:8px;align-content:start}.chip-row span{min-height:26px;border:1px solid rgba(23,105,224,.12);border-radius:999px;background:var(--primary-soft);color:var(--primary-strong);padding:5px 9px;font-size:12px;font-weight:750}.compact-meta{display:grid;gap:8px;margin:0}.compact-meta div{display:grid;grid-template-columns:86px minmax(0,1fr);gap:10px;min-height:auto}.compact-meta dt{color:var(--faint)}.compact-meta dd{color:#334155;font-size:12px}.card-actions{align-self:end}.policy-library,.assignment-panel{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);max-height:calc(100vh - 44px);padding:16px;gap:12px;position:sticky;top:0}.policy-list{display:grid;align-content:start;gap:8px;min-height:180px;max-height:calc(100vh - 280px);overflow:auto}.policy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:58px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);padding:10px 12px;box-shadow:var(--shadow-sm);text-align:left}.policy-row:hover:not(:disabled),.policy-row.selected{border-color:#1769e047;background:#f8fbff;color:var(--text);transform:none}.policy-row strong{display:block;overflow:hidden;color:#0f172a;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.policy-row span{display:block;overflow:hidden;margin-top:4px;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.policy-row em{color:var(--primary);font-size:12px;font-style:normal;font-weight:850;text-align:right}.policy-detail-panel{display:grid;gap:14px;min-height:0;padding:0;overflow:hidden;align-content:start}.policy-form-grid{display:grid;grid-template-columns:1.15fr 1fr .75fr .75fr;gap:12px;align-items:start}.policy-wide-field{grid-column:1 / -1}.policy-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.policy-editor-grid textarea{min-height:clamp(240px,32vh,360px);font-family:SFMono-Regular,Cascadia Code,Liberation Mono,Menlo,Consolas,monospace;font-size:13px;line-height:1.6;-moz-tab-size:2;tab-size:2;white-space:pre}.policy-editor-grid .policy-wide-field textarea{min-height:clamp(260px,34vh,420px)}.detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8fafc);padding:18px}.detail-title-row h2{color:#0f172a;font-size:clamp(22px,2.2vw,30px);line-height:1.15}.detail-title-row p:not(.eyebrow){max-width:680px;margin-top:8px;color:var(--muted);line-height:1.55}.policy-create-button,.assign-primary-button{width:100%}.policy-section{display:grid;gap:14px;padding:16px 18px}.policy-section+.policy-section{border-top:1px solid var(--line)}.policy-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.policy-section-heading h3{color:#0f172a;font-size:15px}.policy-section-heading span{color:var(--muted);font-size:12px;text-align:right}.field-help{color:var(--muted);font-size:12px;font-weight:600;line-height:1.45}.policy-editor-section{gap:12px}.policy-content-editor{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow-sm)}.policy-content-editor.expanded{border-color:#1769e03d}.policy-content-header{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px;background:linear-gradient(180deg,#fff,#f8fafc)}.policy-content-header strong,.policy-content-header span{display:block}.policy-content-header strong{color:#0f172a;font-size:14px}.policy-content-header span{margin-top:3px;color:var(--muted);font-size:12px;line-height:1.45}.policy-content-header em{border-radius:999px;padding:5px 9px;font-size:11px;font-style:normal;font-weight:850;white-space:nowrap}.policy-content-header em.valid{color:var(--success);background:var(--success-soft)}.policy-content-header em.invalid{color:var(--danger);background:var(--danger-soft)}.editor-collapse-button{width:34px;height:34px;min-height:34px;padding:0}.editor-mode-actions{display:flex;align-items:center;gap:8px}.editor-mode-actions button{min-height:32px;padding:0 10px;font-size:12px}.policy-editor-body{display:grid;gap:8px;padding:12px;border-top:1px solid var(--line)}.policy-editor-body textarea,.policy-preview-pane{min-height:clamp(430px,58vh,720px)}.policy-editor-body textarea{font-family:SFMono-Regular,Cascadia Code,Liberation Mono,Menlo,Consolas,monospace;font-size:13px;line-height:1.65;-moz-tab-size:2;tab-size:2;white-space:pre}.policy-preview-pane{overflow:auto;border:1px solid var(--line-strong);border-radius:8px;background:#fff;padding:16px}.policy-preview-pane pre{margin:0;color:#172033;font-family:SFMono-Regular,Cascadia Code,Liberation Mono,Menlo,Consolas,monospace;font-size:13px;line-height:1.65;white-space:pre-wrap}.json-error-preview,.editor-validation-error{color:var(--danger)}.editor-validation-error{font-size:12px;font-weight:750}.markdown-preview{display:grid;gap:10px}.markdown-preview h2,.markdown-preview h3,.markdown-preview h4{color:#0f172a;line-height:1.25}.markdown-preview h2{font-size:22px}.markdown-preview h3{font-size:18px}.markdown-preview h4{font-size:15px}.markdown-preview p{color:#334155;font-size:14px;line-height:1.7;white-space:pre-wrap}.markdown-preview .md-list{padding-left:16px;position:relative}.markdown-preview .md-list:before{content:"";position:absolute;left:2px;top:11px;width:5px;height:5px;border-radius:50%;background:var(--primary)}.md-space{height:6px}.preview-empty{color:var(--muted)}.policy-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.policy-detail-grid div{display:grid;gap:8px;min-height:84px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:14px}.policy-detail-grid span,.policy-skill-section h3,.assignment-history h3{color:var(--muted);font-size:12px;font-weight:850}.policy-detail-grid strong{overflow-wrap:anywhere;color:#0f172a;font-size:14px}.policy-skill-section{display:grid;gap:12px}.target-mode-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.target-mode-group button{min-height:36px;padding:0 10px;font-size:12px;white-space:nowrap}.terminal-target-selector{display:grid;gap:10px}.target-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.target-summary-grid div{display:grid;gap:5px;min-height:58px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:10px}.target-summary-grid span,.terminal-target-search span{color:var(--muted);font-size:12px;font-weight:850}.target-summary-grid strong{color:#0f172a;font-size:20px}.terminal-target-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.terminal-target-search input{height:38px}.terminal-target-search span{white-space:nowrap}.target-bulk-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.target-bulk-actions button{min-height:34px;padding:0 10px;font-size:12px}.target-terminal-list{display:grid;align-content:start;gap:8px;max-height:min(260px,28vh);overflow:auto}.target-terminal-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px}.target-terminal-row input{width:16px;height:16px}.target-terminal-row strong,.target-terminal-row span{display:block}.target-terminal-row strong{overflow:hidden;color:#0f172a;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.target-terminal-row span{overflow:hidden;margin-top:3px;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.target-terminal-row em{font-size:12px;font-style:normal;font-weight:850}.target-terminal-row em.online{color:var(--success)}.target-terminal-row em.warning{color:var(--warning)}.target-terminal-row em.offline{color:var(--danger)}.target-overflow-note{border:1px dashed var(--line-strong);border-radius:8px;background:var(--surface-soft);color:var(--muted);padding:10px;font-size:12px;line-height:1.5;text-align:center}.assignment-history{display:grid;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.card-actions{display:flex;flex-wrap:wrap;gap:10px}.market-library{display:grid;grid-template-rows:auto auto minmax(0,1fr);max-height:calc(100vh - 44px);padding:18px}.market-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:12px}.market-toolbar input{height:40px}.market-toolbar span{color:var(--muted);font-size:12px;font-weight:850;white-space:nowrap}.asset-list{display:grid;gap:8px;min-height:220px;align-content:start;overflow:auto;padding-right:2px}.asset-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:8px;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;padding:7px}.asset-row.selected,.asset-row:hover{border-color:#1769e047;background:#f8fbff}.asset-row-main{display:grid;grid-template-columns:minmax(0,1fr) 56px 64px 68px;gap:10px;align-items:center;min-height:54px;height:54px;padding:8px;color:var(--text);border:0;background:transparent;box-shadow:none;text-align:left}.asset-row-main:hover:not(:disabled){color:var(--text);background:transparent;transform:none}.asset-row-main>div{min-width:0}.asset-row-main strong{display:block;overflow:hidden;color:#0f172a;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.asset-row-main div span{display:block;overflow:hidden;margin-top:4px;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.asset-row-main em,.asset-row-main small{overflow:hidden;color:var(--muted);font-size:12px;font-style:normal;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.asset-row-main .status-pill{justify-self:start}.asset-row>.icon-only{width:38px;height:38px;min-height:38px;align-self:center;padding:0;border-radius:8px}.asset-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end}.asset-description-field{grid-column:span 3}.asset-enabled-field{min-height:46px;align-self:end;justify-content:flex-start;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:0 12px}.assignment-panel{position:sticky;top:0}.assignment-list{display:grid;gap:10px;max-height:min(280px,30vh);overflow:auto}.assignment-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:13px}.assignment-list strong{display:block;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap}.assignment-list span,.assignment-list small{color:var(--muted);font-size:12px}.assignment-list em{border-radius:999px;background:var(--surface-tint);color:var(--primary-strong);padding:4px 9px;font-size:12px;font-style:normal;font-weight:850}.assignment-list p{grid-column:1 / -1;color:#475569;font-size:13px;line-height:1.45}.assignment-list small{grid-column:1 / -1}.empty-state-card{display:grid;gap:8px;min-height:132px;align-content:center;justify-items:center;padding:22px;text-align:center}.empty-state-card strong{color:#0f172a}.empty-state-card span{max-width:360px;color:var(--muted);font-size:13px;line-height:1.6}.panel{padding:20px}.panel-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-heading-row h2{font-size:18px}.panel-heading-row p{margin-top:6px;font-size:13px;line-height:1.5}.terminal-list,.timeline,.alert-list,.catalog-list,.model-list{display:grid;gap:10px}.terminal-row{display:grid;grid-template-columns:minmax(0,1fr) 72px 52px 138px;align-items:center;gap:14px;min-height:64px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px 14px}.terminal-button{width:100%;height:auto;color:#334155;text-align:left;box-shadow:none}.terminal-button:hover:not(:disabled),.terminal-button.selected{background:#f8fbff;border-color:#1769e03d}.terminal-row.online{border-left:4px solid var(--success)}.terminal-row.warning{border-left:4px solid var(--warning);background:#fffdf7}.terminal-row.offline{border-left:4px solid var(--danger);background:#fff9f8}.terminal-row strong,.terminal-row span{display:block}.terminal-row span{margin-top:5px;color:var(--muted);font-size:13px}.terminal-row em{color:var(--success);font-size:12px;font-style:normal;font-weight:850}.terminal-row.warning em{color:var(--warning)}.terminal-row.offline em{color:var(--danger)}.terminal-row b{color:var(--primary)}.terminal-row small{color:var(--faint);font-size:12px}.alert-list div,.catalog-list div,.model-list div{display:grid;gap:6px;min-height:68px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px 13px}.alert-list div{border-color:#c47b132e;background:var(--warning-soft)}.alert-list strong,.catalog-list strong,.model-list strong{color:#0f172a}.alert-list span,.catalog-list span,.model-list span{color:var(--muted);font-size:13px;line-height:1.5}.catalog-list em,.model-list em{color:var(--primary);font-size:12px;font-style:normal;font-weight:850}.catalog-list button{justify-self:start;margin-top:4px}.timeline div{display:flex;align-items:center;gap:10px;min-height:44px;color:#334155;border-bottom:1px solid #edf1f6}.timeline small{margin-left:auto;color:var(--faint);white-space:nowrap}.timeline span{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px #1769e01a}.metrics.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.planned-panel{min-height:calc(100vh - 120px);display:grid;align-content:center;justify-items:center;gap:14px;padding:48px;text-align:center}.planned-panel svg{color:var(--primary)}.planned-panel h2{color:#0f172a;font-size:32px}.planned-panel p:not(.eyebrow){max-width:520px;line-height:1.7}.terminal-management{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(0,1.4fr);gap:16px;align-items:start}.terminal-index{position:sticky;top:0}.terminal-detail{display:grid;gap:16px;min-width:0}.terminal-detail-empty{min-height:520px}.detail-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border:1px solid rgba(21,128,61,.16);border-radius:10px;background:linear-gradient(135deg,var(--success-soft),#ffffff);padding:24px;box-shadow:var(--shadow-sm)}.detail-hero.warning{border-color:#c47b1338;background:linear-gradient(135deg,var(--warning-soft),#ffffff)}.detail-hero.offline{border-color:#c2413b33;background:linear-gradient(135deg,var(--danger-soft),#ffffff)}.detail-hero h2{color:#0f172a;font-size:clamp(26px,3vw,40px)}.detail-hero p:not(.eyebrow){margin-top:9px;color:var(--muted)}.detail-hero>strong{min-width:72px;border:1px solid rgba(21,128,61,.18);border-radius:999px;color:var(--success);background:#fff;padding:8px 12px;text-align:center;font-size:13px}.detail-hero.warning>strong{color:var(--warning);border-color:#c47b1338}.detail-hero.offline>strong{color:var(--danger);border-color:#c2413b33}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.terminal-detail h3{margin:0 0 16px;font-size:17px}dl{display:grid;gap:12px;margin:0}dl div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;min-height:30px;align-items:start}dt{color:var(--faint);font-size:12px;font-weight:850}dd{min-width:0;margin:0;overflow-wrap:anywhere;color:#334155;font-size:13px;line-height:1.45}.resource-bars{display:grid;gap:16px}.resource-bars div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.resource-bars span,.token-grid span{color:var(--muted);font-size:12px;font-weight:750}.resource-bars strong{color:#0f172a;font-size:13px}.resource-bars i{grid-column:1 / -1;height:8px;overflow:hidden;border-radius:999px;background:#e8eef6}.resource-bars b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--accent))}.token-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.token-grid div{display:grid;gap:8px;min-height:76px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:12px}.token-grid strong{color:var(--primary);font-size:22px}.event-panel{min-height:260px}@media (max-width: 1220px){.policy-workbench{grid-template-columns:minmax(280px,340px) minmax(0,1fr)}.assignment-panel{grid-column:2}.asset-form-grid,.release-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.policy-form-grid,.policy-editor-grid{grid-template-columns:1fr}.asset-description-field{grid-column:1 / -1}.asset-row-main{grid-template-columns:minmax(0,1fr) 56px 64px}.asset-row-main small{display:none}}@media (max-width: 980px){.login-page{grid-template-columns:1fr;gap:32px;padding:28px}.hero-copy{margin-top:36px}.signal-grid,.metrics,.metrics.compact{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.topbar-side{width:100%;justify-items:stretch}.admin-chip{min-width:0}.actions{flex-wrap:wrap}.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto}.nav-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{height:auto}.command-center,.dashboard-grid,.dashboard-grid-wide,.resource-grid,.terminal-management,.detail-grid,.policy-workbench,.market-layout,.market-main-column,.hero-stat-row{grid-template-columns:1fr}.resource-grid>.wide-panel{grid-column:auto}.asset-editor,.market-library,.market-terminal-panel,.policy-library,.assignment-panel,.terminal-index{position:static;max-height:none}.assignment-panel{grid-column:auto}.policy-detail-grid,.target-summary-grid,.target-mode-group,.target-bulk-actions{grid-template-columns:1fr}.asset-editor .table-heading{position:static}.release-modal-backdrop{align-items:stretch;padding:12px}.release-modal{max-height:calc(100vh - 24px)}.release-modal-header,.release-modal-footer{align-items:stretch}.release-modal-header,.release-modal-body{padding:16px}.release-type-grid,.release-field-grid,.release-field-grid.patch{grid-template-columns:1fr}.release-dropzone{grid-template-columns:1fr;min-height:126px}.release-modal-footer{flex-direction:column-reverse;padding:12px 16px}.release-modal-footer button{width:100%}.asset-form-grid{grid-template-columns:1fr}.asset-row-main{grid-template-columns:minmax(0,1fr)}.asset-row-main small{display:block}.terminal-row{grid-template-columns:1fr}}
