:root{--bg:#f5f6f8;--bg-soft:#eceff3;--panel:#fff;--panel-strong:#fff;--ink:#172033;--muted:#6b7280;--line:#e3e7ee;--orange:#d97706;--green:#168a5f;--teal:#2563eb;--cream:#f8fafc;--danger:#b93f33;--shadow:0 16px 42px #0f172a14;--radius:8px;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Aptos,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.62}a{color:inherit;text-decoration:none}#app{min-height:100vh}.eyebrow{color:var(--teal);letter-spacing:0;text-transform:uppercase;margin:0 0 .8rem;font-size:.72rem;font-weight:800}.login-page{min-height:100vh;display:grid}.login-page .icp-footer{align-self:end}.login-shell{grid-template-columns:minmax(0,1.1fr) minmax(360px,.72fr);align-items:stretch;gap:1.5rem;min-height:calc(100vh - 3.5rem);padding:1.2rem;display:grid}.login-hero,.login-panel{border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #ffffff1f}.login-hero{color:var(--cream);background:linear-gradient(135deg,#101511eb,#1a281ed1),url(/icons.svg);flex-direction:column;justify-content:flex-end;padding:clamp(2rem,6vw,5rem);display:flex;position:relative;overflow:hidden}.login-hero:after{background:linear-gradient(90deg, var(--green), var(--orange));content:"";border-radius:999px;height:.45rem;position:absolute;top:clamp(2rem,6vw,5rem);left:clamp(2rem,6vw,5rem);right:clamp(2rem,6vw,5rem)}.login-hero h1{letter-spacing:-.08em;max-width:820px;margin:0 0 1.5rem;font-size:clamp(2.8rem,7vw,6.6rem);line-height:.92}.hero-copy{color:#f7efd8b8;max-width:620px;font-size:clamp(1rem,2vw,1.25rem);line-height:1.8}.boundary-card{flex-wrap:wrap;gap:.7rem;margin-top:2rem;display:flex}.boundary-card span{color:#f7efd8cc;background:#f7efd81a;border:1px solid #f7efd82e;border-radius:999px;padding:.55rem .85rem}.login-panel{background:var(--panel);flex-direction:column;align-self:center;gap:1.2rem;margin-right:clamp(0rem,3vw,2rem);padding:clamp(1.4rem,3vw,2.2rem);display:flex}.login-panel h2{letter-spacing:-.05em;margin:0;font-size:2rem}.login-panel label{color:var(--muted);gap:.45rem;font-weight:700;display:grid}.login-panel input{border:1px solid var(--line);color:var(--ink);background:#ffffffb8;border-radius:16px;outline:none;padding:.95rem 1rem}.login-panel input:focus{border-color:#26b9b0b3;box-shadow:0 0 0 4px #26b9b01f}.login-panel button,.ghost-button{border-radius:16px;padding:.95rem 1rem;font-weight:800}.login-panel button{background:linear-gradient(135deg, var(--teal), var(--green));color:#07110d}.form-error{color:var(--danger);background:#b93f331a;border:1px solid #b93f3338;border-radius:14px;margin:0;padding:.8rem 1rem}.admin-shell{grid-template-columns:264px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#f8fafc;background:#0f172a;border-right:1px solid #ffffff14;flex-direction:column;gap:1rem;max-height:100vh;padding:1rem;display:flex;position:sticky;top:0;overflow:hidden}.brand{align-items:center;gap:.8rem;padding:.5rem;display:flex}.brand-mark{color:#fff;background:#2563eb;border-radius:8px;justify-content:center;align-items:center;width:3.1rem;height:3.1rem;font-weight:900;display:inline-flex}.brand small,.sidebar-note span,.side-nav small{color:#f8fafc9e}.side-nav{flex:1;padding-right:.2rem;display:block;overflow:auto}.nav-group{border-bottom:1px solid #f8fafc14;padding:.25rem 0}.nav-group summary{color:#f8fafcb3;cursor:pointer;border-radius:6px;padding:.65rem .7rem;font-size:.78rem;font-weight:800;list-style:none}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:"+";float:right}.nav-group[open] summary:after{content:"-"}.nav-group-list{gap:.16rem;padding:0 0 .45rem;display:grid}.side-nav a{border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;min-height:2.25rem;padding:.52rem .7rem;display:flex}.side-nav a span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.side-nav a.router-link-active,.side-nav a:hover{color:#fff;background:#2563eb2e;border-color:#93c5fd38}.side-nav a.disabled{opacity:.68}.sidebar-note{background:#f8fafc0f;border:1px solid #f8fafc1a;border-radius:8px;gap:.5rem;margin-top:auto;padding:1rem;line-height:1.6;display:grid}.workspace{background:var(--bg);flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);background:#ffffffdb;justify-content:space-between;align-items:center;padding:1rem clamp(1rem,3vw,2.2rem);display:flex}.topbar p{color:var(--muted);margin:0 0 .15rem}.ghost-button{border:1px solid var(--line);color:var(--ink);background:#eef2f7}.dashboard-page{flex:1;gap:1rem;padding:clamp(1rem,2vw,1.5rem);display:grid}.icp-footer{color:#f7efd8ad;text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;padding:.8rem 1rem 1rem;font-size:.82rem;line-height:1.5;display:flex}.workspace .icp-footer{color:var(--muted)}.icp-footer a{color:inherit;border-bottom:1px solid}.icp-footer span{color:var(--danger);font-weight:800}.icp-footer small{color:inherit;opacity:.75}.page-hero,.panel,.metric-card,.state-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none}.page-hero{justify-content:space-between;align-items:center;gap:1rem;padding:clamp(1.1rem,2vw,1.6rem);display:flex;position:relative;overflow:hidden}.page-hero h1{letter-spacing:0;margin:0 0 .6rem;font-size:clamp(1.55rem,3vw,2.25rem);line-height:1.18}.page-hero p{color:var(--muted);max-width:820px;margin:0;line-height:1.65}.hero-status{border:1px solid var(--line);color:var(--ink);background:#f8fafc;border-radius:8px;min-width:180px;padding:1.2rem;display:grid}.hero-status span{color:var(--teal);font-size:.8rem;font-weight:800}.hero-status strong{font-size:1.4rem}.metric-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;display:grid}.metric-card{padding:1rem}.metric-card span{color:var(--muted);margin-bottom:.8rem;font-size:.86rem;display:block}.metric-card strong{letter-spacing:0;font-size:1.55rem}.two-column{grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:1rem;display:grid}.panel,.state-card{padding:1rem}.state-card.error{color:var(--danger)}.state-card.success{color:#1f6f4f;background:#3ec08f1f;border-color:#3ec08f42}.panel-heading h2{letter-spacing:0;margin:0 0 .9rem;font-size:1.15rem}.roadmap,.boundary-panel ul{color:var(--muted);gap:.75rem;margin:0;padding-left:1.2rem;line-height:1.6;display:grid}.governance-page .page-hero{background:linear-gradient(135deg,#ffffffb8,#fff9e69e),radial-gradient(circle at 100% 0,#3ec08f3d,#0000 20rem)}.panel-copy{color:var(--muted);margin:0;line-height:1.8}.chip-row{flex-wrap:wrap;gap:.65rem;display:flex}.chip-row span,.topic-grid span{color:#1e615b;background:#26b9b01a;border:1px solid #26b9b029;border-radius:999px;padding:.55rem .75rem;font-size:.9rem;line-height:1.5}.topic-grid{flex-wrap:wrap;gap:.55rem;margin-top:1rem;display:flex}.record-list{gap:.75rem;display:grid}.record-card{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.9rem;display:flex}.record-card strong{letter-spacing:-.02em;line-height:1.45;display:block}.record-card p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.45rem 0 0;line-height:1.65;display:-webkit-box;overflow:hidden}.record-card span{color:var(--muted);background:#eef2f7;border-radius:6px;flex-shrink:0;padding:.45rem .65rem;font-size:.78rem}.quick-link-list .record-card{transition:border-color .15s,background .15s}.quick-link-list .record-card:hover{background:#f8fafc;border-color:#bfdbfe}.status-list{gap:.65rem;display:grid}.status-list div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:.65rem 0;display:flex}.status-list div:last-child{border-bottom:0}.status-list span{color:var(--muted)}.status-list strong{color:var(--ink)}.record-card.readiness-check span.passed{color:#1f6f4f;background:#3ec08f24}.record-card.readiness-check span.blocked{color:var(--danger);background:#b93f331f}.record-card.settings-card span.setting-ready,.record-card.settings-card span.setting-locked{color:#1f6f4f;background:#3ec08f24}.record-card.settings-card span.setting-pending,.record-card.settings-card span.setting-planned{color:#9a4b20;background:#f17a3829}.record-card.settings-card span.setting-disabled,.record-card.settings-card span.setting-forbidden{color:var(--danger);background:#b93f331a}.record-card.settings-card span.setting-guarded,.record-card.settings-card span.setting-manual{color:#9a4b20;background:#f17a3829}.empty-state{color:var(--muted);padding:1rem 0}.toolbar,.inline-actions{flex-wrap:wrap;gap:.6rem;display:flex}.toolbar{margin-bottom:1rem}.toolbar input,.toolbar select{border:1px solid var(--line);color:var(--ink);background:#ffffffb8;border-radius:999px;outline:none;padding:.62rem .9rem}.toolbar button,.inline-actions button{color:var(--ink);background:#16201914;border-radius:999px;padding:.62rem .9rem;font-size:.86rem;font-weight:800}.toolbar button.active,.inline-actions button:hover{background:linear-gradient(135deg, var(--teal), var(--green));color:#07110d}.inline-actions a{color:var(--ink);background:#16201914;border-radius:999px;padding:.62rem .9rem;font-size:.86rem;font-weight:800}.inline-actions a:hover{background:linear-gradient(135deg, var(--teal), var(--green));color:#07110d}.json-block{color:var(--cream);white-space:pre-wrap;background:#0a0e0be0;border-radius:18px;max-height:520px;margin:0;padding:1rem;line-height:1.6;overflow:auto}.matrix-scroll{overflow-x:auto}.permission-table{border-collapse:collapse;width:100%;min-width:980px}.permission-table th,.permission-table td{border-bottom:1px solid var(--line);color:var(--muted);text-align:left;vertical-align:top;padding:.85rem}.permission-table th{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}.permission-table strong{color:var(--ink);margin-bottom:.35rem;display:block}.permission-table p{margin:0;line-height:1.55}.access-pill{white-space:nowrap;border-radius:999px;padding:.4rem .62rem;font-size:.82rem;font-weight:800;display:inline-flex}.access-full{color:#1f6f4f;background:#3ec08f29}.access-limited{color:#9a4b20;background:#f17a3829}.access-read{color:#1e615b;background:#26b9b01f}.access-none{color:var(--danger);background:#b93f331a}.editor-list{gap:1rem;display:grid}.editor-card{border:1px solid var(--line);background:#ffffffa8;border-radius:22px;gap:.85rem;padding:1rem;display:grid}.editor-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.editor-head strong{line-height:1.45}.editor-head span{color:var(--muted);background:#16201914;border-radius:999px;flex-shrink:0;padding:.42rem .65rem;font-size:.78rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.editor-card label,.full-field{color:var(--muted);gap:.4rem;font-size:.9rem;font-weight:800;display:grid}.editor-card input,.editor-card select,.editor-card textarea,.full-field input,.full-field textarea{border:1px solid var(--line);color:var(--ink);background:#ffffffb8;border-radius:14px;outline:none;width:100%;padding:.8rem .9rem}.editor-card textarea,.full-field textarea{resize:vertical;line-height:1.65}.check-result{color:var(--muted);background:#26b9b014;border:1px solid #26b9b029;border-radius:16px;gap:.35rem;padding:.8rem;display:grid}.check-result strong{color:var(--ink)}.check-result p{margin:0;line-height:1.55}.core-ops-page .metric-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.ops-workbench{align-items:start}.ops-record{align-items:stretch}.ops-record>div{min-width:0}.ops-record .inline-actions{margin-top:.8rem}.ops-record>span,.ops-editor-card .editor-head span{white-space:nowrap;align-self:flex-start}.ops-editor-card{border-radius:var(--radius)}.core-ops-page .full-field{margin-top:.75rem}.core-ops-page .toolbar input{min-width:min(320px,100%)}@media (width<=1100px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.two-column{grid-template-columns:1fr}}@media (width<=820px){.login-shell,.admin-shell{grid-template-columns:1fr}.login-panel{margin:0}.sidebar{position:static}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-hero{flex-direction:column;align-items:stretch}.form-grid{grid-template-columns:1fr}.record-card,.editor-head{flex-direction:column}}
