:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f7f6;color:#18201d;--surface: #ffffff;--surface-muted: #edf3f1;--line: #d8e2df;--text-muted: #5d6d67;--primary: #0f6f5c;--primary-dark: #09483c;--cyan: #087c89;--green: #1d8f5a;--yellow: #b78103;--red: #c24136;--grey: #68746f;--shadow: 0 18px 44px rgb(30 55 48 / 12%)}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{align-items:center;background:#fff;border-bottom:1px solid var(--line);display:flex;gap:16px;justify-content:space-between;min-height:72px;padding:12px 24px;position:sticky;top:0;z-index:10}.brand{align-items:center;display:flex;gap:12px;min-width:0}.brand svg,.brand img{color:var(--primary);flex:0 0 auto}.brand img{height:52px;width:44px}.brand div{display:grid;gap:2px;min-width:0}.brand strong{font-size:1.1rem}.brand span,.section-heading p,.detail-header p,.site-card span,.session-box span,.session-box small,.actor-card span,.report-panel span,.compact-list span,.command-result span,.command-result small,.schedule-row small{color:var(--text-muted)}.topbar-actions,.action-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.layout{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 72px)}.nav-text-hidden .layout{grid-template-columns:78px minmax(0,1fr)}.sidebar{background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:24px;padding:20px 16px}.sidebar-tools{display:grid;gap:8px}.desktop-nav-toggle,.mobile-nav-toggle{justify-content:flex-start;width:100%}.mobile-nav-toggle,.nav-text-hidden .nav-text,.nav-text-hidden .session-box{display:none}.nav-text-hidden .nav-item,.nav-text-hidden .desktop-nav-toggle{justify-content:center}.nav-text-hidden .desktop-nav-toggle{width:40px}.nav-text-hidden .sidebar-tools{justify-items:center}.sidebar nav{display:grid;gap:8px}.nav-item,.icon-button,.primary-button,.secondary-button{align-items:center;border-radius:8px;border:1px solid transparent;display:inline-flex;gap:8px;justify-content:center;min-height:40px;padding:9px 12px;text-decoration:none}.nav-item{background:transparent;color:#26312d;justify-content:flex-start;width:100%}.nav-item:hover,.nav-item.active{background:var(--surface-muted);color:var(--primary-dark)}.icon-button,.secondary-button{background:#fff;border-color:var(--line);color:#26312d}.primary-button{background:var(--primary);border-color:var(--primary);color:#f8fffc}.primary-button svg,.primary-button span{color:#f8fffc}.primary-button:hover{background:var(--primary-dark)}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.62}.secondary-button:hover,.icon-button:hover{border-color:var(--primary);color:var(--primary-dark)}.mobile-nav-toggle{display:none}.session-box{border-top:1px solid var(--line);display:grid;gap:4px;margin-top:auto;padding-top:16px}.content{min-width:0;padding:28px}section{display:grid;gap:20px}.section-heading,.detail-header{align-items:center;display:flex;gap:14px;justify-content:space-between}.section-heading{justify-content:flex-start}.section-topline{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.section-heading.compact{gap:10px}.section-heading svg,.loading svg{color:var(--cyan);flex:0 0 auto}h1,h2,p{margin:0}h1{font-size:clamp(1.6rem,1.4rem + .8vw,2.2rem);line-height:1.15}h2{font-size:1.1rem}.notice{background:#e8f5ef;border:1px solid #b8dfcf;border-radius:8px;color:#124f3f;margin-bottom:18px;padding:12px 14px}.notice.inline{margin:0}.detail-warning{align-items:stretch;border:1px solid var(--line);border-radius:8px;display:flex;justify-content:space-between;overflow:hidden}.warning-main{align-items:center;background:transparent;border:0;color:inherit;display:flex;flex:1;gap:10px;justify-content:flex-start;min-height:48px;padding:12px 14px;text-align:left}.warning-close{border-radius:0;border-width:0 0 0 1px}.warning-yellow{background:#fff8df;border-color:#ecd282;color:#6f4b00}.warning-red{background:#fff0ee;border-color:#f0bbb5;color:#84231d}.warning-grey{background:#f0f4f2;border-color:#cad7d2;color:#3f4b47}.metric-grid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card,.site-card,.actor-card,.report-panel,.confirm-panel,.command-result,.info-panel,.weather-panel,.history-panel,.schedule-panel,.anomaly-panel,.narrow-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.metric-card{color:inherit;display:grid;gap:10px;justify-items:start;min-height:138px;padding:16px;text-align:left;width:100%}.metric-button:hover,.metric-button:focus-visible,.site-card:hover,.site-card:focus-visible,.rating-row:hover,.rating-row:focus-within,.bar-button:hover,.bar-button:focus-visible{border-color:var(--primary);outline:3px solid rgb(15 111 92 / 18%)}.metric-card>span,.info-line span{color:var(--text-muted);font-size:.9rem}.metric-card strong{font-size:1.45rem}.metric-card div{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.9rem;font-weight:700;gap:6px;line-height:1;min-height:28px;padding:6px 9px;width:fit-content}.status-green{background:#e5f6ec;color:#12633a}.status-yellow{background:#fff2c7;color:#7a5200}.status-red{background:#fde7e4;color:#982a22}.status-grey{background:#eef1f0;color:#4e5b56}.object-grid,.actor-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.site-card{color:inherit;display:grid;gap:12px;justify-items:start;min-height:150px;padding:16px;text-align:left}.site-card div,.actor-card div,.report-panel div{display:grid;gap:4px}.split-grid,.public-grid{display:grid;gap:14px;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr)}.info-panel,.weather-panel,.history-panel,.schedule-panel,.anomaly-panel,.narrow-panel{padding:18px}.info-line{align-items:start;border-bottom:1px solid var(--line);display:grid;gap:10px;grid-template-columns:minmax(130px,.35fr) minmax(0,1fr);padding:11px 0}.info-line:last-child{border-bottom:0}.site-picker{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.site-picker span,.cascade-picker span,.filter-panel span{color:var(--text-muted);font-weight:700}.site-picker select,.cascade-picker select,.filter-panel select,input,textarea{background:#fff;border:1px solid var(--line);border-radius:8px;color:inherit;min-height:42px;padding:9px 11px}.site-picker select{min-width:min(420px,100%)}.cascade-picker{align-items:end;background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(180px,1fr));padding:14px}.filter-menu{display:grid;gap:4px;justify-items:end;min-width:180px;position:relative;z-index:8}.filter-menu small{color:var(--text-muted);font-size:.78rem;line-height:1.25;max-width:360px;text-align:right}.filter-toggle{min-width:120px}.filter-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:10px;margin-top:6px;padding:12px;position:absolute;right:0;top:100%;width:min(920px,calc(100vw - 56px))}.filter-dropdowns{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(150px,1fr))}.graph-picker{grid-column:1 / -1;grid-template-columns:repeat(4,minmax(160px,1fr))}.cascade-picker label,.filter-panel label,.filter-dropdowns label{display:grid;gap:6px}.filter-checks{display:flex;flex-wrap:wrap;gap:8px 14px}.filter-checkbox{align-items:center;align-self:center;display:flex!important;gap:8px!important;min-height:24px}.filter-checkbox input{min-height:16px;width:16px}.filter-checkbox span{font-size:.85rem}.table-wrap{background:#fff;border:1px solid var(--line);border-radius:8px;overflow-x:auto}table{border-collapse:collapse;min-width:720px;width:100%}th,td{border-bottom:1px solid var(--line);padding:13px 14px;text-align:left;vertical-align:middle}th{background:var(--surface-muted);color:#32423d;font-size:.9rem}td:first-child{display:grid;gap:3px}tr:last-child td{border-bottom:0}.bar-chart,.history-table{display:grid;gap:10px}.history-table summary{color:var(--primary-dark);cursor:pointer;font-weight:700}.bar-item{align-items:center;display:grid;gap:10px;grid-template-columns:88px minmax(0,1fr) 120px}.bar-button{background:transparent;border:1px solid transparent;border-radius:8px;color:inherit;padding:6px;text-align:left;width:100%}.bar-track{background:#e4ebe8;border-radius:999px;height:16px;overflow:hidden}.bar-fill{display:block;height:100%}.bar-fill.rating-green{background:var(--green)}.bar-fill.rating-yellow{background:var(--yellow)}.bar-fill.rating-red{background:var(--red)}.rating-list,.schedule-list,.compact-list,.rating-row-block{display:grid;gap:10px}.rating-row{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;color:inherit;display:grid;gap:12px;grid-template-columns:minmax(220px,1fr) 118px minmax(260px,1.5fr);min-height:72px;padding:14px;text-align:left}.rating-row.active{border-color:var(--primary);box-shadow:0 0 0 3px #0f6f5c24}.rating-object-button,.rating-copy-button,.review-subtext{background:transparent;border:0;color:inherit;padding:0;text-align:left}.rating-object-button{display:grid;gap:4px}.rating-object-button small,.rating-copy small,.review-subtext{color:var(--text-muted)}.rating-badge-slot{align-items:center;display:flex;justify-content:flex-start}.rating-copy{align-items:start;display:grid;gap:5px}.rating-copy-button{line-height:1.35}.review-subtext{color:var(--primary-dark);font-size:.93rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}.rating-detail-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:16px;margin-left:16px;padding:18px}.rating-detail-heading{align-items:start;display:flex;gap:12px;justify-content:space-between}.anomaly-panel,.form-grid{display:grid;gap:14px}.anomaly-panel.embedded{border:0;box-shadow:none;padding:0}.form-grid label,.anomaly-panel label{display:grid;gap:6px}.form-grid label span,.anomaly-panel label span{color:var(--text-muted);font-weight:700}.compact-list{list-style:none;margin:0;padding:0}.compact-list li{border-top:1px solid var(--line);display:grid;gap:4px;padding-top:10px}.protocol-list li{background:var(--surface-muted);border:1px solid var(--line);border-radius:8px;padding:12px}.consultant-answer{background:#fff;border-left:4px solid var(--primary);border-radius:6px;color:#26312d;line-height:1.5;padding:10px 12px}.inline-link{width:fit-content}.review-log,.control-surface{display:grid;gap:14px}.link-button{background:transparent;border:0;color:var(--primary-dark);font-weight:700;padding:0;text-decoration:underline}.actor-card,.confirm-panel,.command-result{display:grid;gap:14px;padding:16px}.confirm-details{background:var(--surface-muted);border-radius:8px;padding:0 12px}.command-result{border-color:#b8dfcf}.command-result span,.command-result small{color:var(--text-muted)}.schedule-row{align-items:end;background:#fff;border:1px solid var(--line);border-radius:8px;color:inherit;display:grid;gap:12px;grid-template-columns:minmax(110px,.6fr) minmax(180px,1fr) minmax(230px,1.2fr) minmax(130px,.7fr) minmax(150px,.8fr) auto;padding:14px}.schedule-read-row{align-items:center;grid-template-columns:minmax(180px,1.2fr) repeat(4,minmax(130px,1fr)) auto}.schedule-edit-row{grid-template-columns:minmax(110px,.7fr) minmax(160px,1fr) minmax(220px,1.3fr) 112px 112px minmax(210px,1.2fr) minmax(140px,.9fr) auto}.schedule-read-row .info-line{border-bottom:0;gap:4px;grid-template-columns:1fr;padding:0}.schedule-read-row>div:first-child{display:grid;gap:6px}.schedule-read-row>div:first-child small{display:block}.schedule-actions{align-items:center;display:flex;gap:6px}.icon-only-button{min-width:40px;padding-inline:9px}.schedule-row label,.schedule-toggle{display:grid;gap:6px}.schedule-row label span,.day-selector legend{color:var(--text-muted);font-size:.9rem;font-weight:700}.schedule-toggle{align-items:center;grid-template-columns:auto 1fr;min-height:42px}.schedule-toggle input,.day-selector input{min-height:20px;width:20px}.day-selector{border:0;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}.day-selector legend{flex:0 0 100%}.day-selector label{align-items:center;background:var(--surface-muted);border:1px solid var(--line);border-radius:8px;display:inline-flex;gap:4px;padding:6px 8px}.actor-multiselect{position:relative}.actor-multiselect summary{background:#fff;border:1px solid var(--line);border-radius:8px;cursor:pointer;min-height:42px;padding:9px 11px}.actor-multiselect>div{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:6px;margin-top:6px;min-width:260px;padding:8px;position:absolute;z-index:5}.actor-option{align-items:center;border-radius:6px;display:grid!important;gap:6px!important;grid-template-columns:auto minmax(0,1fr) auto;padding:6px}.actor-option.disabled{color:var(--text-muted);opacity:.45}.report-panel{align-items:center;display:flex;gap:14px;justify-content:space-between;padding:18px}.report-logo{flex:0 0 auto;height:78px;object-fit:contain;width:64px}.timeseries-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);margin-top:24px;padding:18px}.graph-toolbar{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(240px,1.2fr) minmax(180px,.8fr) minmax(170px,.7fr)}.segmented-control{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.segment{background:#fff;border:1px solid var(--line);border-radius:8px;color:#26312d;min-height:38px;padding:8px 10px}.segment.active{background:var(--primary);border-color:var(--primary);color:#fff}.compact-field{display:grid;gap:6px}.compact-field span{color:var(--text-muted);font-weight:700}.timeseries-chart{align-items:end;background:linear-gradient(180deg,#f8faf9,#edf3f1);border:1px solid var(--line);border-radius:8px;display:grid;gap:6px;grid-auto-flow:column;grid-auto-columns:minmax(28px,1fr);min-height:260px;overflow-x:hidden;padding:18px 14px 12px}.timeseries-bar{align-items:center;background:transparent;border:0;color:inherit;display:grid;gap:8px;grid-template-rows:minmax(120px,1fr) auto;justify-items:center;min-width:42px;padding:0;position:relative;text-align:center}.timeseries-bar i{align-self:end;border-radius:6px 6px 0 0;display:block;min-height:8px;width:22px}.timeseries-bar span{color:var(--text-muted);font-size:.78rem;writing-mode:vertical-rl}.timeseries-bar b{background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);color:#18201d;font-size:.78rem;font-weight:700;left:50%;opacity:0;padding:6px 8px;pointer-events:none;position:absolute;top:-34px;transform:translate(-50%);white-space:nowrap;z-index:4}.timeseries-bar:hover b,.timeseries-bar:focus-visible b{opacity:1}.timeseries-chart.horizon-1d,.timeseries-chart.horizon-1m{grid-auto-columns:minmax(18px,1fr);gap:3px;padding-inline:10px}.timeseries-chart.horizon-1d .timeseries-bar,.timeseries-chart.horizon-1m .timeseries-bar{min-width:28px}.timeseries-chart.horizon-1d .timeseries-bar i,.timeseries-chart.horizon-1m .timeseries-bar i{width:14px}.narrow-panel{margin:0 auto;max-width:520px;width:100%}.loading{align-items:center;color:var(--text-muted);display:flex;gap:10px;min-height:180px}@media(max-width:1100px){.metric-grid,.object-grid,.actor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-grid,.public-grid,.graph-toolbar{grid-template-columns:1fr}.filter-dropdowns,.cascade-picker,.graph-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.rating-row{grid-template-columns:minmax(0,1fr)}.schedule-row,.schedule-read-row,.schedule-edit-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.topbar{align-items:flex-start;flex-direction:column}.layout{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);gap:12px;padding:12px 16px}.desktop-nav-toggle{display:none}.mobile-nav-toggle{display:inline-flex}.mobile-nav-minimized .mobile-nav-toggle{width:40px}.mobile-nav-minimized .mobile-nav-toggle .nav-text{display:none}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-nav-minimized .sidebar nav,.mobile-nav-minimized .session-box{display:none}.nav-text-hidden .layout{grid-template-columns:1fr}.nav-text-hidden .nav-text{display:inline}.content{padding:18px}.section-topline{align-items:stretch;flex-direction:column}.filter-menu{justify-items:start;width:100%}.filter-menu small{max-width:none;text-align:left}.filter-panel{position:static;width:100%}.metric-grid,.object-grid,.actor-grid{grid-template-columns:1fr}.detail-header,.report-panel{align-items:flex-start;flex-direction:column}.timeseries-chart{min-height:220px}.bar-item{grid-template-columns:76px minmax(0,1fr)}.bar-item strong{grid-column:2}.info-line{grid-template-columns:1fr}.rating-detail-panel{margin-left:0}.filter-dropdowns,.cascade-picker,.graph-picker,.schedule-row,.schedule-read-row,.schedule-edit-row{grid-template-columns:1fr}.actor-multiselect>div{position:static}}
