:root{color:#1c2a2c;background:#f5f7f4;font-family:Inter,PingFang SC,Microsoft YaHei,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}.auth-shell,.auth-loading{min-height:100vh;padding:28px;display:grid;place-items:center;background:linear-gradient(90deg,rgba(43,94,98,.07) 1px,transparent 1px),linear-gradient(rgba(43,94,98,.07) 1px,transparent 1px),#eef3f0;background-size:34px 34px}.auth-loading{align-content:center;gap:12px;color:#28494b}.auth-panel{width:min(470px,100%);border:1px solid #cddbd6;border-top:5px solid #266d72;border-radius:8px;padding:26px;background:#fff;box-shadow:0 24px 60px #162b2c2e;transition:width .16s ease}.auth-panel.register-mode{width:min(760px,100%)}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.auth-brand>span{width:46px;height:46px;border-radius:8px;display:inline-grid;place-items:center;color:#fff;background:#203a3d}.auth-brand h1,.auth-brand p,.auth-heading strong,.auth-heading small{margin:0}.auth-brand h1{font-size:22px}.auth-brand p{margin-top:3px;color:#71817f;font-size:13px}.auth-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:20px}.auth-tabs button{min-height:42px;border:1px solid #d4dfda;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#385254;background:#f5f8f6;font-weight:800}.auth-tabs button.selected{border-color:#266d72;color:#fff;background:#266d72}.auth-form{display:grid;gap:14px}.register-form{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-heading{display:flex;align-items:center;gap:10px;margin-bottom:2px}.auth-heading>span{width:34px;height:34px;border-radius:8px;display:inline-grid;place-items:center;color:#28666a;background:#e7f1ee}.auth-heading>div{display:grid;gap:2px}.auth-heading strong{font-size:17px}.auth-heading small{color:#71817f}.auth-form label{display:grid;gap:6px;color:#526664;font-size:13px;font-weight:800}.auth-form input{width:100%;min-height:44px;border:1px solid #cfdad5;border-radius:8px;padding:9px 11px;color:#1e3032;background:#fbfcfb;outline:none}.auth-form input:focus{border-color:#47888a;box-shadow:0 0 0 3px #47888a21}.full-row{grid-column:1 / -1}.auth-submit{min-height:46px;border:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#fff;background:#1f656a;font-weight:800}.auth-message{margin:0;border-radius:7px;padding:9px 11px;font-size:13px;font-weight:700}.auth-message.success{color:#2d7045;background:#e9f5ed}.auth-message.error{color:#a43f38;background:#fbeae8}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:100vh}.sidebar{--sidebar-level-one: 16px;--sidebar-level-two: 15px;--sidebar-level-three: 13px;position:sticky;top:0;height:100vh;overflow-y:auto;background:#172326;color:#f8fbf8;padding:20px;display:flex;flex-direction:column;gap:12px}.brand{display:flex;align-items:center;gap:12px;min-height:52px}.brand h1,.brand p,.warehouse-header h2,.warehouse-header p{margin:0}.brand h1{font-size:20px}.brand p{color:#acc2bb;font-size:13px;margin-top:3px}.workspace{padding:24px;background:linear-gradient(90deg,rgba(40,103,110,.06) 1px,transparent 1px),linear-gradient(rgba(40,103,110,.05) 1px,transparent 1px),#f5f7f4;background-size:34px 34px}.notice{display:flex;align-items:center;gap:8px;background:#fff1d6;border:1px solid #edc56d;color:#6b4a00;border-radius:8px;padding:10px 12px;margin-bottom:14px}.panel{background:#fffffff0;border:1px solid #dfe6dc;border-radius:8px;padding:16px;box-shadow:0 16px 36px #24353114}.sidebar .panel{background:#ffffff14;border-color:#ffffff21;box-shadow:none}.panel.compact{padding:14px}.sidebar-section{flex:0 0 auto}.sidebar-section .panel-title{margin-bottom:12px;font-size:var(--sidebar-level-one)}.sidebar-section-title .sidebar-count{margin-left:auto}.sidebar-count{min-width:26px;padding:3px 7px;border-radius:6px;color:#cfe5df;background:#ffffff1f;font-size:12px;text-align:center}.panel-title{display:flex;align-items:center;gap:8px;font-weight:800;margin-bottom:14px}.panel-title .icon-button{margin-left:auto}.icon-button{width:32px;height:32px;border:0;border-radius:8px;display:inline-grid;place-items:center;background:#ffffff24;color:inherit}.icon-button.light{color:#345052;background:#edf5f2}.sidebar-action{width:100%;min-height:38px;border:1px solid rgba(255,255,255,.18);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#f8fbf8;background:#ffffff1a;font-size:var(--sidebar-level-two);font-weight:800;margin-bottom:12px}.sidebar-action.solid{background:#2f7478;border-color:#2f7478;margin-bottom:0}.park-filter{display:grid;gap:6px;margin-bottom:10px;color:#bed0cb;font-size:var(--sidebar-level-three);font-weight:800}.park-filter select{width:100%;min-height:38px;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:0 10px;color:#f8fbf8;background:#2b393b;font-size:var(--sidebar-level-two)}.function-menu{display:grid;grid-template-columns:1fr;gap:8px}.function-menu button{min-height:44px;border:1px solid rgba(255,255,255,.16);border-radius:8px;display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:9px 12px;color:#f8fbf8;background:#ffffff14;font-size:var(--sidebar-level-two);font-weight:800;line-height:1.3;text-align:left}.function-menu button:hover{border-color:#76b9aa;background:#76b9aa24}.function-menu button.selected{border-color:#6eb4a6;background:#2f7478}.sidebar-empty{margin:4px 0;color:#aebfbb;font-size:var(--sidebar-level-three);text-align:center}.sidebar-user{margin-top:auto;min-height:60px;border:1px solid rgba(255,255,255,.13);border-radius:8px;display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:9px;padding:10px;background:#ffffff14}.sidebar-user-icon,.sidebar-user>button{width:34px;height:34px;border-radius:8px;display:inline-grid;place-items:center}.sidebar-user-icon{color:#bfe0d7;background:#8fd3bd1f}.sidebar-user>div{min-width:0;display:grid;gap:3px}.sidebar-user strong,.sidebar-user span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user strong{font-size:14px}.sidebar-user>div span{color:#afc2bd;font-size:11px}.sidebar-user>button{border:0;color:#f4fbf8;background:#ffffff1a}.warehouse-create{display:grid;gap:9px;margin-bottom:14px}.warehouse-create label{display:grid;gap:5px;color:#c7d8d3;font-size:12px;font-weight:700}.warehouse-create input{min-height:34px;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:6px 8px;color:#f8fbf8;background:#ffffff1a}.warehouse-size-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:24px;background:#0e1b1d7a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-panel{width:min(680px,100%);border:1px solid #d7e2df;border-radius:8px;background:#fbfdfb;box-shadow:0 28px 70px #0f202347;padding:22px}.data-modal{width:min(1180px,100%);max-height:88vh;overflow:auto}.modal-header,.modal-actions,.park-header,.park-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}.modal-header{margin-bottom:18px}.modal-header h2,.park-header h2{margin:0;font-size:26px}.modal-close{width:36px;height:36px;border:1px solid #dbe5e1;border-radius:8px;color:#345052;background:#fff;display:inline-grid;place-items:center}.modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.modal-grid label{display:grid;gap:6px;color:#596a68;font-size:13px;font-weight:800}.modal-grid input,.modal-grid select{width:100%;min-height:42px;border:1px solid #d5ded9;border-radius:8px;padding:9px 11px;background:#fff;color:#1c2a2c}.modal-actions{justify-content:flex-end;margin-top:20px}.secondary-action{min-height:42px;border:1px solid #d5ded9;border-radius:8px;padding:0 18px;color:#2f484a;background:#fff;font-weight:800}.wide-action{width:100%;margin-top:14px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.modal-primary{width:auto;min-width:142px;margin-top:0;padding:0 18px}.data-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:16px}.data-tabs button{min-height:38px;border:1px solid #d9e2dd;border-radius:8px;color:#2c3a3b;background:#f8faf8;font-weight:800}.data-tabs button.selected{border-color:#1f656a;color:#fff;background:#1f656a}.data-list{display:grid;gap:10px}.data-row{display:grid;grid-template-columns:1fr 1fr 84px;gap:8px;align-items:center;border:1px solid #e1e8e4;border-radius:8px;padding:10px;background:#fff}.park-data-row{grid-template-columns:1fr 1fr 84px 84px}.park-new-row{border-left:3px solid #2b7579;background:#f6faf8}.park-data-row button{display:inline-flex;align-items:center;justify-content:center;gap:5px}.park-data-message{margin:0;border-left:3px solid #d69c20;padding:8px 10px;color:#62542c;background:#fff8e5;font-size:13px;font-weight:700}.warehouse-data-row{grid-template-columns:1fr 1.2fr 1.4fr 76px 76px 76px minmax(190px,1.5fr) 76px}.handled-toggle{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #d5ded9;border-radius:8px;color:#455a59;background:#f8faf8;font-size:12px;font-weight:800;white-space:nowrap}.handled-toggle input{width:16px;min-height:0;height:16px}.people-data-row{grid-template-columns:1fr 1fr 1fr 1.4fr 76px 76px}.module-data-row{grid-template-columns:34px 1fr repeat(8,72px) 76px;overflow-x:auto}.data-row input,.data-row select{width:100%;min-height:36px;border:1px solid #d5ded9;border-radius:8px;padding:7px 9px;background:#fff;color:#1c2a2c}.data-row button{min-height:36px;border:0;border-radius:8px;color:#fff;background:#1f656a;font-weight:800}.danger-text{color:#b14c45!important;background:#fff1ef!important;border:1px solid #efd4d0!important}.ownership-manager,.ownership-account-list{display:grid;gap:14px}.ownership-create,.ownership-account{border:1px solid #dce5e1;border-radius:8px;padding:14px;background:#fff}.ownership-create{border-left:3px solid #2b7579;background:#f7faf8}.ownership-section-title,.ownership-account-head,.ownership-actions,.owned-device-state,.owned-device-actions{display:flex;align-items:center}.ownership-section-title{gap:9px;margin-bottom:12px;color:#245e62}.ownership-section-title div,.ownership-account-head div{display:grid;gap:2px}.ownership-section-title span,.ownership-account-head span{color:#71807e;font-size:12px}.ownership-account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.ownership-account-grid label{display:grid;gap:5px;color:#5c6d6b;font-size:12px;font-weight:800}.ownership-account-grid input,.owned-device-row input{width:100%;min-height:38px;border:1px solid #d4dfda;border-radius:8px;padding:8px 10px;color:#1c2a2c;background:#fff}.ownership-account-grid input:disabled,.owned-device-row input:disabled{color:#73817f;background:#edf2ef}.ownership-check{min-height:38px;grid-auto-flow:column;grid-template-columns:auto 1fr;align-items:center;justify-content:start;gap:7px!important;padding:0 9px;border:1px solid #dce4df;border-radius:8px;background:#f6f9f7}.ownership-check input{width:16px;height:16px;min-height:0;padding:0}.ownership-primary,.ownership-actions button,.owned-device-row button{min-height:38px;border:0;border-radius:8px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#fff;background:#216b70;font-weight:800}.ownership-primary{margin-top:11px}.ownership-primary:disabled,.ownership-actions button:disabled,.owned-device-row button:disabled{cursor:wait;opacity:.58}.ownership-message{margin:0;border-left:3px solid #d69c20;padding:9px 11px;color:#62542c;background:#fff8e5;font-size:13px;font-weight:700}.ownership-account-head{justify-content:space-between;gap:12px;margin-bottom:11px}.ownership-account-head strong{font-size:17px}.ownership-account-head span.ok{color:#2f7a51}.ownership-account-head span.failed{color:#b94f46}.ownership-device-count{flex:0 0 auto;border-radius:8px;padding:6px 9px;color:#315d60!important;background:#e9f2ef;font-weight:800}.ownership-actions{justify-content:flex-end;gap:8px;margin:11px 0 13px}.owned-device-table{border-top:1px solid #dfe7e3;padding-top:10px;overflow-x:auto}.owned-device-row{min-width:900px;display:grid;grid-template-columns:1.1fr 1.1fr 1.3fr 1.2fr 92px;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid #edf1ef}.owned-device-header{padding:2px 9px 7px;color:#6a7a77;font-size:12px;font-weight:800}.owned-device-new{background:#f7faf8}.owned-device-state{align-items:stretch;gap:6px}.owned-device-state>span{min-width:0;display:inline-flex;align-items:center;gap:4px;color:#61706e;font-size:12px}.owned-device-actions{justify-content:flex-end;gap:6px}.owned-device-actions button{width:38px;padding:0}.cluster-list{display:grid;gap:10px;max-height:290px;overflow-y:auto;padding-right:2px}.warehouse-card{text-align:left;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:#f8fbf8;border-radius:8px;padding:12px;display:grid;gap:6px}.warehouse-card strong{font-size:var(--sidebar-level-two)}.warehouse-card.active{border-color:#8fd3bd;background:#8fd3bd29}.warehouse-card span{color:#bfd1cc;font-size:var(--sidebar-level-three)}.operations-modal{width:min(1040px,100%);max-height:calc(100vh - 48px);overflow-y:auto}.operations-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.operations-list{display:grid;gap:10px}.handling-feedback{margin:0 0 12px;border-left:4px solid #2d7878;padding:9px 11px;color:#315d5e;background:#edf5f2;font-size:13px;font-weight:800}.exception-list{display:grid;gap:12px}.exception-card{border:1px solid #dce4e1;border-left:4px solid #c94b43;border-radius:8px;padding:14px;background:#fff}.exception-card-header{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:12px}.exception-card-header>div{min-width:0;display:grid;gap:3px}.exception-card-header>div span{color:#6b7b79;font-size:12px}.handling-status{border-radius:6px;padding:5px 8px;font-size:12px;font-weight:800}.handling-status.pending{color:#a3630a;background:#fff1cf}.handling-status.handled{color:#2e7147;background:#e6f4ea}.exception-auto-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.exception-auto-grid>div{min-width:0;border:1px solid #e1e8e5;border-radius:7px;display:grid;gap:4px;padding:9px 10px;background:#f7f9f8}.exception-auto-grid span{color:#71817f;font-size:11px}.exception-auto-grid strong{overflow-wrap:anywhere;color:#293e40;font-size:13px}.exception-card-footer{display:grid;grid-template-columns:auto minmax(180px,1fr) 92px 100px;align-items:end;gap:10px;margin-top:11px}.handling-method-select{display:grid;gap:5px;color:#617371;font-size:11px;font-weight:800}.handling-method-select select{width:100%;min-height:36px;border:1px solid #cfdad6;border-radius:7px;padding:6px 9px;color:#263d3f;background:#fff;font-weight:700}.primary-row-action{min-height:36px;border:1px solid #1f656a;border-radius:8px;color:#fff;background:#1f656a;font-weight:800}.handling-history{margin-top:20px;border-top:1px solid #dde5e2;padding-top:16px}.handling-history-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.handling-history-title h3{margin:0;font-size:16px}.handling-history-title span{color:#687a78;font-size:12px;font-weight:800}.handling-history-list{display:grid;gap:7px}.handling-history-list article{display:grid;grid-template-columns:minmax(220px,1fr) 100px 90px 150px;align-items:center;gap:10px;border-bottom:1px solid #e4e9e7;padding:9px 4px;color:#526664;font-size:12px}.handling-history-list article>div{display:grid;gap:3px}.handling-history-list article strong{color:#293e40;font-size:13px}.handling-history-list article time{text-align:right}.handling-history-empty{margin:0;padding:16px;color:#6c7c7a;background:#f5f8f6;text-align:center}.exception-page{min-height:calc(100vh - 48px);display:flex;flex-direction:column;gap:16px}.feature-page-header{min-height:86px;display:flex;align-items:end;justify-content:space-between;gap:20px;border-bottom:1px solid #d6e0dc;padding-bottom:18px}.feature-page-header h2,.feature-page-header p{margin:0}.feature-page-header h2{font-size:30px}.feature-page-header>div:first-child>span{display:block;margin-top:6px;color:#687a78;font-size:13px}.feature-page-live{display:inline-flex;align-items:center;gap:7px;color:#5e716f;font-size:12px;font-weight:800}.feature-page-live>span{width:9px;height:9px;border-radius:50%;background:#3c9561;box-shadow:0 0 0 4px #3c95611f}.feature-tabs{width:min(520px,100%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.feature-tabs button{min-height:44px;border:1px solid #cfdbd7;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#3b5354;background:#fff;font-weight:800}.feature-tabs button>span{min-width:24px;border-radius:6px;padding:2px 6px;color:#7a5b11;background:#fff0c8;font-size:12px}.feature-tabs button.selected{border-color:#236c70;color:#fff;background:#236c70}.feature-tabs button.selected>span{color:#22565a;background:#d9efea}.page-feedback{margin-bottom:0}.exception-page-summary,.record-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.exception-page-summary .stat,.record-summary-grid .stat{min-height:76px;display:grid;align-content:center}.page-exception-list{padding-bottom:28px}.page-empty{min-height:260px}.record-query-bar{min-height:58px;border-top:1px solid #d9e2de;border-bottom:1px solid #d9e2de;display:grid;grid-template-columns:auto 190px 1fr;align-items:center;gap:12px;padding:8px 0}.record-period-control{display:grid;grid-template-columns:repeat(2,76px);gap:6px}.record-period-control button{min-height:38px;border:1px solid #cedbd6;border-radius:7px;color:#40595a;background:#fff;font-weight:800}.record-period-control button.selected{border-color:#2b7477;color:#fff;background:#2b7477}.record-query-bar>input{width:100%;min-height:38px;border:1px solid #cedbd6;border-radius:7px;padding:7px 10px;color:#2c4445;background:#fff}.record-query-bar>span{justify-self:end;color:#617370;font-size:13px;font-weight:800}.handling-count-chart,.handling-record-table{border-top:1px solid #d7e1dd;padding-top:16px}.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.section-heading-row>div{display:grid;gap:3px}.section-heading-row span,.section-heading-row small{color:#687a78;font-size:12px;font-weight:700}.section-heading-row strong{color:#263b3d;font-size:17px}.count-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;padding:4px 0 10px}.count-bar-row{display:grid;grid-template-columns:78px minmax(0,1fr) 32px;align-items:center;gap:10px;min-height:34px}.count-bar-row>span{color:#465d5e;font-size:13px;font-weight:800}.count-bar-row>div{height:12px;overflow:hidden;border-radius:4px;background:#e7ece9}.count-bar-row i{display:block;height:100%;border-radius:inherit;background:#d09323;transition:width .18s ease}.count-bar-row:nth-child(2n) i{background:#c74f47}.count-bar-row:nth-child(n+5) i{background:#3e8291}.count-bar-row:nth-child(2n+5) i{background:#3e8a5a}.count-bar-row>strong{color:#243b3d;text-align:right}.record-table-head,.record-table-body article{display:grid;grid-template-columns:165px minmax(190px,1.4fr) minmax(100px,.8fr) minmax(100px,.8fr) minmax(90px,.7fr);align-items:center;gap:12px}.record-table-head{min-height:40px;border-top:1px solid #dce4e1;border-bottom:1px solid #dce4e1;padding:0 12px;color:#687976;background:#eef3f0;font-size:12px;font-weight:800}.record-table-body article{min-height:58px;border-bottom:1px solid #e0e7e4;padding:8px 12px;color:#526664;background:#ffffff94;font-size:13px}.record-table-body article>div{min-width:0;display:grid;gap:3px}.record-table-body article strong{color:#273e40}.record-table-body article div span{color:#73827f;font-size:11px}.record-table-empty{min-height:150px;display:grid;place-items:center;color:#697b78;background:#ffffff73}.operation-row{display:grid;grid-template-columns:38px minmax(220px,1fr) auto 96px;align-items:center;gap:12px;min-height:82px;border:1px solid #dfe7e3;border-left:4px solid #849795;border-radius:8px;padding:12px;background:#fff}.alert-operation{border-left-color:#cc544a}.operation-icon{width:34px;height:34px;border-radius:7px;display:inline-grid;place-items:center;color:#456062;background:#edf3f1}.alert-operation .operation-icon{color:#a33f38;background:#fae8e5}.operation-main{min-width:0;display:grid;gap:4px}.operation-main span,.operation-main small{color:#61716f}.operation-main small{font-size:12px}.operation-values{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.operation-values span{min-width:64px;border-radius:6px;padding:6px 8px;color:#2d4648;background:#edf3f1;font-size:13px;font-weight:800;text-align:center}.row-action{min-height:36px;border:1px solid #cddbd6;border-radius:8px;color:#245f63;background:#f8fbfa;font-weight:800}.zone-state-optimal{border-left-color:#4c9665}.zone-state-energy{border-left-color:#3f8397}.zone-state-warning{border-left-color:#c49a38}.zone-state-abnormal{border-left-color:#cc544a}.operations-empty{min-height:180px;border:1px dashed #cddbd6;border-radius:8px;display:grid;place-items:center;align-content:center;gap:7px;color:#607270;background:#f7faf8}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.metric-row span{color:#f8fbf8;background:#ffffff1a;border-radius:6px;padding:6px;text-align:center}.metric-row .warn{color:#ffd06b}.warehouse-header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.warehouse-header-side{display:flex;align-items:center;justify-content:flex-end;gap:12px}.warehouse-responsible{min-width:190px;min-height:68px;display:flex;align-items:center;gap:10px;border:1px solid #dbe5e0;border-radius:8px;padding:10px 12px;background:#fff}.warehouse-responsible-icon{width:34px;height:34px;display:inline-grid!important;place-items:center;flex:0 0 auto;border-radius:7px;color:#1f656a!important;background:#eaf3f0;margin:0!important}.warehouse-responsible div{display:grid;gap:2px}.warehouse-responsible small{color:#71817f;font-size:11px;font-weight:800}.warehouse-responsible strong{color:#1d3032;font-size:14px}.warehouse-responsible a{display:inline-flex;align-items:center;gap:4px;color:#2c6f75;font-size:12px;font-weight:800;text-decoration:none}.header-danger{width:40px;height:40px;border:1px solid #efd4d0;border-radius:8px;display:inline-grid;place-items:center;color:#b14c45;background:#fff8f7;flex:0 0 auto}.warehouse-header h2{font-size:34px;line-height:1.1}.warehouse-header span{display:inline-flex;align-items:center;gap:6px;color:#5c6d6d;margin-top:9px}.eyebrow{color:#2c6f75;font-weight:800;margin-bottom:6px}.park-panorama{min-height:calc(100vh - 48px);display:flex;flex-direction:column;gap:16px}.overview-header{align-items:end}.overview-date{color:#657775;font-size:13px;font-weight:700}.status-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 14px}.status-legend span,.warehouse-status{display:inline-flex;align-items:center;gap:6px;color:#526664;font-size:13px;font-weight:800}.status-legend i,.warehouse-status i{width:9px;height:9px;border-radius:50%;background:#899896}.legend-optimal i,.status-optimal .warehouse-status i,.status-label-optimal i{background:#2f7fb6}.legend-energy i,.status-energy .warehouse-status i,.status-label-energy i{background:#3d8b5b}.legend-warning i,.status-warning .warehouse-status i,.status-label-warning i{background:#d39a25}.legend-abnormal i,.status-abnormal .warehouse-status i,.status-label-abnormal i{background:#c94b43}.overview-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.overview-stat{min-height:78px;border:1px solid #dbe4e0;border-top:4px solid #889896;border-radius:8px;display:grid;align-content:center;gap:4px;padding:11px 13px;color:#203234;background:#fff;text-align:left;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.overview-stat:hover{transform:translateY(-2px);box-shadow:0 10px 24px #2035341a}.overview-stat.selected{border-color:currentColor;box-shadow:0 0 0 3px #4166661f}.overview-stat span{color:#657674;font-size:12px;font-weight:700}.overview-stat strong{color:#203234;font-size:24px}.overview-stat-optimal{border-top-color:#2f7fb6}.overview-stat-energy{border-top-color:#3d8b5b}.overview-stat-warning{border-top-color:#d39a25}.overview-stat-abnormal{border-top-color:#c94b43}.overview-stat-optimal.selected{color:#2f7fb6}.overview-stat-energy.selected{color:#3d8b5b}.overview-stat-warning.selected{color:#a87311}.overview-stat-abnormal.selected{color:#b9433d}.park-overview-stage{min-height:640px;border:1px solid #cedbd7;border-radius:8px;background:linear-gradient(90deg,rgba(62,105,107,.055) 1px,transparent 1px),linear-gradient(rgba(62,105,107,.055) 1px,transparent 1px),#edf3f0;background-size:32px 32px}.overview-filter-caption{min-height:52px;border-bottom:1px solid #d4dfdb;display:flex;align-items:center;gap:8px;padding:0 28px;color:#596c6a;background:#ffffffa8;font-size:13px;font-weight:800}.overview-filter-caption strong{min-width:25px;border-radius:6px;padding:3px 7px;color:#fff;background:#526a6a;text-align:center}.overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:22px;padding:26px 28px 300px}.overview-warehouse{--status-color: #899896;--status-deep: #596a68;--status-soft: #eef2f1;position:relative;z-index:1;min-width:0;min-height:188px;border:1px solid #d6dfdc;border-radius:8px;display:grid;align-content:start;grid-template-rows:auto 1fr;gap:0;padding:0;color:#1e3032;background:var(--status-soft);box-shadow:0 14px 30px #2035341a;text-align:left;transition:transform .16s ease,box-shadow .16s ease}.overview-warehouse.status-optimal{--status-color: #2f7fb6;--status-deep: #276f9f;--status-soft: #eaf4fa}.overview-warehouse.status-energy{--status-color: #3d8b5b;--status-deep: #32734b;--status-soft: #eaf5ed}.overview-warehouse.status-warning{--status-color: #d39a25;--status-deep: #a87311;--status-soft: #fff6dd}.overview-warehouse.status-abnormal{--status-color: #c94b43;--status-deep: #a83d38;--status-soft: #fbeae8}.overview-warehouse:hover,.overview-warehouse:focus-visible{z-index:8;transform:translateY(-4px);box-shadow:0 22px 44px #1c30302e;outline:3px solid color-mix(in srgb,var(--status-color) 20%,transparent)}.overview-node-heading,.hover-detail-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.overview-node-title{min-width:0;min-height:58px;border-radius:7px 7px 0 0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;color:#fff;background:var(--status-deep)}.overview-node-title strong{min-width:0;overflow-wrap:anywhere;font-size:17px}.overview-node-title small{flex:0 0 auto;color:#ffffffc7;font-size:12px;font-weight:800}.overview-node-body{min-width:0;display:grid;align-content:start;gap:10px;padding:13px 14px 14px;background:var(--status-soft)}.overview-node-heading small{color:#6a7a78;font-weight:800}.overview-node-heading>span:last-child{color:#687976;font-size:11px;font-weight:700}.overview-node-meta{min-width:0;min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:8px}.overview-location{min-width:0;overflow-wrap:anywhere;color:#60716f;font-size:13px}.overview-state-badge{flex:0 0 auto;border:1px solid transparent;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:800;line-height:1}.overview-state-badge.badge-optimal{border-color:#b7d9ed;color:#276f9f;background:#dceef9}.overview-state-badge.badge-energy{border-color:#b9dec5;color:#32734b;background:#dff2e5}.overview-state-badge.badge-warning{border-color:#ecd18e;color:#94610e;background:#ffedc3}.overview-state-badge.badge-abnormal{border-color:#efbbb6;color:#a64138;background:#fbdeda}.overview-state-badge.badge-no-data{border-color:#cfd9d6;color:#667774;background:#e9efed}.overview-state-badge.is-handled{border-color:#b9dec5;color:#32734b;background:#dff2e5}.overview-node-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.overview-node-metrics span{min-width:0;border-radius:7px;display:inline-flex;align-items:center;gap:6px;padding:9px;color:#334f51;background:#edf3f1;font-size:14px;font-weight:800}.warehouse-hover-detail{position:absolute;left:50%;top:calc(100% + 12px);z-index:20;width:390px;max-width:calc(100vw - 390px);border:1px solid #cfdad7;border-top:5px solid var(--status-color);border-radius:8px;display:grid;gap:13px;padding:16px;color:#1f3032;background:#fff;box-shadow:0 26px 54px #1324253d;opacity:0;pointer-events:none;transform:translate(-50%,-8px);transition:opacity .14s ease,transform .14s ease}.overview-warehouse:nth-child(4n+1) .warehouse-hover-detail{left:0;transform:translateY(-8px)}.overview-warehouse:nth-child(4n) .warehouse-hover-detail{right:0;left:auto;transform:translateY(-8px)}.overview-warehouse:hover .warehouse-hover-detail,.overview-warehouse:focus-visible .warehouse-hover-detail{opacity:1;transform:translate(-50%)}.overview-warehouse:nth-child(4n+1):hover .warehouse-hover-detail,.overview-warehouse:nth-child(4n+1):focus-visible .warehouse-hover-detail,.overview-warehouse:nth-child(4n):hover .warehouse-hover-detail,.overview-warehouse:nth-child(4n):focus-visible .warehouse-hover-detail{transform:translate(0)}.hover-detail-header>div{display:grid;gap:3px}.hover-detail-header>div>span{color:#687976;font-size:12px;font-weight:700}.hover-detail-header>div>strong{font-size:17px}.hover-live-ranges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hover-live-ranges>div{display:grid;grid-template-columns:22px 1fr;gap:3px 7px;border:1px solid #dee6e3;border-radius:8px;padding:10px}.hover-live-ranges svg{grid-row:1 / 3;align-self:center;color:var(--status-color)}.hover-live-ranges span{color:#6a7b79;font-size:11px}.hover-live-ranges strong{font-size:14px}.hover-count-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.hover-count-grid>span{display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:7px;padding:8px 10px;color:#586a68;background:#f0f4f2;font-size:12px;font-weight:700}.hover-count-grid>.count-state-normal{color:#3f6f57;background:#e5f5ea}.hover-count-grid>.count-state-warning{color:#94610e;background:#fff0cf}.hover-count-grid>.count-state-abnormal{color:#a64138;background:#fde4e1}.hover-count-grid strong{color:#263c3e;font-size:16px}.hover-count-grid .count-state-normal strong{color:#2f674c}.hover-count-grid .count-state-warning strong{color:#9b6509}.hover-count-grid .count-state-abnormal strong{color:#ac3f36}.handling-detail{display:grid;gap:7px;border-top:1px solid #e0e7e4;padding-top:12px}.handling-detail>span{display:flex;align-items:center;gap:6px;color:#617270;font-size:12px}.handling-detail strong{margin-left:auto;color:#263a3c;text-align:right}.overview-empty{grid-column:1 / -1;min-height:220px;display:grid;place-items:center;color:#657775;font-weight:800}.dimension-strip,.big-metrics{display:grid;grid-template-columns:repeat(3,minmax(86px,1fr));gap:10px}.big-metrics{grid-template-columns:repeat(2,1fr)}.stat{background:#fff;border:1px solid #dfe6dc;border-radius:8px;padding:12px}.stat span{display:block;color:#657575;font-size:12px;margin-bottom:5px}.stat strong{font-size:22px}.main-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:18px;align-items:start;transition:grid-template-columns .18s ease}.main-grid.inspector-collapsed{grid-template-columns:minmax(0,1fr) 48px}.model-stage{min-height:650px}.scene-wrap{min-height:650px;display:flex;flex-direction:column;gap:14px}.scene-caption{display:flex;justify-content:space-between;color:#566767;font-weight:700}.warehouse-visual{position:relative;flex:1;min-height:560px;border-radius:8px;overflow:hidden;perspective:1100px;background:linear-gradient(145deg,#5e7a7b2e,#ffffff6b),#dce8e2;border:1px solid #c8d8d1;touch-action:none;cursor:grab}.three-warehouse{background:linear-gradient(145deg,#597c801f,#ffffffad),#edf3ef}.three-mount{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none}.three-mount canvas{display:block;width:100%;height:100%;touch-action:none}.warehouse-visual:active{cursor:grabbing}.scene-tools{position:absolute;right:14px;top:14px;z-index:5;display:flex;align-items:center;gap:8px}.tool-button{width:34px;height:34px;border:0;border-radius:8px;background:#182b2dd1;color:#fff;display:inline-grid;place-items:center;box-shadow:0 10px 24px #182b2d2e;font-size:11px;font-weight:900}.tool-button.active{background:#2f7478}.tool-hint{display:inline-flex;align-items:center;pointer-events:none}.move-hint{display:inline-flex;align-items:center;gap:4px;padding:7px 10px;border-radius:999px;background:#ffffffad;color:#49605f;font-size:12px;font-weight:700}.scene-stage{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;transform:translate3d(var(--pan-x),var(--pan-y),0) scale(var(--zoom)) rotateX(var(--rotate-x)) rotateY(var(--rotate-y));transform-origin:center center;transition:transform 90ms linear}.warehouse-shell{position:absolute;left:9%;right:8%;top:16%;bottom:8%;border-radius:8px;background:linear-gradient(180deg,#ecf7f438,#b8d0cb1a);border:1px solid rgba(109,146,144,.22);box-shadow:inset 0 0 0 1px #ffffff47,0 30px 60px #182b2d24;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.warehouse-shell:before{content:"";position:absolute;top:12px;right:14px;bottom:12px;left:14px;border-radius:6px;border:1px solid rgba(255,255,255,.24);background:linear-gradient(180deg,#ffffff14,#91b6ab0a)}.warehouse-shell:after{content:"";position:absolute;left:5%;right:5%;top:0;height:22%;border-radius:6px 6px 4px 4px;background:linear-gradient(90deg,#3c5e6629,#e3c4721f);clip-path:polygon(0 50%,8% 0,92% 0,100% 50%,92% 100%,8% 100%)}.roof{position:absolute;inset:12% 9% auto 9%;height:96px;transform:skew(-16deg);background:linear-gradient(135deg,#51767cb8,#91b6ab9e 55%,#d0b06b6b);box-shadow:0 22px 54px #1931362e;opacity:.8}.floor-grid{position:absolute;left:9%;right:8%;bottom:8%;height:68%;transform:rotateX(58deg) rotate(-2deg);transform-origin:bottom center;background:linear-gradient(90deg,rgba(28,42,44,.12) 1px,transparent 1px),linear-gradient(rgba(28,42,44,.1) 1px,transparent 1px),linear-gradient(135deg,#fffffff2,#bfd5cce6);background-size:34px 34px,34px 34px,auto;border:2px solid rgba(41,72,73,.16);box-shadow:0 35px 70px #182b2d24;opacity:.78}.asset{position:absolute;width:42px;height:42px;display:grid;place-items:center;border-radius:8px;color:#fff;transform:translate(-50%,-50%);box-shadow:0 12px 25px #14282838;z-index:3}.asset.door{background:#7a5645}.asset.window{background:#357f96}.asset.sensor{background:#c24f42}.asset.air{background:#4269a6}.ceiling-light{position:absolute;width:46px;height:46px;transform:translate(-50%,-50%);z-index:4;pointer-events:none}.light-glow{position:absolute;top:-28px;right:-28px;bottom:-28px;left:-28px;border-radius:50%;background:radial-gradient(circle,rgba(255,239,173,.45),rgba(255,239,173,.08) 52%,transparent 72%);filter:blur(4px)}.light-core{position:absolute;top:12px;right:12px;bottom:12px;left:12px;border-radius:50%;background:linear-gradient(180deg,#fff7c7,#d8b84f);box-shadow:0 0 0 3px #fff8d638,0 0 20px #ffdf748f}.inspector{display:grid;gap:16px;position:sticky;top:18px}.inspector-toggle{min-height:38px;border:1px solid #d5ded9;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#2f484a;background:#fff;font-weight:800;box-shadow:0 10px 24px #2435310f}.inspector-toggle.collapsed{position:sticky;top:18px;width:48px;min-height:118px;padding:10px 0;writing-mode:vertical-rl;text-orientation:mixed;color:#fff;background:#1f656a;border-color:#1f656a;box-shadow:0 14px 28px #1f656a33}.inspector-toggle.collapsed svg{transform:rotate(90deg)}.component-panel.collapsed{padding-bottom:16px}.component-panel-title{margin-bottom:14px}.component-panel.collapsed .component-panel-title{margin-bottom:0}.component-panel-toggle{width:32px;height:32px;margin-left:auto;border:1px solid #d5ded9;border-radius:8px;display:inline-grid;place-items:center;color:#2f5f62;background:#f3f8f6}.component-panel-toggle:hover{border-color:#8fb8ad;background:#e8f2ef}.component-panel-content{display:grid}.segmented{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px}.segmented button{min-height:42px;border:1px solid #d9e2dd;background:#f8faf8;color:#2c3a3b;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700}.segmented button.selected{background:#1f656a;border-color:#1f656a;color:#fff}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.form-grid label{display:grid;gap:6px;color:#596a68;font-size:13px;font-weight:700}.form-grid input,.form-grid select{width:100%;border:1px solid #d5ded9;border-radius:8px;min-height:40px;padding:8px 10px;background:#fff;color:#1c2a2c}.form-grid-wide{grid-column:1 / -1}.primary-action{width:100%;margin-top:14px;border:0;border-radius:8px;background:#1f656a;color:#fff;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800}.component-list{display:grid;gap:8px;margin-top:14px}.component-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:8px;border:1px solid #e0e5e2;border-radius:8px;background:#f8faf8}.component-row-actions{display:inline-flex;align-items:center;gap:6px}.settings-button{width:34px;height:34px;border:1px solid #cddfda;border-radius:8px;display:inline-grid;place-items:center;color:#276e72;background:#f2f8f6;cursor:pointer}.settings-button:hover{border-color:#78aaa5;background:#e7f2ef}.component-row .component-correction-note{margin-top:3px;color:#27787a;font-size:11px;font-weight:800}.component-kind{width:32px;height:32px;display:inline-grid;place-items:center;border-radius:8px;color:#2f7478;background:#eaf4f2}.component-row strong,.component-row span{display:block}.component-row strong{font-size:14px}.component-row span{color:#697775;font-size:12px}.delete-button{width:34px;height:34px;border:1px solid #e6dddd;border-radius:8px;display:inline-grid;place-items:center;color:#b14c45;background:#fff8f7;cursor:pointer}.climate-panel{display:grid;gap:12px}.sensor-row{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start;padding:12px 0;border-top:1px solid #e3e9e5}.sensor-row strong,.sensor-row span{display:block}.sensor-row .sensor-correction-note{display:inline-flex;align-items:center;gap:4px;margin-top:4px;color:#27787a;font-size:11px;font-weight:800}.sensor-settings-modal{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow-y:auto}.sensor-settings-summary{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;border-left:3px solid #2c7478;padding:10px 12px;color:#657775;background:#f2f7f5}.sensor-settings-summary span{grid-row:1 / 3;align-self:center;color:#617472;font-size:12px;font-weight:800}.sensor-settings-summary strong{color:#1d3032}.sensor-settings-summary small{font-size:12px}.settings-section{margin-top:18px;border-top:1px solid #e1e8e4;padding-top:14px}.settings-section h3{margin:0 0 11px;color:#2b4142;font-size:15px}.sensor-position-grid{grid-template-columns:1.6fr repeat(3,1fr)}.sensor-device-field{grid-column:1 / -1}.correction-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.correction-control{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(150px,1fr);align-items:end;gap:10px;border:1px solid #dbe4e0;border-radius:8px;padding:11px;background:#f8faf9}.correction-control>label:not(.switch-control){display:grid;gap:6px;color:#596a68;font-size:12px;font-weight:800}.correction-control input[type=number]{width:100%;min-height:40px;border:1px solid #d5ded9;border-radius:8px;padding:8px 10px;color:#1c2a2c;background:#fff}.correction-control input[type=number]:disabled{color:#899694;background:#edf1ef}.switch-control{min-height:40px;display:inline-flex;align-items:center;gap:8px;color:#2c4445;font-size:13px;font-weight:800}.switch-control input{width:18px;height:18px;accent-color:#247277}.settings-hint{margin:8px 0 0;color:#6c7e7c;font-size:12px}.warning-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-message{margin:12px 0 0;color:#b14c45;font-size:13px;font-weight:800}.sensor-row span{color:#657575;font-size:13px}.sensor-values{grid-column:2;display:flex;flex-wrap:wrap;gap:8px}.sensor-values span{display:inline-flex;align-items:center;gap:4px;background:#eef4f1;border-radius:7px;padding:6px 8px;color:#233334}.mini-action{border:0;border-radius:7px;padding:6px 9px;color:#fff;background:#2f7478;font-weight:800}.history-panel{display:grid;gap:12px}.history-controls{display:grid;grid-template-columns:96px 1fr;gap:8px}.history-controls input,.history-controls select{width:100%;min-height:36px;border:1px solid #d5ded9;border-radius:8px;padding:7px 9px;background:#fff;color:#1c2a2c}.mini-chart{width:100%;height:auto;border:1px solid #e1e8e4;border-radius:8px;background:#fbfdfb}.axis-line{stroke:#98aaa6;stroke-width:1}.limit-line{stroke:#879695;stroke-width:1;stroke-dasharray:5 5}.temp-line,.humidity-line{fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.temp-line{stroke:#d24b3c}.humidity-line{stroke:#2379a6}.chart-label,.chart-legend{fill:#5d6f6d;font-size:12px;font-weight:800}.chart-empty{min-height:160px;display:grid;place-items:center;border:1px dashed #d2ded9;border-radius:8px}.climate-modal-backdrop{align-items:start;overflow-y:auto}.climate-history-modal{width:min(1180px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:24px}.climate-modal-header{position:sticky;top:-24px;z-index:4;margin:-24px -24px 18px;padding:22px 24px 16px;border-bottom:1px solid #dfe7e3;background:#fbfdfbf5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.history-toolbar,.metric-chart-header,.zone-config-header,.zone-config-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-toolbar{margin-bottom:18px}.history-modal-controls{width:min(360px,100%)}.history-load-state{color:#647775;font-size:13px;font-weight:700}.metric-chart-section{padding:18px 0 22px;border-top:1px solid #dfe7e3}.metric-chart-header h3{display:inline-flex;align-items:center;gap:8px;margin:0;color:#1d3032;font-size:17px}.zone-legend,.series-picker{display:flex;flex-wrap:wrap;gap:8px}.zone-legend span{padding:4px 8px;border-radius:6px;font-size:12px;font-weight:800}.zone-legend .zone-optimal,.zone-label.zone-optimal{color:#276840;background:#dcefe3}.zone-legend .zone-energy,.zone-label.zone-energy{color:#256176;background:#dcecf1}.zone-legend .zone-warning,.zone-label.zone-warning{color:#7b6218;background:#f5ecc9}.zone-legend .zone-abnormal,.zone-label.zone-abnormal{color:#9b3e36;background:#f4dedb}.series-picker{margin:14px 0 10px}.series-picker label{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:5px 9px;border:1px solid #d9e2de;border-radius:7px;color:#2d4142;background:#fff;font-size:12px;font-weight:750;cursor:pointer}.series-picker label.disabled{opacity:.45;cursor:not-allowed}.series-picker input{width:15px;height:15px;accent-color:#276f72}.series-swatch{width:10px;height:10px;border-radius:50%}.detail-line-chart{display:block;width:100%;border:1px solid #dfe7e3;border-radius:8px;background:#fff}.chart-plot-bg{fill:#f8faf9}.zone-band.zone-abnormal{fill:#efd5d1;opacity:.62}.zone-band.zone-warning{fill:#f2e6b7;opacity:.72}.zone-band.zone-energy{fill:#d4e8ee;opacity:.78}.zone-band.zone-optimal{fill:#d5eadc;opacity:.88}.chart-grid-line{stroke:#4d646333;stroke-width:1}.chart-axis-line{stroke:#778d8a;stroke-width:1}.chart-axis-label{fill:#647775;font-size:11px;font-weight:700}.detail-series-line{fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.handling-chart-marker{cursor:help}.handling-marker-halo{fill:#fff;stroke-width:2}.handling-marker-point{stroke:#fff;stroke-width:1}.handling-chart-marker.marker-warning .handling-marker-halo{stroke:#d9951c}.handling-chart-marker.marker-warning .handling-marker-point{fill:#d9951c}.handling-chart-marker.marker-abnormal .handling-marker-halo{stroke:#d74d42}.handling-chart-marker.marker-abnormal .handling-marker-point{fill:#d74d42}.chart-placeholder{min-height:230px;display:grid;place-items:center;border:1px dashed #cedbd6;border-radius:8px;color:#687b78;background:#f9fbfa}.series-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-top:10px}.series-summary-item{display:grid;grid-template-columns:repeat(3,auto);gap:4px 10px;padding:10px 12px;border-left:3px solid #7b9390;background:#f4f7f5;color:#586b69;font-size:12px}.series-summary-item strong,.series-summary-item span:last-child{grid-column:1 / -1}.series-summary-item strong{color:#233638;font-size:13px}.zone-config-panel{margin-top:4px;padding-top:20px;border-top:1px solid #dfe7e3}.zone-config-header>div:first-child{display:grid;gap:3px}.section-kicker{color:#6c7d7a;font-size:12px;font-weight:800}.zone-config-actions select{min-height:40px;border:1px solid #d5ded9;border-radius:8px;padding:7px 10px;color:#243839;background:#fff}.zone-save{width:auto;min-width:126px;margin:0;padding:0 14px}.zone-editor-grid{display:grid;grid-template-columns:110px repeat(4,minmax(100px,1fr));gap:8px;align-items:center;margin-top:14px}.zone-editor-row{display:contents}.zone-editor-heading{color:#687a78;font-size:12px;font-weight:800}.zone-label{padding:8px 10px;border-radius:6px;font-size:13px}.zone-editor-grid input{width:100%;min-height:38px;border:1px solid #d5ded9;border-radius:7px;padding:7px 9px;color:#1d3032;background:#fff}.zone-save-message{margin:10px 0 0;font-size:13px;font-weight:800}.zone-save-message.success{color:#2f7747}.zone-save-message.error{color:#af453e}.empty{margin:0;color:#657575}@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;overflow:visible;min-height:auto}.main-grid{grid-template-columns:1fr}.overview-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-warehouse:nth-child(odd) .warehouse-hover-detail{right:auto;left:0;transform:translateY(-8px)}.overview-warehouse:nth-child(2n) .warehouse-hover-detail{right:0;left:auto;transform:translateY(-8px)}.overview-warehouse:nth-child(odd):hover .warehouse-hover-detail,.overview-warehouse:nth-child(odd):focus-visible .warehouse-hover-detail,.overview-warehouse:nth-child(2n):hover .warehouse-hover-detail,.overview-warehouse:nth-child(2n):focus-visible .warehouse-hover-detail{transform:translate(0)}}@media(max-width:720px){.auth-shell{padding:14px}.auth-panel{padding:20px 16px}.register-form{grid-template-columns:1fr}.full-row{grid-column:auto}.workspace,.sidebar{padding:16px}.feature-page-header{align-items:flex-start;flex-direction:column}.feature-tabs,.exception-page-summary,.record-summary-grid,.count-chart-grid,.record-query-bar,.correction-settings-grid,.correction-control{grid-template-columns:1fr}.record-query-bar>span{justify-self:start}.record-table-head{display:none}.record-table-body article{grid-template-columns:1fr;gap:6px;padding:12px}.warehouse-header{align-items:stretch;flex-direction:column}.warehouse-header-side{align-items:stretch;flex-wrap:wrap;justify-content:flex-start}.warehouse-responsible{flex:1 1 220px}.warehouse-header-side .dimension-strip{flex:1 1 100%}.warehouse-header h2{font-size:27px}.dimension-strip{grid-template-columns:repeat(3,1fr)}.model-stage,.scene-wrap{min-height:520px}.warehouse-visual{min-height:430px}.form-grid,.data-tabs,.data-row,.park-data-row,.warehouse-data-row,.people-data-row,.module-data-row,.ownership-account-grid,.operations-summary,.operation-row{grid-template-columns:1fr}.exception-auto-grid,.exception-card-footer,.handling-history-list article{grid-template-columns:1fr}.handling-history-list article time{text-align:left}.operation-values{justify-content:flex-start}.modal-grid{grid-template-columns:1fr}.modal-actions,.park-header,.park-actions,.history-toolbar,.metric-chart-header,.zone-config-header,.zone-config-actions{align-items:stretch;flex-direction:column}.climate-history-modal{max-height:calc(100vh - 24px);padding:16px}.climate-modal-header{top:-16px;margin:-16px -16px 16px;padding:16px}.zone-editor-grid{grid-template-columns:82px repeat(4,minmax(82px,1fr));overflow-x:auto}.overview-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.status-legend{justify-content:flex-start}.overview-grid{grid-template-columns:1fr;padding:18px 18px 300px}.warehouse-hover-detail{left:0;right:auto;width:calc(100vw - 68px);max-width:none;transform:translateY(-8px)}.overview-warehouse:nth-child(n) .warehouse-hover-detail{right:auto;left:0}.overview-warehouse:hover .warehouse-hover-detail,.overview-warehouse:focus-visible .warehouse-hover-detail{transform:translate(0)}.hover-live-ranges,.hover-count-grid{grid-template-columns:1fr}}
