/* ATLAS / Chaiot. One component system, two intentional appearances. */
:root{color-scheme:light;--bg:#f3f6fb;--surface:#fff;--surface-soft:#f5f8fc;--glass:#ffffffd9;--ink:#20334c;--muted:#66788d;--faint:#8a9aab;--line:#e1e8f0;--accent:#2379e8;--accent-soft:#eaf3ff;--cyan:#079bb1;--cyan-soft:#e6f7f8;--amber:#b8791c;--amber-soft:#fff5e4;--shadow:0 5px 22px #18395507;--stage:#eaf1f8;--nav:var(--surface);--teal:var(--accent);--red:#bf5a49;--numeric-font:'DIN Alternate','SF Pro Display',-apple-system,BlinkMacSystemFont,sans-serif}
:root[data-theme=dark]{color-scheme:dark;--bg:#0b172a;--surface:#12243b;--surface-soft:#172d46;--glass:#13273ee6;--ink:#e3edf8;--muted:#9ab0c7;--faint:#7089a2;--line:#27415b;--accent:#54b3ff;--accent-soft:#1a3956;--cyan:#53d9e8;--cyan-soft:#173c4b;--amber:#f3b75b;--amber-soft:#3c3326;--shadow:0 8px 28px #030d1b26;--stage:#0d2036;--red:#f39583}
html,body,body.app-shell,body.login-shell,body.account-shell{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;color-scheme:inherit;font-size:13px;line-height:1.65}
body.app-shell:before,body.login-shell:before{display:none}*{scrollbar-color:var(--line) transparent}body a{color:var(--accent)}h1,h2,h3,h4{color:var(--ink)}button,input,select,textarea{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
/* Workspace shell: quiet navigation, clear context, compact working area. */
.app-shell aside{width:216px;padding:22px 16px;background:var(--surface);border-right:1px solid var(--line);box-shadow:none;display:flex;flex-direction:column;gap:0;overflow-y:auto}
.app-shell .brand{gap:9px;padding:0 5px 20px;color:var(--ink);border-bottom:1px solid var(--line)}.app-shell .brand .logo{width:32px;height:40px;min-width:32px;background:none;border:0;box-shadow:none}.app-shell .brand-name{font-size:19px;letter-spacing:1px;color:var(--ink)}.app-shell .brand-sub{color:var(--muted);font-size:10px;letter-spacing:0;margin-top:3px}.app-shell .dataset-picker{margin-top:19px}.app-shell .dataset-picker label{color:var(--muted);font-size:10px;font-weight:500;letter-spacing:.5px;margin-bottom:6px}.app-shell .picker-trigger,.app-shell #unit-select{width:100%;min-height:38px;padding:8px 11px;background:var(--surface-soft);color:var(--ink);border:1px solid var(--line);border-radius:9px;box-shadow:none;font-size:12px}.app-shell .picker-trigger:hover{background:var(--accent-soft);border-color:var(--accent)}
.app-shell .navlabel{font-size:10px;letter-spacing:1px;color:var(--faint);margin:27px 11px 12px}.app-shell aside nav a{font-size:12px;color:var(--muted);height:41px;padding:9px 12px;margin:0 0 5px;gap:12px;border:0;border-radius:9px;box-shadow:none;background:transparent}.app-shell aside nav a svg{width:17px;height:17px;filter:none;stroke-width:1.65}.app-shell aside nav a.active{color:var(--accent);background:var(--accent-soft);font-weight:600;box-shadow:none}.app-shell aside nav a:hover{color:var(--ink);background:var(--surface-soft)}.app-shell aside nav a b{font-size:10px;color:var(--amber);background:var(--amber-soft);padding:0 5px;border-radius:4px}.app-shell .sidefoot{margin-top:auto;padding-top:32px}.app-shell .engine{font-size:10px;color:var(--faint);border:0}.dot{background:var(--cyan);box-shadow:none}
.app-shell main{margin-left:216px;padding:0 30px 25px;max-width:1900px}.app-shell main>header{height:68px;border-bottom:1px solid var(--line);background:none}.app-shell .breadcrumb{font-size:12px;color:var(--muted)}.app-shell .breadcrumb strong{color:var(--ink);font-weight:500}.app-shell .breadcrumb span{color:var(--faint)}.app-shell .toptools{gap:10px}.app-shell .topdate{background:transparent;border:0;color:var(--muted);font-size:12px;padding:4px}.app-shell #fullscreen{color:var(--muted);background:none;border:0}.app-shell .toptools .button{font-size:11px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:6px 10px}
.app-shell .pagetitle{margin:25px 0 22px;gap:16px}.app-shell .pagetitle h1{font-size:25px!important;font-weight:600;letter-spacing:-.5px;color:var(--ink)!important;text-shadow:none}.app-shell .pagetitle p,.app-shell .live-context{font-size:12px;color:var(--muted);margin-top:6px}.app-shell .eyebrow{display:none}.app-shell .sectionhead{margin:22px 0 12px}.app-shell .sectionhead h2,.app-shell .sectiontop h2,.app-shell .panel h2{font-size:14px!important;letter-spacing:0;color:var(--ink)!important;font-weight:600}.app-shell .sectiontop>span{font-size:11px;color:var(--muted)}
/* Shared controls and appearance switch. */
.app-shell button,.app-shell .button,.account-shell button{border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);min-height:34px;padding:6px 12px;font-size:12px;box-shadow:none;transition:background .15s,border-color .15s,color .15s}.app-shell button:hover,.app-shell .button:hover,.account-shell button:hover{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.app-shell .primarybtn,.login-shell #submit,.account-shell button[type=submit]{background:#277ae8;border:1px solid #277ae8;color:#fff;box-shadow:0 3px 9px #2379e81a;font-weight:500}.app-shell .primarybtn:hover,.login-shell #submit:hover{background:#1967ce;color:white;border-color:#1967ce}
.app-shell input,.app-shell select,.app-shell textarea,.app-shell .filters input,.app-shell .hist-paramgrid input,.app-shell .hist-paramgrid select,.app-shell #hist-day,.app-shell #hist-search,.app-shell #hist-category,.app-shell #hist-saved,.login-shell input,.account-shell input,.account-shell select{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;font-size:12px;padding:8px 11px;color-scheme:inherit;box-shadow:none}.app-shell input::placeholder,.login-shell input::placeholder{color:var(--faint)}.app-shell input[type=checkbox]{accent-color:var(--accent)}
.appearance-switch{display:inline-flex;flex-shrink:0;gap:2px;background:var(--surface-soft);border:1px solid var(--line);border-radius:9px;padding:3px;vertical-align:middle}body .appearance-switch button,#digital-cockpit .appearance-switch button{border:0;box-shadow:none;border-radius:6px;min-height:27px;line-height:20px;padding:3px 11px;background:transparent;color:var(--muted);font-size:11px;white-space:nowrap}body .appearance-switch button[aria-pressed=true],#digital-cockpit .appearance-switch button[aria-pressed=true]{background:var(--surface);color:var(--accent);box-shadow:0 1px 5px #142c4810;font-weight:600}body .appearance-switch button:hover{color:var(--accent)}.login-appearance{position:fixed;right:32px;top:24px;z-index:5}
/* Data surfaces: generous rhythm with restrained metrics, no ornamental boxes. */
.app-shell .panel,.app-shell .finding-card,.app-shell .action-card,.account-shell .card{background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);backdrop-filter:none}.app-shell .panel{padding:20px}.app-shell .metrics{gap:14px;margin:20px 0}.app-shell .metrics article,.app-shell .metrics article:first-child,.app-shell .metrics article:nth-child(2),.app-shell .metrics article:nth-child(3),.app-shell .metrics article:nth-child(4){position:relative;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 20px;box-shadow:var(--shadow)}.app-shell .metrics article:after{display:none}.app-shell .metrics label{font-size:12px;color:var(--muted);font-weight:500}.app-shell .metrics strong{font:500 32px/1.5 var(--numeric-font);letter-spacing:-.7px;color:var(--ink);text-shadow:none}.app-shell .metrics article:nth-child(3) strong{color:var(--cyan)}.app-shell .metrics article:nth-child(4) strong{color:var(--amber)}.app-shell .metrics footer,.app-shell .metrics small{color:var(--faint);font-size:10px;border-color:var(--line)}.app-shell .hist-results-grid{gap:18px}.app-shell .dist-bar{height:9px;border-radius:5px;background:var(--surface-soft);overflow:hidden}.app-shell .dist-bar>span:first-child{background:var(--cyan)!important;box-shadow:none}.app-shell .dist-bar>span:nth-child(2){background:var(--amber)!important}.app-shell .dist-bar>span:nth-child(3){background:var(--faint)!important}.app-shell .dist-legend,.app-shell #hist-exclusions{font-size:12px;color:var(--muted)}.app-shell .hist-money-row{border-color:var(--line)}.app-shell .hist-money-row span{font-size:12px;color:var(--muted)}.app-shell .hist-money-row strong{font:500 25px/1.4 var(--numeric-font);color:var(--cyan)}.app-shell #hist-money .hist-money-row:nth-child(2) strong{color:var(--amber)}
.app-shell .badge,.app-shell .pill{background:var(--accent-soft);color:var(--accent);border:0;border-radius:6px;font-size:10px;padding:4px 8px}.app-shell .notice,.app-shell #hist-quality,.app-shell #import-audit{border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);color:var(--muted);font-size:12px;padding:11px 16px}.app-shell #hist-quality.warning,.app-shell .diagnosis-warning{background:var(--amber-soft);color:var(--amber);border:0;border-radius:8px;font-size:11px}.app-shell .hist-runbar{background:var(--accent-soft);border:1px solid var(--line);border-radius:10px;color:var(--ink);padding:16px}.app-shell #hist-progress{color:var(--ink);font-size:12px}.app-shell .dropzone{min-height:210px;background:var(--surface-soft);border:1px dashed var(--line);border-radius:12px}.app-shell .dropzone:hover,.app-shell .dropzone.dragging{background:var(--accent-soft);border-color:var(--accent)}.app-shell .dropzone b{font-size:14px;color:var(--ink)}.app-shell .dropzone small{color:var(--muted);font-size:11px}.app-shell .upload-icon{color:var(--accent)}.app-shell .published-runs{background:var(--surface);padding:14px 20px}.app-shell .published-runs h2{font-size:12px!important}.app-shell .hist-steps{display:flex;background:transparent;border:0;padding:13px 0 17px;margin:0;color:var(--muted);gap:20px;font-size:11px}.app-shell .hist-steps .selected{color:var(--accent)}.app-shell .hist-steps b{color:var(--faint)}.app-shell .date-line,.app-shell .date-line span,.app-shell .import-rule-link,.app-shell #file-list,.app-shell .filters span{color:var(--muted);font-size:12px}
.app-shell .hist-state,.app-shell .evidence-status,.app-shell .priority{border:0;border-radius:5px;padding:3px 7px;font-size:10px}.app-shell .hist-state,.app-shell .evidence-status.supported,.app-shell .priority-P2{background:var(--cyan-soft);color:var(--cyan)}.app-shell .hist-state.penalty,.app-shell .evidence-status.pending,.app-shell .priority-P1{background:var(--amber-soft);color:var(--amber)}.app-shell .hist-state.neutral,.app-shell .priority-P3{background:var(--surface-soft);color:var(--muted)}
.app-shell .tablewrap{border:0;border-radius:9px}.app-shell table th,.app-shell .finding-events table th{background:var(--surface-soft);border-color:var(--line);color:var(--muted);font-size:11px!important;font-weight:500;padding:11px 12px}.app-shell table td,.app-shell .hist-detail-scroll td{color:var(--ink);border-color:var(--line);padding:12px;font-size:12px!important;background:none}.app-shell tbody tr:nth-child(even){background:transparent}.app-shell tbody tr:hover,.app-shell .finding-events tbody tr[data-ai-row]:hover,.app-shell .finding-events tbody tr[data-ai-row]:focus-within{background:var(--accent-soft)}.app-shell .event-link,.app-shell .finding-events .event-link{color:var(--accent)}.app-shell .event-time,.app-shell #hist-rows small{font-size:10px;color:var(--muted)}.app-shell .value-negative{color:var(--amber)!important}.app-shell .pagination{border-color:var(--line);color:var(--muted);font-size:11px}.app-shell .hist-storage,.app-shell #hist-storage-status,.app-shell .reportfooter{color:var(--faint);border-color:var(--line);font-size:10px}
/* Evidence reading: conclusion on the left, a clearly actionable evidence list on the right. */
.app-shell .panel.hist-ai-panel,.app-shell #live-actions-output{background:transparent;box-shadow:none;border:0;padding:0}.app-shell .diagnosis-intro{background:var(--accent-soft);border:0;border-radius:12px;padding:22px 24px}.app-shell .diagnosis-intro h2{font-size:19px!important;color:var(--ink);margin:5px 0}.app-shell .diagnosis-intro p,.app-shell .section-kicker,.app-shell .diagnosis-scope{font-size:12px;color:var(--muted)}.app-shell .finding-list{gap:16px}.app-shell .finding-card{margin:0}.app-shell .finding-heading{min-height:58px;padding:14px 20px;background:transparent;border-color:var(--line);gap:12px}.app-shell .finding-heading h3{color:var(--ink)!important;font-size:15px!important;font-weight:600}.app-shell .finding-number{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-size:11px}.app-shell .finding-body{padding:20px;gap:28px;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.app-shell .finding-body h4{color:var(--muted)!important;font-size:11px!important;margin-bottom:10px!important}.app-shell .finding-body h4 span{font-size:10px;color:var(--faint)}.app-shell .finding-conclusion p,.app-shell .action-copy p{font-size:13px;line-height:1.9;color:var(--ink)}.app-shell .finding-events table td{padding:9px 10px}.app-shell .finding-events table th{padding:8px 10px}.app-shell .finding-evidence{margin:0 20px 15px}.app-shell .action-card{padding:20px;grid-template-columns:30px minmax(0,1fr);gap:15px}.app-shell .action-order{color:var(--accent);font-size:16px}.app-shell .diagnosis-reference{border:1px solid var(--line);background:var(--surface-soft);border-radius:9px}
.app-shell .footnote,.app-shell .hist-detail-note{color:var(--muted)!important;font-size:11px!important}.app-shell summary,.app-shell .quiet-details>summary,.app-shell .quiet-details p,.app-shell .quiet-details li,.app-shell .help-disclosure p{color:var(--muted);font-size:12px}.app-shell .quiet-details,.app-shell .hist-detail-scroll{border-color:var(--line)}.app-shell .hist-paramgrid label,.app-shell .hist-paramgrid small{color:var(--muted)}
/* Investigation and selectors use the same surface hierarchy in both themes. */
.app-shell #dialog.hist-event-dialog{width:min(1060px,94vw);background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 90px #06152b55;padding:22px}.app-shell #dialog::backdrop,.selection-dialog::backdrop{background:#08182b66;backdrop-filter:blur(5px)}.app-shell .hist-event-dialog h2,.app-shell .process-evidence h3,.app-shell .process-evidence h4{color:var(--ink)}.app-shell .hist-event-dialog #close{color:var(--muted);background:var(--surface-soft);border:0;border-radius:8px}.app-shell .detailgrid>div,.app-shell .metric-explanation,.app-shell .process-evidence{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;color:var(--muted)}.app-shell .detailgrid strong{color:var(--ink);font-family:var(--numeric-font)}.app-shell .process-switch button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.app-shell .hist-detail-plot svg text,.app-shell .process-evidence svg text{fill:var(--muted)}.app-shell .hist-detail-plot svg line{stroke:var(--line)}.app-shell .hist-detail-plot svg rect,.app-shell .process-evidence svg rect:first-of-type{fill:var(--cyan-soft)}.app-shell .process-evidence svg rect:nth-of-type(2){fill:var(--accent-soft)}.app-shell .hist-detail-plot svg path[stroke="#4cc9f0"]{stroke:var(--accent);filter:none}.app-shell .hist-detail-plot svg path[stroke="#edbd70"]{stroke:var(--amber)}.app-shell .process-evidence svg path[stroke="#67dace"]{stroke:var(--cyan)}
.app-shell .selection-dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 80px #07182e40}.app-shell .selection-heading h2,.app-shell #date-picker .selection-heading h2{color:var(--ink)}.app-shell .selection-dialog input,.app-shell #date-picker #date-search,.app-shell #date-picker #calendar-month{background:var(--surface-soft);color:var(--ink);border-color:var(--line)}.app-shell #date-picker .calendar-footer{background:var(--surface-soft);border-color:var(--line)}.app-shell #date-picker .calendar-day{color:var(--ink);background:transparent}.app-shell #date-picker .calendar-day:disabled{color:var(--faint);opacity:.5}.app-shell #date-picker .calendar-day.selected{background:var(--accent);color:var(--surface)}.app-shell #date-picker .calendar-day:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.app-shell #date-picker #date-latest{color:var(--accent)}.app-shell .date-result,.app-shell .unit-option,.app-shell .version-option{border-color:var(--line)!important;color:var(--ink)}.app-shell .unit-option.selected{background:var(--accent-soft)}.app-shell .picker-empty{color:var(--muted)}
.app-shell .rule-overview,.app-shell .rule-notice,.app-shell .rule-categories,.app-shell .rule-field{background:var(--surface);border-color:var(--line);color:var(--muted)}.app-shell .rule-overview b,.app-shell .rule-field-title label,.app-shell .rule-group-head h3{color:var(--ink)}.app-shell .rule-overview>div,.app-shell .rule-footer{border-color:var(--line)}.app-shell .rule-tabs{background:var(--surface-soft);border-color:var(--line)}.app-shell .rule-tabs button.selected,.app-shell .rule-categories button.selected{background:var(--accent-soft);color:var(--accent);border-color:var(--line)}.app-shell .rule-value input,.app-shell .rule-value textarea{background:var(--surface-soft);border-color:var(--line);color:var(--ink)}.app-shell .rule-readonly{color:var(--cyan)}.app-shell .rule-state{color:var(--amber);background:var(--amber-soft);border:0}.app-shell .rule-state.confirmed{color:var(--cyan);background:var(--cyan-soft)}
/* Digital campus: the scene is a stage, not another dashboard card. */
.app-shell.cockpit-mode main{margin:0;padding:0;max-width:none}.cockpit-mode aside,.cockpit-mode main>header{display:none}
#digital-cockpit{--screen-line:var(--line);padding:18px 24px 12px;background:var(--bg);color:var(--ink);isolation:isolate;position:relative}#digital-cockpit:before{display:none}.screen-header{grid-template-columns:1fr 1.2fr 1fr;border:0;padding-bottom:16px;gap:16px}.screen-header:after,.screen-title:before,.screen-title:after{display:none}.screen-brand{color:var(--ink);font-family:inherit;font-size:16px;font-weight:600;letter-spacing:.5px;gap:9px}.screen-brand small{color:var(--muted);font-size:9px;letter-spacing:.4px}.screen-brand .chaiot-mark{background:none;border:0;box-shadow:none;width:29px;height:36px}.screen-title h1{font-size:21px;color:var(--ink);letter-spacing:1px;font-weight:600;text-shadow:none;background:none;-webkit-text-fill-color:initial;filter:none}.screen-title p{font-size:11px;color:var(--muted);letter-spacing:0;font-family:inherit;margin-top:4px}.screen-tools{gap:12px;font-size:11px}#digital-cockpit a{color:var(--muted)}#digital-cockpit a:hover{color:var(--accent)}#digital-cockpit button{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:8px;box-shadow:none;font-size:11px;min-height:30px}#digital-cockpit button:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.campus-scope{display:flex;align-items:center;gap:16px;justify-content:space-between;margin:0;padding:10px 0;border-top:1px solid var(--line)}.scope-eyebrow{display:none}.campus-scope b{color:var(--ink);font-size:11px;font-weight:500}.scope-tabs{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}#digital-cockpit .scope-tabs button{border:0;background:transparent;box-shadow:none;color:var(--muted);font-size:11px;min-height:30px;padding:5px 16px;border-radius:7px}#digital-cockpit .scope-tabs button[aria-pressed=true]{background:var(--accent);color:var(--surface);box-shadow:0 2px 7px #1979d51a}.scope-tabs i{display:inline-block;width:4px;height:4px;margin-left:4px;border-radius:50%;background:var(--faint)}.scope-tabs i.connected{background:var(--cyan);box-shadow:none}.scope-tabs button[aria-pressed=true] i{background:var(--surface)}#scope-coverage{font-size:10px;color:var(--muted);max-width:270px}.screen-status{padding:0 0 10px;font-size:10px;color:var(--muted);line-height:1.5}.screen-status i{background:var(--cyan);box-shadow:none}
.screen-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:0 0 15px;box-shadow:var(--shadow);overflow:hidden}.screen-kpis article,.screen-kpis article:first-child{padding:11px 22px;border:0;border-right:1px solid var(--line);border-radius:0;background:none;box-shadow:none;backdrop-filter:none}.screen-kpis article:last-child{border:0}.screen-kpis article:after{display:none}.screen-kpis label{font-size:11px;color:var(--muted)}.screen-kpis label b{display:none}.screen-kpis strong{font:500 31px/1.25 var(--numeric-font);color:var(--ink);letter-spacing:-.5px;text-shadow:none;margin:3px 0}.screen-kpis small{font-size:9px;color:var(--faint)}.screen-kpis article:nth-child(3) strong{color:var(--cyan)}.screen-kpis article:nth-child(4) strong{color:var(--amber);text-shadow:none}
.screen-grid{position:relative;gap:14px;grid-template-columns:245px minmax(0,1fr) 265px;grid-template-areas:'hourly plant penalties' 'core plant ai' 'events events events';grid-template-rows:minmax(180px,1fr) minmax(180px,1fr) 136px}.screen-panel{padding:16px!important;border:1px solid var(--line);border-radius:12px;background:var(--glass);box-shadow:var(--shadow);backdrop-filter:blur(16px);overflow:hidden;min-height:0}.screen-panel:before,.screen-panel:after{display:none}.screen-panel h2{padding:0 0 11px;margin:0 0 8px;border-bottom:1px solid var(--line);font-size:12px;color:var(--ink);letter-spacing:0;font-weight:600}.screen-panel h2 small,.screen-panel h2 a{font-size:9px;color:var(--muted);font-weight:400}.screen-caption{font-size:10px;line-height:1.7;color:var(--muted);margin-top:8px}.screen-legend{font-size:9px;gap:10px;color:var(--accent)}.screen-legend span+span{color:var(--amber)}.screen-hourly svg{margin:8px 0;min-height:80px;max-height:155px}.screen-hourly svg text{fill:var(--muted)}.screen-hourly svg line{stroke:var(--line)}.screen-hourly svg rect[fill="#00cfe6"]{fill:var(--accent);filter:none}.screen-hourly svg rect[fill="#ffaa00"]{fill:var(--amber);filter:none}
.screen-plant{padding:0!important;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;overflow:visible;min-height:0}.screen-plant h2{position:absolute;top:3px;left:18px;border:0;z-index:1;pointer-events:none;font-size:11px;color:var(--muted)}.screen-plant h2 small{display:none}.plant-host{border-radius:22px;background:var(--stage);min-height:0;overflow:hidden;flex:1;box-shadow:inset 0 0 70px var(--bg)}.plant-toolbar{top:34px;left:14px;gap:5px}#digital-cockpit .plant-toolbar button{background:var(--glass);border:1px solid var(--line);color:var(--muted);padding:4px 8px;min-height:27px;font-size:9px;border-radius:7px}.plant-info{bottom:24px;left:15px;right:15px;padding:5px 8px;color:var(--muted);background:var(--glass);border:1px solid var(--line);border-radius:7px;font-size:9px;box-shadow:none}.plant-model-info{color:var(--faint);bottom:3px;right:15px}.plant-model-info[open]{color:var(--ink);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.plant-model-info p{color:var(--muted)}.plant-hud{background:var(--glass);border:1px solid var(--line);color:var(--accent);font-size:8px;right:13px;top:33px;box-shadow:none;letter-spacing:.2px}.plant-label{background:var(--glass)!important;border:1px solid var(--line)!important;color:var(--ink)!important;box-shadow:0 3px 12px #0c345914!important;border-radius:6px!important;font-size:9px!important}.plant-label.selected{color:var(--surface)!important;background:var(--accent)!important;border-color:var(--accent)!important;box-shadow:0 4px 16px #087ad230!important}.plant-label:after,.plant-label.selected:after{background:var(--accent);box-shadow:none}.plant-tooltip{background:var(--surface);border:1px solid var(--line);color:var(--ink);box-shadow:0 12px 40px #081e3a30;font-size:11px}.plant-loading{color:var(--accent)}.plant-process{border:0;background:var(--surface);border-radius:9px;color:var(--muted);font-size:10px;padding:9px 8px;margin:8px 8px 0}.plant-process b{color:var(--cyan);text-shadow:none}.plant-process:after{display:none}
.screen-orbit{width:142px;margin:-2px auto 0}.orbit-guide{stroke:var(--line);stroke-width:2}.orbit-track{stroke:var(--surface-soft);stroke-width:9}.orbit-ticks{stroke:var(--muted);opacity:.25}.orbit-value{stroke:var(--cyan);stroke-width:9;filter:none}.screen-orbit strong{font:500 29px/1.2 var(--numeric-font);color:var(--ink);text-shadow:none}.screen-orbit em{color:var(--muted);font-size:12px}.screen-orbit span{font-size:9px;color:var(--muted)}.screen-core-foot{color:var(--muted);border-color:var(--line);font-size:9px;padding-top:9px}.screen-core-foot b{color:var(--ink);font-size:11px;font-family:var(--numeric-font)}.screen-breakdown>div{margin:13px 0}.screen-breakdown label{color:var(--muted);font-size:11px}.screen-breakdown b{color:var(--ink);font-size:11px}.screen-bar{background:var(--surface-soft);height:5px;border-radius:5px;overflow:hidden}.screen-breakdown>div:first-child .screen-bar i{background:var(--amber)!important;box-shadow:none}.screen-breakdown>div:nth-child(2) .screen-bar i{background:#9caac0!important;box-shadow:none}.screen-money{border-color:var(--line);padding-top:10px;gap:10px}.screen-money label{color:var(--muted);font-size:9px}.screen-money strong{color:var(--cyan);font-size:16px;font-family:var(--numeric-font)}.screen-money label+label strong{font:12px/1.5 inherit;color:var(--amber)}.screen-penalties>.screen-caption{display:none}.screen-findings>div{padding:8px 0;gap:9px;border-color:var(--line)}.screen-findings>div>b{color:var(--accent);font-size:10px}.screen-findings p{color:var(--ink);font-size:11px;line-height:1.6}.screen-findings small{font-size:9px;color:var(--muted);margin-top:3px}.screen-ai>.screen-caption:last-child{display:none}.screen-no-ai{color:var(--muted)}
.screen-events{display:grid;grid-template-columns:125px minmax(0,1fr);align-items:center;gap:16px;background:transparent;border:0;box-shadow:none;padding:0!important;backdrop-filter:none}.screen-events h2{border:0;display:block;margin:0;font-size:12px}.screen-events h2 small{display:block;margin-top:6px;line-height:1.7}.screen-event-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;min-width:0}#digital-cockpit .screen-event-card{display:flex;flex-direction:column;align-items:stretch;padding:12px 14px;border:1px solid var(--line);background:var(--surface);border-radius:10px;text-align:left;min-width:0;box-shadow:var(--shadow)}.event-card-title{display:flex;justify-content:space-between;gap:5px;align-items:center}.event-card-title b{font-size:11px;color:var(--ink);font-weight:600}.event-card-title span{font-size:9px;color:var(--muted)}.event-card-value{font:500 22px/1.5 var(--numeric-font);color:var(--amber);letter-spacing:-.4px}.event-card-value small{font-size:11px;margin-left:2px}.event-card-foot{font-size:9px;color:var(--muted);display:flex;justify-content:space-between;gap:4px}.event-card-foot>span{color:var(--amber)}
.cockpit-dock{align-self:center;display:flex;justify-content:center;gap:6px;background:var(--glass);padding:5px;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);margin:6px auto 0;flex-shrink:0}.app-shell .cockpit-dock a{height:auto;display:flex;align-items:center;gap:8px;border:0;border-radius:9px;background:none;box-shadow:none;padding:9px 18px;margin:0;font-size:11px;color:var(--muted)}.app-shell .cockpit-dock a svg{width:16px;height:16px;filter:none;stroke-width:1.5}.app-shell .cockpit-dock a:hover{background:var(--accent-soft);color:var(--accent)}.screen-footer{color:var(--faint);font-size:9px;letter-spacing:0;margin-top:8px;font-family:inherit}.scope-missing .screen-panel:not(.screen-plant)>*{visibility:hidden}.scope-missing .screen-panel:not(.screen-plant):after{display:grid;place-items:center;content:'该机组尚未接入分析数据';position:absolute;inset:0;width:auto;height:auto;color:var(--muted);background:var(--surface-soft);border:0;border-radius:12px;font-size:12px}.scope-missing .screen-kpis small{visibility:hidden}
/* Dark cockpit is blue, not black. Material lighting changes with the theme. */
[data-theme=dark] .screen-kpis{background:#122a43;border-color:#294762}[data-theme=dark] .screen-panel:not(.screen-plant):not(.screen-events){border-color:#294762;box-shadow:inset 0 1px #72c6ff08,0 8px 24px #020e201a}[data-theme=dark] .screen-title h1{color:#e9f4ff}[data-theme=dark] .screen-kpis strong{color:#d1ecff}[data-theme=dark] .screen-kpis article:nth-child(3) strong{color:var(--cyan)}[data-theme=dark] .screen-kpis article:nth-child(4) strong{color:var(--amber)}[data-theme=dark] .orbit-value{filter:drop-shadow(0 0 5px #53d9e82b)}[data-theme=dark] .plant-label.selected{box-shadow:0 0 18px #34cfff30!important}[data-theme=dark] .screen-hourly svg rect[fill="#00cfe6"]{filter:drop-shadow(0 0 3px #54b3ff20)}
/* Account surfaces are part of the product, not a separate administrative skin. */
body.login-shell,body.account-shell{background:var(--bg);color:var(--ink)}body.login-shell:before{display:none}.login-shell .brand,.login-shell .brand b,.login-shell h1,.login-shell h2,.account-shell h1,.account-shell h2,.account-shell h3{color:var(--ink)}.login-shell .intro h1{font-size:44px;line-height:1.4;letter-spacing:-1px}.login-shell .intro>p,.login-shell .login-panel>p{color:var(--muted);font-size:14px;line-height:1.9}.login-shell .intro small{color:var(--faint)}.login-shell .eyebrow{color:var(--accent);letter-spacing:2px}.login-shell .flow{color:var(--muted);font-size:12px}.login-shell .flow i{color:var(--accent)}.login-shell .wave path{stroke:var(--accent);filter:none}.login-shell .login-panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 60px #15335b0c;padding:36px}.login-shell label,.account-shell label{color:var(--muted);font-size:12px}.login-shell input{min-height:44px}.login-shell #submit{min-height:44px;border-radius:8px;font-size:13px}.login-shell .trust{color:var(--faint);border-color:var(--line);font-size:10px}.login-shell #message,.account-shell #notice{color:var(--amber)}.account-shell .card{padding:24px}.account-shell .muted,.account-shell #identity{color:var(--muted)}.account-shell a{color:var(--accent)}.account-shell th{background:var(--surface-soft);color:var(--muted)}.account-shell td,.account-shell th,.account-shell header,.account-shell #grant-form{border-color:var(--line)}.account-shell #audit-card h2{background:var(--surface-soft)}.account-shell h2{font-size:16px}.account-shell .appearance-switch{margin-left:auto}
@media(min-width:1101px){#digital-cockpit.view-active{height:100dvh;min-height:900px;display:flex;flex-direction:column}.screen-grid{flex:1;min-height:0}.screen-plant{min-height:0}.plant-host{min-height:0}.screen-table{max-height:none}}
@media(min-width:1750px){#digital-cockpit{padding:22px 30px 12px}.screen-grid{grid-template-columns:280px minmax(0,1fr) 300px;gap:18px;grid-template-rows:minmax(190px,1fr) minmax(190px,1fr) 140px}.screen-kpis{margin-bottom:18px}.screen-kpis article{padding:13px 25px}.screen-kpis strong{font-size:35px}.screen-panel{padding:19px!important}.screen-plant,.screen-events{padding:0!important}.screen-panel h2{font-size:13px}.screen-orbit{width:165px}.screen-orbit strong{font-size:33px}.screen-findings p{font-size:12px}.screen-hourly svg{max-height:185px}.screen-event-card .event-card-value{font-size:24px}}
@media(max-width:1100px){.app-shell aside{width:190px;padding:18px 12px}.app-shell main{margin-left:190px;padding:0 22px 24px}.app-shell .brand-name{font-size:17px}.app-shell .brand-sub{font-size:9px}.app-shell .finding-body{grid-template-columns:1fr;gap:18px}.screen-header{grid-template-columns:1fr auto}.screen-brand{display:none}.screen-title{text-align:left}.screen-title h1{font-size:20px}.screen-grid{grid-template-columns:1fr 1fr;grid-template-areas:'plant plant' 'hourly core' 'penalties ai' 'events events';grid-template-rows:auto}.screen-plant{min-height:540px}.plant-host{min-height:450px}.campus-scope{flex-wrap:wrap}.scope-tabs{order:2;width:100%;justify-content:center}.screen-events{display:block}.screen-events h2{display:flex;margin-bottom:12px}.screen-event-list{grid-template-columns:repeat(3,minmax(0,1fr))}.screen-events h2 small{margin-top:0}.screen-tools{gap:8px}.screen-status{padding-top:7px}.screen-orbit{width:150px}.cockpit-dock{width:fit-content;flex-wrap:wrap}.screen-header .screen-tools a{font-size:11px}}
@media(max-width:800px){.app-shell aside{position:static;width:auto;padding:14px 16px;display:block;border:0;border-bottom:1px solid var(--line)}.app-shell .brand{border:0;padding:0 0 10px}.app-shell .dataset-picker{display:inline-block;width:calc(50% - 5px);vertical-align:top;margin-top:8px}.app-shell .dataset-picker+.dataset-picker{margin-left:6px}.app-shell .navlabel,.app-shell .sidefoot{display:none}.app-shell aside nav{display:flex;overflow-x:auto;gap:5px;padding-top:14px}.app-shell aside nav a{flex-shrink:0;height:34px;font-size:11px;padding:7px 10px;margin:0;gap:6px}.app-shell aside nav a svg{width:14px;height:14px}.app-shell main{margin:0;padding:0 16px 20px}.app-shell main>header{height:auto;min-height:58px;gap:8px;flex-wrap:wrap;padding:10px 0}.app-shell .toptools{gap:7px;flex-wrap:wrap}.app-shell .topdate{font-size:10px}.app-shell .breadcrumb{font-size:11px}.app-shell .pagetitle{margin:20px 0 16px}.app-shell .pagetitle h1{font-size:22px!important}.app-shell .metrics{gap:9px}.app-shell .metrics article{padding:14px}.app-shell .metrics strong{font-size:28px}.app-shell .panel{padding:16px}.app-shell .hist-steps{font-size:10px;gap:8px;flex-wrap:wrap}.app-shell .finding-heading{padding:12px 16px;flex-wrap:wrap}.app-shell .finding-heading h3{font-size:13px!important}.app-shell .finding-body{padding:16px}.app-shell .account-shell .cards{grid-template-columns:1fr}.login-appearance{top:16px;right:16px}.login-shell .login-panel{padding:26px}}
@media(max-width:600px){#digital-cockpit{padding:14px 12px}.screen-header{display:block}.screen-title h1{font-size:19px}.screen-tools{justify-content:flex-start;margin-top:12px}.screen-tools .appearance-switch{margin-right:auto}.screen-status{flex-wrap:wrap;font-size:9px;gap:4px}.screen-status>span:nth-child(2){display:none}.screen-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.screen-kpis article{padding:10px 15px;border-bottom:1px solid var(--line)}.screen-kpis article:last-child{grid-column:span 2}.screen-kpis strong{font-size:27px}.screen-grid{display:flex;flex-direction:column;gap:12px}.screen-plant{min-height:430px;order:-1}.plant-host{min-height:370px}.screen-panel{padding:16px!important;margin:0}.screen-plant,.screen-events{padding:0!important}.screen-event-list{grid-template-columns:repeat(2,minmax(0,1fr))}.screen-event-card:last-child{grid-column:span 2}.screen-events h2{display:flex;align-items:center}.screen-legend{font-size:10px}.screen-orbit{width:150px}.scope-tabs{gap:0;padding:3px;flex-wrap:wrap}#digital-cockpit .scope-tabs button{padding:5px 9px;min-height:34px;font-size:10px}.screen-hourly svg{max-height:190px}.plant-hud{display:none}.plant-toolbar{top:28px;left:8px}.plant-info{font-size:9px;left:8px;right:8px}.plant-process{font-size:9px;gap:4px;margin:7px 0 0}.app-shell .cockpit-dock{gap:2px;width:100%;padding:4px}.app-shell .cockpit-dock a{padding:8px;flex-direction:column;font-size:9px;gap:5px}.screen-footer{display:block;line-height:1.8}.screen-findings p{font-size:12px}.app-shell .appearance-switch button{min-height:30px}.account-shell header{flex-wrap:wrap}.account-shell .appearance-switch{margin-left:0}.account-shell main{padding:16px;margin:30px auto}.login-shell .intro h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}.plant-process:after{animation:none}}

/* Text and form surfaces explicitly override the former account shell. */
.app-shell .brand b,body.login-shell .brand,body.login-shell .brand b,body.login-shell h1,body.login-shell h2,body.account-shell h1,body.account-shell h2,body.account-shell h3{color:var(--ink);text-shadow:none}
body.login-shell .eyebrow{color:var(--accent)}body.login-shell label,body.account-shell label{color:var(--muted)}body.login-shell input,body.account-shell input,body.account-shell select{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink);color-scheme:inherit;box-shadow:none}body.login-shell .flow,body.login-shell .flow i{color:var(--accent)}body.login-shell .wave path{stroke:var(--accent);filter:none}body.login-shell .hint{color:var(--muted)}body.account-shell .muted,body.account-shell #identity{color:var(--muted)}body.account-shell a{color:var(--accent)}
.screen-ai{display:flex;flex-direction:column}.screen-ai>.screen-caption{margin:0 0 4px}.screen-findings{overflow:auto;min-height:0;flex:1}.screen-findings>div:last-child{border-bottom:0}.screen-plant h2{background:var(--glass);padding:3px 8px;border-radius:5px;top:3px;left:14px}.screen-hourly svg{max-height:155px;min-height:110px}.screen-hourly svg text{font-size:9px}
@media(max-width:1100px){.screen-findings{max-height:230px}}@media(max-width:600px){.screen-findings{max-height:none}}

body.login-shell .intro,body.account-shell main{color:var(--ink)}body.login-shell .intro h1,body.login-shell .intro .brand,body.login-shell .intro .brand b,body.login-shell .login-panel h2,body.account-shell .card h2,body.account-shell .card h3,body.account-shell header h1{color:var(--ink);text-shadow:none}
body.login-shell .login-panel input{background:var(--surface-soft);color:var(--ink);border-color:var(--line)}body.login-shell .login-panel label,body.account-shell .card label{color:var(--muted)}body.login-shell .intro .wave svg path{stroke:var(--accent);filter:none}body.login-shell .brand{display:flex;gap:12px;align-items:center;font-size:27px;letter-spacing:2px}body.login-shell .brand .chaiot-mark{display:inline-flex;width:42px;height:56px;background:none;border:0;box-shadow:none}body.login-shell .brand .chaiot-mark img{width:100%;height:100%;object-fit:contain}
body.account-shell table th{background:var(--surface-soft);color:var(--muted);border-color:var(--line)}body.account-shell table td{color:var(--ink);border-color:var(--line)}body.account-shell table tr:hover{background:var(--accent-soft)}body.account-shell #audit-card h2{background:var(--surface);color:var(--ink)}body.account-shell button[type=submit]{background:#277ae8;border:1px solid #277ae8;color:white;box-shadow:none}

:root{background:var(--bg);color:var(--ink)}body.account-shell header{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:16px}body.account-shell header>div:not(.appearance-switch){order:0}body.account-shell header .appearance-switch{order:1;margin-left:0}body.account-shell header>a{order:2}body.account-shell header>#logout{order:3}@media(max-width:750px){body.account-shell header{display:flex}body.account-shell header>div:not(.appearance-switch){flex-basis:100%}}
