:root{color:#172033;background:#f4f6fa;color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;margin:0;background:radial-gradient(circle at 12% 0%,rgba(48,125,92,.1),transparent 28rem),linear-gradient(180deg,#f8fafc,#f2f5f9 48%,#eef3f8)}button,input,select{font:inherit}button,a,input,select{transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease,transform .16s ease}button{min-height:2.75rem;border:0;border-radius:.5rem;cursor:pointer;font-weight:750}button:disabled{cursor:not-allowed;opacity:.62;transform:none}input,select{width:100%;min-height:2.75rem;border:1px solid #d8e0eb;border-radius:.5rem;background:#fff;color:#172033;padding:0 .8rem}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid rgba(48,125,92,.24);outline-offset:2px}h1,h2,h3,p{margin-top:0}h1{color:#11243a;font-size:clamp(1.85rem,2.4vw,2.45rem);letter-spacing:0;line-height:1.12;margin-bottom:.45rem}h2{color:#14283f;font-size:1.08rem;line-height:1.25;margin:0}h3{color:#14283f;font-size:1rem;line-height:1.25;margin:0 0 .3rem}p{color:#64748b;margin-bottom:0}a{color:#246b50;font-weight:700;text-decoration:none}a:hover{color:#174a39}.app-shell{display:grid;grid-template-columns:18rem minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:1.25rem;height:100vh;border-right:1px solid rgba(255,255,255,.12);background:#10243f;color:#fff;padding:1.3rem}.brand{display:flex;align-items:center;gap:.8rem;min-width:0}.brand.large{margin-bottom:1.35rem}.brand-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2.8rem;height:2.8rem;border-radius:.6rem;background:#f2a93b;color:#152033;font-weight:900;letter-spacing:0}.brand strong,.brand small{display:block}.brand strong{color:inherit;line-height:1.1}.brand small{color:#b9c7d9;margin-top:.15rem}.sidebar-status{display:flex;align-items:center;gap:.75rem;border:1px solid rgba(255,255,255,.12);border-radius:.75rem;background:#ffffff14;padding:.8rem}.sidebar-status strong,.sidebar-status small{display:block}.sidebar-status small{color:#b9c7d9;font-size:.78rem}.nav{display:grid;gap:1rem;overflow-y:auto;padding-right:.15rem}.nav-group{display:grid;gap:.35rem}.nav-group-label{color:#89a0bb;font-size:.72rem;font-weight:850;letter-spacing:.08em;padding:0 .75rem;text-transform:uppercase}.nav-link,.logout-button{display:flex;align-items:center;gap:.65rem;min-height:2.65rem;border-radius:.6rem;color:#e9f1fb;padding:0 .75rem;text-decoration:none}.nav-link:hover{background:#ffffff17}.nav-link.active{background:#f4f8ff;color:#10243f;box-shadow:0 .65rem 1.4rem #0000002e}.logout-button{margin-top:auto;background:#ffffff14}.workspace{min-width:0}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.2rem;border-bottom:1px solid rgba(218,226,237,.8);background:#f8fafcdb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:0 2rem}.topbar strong,.topbar span{display:block}.topbar span{color:#64748b;font-size:.88rem}.content{width:min(100%,90rem);margin:0 auto;padding:2rem}.page-stack{display:grid;gap:1.25rem}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.page-header-copy{max-width:48rem}.page-header-copy p{font-size:1rem}.page-header-actions,.panel-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.eyebrow{display:inline-flex;align-items:center;min-height:1.6rem;color:#246b50;font-size:.75rem;font-weight:850;letter-spacing:.08em;margin-bottom:.4rem;text-transform:uppercase}.panel,.metric-card,.login-panel{border:1px solid #e0e7f0;border-radius:.8rem;background:#ffffffeb;box-shadow:0 1rem 2.4rem #14283f12}.panel{display:grid;gap:1rem;min-width:0;padding:1rem}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.panel-header p{color:#64748b;font-size:.9rem;margin-top:.25rem}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.metrics-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;min-height:7.4rem;padding:1rem}.metric-icon{display:inline-flex;align-items:center;justify-content:center;width:2.55rem;height:2.55rem;border-radius:.7rem;background:#eef4fb;color:#42617f}.metric-card span,.metric-card strong,.metric-card small{display:block}.metric-card span{color:#64748b;font-size:.88rem;font-weight:750}.metric-card strong{color:#11243a;font-size:2rem;line-height:1.1;margin-top:.15rem}.metric-card small{color:#73839a;margin-top:.25rem}.metric-success .metric-icon{background:#e5f7ee;color:#1f7a4d}.metric-warning .metric-icon{background:#fff2d6;color:#9a5b10}.metric-info .metric-icon{background:#e7f1ff;color:#2365a8}.dashboard-grid,.management-layout,.config-layout,.list-layout{display:grid;align-items:start;gap:1rem}.dashboard-grid{grid-template-columns:minmax(0,1fr) 22rem}.management-layout{grid-template-columns:minmax(0,1fr) 24rem}.config-layout{grid-template-columns:22rem minmax(0,1fr)}.list-layout{grid-template-columns:minmax(0,1fr) 18rem}.side-stack,.management-side,.list-side{display:grid;gap:1rem;min-width:0}.health-list,.timeline-list,.scope-options{display:grid;gap:.65rem}.health-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;min-height:2.85rem;border:1px solid #e7edf4;border-radius:.65rem;padding:0 .8rem}.health-row span{color:#246b50}.health-row p{color:#31435a;font-weight:700}.timeline-list span{border-left:3px solid #d3e1ef;color:#334155;padding-left:.75rem}.primary-button,.secondary-button,.danger-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.75rem;border-radius:.5rem;padding:0 .95rem}.primary-button{background:#246b50;color:#fff}.primary-button:hover:not(:disabled){background:#1d5b43;transform:translateY(-1px)}.secondary-button{border:1px solid #cdd8e5;background:#fff;color:#17324f}.danger-button{background:#b3261e;color:#fff}.danger-button:hover:not(:disabled){background:#961f19}.secondary-button:hover:not(:disabled),.ghost-button:hover:not(:disabled){background:#f2f6fb}.ghost-button{border:1px solid transparent;background:transparent;color:#334155}.ghost-button.compact{min-height:2.35rem}.danger-text{color:#9d261d}.entity-tabs{display:inline-flex;align-items:center;gap:.3rem;width:fit-content;border:1px solid #d8e0eb;border-radius:.65rem;background:#fff;padding:.25rem}.entity-tab{display:inline-flex;align-items:center;min-height:2.25rem;border-radius:.45rem;color:#52627a;font-weight:800;padding:0 .8rem}.entity-tab.active{background:#e8f5ef;color:#1d5b43}.row-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:.35rem;white-space:nowrap}.crud-form-shell{display:grid;gap:1rem;min-width:0}.form-section{display:grid;gap:1rem;border:1px solid #e0e7f0;border-radius:.8rem;background:#ffffffeb;box-shadow:0 1rem 2.4rem #14283f12;padding:1rem}.form-section-header p{font-size:.9rem;margin-top:.2rem}.form-section-body{min-width:0}.checkbox-field{display:inline-flex;align-items:center;gap:.55rem;min-height:2.75rem;color:#31435a;font-weight:800}.checkbox-field input{width:1rem;min-height:1rem}.dialog-backdrop{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:#0f172a61;padding:1rem}.confirm-dialog{display:grid;gap:1.1rem;width:min(28rem,100%);border:1px solid #dbe5f0;border-radius:.85rem;background:#fff;box-shadow:0 1.8rem 4rem #0f172a3d;padding:1.1rem}.confirm-dialog p{margin-top:.35rem}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}.table-wrap{min-width:0;overflow-x:auto;border:1px solid #e0e7f0;border-radius:.7rem;background:#fff}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #edf2f7;padding:.82rem .9rem;text-align:left;vertical-align:middle;white-space:nowrap}th{background:#f8fafc;color:#5c6e84;font-size:.78rem;font-weight:850;letter-spacing:.02em;text-transform:uppercase}td{color:#26364a;font-size:.92rem}tbody tr:hover td{background:#fbfcfe}tbody tr:last-child td{border-bottom:0}.align-right{text-align:right}.align-center{text-align:center}.table-link{display:inline-flex;align-items:center;gap:.35rem;min-height:2rem}.inline-cell{display:inline-flex;align-items:center;gap:.45rem}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:1.75rem;border-radius:999px;padding:0 .65rem;font-size:.78rem;font-weight:850}.status-success{background:#e1f6ea;color:#12683d}.status-warning{background:#fff0d1;color:#8a4a00}.status-info{background:#e4f0ff;color:#15579a}.status-neutral{background:#eef2f7;color:#516176}.status-danger{background:#fde7e5;color:#9d261d}.empty-state{display:flex;align-items:center;gap:.75rem;min-height:5rem;border:1px dashed #c8d3e0;border-radius:.7rem;background:#fbfdff;color:#64748b;padding:1rem}.empty-state strong{display:block;color:#27384d}.empty-state p{font-size:.9rem}.empty-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2.4rem;height:2.4rem;border-radius:999px;background:#eef4fb;color:#42617f}.empty-action{margin-left:auto}.skeleton-list{display:grid;gap:.7rem;padding:1rem}.skeleton-row{height:2rem;border-radius:.45rem;background:linear-gradient(90deg,#edf2f7,#f7fafc,#edf2f7);background-size:220% 100%;animation:shimmer 1.2s linear infinite}@keyframes shimmer{0%{background-position:220% 0}to{background-position:-220% 0}}.form,.form-grid{display:grid;gap:.85rem}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:grid;gap:.4rem;color:#31435a;font-weight:800}.field small{color:#73839a;font-weight:500}.search-field{position:relative;display:flex;align-items:center;width:min(22rem,100%)}.search-field svg{position:absolute;left:.8rem;color:#7a8ba0;pointer-events:none}.search-field input{padding-left:2.2rem}.form-error{border:1px solid #f5c1bd;border-radius:.6rem;background:#fff4f2;color:#9d261d;font-weight:750;padding:.75rem .85rem}.form-note{border:1px solid #bfe7d0;border-radius:.6rem;background:#effaf4;color:#12683d;font-weight:750;padding:.75rem .85rem}.login-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(22rem,28rem);align-items:center;gap:4rem;min-height:100vh;padding:clamp(1.5rem,6vw,5rem)}.login-hero{max-width:42rem}.login-kicker{color:#246b50;font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.login-hero h1{font-size:clamp(2.2rem,5vw,4.3rem);margin:.7rem 0 1rem}.login-hero p{color:#52627a;font-size:1.08rem;max-width:36rem}.login-proof{display:inline-flex;align-items:center;gap:.55rem;border:1px solid #d5e3ee;border-radius:999px;background:#ffffffbd;color:#31435a;font-weight:750;margin-top:1.5rem;padding:.55rem .8rem}.login-panel{padding:1.25rem}.config-scope-panel{position:sticky;top:5.3rem}.config-editor-column{min-width:0}.scope-option{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;min-height:auto;border:1px solid #e0e7f0;border-radius:.75rem;background:#fff;color:#25364b;padding:.8rem;text-align:left}.scope-option span{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:.6rem;background:#eef4fb;color:#42617f}.scope-option strong,.scope-option small{display:block}.scope-option small{color:#6d7e93;font-weight:500}.scope-option.active{border-color:#246b506b;background:#effaf4;box-shadow:inset 0 0 0 1px #246b501f}.scope-option.active span{background:#246b50;color:#fff}.config-editor{padding-bottom:0}.config-section-grid{display:grid;gap:1rem}.settings-section{display:grid;gap:.9rem;border:1px solid #e7edf4;border-radius:.75rem;padding:1rem}.settings-section>div:first-child p{font-size:.9rem;margin-top:.2rem}.field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.input-suffix{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem}.input-suffix small{color:#64748b;min-width:2.6rem}.window-list{display:grid;gap:.7rem}.window-row{display:grid;grid-template-columns:minmax(8rem,1fr) auto minmax(8rem,1fr) auto;align-items:center;gap:.7rem}.grade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.grade-table-wrap{display:grid;gap:.5rem;min-width:0}.grade-table input{width:7rem}.sticky-actions{position:sticky;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:.75rem;border-top:1px solid #e0e7f0;background:#fffffff0;margin:0 -1rem;padding:1rem}.toast-viewport{position:fixed;right:1.25rem;bottom:1.25rem;z-index:100;display:grid;gap:.75rem;width:min(24rem,calc(100vw - 2rem));pointer-events:none}.toast{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:.75rem;border:1px solid #dbe5f0;border-left-width:4px;border-radius:.8rem;background:#fffffff7;box-shadow:0 1.1rem 2.6rem #14283f29;padding:.9rem;pointer-events:auto}.toast-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px}.toast-copy strong,.toast-copy p{display:block}.toast-copy strong{color:#172033;line-height:1.25}.toast-copy p{color:#64748b;font-size:.9rem;margin-top:.15rem}.toast-close{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;min-height:2rem;border-radius:.45rem;background:transparent;color:#64748b;padding:0}.toast-close:hover{background:#f2f6fb;color:#172033}.toast-success{border-left-color:#248a5a}.toast-success .toast-icon{background:#e1f6ea;color:#12683d}.toast-error{border-left-color:#b3261e}.toast-error .toast-icon{background:#fde7e5;color:#9d261d}.toast-info{border-left-color:#2e6faf}.toast-info .toast-icon{background:#e4f0ff;color:#15579a}@media(max-width:1180px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.management-layout,.config-layout,.list-layout{grid-template-columns:1fr}.config-scope-panel{position:static}}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:1rem}.nav{grid-template-columns:repeat(3,minmax(12rem,1fr));overflow-x:auto;padding-bottom:.35rem}.logout-button{display:none}.content,.topbar{padding-left:1rem;padding-right:1rem}.login-page{grid-template-columns:1fr;gap:2rem}}@media(max-width:720px){.page-header,.panel-header,.topbar,.sticky-actions{align-items:stretch;flex-direction:column}.metrics-grid,.metrics-grid.compact,.field-grid,.grade-grid,.form-grid.two,.window-row,.nav{grid-template-columns:1fr}.search-field{width:100%}.toast-viewport{right:1rem;bottom:1rem}}
