:root{--background:#f3f4f6;--foreground:#020817;--border:#e2e8f0;--muted:#6b7280;--primary:#2563eb;--radius:8px}body{background:#f3f4f6}button{color:inherit;cursor:pointer;background:0 0;border:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:#3b82f6;outline:none;box-shadow:0 0 0 1px #3b82f6}.system-shell{min-height:100vh;color:var(--foreground);background:#f3f4f6;font:400 16px/24px Inter,JetBrains Mono,Noto Sans TC,sans-serif}.system-header{z-index:30;border-bottom:1px solid var(--border);background:#fff;align-items:center;height:56px;display:flex;position:fixed;inset:0 0 auto}.menu-button{z-index:2;color:#4b5563;border-radius:6px;place-items:center;width:36px;height:36px;padding:8px;display:grid;position:absolute;left:8px}.menu-button:hover,.logout-button:hover,.icon-button:hover{background:#f3f4f6}.system-header h1{margin:0 0 0 64px;font-size:18px;font-weight:700;line-height:28px}.system-header h1 .system-name{color:#64748b;margin-left:4px;font-weight:500}.account{align-items:center;gap:10px;margin-left:auto;padding-right:24px;display:flex}.avatar{color:#1d4ed8;background:#dbeafe;border-radius:999px;place-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:grid}.account-copy{min-width:88px;line-height:16px;display:grid}.account-copy strong{font-size:12px;font-weight:600}.account-copy span{color:#64748b;font-size:11px}.logout-button{border-radius:6px;justify-content:center;align-items:center;gap:5px;height:32px;padding:0 12px;font-size:12px;font-weight:500;display:inline-flex}.system-sidebar{z-index:20;border-right:1px solid var(--border);background:#fff;width:240px;transition:width .2s,transform .3s;position:fixed;inset:56px auto 0 0}.system-sidebar nav{padding:16px 12px}.nav-item{color:#4b5563;text-align:left;border-radius:6px;align-items:center;gap:12px;width:100%;height:40px;padding:0 12px;font-size:14px;display:flex}.nav-item:hover{color:#111827;background:#f8fafc}.nav-item.is-active{color:#2563eb;background:#eff6ff;font-weight:600}.sites-main{background:#f3f4f6;min-height:100vh;margin-left:240px;padding:88px 24px 40px;transition:margin-left .2s}.page-heading{color:#374151;align-items:center;gap:8px;margin-bottom:24px;display:flex}.page-heading svg{width:24px;height:24px}.page-heading h2{color:#1f2937;margin:0;font-size:24px;font-weight:700;line-height:32px}.page-title-row{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.page-title-row p{color:#64748b;margin:0;font-size:14px;line-height:20px}.primary-button,.secondary-button{border-radius:6px;justify-content:center;align-items:center;gap:6px;height:36px;padding:8px 16px;font-size:14px;font-weight:500;line-height:20px;transition:background .15s,opacity .15s;display:inline-flex}.primary-button{background:var(--primary);color:#fff;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.primary-button:hover{background:#1d4ed8}.primary-button:disabled{pointer-events:none;opacity:.5}.secondary-button{background:#fff;border:1px solid #d1d5db}.secondary-button:hover{background:#f3f4f6}.table-card{border:1px solid var(--border);background:#fff;border-radius:8px;overflow:auto;box-shadow:0 1px 2px #0000000d}table{border-collapse:collapse;caption-side:bottom;width:100%;color:var(--foreground);text-align:left;font-size:14px;line-height:20px}thead{background:#f8fafc}th{color:#4b5563;vertical-align:middle;height:41px;padding:0 16px;font-size:12px;font-weight:500}td{border-top:1px solid var(--border);vertical-align:middle;height:57px;padding:12px 16px}tbody tr{transition:background .15s}tbody tr:hover{background:#f9fafbb3}tbody tr.is-dragging{opacity:.42;background:#dbeafe}tbody tr.is-drag-over{background:#eff6ff;box-shadow:inset 0 2px #2563eb}.drag-column{width:48px}.actions-column{text-align:right;width:192px}.drag-handle{color:#9ca3af;cursor:grab;place-items:center;width:16px;height:16px;padding:0;display:inline-grid}.drag-handle:active{cursor:grabbing;color:#2563eb}.site-name{align-items:center;min-height:20px;display:flex}.expand-button{color:#9ca3af;border-radius:4px;place-items:center;width:20px;height:20px;margin-right:6px;padding:2px;display:grid}.expand-button:hover{color:#4b5563;background:#f3f4f6}.tree-line{border-left:1px solid #e5e7eb;width:20px;height:20px;margin-right:6px}.muted-cell{width:212px;color:var(--muted)}.row-actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}.child-button{color:#16a34a;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:4px;height:32px;padding:0 12px;font-size:12px;font-weight:500;display:inline-flex}.child-button:hover{color:#15803d;background:#f0fdf4}.icon-button{border-radius:6px;place-items:center;width:32px;height:32px;display:inline-grid}.icon-button.danger{color:#ef4444}.icon-button.danger:hover{color:#b91c1c}.modal-layer{z-index:50;background:#000c;place-items:center;padding:0;animation:.16s ease-out fade-in;display:grid;position:fixed;inset:0}.dialog{background:#fff;border:1px solid #e5e7eb;border-radius:0;gap:16px;width:min(448px,100%);padding:24px;animation:.18s ease-out dialog-in;display:grid;position:relative;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.dialog-header h3{margin:0;font-size:18px;font-weight:600;line-height:18px}.dialog-header p{color:#6b7280;margin:10px 0 0;font-size:14px;font-weight:400;line-height:20px}.dialog-close{color:#64748b;opacity:.7;border-radius:4px;place-items:center;width:16px;height:16px;padding:0;display:grid;position:absolute;top:16px;right:16px}.dialog-close:hover{background:#f3f4f6}.dialog form{gap:14px;display:grid}.dialog label{color:#374151;gap:0;font-size:14px;font-weight:500;line-height:20px;display:grid}.dialog input,.dialog textarea,.dialog select{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;font-size:14px;font-weight:400;box-shadow:0 1px 2px #0000000d}.dialog input,.dialog select{height:36px;padding:4px 12px}.dialog input::placeholder{color:#9ca3af}.dialog-footer{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.confirm-dialog{width:min(448px,100%)}.danger-button{color:#fff;background:#dc2626;border-radius:6px;justify-content:center;align-items:center;height:36px;padding:8px 16px;font-size:14px;font-weight:500;display:inline-flex}.danger-button:hover{background:#b91c1c}.demo-toast{z-index:70;color:#065f46;background:#fff;border:1px solid #d1fae5;border-radius:8px;align-items:center;gap:12px;min-height:42px;padding:10px 14px;font-size:13px;font-weight:500;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 25px #0f172a26}.is-collapsed .system-sidebar{width:64px}.is-collapsed .nav-item span{display:none}.is-collapsed .sites-main{margin-left:64px}@keyframes fade-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:scale(.95)translateY(-8px)}}@media (width<=760px){.brand-name,.account-copy,.avatar{display:none}.system-header h1 .system-name{color:#020817;margin-left:0;font-weight:700}.system-sidebar{width:240px;transform:translate(-100%)}.is-collapsed .system-sidebar{width:240px;transform:translate(0)}.is-collapsed .nav-item span{display:inline}.sites-main,.is-collapsed .sites-main{margin-left:0;padding:68px 12px 24px}.page-heading{margin-bottom:16px}.page-heading svg{width:20px;height:20px}.page-heading h2{font-size:20px;line-height:28px}.page-title-row{align-items:center;gap:12px}.table-card{width:100%}table{min-width:0}}@media (width>=640px){.dialog{border-radius:8px}}@media (width>=768px){.system-header{height:64px}.system-sidebar{inset-block-start:64px}}@media (width<=760px){.replica header{height:56px}.replica header h1 b,.profile i,.profile>span{display:none}.replica header h1 span{color:#020817}.replica aside{top:56px;transform:translate(-100%)}.replica.collapsed aside{width:240px;transform:translate(0)}.replica.collapsed nav span{display:inline}.replica main,.replica.collapsed main{margin-left:0;padding:68px 12px 24px}.replica-title{margin-bottom:16px}.replica-title h1{font-size:20px}.replica-title svg{width:20px}.carbon-grid,.metrics,.bottom-grid,.topology-grid{grid-template-columns:1fr}.title-actions{gap:12px}.title-actions>div:last-child{flex-wrap:wrap;justify-content:flex-end}.dashboard-toolbar{align-items:flex-start}.table-panel{overflow:auto}.replica-modal{border-radius:0}.profile{padding-right:4px}}@media (width<=760px){.system-list-toolbar{flex-direction:column;align-items:stretch}.system-list-toolbar select{margin-left:0}.log-toolbar{flex-direction:column;align-items:stretch}.log-toolbar>span{margin-left:0}.site-checks{grid-template-columns:1fr}}@media (width<=560px){.form-grid{grid-template-columns:1fr}.monitor-row{grid-template-columns:1fr 1fr}}@media (width<=760px){.device-tools{flex-wrap:wrap}.device-tools .device-add{margin-left:0}.child-nodes{grid-template-columns:1fr}.system-tabs{width:100%;display:flex;overflow-x:auto}}@media (width<=760px){.replica header{height:56px}.replica header h1 b,.profile i,.profile>span{display:none}.replica header h1 span{color:#020817}.replica aside{top:56px;transform:translate(-100%)}.replica.collapsed aside{width:240px;transform:translate(0)}.replica.collapsed nav span{display:inline}.replica main,.replica.collapsed main{margin-left:0;padding:68px 12px 24px}.replica-title{margin-bottom:16px}.replica-title h1{font-size:20px}.replica-title svg{width:20px}.carbon-grid,.metrics,.bottom-grid,.topology-grid{grid-template-columns:1fr}.title-actions{gap:12px}.title-actions>div:last-child{flex-wrap:wrap;justify-content:flex-end}.dashboard-toolbar{align-items:flex-start}.table-panel{overflow:auto}.replica-modal{border-radius:0}.profile{padding-right:4px}}@media (width<=760px){.system-list-toolbar{flex-direction:column;align-items:stretch}.system-list-toolbar select{margin-left:0}.log-toolbar{flex-direction:column;align-items:stretch}.log-toolbar>span{margin-left:0}.site-checks{grid-template-columns:1fr}}@media (width<=760px){.replica.collapsed .reset-demo-data{justify-content:flex-start;width:auto;right:12px;padding:0 12px!important}.replica.collapsed .reset-demo-data span{display:inline}}@media (width<=560px){.form-grid{grid-template-columns:1fr}.monitor-row{grid-template-columns:1fr 1fr}}@media (width>=1500px){.monitor-search input{width:380px}.online-monitor-toolbar .monitor-site-select select{width:346px}}.online-actions,.online-device-tools{justify-content:flex-start}@media (width<=860px){.monitor-page-head,.online-monitor-toolbar,.monitor-filter-left{flex-direction:column;align-items:stretch}.monitor-head-actions{white-space:normal;flex-direction:column;align-items:flex-start;gap:8px}.online-status-row{flex-wrap:wrap}.monitor-search input,.online-monitor-toolbar .monitor-site-select select{width:100%;min-width:0}.monitor-tabs{overflow-x:auto}.topology-online{grid-template-columns:1fr}.topology-map-toolbar{flex-direction:column;align-items:stretch}.topology-legend{margin-left:0}}@media (width<=760px){.device-tools{flex-wrap:wrap}.device-tools .device-add{margin-left:0}.child-nodes{grid-template-columns:1fr}.system-tabs{width:100%;display:flex;overflow-x:auto}}@keyframes alertSink{0%{transform:translateY(-8px)}to{transform:translateY(0)}}@media (width<=1200px){.dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.carbon-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.carbon-breakdown{grid-column:1/-1}.condition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.water-sensor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.dashboard-panel-head{gap:8px}.alert-panel-actions{align-items:flex-start}.distribution-panel,.dashboard-alert-panel{padding:14px}.alert-copy small{flex-wrap:wrap}.dashboard-title-row{flex-direction:column;align-items:stretch}.dashboard-site-filter select{width:100%}.dashboard-kpi-grid,.water-sensor-grid,.carbon-overview-grid{grid-template-columns:1fr}.carbon-breakdown{grid-column:auto}.carbon-donut-row{flex-direction:column;align-items:flex-start}.historical-export-control{flex-direction:column;align-items:stretch;width:100%}.historical-export-control select{width:100%;min-width:0}.alarm-settings-head{flex-direction:column;align-items:stretch}.condition-card-title{grid-template-columns:1fr}.condition-grid,.condition-formula,.condition-note{grid-column:auto;grid-template-columns:1fr}.water-overview-panel,.trend-panel,.performance-panel{padding:14px}.balance-summary,.performance-list{grid-template-columns:1fr}.dashboard-line-chart small:nth-child(2n){display:none}}:root{color:#020817;background:#f3f4f6;font-family:Inter,JetBrains Mono,Noto Sans TC,sans-serif}.replica{background:#f3f4f6;min-height:100vh}.replica button,.replica input,.replica select{font:inherit}.replica button{color:inherit;cursor:pointer;background:0 0;border:0}.replica header{z-index:30;background:#fff;border-bottom:1px solid #e2e8f0;align-items:center;height:64px;display:flex;position:fixed;inset:0 0 auto}.menu{color:#4b5563;border-radius:6px;place-items:center;width:48px;height:48px;margin-left:4px;display:grid}.menu:hover{background:#f3f4f6}.replica header h1{margin:0 0 0 12px;font-size:18px}.replica header h1 span{color:#64748b}.profile{align-items:center;gap:10px;margin-left:auto;padding-right:16px;display:flex}.profile i{color:#2563eb;background:#dbeafe;border-radius:50%;place-items:center;width:32px;height:32px;font-style:normal;font-weight:700;display:grid}.profile>span{font-size:12px;line-height:16px;display:grid}.profile small{color:#64748b}.profile button{border-radius:6px;align-items:center;gap:5px;height:32px;padding:0 12px;font-size:12px;display:flex}.profile svg{width:15px}.replica aside{z-index:20;background:#fff;border-right:1px solid #e2e8f0;width:240px;transition:all .25s;position:fixed;top:64px;bottom:0;left:0}.replica nav{padding:16px 12px}.replica nav button{color:#4b5563;border-radius:6px;align-items:center;gap:12px;width:100%;height:40px;margin-bottom:4px;padding:0 12px;font-size:14px;font-weight:500;display:flex}.replica nav button:hover{color:#111827;background:#f8fafc}.replica nav button.active{color:#1d4ed8;background:#dbeafe}.replica nav svg{width:20px}.replica main{background:#f3f4f6;min-height:100vh;margin-left:240px;padding:88px 24px 40px;transition:all .25s}.replica-title{color:#374151;align-items:center;gap:8px;margin-bottom:24px;display:flex}.replica-title svg{width:24px}.replica-title h1{color:#1f2937;margin:0;font-size:24px;line-height:32px}.collapsed aside{width:64px}.collapsed nav span{display:none}.collapsed main{margin-left:64px}.grid{gap:16px;display:grid}.carbon-grid{grid-template-columns:repeat(3,1fr)}.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.bottom-grid{grid-template-columns:2fr 1fr}.panel,.metric-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px #0000000d}section{margin:0 0 24px}section>h2{margin:0 0 12px;font-size:18px}.metric-card{align-items:center;gap:14px;min-height:112px;padding:18px;display:flex}.metric-icon{color:#2563eb;background:#dbeafe;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.metric-icon.green{color:#059669;background:#d1fae5}.metric-icon.amber{color:#d97706;background:#fef3c7}.metric-card>div:last-child{display:grid}.metric-card span{color:#64748b;font-size:12px}.metric-card strong{font-size:24px;line-height:32px}.metric-card small{color:#64748b}.dashboard-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.segmented{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;padding:4px;display:flex}.segmented button{border-radius:6px;height:28px;padding:0 12px;font-size:12px}.segmented button.active{color:#fff;background:#2563eb}.date-btn{align-items:center;gap:7px;height:36px;padding:0 12px;font-size:13px;display:flex;background:#fff!important;border:1px solid #d1d5db!important;border-radius:6px!important}.date-btn svg{width:15px}.day-count,.status{color:#15803d;background:#dcfce7;border-radius:999px;padding:3px 8px;font-size:12px}.updated{color:#64748b;margin:10px 0 24px;font-size:12px}.bars{padding:12px 16px}.bars>div{grid-template-columns:110px 1fr 65px;align-items:center;gap:8px;margin:12px 0;font-size:12px;display:grid}.bars i{background:#e5e7eb;border-radius:9px;height:8px}.bars b{background:#60a5fa;border-radius:9px;height:8px;display:block}.panel h3{margin:0;font-size:14px}.panel>h3{padding:16px}.site-block{margin-bottom:16px}.site-block>h3{margin:0 0 8px;font-size:14px}.chart-panel{padding:16px}.chart-panel h3{padding:0}.chart-panel p{color:#64748b;font-size:12px}.line-chart{height:140px}.line-chart svg{width:100%;height:100%;overflow:visible}.line-chart polyline{fill:none;stroke:#3b82f6;stroke-width:3px}.alert-panel{color:#64748b;place-items:center;padding:20px;display:grid}.alert-panel h3{color:#020817;justify-self:start;padding:0}.alert-panel>svg{color:#22c55e;width:42px;height:42px}.alert-panel button{color:#2563eb}.device-summary{margin-bottom:16px;padding:16px}.device-summary>div:first-child,.panel-head{justify-content:space-between;align-items:center;display:flex}.stat-row{color:#64748b;flex-wrap:wrap;gap:24px;margin-top:14px;font-size:12px;display:flex}.stat-row strong{color:#111827;font-size:14px;display:block}.topology-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.topology-lane{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px;position:relative}.topology-lane h2{margin:0 0 18px;font-size:16px}.node-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;align-items:center;gap:10px;margin:10px 0;padding:12px;display:flex;position:relative}.node-card>svg{color:#3b82f6}.node-card div{display:grid}.node-card span{color:#64748b;font-size:11px}.node-card .online{background:#22c55e;border-radius:50%;width:8px;height:8px;margin-left:auto}.title-actions{justify-content:space-between;align-items:flex-start;display:flex}.title-actions>div:last-child{gap:8px;display:flex}.primary,.outline{justify-content:center;align-items:center;gap:6px;height:36px;padding:0 16px;font-size:14px;font-weight:500;display:inline-flex;border-radius:6px!important}.primary{box-shadow:0 1px 3px #0000001a;color:#fff!important;background:#2563eb!important}.primary:hover{background:#1d4ed8!important}.outline{background:#fff!important;border:1px solid #d1d5db!important}.primary svg,.outline svg{width:16px}.filter-panel{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:24px;padding:16px;display:flex}.filter-panel label{color:#4b5563;gap:6px;font-size:12px;display:grid}.filter-panel select{background:#fff;border:1px solid #d1d5db;border-radius:6px;min-width:150px;height:36px;padding:0 10px}.table-panel{overflow:hidden}.table-scroll{overflow:auto}.table-scroll table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12px}.table-scroll th{color:#6b7280;text-align:left;background:#f8fafc;height:40px;padding:0 14px;font-weight:500}.table-scroll td{border-top:1px solid #e5e7eb;height:52px;padding:8px 14px}.table-scroll tbody tr:hover{background:#f9fafb}.pagination{justify-content:flex-end;align-items:center;gap:5px;padding:12px;font-size:12px;display:flex}.pagination span{color:#64748b;margin-right:auto}.pagination button{border:1px solid #e2e8f0;border-radius:6px;width:32px;height:32px}.pagination button.active{color:#fff;background:#2563eb}.pagination svg{width:15px}.list-toolbar{color:#64748b;justify-content:space-between;align-items:center;margin:0 0 16px;font-size:14px;display:flex}.row-buttons{justify-content:flex-end;gap:4px;display:flex}.row-buttons button{color:#2563eb;border-radius:5px;align-items:center;gap:4px;height:30px;padding:0 8px;font-size:11px;display:inline-flex}.row-buttons button:hover{background:#eff6ff}.row-buttons button.success{color:#16a34a}.row-buttons button.danger{color:#dc2626}.row-buttons svg{width:14px}.system-tabs{border-bottom:1px solid #d1d5db;gap:4px;margin-bottom:20px;padding:4px;display:flex;overflow:auto}.system-tabs button{color:#64748b;white-space:nowrap;border-bottom:2px solid #0000;padding:9px 13px;font-size:13px}.system-tabs button.active{color:#2563eb;border-color:#2563eb;font-weight:600}.empty-state{text-align:center;place-items:center;min-height:330px;padding:30px;display:grid}.empty-state>svg{color:#94a3b8;width:44px;height:44px}.empty-state p{color:#64748b}.modal-mask{z-index:50;background:#000c;place-items:center;display:grid;position:fixed;inset:0}.replica-modal{background:#fff;border:1px solid #e5e7eb;border-radius:8px;gap:14px;width:min(448px,100%);padding:24px;display:grid;position:relative;box-shadow:0 10px 15px -3px #0000001a}.replica-modal h2{margin:0 0 2px;font-size:18px}.replica-modal label{color:#374151;gap:4px;font-size:14px;font-weight:500;display:grid}.replica-modal input,.replica-modal select{background:#fff;border:1px solid #d1d5db;border-radius:6px;height:36px;padding:0 12px}.modal-close{position:absolute;top:16px;right:16px}.modal-close svg{width:16px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.replica-toast{z-index:80;color:#047857;background:#fff;border:1px solid #d1fae5;border-radius:8px;align-items:center;gap:8px;padding:11px 15px;font-size:13px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 25px #00000026}.replica-toast svg{width:17px}.replica svg{width:18px}@media (width<=760px){.replica header{height:56px}.replica header h1 b,.profile i,.profile>span{display:none}.replica header h1 span{color:#020817}.replica aside{top:56px;transform:translate(-100%)}.replica.collapsed aside{width:240px;transform:translate(0)}.replica.collapsed nav span{display:inline}.replica main,.replica.collapsed main{margin-left:0;padding:68px 12px 24px}.replica-title{margin-bottom:16px}.replica-title h1{font-size:20px}.replica-title svg{width:20px}.carbon-grid,.metrics,.bottom-grid,.topology-grid{grid-template-columns:1fr}.title-actions{gap:12px}.title-actions>div:last-child{flex-wrap:wrap;justify-content:flex-end}.dashboard-toolbar{align-items:flex-start}.table-panel{overflow:auto}.replica-modal{border-radius:0}.profile{padding-right:4px}}.system-list-toolbar{justify-content:flex-start}.system-list-toolbar select{margin-left:auto}.system-list-toolbar select,.log-toolbar select{background:#fff;border:1px solid #d1d5db;border-radius:6px;height:36px;padding:0 32px 0 10px}.source-badge{color:#4338ca;background:#e0e7ff;border-radius:999px;padding:3px 8px;font-size:12px}.baseline-card{gap:18px;max-width:720px;padding:24px;display:grid}.baseline-card h2{margin:0;font-size:18px}.baseline-card>p{color:#64748b;margin:-10px 0 4px;font-size:14px}.baseline-card label{gap:7px;font-size:14px;font-weight:500;display:grid}.baseline-card input{border:1px solid #d1d5db;border-radius:6px;height:36px;padding:0 12px}.baseline-card .primary{justify-self:end}.primary:disabled{pointer-events:none;opacity:.5}.logs-card{overflow:hidden}.log-toolbar{border-bottom:1px solid #e2e8f0;align-items:flex-end;gap:12px;padding:16px;display:flex}.log-toolbar label{color:#4b5563;gap:6px;font-size:12px;display:grid}.log-toolbar>span{color:#64748b;margin-left:auto;font-size:12px}.logs-card pre{color:#d1fae5;white-space:pre-wrap;background:#0f172a;min-height:390px;max-height:520px;margin:0;padding:18px;font:12px/1.7 JetBrains Mono,monospace;overflow:auto}.test-card{padding:20px}.test-head{justify-content:space-between;align-items:center;display:flex}.test-head h3{font-size:16px}.test-card>p{color:#64748b;margin:8px 0 20px;font-size:13px}.test-empty{color:#64748b;border:1px dashed #cbd5e1;border-radius:7px;place-items:center;gap:10px;min-height:230px;font-size:13px;display:grid}.test-empty svg{width:36px;height:36px}.test-results{gap:8px;display:grid}.test-results>div{border:1px solid #e2e8f0;border-radius:7px;align-items:center;gap:12px;padding:13px;display:flex}.test-results span{display:grid}.test-results small{color:#64748b}.test-results em{border-radius:999px;margin-left:auto;padding:4px 9px;font-size:12px;font-style:normal}.test-results .ok{color:#15803d;background:#dcfce7}.test-results .failed{color:#dc2626;background:#fee2e2}.system-modal fieldset{border:1px solid #e2e8f0;border-radius:7px;margin:0;padding:12px}.system-modal fieldset>p{color:#64748b;margin:4px 0 10px;font-size:12px}.site-checks{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.site-checks label{align-items:center;gap:7px;font-weight:400;display:flex}.site-checks input{width:15px;height:15px}.destructive{height:36px;padding:0 16px;color:#fff!important;background:#dc2626!important;border-radius:6px!important}@media (width<=760px){.system-list-toolbar{flex-direction:column;align-items:stretch}.system-list-toolbar select{margin-left:0}.log-toolbar{flex-direction:column;align-items:stretch}.log-toolbar>span{margin-left:0}.site-checks{grid-template-columns:1fr}}.sites-table .drag-head{width:42px}.sites-table .drag-handle{color:#94a3b8;cursor:grab;border-radius:5px;place-items:center;width:28px;height:28px;display:grid}.sites-table .drag-handle:hover{color:#475569;background:#f1f5f9}.sites-table .drag-handle:active{cursor:grabbing}.sites-table tr.dragging{opacity:.42}.sites-table tr.drag-over{box-shadow:inset 0 2px #2563eb}.sites-table tr.child-site td{background:#fafcff}.site-name{align-items:center;gap:8px;display:flex}.site-name>svg{color:#94a3b8;width:16px}.site-name>span{display:grid}.site-name b{font-weight:500}.site-name small{color:#94a3b8;font-size:10px}.parent-site .site-name b{color:#1f2937;font-weight:650}.child-site .site-name{padding-left:22px}.relation-filter{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:10px;margin-bottom:10px;padding:12px 16px;font-size:13px;display:flex}.relation-filter label{font-weight:600}.relation-filter select{background:#fff;border:1px solid #d1d5db;border-radius:6px;min-width:220px;height:36px;padding:0 10px}.relation-filter span{color:#64748b;margin-left:auto}.device-tree-table .device-parent-row td{background:#fff}.device-tree-table .device-child-row td{background:#fafcff}.device-tree-name{align-items:center;gap:6px;display:flex}.device-tree-name>span:last-child{display:grid}.device-tree-name b{font-weight:500}.device-tree-name small{color:#94a3b8;font-size:10px}.device-child-row .device-tree-name{padding-left:20px}.device-child-row .device-tree-name>svg{color:#94a3b8;width:15px}.tree-toggle{place-items:center;width:26px;height:26px;color:#64748b!important;border-radius:5px!important;padding:0!important;display:grid!important}.tree-toggle:hover{background:#e2e8f0!important}.tree-toggle svg{transition:transform .18s;transform:rotate(90deg);width:16px!important}.tree-toggle.collapsed svg{transform:rotate(0)}.tree-spacer{width:26px;height:26px}.warning-status{color:#b45309;background:#fef3c7;border-radius:999px;padding:3px 8px;font-size:12px}.replica header>h1{text-overflow:ellipsis;white-space:nowrap;max-width:min(58vw,650px);overflow:hidden}.replica header>h1 b{font-size:17px}.replica header>h1 span{letter-spacing:.08em;font-size:13px}.reset-demo-data{align-items:center;gap:10px;height:36px;display:flex;position:absolute;bottom:16px;left:12px;right:12px;color:#94a3b8!important;border:1px solid #0000!important;border-radius:6px!important;padding:0 12px!important;font-size:12px!important}.reset-demo-data:hover{color:#b91c1c!important;background:#fef2f2!important;border-color:#fecaca!important}.reset-demo-data svg{width:16px!important}.collapsed .reset-demo-data span{display:none}.collapsed .reset-demo-data{justify-content:center;width:40px;right:auto;padding:0!important}.reset-confirm-dialog p{color:#64748b;margin:0;font-size:14px;line-height:1.6}@media (width<=760px){.replica.collapsed .reset-demo-data{justify-content:flex-start;width:auto;right:12px;padding:0 12px!important}.replica.collapsed .reset-demo-data span{display:inline}}.monitor-page-title{margin-bottom:18px}.monitor-page-title h1{color:#1f2937;margin:0 0 12px;font-size:24px}.back-device-list{align-items:center;gap:6px;height:34px;color:#475569!important;border-radius:6px!important;padding:0 10px!important;font-size:13px!important;display:inline-flex!important}.back-device-list:hover{background:#e2e8f0!important}.monitor-toolbar p{margin:0}.monitor-points-table th:first-child{width:42px}.monitor-points-table tr.dragging{opacity:.45}.monitor-points-table tr.drag-over{box-shadow:inset 0 2px #2563eb}.point-grip{color:#94a3b8;cursor:grab;width:17px!important}.disabled-status{color:#64748b;background:#f1f5f9;border-radius:999px;padding:3px 8px;font-size:12px}.point-modal{max-height:90vh;overflow:auto}.point-modal textarea{resize:vertical;min-height:78px;font:inherit;border:1px solid #d1d5db;border-radius:6px;padding:9px 12px}.form-hint{color:#64748b;margin:0;font-size:13px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.conversion-dialog{gap:16px;width:min(512px,100vw - 32px)}.conversion-heading h2{margin:0;font-size:18px;font-weight:600;line-height:18px}.conversion-heading p{color:#6b7280;margin:6px 0 0;font-size:14px}.conversion-list{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;place-items:center;min-height:72px;padding:16px;display:grid}.conversion-list>p{color:#6b7280;margin:0;font-size:13px}.conversion-list.has-rules{place-items:stretch stretch;gap:8px}.conversion-rule{background:#fff;border:1px solid #e5e7eb;border-radius:6px;grid-template-columns:24px 1fr 1fr 28px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:grid}.conversion-rule>span{color:#2563eb;background:#dbeafe;border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;display:grid}.conversion-rule b{font-weight:500}.conversion-rule strong{color:#4b5563;font-weight:400}.conversion-rule button{color:#dc2626;border-radius:5px;place-items:center;width:28px;height:28px;display:grid}.conversion-rule button:hover{background:#fef2f2}.conversion-rule svg{width:14px}.conversion-add{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:16px}.conversion-add h3{color:#374151;margin:0 0 12px;font-size:14px;font-weight:500}.conversion-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 80px;align-items:end;gap:12px;display:grid}.conversion-fields label{gap:4px;min-width:0}.conversion-fields label>span{color:#4b5563;font-size:12px}.conversion-fields input,.conversion-fields select{width:100%;min-width:0}.conversion-fields .primary{width:80px;min-width:80px;padding:0 12px}.conversion-close{width:100%}.device-tools{align-items:center;gap:8px;margin:-8px 0 16px;display:flex}.device-modal{max-height:calc(100vh - 32px);overflow:auto}.switch-row{justify-content:space-between;align-items:center;gap:16px;min-height:42px;display:flex}.switch-row>div{display:grid}.switch-row small{color:#6b7280;font-size:11px;font-weight:400}.switch{flex:none;position:relative;background:#d1d5db!important;border-radius:999px!important;width:36px!important;height:20px!important;padding:0!important}.switch i{background:#fff;border-radius:50%;width:16px;height:16px;transition:all .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.switch.on{background:#2563eb!important}.switch.on i{transform:translate(16px)}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.confirm-copy{color:#4b5563;margin:0;font-size:14px;line-height:21px}.destructive{height:36px;padding:0 16px;font-weight:500;color:#fff!important;background:#dc2626!important;border-radius:6px!important}.destructive:hover{background:#b91c1c!important}.monitoring-form{gap:10px;display:grid}.monitoring-form>p{color:#6b7280;margin:0 0 4px;font-size:13px}.monitor-row{grid-template-columns:1.4fr .8fr .55fr auto;align-items:center;gap:8px;display:grid}.monitor-row input{min-width:0}.add-monitor{justify-self:start}.add-monitor svg{width:15px}.point-modal-mask{align-items:start;padding:24px;overflow:auto}.point-modal{margin:20px auto;border-color:#d1d5db!important;border-radius:12px!important;gap:18px!important;width:min(720px,100vw - 48px)!important;max-height:none!important;padding:34px 38px!important;box-shadow:0 18px 44px #0f172a40!important}.point-modal h2{color:#111827;letter-spacing:0;font-weight:800;line-height:34px;margin:0 0 2px!important;font-size:26px!important}.point-modal-close{place-items:center;width:32px;height:32px;color:#4b5563!important;display:grid!important;top:24px!important;right:24px!important}.point-modal-close svg{height:24px;width:24px!important}.point-form-grid{gap:18px 24px;display:grid}.point-form-grid.two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.point-field{line-height:1.25;color:#374151!important;gap:7px!important;font-size:18px!important;font-weight:750!important;display:grid!important}.point-field>span,.point-switch-row>span{align-items:center;gap:7px;display:inline-flex}.point-field b{color:#ef4444;font-weight:800}.field-info{color:#9ca3af;stroke-width:2px;height:20px;width:20px!important}.point-modal input,.point-modal select,.point-modal textarea{color:#111827;outline:none;width:100%;min-width:0;font-weight:400;line-height:28px;transition:border-color .16s,box-shadow .16s;box-shadow:0 2px 5px #0f172a14;background-color:#fff!important;border:1px solid #d1d5db!important;border-radius:10px!important;font-size:21px!important}.point-modal input,.point-modal select{height:54px!important;padding:0 18px!important}.point-modal textarea{resize:vertical;font-family:inherit;min-height:112px!important;padding:14px 18px!important}.point-modal input:focus,.point-modal select:focus,.point-modal textarea:focus{box-shadow:0 0 0 3px #3b82f62e,0 2px 5px #0f172a14;border-color:#3b82f6!important}.point-switch-row{color:#374151;justify-content:space-between;align-items:center;gap:18px;min-height:34px;font-size:18px;font-weight:750;line-height:1.25;display:flex}.point-modal .switch{box-shadow:0 7px 14px #0f172a1f;width:54px!important;height:30px!important}.point-modal .switch i{width:24px;height:24px;top:3px;left:3px;box-shadow:0 2px 7px #0f172a38}.point-modal .switch.on i{transform:translate(24px)}.point-modal-actions{gap:14px!important;margin-top:12px!important}.point-modal-actions .outline,.point-modal-actions .primary{min-width:92px;font-weight:800;border-radius:8px!important;height:52px!important;padding:0 22px!important;font-size:18px!important}@media (width<=560px){.form-grid{grid-template-columns:1fr}.monitor-row{grid-template-columns:1fr 1fr}}.monitor-page-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.monitor-page-head .replica-title{margin-bottom:0}.monitor-head-actions{color:#9ca3af;white-space:nowrap;align-items:center;gap:14px;font-size:14px;font-weight:650;display:flex}.column-settings-btn{box-shadow:0 1px 2px #0f172a0f;color:#1f2937!important;border-color:#dfe3ea!important;border-radius:8px!important;height:38px!important;padding:0 16px!important;font-size:14px!important}.online-monitor-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 0 14px;display:flex}.monitor-filter-left{align-items:center;gap:10px;min-width:0;display:flex}.monitor-search{align-items:center;display:flex;position:relative}.monitor-search svg{color:#94a3b8;width:15px;position:absolute;left:10px}.monitor-search input{color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:7px;outline:none;width:300px;height:34px;padding:0 12px 0 34px;font-size:12.5px}.monitor-search input:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb1a}.monitor-site-select{align-items:center;display:flex;position:relative}.monitor-site-select svg{z-index:1;color:#64748b;width:16px;position:absolute;left:12px}.online-monitor-toolbar .monitor-site-select select,.topology-map-toolbar select{color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:7px;width:280px;min-width:250px;height:34px;padding:0 34px 0 40px;font-size:13px;font-weight:500}.topology-map-toolbar select{min-width:210px;height:34px;padding:0 28px 0 12px}@media (width>=1500px){.monitor-search input{width:380px}.online-monitor-toolbar .monitor-site-select select{width:346px}}.online-outline{align-items:center;gap:6px;height:34px;font-weight:500;color:#374151!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:7px!important;padding:0 12px!important;font-size:12.5px!important;display:inline-flex!important}.online-outline svg{width:15px!important}.monitor-tabs{border-bottom:1px solid #e5e7eb;align-items:center;min-width:0;height:42px;margin:0 0 14px;display:flex}.monitor-tabs button{align-items:center;gap:7px;height:42px;font-weight:650;color:#6b7280!important;padding:0 18px!important;font-size:14px!important;display:inline-flex!important}.monitor-tabs button.active{box-shadow:inset 0 -2px #2563eb;color:#1d4ed8!important}.monitor-tabs b{color:#2563eb;background:#dbeafe;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;display:inline-flex}.online-status-row{flex-wrap:nowrap;align-items:center;gap:6px;margin:0;display:flex}.online-status-row button{height:28px;font-weight:650;box-shadow:0 1px 2px #0f172a0a;color:#6b7280!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:999px!important;padding:0 11px!important;font-size:12px!important}.online-status-row button.active{color:#fff!important;background:#2563eb!important;border-color:#2563eb!important}.filter-divider{background:#e5e7eb;width:1px;height:22px;margin:0 4px}.online-status-row.compact button{height:24px;font-size:11px!important}.online-monitor-table .table-scroll th,.online-device-table th{background:#f8fafc;height:38px}.online-actions,.online-device-tools{justify-content:flex-start}.online-device-tools span{color:#64748b;margin-left:auto;font-size:14px}.online-device-table td:first-child b{color:#111827;font-weight:550}.column-dialog{align-content:start;width:min(420px,100vw - 32px)}.column-dialog p{color:#64748b;margin:0;font-size:13px;line-height:1.6}.check-row{align-items:center;grid-template-columns:none!important;gap:8px!important;display:flex!important}.check-row input{width:16px;height:16px}.topology-online{grid-template-columns:minmax(0,1fr) 320px;gap:16px;min-height:calc(100vh - 110px);display:grid}.topology-map-panel,.topology-side-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000000d}.topology-map-toolbar{z-index:2;border-bottom:1px solid #e5e7eb;align-items:center;gap:8px;padding:12px;display:flex;position:relative}.topology-legend{color:#64748b;align-items:center;gap:12px;margin-left:auto;font-size:12px;display:flex}.topology-legend span{align-items:center;gap:5px;display:inline-flex}.topology-legend i{background:#94a3b8;border-radius:50%;width:8px;height:8px}.topology-legend .ok{background:#22c55e}.topology-legend .warn{background:#f59e0b}.topology-canvas{transform-origin:50%;background:linear-gradient(90deg,#e2e8f059 1px,#0000 1px),linear-gradient(#e2e8f059 1px,#0000 1px),#f8fafc;background-size:calc(34px * var(--zoom)) calc(34px * var(--zoom));min-height:620px;position:relative}.topology-canvas.placing{cursor:crosshair;background-color:#eff6ff}.floor-label{color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:7px;padding:8px 12px;font-size:13px;font-weight:650;position:absolute;top:24px;left:24px}.map-marker{align-items:center;gap:6px;max-width:210px;position:absolute;box-shadow:0 8px 20px #0f172a14;color:#1f2937!important;background:#fff!important;border:1px solid #bfdbfe!important;border-radius:8px!important;padding:8px 10px!important;font-size:12px!important;display:flex!important}.map-marker svg{color:#2563eb;width:15px!important}.map-marker.warn{background:#fffbeb!important;border-color:#fbbf24!important}.map-marker.warn svg{color:#d97706}.map-marker.offline{opacity:.68;border-color:#cbd5e1!important}.zoom-controls{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:grid;position:absolute;top:72px;right:14px;overflow:hidden;box-shadow:0 8px 20px #0f172a14}.zoom-controls button{color:#374151;width:34px;height:32px;font-size:15px}.zoom-controls button+button{border-top:1px solid #f1f5f9}.topology-side-panel{padding:12px}.mobile-list-toggle{display:none}.topology-side-tabs{background:#f1f5f9;border-radius:7px;gap:4px;padding:4px;display:flex}.topology-side-tabs button{flex:1;height:28px;font-weight:650;color:#6b7280!important;border-radius:5px!important;font-size:12.5px!important}.topology-side-tabs button.active{box-shadow:0 1px 2px #00000014;color:#111827!important;background:#fff!important}.topology-search{width:100%;margin:10px 0}.topology-search input{width:100%}.map-device-list{gap:4px;margin-top:10px;display:grid}.map-device-list button{text-align:left;align-items:center;gap:8px;width:100%;min-height:42px;color:#374151!important;border-radius:7px!important;padding:8px 10px!important;font-size:13px!important;display:flex!important}.map-device-list button:hover{background:#f3f4f6!important}.map-device-list svg{color:#2563eb;flex:none;width:16px!important}@media (width<=860px){.monitor-page-head,.online-monitor-toolbar,.monitor-filter-left{flex-direction:column;align-items:stretch}.monitor-head-actions{white-space:normal;flex-direction:column;align-items:flex-start;gap:8px}.online-status-row{flex-wrap:wrap}.monitor-search input,.online-monitor-toolbar .monitor-site-select select{width:100%;min-width:0}.monitor-tabs{overflow-x:auto}.topology-online{grid-template-columns:1fr}.topology-map-toolbar{flex-direction:column;align-items:stretch}.topology-legend{margin-left:0}}.actions-head{text-align:right!important}.device-tools{color:#64748b;margin-top:-8px;font-size:14px}.device-tools .outline{gap:6px;height:32px;padding:0 12px;font-size:12px}.device-tools>span{margin-left:4px}.device-tools .device-add{height:36px;margin-left:auto}.title-actions>.primary{height:32px;padding:0 12px;font-size:12px;box-shadow:0 1px 2px #0000000d;color:#111827!important;background:#fff!important;border:1px solid #d1d5db!important}.title-actions>.primary:hover{background:#f3f4f6!important}.device-summary+.panel{overflow:hidden}.device-summary+.panel .panel-head{border-bottom:1px solid #e5e7eb;padding:16px}.device-summary+.panel table{table-layout:auto;min-width:720px}.device-summary+.panel th,.device-summary+.panel td{text-align:right}.device-summary+.panel th:first-child,.device-summary+.panel td:first-child{text-align:left;font-weight:500}.device-summary .status,.device-summary+.panel .status{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.topology-stack{gap:16px;display:grid}.topology-site{padding:16px}.topology-site-title{align-items:center;gap:8px;margin-bottom:20px;display:flex}.topology-site-title>svg{color:#2563eb}.topology-site-title h2{margin:0;font-size:16px}.topology-site-title span{color:#64748b;margin-left:auto;font-size:12px}.topology-flow{position:relative}.root-node{background:#eff6ff;border:1px solid #93c5fd;border-radius:8px;align-items:center;gap:10px;min-width:210px;padding:12px;display:inline-flex}.root-node>svg{color:#2563eb}.root-node>div{display:grid}.root-node small{color:#64748b}.branch-line{background:#cbd5e1;width:2px;height:22px;margin-left:24px}.child-nodes{border-left:2px solid #cbd5e1;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;padding-left:24px;display:grid}.topology-site .node-card{background:#fff;margin:0}.system-tabs{background:#e5e7eb;border:1px solid #e2e8f0;border-radius:8px;gap:2px;margin-bottom:20px;padding:4px;display:inline-flex}.system-tabs button{color:#4b5563;border:0;border-radius:6px;height:32px;padding:0 12px;font-size:12px}.system-tabs button.active{color:#111827;background:#fff;border:0;box-shadow:0 1px 2px #00000014}.row-buttons button{gap:4px}.row-buttons button svg{width:13px;height:13px}.notify-sites{border:1px solid #e5e7eb;border-radius:6px;gap:14px;padding:12px;display:flex}.notify-sites legend{color:#374151;padding:0 4px;font-size:13px;font-weight:500}.notify-sites label{align-items:center;gap:5px;font-weight:400;display:flex}.notify-sites input{width:15px;height:15px}@media (width<=760px){.device-tools{flex-wrap:wrap}.device-tools .device-add{margin-left:0}.child-nodes{grid-template-columns:1fr}.system-tabs{width:100%;display:flex;overflow-x:auto}}.dashboard-detail-grid{align-items:start;margin-bottom:24px}.distribution-panel,.dashboard-alert-panel{margin:0;padding:18px}.dashboard-panel-head{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.dashboard-panel-head h2{margin:0;font-size:16px}.dashboard-panel-head p{color:#64748b;margin:4px 0 0;font-size:12px}.dashboard-panel-head>strong{color:#1d4ed8;white-space:nowrap;font-size:20px}.dashboard-panel-head>strong small{color:#64748b;font-size:11px;font-weight:500}.distribution-list{gap:14px;padding-top:16px;display:grid}.distribution-row{border-radius:6px;outline:none;grid-template-columns:minmax(0,1fr) 48px;align-items:center;gap:6px 10px;display:grid;position:relative}.distribution-row:focus-visible{box-shadow:0 0 0 1px #2563eb}.distribution-label{grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.distribution-label span{color:#374151;font-weight:500}.distribution-label b{color:#111827;font-variant-numeric:tabular-nums}.distribution-track{background:#e5e7eb;border-radius:999px;height:9px;overflow:hidden}.distribution-track i{border-radius:999px;height:100%;display:block}.distribution-row>small{color:#64748b;text-align:right;font-variant-numeric:tabular-nums;font-size:11px}.alert-count{color:#b45309;white-space:nowrap;background:#fef3c7;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:600}.alert-panel-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.alert-recovery-btn,.alert-reset-btn{height:32px;padding:0 10px;font-size:12px}.alert-recovery-btn svg,.alert-reset-btn svg{width:14px}.dashboard-alert-list{gap:12px;padding-top:14px;display:grid}.alert-group{gap:10px;display:grid}.alert-group.notified-group{border-top:1px dashed #cbd5e1;margin-top:2px;padding-top:12px}.alert-group-title{color:#64748b;justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.alert-group-title b{color:#475569;background:#f1f5f9;border-radius:999px;padding:2px 7px;font-size:10px}.alert-group-empty{color:#64748b;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;padding:10px 12px;font-size:11px}.dashboard-alert{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:10px;padding:11px;transition:transform .24s,border-color .24s,background .24s,opacity .24s;display:flex}.dashboard-alert.acknowledged{background:#f8fafc;border-color:#cbd5e1;animation:.24s alertSink}.dashboard-alert.warning{border-left:3px solid #f59e0b}.dashboard-alert.info{border-left:3px solid #60a5fa}.dashboard-alert.acknowledged{border-left-color:#94a3b8}.alert-check{cursor:pointer;flex:0 0 24px;place-items:center;width:24px;height:30px;display:grid}.alert-check input{opacity:0;pointer-events:none;position:absolute}.alert-check span{color:#0000;background:#fff;border:1px solid #cbd5e1;border-radius:6px;place-items:center;width:20px;height:20px;transition:all .18s;display:grid}.alert-check svg{width:14px;height:14px}.alert-check input:focus-visible+span{outline-offset:2px;outline:1px solid #2563eb}.alert-check input:checked+span{color:#fff;background:#2563eb;border-color:#2563eb}.alert-symbol{color:#b45309;background:#fef3c7;border-radius:7px;flex:0 0 30px;place-items:center;width:30px;height:30px;display:grid}.dashboard-alert.info .alert-symbol{color:#2563eb;background:#dbeafe}.dashboard-alert.acknowledged .alert-symbol{color:#475569;background:#e2e8f0}.alert-symbol svg{width:15px}.alert-copy{flex:1;min-width:0}.alert-copy>div{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.alert-title-wrap{align-items:center;gap:6px;min-width:0;display:inline-flex}.alert-copy strong{font-size:12px;line-height:18px}.alert-help{flex:0 0 17px;place-items:center;width:17px;height:17px;font-weight:700;line-height:1;display:inline-grid;position:relative;color:#2563eb!important;background:#eff6ff!important;border:1px solid #bfdbfe!important;border-radius:999px!important;font-size:11px!important}.alert-help>span{transform:translateY(-.5px)}.alert-help em{z-index:8;color:#334155;text-align:left;white-space:normal;background:#fff;border:1px solid #dbeafe;border-radius:8px;width:min(260px,72vw);padding:9px 10px;font-size:12px;font-style:normal;font-weight:400;line-height:18px;display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 12px 26px #0f172a29}.alert-help:hover em,.alert-help:focus-visible em{display:block}.alert-copy p{color:#4b5563;margin:4px 0 7px;font-size:11px;line-height:16px}.alert-formula{color:#475569;text-overflow:ellipsis;white-space:nowrap;background:#f1f5f9;border-radius:6px;max-width:100%;margin:0 0 7px;padding:3px 6px;font-family:JetBrains Mono,monospace;font-size:10px;font-style:normal;display:inline-block;overflow:hidden}.alert-copy small{color:#64748b;align-items:center;gap:4px;font-size:10px;line-height:14px;display:flex}.alert-copy small svg{width:11px;height:11px}.alert-copy small svg:nth-of-type(2){margin-left:6px}.alert-status{white-space:nowrap;border-radius:999px;padding:2px 6px;font-size:10px}.alert-status.warning{color:#b45309;background:#fef3c7}.alert-status.info{color:#1d4ed8;background:#dbeafe}.alert-status.unhandled{color:#92400e;background:#fde68a}.alert-status.notified{color:#475569;background:#e2e8f0}.dashboard-title-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.dashboard-site-filter{color:#64748b;gap:4px;font-size:11px;display:grid}.dashboard-site-filter select{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:6px;min-width:180px;height:36px;padding:0 30px 0 10px}.dashboard-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.dashboard-kpi-grid .metric-card{min-width:0;padding:15px}.dashboard-kpi-grid .metric-card strong{font-size:21px}.demand-card.warning{background:#fffbeb;border-color:#fbbf24}.alert-kpi{border-color:#fde68a}.balance-summary{border-top:1px solid #e2e8f0;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px;padding-top:14px;display:grid}.balance-summary span{color:#64748b;gap:3px;font-size:10px;display:grid}.balance-summary b{color:#111827;font-size:12px}.dashboard-empty{color:#64748b;place-items:center;min-height:180px;font-size:12px;display:grid}.dashboard-empty.alert-empty{gap:8px}.dashboard-empty.alert-empty p{margin:0}.dashboard-empty.alert-empty small{color:#64748b;font-size:11px}.dashboard-empty svg{color:#22c55e;width:34px;height:34px}.water-overview-panel{margin-bottom:24px;padding:18px}.live-badge{color:#64748b;align-items:center;gap:6px;font-size:11px;display:flex}.live-badge i{background:#22c55e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #dcfce7}.water-sensor-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding-top:16px;display:grid}.water-sensor-grid article{background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:10px;min-width:0;padding:12px;display:flex}.water-sensor-grid article.warning{background:#fffbeb;border-color:#fbbf24}.water-sensor-icon{color:#0284c7;background:#e0f2fe;border-radius:7px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.water-sensor-icon.level{color:#4f46e5;background:#e0e7ff}.water-sensor-icon.pressure{color:#059669;background:#d1fae5}.water-sensor-icon svg{width:17px}.water-sensor-grid article>div:last-child{min-width:0;display:grid}.water-sensor-grid span{color:#64748b;font-size:9px}.water-sensor-grid strong{text-overflow:ellipsis;white-space:nowrap;margin:3px 0;font-size:11px;overflow:hidden}.water-sensor-grid p{margin:0;font-size:17px;font-weight:700}.water-sensor-grid small{color:#64748b;margin-top:3px;font-size:9px}.carbon-overview-section{margin-bottom:24px}.carbon-overview-section>h2{align-items:center;gap:8px;margin:0 0 12px;font-size:18px;display:flex}.carbon-overview-section>h2 svg{color:#2563eb;background:#dbeafe;border-radius:5px;width:20px;padding:3px}.chart-hover-tooltip{z-index:8;color:#111827;pointer-events:none;background:#fff;border:1px solid #dbeafe;border-radius:7px;gap:2px;min-width:128px;padding:8px 10px;display:grid;position:absolute;box-shadow:0 12px 26px #0f172a24}.chart-hover-tooltip b{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.chart-hover-tooltip small{color:#2563eb;font-size:11px;font-weight:700}.distribution-tooltip{top:-10px;right:54px}.carbon-overview-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(360px,2fr);gap:16px;display:grid}.carbon-card,.carbon-breakdown{min-height:210px;padding:24px}.carbon-card{flex-direction:column;justify-content:flex-start;gap:8px;display:flex;position:relative}.carbon-card>svg{color:#34d399;width:18px;height:18px;position:absolute;top:28px;right:24px}.carbon-card span,.carbon-breakdown h3{color:#64748b;font-size:13px;font-weight:700}.carbon-card strong{color:#059669;font-size:28px;line-height:36px}.carbon-card small{color:#64748b;margin-left:4px;font-size:13px;font-weight:700}.carbon-card p{color:#64748b;margin:8px 0 0;font-size:12px}.carbon-breakdown h3{margin:0 0 14px}.carbon-donut-row{align-items:center;gap:28px;display:flex}.carbon-donut-wrap{flex:0 0 150px;position:relative}.carbon-donut{cursor:crosshair;border-radius:50%;place-items:center;width:150px;height:150px;display:grid}.carbon-donut i{background:#fff;border-radius:50%;width:78px;height:78px;display:block}.carbon-tooltip{top:50%;left:50%;transform:translate(-50%,-50%)}.carbon-legend{gap:9px;min-width:220px;display:grid}.carbon-legend>div{color:#64748b;border-radius:6px;outline:none;grid-template-columns:10px minmax(0,1fr) 78px;align-items:center;gap:8px;padding:3px 4px;font-size:12px;display:grid}.carbon-legend>div:hover,.carbon-legend>div:focus-visible{background:#f8fafc;box-shadow:inset 0 0 0 1px #dbeafe}.carbon-legend span{border-radius:50%;width:10px;height:10px}.carbon-legend b{color:#374151;text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.carbon-legend strong{color:#111827;text-align:right;font-variant-numeric:tabular-nums}.dashboard-analysis-grid{align-items:stretch;margin-bottom:24px}.trend-panel,.performance-panel{margin:0;padding:18px}.segmented.compact{padding:3px}.segmented.compact button{height:25px;padding:0 10px}.dashboard-line-chart{padding-top:10px;position:relative}.dashboard-line-chart>span{color:#94a3b8;font-size:9px;position:absolute;top:8px;left:0}.dashboard-line-chart svg{width:100%;height:190px;overflow:visible}.dashboard-line-chart line{stroke:#e2e8f0;stroke-width:1px}.dashboard-line-chart polygon{fill:#dbeafe;opacity:.65}.dashboard-line-chart polyline{fill:none;stroke:#2563eb;stroke-width:3px;vector-effect:non-scaling-stroke}.trend-point{fill:#fff;stroke:#2563eb;stroke-width:2px;opacity:0;pointer-events:none}.trend-point.active{opacity:1}.trend-hotspots{position:absolute;inset:10px 0 26px}.trend-hotspot{z-index:3;cursor:crosshair;pointer-events:none;background:0 0;border:0;border-radius:999px;width:24px;height:24px;position:absolute;transform:translate(-50%,-50%)}.trend-hotspot:focus-visible{outline-offset:2px;outline:1px solid #2563eb}.trend-tooltip{z-index:6;color:#111827;pointer-events:none;background:#fff;border:1px solid #dbeafe;border-radius:7px;gap:2px;min-width:82px;padding:7px 9px;font-size:11px;display:grid;position:absolute;transform:translate(-50%,-100%);box-shadow:0 10px 24px #0f172a1f}.trend-tooltip b{font-size:11px}.trend-tooltip small{color:#2563eb;font-size:11px;font-weight:700}.dashboard-line-chart>div{color:#94a3b8;justify-content:space-between;display:flex}.dashboard-line-chart small{font-size:8px}.performance-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:16px;display:grid}.performance-list>div{border:1px solid #e2e8f0;border-radius:7px;gap:5px;padding:13px;display:grid}.performance-list span{color:#64748b;font-size:10px}.performance-list b{font-size:18px}.performance-list small{border-radius:999px;justify-self:start;padding:3px 7px;font-size:9px}.performance-list .ready{color:#15803d;background:#dcfce7}.performance-list .calibrating{color:#1d4ed8;background:#dbeafe}.performance-list .pending{color:#b45309;background:#fef3c7}.historical-export-control{align-items:center;gap:8px;display:flex}.historical-export-control select{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:6px;min-width:260px;height:36px;padding:0 32px 0 10px;font-size:13px}.export-hint{background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;align-items:center;gap:8px;min-width:240px;padding:8px 10px;display:flex}.export-hint svg{color:#2563eb;width:17px}.export-hint span{min-width:0;display:grid}.export-hint b{color:#374151;font-size:12px}.export-hint small{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.alarm-condition-page{gap:16px;display:grid}.alarm-settings-card{gap:18px;padding:24px;display:grid}.alarm-settings-head{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;display:flex}.alarm-settings-card h2{margin:0;font-size:18px}.alarm-settings-card p{color:#64748b;max-width:760px;margin:6px 0 0;font-size:13px;line-height:20px}.alarm-condition-list{gap:14px;display:grid}.alarm-condition-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:14px;padding:16px;display:grid}.condition-card-title{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.condition-card-title strong{font-size:15px;display:block}.condition-card-title small{color:#64748b;margin-top:3px;font-size:12px;display:block}.condition-switch{color:#475569;background:#f8fafc;border:1px solid #d1d5db;border-radius:999px;align-items:center;gap:7px;padding:5px 8px;font-size:12px;font-weight:600;display:inline-flex}.condition-switch input{accent-color:#2563eb;width:14px;height:14px}.condition-severity{border-radius:999px;padding:4px 8px;font-size:11px;font-style:normal;font-weight:700}.condition-severity.warning{color:#92400e;background:#fef3c7}.condition-severity.info{color:#1d4ed8;background:#dbeafe}.condition-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.condition-grid label{color:#374151;gap:6px;min-width:0;font-size:12px;font-weight:600;display:grid}.condition-grid input,.condition-grid select,.condition-grid textarea{color:#111827;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:0 10px;font-size:13px}.condition-grid input,.condition-grid select{height:36px}.condition-grid textarea{resize:vertical;min-height:70px;padding-top:8px;line-height:18px}.condition-formula,.condition-note{grid-column:span 2}.condition-formula textarea{font-family:JetBrains Mono,monospace}@media (width<=1200px){.dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.carbon-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.carbon-breakdown{grid-column:1/-1}.condition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.water-sensor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.dashboard-panel-head{gap:8px}.alert-panel-actions{align-items:flex-start}.distribution-panel,.dashboard-alert-panel{padding:14px}.alert-copy small{flex-wrap:wrap}.dashboard-title-row{flex-direction:column;align-items:stretch}.dashboard-site-filter select{width:100%}.dashboard-kpi-grid,.water-sensor-grid,.carbon-overview-grid{grid-template-columns:1fr}.carbon-breakdown{grid-column:auto}.carbon-donut-row{flex-direction:column;align-items:flex-start}.historical-export-control{flex-direction:column;align-items:stretch;width:100%}.historical-export-control select{width:100%;min-width:0}.alarm-settings-head{flex-direction:column;align-items:stretch}.condition-card-title{grid-template-columns:1fr}.condition-grid,.condition-formula,.condition-note{grid-column:auto;grid-template-columns:1fr}.water-overview-panel,.trend-panel,.performance-panel{padding:14px}.balance-summary,.performance-list{grid-template-columns:1fr}.dashboard-line-chart small:nth-child(2n){display:none}}.refactor-visual{--refactor-bg:#eef2f6;--refactor-surface:#fff;--refactor-surface-soft:#f8fafc;--refactor-border:#d8e0ea;--refactor-ink:#111827;--refactor-muted:#667085;--refactor-blue:#1d4ed8;--refactor-cyan:#0891b2;--refactor-green:#059669;background:var(--refactor-bg);color:var(--refactor-ink)}.refactor-visual header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border-bottom-color:#1d4ed824;height:68px;box-shadow:0 10px 30px #0f172a0f}.refactor-visual header h1{align-items:baseline;gap:10px;display:flex}.refactor-visual header h1 b{color:#0f172a;letter-spacing:0;font-size:18px}.refactor-visual header h1 span{color:var(--refactor-muted);letter-spacing:0;font-size:12px}.refactor-visual aside{background:linear-gradient(#fff 0%,#f8fbff 100%);border-right-color:#1d4ed821;width:252px;top:68px;box-shadow:10px 0 28px #0f172a09}.refactor-visual main{background:linear-gradient(180deg, #dbeafe9e 0, #eef2f600 260px), var(--refactor-bg);margin-left:252px;padding:96px 28px 44px}.refactor-visual nav{padding:18px 14px}.refactor-visual nav button{color:#475569;border:1px solid #0000;border-radius:8px;height:42px}.refactor-visual nav button:hover{color:#0f172a;background:#fff;border-color:#e2e8f0}.refactor-visual nav button.active{color:var(--refactor-blue);box-shadow:inset 3px 0 0 var(--refactor-blue);background:#eff6ff;border-color:#bfdbfe}.refactor-visual .replica-title{margin-bottom:18px}.refactor-visual .replica-title h1{color:#0f172a;font-size:26px}.refactor-visual .panel,.refactor-visual .metric-card,.refactor-visual .topology-lane,.refactor-visual .node-card,.refactor-visual .water-sensor-grid article,.refactor-visual .alarm-condition-card{border-color:var(--refactor-border);background:#fffffff5;box-shadow:0 10px 30px #0f172a0f}.refactor-visual .metric-card{border-radius:8px;min-height:118px}.refactor-visual .metric-icon,.refactor-visual .carbon-overview-section>h2 svg{color:var(--refactor-blue);background:#dbeafe}.refactor-visual .metric-icon.green,.refactor-visual .water-sensor-icon.pressure{color:var(--refactor-green);background:#d1fae5}.refactor-visual .metric-card strong,.refactor-visual .performance-list b{color:#0f172a;font-variant-numeric:tabular-nums}.refactor-visual .primary{box-shadow:0 8px 18px #1d4ed838;background:var(--refactor-blue)!important}.refactor-visual .primary:hover{background:#1e40af!important}.refactor-visual .outline,.refactor-visual .date-btn{box-shadow:0 1px 2px #0f172a0a;background:#fff!important;border-color:#cbd5e1!important}.refactor-visual .segmented{background:#f8fafc;border-color:#cbd5e1}.refactor-visual .segmented button.active,.refactor-visual .pagination button.active{background:var(--refactor-blue)}.refactor-visual .dashboard-panel-head,.refactor-visual .alarm-settings-head{border-bottom-color:var(--refactor-border)}.refactor-visual .dashboard-panel-head h2,.refactor-visual section>h2,.refactor-visual .panel h3{color:#0f172a}.refactor-visual .dashboard-line-chart polygon{fill:#bae6fd;opacity:.55}.refactor-visual .dashboard-line-chart polyline,.refactor-visual .line-chart polyline,.refactor-visual .trend-point{stroke:var(--refactor-cyan)}.refactor-visual .table-scroll th{color:#475569;background:#f1f5f9;font-weight:650}.refactor-visual .table-scroll tbody tr:hover{background:#f8fbff}.refactor-visual input,.refactor-visual select,.refactor-visual textarea{border-color:#cbd5e1!important}.refactor-visual input:focus-visible,.refactor-visual select:focus-visible,.refactor-visual textarea:focus-visible{box-shadow:0 0 0 1px var(--refactor-blue);outline:none;border-color:var(--refactor-blue)!important}.refactor-visual .status,.refactor-visual .live-badge i{color:#15803d;background:#dcfce7}.refactor-visual .replica-toast{color:var(--refactor-blue);border-color:#bfdbfe}.refactor-visual.collapsed aside{width:68px}.refactor-visual.collapsed main{margin-left:68px}@media (width<=760px){.refactor-visual header{height:58px}.refactor-visual aside{width:252px;top:58px}.refactor-visual main,.refactor-visual.collapsed main{margin-left:0;padding:72px 12px 24px}.refactor-visual header h1{display:block}.refactor-visual header h1 span{display:none}}:root{color:#21333e;--chart-axis-font-size:12px;--chart-dense-font-size:11px;--chart-legend-font-size:12px;--chart-tooltip-font-size:13px;background:#f5f8fb;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif}html,body,#root{width:100%;max-width:100%;overflow-x:hidden}body{background:#f5f8fb;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}.live-login{color:#21333e;background:linear-gradient(145deg,#e7f5fa 0%,#d8eef6 52%,#edf8fb 100%);place-items:center;min-height:100vh;padding:48px 24px;display:grid;position:relative;overflow:hidden}.live-login:before{opacity:.34;content:"";background-image:linear-gradient(#005c821a 1px,#0000 1px),linear-gradient(90deg,#005c821a 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 42% 58%,#000);mask-image:linear-gradient(90deg,#000,#0000 42% 58%,#000)}.live-login:after{content:"";border:72px solid #005c8214;border-radius:50%;width:640px;height:640px;position:absolute;bottom:-360px;right:-260px}.login-energy-pattern{z-index:0;pointer-events:none;position:absolute;inset:0}.energy-node{color:#005c8254;background:#ffffff59;border:1px solid #005c8224;border-radius:18px;place-items:center;width:64px;height:64px;display:grid;position:absolute;box-shadow:0 12px 40px #005c820d}.energy-node svg{stroke-width:1.5px;width:28px;height:28px}.energy-node.solar{top:17%;left:8%}.energy-node.wind{bottom:17%;left:17%}.energy-node.power{top:19%;right:11%}.energy-node.battery{bottom:16%;right:18%}.energy-flow{transform-origin:0;background:#005c8229;justify-content:space-between;height:1px;display:flex;position:absolute}.energy-flow i{background:#dff1f7;border:2px solid #005c8233;border-radius:50%;width:8px;height:8px;margin-top:-3px}.energy-flow.flow-one{width:31%;top:54%;left:7%;transform:rotate(-18deg)}.energy-flow.flow-two{width:29%;top:57%;right:5%;transform:rotate(20deg)}.login-panel{z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #aecfdbb8;border-radius:18px;flex-direction:column;width:min(440px,100%);min-height:680px;padding:38px 44px 26px;display:flex;position:relative;box-shadow:0 28px 72px #1d5b7224}.login-brand{text-align:center;justify-items:center;display:grid}.login-brand img{object-fit:contain;width:74px;height:74px}.login-brand strong{color:#005c82;letter-spacing:.04em;margin-top:8px;font-family:Poppins,Noto Sans TC,sans-serif;font-size:27px;font-weight:700;line-height:34px}.login-brand span{color:#526d79;font-size:13px;font-weight:500;line-height:20px}.login-heading{text-align:center;margin-top:28px}.login-heading h1{color:#21333e;margin:0;font-size:22px;line-height:30px}.login-heading p{color:#526d79;max-width:340px;margin:8px auto 0;font-size:14px;font-weight:500;line-height:23px}.login-fields{gap:17px;margin-top:26px;display:grid}.login-fields label{color:#465d68;gap:7px;font-size:13px;font-weight:700;display:grid}.login-input{background:#fff;border:1px solid #d7e2e8;border-radius:9px;align-items:center;gap:10px;height:44px;padding:0 12px;transition:border-color .15s,box-shadow .15s;display:flex}.login-input:focus-within{border-color:#0b83a9;box-shadow:0 0 0 3px #0b83a91a}.login-input>svg{color:#78909b;flex:none;width:17px;height:17px}.login-input input{color:#21333e;background:0 0;border:0;outline:0;flex:1;min-width:0;height:100%;padding:0;font-size:13px}.login-input input::placeholder{color:#9eacb2}.login-input button{color:#78909b;background:0 0;border-radius:6px;place-items:center;width:30px;height:30px;padding:0;display:grid}.login-input button:hover{color:#005c82;background:#eef7fa}.login-input button svg{width:17px;height:17px}.login-submit{color:#fff;background:#005c82;border-radius:8px;height:42px;margin-top:3px;font-size:14px;font-weight:700;transition:background .15s,transform .15s;box-shadow:0 5px 14px #005c822e}.login-submit:hover{background:#074c68}.login-submit:active{transform:translateY(1px)}.login-divider{color:#8a969c;place-items:center;height:17px;font-size:10px;display:grid;position:relative}.login-divider:before{content:"";background:#e1e9ed;height:1px;position:absolute;top:50%;left:0;right:0}.login-divider span{background:#fff;padding:0 10px;position:relative}.quick-login{color:#005c82;background:#f4fafc;border:1px solid #9dcbdc;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:42px;font-size:14px;font-weight:800;transition:border-color .15s,background .15s,transform .15s;display:inline-flex}.quick-login:hover{background:#e7f4f8;border-color:#0b83a9}.quick-login:active{transform:translateY(1px)}.quick-login svg{width:17px;height:17px}.login-footer{color:#8a969c;justify-content:space-between;align-items:center;margin-top:auto;padding-top:24px;font-size:10px;display:flex}.login-footer small{font-size:inherit}.form-error{color:#b42318;background:#fff3f1;border:1px solid #ffd0c8;border-radius:10px;padding:10px 12px;font-size:13px}.live-shell{color:#21333e;background:#f5f8fb;min-height:100vh;font:16px/24px Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;overflow-x:hidden}.live-sidebar{z-index:30;background:#fff;border-right:1px solid #e1e9ed;flex-direction:column;width:248px;padding:24px 12px;transition:width .18s,transform .18s;display:flex;position:fixed;inset:0 auto 0 0}.brand-block{text-align:left;justify-content:flex-start;align-items:center;gap:8px;height:46px;margin-bottom:24px;padding:0 5px;display:flex}.brand-logo{object-fit:contain;flex:0 0 40px;width:40px;height:40px;padding:0}.brand-block div:last-child{white-space:nowrap;align-items:center;min-width:0;line-height:22px;display:flex}.brand-block strong{color:#005c82;letter-spacing:0;font-family:Poppins,Noto Sans TC,sans-serif;font-size:22px;font-weight:800;line-height:27px}.brand-block small{color:#526d79;letter-spacing:.02em;font-size:11px;font-weight:700;line-height:16px}.live-sidebar nav{grid-auto-rows:max-content;align-content:start;gap:3px;display:grid}.sidebar-nav{scrollbar-width:thin;flex:auto;min-height:0;padding-right:2px;overflow:hidden auto}.sidebar-group{gap:2px;display:grid}.sidebar-group-toggle .group-chevron{transform-origin:50%;flex:0 0 16px;width:16px;height:16px;margin-left:auto;transition:transform .18s;display:block}.sidebar-group.open .group-chevron{transform:rotate(180deg)}.sidebar-subnav{gap:2px;display:grid}.live-sidebar nav .sidebar-subnav button{color:#526b77;min-height:34px;padding:5px 12px 5px 32px;font-size:13px;font-weight:500}.live-sidebar nav .sidebar-subnav button svg{width:16px;height:16px}.live-sidebar nav .sidebar-group-toggle.group-active{color:#21333e}.live-sidebar nav button{color:#627782;text-align:left;background:0 0;border-radius:10px;align-items:center;gap:10px;width:215px;min-height:38px;padding:6px 12px;font-size:14px;font-weight:600;display:flex}.live-sidebar nav button svg{width:18px;height:18px}.live-sidebar nav button:hover,.live-sidebar nav button.selected{color:#005c82;background:#e5f2f7}.sidebar-collapse{z-index:2;color:#0000008a;background:0 0;border-radius:999px;place-items:center;width:28px;height:28px;transition:left .18s,transform .18s;display:grid;position:absolute;bottom:24px;left:195px}.sidebar-footer{background:#fff;flex:none;width:100%;margin-top:auto;padding:16px 0 0}.sidebar-nav>.sidebar-nav-item:last-child{margin-top:10px}.developer-docs-page{color:#21333e;background:#f5f8fb;min-height:100vh}.developer-docs-header{background:#fff;border-bottom:1px solid #e1e9ed;justify-content:space-between;align-items:center;gap:20px;height:72px;padding:0 clamp(20px,4vw,64px);display:flex}.developer-docs-brand{align-items:center;gap:11px;display:flex}.developer-docs-brand img{object-fit:contain;width:38px;height:38px}.developer-docs-brand>div{gap:1px;display:grid}.developer-docs-brand strong{color:#005c82;font-family:Poppins,Noto Sans TC,sans-serif;font-size:19px;font-weight:800;line-height:23px}.developer-docs-brand span{color:#78909b;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:700;line-height:14px}.developer-docs-header>button{color:#005c82;background:#fff;border:1px solid #d7e2e8;border-radius:8px;align-items:center;gap:7px;height:36px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.developer-docs-header>button:hover{background:#f4fafc;border-color:#9dcbdc}.developer-docs-header>button svg{width:15px;height:15px}.developer-docs-tabs{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border-bottom:1px solid #dbe5e9;align-items:end;gap:28px;height:54px;padding:0 clamp(20px,4vw,64px);display:flex;position:sticky;top:0}.developer-docs-tabs button{color:#78909b;background:0 0;height:54px;padding:0 2px;font-size:14px;font-weight:700;position:relative}.developer-docs-tabs button:after{content:"";background:0 0;border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:0;right:0}.developer-docs-tabs button:hover,.developer-docs-tabs button.active{color:#005c82}.developer-docs-tabs button.active:after{background:#005c82}.developer-docs-main{width:min(1480px,100%);margin:0 auto;padding:32px clamp(20px,4vw,64px) 56px}.dev-release-page{gap:24px;display:grid}.dev-release-overview,.dev-release-list-section{background:#fff;border:1px solid #e1e9ed;border-radius:16px}.dev-release-overview{grid-template-columns:minmax(340px,.85fr) minmax(520px,1.15fr);align-items:center;gap:50px;min-height:246px;padding:36px;display:grid}.dev-release-heading>span,.dev-release-list-section>header>span{color:#527180;letter-spacing:.08em;font-size:11px;font-weight:800}.dev-release-heading h1{color:#21333e;margin:10px 0 8px;font-size:34px;line-height:42px}.dev-release-heading p{color:#627782;max-width:600px;margin:0;font-size:14px;line-height:24px}.dev-release-summary{background:#f8fbfc;border:1px solid #d8e5ea;border-radius:12px;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:28px;min-height:166px;padding:24px 28px;display:grid}.dev-release-summary>div{align-content:center;gap:3px;display:grid}.dev-release-summary>div>span{color:#627782;font-size:12px;font-weight:700}.dev-release-summary>div>strong{color:#005c82;font-variant-numeric:tabular-nums;font-size:34px;line-height:42px}.dev-release-summary>div>i{color:#16836d;background:#e8f6ee;border-radius:6px;width:fit-content;padding:3px 8px;font-size:11px;font-style:normal;font-weight:700}.dev-release-summary dl{border-left:1px solid #dce6ea;gap:10px;margin:0;padding-left:28px;display:grid}.dev-release-summary dl div{grid-template-columns:72px minmax(0,1fr);gap:12px;display:grid}.dev-release-summary dt{color:#8a969c;font-size:11px}.dev-release-summary dd{overflow-wrap:anywhere;color:#465d68;margin:0;font-size:12px;font-weight:700}.dev-release-list-section{overflow:hidden}.dev-release-list-section>header{border-bottom:1px solid #e8eef2;padding:25px 30px 20px}.dev-release-list-section>header h2{margin:7px 0 3px;font-size:20px;line-height:28px}.dev-release-list-section>header p{color:#627782;margin:0;font-size:12px}.dev-release-list{padding:0 30px}.dev-release-list article{border-bottom:1px solid #e8eef2;grid-template-columns:190px minmax(0,1fr);gap:30px;padding:24px 0;display:grid}.dev-release-list article:last-child{border-bottom:0}.dev-release-version{flex-wrap:wrap;align-content:start;align-items:baseline;gap:5px 10px;display:flex}.dev-release-version strong{color:#005c82;font-variant-numeric:tabular-nums;font-size:16px;line-height:24px}.dev-release-version time{color:#8a969c;font-size:11px}.dev-release-version span{color:#16836d;background:#e8f6ee;border-radius:6px;width:fit-content;padding:3px 8px;font-size:11px;font-weight:700}.dev-release-notes h3{color:#21333e;margin:0 0 8px;font-size:15px;line-height:23px}.dev-release-notes ul{color:#627782;gap:4px;margin:0;padding-left:18px;font-size:12px;line-height:20px;display:grid}.design-system-page{gap:24px;padding-bottom:40px;display:grid}.ds-hero,.ds-section{background:#fff;border:1px solid #e1e9ed;border-radius:16px}.ds-hero{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:center;gap:36px;min-height:224px;padding:32px;display:grid;overflow:hidden}.ds-hero>div:first-child>span,.ds-section-header>span{color:#527180;letter-spacing:.06em;font-size:12px;font-weight:700}.ds-hero h1{color:#21333e;letter-spacing:0;margin:10px 0 8px;font-size:30px;line-height:1.3}.ds-hero p{color:#627782;max-width:720px;margin:0;font-size:14px;line-height:1.75}.ds-hero-visual{background:#f5f8fb;border:1px solid #d7e4e9;border-radius:12px;grid-template-columns:64px 1fr;height:164px;display:grid;overflow:hidden;transform:rotate(-1deg);box-shadow:0 14px 30px #164a5e14}.ds-visual-sidebar{background:#fff;border-right:1px solid #e1e9ed;align-content:start;gap:11px;padding:16px 10px;display:grid}.ds-visual-sidebar i{background:#dce9ee;border-radius:3px;height:8px}.ds-visual-sidebar i:first-child{background:#8bc4d9}.ds-visual-content{grid-template-rows:14px 44px 1fr;gap:12px;padding:18px;display:grid}.ds-visual-title{background:#b8ccd4;border-radius:4px;width:32%}.ds-visual-metrics{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.ds-visual-metrics i{background:#fff;border:1px solid #dae5e9;border-radius:7px}.ds-visual-chart{border-bottom:1px solid #a7bac2;justify-content:space-around;align-items:end;display:flex;position:relative}.ds-visual-chart span{background:#85c4d8;border-radius:3px 3px 0 0;width:12%}.ds-visual-chart span:first-child{height:34%}.ds-visual-chart span:nth-child(2){height:62%}.ds-visual-chart span:nth-child(3){height:46%}.ds-visual-chart span:nth-child(4){height:78%}.ds-visual-chart b{background:#d97706;height:2px;position:absolute;top:35%;left:0;right:0}.ds-section{padding:24px}.ds-section-header{margin-bottom:20px}.ds-section-header h2{color:#21333e;margin:8px 0 4px;font-size:20px;line-height:1.4}.ds-section-header p{color:#627782;margin:0;font-size:13px;line-height:1.6}.ds-palette-grid{grid-template-columns:repeat(5,minmax(132px,1fr));gap:16px;display:grid}.ds-color-card{background:#fff;border:1px solid #dce6ea;border-radius:10px;min-width:0;display:grid;overflow:hidden}.ds-color-swatch{height:74px}.ds-color-swatch.primary{background:#005c82}.ds-color-swatch.secondary{background:#3c88aa}.ds-color-swatch.background{background:#f5f8fb}.ds-color-swatch.text-primary{background:#21333e}.ds-color-swatch.text-secondary{background:#627782}.ds-color-swatch.divider{background:#e1e9ed}.ds-color-swatch.success{background:#1f7a4d}.ds-color-swatch.warning{background:#d97706}.ds-color-swatch.error{background:#dc2626}.ds-color-swatch.info{background:#0b83a9}.ds-color-card strong{color:#21333e;padding:10px 12px 0;font-size:13px}.ds-color-card span:not(.ds-color-swatch){color:#465d68;padding:2px 12px 0;font-size:12px}.ds-color-card code{color:#627782;padding:3px 12px 12px;font-family:inherit;font-size:11px}.ds-two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.ds-type-list{gap:13px;display:grid}.ds-type-list>div{border-bottom:1px solid #edf2f4;grid-template-columns:180px 1fr;align-content:center;align-items:center;min-height:52px;display:grid}.ds-type-list>div:last-child{border:0}.ds-type-list small{color:#78909b;font-size:11px}.ds-type-list h3,.ds-type-list h4,.ds-type-list strong,.ds-type-list p,.ds-type-list span{color:#21333e;margin:0}.ds-type-list h3{font-size:28px}.ds-type-list h4{font-size:18px}.ds-type-list strong{font-size:30px}.ds-type-list strong em{color:#627782;font-size:13px;font-style:normal}.ds-type-list p{font-size:14px}.ds-type-list span{color:#627782;font-size:12px}.ds-shape-demo{gap:16px;display:grid}.ds-measure-row{grid-template-columns:60px minmax(0,220px);align-items:center;gap:16px;display:grid}.ds-measure-row>span{color:#78909b;font-size:12px}.ds-radius-row{align-items:end;gap:16px;padding-top:4px;display:flex}.ds-radius-row i{color:#527180;background:#f5f8fb;border:1px solid #b9ccd4;place-items:center;width:58px;height:58px;font-size:12px;font-style:normal;display:grid}.ds-radius-row i:first-child{border-radius:4px}.ds-radius-row i:nth-child(2){border-radius:8px}.ds-radius-row i:nth-child(3){border-radius:10px}.ds-radius-row i:nth-child(4){border-radius:16px}.ds-shape-demo>p{color:#627782;margin:0;font-size:12px;line-height:1.6}.ds-primary-button,.ds-outline-button,.ds-icon-button{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;height:36px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.ds-primary-button{color:#fff;background:#005c82}.ds-primary-button:hover{background:#074c68}.ds-primary-button:disabled{color:#8ba0aa;cursor:not-allowed;background:#e6ecef}.ds-outline-button{color:#005c82;background:#fff;border:1px solid #ccdbe1}.ds-outline-button:hover{background:#f4fafc;border-color:#78afc3}.ds-icon-button{color:#dc2626;background:#fff;border:1px solid #f0c7c7;width:36px;padding:0}.ds-primary-button svg,.ds-outline-button svg,.ds-icon-button svg{width:16px;height:16px}.ds-filter-control,.ds-search{color:#21333e;background:#fff;border:1px solid #d7e2e8;border-radius:8px;align-items:center;gap:8px;width:100%;min-width:0;height:38px;padding:0 11px;font-size:13px;display:flex}.ds-filter-control span{text-align:left;flex:1}.ds-filter-control svg,.ds-search svg{color:#627782;flex:none;width:16px;height:16px}.ds-filter-control svg:last-child{width:14px}.ds-search input{color:#21333e;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:13px}.ds-layout-example{grid-template-columns:minmax(270px,.7fr) minmax(540px,1.3fr);align-items:stretch;gap:30px;display:grid}.ds-layout-copy{gap:4px;display:grid}.ds-layout-copy article{border-bottom:1px solid #edf2f4;grid-template-columns:34px 1fr;gap:12px;padding:13px 0;display:grid}.ds-layout-copy article:last-child{border:0}.ds-layout-copy article>b{color:#005c82;background:#e6f3f7;border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;display:grid}.ds-layout-copy strong{color:#21333e;font-size:14px}.ds-layout-copy p{color:#627782;margin:4px 0 0;font-size:12px;line-height:1.6}.ds-page-frame{background:#f5f8fb;border:1px solid #dbe6ea;border-radius:12px;min-width:0;padding:20px}.ds-frame-breadcrumb{color:#78909b;margin-bottom:10px;font-size:10px}.ds-frame-breadcrumb b{color:#465d68}.ds-frame-title{justify-content:space-between;align-items:flex-start;gap:16px;min-height:44px;display:flex}.ds-frame-title h3{color:#21333e;margin:0;font-size:22px}.ds-frame-title>div{gap:8px;display:flex}.ds-frame-table{background:#fff;border:1px solid #e1e9ed;border-radius:9px;margin-top:15px;overflow:hidden}.ds-frame-filters{border-bottom:1px solid #e1e9ed;grid-template-columns:minmax(180px,1fr) 160px;gap:10px;min-height:62px;padding:12px;display:grid}.ds-frame-filters>label{color:#93a3aa;border:1px solid #d7e2e8;border-radius:8px;align-items:center;gap:8px;height:38px;padding:0 11px;font-size:12px;display:flex}.ds-frame-filters>label svg{width:15px}.ds-frame-table-head,.ds-frame-table-row{grid-template-columns:1.4fr 1.2fr .6fr .45fr;align-items:center;gap:10px;padding:0 13px;display:grid}.ds-frame-table-head{color:#627782;background:#f5f8fb;min-height:36px;font-size:11px;font-weight:700}.ds-frame-table-row{color:#465d68;border-top:1px solid #edf2f4;min-height:42px;font-size:11px}.ds-frame-table-row strong{color:#21333e}.ds-frame-table-row i{color:#1f7a4d;background:#e8f6ee;border-radius:99px;width:fit-content;padding:3px 8px;font-style:normal}.ds-component-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.ds-component-card{background:#fbfdfe;border:1px solid #e1e9ed;border-radius:10px;min-height:156px;padding:18px}.ds-component-card h3{color:#21333e;margin:0 0 3px;font-size:15px}.ds-component-card>p{color:#627782;margin:0 0 20px;font-size:12px}.ds-component-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ds-component-row .ds-search{max-width:260px}.ds-component-row .ds-filter-control{max-width:180px}.ds-status{border-radius:99px;align-items:center;gap:5px;min-height:25px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-flex}.ds-status svg{width:13px;height:13px}.ds-status.success{color:#1f7a4d;background:#e8f6ee}.ds-status.warning{color:#a85d00;background:#fff2db}.ds-status.error{color:#c42525;background:#fdeaea}.ds-status.offline{color:#627782;background:#edf1f3}.ds-inline-notice{color:#1f7a4d;align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.ds-inline-notice svg{width:16px}.ds-table-example{border:1px solid #e1e9ed;border-radius:10px;overflow:hidden}.ds-table-filter-bar{background:#fff;border-bottom:1px solid #e1e9ed;justify-content:space-between;align-items:center;gap:12px;min-height:68px;padding:14px 16px;display:flex}.ds-table-filter-bar .ds-search{max-width:320px}.ds-status-filter{gap:6px;display:flex}.ds-status-filter button{color:#627782;background:#fff;border:1px solid #d7e2e8;border-radius:7px;height:32px;padding:0 12px;font-size:12px;font-weight:700}.ds-status-filter button.active{color:#fff;background:#005c82;border-color:#005c82}.ds-table-example table{font-size:13px}.ds-table-example thead th{color:#465d68;background:#f5f8fb;border-top:0;height:42px}.ds-table-example tbody td{height:46px}.ds-table-example tbody tr:hover td{background:#f8fbfc}.ds-table-pagination{color:#627782;background:#fff;border-top:1px solid #e1e9ed;justify-content:space-between;align-items:center;gap:18px;min-height:68px;padding:10px 16px;font-size:12px;display:flex}.ds-pagination-summary,.ds-pagination-controls,.ds-pagination-controls form{align-items:center;gap:9px;display:flex}.ds-pagination-summary label{align-items:center;gap:6px;display:inline-flex}.ds-pagination-summary label button{justify-content:space-between;width:64px;padding:0 10px}.ds-table-pagination button{color:#465d68;background:#fff;border:1px solid #d7e2e8;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;font-weight:700;display:inline-flex}.ds-table-pagination button:hover:not(:disabled){color:#005c82;background:#f6fbfd;border-color:#9dcbdc}.ds-table-pagination button.active{color:#fff;background:#005c82;border-color:#005c82}.ds-table-pagination button:disabled{color:#b9c4c9;cursor:not-allowed;background:#f5f7f8}.ds-table-pagination button svg{width:15px;height:15px}.ds-pagination-controls form{margin-left:7px}.ds-pagination-controls form input{color:#21333e;background:#fff;border:1px solid #d7e2e8;border-radius:8px;width:66px;height:36px;padding:0 9px;font-size:12px}.ds-pagination-controls form button{width:46px}.ds-form-demo{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.ds-form-demo label,.ds-modal-body label{color:#465d68;gap:7px;font-size:12px;font-weight:700;display:grid}.ds-form-demo label:first-child{grid-column:1/-1}.ds-form-demo b,.ds-modal-body b{color:#dc2626}.ds-form-demo input,.ds-form-demo label>button,.ds-modal-body input,.ds-modal-body label>button{color:#21333e;text-align:left;background:#fff;border:1px solid #d7e2e8;border-radius:8px;justify-content:space-between;align-items:center;width:100%;height:38px;padding:0 11px;font-size:13px;display:flex}.ds-form-demo button svg,.ds-modal-body button svg{width:15px}.ds-form-demo label.error input{border-color:#dc2626}.ds-form-demo label.error small{color:#dc2626;font-size:11px;font-weight:500}.ds-dialog-preview{text-align:center;align-content:center;place-items:center;min-height:190px;display:grid}.ds-dialog-preview>svg{color:#005c82;background:#e7f3f7;border-radius:50%;width:32px;height:32px;padding:7px}.ds-dialog-preview h3{margin:10px 0 4px;font-size:16px}.ds-dialog-preview p{color:#627782;margin:0 0 16px;font-size:12px}.ds-checklist{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;display:grid}.ds-checklist div{color:#465d68;align-items:center;gap:10px;min-height:38px;font-size:13px;display:flex}.ds-checklist svg{color:#fff;background:#1f7a4d;border-radius:50%;width:19px;height:19px;padding:3px}.ds-modal-backdrop{z-index:10000;background:#1120278f;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.ds-modal{background:#fff;border-radius:12px;width:min(560px,100%);overflow:hidden;box-shadow:0 24px 70px #08192140}.ds-modal>header{border-bottom:1px solid #e1e9ed;justify-content:space-between;gap:16px;padding:22px 24px 18px;display:flex}.ds-modal h2{margin:0 0 4px;font-size:18px}.ds-modal header p{color:#627782;margin:0;font-size:12px}.ds-modal header>button{color:#627782;background:0 0;border-radius:7px;place-items:center;width:32px;height:32px;display:grid}.ds-modal header>button:hover{background:#f2f5f6}.ds-modal header svg{width:18px}.ds-modal-body{gap:16px;padding:22px 24px;display:grid}.ds-modal-body>div{grid-template-columns:1fr 120px;gap:12px;display:grid}.ds-modal>footer{background:#fbfcfd;border-top:1px solid #e1e9ed;justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}@media (width<=1180px){.dev-release-overview{grid-template-columns:1fr;gap:26px}.ds-palette-grid{grid-template-columns:repeat(3,minmax(132px,1fr))}.ds-layout-example{grid-template-columns:1fr}.ds-table-pagination{flex-direction:column;align-items:flex-start}.ds-pagination-controls{justify-content:space-between;width:100%}}@media (width<=820px){.developer-docs-main{padding-top:22px}.dev-release-overview{padding:26px}.dev-release-summary{grid-template-columns:1fr}.dev-release-summary dl{border-top:1px solid #dce6ea;border-left:0;padding:18px 0 0}.dev-release-list article{grid-template-columns:1fr;gap:10px}.ds-pagination-controls{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start}.ds-pagination-controls form{width:100%;margin:5px 0 0}.ds-hero{grid-template-columns:1fr}.ds-hero-visual{display:none}.ds-two-column,.ds-component-grid{grid-template-columns:1fr}.ds-palette-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}.ds-page-frame{overflow-x:auto}.ds-page-frame>*{min-width:570px}.ds-checklist{grid-template-columns:1fr}}@media (width<=560px){.developer-docs-header{height:64px}.developer-docs-brand span{display:none}.developer-docs-header>button{width:36px;padding:0}.developer-docs-header>button svg{margin:auto}.developer-docs-header>button{font-size:0}.developer-docs-tabs{gap:22px;height:50px}.developer-docs-tabs button{height:50px;font-size:13px}.dev-release-overview{border-radius:12px;padding:22px}.dev-release-heading h1{font-size:28px;line-height:36px}.dev-release-summary{padding:20px}.dev-release-list-section{border-radius:12px}.dev-release-list-section>header,.dev-release-list{padding-left:20px;padding-right:20px}.ds-table-filter-bar{flex-direction:column;align-items:stretch}.ds-status-filter,.ds-table-example{overflow-x:auto}.ds-table-example table,.ds-table-pagination{min-width:680px}.ds-hero,.ds-section{border-radius:12px;padding:20px}.ds-hero h1{font-size:25px}.ds-palette-grid{grid-template-columns:1fr}.ds-color-card{grid-template-rows:auto auto auto;grid-template-columns:84px 1fr}.ds-color-swatch{grid-row:1/4;height:auto}.ds-color-card strong{padding-top:10px}.ds-color-card code{padding-bottom:10px}.ds-type-list>div{grid-template-columns:1fr;gap:5px;padding:8px 0}.ds-table-filter-bar,.ds-table-example footer{flex-direction:column;align-items:stretch}.ds-table-filter-bar .ds-search{max-width:none}.ds-status-filter{overflow-x:auto}.ds-form-demo{grid-template-columns:1fr}.ds-form-demo label:first-child{grid-column:auto}}.logout-icon:hover{color:#005c82;background:#edf5f8}.sidebar-user{border-top:1px solid #e1e9ed;grid-template-columns:36px minmax(0,1fr) 32px;align-items:center;gap:8px;width:100%;min-width:0;min-height:59px;padding:16px 4px 0;display:grid}.sidebar-user-text{min-width:0;line-height:18px;display:grid}.sidebar-user-text strong{color:#21333e;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.sidebar-user-text small{color:#627782;font-size:12px}.logout-icon{color:#8a969c;background:0 0;border-radius:999px;justify-self:end;place-items:center;width:32px;height:32px;display:grid}.logout-icon svg{width:18px;height:18px}.live-topbar{z-index:60;pointer-events:none;background:0 0;justify-content:flex-end;align-items:center;height:88px;padding:0 32px;transition:left .18s;display:flex;position:fixed;top:0;left:248px;right:0}.round-tool{z-index:65;color:#526d79;pointer-events:auto;background:0 0;border:0;border-radius:8px;place-items:center;width:32px;height:32px;padding:0;line-height:0;transition:color .15s,background .15s,left .18s;display:grid;position:absolute;top:30px;left:-44px}.round-tool:hover{color:#005c82;background:#eaf3f6}.round-tool svg{stroke-width:1.8px;width:19px;height:19px;display:block}.avatar{color:#fff;background:#005c82;border-radius:999px;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.live-main{width:auto;max-width:none;margin-left:248px;padding:32px 32px 56px;transition:margin-left .18s,width .18s;position:relative}.sidebar-collapsed .live-sidebar{width:72px}.sidebar-collapsed .brand-block{justify-content:center;padding:0}.sidebar-collapsed .brand-block div:last-child,.sidebar-collapsed .live-sidebar nav span,.sidebar-collapsed .group-chevron{display:none}.sidebar-collapsed .brand-logo{visibility:hidden}.sidebar-collapsed .live-sidebar nav button{justify-content:center;width:48px;padding:9px 0}.sidebar-collapsed .sidebar-subnav{display:none}.sidebar-collapsed .sidebar-footer{padding:0}.sidebar-collapsed .sidebar-user{grid-template-columns:1fr;justify-items:center;gap:8px;padding-left:0;padding-right:0}.sidebar-collapsed .sidebar-user-text{display:none}.sidebar-collapsed .logout-icon{width:34px;height:34px}.sidebar-collapsed .sidebar-collapse{left:22px;transform:rotate(180deg)}.sidebar-collapsed .live-topbar{left:72px}.sidebar-collapsed .round-tool{left:-52px}.sidebar-collapsed .live-main{width:auto;margin-left:72px}.page-title{align-content:start;gap:8px;min-height:64px;margin-bottom:24px;display:grid}.page-title-row{align-items:center;gap:8px;display:flex}.page-title h1{color:#21333e;margin:0;font-size:28px;font-weight:700;line-height:35px}.breadcrumbs{color:#8a969c;align-items:center;gap:7px;font-size:12px;line-height:18px;display:flex}.breadcrumbs button{color:#627782;font:inherit;line-height:inherit;cursor:pointer;background:0 0;border:0;padding:0}.breadcrumbs button:hover{color:#005c82;text-underline-offset:3px;text-decoration:underline}.breadcrumbs button:focus-visible{outline-offset:3px;border-radius:3px;outline:2px solid #0b83a9}.breadcrumbs span.current{color:#465d68;font-weight:700}.breadcrumbs i{color:#b4c0c6;font-style:normal}.mui-card{box-shadow:none;background:#fff;border:1px solid #e1e9ed;border-radius:16px}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{align-content:start;gap:4px;height:129px;padding:20px 24px;display:grid}.stat-card span{color:#627782;font-size:14px;font-weight:600;line-height:20px}.stat-card strong{color:#21333e;font-size:34px;line-height:40px}.stat-card small{color:#627782;font-size:13px;line-height:18px}.status-card,.list-card{padding:0;overflow:hidden}.card-head{justify-content:space-between;align-items:center;padding:18px 20px 4px;display:flex}.card-head h2{margin:0;font-size:18px}.text-action{color:#005c82;background:0 0;border-radius:9px;height:40px;padding:0 12px;font-weight:600}.text-action:hover{background:#e5f2f7}.mui-contained{color:#fff;background:#005c82;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-width:0;height:36px;min-height:36px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.mui-contained:hover:not(:disabled){background:#074c68}.mui-contained:focus-visible{outline-offset:3px;outline:2px solid #0b83a9}.mui-contained svg{width:17px;height:17px}.mui-contained.disabled{color:#00000042;cursor:default;background:#0000001f}.page-tab-layout{gap:16px;display:grid}.mui-tabs{background:0 0;border-bottom:1px solid #dce6eb;align-items:center;gap:26px;min-height:45px;display:flex}.mui-tabs button{color:#627782;background:0 0;border-bottom:3px solid #0000;border-radius:0;min-height:45px;padding:0 2px;font-size:15px;font-weight:700}.mui-tabs button.active{color:#005c82;background:0 0;border-bottom-color:#0b83a9}.filter-row{align-items:flex-end;gap:16px;padding:18px 17px 8px;display:flex}.filter-row.compact{padding-bottom:18px}.update-line{color:#627782;text-align:right;padding:0 17px 12px;font-size:13px}.mui-field{color:#465d68;gap:6px;min-width:220px;font-size:13px;font-weight:600;display:grid}.mui-field.wide{flex:1}.mui-field input,.mui-field button{color:#21333e;text-align:left;background:#fff;border:1px solid #d7e2e8;border-radius:9px;height:40px;padding:0 12px}.select-field button{justify-content:space-between;align-items:center;min-width:130px;display:flex}.select-field svg{color:#627782;width:16px;height:16px}.table-wrap{width:100%;overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}thead th{color:#627782;text-align:left;white-space:nowrap;background:#f5f8fb;border-top:1px solid #e1e9ed;border-bottom:1px solid #e1e9ed;height:45px;padding:0 16px;font-weight:700}tbody td{color:#21333e;vertical-align:middle;white-space:nowrap;border-bottom:1px solid #e8eef2;height:34px;padding:5px 16px;line-height:20px}tbody tr:hover td{background:#fbfdfe}.empty-cell{color:#627782;text-align:center;height:112px}.data-table-shell{min-width:0}.datatable-pagination{color:#627782;background:#fff;border-top:1px solid #e1e9ed;justify-content:space-between;align-items:center;gap:18px;min-height:62px;padding:10px 14px;font-size:12px;display:flex}.datatable-page-summary,.datatable-page-controls,.datatable-page-controls form,.datatable-page-summary label{align-items:center;gap:7px;display:flex}.datatable-page-summary{flex-wrap:wrap}.datatable-page-summary select{color:#21333e;background:#fff;border:1px solid #d7e2e8;border-radius:7px;width:62px;height:34px;padding:0 8px;font-size:12px;font-weight:700}.datatable-page-controls{justify-content:flex-end}.datatable-page-controls>button,.datatable-page-controls form button{color:#465d68;background:#fff;border:1px solid #d7e2e8;border-radius:7px;justify-content:center;align-items:center;min-width:34px;height:34px;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.datatable-page-controls>button:hover:not(:disabled),.datatable-page-controls form button:hover{color:#005c82;background:#f6fbfd;border-color:#9dcbdc}.datatable-page-controls>button.active{color:#fff;background:#005c82;border-color:#005c82}.datatable-page-controls>button:disabled{color:#b4c0c6;cursor:not-allowed;background:#f6f8f9}.datatable-page-controls svg{width:15px;height:15px}.datatable-page-controls form{margin-left:5px}.datatable-page-controls form input{color:#21333e;background:#fff;border:1px solid #d7e2e8;border-radius:7px;width:60px;height:34px;padding:0 8px;font-size:12px}.status-chip{border-radius:999px;align-items:center;gap:6px;min-height:25px;padding:3px 9px;font-size:13px;font-weight:600;display:inline-flex}.status-chip svg{fill:currentColor;width:8px;height:8px}.status-chip.offline{color:#627782;background:#f2f4f5}.status-chip.online{color:#1f7a4d;background:#e8f6ee}.query-card{margin-bottom:24px;padding:28px 16px}.query-grid{grid-template-columns:minmax(118px,1fr) minmax(180px,1.4fr) minmax(118px,1fr) minmax(118px,1fr) 104px 104px 80px;align-items:end;gap:12px;display:grid}.query-grid .mui-field,.query-grid .mui-field input,.query-grid .mui-field button,.query-grid .select-field button{min-width:0}.empty-result{color:#627782;place-items:center;height:188px;display:grid}.historical-page{gap:14px;min-width:0;display:grid}.historical-filter-panel{border-radius:8px 8px 0 0;grid-template-columns:minmax(130px,.76fr) 8px minmax(130px,.76fr) minmax(118px,.68fr) minmax(108px,.6fr) minmax(176px,1.1fr) minmax(182px,.9fr);align-items:end;gap:8px;min-width:0;display:grid}.historical-filter-field{color:#627782;gap:6px;min-width:0;font-size:12px;font-weight:700;display:grid}.historical-filter-field>span:first-child{padding-left:1px}.historical-range-separator{color:#8a969c;place-items:center;height:38px;font-size:14px;display:grid}.historical-filter-field .historical-datetime-control{width:100%}.historical-datetime-control input{color:#21333e;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:12px}.historical-dimension-field{min-width:0}.historical-dimension{background:#fff;border:1px solid #cbd6db;border-radius:8px;align-items:center;gap:2px;width:100%;height:38px;padding:3px;display:flex}.historical-dimension button{color:#627782;white-space:nowrap;background:0 0;border-radius:6px;flex:1;justify-content:center;align-items:center;min-width:0;height:30px;padding:0 4px;font-size:11px;font-weight:700;display:inline-flex}.historical-dimension button:hover{color:#005c82;background:#edf6f9}.historical-dimension button.active{color:#fff;background:#005c82}.historical-filter-field .historical-device-control{width:100%}.historical-device-control select{color:#21333e;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:0 28px 0 0;font-size:12px;font-weight:700}.historical-point-filter{width:100%;position:relative}.historical-point-filter .historical-point-trigger{text-align:left;width:100%}.historical-point-trigger b{color:#21333e;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.historical-point-trigger>svg:last-child{transition:transform .16s}.historical-point-trigger.open>svg:last-child{transform:rotate(180deg)}.historical-point-menu{z-index:80;background:#fff;border:1px solid #cbd6db;border-radius:9px;flex-direction:column;width:min(520px,100vw - 64px);max-width:none;max-height:520px;display:flex;position:absolute;top:calc(100% + 7px);left:auto;right:0;overflow:hidden;box-shadow:0 16px 38px #1c313e33}.historical-point-menu-toolbar{background:#fbfdfe;border-bottom:1px solid #e5ecef;align-items:center;gap:8px;padding:10px;display:flex}.historical-point-menu-toolbar label{color:#8a969c;background:#fff;border:1px solid #cbd6db;border-radius:7px;flex:1;align-items:center;gap:7px;min-width:0;height:36px;padding:0 10px;display:flex}.historical-point-menu-toolbar label svg{width:15px;height:15px}.historical-point-menu-toolbar input{color:#21333e;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:12px}.historical-point-menu-toolbar>button{color:#005c82;white-space:nowrap;background:#fff;border:1px solid #cbd6db;border-radius:7px;height:36px;padding:0 11px;font-size:12px;font-weight:700}.historical-point-menu-toolbar>button:hover{background:#edf6f9}.historical-point-options{min-height:0;overflow:auto}.historical-point-options label{cursor:pointer;border-bottom:1px solid #edf1f3;align-items:flex-start;gap:10px;min-height:50px;padding:9px 12px;display:flex}.historical-point-options label:hover,.historical-point-options label.selected{background:#f6fbfd}.historical-point-options input{accent-color:#005c82;flex:none;width:16px;height:16px;margin-top:2px}.historical-point-options label span{gap:2px;min-width:0;display:grid}.historical-point-options b{color:#21333e;overflow-wrap:anywhere;text-overflow:clip;white-space:normal;font-size:12px;line-height:18px;overflow:visible}.historical-point-options small{color:#8a969c;font-size:10px}.historical-point-options>p{color:#8a969c;place-items:center;min-height:120px;margin:0;font-size:12px;display:grid}.historical-point-menu footer{background:#fff;border-top:1px solid #e1e9ed;justify-content:space-between;align-items:center;min-height:50px;padding:8px 10px;display:flex}.historical-point-menu footer span{color:#627782;font-size:11px;font-weight:700}.historical-point-menu footer button{color:#fff;background:#005c82;border-radius:7px;height:34px;padding:0 13px;font-size:12px;font-weight:700}.historical-point-menu footer button:hover{background:#074c68}.historical-export-control{color:#627782;gap:6px;min-width:0;font-size:12px;font-weight:700;display:grid;position:relative}.historical-export-control>span{padding-left:1px}.historical-split-export{background:#005c82;border:1px solid #005c82;border-radius:8px;grid-template-columns:minmax(0,1fr) 38px;height:38px;display:grid;position:relative;box-shadow:0 1px 2px #005c821f}.historical-split-export.open{box-shadow:0 0 0 2px #0b83a921}.historical-split-export>button{color:#fff;background:0 0}.historical-export-primary{white-space:nowrap;border-radius:7px 0 0 7px;justify-content:center;align-items:center;gap:6px;min-width:0;padding:0 10px;font-size:12px;font-weight:750;display:flex}.historical-export-primary:hover,.historical-export-more:hover{background:#ffffff1a}.historical-export-primary svg{flex:none;width:15px;height:15px}.historical-export-more{border-left:1px solid #ffffff52;border-radius:0 7px 7px 0;place-items:center;display:grid}.historical-export-more svg{width:16px;height:16px;transition:transform .15s}.historical-split-export.open .historical-export-more svg{transform:rotate(180deg)}.historical-export-menu{z-index:10060;background:#fff;border:1px solid #d8e1e5;border-radius:9px;gap:2px;width:320px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:-1px;box-shadow:0 14px 32px #21333e33}.historical-export-menu>button{color:#21333e;text-align:left;background:0 0;border-radius:6px;grid-template-columns:19px minmax(0,1fr) 18px;align-items:center;gap:9px;min-height:58px;padding:8px 10px;display:grid}.historical-export-menu>button:hover{background:#f1f6f8}.historical-export-menu>button>svg{color:#005c82;width:17px;height:17px}.historical-export-menu>button>svg:last-child:not(:first-child){color:#148b79}.historical-export-menu>button span{gap:3px;min-width:0;display:grid}.historical-export-menu b{font-size:12px}.historical-export-menu small{color:#72858e;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:550;overflow:hidden}.historical-export-confirm-backdrop{padding:20px}.historical-export-confirm{background:#fff;border:1px solid #d7e2e8;border-radius:14px;width:min(460px,100%);overflow:hidden;box-shadow:0 24px 64px #101c2352}.historical-export-confirm>header{align-items:flex-start;gap:12px;padding:22px 22px 15px;display:flex}.historical-export-confirm>header>span{color:#005c82;background:#e8f4f8;border-radius:10px;flex:none;place-items:center;width:42px;height:42px;display:grid}.historical-export-confirm>header>span svg{width:20px;height:20px}.historical-export-confirm h2{color:#21333e;margin:0;font-size:18px}.historical-export-confirm header p{color:#627782;margin:4px 0 0;font-size:12px}.historical-export-confirm-summary{background:#f8fbfc;border:1px solid #dce6ea;border-radius:9px;gap:9px;margin:0 22px;padding:12px 14px;display:grid}.historical-export-confirm-summary p{color:#465d68;align-items:center;gap:8px;margin:0;font-size:12px;font-weight:650;display:flex}.historical-export-confirm-summary svg{color:#148b79;width:16px;height:16px}.historical-export-notice{color:#8a5b04;background:#fff8df;border-radius:8px;align-items:flex-start;gap:8px;margin:12px 22px 20px;padding:10px 12px;font-size:11px;line-height:17px;display:flex}.historical-export-notice svg{flex:none;width:16px;height:16px}.historical-export-confirm>footer{border-top:1px solid #e1e9ed;justify-content:flex-end;gap:8px;padding:14px 22px;display:flex}.historical-export-confirm>footer button{min-height:38px}.historical-data-card{min-width:0;overflow:visible}.historical-data-card>.data-table-shell{border-radius:0 0 8px 8px;overflow:hidden}.historical-data-card .table-wrap{max-height:calc(100vh - 315px);overflow:auto}.historical-data-card table{table-layout:fixed;width:max-content;min-width:100%}.historical-data-card th,.historical-data-card td{white-space:normal;width:185px;min-width:185px;max-width:185px;padding:10px 12px;line-height:18px}.historical-data-card th{z-index:3;vertical-align:top;background:#f6f9fb;height:64px;position:sticky;top:0}.historical-data-card td{white-space:nowrap;height:42px}.historical-data-card th:first-child,.historical-data-card td:first-child{width:160px;min-width:160px;max-width:160px;position:sticky;left:0}.historical-data-card th:first-child{z-index:5;background:#f6f9fb}.historical-data-card td:first-child{z-index:2;color:#465d68;font-variant-numeric:tabular-nums;background:#fff}.historical-data-card tbody tr:hover td:first-child{background:#f8fbfc}.historical-data-card .datatable-pagination{z-index:7;background:#fff;position:relative}.page-action{position:absolute;top:41px;right:32px}.page-header-action{z-index:3;justify-content:flex-end;align-items:center;gap:8px;display:flex;position:absolute;top:40px;right:32px}.device-layout{grid-template-columns:320px minmax(0,1fr);gap:24px;display:grid}.device-list{height:90px;min-height:90px;padding:8px}.device-item{color:#21333e;text-align:left;background:0 0;border-radius:12px;gap:7px;width:100%;min-height:72px;padding:13px 14px;display:grid}.device-item:hover,.device-item.selected{background:#e5f2f7}.device-item strong{font-size:15px}.device-item span{color:#627782;font-size:13px}.device-detail{min-height:220px;padding:24px}.device-detail h2{margin:0;font-size:20px}.device-detail p{color:#627782;margin:6px 0 22px}.detail-empty{color:#627782;text-align:center;align-content:center;place-items:center;gap:9px;min-height:170px;display:grid}.detail-empty svg{color:#8ba0aa;width:34px;height:34px}.detail-empty strong{color:#21333e;font-size:18px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.info-box{border:1px solid #e1e9ed;border-radius:12px;gap:4px;padding:13px;display:grid}.info-box span{color:#627782;font-size:12px}.info-box strong{font-size:15px}.table-footer{color:#627782;border-top:1px solid #e1e9ed;justify-content:flex-end;align-items:center;gap:18px;height:52px;padding:0 16px;font-size:13px;display:flex}.rules-empty{color:#627782;text-align:center;align-content:center;place-items:center;gap:10px;min-height:220px;display:grid}.rules-empty svg{color:#8ba0aa;width:36px;height:36px}.rules-empty strong{color:#21333e}.rules-page-head{color:#627782;justify-content:space-between;align-items:center;min-height:65px;padding:12px 16px;font-size:13px;display:flex}.configuration-page{gap:16px;width:100%;min-width:0;max-width:100%;display:grid}.configuration-page>.mui-tabs{margin-top:-8px}.configuration-actions{justify-content:flex-end;align-items:center;gap:8px;width:100%;max-width:100%;min-height:48px;display:flex}.configuration-actions.single{min-height:40px}.text-icon-action{color:#005c82;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.text-icon-action:hover{background:#e5f2f7}.text-icon-action svg{width:16px;height:16px}.device-config-layout{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:24px;width:100%;min-width:0;max-width:100%;display:grid}.device-config-list{align-content:start;gap:2px;padding:8px;display:grid}.device-config-list button{color:#21333e;text-align:left;background:0 0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:74px;padding:12px 14px;display:flex}.device-config-list button:hover,.device-config-list button.selected{background:#edf3f6}.device-config-list button>span{gap:4px;min-width:0;display:grid}.device-config-list strong{font-size:15px}.device-config-list small{color:#627782;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.device-config-list svg,.enabled-icon{color:#158a79;flex:none;width:17px;height:17px}.device-config-detail{width:100%;min-width:0;max-width:100%;overflow:hidden}.device-config-detail>header{border-bottom:1px solid #e1e9ed;justify-content:space-between;align-items:start;gap:16px;min-height:82px;padding:17px 16px;display:flex}.device-config-detail h2{margin:0;font-size:18px;line-height:25px}.device-config-detail p{color:#465d68;margin:3px 0 0;font-size:13px}.device-config-detail header>div:last-child{gap:8px;display:flex}.row-action{background:0 0;border-radius:7px;align-items:center;gap:5px;min-height:32px;padding:0 8px;font-size:13px;font-weight:700;display:inline-flex}.row-action svg{width:15px;height:15px}.row-action.edit{color:#005c82}.row-action.delete{color:#dc2626}.row-action:hover{background:#f2f6f8}.monitor-points-head{justify-content:space-between;align-items:center;min-height:64px;padding:0 16px;display:flex}.monitor-points-head strong{font-size:15px}.device-config-detail .table-wrap{max-height:590px;overflow:auto}.device-config-detail thead{z-index:2;position:sticky;top:0}.device-config-detail th,.device-config-detail td{padding-left:12px;padding-right:12px}.device-config-detail tbody tr:nth-child(6) td{background:#f5f5f5}.table-row-actions{align-items:center;gap:6px;display:flex}.table-row-actions button,.table-delete-action{color:#6b7b83;background:0 0;border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.table-row-actions button:hover{background:#eef3f5}.table-row-actions button.delete,.table-delete-action{color:#dc2626}.table-row-actions svg,.table-delete-action svg{width:15px;height:15px}.gateway-table{overflow:hidden}.gateway-table code{color:#21333e;font:inherit;background:#fff;border:1px solid #b9c6cc;border-radius:6px;padding:2px 7px}.gateway-table th:nth-child(3),.gateway-table td:nth-child(3){text-align:center;width:170px}.gateway-table th:last-child,.gateway-table td:last-child{text-align:center;width:90px}.gateway-table .enabled-icon{vertical-align:middle}.gateway-dialog-backdrop{background:#101c2385}.gateway-dialog{color:#21333e;background:#fff;border:1px solid #d7e2e8;border-radius:18px;width:min(600px,100%);overflow:hidden;box-shadow:0 24px 64px #101c2352}.gateway-dialog>header{padding:20px 24px 4px}.gateway-dialog h2{margin:0;font-size:20px;line-height:28px}.gateway-dialog header p{color:#7b8e98;margin:14px 0 0;font-size:14px;line-height:21px}.gateway-dialog-fields{gap:16px;padding:8px 24px 18px;display:grid}.gateway-dialog-fields>input,.gateway-dialog-fields>select,.gateway-connection-row input{color:#21333e;background:#fff;border:1px solid #cbd6db;border-radius:12px;width:100%;height:42px;padding:0 13px;font-size:14px}.gateway-dialog-fields>input::placeholder,.gateway-connection-row input::placeholder{color:#6f818b}.gateway-dialog-fields>input:focus,.gateway-dialog-fields>select:focus,.gateway-connection-row input:focus{border-color:#0b83a9;outline:2px solid #0b83a91f}.gateway-connections{gap:12px;display:grid}.gateway-connections h3{margin:0 0 4px;font-size:14px;line-height:20px}.gateway-connection-row{grid-template-columns:minmax(0,1fr) 110px 28px;align-items:center;gap:8px;display:grid}.gateway-connection-row>button{color:#dc2626;background:0 0;border-radius:6px;place-items:center;width:28px;height:36px;display:grid}.gateway-connection-row>button:hover:not(:disabled){background:#fff0ee}.gateway-connection-row>button:disabled{color:#b9c4c9;cursor:not-allowed}.gateway-connection-row svg{width:15px;height:15px}.add-gateway-connection{color:#005c82;background:0 0;align-items:center;gap:7px;width:max-content;min-height:34px;padding:0 4px;font-size:13px;font-weight:700;display:inline-flex}.add-gateway-connection:hover{color:#074c68}.add-gateway-connection svg{width:16px;height:16px}.gateway-enabled-switch{color:#465d68;cursor:pointer;align-items:center;gap:10px;width:max-content;display:inline-flex}.gateway-enabled-switch>button{background:#b7c7cf;border-radius:999px;width:38px;height:22px;padding:3px;transition:background .16s}.gateway-enabled-switch>button span{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .16s;display:block;box-shadow:0 1px 3px #101c232e}.gateway-enabled-switch>button.active{background:#005c82}.gateway-enabled-switch>button.active span{transform:translate(16px)}.gateway-enabled-switch b{font-size:14px}.gateway-dialog>footer{justify-content:flex-end;align-items:center;gap:12px;padding:12px 24px 20px;display:flex}.gateway-dialog-cancel,.gateway-dialog-submit{border-radius:8px;min-height:40px;padding:0 14px;font-size:13px;font-weight:700}.gateway-dialog-cancel{color:#005c82;background:0 0}.gateway-dialog-cancel:hover{background:#edf6f9}.gateway-dialog-submit{color:#fff;background:#005c82}.gateway-dialog-submit:hover:not(:disabled){background:#074c68}.gateway-dialog-submit:disabled{color:#d5e0e5;cursor:not-allowed;background:#8ba8b4}.device-table-page{gap:16px;width:100%;min-width:0;display:grid}.device-table-page>.mui-tabs{margin-top:-8px}.device-table-toolbar{justify-content:space-between;align-items:center;gap:16px;min-height:48px;display:flex}.device-page-actions{z-index:3;justify-content:flex-end;align-items:center;gap:8px;display:flex;position:absolute;top:40px;right:32px}.device-table-toolbar>span{color:#627782;font-size:14px}.device-table-toolbar>div{align-items:center;gap:9px;display:flex}.device-table-toolbar>div>span{color:#627782;margin-left:8px;font-size:14px}.device-table-toolbar.gateway-toolbar>span{color:#627782;font-size:14px}.outline-icon-action{color:#21333e;background:#fff;border:1px solid #cbd6db;border-radius:8px;justify-content:center;align-items:center;gap:7px;height:36px;min-height:36px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 1px 2px #1e32500f}.outline-icon-action:hover{background:#f8fbfc;border-color:#9fb3bc}.outline-icon-action svg{width:16px;height:16px}.device-overview-table{min-width:0;overflow:hidden}.device-overview-table table{min-width:1120px}.device-overview-table th,.device-overview-table td{height:57px;padding-left:14px;padding-right:14px}.device-overview-table th{height:41px}.device-overview-table th:first-child{width:290px}.device-overview-table th:nth-child(2){width:210px}.device-overview-table th:last-child{width:250px}.device-name-cell{align-items:baseline;gap:8px;display:inline-flex}.device-name-cell strong{color:#21333e;font-size:14px}.device-name-cell small{color:#8a969c;font-size:11px}.device-enabled{color:#1f7a4d;background:#dcf7e6;border-radius:999px;align-items:center;min-height:24px;padding:2px 10px;font-size:12px;font-weight:800;display:inline-flex}.device-table-actions{align-items:center;gap:9px;display:flex}.device-table-actions button{color:#005c82;white-space:nowrap;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:5px;min-width:28px;height:28px;padding:0 5px;font-size:12px;font-weight:700;display:inline-flex}.device-table-actions button:hover{background:#e5f2f7}.device-table-actions button svg{width:15px;height:15px}.device-table-actions button.copy{color:#005c82}.device-table-actions button.copy:hover{background:#e5f2f7}.device-table-actions button.delete{color:#dc2626}.device-table-actions button.delete:hover{background:#fff1f1}.alert-list-card{overflow:visible}.alert-rules-table{overflow:hidden}.alert-rules-page-actions{justify-content:flex-end;display:flex}.alert-rules-page-actions .mui-contained{align-items:center;gap:7px;display:inline-flex}.alert-rules-page-actions svg{width:16px;height:16px}.table-filter-bar{z-index:12;background:#fff;border-bottom:1px solid #e1e9ed;min-height:68px;padding:14px 16px;position:relative}.alert-list-filters{align-items:center;gap:10px;display:flex}.alert-list-filters select{color:#627782;background:#fff;border:1px solid #cbd6db;border-radius:9px;width:180px;height:40px;padding:0 38px 0 13px;font-size:14px}.alert-list-card tbody td{height:46px}.alert-status-icon{color:#d97706;place-items:center;display:inline-grid}.alert-status-icon svg{width:18px;height:18px}.alert-table-footer{color:#465d68;justify-content:flex-end;align-items:center;gap:12px;min-height:52px;padding:0 14px;font-size:13px;display:flex}.alert-table-footer>svg{width:15px;height:15px}.alert-table-footer button{color:#b4c0c6;background:0 0;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.alert-table-footer button svg{width:17px;height:17px}.alert-rules-table td{height:42px}.alert-rules-table th:first-child{width:34%}.alert-rules-table th:nth-child(2){width:38%}.device-rule-name{gap:2px;display:grid}.device-rule-name strong{color:#21333e;font-size:13px}.device-rule-name small{color:#7b8d96;font-size:11px}.rule-enabled-text{color:#465d68}.alert-rules-table .clickable-row{cursor:pointer}.alert-rules-table .clickable-row:hover td{background:#f4f8fa}.alert-rules-table .clickable-row:focus-visible{outline-offset:-2px;outline:2px solid #0b7197}.rule-count{color:#fff;background:#158a79;border-radius:7px;align-items:center;min-height:26px;padding:3px 10px;font-size:13px;font-weight:700;display:inline-flex}.rule-unset{color:#627782}.alert-rules-dialog-backdrop{background:#141e2385;padding:28px}.alert-rules-dialog{background:#fff;border-radius:18px;flex-direction:column;width:min(900px,100%);max-height:calc(100vh - 56px);display:flex;overflow:hidden;box-shadow:0 26px 70px #0f1f2852}.alert-rules-dialog>header{border-bottom:1px solid #dce5e9;flex:none;padding:18px 56px 12px 24px;position:relative}.alert-rules-dialog>header h2{color:#21333e;margin:0;font-size:17px;line-height:25px}.alert-rules-dialog>header p{color:#465d68;margin:2px 0 0;font-size:13px}.alert-rules-dialog>header>button{color:#627782;background:0 0;border-radius:6px;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:18px;right:20px}.alert-rules-dialog>header>button:hover{background:#eef3f5}.alert-rules-dialog>header>button svg{width:17px;height:17px}.alert-rules-dialog-body{gap:16px;min-height:244px;padding:16px 24px 20px;display:grid;overflow:auto}.alert-rules-dialog-body.empty{place-items:center;min-height:300px;display:grid}.alert-rule-settings-block{background:#fff;border:1px solid #dce5e9;border-radius:10px;gap:14px;padding:16px;display:grid}.alert-rule-block-title{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.alert-rule-block-title h3{color:#21333e;margin:0;font-size:14px}.alert-rule-block-title span{color:#7b8d96;font-size:11px}.alert-rule-option-row{color:#465d68;align-items:center;gap:20px;min-height:34px;font-size:13px;display:flex}.alert-rule-option-row>strong{color:#21333e;flex:0 0 88px;width:88px;font-size:12px}.alert-rule-option-row>label{align-items:center;gap:7px;display:inline-flex}.alert-rule-option-row input[type=radio]{accent-color:#005c82;width:16px;height:16px}.threshold-rules-block{padding:0;overflow:hidden}.threshold-rules-block .alert-rule-block-title{padding:16px 16px 0}.threshold-rules-block .alert-rule-add-link{margin:2px 14px 10px}.alert-rule-editor-table{color:#21333e;min-width:820px;font-size:13px}.alert-rule-editor-head,.alert-rule-editor-row{grid-template-columns:minmax(265px,1fr) 84px 105px 112px 66px 34px;align-items:center;column-gap:10px;min-height:42px;padding:0 14px;display:grid}.alert-rule-editor-head{color:#627782;background:#f4f7f9;font-weight:700}.alert-rule-editor-row{border-bottom:1px solid #edf1f3}.alert-rule-editor-row.new{background:#f7f7f7;min-height:54px}.alert-rule-editor-row>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.alert-rule-editor-row select,.alert-threshold-field{color:#21333e;background:#fff;border:1px solid #c8d2d7;border-radius:12px;width:100%;height:40px;font-size:13px}.alert-rule-editor-row select{padding:0 34px 0 14px}.alert-rule-editor-row select[aria-label=條件]{padding-left:10px;padding-right:24px;font-weight:700}.alert-rule-editor-row select.invalid{border-color:#ef4444}.alert-rule-editor-row select:focus,.alert-threshold-field:focus-within{border-color:#0b7197;outline:0;box-shadow:0 0 0 1px #0b7197}.alert-threshold-field{align-items:center;gap:5px;padding:0 10px;display:flex}.alert-threshold-field input{color:#21333e;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:13px}.alert-threshold-field small{color:#7b8d96;white-space:nowrap}.alert-rule-enabled{color:#148b79;align-items:center;display:inline-flex}.alert-rule-enabled svg{width:18px;height:18px}.alert-rule-switch{background:#cbd6db;border-radius:999px;align-items:center;width:38px;height:22px;padding:2px;transition:background .16s;display:inline-flex}.alert-rule-switch span{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .16s;box-shadow:0 1px 3px #1e325038}.alert-rule-switch.active{background:#08789a}.alert-rule-switch.active span{transform:translate(16px)}.alert-rule-delete{color:#ef2b2d;background:0 0;border-radius:7px;place-items:center;width:32px;height:32px;display:grid}.alert-rule-delete:hover{background:#fff0f0}.alert-rule-delete svg{width:16px;height:16px}.alert-rule-add-link{color:#005c82;background:0 0;align-items:center;gap:8px;min-height:36px;margin-top:10px;padding:0 4px;font-size:13px;font-weight:750;display:inline-flex}.alert-rule-add-link svg{width:17px;height:17px}.alert-rule-empty-state{text-align:center;color:#465d68;flex-direction:column;align-items:center;display:flex}.threshold-rules-block .alert-rule-empty-state{box-sizing:border-box;min-height:220px;padding:28px 16px 32px}.alert-rule-empty-state>span{color:#627782;background:#f3f5f6;border-radius:50%;place-items:center;width:52px;height:52px;display:grid}.alert-rule-empty-state>span svg{width:24px;height:24px}.alert-rule-empty-state h3{color:#21333e;margin:14px 0 8px;font-size:15px}.alert-rule-empty-state p{color:#627782;margin:0;font-size:13px}.alert-rule-empty-state button{color:#fff;background:#005c82;border-radius:8px;align-items:center;gap:7px;min-height:40px;margin-top:12px;padding:0 16px;font-size:13px;font-weight:750;display:inline-flex}.alert-rule-empty-state button:hover{background:#004866}.alert-rule-empty-state button svg{width:17px;height:17px}.alert-rules-dialog>footer{border-top:1px solid #dce5e9;flex:none;justify-content:flex-end;align-items:center;gap:12px;min-height:74px;padding:14px 24px;display:flex}.alert-rules-dialog>footer button{border-radius:10px;min-height:40px;padding:0 16px;font-size:13px;font-weight:750}.alert-rules-cancel{color:#005c82;background:0 0}.alert-rules-cancel:hover{background:#eef7fa}.alert-rules-save{color:#fff;background:#005c82}.alert-rules-save:hover:not(:disabled){background:#004866}.alert-rules-save:disabled{color:#a8aeb1;cursor:not-allowed;background:#e7e7e7}.monitoring-page{gap:10px}.monitoring-tab-row{justify-content:space-between;align-items:center;gap:18px;display:flex;position:relative}.monitoring-tab-row>.mui-tabs{flex:1}.monitoring-update-actions{align-items:center;gap:12px;display:flex;position:relative}.monitoring-update-actions>span{color:#8a969c;white-space:nowrap;font-size:12px}.column-settings-backdrop{padding:28px}.column-settings-dialog{flex-direction:column;width:min(900px,100%);max-height:calc(100vh - 56px);padding:22px 24px 18px;display:flex;overflow:hidden}.column-settings-dialog>header{flex:none;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.column-settings-dialog>header h2{color:#21333e;margin:0;font-size:19px;line-height:28px}.column-settings-dialog>header p{color:#7b8d96;margin:3px 0 0;font-size:12px;line-height:18px}.column-settings-dialog>header button{color:#627782;background:0 0;border-radius:6px;flex:none;place-items:center;width:30px;height:30px;display:grid}.column-settings-dialog>header button:hover{background:#eef3f5}.column-settings-dialog>header svg{width:17px;height:17px}.column-settings-toolbar{flex:none;grid-template-columns:auto minmax(220px,1fr) auto auto;align-items:center;gap:10px;margin-top:14px;display:grid}.mapping-filter{background:#eef2f4;border-radius:8px;height:38px;padding:3px;display:flex}.mapping-filter button{color:#627782;background:0 0;border-radius:6px;min-width:68px;padding:0 11px;font-size:12px;font-weight:700}.mapping-filter button.active{color:#21333e;background:#fff;box-shadow:0 1px 3px #1e32501a}.mapping-filter span{color:#8a969c;margin-left:3px}.column-settings-toolbar>label{color:#91a0a7;background:#fff;border:1px solid #cbd6db;border-radius:8px;align-items:center;gap:8px;height:38px;padding:0 11px;display:flex}.column-settings-toolbar>label svg{width:15px;height:15px}.column-settings-toolbar input{color:#21333e;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:12px}.mapping-action{color:#465d68;white-space:nowrap;background:#fff;border:1px solid #cbd6db;border-radius:8px;justify-content:center;align-items:center;gap:6px;height:38px;padding:0 13px;font-size:12px;font-weight:700;display:inline-flex}.mapping-action svg{width:15px;height:15px}.mapping-action.create{color:#fff;background:#005c82;border-color:#005c82}.mapping-action.create:hover{color:#fff;background:#074c68;border-color:#074c68}.mapping-action:hover,.mapping-action.active{color:#005c82;background:#e7f3f7;border-color:#005c82}.mapping-manage-note{color:#005c82;background:#e7f3f7;border-radius:7px;margin-top:9px;padding:7px 10px;font-size:11px}.column-mapping-table{border:1px solid #d8e1e6;border-radius:9px;flex-direction:column;flex:auto;min-height:0;margin-top:12px;display:flex;overflow:hidden}.column-mapping-head,.column-mapping-row{grid-template-columns:34px minmax(230px,1.35fr) minmax(190px,1fr) 190px;align-items:center;column-gap:10px;display:grid}.column-mapping-head{color:#627782;background:#f5f7f8;flex:none;min-height:40px;padding:0 12px;font-size:11px;font-weight:700}.column-mapping-body{min-height:0;overflow:auto}.column-mapping-row{color:#465d68;border-top:1px solid #edf1f3;min-height:64px;padding:8px 12px;font-size:11px}.column-mapping-row:first-child{border-top:0}.column-mapping-head input,.column-mapping-row>input{accent-color:#005c82;width:16px;height:16px}.column-mapping-row>div{gap:2px;min-width:0;display:grid}.column-mapping-row b{color:#21333e;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.column-mapping-row small{color:#91a0a7;font-size:10px}.column-mapping-row>span{color:#6e818b;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.column-mapping-row select{color:#465d68;background:#fff;border:1px solid #d1dbe0;border-radius:7px;width:100%;height:36px;padding:0 30px 0 10px;font-size:11px}.column-mapping-empty{color:#8a969c;place-items:center;min-height:160px;font-size:12px;display:grid}.column-settings-note{color:#82949d;flex:none;margin:10px 0 0;font-size:10px;line-height:16px}.column-settings-dialog>footer{flex:none;justify-content:flex-end;gap:9px;margin-top:12px;display:flex}.monitoring-table-card{border-radius:10px;overflow:hidden}.monitoring-filter-bar{justify-content:space-between;align-items:center;gap:14px;display:flex}.monitoring-search-group{align-items:center;gap:9px;display:flex}.monitoring-search-group label{color:#8a969c;background:#fff;border:1px solid #cbd6db;border-radius:8px;align-items:center;gap:8px;height:38px;display:flex}.monitoring-search-group label:first-child{width:260px;padding:0 11px}.monitoring-search-group svg{flex:none;width:16px;height:16px}.monitoring-search-group input{color:#21333e;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:12px}.monitoring-site-filter{width:180px;padding-left:11px}.monitoring-site-filter select{color:#21333e;background:0 0;border:0;outline:0;width:100%;height:100%;padding:0 32px 0 0;font-size:12px;font-weight:700}.site-filter-control>svg{color:#6f8792;stroke-width:2px;flex:none;width:16px;height:16px}.monitoring-status-filter{align-items:center;gap:7px;display:flex}.monitoring-status-filter button{color:#627782;white-space:nowrap;background:#fff;border:1px solid #d7e2e8;border-radius:999px;align-items:center;gap:5px;min-height:32px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}.monitoring-status-filter button.active{color:#fff;background:#005c82;border-color:#005c82}.monitoring-status-filter span{min-width:0;height:auto;color:inherit;font-size:inherit;background:0 0;border-radius:0;display:inline}.monitoring-status-filter button.active span{background:0 0}.monitoring-table-card>.data-table-shell table{min-width:1500px}.water-device-groups{background:#f4f7f9;gap:14px;padding:12px;display:grid}.water-device-group{gap:7px;display:grid}.water-device-group h2{color:#21333e;margin:0 4px;font-size:13px;font-weight:800;line-height:20px}.water-device-group .data-table-shell{background:#fff;border:1px solid #dce6eb;border-radius:9px;overflow:hidden;box-shadow:0 1px 2px #1c313e0a}.water-device-group table{min-width:760px}.water-device-group th,.water-device-group td{height:42px}.monitoring-device-name{color:#21333e;white-space:nowrap;font-size:12px}.monitoring-site-name{color:#8a969c;white-space:nowrap;font-size:11px}.monitoring-measure{color:#21333e;white-space:nowrap;align-items:baseline;gap:3px;display:inline-flex}.monitoring-measure i{color:#15965b;font-size:12px;font-style:normal;font-weight:800}.monitoring-measure.up i{color:#ef4444}.monitoring-measure b{font-size:12px;font-weight:700}.monitoring-measure small{color:#8a969c;font-size:10px}.monitoring-status-dot{background:#20bf6b;border-radius:50%;width:13px;height:13px;display:inline-block;box-shadow:0 0 0 4px #e6f8ee}.monitoring-status-dot.警告{background:#e3a008;box-shadow:0 0 0 4px #fff4d6}.monitoring-status-dot.離線{background:#aebbc1;box-shadow:0 0 0 4px #edf1f3}.draggable-data-table th{cursor:grab}.draggable-data-table th>svg{color:#b4c0c6;vertical-align:-2px;width:13px;height:13px;margin-right:5px}.draggable-data-table tbody tr{transition:opacity .15s,background .15s}.draggable-data-table tbody tr[draggable=true]{cursor:grab}.draggable-data-table tbody tr.dragging{opacity:.42;background:#eaf5f8}.row-drag-column,.row-drag-handle{text-align:center;width:38px;padding-left:11px!important;padding-right:7px!important}.row-drag-handle svg{color:#b4c0c6;width:15px;height:15px}.status-chip.warning{color:#9a5a00;background:#fff1d6}.topology-workspace{grid-template-columns:minmax(0,1fr) 300px;gap:12px;height:calc(100vh - 155px);min-height:720px;display:grid;position:relative}.topology-workspace.panel-closed{grid-template-columns:1fr}.topology-canvas{background:#fff;border:1px solid #dce5ea;border-radius:10px;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.topology-site-select{z-index:8;color:#21333e;background:#fff;border:1px solid #d3dde3;border-radius:8px;width:240px;height:40px;padding:0 38px;font-size:13px;font-weight:700;position:absolute;top:12px;left:12px;box-shadow:0 2px 7px #21333e0f}.marker-mode-button{z-index:8;color:#21333e;background:#fff;border:1px solid #cbd6db;border-radius:8px;align-items:center;gap:6px;min-height:40px;padding:0 13px;font-size:12px;font-weight:700;display:inline-flex;position:absolute;top:12px;right:12px;box-shadow:0 2px 7px #21333e0f}.marker-mode-button svg{width:15px;height:15px}.marker-mode-button.active{color:#fff;background:#005c82;border-color:#005c82}.marker-mode-hint{z-index:8;color:#005c82;background:#e5f2f7;border-radius:7px;padding:7px 10px;font-size:11px;position:absolute;top:61px;right:12px}.floor-plan-stage{place-items:center;display:grid;position:absolute;inset:58px 16px 18px;overflow:auto}.floor-plan-stage img{object-fit:contain;transform-origin:50%;width:100%;height:100%;transition:transform .2s}.map-device-marker{z-index:5;background:#20bf6b;border:2px solid #fff;border-radius:50%;place-items:center;width:17px;height:17px;padding:0;transition:width .15s,height .15s,box-shadow .15s;display:grid;position:absolute;box-shadow:0 1px 3px #183c2a40,0 0 0 2px #dff7e9}.map-device-marker span{border-radius:inherit;width:100%;height:100%}.map-device-marker:hover,.map-device-marker.selected{width:21px;height:21px;box-shadow:0 0 0 3px #005c823b}.map-device-popover{z-index:30;background:#fff;border:1px solid #cbdce4;border-radius:10px;width:min(350px,100% - 32px);max-height:430px;padding:16px;position:absolute;top:0;left:0;overflow:auto;box-shadow:0 12px 28px #1e325033}.map-device-popover.anchor-right{border-left:3px solid #0b83a9}.map-device-popover.anchor-left{border-right:3px solid #0b83a9}.map-device-popover header{border-bottom:1px solid #edf1f3;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:11px;display:flex}.map-device-popover h2{color:#21333e;margin:0;font-size:15px;line-height:22px}.map-device-popover header p{color:#8a969c;margin:7px 0 0;font-size:11px}.map-device-popover header button{color:#627782;background:0 0;border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.map-device-popover header button:hover{background:#edf3f5}.map-device-popover header svg{width:16px;height:16px}.map-device-popover>div{padding-top:7px}.map-device-popover>div p{color:#465d68;justify-content:space-between;align-items:center;gap:16px;min-height:27px;margin:0;font-size:11px;display:flex}.map-device-popover>div b{color:#21333e;white-space:nowrap}.map-status-legend{z-index:8;color:#627782;background:#fffffff0;border:1px solid #dde5e9;border-radius:999px;gap:12px;padding:6px 10px;font-size:10px;display:flex;position:absolute;bottom:10px;left:12px}.map-status-legend span{align-items:center;gap:5px;display:inline-flex}.map-status-legend span:before{content:"";background:#20bf6b;border-radius:50%;width:8px;height:8px}.map-status-legend .warning:before{background:#f5a6aa}.map-status-legend .offline:before{background:#9aa9b1}.map-zoom-controls{z-index:8;background:#fff;border:1px solid #dce5ea;border-radius:8px;display:grid;position:absolute;bottom:10px;right:11px;overflow:hidden;box-shadow:0 2px 7px #21333e0f}.map-zoom-controls button{color:#465d68;background:#fff;border-bottom:1px solid #e5ecef;place-items:center;width:34px;height:32px;font-size:20px;display:grid}.map-zoom-controls button:last-child{border-bottom:0;font-size:16px}.map-zoom-controls svg{width:15px;height:15px}.topology-panel-toggle{z-index:25;color:#8a969c;background:#fff;border:1px solid #dce5ea;border-radius:10px 0 0 10px;place-items:center;width:18px;height:56px;display:grid;position:absolute;top:calc(50% - 28px);right:294px;box-shadow:-2px 2px 8px #21333e0d}.panel-closed .topology-panel-toggle{right:0}.topology-side-panel{background:#fff;border:1px solid #dce5ea;border-radius:10px;min-width:0;height:100%;min-height:0;padding:10px;position:relative;overflow:hidden}.topology-panel-tabs{background:#f0f3f5;border-radius:7px;grid-template-columns:1fr 1fr;height:35px;padding:3px;display:grid}.topology-panel-tabs button{color:#627782;background:0 0;border-radius:6px;font-size:12px;font-weight:700}.topology-panel-tabs button.active{color:#21333e;background:#fff;box-shadow:0 1px 3px #21333e14}.topology-search{color:#9aa8af;border:1px solid #d7e0e5;border-radius:7px;align-items:center;gap:7px;height:34px;margin-top:10px;padding:0 9px;display:flex}.topology-search svg{width:14px;height:14px}.topology-search input{background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:11px}.topology-status-filter{gap:5px;margin:8px 0 5px;display:flex}.topology-status-filter button{color:#627782;background:#fff;border:1px solid #e1e7ea;border-radius:999px;align-items:center;gap:4px;min-height:26px;padding:0 8px;font-size:10px;font-weight:700;display:inline-flex}.topology-status-filter button.active{color:#fff;background:#005c82;border-color:#005c82}.topology-status-filter span{opacity:.8}.topology-device-list{align-content:start;max-height:585px;display:grid;overflow:auto}.topology-device-list button{color:#21333e;text-align:left;background:0 0;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;min-height:47px;padding:8px 7px;font-size:11px;font-weight:700;display:flex}.topology-device-list button:hover,.topology-device-list button.selected{background:#eef5f7}.topology-device-list i{background:#20bf6b;border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 0 3px #e5f8ee}.topology-device-list i.告警{background:#e3a008;box-shadow:0 0 0 3px #fff4d6}.topology-device-list i.離線{background:#9aa9b1;box-shadow:0 0 0 3px #edf1f3}.topology-site-tree{padding-top:10px}.site-tree-parent{color:#21333e;text-align:left;background:0 0;grid-template-columns:13px 14px minmax(0,1fr) auto;align-items:center;gap:5px;width:100%;min-height:38px;padding:4px 3px;font-size:11px;display:grid}.site-tree-parent>svg:first-child,.site-tree-child svg{color:#c3cdd2;width:12px}.site-tree-parent>svg:nth-child(2){width:13px;transition:transform .15s}.site-tree-parent>svg.collapsed{transform:rotate(-90deg)}.site-tree-parent span,.site-tree-child em{color:#8a969c;background:#f2f4f5;border-radius:999px;padding:3px 8px;font-size:9px;font-style:normal;font-weight:500}.site-tree-child{color:#465d68;grid-template-columns:13px 14px minmax(0,1fr) auto;align-items:center;gap:5px;min-height:36px;padding:3px 3px 3px 19px;font-size:11px;display:grid}.site-tree-child>span{color:#bdc8cd}.topology-site-tree>p{color:#a0adb3;text-align:center;margin:7px 18px;font-size:9px}.add-site-button{color:#fff;background:#005c82;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;position:absolute;bottom:12px;right:12px;box-shadow:0 4px 10px #005c823d}.add-site-button:hover{background:#074c68}.add-site-button svg{width:20px;height:20px}.modal-backdrop{z-index:10020;background:#000000c2;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.add-site-dialog{gap:15px;width:min(385px,100%);padding:24px;display:grid}.add-site-dialog header{justify-content:space-between;align-items:center;display:flex}.add-site-dialog h2{margin:0;font-size:19px}.add-site-dialog header button{color:#627782;background:0 0;place-items:center;width:28px;height:28px;display:grid}.add-site-dialog header svg{width:17px;height:17px}.add-site-dialog label{color:#21333e;gap:7px;font-size:13px;font-weight:700;display:grid}.add-site-dialog input,.add-site-dialog textarea,.add-site-dialog select{color:#21333e;width:100%;min-height:40px;font:inherit;background:#fff;border:1px solid #cbd6db;border-radius:7px;padding:8px 11px;font-weight:400}.add-site-dialog textarea{resize:vertical;min-height:78px}.add-site-dialog input:focus,.add-site-dialog textarea:focus,.add-site-dialog select:focus{outline-offset:1px;outline:2px solid #3b82f6}.add-site-dialog footer{justify-content:flex-end;gap:9px;display:flex}.device-test-card{min-height:380px;padding:24px}.device-test-form{align-items:end;gap:12px;display:flex}.device-test-form select{color:#21333e;background:#fff;border:1px solid #d7e2e8;border-radius:9px;width:280px;height:40px;padding:0 12px}.device-test-result{color:#627782;text-align:center;border:1px dashed #cbd9df;border-radius:10px;align-content:center;place-items:center;gap:9px;min-height:230px;margin-top:24px;display:grid}.device-test-result svg{width:38px;height:38px}.device-test-result strong{color:#21333e;font-size:18px}.device-test-result.success{color:#1f7a4d;background:#f4fbf7;border-color:#a9d8bf}.device-test-suite{overflow:hidden}.device-test-section{border-top:1px solid #e1e9ed;padding:20px 18px}.device-test-section:first-child{border-top:0}.device-test-section h2{color:#21333e;margin:0 0 10px;font-size:16px;line-height:24px}.device-test-section p{color:#627782;margin:0 0 12px;font-size:13px;line-height:20px}.device-test-table{border:1px solid #dbe4e8;border-radius:7px;overflow:hidden}.device-test-table .table-wrap{max-height:475px;overflow:auto}.device-test-table table{min-width:720px}.device-test-table th,.device-test-table td{height:43px;padding-left:13px;padding-right:13px}.device-test-table th{height:38px;font-size:12px}.device-test-table th:first-child{width:31%}.connection-test-button{color:#21333e;background:#fff;border:1px solid #cbd6db;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-width:66px;height:30px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.connection-test-button:hover{color:#005c82;background:#f5fafc;border-color:#8eb6c5}.connection-test-button svg{width:14px;height:14px}.connection-test-button.success{color:#1f7a4d;background:#f3faf6;border-color:#a9d8bf}.device-test-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.device-test-controls select{color:#21333e;background:#fff;border:1px solid #cbd6db;border-radius:7px;width:230px;height:38px;padding:0 36px 0 12px;font-size:13px}.device-test-controls select:disabled{color:#9aa8af;background:#f6f8f9}.test-run-button{color:#fff;background:#005c82;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-width:92px;height:38px;padding:0 13px;font-size:13px;font-weight:700;display:inline-flex}.test-run-button:hover:not(:disabled){background:#074c68}.test-run-button:disabled{color:#82929a;cursor:not-allowed;background:#dce4e8}.test-run-button svg{width:16px;height:16px}.test-success{color:#1f7a4d;font-size:13px;font-weight:700}.notification-settings{gap:22px;max-width:760px;padding:24px;display:grid}.notification-setting-row{justify-content:space-between;align-items:center;gap:18px;display:flex}.notification-setting-row>div{gap:3px;display:grid}.notification-setting-row span{color:#627782;font-size:13px}.toggle-control{background:#cbd7dc;border-radius:999px;width:44px;height:24px;padding:3px}.toggle-control i{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .18s;display:block}.toggle-control.active{background:#08789a}.toggle-control.active i{transform:translate(20px)}.notification-events{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.notification-events>strong{width:100%}.notification-events label{color:#465d68;align-items:center;gap:7px;font-size:14px;display:flex}.settings-footer{color:#1f7a4d;border-top:1px solid #e1e9ed;justify-content:space-between;align-items:center;padding-top:18px;font-size:13px;display:flex}.system-settings-page{gap:16px;display:grid}.system-info-card,.system-unit-card{border-radius:10px;overflow:hidden}.system-settings-card-head{border-bottom:1px solid #e8eef2;justify-content:space-between;align-items:flex-start;gap:18px;min-height:65px;padding:13px 16px;display:flex}.system-settings-card-head>div{gap:2px;display:grid}.system-settings-card-head h2{color:#21333e;margin:0;font-size:15px;line-height:22px}.system-settings-card-head p{color:#8a969c;margin:0;font-size:12px;line-height:18px}.system-version-row{align-items:center;gap:16px;min-height:92px;padding:20px;display:flex}.system-version-row>span:first-child{color:#627782;font-size:13px;font-weight:700}.system-version-row>strong{color:#21333e;font-variant-numeric:tabular-nums;font-size:22px;line-height:28px}.system-version-row .status-chip{margin-left:auto}.system-settings-saved{color:#1f7a4d;white-space:nowrap;background:#e8f6ee;border-radius:6px;align-items:center;gap:6px;min-height:30px;padding:5px 9px;font-size:12px;font-weight:700;display:inline-flex}.system-settings-saved svg{width:15px;height:15px}.system-unit-card .data-table-shell{border:0;border-radius:0}.system-unit-card .table-wrap{overflow:auto}.system-unit-card table{min-width:760px}.system-unit-card th,.system-unit-card td{height:52px;padding-left:20px;padding-right:20px}.system-unit-card th{height:40px}.system-unit-type{color:#21333e;font-size:13px}.system-unit-input,.system-unit-select{color:#21333e;height:34px;font:inherit;background:#fff;border:1px solid #cbd6db;border-radius:7px;font-size:13px}.system-unit-input{width:150px;padding:0 9px}.system-unit-select{width:92px;padding:0 30px 0 9px}.system-unit-value-select{width:150px}.system-unit-input:focus,.system-unit-select:focus{border-color:#0b83a9;outline:2px solid #0b83a924}.system-unit-preview{color:#465d68;font-variant-numeric:tabular-nums}.system-unit-edit,.system-unit-actions button{color:#005c82;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:5px;min-height:32px;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex}.system-unit-edit:hover,.system-unit-actions button:hover{background:#e5f2f7}.system-unit-actions{align-items:center;gap:4px;display:inline-flex}.system-unit-actions button.save{color:#fff;background:#005c82}.system-unit-actions button.save:hover{background:#074c68}.system-unit-actions button:disabled{opacity:.45;cursor:not-allowed}.system-unit-edit svg,.system-unit-actions svg{width:14px;height:14px}.release-page{gap:16px;display:grid}.release-current-card,.release-history-card{border-radius:10px;overflow:hidden}.release-current-card .status-chip{align-self:center}.release-current-content{grid-template-columns:150px minmax(240px,1fr) minmax(330px,auto);align-items:center;gap:24px;min-height:132px;padding:20px;display:grid}.release-version-mark{gap:4px;display:grid}.release-version-mark span{color:#627782;font-size:12px;font-weight:700}.release-version-mark strong{color:#005c82;font-variant-numeric:tabular-nums;font-size:30px;line-height:36px}.release-current-summary{border-left:1px solid #e1e9ed;padding-left:24px}.release-current-summary h3{color:#21333e;margin:0 0 5px;font-size:16px;line-height:24px}.release-current-summary p{color:#627782;max-width:560px;margin:0;font-size:12px;line-height:20px}.release-deployment-meta{gap:7px;margin:0;display:grid}.release-deployment-meta div{grid-template-columns:72px minmax(0,1fr);gap:12px;display:grid}.release-deployment-meta dt{color:#8a969c;font-size:11px}.release-deployment-meta dd{overflow-wrap:anywhere;color:#465d68;margin:0;font-size:12px;font-weight:700}.release-history-list{padding:0 20px}.release-history-item{grid-template-columns:30px minmax(0,1fr);gap:12px;min-height:140px;display:grid}.release-timeline{justify-content:center;display:flex;position:relative}.release-timeline:after{content:"";background:#dbe5e9;width:1px;position:absolute;top:33px;bottom:0}.release-history-item:last-child .release-timeline:after{display:none}.release-timeline i{z-index:1;background:#91a2aa;border:3px solid #fff;border-radius:50%;width:11px;height:11px;margin-top:27px;position:relative;box-shadow:0 0 0 1px #cbd7dc}.release-history-item.current .release-timeline i{background:#16836d;box-shadow:0 0 0 1px #16836d}.release-history-content{border-bottom:1px solid #e8eef2;padding:22px 0 20px}.release-history-item:last-child .release-history-content{border-bottom:0}.release-history-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.release-history-heading>div{align-items:baseline;gap:10px;display:flex}.release-history-heading strong{color:#005c82;font-variant-numeric:tabular-nums;font-size:15px;line-height:22px}.release-history-heading time{color:#8a969c;font-variant-numeric:tabular-nums;font-size:11px}.release-history-heading>span{color:#16836d;background:#e8f6ee;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700}.release-history-content h3{color:#21333e;margin:5px 0 7px;font-size:14px;line-height:21px}.release-history-content ul{color:#627782;gap:3px;margin:0;padding-left:18px;font-size:12px;line-height:19px;display:grid}@media (width<=980px){.release-current-content{grid-template-columns:130px minmax(0,1fr)}.release-deployment-meta{border-top:1px solid #e8eef2;grid-column:1/-1;padding-top:14px}}@media (width<=640px){.release-current-content{grid-template-columns:1fr;gap:16px}.release-current-summary{border-top:1px solid #e1e9ed;border-left:0;padding:14px 0 0}.release-deployment-meta{grid-column:auto}.release-history-list{padding:0 14px}}.notification-page{gap:14px;display:grid}.email-recipient-toolbar{justify-content:flex-end;align-items:center;display:flex}.email-table-filters{align-items:center;gap:10px;display:flex}.notification-table-card{border-radius:10px;overflow:hidden}.notification-table-card thead th{border-top:0}.notification-table-card tbody td{height:46px}.notification-tag{color:#005c82;background:#e5f2f7;border-radius:6px;align-items:center;min-height:24px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}.notification-readonly{color:#8a969c;font-size:12px}.notification-dialog{background:#fff;border:1px solid #d7e2e8;border-radius:10px;width:min(460px,100%);overflow:hidden;box-shadow:0 24px 60px #101c234d}.notification-dialog header{border-bottom:1px solid #e1e9ed;justify-content:space-between;align-items:flex-start;gap:16px;min-height:76px;padding:18px 20px;display:flex}.notification-dialog h2{color:#21333e;margin:0;font-size:19px;line-height:26px}.notification-dialog header p{color:#627782;margin:3px 0 0;font-size:12px}.notification-dialog header button{color:#627782;border-radius:7px;flex:none;place-items:center;width:32px;height:32px;display:grid}.notification-dialog header button:hover{background:#edf3f6}.notification-dialog header svg{width:17px;height:17px}.notification-dialog-fields{gap:14px;padding:18px 20px;display:grid}.notification-dialog-fields label{color:#465d68;gap:6px;font-size:13px;font-weight:700;display:grid}.notification-dialog-fields label b{color:#dc2626}.notification-dialog-fields input,.notification-dialog-fields select{color:#21333e;background:#fff;border:1px solid #cbd6db;border-radius:8px;width:100%;height:40px;padding:0 12px;font-size:13px}.notification-dialog footer{border-top:1px solid #e1e9ed;justify-content:flex-end;gap:9px;padding:14px 20px 18px;display:flex}.line-notification-page{gap:16px}.line-binding-card,.bound-group-card{border-radius:10px;overflow:hidden}.line-binding-card>header,.bound-group-card>header{border-bottom:1px solid #e8eef2;justify-content:space-between;align-items:flex-start;gap:18px;min-height:65px;padding:13px 16px;display:flex}.line-binding-card h2,.bound-group-card h2{color:#21333e;margin:0;font-size:15px;line-height:22px}.line-binding-card header p{color:#8a969c;margin:2px 0 0;font-size:12px;line-height:18px}.line-binding-card header button svg{width:15px;height:15px}.line-code-panel{background:#f0f8fb;border:1px solid #b7d5df;border-radius:10px;gap:13px;margin:16px;padding:18px 16px;display:grid}.line-code-panel>div{align-items:center;gap:16px;display:flex}.line-code-panel strong{color:#005c82;letter-spacing:5px;font-size:34px;line-height:40px}.line-code-panel button{color:#005c82;background:#fff;border:1px solid #9dcbdc;border-radius:7px;align-items:center;gap:6px;min-height:34px;padding:0 11px;font-size:12px;font-weight:700;display:inline-flex}.line-code-panel button:hover{background:#e5f2f7}.line-code-panel button svg{width:14px;height:14px}.line-code-panel p{color:#005c82;align-items:center;gap:7px;margin:0;font-size:12px;display:flex}.line-code-panel p svg{width:15px;height:15px}.line-code-panel p span{background:#d9edf5;border-radius:999px;padding:2px 7px;font-weight:800}.line-binding-steps{gap:7px;margin:0;padding:0 16px 14px;list-style:none;display:grid}.line-binding-steps li{color:#465d68;align-items:center;gap:9px;font-size:12px;display:flex}.line-binding-steps i{color:#627782;background:#edf3f6;border-radius:999px;flex:none;place-items:center;width:19px;height:19px;font-style:normal;font-weight:800;display:grid}.line-binding-steps b{background:#edf3f6;border-radius:4px;padding:2px 5px}.bound-group-card>header{align-items:center;min-height:48px}.bound-group-card h2 span{color:#627782;background:#edf3f6;border-radius:999px;margin-left:5px;padding:3px 7px;font-size:11px}.bound-group-card header small{color:#8a969c;font-size:11px}.bound-group-empty{color:#a7b5bc;text-align:center;align-content:center;place-items:center;gap:7px;min-height:160px;display:grid}.bound-group-empty svg{width:30px;height:30px}.bound-group-empty strong{color:#627782;font-size:14px}.bound-group-empty p{color:#8a969c;margin:0;font-size:12px}.dashboard-layout{gap:16px;display:grid}.dashboard-titlebar{gap:8px;display:grid}.dashboard-title-row{justify-content:space-between;align-items:center;gap:16px;height:70px;display:flex}.dashboard-title-row>div:first-child{align-items:center;gap:8px;display:flex}.dashboard-title-row h1{color:#21333e;margin:0;font-size:28px;font-weight:700;line-height:35px}.dashboard-primary-tabs{border-bottom:1px solid #dce6eb}.scope-switcher{color:#465d68;min-width:180px;font-size:13px;font-weight:600;display:block}.scope-switcher>span:first-child{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.scope-switcher select{color:#627782;background:#fff;border:1px solid #cbd6db;border-radius:9px;width:180px;height:40px;padding:0 38px 0 13px;font-size:14px;font-weight:400}.fixed-scope-label{color:#465d68;background:#fff;border:1px solid #cbd6db;border-radius:9px;align-items:center;gap:8px;min-height:40px;padding:0 13px;font-size:13px;font-weight:700;display:inline-flex}.fixed-scope-label svg{color:#005c82;width:16px;height:16px}.settings-action{color:#fff;background:#005c82;border-radius:8px;justify-content:center;align-items:center;gap:7px;height:36px;min-height:36px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 2px 6px #005c822e}.settings-action:hover{background:#074c68}.settings-action:focus-visible{outline-offset:3px;outline:2px solid #0b83a9}.settings-action svg{width:17px;height:17px}.carbon-page-actions{align-items:center;gap:8px;display:flex}.topic-tabs{align-items:center;gap:26px;width:max-content;max-width:100%;display:inline-flex;overflow:auto hidden}.topic-tabs button{color:#627782;white-space:nowrap;background:0 0;border-bottom:3px solid #0000;border-radius:0;flex:none;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 2px;display:inline-flex}.topic-tabs button svg{width:17px;height:17px}.topic-tabs button span{color:inherit;font-size:15px;font-weight:700;line-height:22px}.topic-tabs button.active{color:#005c82;background:0 0;border-bottom-color:#0b83a9}.dashboard-panel{gap:16px;display:grid}.report-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.report-head h2{margin:0;font-size:20px;line-height:28px}.report-head p{color:#627782;margin:3px 0 0;font-size:13px}.subtab-frame{background:0 0;border:0;overflow:visible}.sub-tabs{align-items:end;gap:8px;width:fit-content;min-height:39px;display:inline-flex;overflow:visible}.sub-tabs button{color:#627782;background:#edf2f5;border:1px solid #d7e2e8;border-bottom:0;border-radius:6px 6px 0 0;justify-content:center;align-items:center;min-width:128px;min-height:38px;padding:0 16px;font-size:13px;font-weight:700;display:flex}.sub-tabs button:hover{color:#005c82;background:#f6fbfd;border-color:#b9d9e5}.sub-tabs button.active{z-index:2;color:#005c82;background:#fff;border-color:#9dcbdc;position:relative;transform:translateY(1px);box-shadow:inset 0 3px #0b83a9}.subtab-toolbar{background:0 0;border:0;border-radius:0;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:12px;min-height:39px;padding:0 17px;display:grid;overflow:visible}.subtab-content{background:#fff;border:1px solid #d7e2e8;border-radius:8px;padding:16px}.subtab-content>.realtime-demand-card,.subtab-content>.tou-card{margin-top:16px}.subtab-description{color:#627782;background:#f5fafc;border-left:3px solid #08789a;border-radius:6px;align-items:center;gap:7px;min-height:38px;padding:9px 12px;font-size:12px;display:flex}.subtab-description strong{color:#21333e;white-space:nowrap}.subtab-description.history{background:#f3faf6;border-left-color:#1f7a4d}.dashboard-stack{gap:16px;display:grid}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.kpi-card{background:#fff;border:1px solid #e1e9ed;border-radius:16px;align-content:start;gap:9px;min-height:126px;padding:18px;display:grid}.kpi-top{justify-content:space-between;align-items:center;gap:10px;min-height:24px;display:flex}.kpi-top>span{color:#627782;font-size:13px;font-weight:700}.kpi-card strong{color:#21333e;font-size:30px;line-height:36px}.kpi-card strong small{color:#627782;margin-left:5px;font-size:13px;font-weight:700}.kpi-card p{color:#627782;margin:0;font-size:12px;line-height:18px}.electricity-live-section{gap:8px;display:grid}.electricity-live-meta{color:#627782;justify-content:flex-end;align-items:center;gap:12px;min-height:24px;font-size:11px;font-weight:700;display:flex}.electricity-live-meta span{align-items:center;gap:6px;display:inline-flex}.electricity-live-meta span i{background:#2f7d64;border-radius:999px;width:7px;height:7px;animation:1.5s ease-in-out infinite liveDot;box-shadow:0 0 0 4px #2f7d641f}.electricity-live-meta time{color:#465d68;font-variant-numeric:tabular-nums;min-width:58px}.electricity-live-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.electricity-live-kpis .kpi-card{background:linear-gradient(155deg,#fff 48%,#f7fafb 100%);border-radius:12px;gap:4px;min-height:98px;padding:10px 12px}.electricity-live-kpis .kpi-top{min-height:20px}.electricity-live-kpis .status-badge{min-height:20px;padding:1px 7px;font-size:10px}.electricity-live-kpis .kpi-card>strong{color:#005c82;font-variant-numeric:tabular-nums;font-size:23px;line-height:30px;animation:.36s ease-out meterRefresh}.electricity-live-kpis .kpi-card>p{margin-top:auto;font-size:11px;line-height:16px}.electricity-live-kpis .kpi-card.status-abnormal{background:linear-gradient(155deg,#fff 35%,#fff2f0 100%);border-color:#e3aaa3;box-shadow:inset 3px 0 #b42318}.electricity-live-kpis .kpi-card.status-abnormal>strong,.electricity-live-kpis .kpi-card.status-abnormal>p{color:#9f2f2f}@keyframes liveDot{50%{opacity:.45;transform:scale(.82)}}@keyframes meterRefresh{0%{opacity:.45;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.status-badge{color:#627782;background:#f2f4f5;border-radius:999px;flex-shrink:0;align-items:center;min-height:24px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-flex}.status-badge.normal,.status-badge.auto{color:#1f7a4d;background:#e8f6ee}.status-badge.warning{color:#a65f00;background:#fff3d8}.status-badge.abnormal{color:#9f2f2f;background:#ffe7e2}.status-badge.watch{color:#8a5a00;background:#fff7df}.status-badge.offline{color:#9f2f2f;background:#ffe7e2}.overview-trend-card{background:#fff;overflow:visible}.overview-trend-head{border-bottom:1px solid #e1e9ed;justify-content:space-between;align-items:center;gap:18px;min-height:72px;padding:14px 18px;display:flex}.overview-trend-head h3{color:#21333e;margin:0;font-size:17px;line-height:24px}.overview-trend-head h3+span{color:#627782;margin-top:3px;font-size:12px;font-weight:700;display:block}.overview-trend-head-actions{align-items:center;gap:16px;display:flex}.overview-trend-stats{align-items:center;gap:14px;display:flex}.overview-trend-stats span{color:#8a969c;gap:2px;font-size:10px;font-weight:700;display:grid}.overview-trend-stats b{color:#21333e;white-space:nowrap;font-size:12px}.overview-trend-scroll{overflow:visible}.overview-trend-chart{grid-template-columns:40px minmax(0,1fr);gap:8px;min-width:0;padding:12px 16px 12px 10px;display:grid}.overview-trend-y-axis{color:#8a969c;text-align:right;flex-direction:column;justify-content:space-between;height:150px;font-size:11px;display:flex}.overview-trend-plot{height:178px;position:relative}.overview-trend-plot svg{background-image:linear-gradient(#d7e2e8b3 1px,#0000 1px);background-size:100% 25%;width:100%;height:150px;display:block;overflow:visible}.overview-trend-plot polyline{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.overview-trend-plot circle{opacity:.55;transition:opacity .15s}.overview-trend-hover-zones{z-index:5;pointer-events:none;position:absolute;inset:0 0 28px}.overview-trend-hover-zone{pointer-events:auto;cursor:help;width:4.4%;height:150px;position:absolute;top:0;transform:translate(-50%)}.overview-trend-hover-zone:hover .chart-tooltip{display:block}.overview-trend-hover-zone:hover+.overview-trend-hover-zone{z-index:6}.overview-trend-hover-zone.edge-start .chart-tooltip{left:0;transform:none}.overview-trend-hover-zone.edge-end .chart-tooltip{left:auto;right:0;transform:none}.overview-trend-x-axis{color:#8a969c;height:18px;margin-top:8px;font-size:11px;position:relative}.overview-trend-x-axis span{white-space:nowrap;position:absolute;top:0;transform:translate(-50%)}.overview-trend-x-axis span.edge-start{transform:none}.overview-trend-x-axis span.edge-end{transform:translate(-100%)}.realtime-demand-card,.tou-card{background:#fff;overflow:visible}.realtime-demand-card .overview-module-head{min-height:54px;padding:9px 14px}.realtime-demand-card .overview-module-head h3{font-size:16px;line-height:21px}.realtime-demand-card .demand-head-forecast{background:#eef9f3;border:1px solid #bfe2cf;border-radius:6px;align-items:center;gap:7px;min-width:0;margin-left:auto;padding:7px 10px;display:flex}.demand-head-forecast strong{color:#1f7a4d;font-size:12px}.demand-head-forecast small{color:#465d68;text-overflow:ellipsis;white-space:nowrap;max-width:390px;font-size:10px;overflow:hidden}.demand-head-forecast>b{color:#1f7a4d;white-space:nowrap;font-size:10px}.realtime-demand-card .demand-head-forecast.breach{background:#fff2ef;border-color:#efc4bd}.demand-head-forecast.breach strong,.demand-head-forecast.breach>b{color:#9f2f2f}.overview-module-head{border-bottom:1px solid #e1e9ed;justify-content:space-between;align-items:center;gap:14px;min-height:66px;padding:13px 18px;display:flex}.overview-module-head>div{align-items:center;gap:10px;display:flex}.overview-module-head h3{color:#21333e;margin:0;font-size:18px;line-height:24px}.overview-module-head small{color:#627782;margin-top:2px;font-size:11px;font-weight:700;display:block}.site-demand-comparison{background:#fff;overflow:hidden}.site-demand-table{width:100%;display:grid}.site-demand-row{color:#465d68;border-top:1px solid #edf2f5;grid-template-columns:minmax(180px,1.35fr) repeat(3,minmax(92px,.7fr)) minmax(190px,1.25fr);align-items:center;gap:14px;min-height:58px;padding:8px 18px;font-size:12px;display:grid}.site-demand-row.head{color:#627782;background:#f7fafb;border-top:0;min-height:34px;padding-top:6px;padding-bottom:6px;font-size:11px;font-weight:700}.site-demand-row>div:first-child{gap:2px;min-width:0;display:grid}.site-demand-row>div:first-child strong{color:#21333e;font-size:14px}.site-demand-row>b{color:#005c82;font-size:18px}.site-demand-row>b small{color:#627782;margin-left:4px;font-size:10px}.site-demand-utilization{grid-template-columns:minmax(70px,1fr) auto;align-items:center;gap:3px 8px;display:grid}.site-demand-utilization>span{background:#e7eef2;border-radius:999px;height:7px;overflow:hidden}.site-demand-utilization>span i{border-radius:inherit;background:#0b83a9;height:100%;display:block}.site-demand-utilization>b{color:#005c82;font-size:12px}.site-demand-utilization>small{color:#8a969c;grid-column:1/-1;font-size:10px}.demand-forecast-alert{color:#65423f;background:#fff7f5;border:1px solid #f2c8c2;border-left:4px solid #b42318;border-radius:8px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;margin:0;padding:9px 10px;font-size:10px;display:grid;box-shadow:0 2px 7px #78282214}.demand-alert-icon{color:#b42318;background:#ffe4df;border-radius:7px;place-items:center;width:28px;height:28px;display:grid}.demand-alert-icon svg{width:16px;height:16px}.demand-forecast-alert>div{gap:2px;min-width:0;display:grid}.demand-forecast-alert strong{color:#9f2f2f;font-size:12px}.demand-forecast-alert span{line-height:15px}.demand-forecast-alert em{color:#9f2f2f;white-space:nowrap;background:#ffe7e2;border-radius:999px;padding:4px 7px;font-size:10px;font-style:normal;font-weight:800}.demand-forecast-alert.safe{color:#285b41;background:#f3faf6;border-color:#bfe4cf #bfe4cf #bfe4cf #1f7a4d;box-shadow:0 2px 7px #1f7a4d14}.demand-forecast-alert.safe .demand-alert-icon{color:#1f7a4d;background:#e8f6ee}.demand-forecast-alert.safe strong,.demand-forecast-alert.safe em{color:#1f7a4d}.demand-forecast-alert.safe em{background:#e8f6ee}.demand-summary-board{grid-template-columns:minmax(220px,.85fr) minmax(0,1.4fr);gap:8px;margin:10px 14px 0;display:grid}.demand-power-hero{background:linear-gradient(145deg,#f2f9fc,#fff);border:1px solid #b9d9e5;border-radius:9px;align-content:center;gap:3px;min-height:88px;padding:10px 14px;display:grid}.demand-power-label{color:#465d68;justify-content:space-between;align-items:center;gap:10px;font-size:11px;font-weight:800;display:flex}.demand-power-label>span{align-items:center;display:inline-flex}.demand-power-hero>strong{color:#005c82;letter-spacing:-.03em;font-size:29px;line-height:33px}.demand-power-hero>strong small,.demand-support-metrics strong small{color:#627782;letter-spacing:0;margin-left:6px;font-size:12px}.demand-power-hero p,.demand-support-metrics p{color:#627782;margin:0;font-size:10px;line-height:15px}.demand-support-metrics{background:#fbfdfe;border:1px solid #e1e9ed;border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.demand-support-metrics>div{grid-template-areas:"label""value""detail";align-content:center;gap:2px;padding:10px 13px;display:grid}.demand-support-metrics>div+div{border-left:1px solid #e1e9ed}.demand-support-metrics span{color:#465d68;grid-area:label;align-items:center;font-size:11px;font-weight:800;line-height:17px;display:inline-flex}.demand-support-metrics strong{color:#21333e;grid-area:value;font-size:21px;line-height:26px}.demand-support-metrics p{grid-area:detail}.demand-support-metrics>div:first-child strong{color:#a65f00}.demand-control-row{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px;margin:9px 14px 0;display:grid}.demand-capacity-meter{background:#fff;border:1px solid #e1e9ed;border-radius:8px;align-content:center;gap:7px;margin:0;padding:8px 10px;display:grid}.demand-meter-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.demand-meter-head>span{color:#627782;font-size:10px;font-weight:800}.demand-meter-head strong{color:#005c82;font-size:16px}.demand-meter-head i{color:#8a969c;padding:0 2px;font-style:normal;font-weight:500}.demand-meter-head small{color:#627782;font-size:9px}.demand-meter-track{background:linear-gradient(90deg,#e8f6ee 0 80%,#fff3d8 80% 95%,#ffe7e2 95% 100%);border-radius:999px;height:10px;position:relative;box-shadow:inset 0 0 0 1px #21333e14}.demand-meter-current{border-radius:inherit;background:linear-gradient(90deg,#08789a,#0b9bb5);height:100%;position:absolute;top:0;left:0}.demand-meter-current:after{content:"";background:#005c82;border:3px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;top:-2px;right:-7px;box-shadow:0 2px 5px #1e325038}.demand-meter-peak{background:#d97706;border-radius:999px;width:3px;height:16px;position:absolute;top:-3px;transform:translate(-50%)}.demand-meter-legend{color:#627782;justify-content:space-between;align-items:center;gap:10px;font-size:9px;font-weight:700;display:flex}.demand-meter-legend span:before{content:"";background:#005c82;border-radius:50%;width:7px;height:7px;margin-right:4px;display:inline-block}.demand-meter-legend .peak:before{background:#d97706;border-radius:2px}.demand-meter-legend .limit:before{background:#b42318}.demand-analysis-grid{grid-template-columns:1fr;padding:9px 14px 14px;display:grid}.demand-cycle-chart{min-width:0;padding:0 0 7px;display:grid}.demand-cycle-title{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.demand-cycle-heading{gap:2px;display:grid}.demand-cycle-title strong{color:#21333e;font-size:13px}.demand-cycle-title span{color:#627782;font-size:10px;font-weight:700}.demand-cycle-stats{background:#fff;border:1px solid #e1e9ed;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px;display:grid}.demand-cycle-stats>span{gap:2px;min-width:0;padding:10px 12px;display:grid}.demand-cycle-stats>span+span{border-left:1px solid #e1e9ed}.demand-cycle-stats small{color:#627782;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700;overflow:hidden}.demand-cycle-stats strong{color:#21333e;font-size:18px;line-height:22px}.demand-cycle-stats>span:first-child strong{color:#005c82}.demand-cycle-stats strong i{color:#627782;margin-left:4px;font-size:10px;font-style:normal;font-weight:700}.demand-cycle-meta{justify-items:end;gap:7px;display:grid}.demand-capacity-summary{align-items:baseline;gap:9px;display:flex}.demand-capacity-summary>span{color:#627782;font-size:10px}.demand-capacity-summary strong{color:#005c82;font-size:18px;line-height:20px}.demand-capacity-summary i{color:#8a969c;padding:0 3px;font-style:normal;font-weight:500}.demand-capacity-summary small{color:#627782;margin-left:3px;font-size:10px}.demand-cycle-visual{background:#fff;padding:8px 0 10px}.demand-cycle-legend{color:#627782;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:14px;margin:10px 0 0;font-size:12px;line-height:18px;display:flex}.demand-cycle-legend span{align-items:center;gap:6px;display:inline-flex}.demand-cycle-legend .line{border-top:3px solid #c62828;width:18px;height:0}.demand-cycle-legend .forecast{border-top-style:dashed;border-top-color:#e67e22}.demand-cycle-legend .warning{border-top-style:dashed;border-top-color:#7c3aed}.demand-cycle-legend .limit{border-top-style:dashed;border-top-color:#2563eb}.demand-cycle-plot{height:220px;position:relative}.demand-cycle-plot svg{width:100%;height:220px;overflow:visible}.demand-cycle-plot line{stroke-width:1.5px;stroke-dasharray:6 5}.demand-cycle-plot line.interval{stroke:#d8d4bf;stroke-width:1px;stroke-dasharray:none}.demand-cycle-plot line.grid{stroke:#dce6eb}.demand-cycle-plot line.warning{stroke:#7c3aed}.demand-cycle-plot line.limit{stroke:#2563eb;stroke-width:2px}.demand-cycle-plot line.axis{stroke:#94a3b8;stroke-width:1.25px;stroke-dasharray:none}.demand-cycle-plot marker path{fill:#94a3b8}.demand-cycle-plot polyline{fill:none;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.demand-cycle-plot polyline.actual{stroke:#c62828}.demand-cycle-plot polyline.forecast{stroke:#e67e22;stroke-dasharray:7 6}.demand-cycle-plot polyline.forecast.breach{stroke:#dc5a55}.demand-chart-dot{z-index:7;pointer-events:none;background:#08789a;border:3px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #21333e3d}.demand-chart-dot.average{background:#fff;box-shadow:0 0 0 3px #15803d,0 1px 4px #21333e33}.demand-chart-dot.peak{background:#c62828;width:14px;height:14px}.demand-chart-dot.breach{background:#dc5a55;width:14px;height:14px}.demand-y-axis-label,.demand-x-axis-label{z-index:7;color:#64748b;letter-spacing:0;pointer-events:none;font-family:inherit;font-size:10px;font-weight:800;position:absolute}.demand-y-axis-label{top:-4px;left:6.3%;transform:translate(-50%)}.demand-x-axis-label{bottom:0;right:8px}.demand-y-tick{z-index:7;color:#8a969c;letter-spacing:0;text-align:right;pointer-events:none;min-width:30px;font-family:inherit;font-size:9px;font-weight:700;position:absolute;left:7px;transform:translateY(-50%)}.demand-instant-label,.demand-current-label,.demand-peak-label,.demand-today-peak-label,.demand-contract-label{z-index:7;letter-spacing:0;white-space:nowrap;pointer-events:none;border:1px solid #0000;border-radius:4px;padding:4px 7px;font-family:inherit;font-size:10px;font-weight:700;position:absolute;box-shadow:0 1px 4px #21333e1f}.demand-instant-label{color:#00677f;background:#e9f7fa;border-color:#a9d8e2;transform:translate(-50%,-120%)}.demand-current-label{color:#166534;background:#edf9f1;border-color:#b7dfc5;transform:translate(-50%,40%)}.demand-peak-label{color:#9f2f2f;background:#fff0ee;border-color:#efb8b3;transform:translate(-50%,-120%)}.demand-today-peak-label{color:#9f2f2f;background:#ffe9e6;border-color:#efb8b3;transform:translate(-50%,-125%)}.demand-contract-label{color:#1d4ed8;background:#eaf1ff;border-color:#b8caf3;right:4%;transform:translateY(-115%)}.demand-breach-label{z-index:7;color:#9f2f2f;pointer-events:none;background:#ffe7e2;border-radius:6px;padding:4px 7px;font-size:10px;font-weight:800;position:absolute;right:10px;transform:translateY(-100%);box-shadow:0 2px 6px #7828221f}.demand-cycle-hover-layer{z-index:30;display:grid;position:absolute;inset:0}.demand-cycle-hover{position:relative}.demand-cycle-hover:hover{z-index:31}.demand-cycle-hover:hover .chart-tooltip{z-index:100;display:block;top:10px;bottom:auto}.demand-cycle-hover.edge-start .chart-tooltip{left:0;transform:none}.demand-cycle-hover.edge-end .chart-tooltip{left:auto;right:0;transform:none}.demand-cycle-axis{color:#8a969c;text-align:center;grid-template-columns:repeat(9,minmax(0,1fr));margin-left:6.3%;margin-right:3.7%;font-size:9px;display:grid}.demand-cycle-axis span:first-child{text-align:left}.demand-cycle-axis span:last-child{text-align:right}.tou-date{color:#627782;font-size:11px;font-weight:800}.tou-layout{grid-template-columns:minmax(0,1.65fr) minmax(310px,.75fr);display:grid}.tou-hourly-panel{border-right:1px solid #e1e9ed;min-width:0;padding:16px 18px 14px}.tou-panel-title{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.tou-panel-title>div:first-child{gap:2px;display:grid}.tou-panel-title strong{color:#21333e;font-size:14px}.tou-panel-title span{color:#627782;font-size:10px;font-weight:700}.tou-legend{align-items:center;gap:9px;display:flex}.tou-legend span:before{content:"";background:#b84a57;border-radius:2px;width:8px;height:8px;margin-right:5px;display:inline-block}.tou-legend .shoulder:before{background:#005c82}.tou-legend .offpeak:before{background:#2f7d64}.tou-tariff-basis{background:#f7fafb;border:1px solid #d9e2e8;border-radius:8px;grid-template-columns:minmax(230px,1fr) auto;align-items:center;gap:7px 14px;margin:0 18px 14px;padding:10px 12px;display:grid}.tou-tariff-basis>div:first-child{align-items:center;gap:8px;display:flex}.tou-tariff-basis>div:first-child span{color:#005c82;background:#e8f0f4;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:800}.tou-tariff-basis>div:first-child strong{color:#21333e;font-size:11px}.tou-tariff-basis>small{color:#70808a;grid-column:1/-1;font-size:9px;line-height:1.5}.tou-rate-chips{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.tou-rate-chips span{border-radius:6px;padding:4px 7px;font-size:9px;font-weight:800}.tou-rate-chips .peak{color:#9f3643;background:#f8e9eb}.tou-rate-chips .shoulder{color:#005c82;background:#e5f1f5}.tou-rate-chips .offpeak{color:#2f7d64;background:#e8f3ee}.tou-bars{align-items:end;gap:5px;height:260px;margin-top:16px;display:grid}.tou-bar-slot{color:#8a969c;text-align:center;grid-template-rows:1fr 18px;align-items:end;gap:5px;min-width:0;height:100%;font-size:9px;display:grid}.tou-bar{cursor:help;background:linear-gradient(#c65b66,#a53d49);border-radius:5px 5px 2px 2px;min-height:8px;position:relative}.tou-bar.shoulder{background:linear-gradient(#08789a,#005c82)}.tou-bar.offpeak{background:linear-gradient(#459377,#2f7d64)}.tou-bar:hover .chart-tooltip{display:block}.tou-bar-slot:first-child .chart-tooltip{left:0;transform:none}.tou-bar-slot:last-child .chart-tooltip{left:auto;right:0;transform:none}.tou-share-panel{background:#fbfdfe;align-content:start;gap:14px;padding:16px;display:grid}.tou-donut-block{grid-template-columns:104px minmax(0,1fr);align-items:center;gap:12px;display:grid}.tou-donut{border-radius:50%;place-items:center;width:100px;height:100px;display:grid;position:relative}.tou-donut:after{border-radius:inherit;content:"";background:#fff;position:absolute;inset:22px}.tou-donut>div{z-index:1;justify-items:center;display:grid;position:relative}.tou-donut strong{color:#21333e;font-size:17px}.tou-donut small{color:#627782;font-size:9px;font-weight:700}.tou-donut-copy{gap:5px;display:grid}.tou-donut-copy>strong{color:#21333e;margin-bottom:2px;font-size:12px}.tou-donut-copy span{color:#627782;grid-template-columns:8px 1fr auto;align-items:center;gap:5px;font-size:10px;display:grid}.tou-donut-copy i{background:#b84a57;border-radius:2px;width:7px;height:7px}.tou-donut-copy i.shoulder{background:#005c82}.tou-donut-copy i.offpeak{background:#2f7d64}.tou-donut-copy b{color:#21333e}.tou-alert{margin:0}.tou-alert span b{color:#9f2f2f;font-weight:900}.filterable-card,.filterable-card.history-trend-card{overflow:visible}.filterable-head{border-bottom:1px solid #e1e9ed;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:16px 18px;display:flex}.filterable-title{gap:2px;min-width:0;display:grid}.filterable-head h3{margin:0;font-size:17px;line-height:24px}.filterable-title>small{color:#627782;font-size:11px;font-weight:700;line-height:16px}.history-range-caption{color:#465d68;white-space:nowrap;background:#f5f8fb;border:1px solid #d7e2e8;border-radius:8px;padding:5px 9px;font-size:12px;font-weight:800}.segmented{background:#f5f8fb;border:1px solid #d7e2e8;border-radius:10px;min-height:34px;padding:3px;display:inline-flex}.segmented button{color:#627782;white-space:nowrap;background:0 0;border-radius:7px;padding:0 12px;font-size:13px;font-weight:700}.segmented button.active{color:#005c82;background:#fff;box-shadow:0 1px 3px #1e32501f}.line-chart{gap:12px;height:236px;padding:18px;display:grid}.line-chart.compact{height:220px}.line-chart svg{background:linear-gradient(#f7fbfd,#fff);border-radius:12px;width:100%;height:170px}.line-chart.compact svg{height:154px}.line-chart polyline{fill:none;stroke:#005c82;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.chart-axis{color:#8a969c;justify-content:space-between;font-size:12px;display:flex}.history-filter{justify-content:flex-end;align-items:center;gap:10px;min-width:0;margin-left:auto;display:flex;overflow-x:auto}.alert-filter{background:#fff;border:1px solid #e1e9ed;border-radius:14px;align-items:center;gap:12px;padding:14px 16px;display:flex}.history-filter>span{color:#465d68;font-size:13px;font-weight:800}.date-range{align-items:center;gap:8px;display:flex}.history-filter .date-range{flex-shrink:0}.date-range>span{color:#627782;font-size:12px;font-weight:700}.date-range input{color:#21333e;background:#fff;border:1px solid #d7e2e8;border-radius:9px;height:34px;padding:0 10px}.chart-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:16px;display:grid}.chart-grid.history-primary-grid{grid-template-columns:minmax(0,1fr)}.bar-chart{grid-template-columns:repeat(12,1fr);align-items:end;gap:10px;height:236px;padding:18px 18px 12px;display:grid}.bar-chart.dense{gap:4px}.bar-slot{color:#8a969c;text-align:center;grid-template-rows:1fr 18px;align-items:end;gap:6px;height:100%;font-size:11px;display:grid}.bar-chart.dense .bar-slot{font-size:9px}.bar-slot>.bar-fill{background:linear-gradient(#0b77a5,#9bd3e6);border-radius:8px 8px 3px 3px;min-height:18px;display:block;position:relative}.bar-slot>.bar-fill:hover .chart-tooltip{display:block}.bar-slot.edge-start .chart-tooltip{left:0;transform:none}.bar-slot.edge-end .chart-tooltip{left:auto;right:0;transform:none}.water-live-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.water-live-card{align-content:space-between;gap:16px;min-height:142px;padding:15px;display:grid}.water-live-title{grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.water-live-title>i{color:#005c82;background:#e5f3f8;border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.water-live-card.pressure .water-live-title>i{color:#167850;background:#e2f7ed}.water-live-title svg{width:18px;height:18px}.water-live-title strong{color:#21333e;font-size:13px;line-height:18px}.water-live-value{justify-content:space-between;align-items:end;gap:10px;display:flex}.water-live-value>span{color:#627782;font-size:12px;font-weight:700}.water-live-value strong{color:#21333e;font-size:23px;line-height:28px}.water-live-value small{color:#83939c;margin-left:5px;font-size:10px;font-weight:700}.water-meter{background:#edf2f4;border-radius:999px;height:8px;position:relative;overflow:hidden}.water-meter>span{border-radius:inherit;background:#0b83a9;height:100%;display:block}.water-live-card.pressure .water-meter>span{background:#21a477}.water-meter>i{background:#84949d;width:2px;height:12px;position:absolute;top:-2px;left:80%}.water-flow-card,.water-history-card{overflow:visible}.water-flow-legend{color:#627782;align-items:center;gap:14px;font-size:12px;font-weight:800;display:flex}.water-flow-legend span:before{content:"";border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.water-flow-legend .office:before{background:#005c82}.water-flow-legend .restroom:before{background:#0b9bb5}.water-flow-chart{gap:10px;padding:16px 18px 14px;display:grid}.water-flow-current{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding:2px 4px 4px;display:grid}.water-flow-current>div{background:0 0;border:0;grid-template-columns:8px minmax(0,1fr);gap:3px 8px;min-height:0;padding:0;display:grid}.water-flow-current span{color:#627782;grid-column:2;font-size:12px;font-weight:800;position:relative}.water-flow-current span:before{content:"";background:#005c82;border-radius:1px;width:7px;height:7px;position:absolute;top:5px;left:-16px}.water-flow-current>div:nth-child(2) span:before{background:#0b9bb5}.water-flow-current strong{color:#21333e;grid-column:2;font-size:22px;line-height:28px}.water-flow-current small{color:#83939c;margin-left:5px;font-size:10px}.water-flow-plot,.water-history-plot{min-height:170px;position:relative}.water-flow-plot svg,.water-history-plot svg{width:100%;height:170px;overflow:visible}.water-flow-plot line,.water-history-plot line{stroke:#e5ecef;stroke-width:1px;stroke-dasharray:4 5}.water-flow-plot polyline,.water-history-plot polyline{fill:none;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.water-flow-plot .office-line,.water-history-plot .office-line{stroke:#005c82}.water-flow-plot .restroom-line,.water-history-plot .restroom-line{stroke:#0b9bb5}.water-flow-hover-layer,.water-history-hover-layer{z-index:6;display:grid;position:absolute;inset:0}.water-flow-hover,.water-history-hover{min-width:0;position:relative}.water-flow-hover:hover .chart-tooltip,.water-history-hover:hover .chart-tooltip{display:block;top:8px;bottom:auto}.water-flow-hover.edge-start .chart-tooltip,.water-history-hover.edge-start .chart-tooltip{left:0;transform:none}.water-flow-hover.edge-end .chart-tooltip,.water-history-hover.edge-end .chart-tooltip{left:auto;right:0;transform:none}.water-flow-axis{color:#8a969c;justify-content:space-between;font-size:10px;display:flex}.water-history-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.water-history-summary .water-live-card.restroom .water-live-title>i{color:#08789a;background:#e5f3f8}.water-history-summary .water-live-card.restroom .water-meter>span{background:#0b9bb5}.water-history-chart{gap:8px;padding:18px;display:grid}.water-history-axis{color:#8a969c;text-align:center;font-size:10px;display:grid}.water-history-axis.dense{font-size:9px}.branch-energy-card{background:#fff;overflow:visible}.branch-energy-head{border-bottom:1px solid #e1e9ed;justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:14px 18px;display:flex}.branch-energy-head h3{color:#21333e;margin:0;font-size:17px;line-height:24px}.branch-energy-head h3+span{color:#627782;margin-top:3px;font-size:12px;font-weight:700;display:block}.branch-energy-total{white-space:nowrap;justify-items:end;gap:2px;display:grid}.branch-energy-total small{color:#627782;font-size:11px;font-weight:700}.branch-energy-total strong{color:#21333e;font-size:22px;line-height:28px}.branch-energy-total i{color:#627782;margin-left:5px;font-size:11px;font-style:normal}.branch-energy-tools{background:#fbfdfe;border-bottom:1px solid #e8eef2;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.branch-search{background:#fff;border:1px solid #d7e2e8;border-radius:9px;align-items:center;gap:8px;width:min(480px,100%);height:36px;padding:0 11px;display:flex}.branch-search:focus-within{border-color:#0b77a5;box-shadow:0 0 0 2px #0b77a51a}.branch-search svg{color:#8a969c;width:16px;height:16px}.branch-search input{color:#21333e;background:0 0;border:0;outline:0;width:100%;font-size:13px}.branch-search input::placeholder{color:#8a969c}.branch-status-filter{align-items:center;gap:6px;display:flex}.branch-status-filter button{color:#627782;background:#fff;border:1px solid #d7e2e8;border-radius:999px;align-items:center;gap:5px;height:30px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.branch-status-filter button>i,.branch-status>i{background:#94a3b8;border-radius:999px;width:7px;height:7px}.branch-status-filter button.normal>i,.branch-status.normal>i{background:#10b981}.branch-status-filter button.warning>i,.branch-status.warning>i{background:#f87171}.branch-status-filter button.offline>i,.branch-status.offline>i{background:#94a3b8}.branch-status-filter button.active{color:#005c82;background:#eaf5f8;border-color:#9bc9da}.branch-status-filter button b{font-size:11px}.branch-ranking-chart{gap:10px;padding:14px 18px 18px;display:grid}.branch-ranking-row{grid-template-columns:26px minmax(160px,220px) minmax(180px,1fr) 100px 66px;align-items:center;gap:12px;display:grid}.branch-rank{color:#005c82;background:#e5f2f7;border-radius:7px;place-items:center;width:24px;height:24px;font-size:11px;font-weight:900;display:grid}.branch-name{align-items:baseline;gap:6px;min-width:0;display:flex}.branch-name b{color:#21333e;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.branch-name span{color:#627782;white-space:nowrap;font-size:12px}.branch-bar-track{cursor:help;background:#edf3f6;border-radius:6px;height:22px;position:relative;overflow:visible}.branch-bar-track>i{border-radius:inherit;background:linear-gradient(90deg,#00799c,#15a8bd);height:100%;display:block}.branch-bar-track.warning>i{background:#f87171}.branch-bar-track.offline>i{background:#94a3b8}.branch-bar-track:hover .chart-tooltip{display:block}.branch-ranking-row>strong{color:#21333e;text-align:right;white-space:nowrap;font-size:13px}.branch-ranking-row>strong small{color:#627782;margin-left:4px;font-size:10px}.branch-status{color:#627782;align-items:center;gap:5px;font-size:11px;font-weight:700;display:inline-flex}.branch-empty{color:#627782;place-items:center;min-height:120px;font-size:13px;display:grid}.text-action svg{vertical-align:-2px;width:15px;height:15px}.overview-kpi-section{z-index:10000;background:#fff;border:1px solid #d7e2e8;border-radius:14px;position:relative;overflow:visible;box-shadow:0 8px 24px #1e32500f}.overview-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.overview-kpis .kpi-card{background:linear-gradient(155deg,#fff 45%,#f7fafb 100%);border:0;border-right:1px solid #e1e9ed;border-radius:0;min-height:138px;padding:20px;position:relative}.overview-kpis .kpi-card:first-child{border-radius:13px 0 0 13px}.overview-kpis .kpi-card:last-child{border-radius:0 13px 13px 0}.overview-kpis .kpi-card:hover,.overview-kpis .kpi-card:focus-within{z-index:10010}.overview-kpis .kpi-card:last-child{border-right:0}.overview-kpis .kpi-card:before{content:"";background:#08789a;height:4px;position:absolute;inset:0 0 auto}.overview-kpis .kpi-card:nth-child(2):before{background:#005c82}.overview-kpis .kpi-card:nth-child(3):before{background:#0b9bb5}.overview-kpis .kpi-card:nth-child(4):before{background:#1f7a4d}.overview-kpis .kpi-top>span{color:#465d68;letter-spacing:.02em;font-size:12px}.overview-kpis .kpi-card>strong{letter-spacing:-.03em;margin-top:2px;font-size:32px}.overview-kpis .kpi-card>p{border-top:1px dashed #d7e2e8;margin-top:auto;padding-top:9px}.overview-kpi-section .formula-hint:hover,.overview-kpi-section .formula-hint:focus{z-index:10020}.overview-kpi-section .formula-hint>span{z-index:10030}.overview-monitoring-layout{grid-template-columns:minmax(0,1.7fr) minmax(320px,.72fr);align-items:stretch;gap:16px;display:grid}.overview-monitoring-main{align-content:start;gap:16px;min-width:0;display:grid}.overview-monitoring-main .demand-analysis-grid{grid-template-columns:1fr}.overview-monitoring-main .overview-trend-card{width:100%;height:286px}.important-alerts{background:#fff;flex-direction:column;min-width:0;height:100%;display:flex;overflow:hidden}.important-alert-title{border-bottom:1px solid #e1e9ed;justify-content:space-between;align-items:center;gap:10px;min-height:64px;padding:12px 14px;display:flex}.important-alert-title>div:first-child{align-items:center;gap:7px;display:flex}.important-alert-title h3{color:#21333e;margin:0;font-size:17px;line-height:24px}.important-alert-count{color:#cf3131;background:#ffe7e2;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 7px;font-size:12px;font-weight:800;display:inline-flex}.alert-quick-filter{background:#f5f8fb;border:1px solid #d7e2e8;border-radius:8px;align-items:center;gap:2px;padding:3px;display:flex}.alert-quick-filter button{color:#627782;white-space:nowrap;background:0 0;border-radius:6px;min-height:27px;padding:0 7px;font-size:10px;font-weight:800}.alert-quick-filter button.active{color:#005c82;background:#fff;box-shadow:0 1px 3px #1e32501f}.important-alert-card{flex:1;align-content:start;min-height:0;display:grid;overflow-y:auto}.important-alert-row{border-bottom:1px solid #e1e9ed;align-content:start;gap:12px;min-height:112px;padding:14px;transition:background .18s;display:grid;position:relative}.important-alert-row.processing{background:#fff}.important-alert-row:last-child{border-bottom:0}.important-alert-row:hover,.important-alert-row.processing:hover{background:#fbfdfe}.important-alert-meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.important-alert-meta time{color:#21333e;font-size:13px;font-weight:500}.important-alert-meta>div{align-items:center;gap:3px;display:flex}.important-alert-meta>div>span{color:#21333e;white-space:nowrap;background:#edf0f2;border-radius:7px;padding:4px 8px;font-size:11px;font-weight:700}.important-alert-content{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.important-alert-row p{color:#21333e;margin:0;font-size:13px;line-height:20px}.alert-mark-control{justify-content:flex-end;min-width:78px;display:flex;position:relative}.alert-notified{color:#465d68;white-space:nowrap;font-size:12px;font-weight:500}.alert-mark-button{color:#627782;white-space:nowrap;background:0 0;align-items:center;gap:4px;min-height:30px;padding:0 2px 0 8px;font-size:12px;font-weight:700;display:inline-flex}.alert-mark-button:hover{color:#005c82}.alert-mark-button svg{width:15px;height:15px}.alert-mark-menu{z-index:30;background:#fff;border:1px solid #d7e2e8;border-radius:8px;width:132px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 24px #1e325033}.alert-mark-menu button{color:#21333e;text-align:left;background:#fff;border-radius:6px;width:100%;min-height:34px;padding:0 9px;font-size:12px}.alert-mark-menu button:hover{background:#edf5f8}.alert-workflow-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.alert-workflow-row label{color:#465d68;cursor:pointer;align-items:center;gap:7px;font-size:11px;font-weight:800;display:inline-flex}.alert-workflow-row input{accent-color:#d97706;cursor:pointer;width:16px;height:16px}.alert-resolve-demo{color:#1f7a4d;background:#e8f6ee;border-radius:6px;align-items:center;gap:4px;min-height:28px;padding:0 7px;font-size:10px;font-weight:800;display:inline-flex}.alert-resolve-demo:hover{background:#d9f0e2}.alert-resolve-demo svg{width:13px;height:13px}.alert-acknowledged-detail{color:#76540c;background:#fff0c9;border-radius:7px;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px 9px;font-size:10px;display:flex}.alert-acknowledged-detail strong{color:#76540c}.alert-acknowledged-detail span{text-align:left}.alert-acknowledged-detail small{color:#76540c;grid-column:1/-1;line-height:15px}.important-alert-empty{color:#8a969c;text-align:center;align-content:center;place-items:center;gap:7px;min-height:180px;display:grid}.important-alert-empty svg{color:#1f7a4d;width:30px;height:30px}.important-alert-empty strong{color:#465d68;font-size:13px}.important-alert-empty span{font-size:11px}.alert-dialog-summary{background:#fff5f3;border-left:3px solid #ef4444;border-radius:7px;margin:16px 20px 0;padding:11px 12px}.alert-dialog-summary strong{color:#9f2f2f;font-size:12px}.alert-dialog-summary p{color:#465d68;margin:3px 0 0;font-size:12px;line-height:18px}.notification-dialog-fields textarea{resize:vertical;color:#21333e;width:100%;min-height:82px;font:inherit;background:#fff;border:1px solid #cbd6db;border-radius:8px;padding:9px 12px;line-height:19px}.event-dot{vertical-align:2px;background:#ef4444;border-radius:999px;width:6px;height:6px;margin-right:9px;display:inline-block}.map-pin-button{color:#2563eb;background:0 0;border-radius:999px;place-items:center;width:30px;height:30px;display:inline-grid}.important-alert-meta .map-pin-button{width:26px;height:26px}.map-pin-button:hover{background:#e5f2f7}.map-pin-button svg{width:17px;height:17px}.carbon-dashboard{--carbon-card-radius:8px;--carbon-section-title-size:18px;--carbon-subtitle-size:16px;--carbon-panel-title-size:14px;gap:16px;display:grid}.carbon-dashboard>.mui-card{border-radius:var(--carbon-card-radius);border-color:#dce5e9}.carbon-dashboard>.mui-card>header,.carbon-dashboard>.mui-card>.interval-carbon-head,.carbon-dashboard>.mui-card>.total-carbon-unified-head{background:#fff;border-radius:7px 7px 0 0;min-height:56px;padding:12px 16px}.carbon-dashboard>.mui-card>header h2,.carbon-dashboard>.mui-card>.interval-carbon-head h2,.carbon-dashboard>.mui-card>.total-carbon-unified-head h2{color:#21333e;font-size:var(--carbon-section-title-size);margin:0;font-weight:700;line-height:26px}.carbon-factor-overlay{z-index:10050;background:#101c23a3;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.carbon-factor-dialog{color:#21333e;background:#fff;border:1px solid #d7e2e8;border-radius:10px;width:min(1040px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 24px 60px #101c234d}.carbon-factor-dialog.carbon-export-dialog{width:min(620px,100%)}.carbon-factor-dialog-head{border-bottom:1px solid #e1e9ed;justify-content:space-between;align-items:flex-start;gap:20px;min-height:82px;padding:18px 20px;display:flex}.carbon-factor-dialog-head h2,.carbon-factor-form-title h3{color:#21333e;margin:0;font-size:20px;line-height:28px}.carbon-factor-dialog-head p,.carbon-factor-form-title p{color:#627782;margin:3px 0 0;font-size:13px;line-height:19px}.carbon-factor-close{color:#627782;background:0 0;border-radius:8px;flex:none;place-items:center;width:34px;height:34px;display:grid}.carbon-factor-close:hover{color:#21333e;background:#edf3f6}.carbon-factor-close svg{width:18px;height:18px}.settings-dialog-tabs{border-bottom:1px solid #e1e9ed;align-items:flex-end;gap:22px;min-height:49px;padding:0 20px;display:flex}.settings-dialog-tabs button{color:#627782;background:0 0;min-height:46px;padding:0 2px;font-size:13px;font-weight:800;position:relative}.settings-dialog-tabs button:after{content:"";background:0 0;border-radius:999px 999px 0 0;height:3px;position:absolute;bottom:0;left:0;right:0}.settings-dialog-tabs button.active{color:#005c82}.settings-dialog-tabs button.active:after{background:#0b83a9}.carbon-factor-current{background:#f6fbfd;border:1px solid #b9d9e5;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;margin:16px 20px 0;padding:12px 14px;display:grid}.carbon-factor-current>div{gap:2px;display:grid}.carbon-factor-current span{color:#627782;font-size:11px;font-weight:700}.carbon-factor-current strong{color:#005c82;font-size:24px;line-height:28px}.carbon-factor-current p{color:#465d68;margin:0;font-size:12px;line-height:18px}.carbon-factor-toolbar{justify-content:flex-end;align-items:center;gap:16px;min-height:64px;padding:12px 20px 8px;display:flex}.carbon-factor-toolbar>span{color:#627782;font-size:13px;font-weight:700}.carbon-factor-primary,.carbon-factor-secondary{border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.carbon-factor-primary{color:#fff;background:#005c82}.carbon-factor-primary:hover{background:#074c68}.carbon-factor-primary:disabled{color:#d5e0e5;cursor:not-allowed;background:#8ba8b4}.carbon-factor-primary svg{width:16px;height:16px}.carbon-factor-secondary{color:#465d68;background:#fff;border:1px solid #d7e2e8}.carbon-factor-secondary:hover{background:#f5f8fb}.carbon-factor-table-wrap{border:1px solid #e1e9ed;border-radius:8px;margin:0 20px;overflow:auto}.carbon-factor-table{min-width:700px}.carbon-factor-table thead th{border-top:0;height:42px;padding:0 13px;font-size:12px}.carbon-factor-table thead th small{color:#8a969c;font-size:10px;font-weight:600;display:block}.carbon-factor-table tbody td{height:48px;padding:7px 13px}.factor-active,.factor-history,.factor-missing{white-space:nowrap;border-radius:999px;align-items:center;min-height:24px;padding:3px 9px;font-size:11px;font-weight:800;display:inline-flex}.factor-active{color:#1f7a4d;background:#e8f6ee}.factor-history{color:#627782;background:#edf3f6}.factor-missing{color:#9f2f2f;background:#fff0ee}.factor-unset{color:#8a969c}.factor-row-actions{align-items:center;gap:6px;display:flex}.factor-row-actions button{color:#005c82;background:0 0;border-radius:6px;align-items:center;gap:5px;min-height:30px;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.factor-row-actions button:hover{background:#e5f2f7}.factor-row-actions button.save{color:#fff;background:#005c82}.factor-row-actions button.save:hover{background:#074c68}.factor-row-actions button.danger{color:#b42318}.factor-row-actions button.danger:hover{background:#fff0ee}.factor-row-actions button:disabled{color:#b4c0c6;cursor:not-allowed;background:0 0}.factor-row-actions svg{width:14px;height:14px}.carbon-factor-dialog-foot{justify-content:flex-end;align-items:center;gap:10px;padding:16px 20px 18px;display:flex}.carbon-factor-form{padding:18px 20px 0}.carbon-factor-form-title{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.carbon-factor-form-title button{color:#005c82;background:#f6fbfd;border-radius:7px;min-height:32px;padding:0 9px;font-size:12px;font-weight:700}.carbon-factor-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.carbon-factor-fields label{color:#465d68;gap:7px;font-size:13px;font-weight:700;display:grid}.carbon-factor-fields label:first-child{grid-column:1/-1;max-width:240px}.carbon-factor-fields label b{color:#dc2626}.carbon-factor-fields label small{color:#627782;font-size:11px;font-weight:600}.carbon-factor-fields label em{color:#8a969c;font-size:10px;font-style:normal;font-weight:600}.carbon-factor-fields input{color:#21333e;background:#fff;border:1px solid #d7e2e8;border-radius:8px;height:40px;padding:0 11px;font-size:14px}.carbon-factor-fields input:disabled,.settings-field-grid input:disabled{color:#627782;cursor:not-allowed;background:#f3f7fa}.carbon-factor-fields input:focus{border-color:#0b83a9;outline:2px solid #0b83a924}.carbon-factor-error{color:#9f2f2f;background:#fff3f1;border:1px solid #f5b7b1;border-radius:8px;margin-top:14px;padding:10px 12px;font-size:12px;font-weight:700}.carbon-factor-form-note{color:#465d68;background:#f5f8fb;border-radius:8px;align-items:flex-start;gap:8px;margin-top:16px;padding:10px 12px;font-size:12px;line-height:18px;display:flex}.carbon-factor-form-note svg{color:#08789a;flex:none;width:16px;height:16px}.carbon-export-form{gap:18px;padding:20px;display:grid}.carbon-export-date-grid{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:10px;display:grid}.carbon-export-date-grid label,.carbon-export-device{color:#465d68;gap:7px;min-width:0;font-size:13px;font-weight:700;display:grid}.carbon-export-date-grid .unified-filter-control,.carbon-export-device .unified-filter-control{width:100%}.carbon-export-date-grid input,.carbon-export-device select{color:#21333e;background:0 0;border:0;outline:0;width:100%;min-width:0;height:100%;padding:0;font-size:13px}.carbon-export-device select{padding-right:28px}.carbon-export-date-separator{color:#8a969c;place-items:center;height:38px;display:grid}.carbon-export-formats{border:0;min-width:0;padding:0}.carbon-export-formats legend{color:#465d68;margin-bottom:8px;font-size:13px;font-weight:700}.carbon-export-formats>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.carbon-export-formats label{color:#465d68;cursor:pointer;background:#fff;border:1px solid #d7e2e8;border-radius:8px;align-items:center;gap:10px;min-height:72px;padding:12px;display:flex}.carbon-export-formats label:hover{background:#f8fbfc;border-color:#9dcbdc}.carbon-export-formats label.selected{background:#f0f9fc;border-color:#0b83a9;box-shadow:0 0 0 1px #0b83a91a}.carbon-export-formats input{accent-color:#005c82;width:16px;height:16px}.carbon-export-formats label span{gap:3px;display:grid}.carbon-export-formats b{color:#21333e;font-size:13px}.carbon-export-formats small{color:#7b8e98;font-size:11px;font-weight:500}.carbon-export-message{color:#9f2f2f;background:#fff3f1;border-radius:7px;margin:-4px 0 0;padding:9px 11px;font-size:12px;font-weight:700}.carbon-export-message.success{color:#1f7a4d;background:#e8f6ee}.carbon-export-form>footer{justify-content:flex-end;gap:9px;padding-top:2px;display:flex}.settings-baseline-form{padding:18px 20px 0}.settings-form-intro{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.settings-form-intro h3{color:#21333e;margin:0;font-size:18px;line-height:26px}.settings-form-intro p{color:#627782;margin:3px 0 0;font-size:12px;line-height:18px}.settings-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.settings-field-grid label{color:#465d68;align-content:start;gap:7px;min-width:0;font-size:13px;font-weight:700;display:grid}.settings-field-grid label:first-child{grid-column:1/-1;max-width:240px}.settings-field-grid label span{min-height:18px}.settings-field-grid label b{color:#dc2626}.settings-field-grid label small{color:#627782;font-size:11px;font-weight:600}.settings-field-grid label em{color:#8a969c;font-size:10px;font-style:normal;font-weight:600;line-height:15px}.settings-field-grid input,.settings-field-grid select{color:#21333e;background:#fff;border:1px solid #d7e2e8;border-radius:8px;width:100%;height:40px;padding:0 11px;font-size:14px}.settings-field-grid select{padding-right:34px}.settings-field-grid input:focus,.settings-field-grid select:focus{border-color:#0b83a9;outline:2px solid #0b83a924}.performance-settings-grid{grid-template-columns:1fr}.performance-settings-grid label,.performance-settings-grid label:first-child{grid-column:auto;max-width:none}.performance-settings-grid label:first-child{max-width:240px}.settings-save-success{color:#1f6c46;background:#edf9f2;border:1px solid #a8d9bc;border-radius:8px;margin-top:14px;padding:10px 12px;font-size:12px;font-weight:700}.settings-wide-table-wrap{max-width:calc(100% - 40px)}.settings-table-flush{margin-top:20px}.settings-wide-table{min-width:1020px}.settings-performance-table{min-width:900px}.settings-wide-table td,.settings-performance-table td{white-space:nowrap}.settings-editing-row{background:#f4fafc}.settings-editing-row:hover{background:#eef8fb}.settings-table-input{color:#21333e;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #9dcbdc;border-radius:7px;width:100%;min-width:92px;height:34px;padding:0 9px;font-size:13px}.settings-table-input:focus{border-color:#0b83a9;outline:2px solid #0b83a924}.settings-inline-error{color:#9f2f2f;background:#fff3f1;border:1px solid #f5b7b1;border-radius:8px;margin:12px 20px 0;padding:10px 12px;font-size:12px;font-weight:700}.total-carbon-card{background:#fff;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:16px;min-height:300px;padding:0;display:grid;overflow:visible}.total-carbon-summary{align-content:start;gap:9px;padding-right:4px;display:grid}.total-carbon-unified-head{border-bottom:1px solid #e1e9ed;grid-column:1/-1;justify-content:space-between;align-items:center;min-height:56px;padding:12px 16px;display:flex}.total-carbon-unified-head h2{font-size:var(--carbon-section-title-size);color:#21333e;margin:0}.total-carbon-targets{color:#627782;gap:6px;padding:10px 0;font-size:12px;display:grid}.total-carbon-targets span{justify-content:space-between;gap:12px;display:flex}.total-carbon-targets b{color:#21333e}.total-carbon-targets small{font-size:11px}.total-carbon-targets .annual-baseline-row{white-space:nowrap;justify-content:space-between;align-items:baseline;gap:12px}.total-carbon-targets .annual-baseline-row>span{justify-content:flex-start;gap:2px;display:inline-flex}.total-carbon-targets .annual-baseline-row .annual-baseline-value{flex:none;justify-items:end;gap:3px;display:grid}.annual-baseline-value>small{color:#627782;align-items:center;gap:5px;display:inline-flex}.annual-baseline-value i{background:#005c82;border-radius:2px;width:8px;height:8px;display:inline-block}.annual-baseline-value i.remaining{background:#80c7a8;margin-left:4px}.total-carbon-targets .annual-remaining-row,.total-carbon-targets .annual-remaining-row b{color:#1f7a4d}.total-carbon-targets .annual-over-row,.total-carbon-targets .annual-over-row b{color:#b4232a}.total-carbon-card.annual-overview-card{flex-direction:column;gap:0;display:flex}.annual-overview-metrics{border-bottom:1px solid #e1e9ed;grid-template-columns:minmax(380px,.9fr) minmax(500px,1.1fr);align-items:stretch;gap:0;padding:16px;display:grid}.annual-overview-left{align-content:start;gap:12px;display:grid}.annual-overview-left .total-carbon-targets{border-top:1px solid #e1e9ed;padding:12px 0 0}.annual-overview-visuals{grid-template-columns:230px minmax(0,1fr);align-items:stretch;gap:20px;padding:16px;display:grid}.annual-overview-visuals .total-carbon-pie{flex-direction:column;align-items:center;gap:14px;margin:0;display:flex}.annual-overview-visuals .structure-list{width:100%}.annual-overview-visuals .embedded-annual-progress{border-left:1px solid #e1e9ed;min-width:0;padding:0 0 0 20px}.annual-overview-visuals .annual-progress-chart{margin:0 12px}.annual-visual-title{color:#21333e;width:100%;font-size:var(--carbon-subtitle-size);margin:0;font-weight:700;line-height:23px}.compact-carbon-analysis{overflow:hidden}.compact-carbon-analysis>header{justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.compact-carbon-analysis h2{color:#21333e;font-size:var(--carbon-subtitle-size);margin:0;font-weight:700}.compact-carbon-analysis header>span{color:#627782;font-size:12px}.compact-carbon-analysis-scroll{overflow-x:auto}.compact-carbon-analysis table{border-collapse:collapse;width:100%;font-size:13px}.compact-carbon-analysis th,.compact-carbon-analysis td{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;border-top:1px solid #e1e9ed;padding:7px 16px}.compact-carbon-analysis th:first-child{text-align:left}.compact-carbon-analysis thead{color:#627782;background:#f5f8fb;font-size:12px}.compact-carbon-analysis tbody tr:last-child{background:#f5f8fb;font-weight:700}.compact-carbon-analysis .over{color:#b4232a}.compact-carbon-analysis .under{color:#1f7a4d}.compact-carbon-analysis.embedded{background:#fff;border-left:1px solid #e1e9ed;align-self:stretch;min-width:0;margin-left:24px;padding-left:24px}.compact-carbon-analysis.embedded>header{min-height:48px}.compact-carbon-analysis.embedded table{font-size:12px}.compact-carbon-analysis.embedded th,.compact-carbon-analysis.embedded td{padding:9px 12px}@media (width<=900px){.annual-overview-metrics{grid-template-columns:1fr}.compact-carbon-analysis.embedded{border-top:1px solid #e1e9ed;border-left:0;margin:16px 0 0;padding:16px 0 0}.annual-overview-visuals{grid-template-columns:180px minmax(0,1fr);gap:12px}}@media (width<=640px){.annual-overview-metrics,.annual-overview-visuals{grid-template-columns:1fr}.annual-overview-metrics .total-carbon-targets{border-left:0;padding-left:0}.annual-overview-visuals .total-carbon-pie{flex-direction:row}.annual-overview-visuals .structure-list{flex:1;width:auto}.annual-overview-visuals .total-pie-chart{flex-shrink:0}.annual-overview-visuals .embedded-annual-progress{border-top:1px solid #e1e9ed;border-left:0;padding:16px 0 0}}.total-carbon-card>.embedded-annual-progress{border-top:1px solid #e1e9ed;grid-column:1/-1;padding-top:8px}.interval-carbon-card .carbon-report-total{box-shadow:none;border:1px solid #c5e1eb;border-radius:8px;margin-bottom:8px}.interval-carbon-head{flex-wrap:wrap}.interval-carbon-head .interval-filter-group{flex-wrap:wrap;justify-content:flex-end}.total-carbon-summary-title{align-items:center;min-height:48px;display:flex}.total-carbon-summary-title h2{color:#21333e;font-size:var(--carbon-subtitle-size);margin:0;font-weight:700;line-height:23px}.total-carbon-summary>strong{color:#21333e;font-size:38px;line-height:42px}.total-carbon-summary>strong small{color:#627782;margin-left:7px;font-size:14px;font-weight:700}.total-carbon-summary>p{color:#627782;margin:0;font-size:12px}.total-carbon-pie{grid-template-columns:132px minmax(0,1fr);align-items:center;gap:12px;margin-top:4px;display:grid}.total-pie-chart{cursor:help;border:1px solid #edf2f4;border-radius:999px;place-items:center;width:136px;height:136px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #fffc,0 4px 14px #21333e14}.total-pie-chart:after{content:"";border-radius:inherit;background:#fff;border:1px solid #edf2f4;position:absolute;inset:25px}.total-pie-chart>span{z-index:1;color:#21333e;white-space:nowrap;background:#fff;border-radius:999px;align-content:center;justify-items:center;gap:1px;width:82px;height:82px;display:grid;position:relative}.total-pie-chart>span small{color:#627782;font-size:10px;font-weight:700;line-height:14px}.total-pie-chart>span strong{color:#005c82;font-size:21px;line-height:24px}.total-pie-chart>span em{color:#8a989f;font-size:9px;font-style:normal;font-weight:700}.total-pie-chart small{color:#627782;white-space:nowrap;font-size:10px;font-weight:700;line-height:15px}.total-pie-chart:hover .chart-tooltip{display:block}.annual-carbon-panel{gap:9px;min-width:0;display:grid}.mini-chart-title{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.mini-chart-title h3{color:#21333e;margin:0;font-size:16px;line-height:24px}.mini-chart-title span{color:#627782;font-size:12px;font-weight:700}.baseline-reduction-panel{background:linear-gradient(#fbfdfe,#fff);border:1px solid #e8eef2;border-radius:12px;gap:8px;min-height:218px;padding:12px;display:grid;overflow:visible}.baseline-axis{color:#627782;align-items:center;gap:8px;font-size:12px;font-weight:800;display:flex}.baseline-axis i{background:linear-gradient(90deg,#cfe0e8,#0000);flex:1;height:1px}.baseline-reduction-row{grid-template-columns:72px minmax(150px,1fr) minmax(180px,auto);align-items:center;gap:10px;display:grid}.baseline-year{gap:3px;display:grid}.baseline-year b{color:#21333e;font-size:13px}.baseline-year span{color:#1f7a4d;font-size:11px;font-weight:800}.baseline-bar-wrap{background:#edf3f6;border-radius:999px;height:24px;position:relative}.project-bar{background:#005c82;border-radius:999px 0 0 999px;height:100%}.reduction-bar{color:#1f7a4d;background:#1f7a4d38;border-left:1px dashed #1f7a4d;border-right:1px dashed #1f7a4d;justify-content:center;align-items:center;height:100%;font-size:11px;font-weight:800;display:flex;position:absolute;top:0}.baseline-marker{background:#dc2626;border-radius:999px;width:2px;height:32px;position:absolute;top:-4px;transform:translate(-1px)}.baseline-values{color:#627782;white-space:nowrap;gap:3px;font-size:12px;display:grid}.baseline-values strong{color:#21333e;font-size:13px}.baseline-reduction-note{color:#627782;align-items:center;gap:9px;margin-top:2px;font-size:12px;display:flex}.baseline-note-marker{background:#dc2626;border-radius:999px;width:2px;height:16px;display:inline-block}.carbon-kpi-head{color:#465d68;justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:800;display:flex}.carbon-kpi-head i{color:#005c82;background:#e5f2f7;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.carbon-kpi-head svg{width:18px;height:18px}.carbon-kpi-meta{justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.carbon-kpi-meta b{color:#1f7a4d}.carbon-kpi-meta.over-baseline b{color:#b4232a}.carbon-kpi-meta span{color:#465d68;text-align:right}.carbon-progress{background:#edf3f6;border-radius:999px;height:9px;display:flex;overflow:hidden}.carbon-progress span{height:100%;display:block}.carbon-progress .used{background:#005c82}.carbon-progress .remaining{background:#80c7a8}.formula-hint{z-index:10;vertical-align:middle;color:#005c82;cursor:help;background:#f6fbfd;border:1px solid #cfe0e8;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;margin-left:5px;font-size:12px;font-weight:900;line-height:1;display:inline-flex;position:relative}.formula-hint>span{z-index:10020;text-align:left;white-space:normal;width:max-content;max-width:320px;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.formula-hint>span small{color:#465d68;display:block}.formula-hint:hover,.formula-hint:focus{z-index:10040}.formula-hint:hover>span,.formula-hint:focus>span{display:block}.interval-carbon-card{border-radius:var(--carbon-card-radius);background:#fff;overflow:visible}.interval-carbon-head{background:#fff;border-bottom:1px solid #e1e9ed;border-radius:7px 7px 0 0;justify-content:space-between;align-items:center;gap:14px;min-height:56px;padding:12px 16px;display:flex}.interval-carbon-head h2{color:#21333e;font-size:var(--carbon-section-title-size);margin:0;line-height:26px}.interval-filter-group{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:10px;display:flex;overflow-x:auto}.compact-date-range{background:0 0;gap:6px;min-height:34px;padding:0}.compact-date-range input{color:#21333e;background:#fff;border:1px solid #cfe0e8;border-radius:9px;width:142px;height:34px;padding:0 9px;font-size:12px;font-weight:700}.compact-date-range span{color:#627782;font-size:12px;font-weight:800}.interval-carbon-body{background:#fff;border-radius:0 0 8px 8px;gap:16px;padding:16px;display:grid}.interval-block,.site-carbon-panel,.equipment-rank-panel{background:#fff;border:1px solid #e1e9ed;border-radius:12px;overflow:visible}.interval-block{gap:12px;padding:14px;display:grid}.interval-block-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.interval-block-head h3{color:#21333e;margin:0;font-size:15px;line-height:22px}.interval-block-head span{color:#627782;white-space:nowrap;font-size:12px;font-weight:700}.interval-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.interval-summary-strip div{background:#fff;border:1px solid #e1e9ed;border-radius:10px;align-content:center;gap:5px;min-height:70px;padding:10px 12px;display:grid}.interval-summary-strip span{color:#627782;font-size:12px;font-weight:800}.interval-summary-strip strong{color:#21333e;font-size:21px;line-height:26px}.interval-summary-strip small{color:#627782;margin-left:5px;font-size:11px;font-weight:800}.interval-aggregation-panel{background:#fff;border:1px solid #e1e9ed;border-radius:12px;gap:9px;padding:12px;display:grid;overflow:visible}.aggregation-split-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.energy-aggregation-card{background:#fff;border:1px solid #e1e9ed;border-radius:8px;overflow:visible}.energy-aggregation-card.power{border-top:3px solid #005c82}.energy-aggregation-card.water{border-top:3px solid #0b9bb5}.energy-aggregation-title{background:#fbfdfe;border-bottom:1px solid #e8eef2;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:9px 12px;display:flex}.energy-aggregation-title strong{color:#465d68;font-size:var(--carbon-panel-title-size);font-weight:700}.energy-aggregation-identity{align-items:center;gap:9px;min-width:0;display:flex}.energy-aggregation-identity small{color:#627782;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.aggregation-table-wrap{overflow:auto}.interval-aggregation-panel .aggregation-table-wrap,.site-carbon-combined .aggregation-table-wrap{overflow:visible}.aggregation-table{border-collapse:collapse;color:#21333e;width:100%;min-width:520px;font-size:13px}.aggregation-table th,.aggregation-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #e8eef2;padding:9px 12px}.aggregation-table th{z-index:4;color:#465d68;background:#f3f7fa;font-size:12px;font-weight:800;position:relative;overflow:visible}.aggregation-table th:focus-within,.aggregation-table th:hover{z-index:10030}.aggregation-table tbody tr:hover{background:#f8fbfc}.aggregation-table td:nth-child(2),.aggregation-table td:nth-child(3),.aggregation-table td:nth-child(4){font-variant-numeric:tabular-nums}.aggregation-table tfoot td{color:#21333e;background:#fbfdfe;font-weight:800}.aggregation-table tfoot tr:last-child td{border-bottom:0}.energy-aggregation-total{background:#f7fafc;border-top:1px solid #d7e2e8;border-radius:0 0 11px 11px;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:center;gap:12px;min-height:58px;padding:9px 12px;display:grid}.energy-aggregation-total>strong{color:#21333e;font-size:13px}.energy-aggregation-total div{gap:2px;min-width:0;display:grid}.energy-aggregation-total span{color:#627782;font-size:12px;font-weight:800}.energy-aggregation-total b{color:#21333e;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:20px;overflow:hidden}.energy-aggregation-card.power .energy-aggregation-total b{color:#005c82}.energy-aggregation-card.water .energy-aggregation-total b{color:#0b8198}.energy-tag{border-radius:999px;justify-content:center;align-items:center;min-width:46px;height:26px;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.energy-tag.power{color:#005c82;background:#e5f2f7}.energy-tag.water{color:#0b8198;background:#e4f6fa}.site-carbon-panel{gap:10px;padding:12px;display:grid}.site-carbon-combined{background:0 0;border:0;border-radius:0;gap:12px;padding:0}.interval-carbon-body.site-carbon-combined{padding:16px}.site-carbon-chart-panel{background:#fbfdfe;border:1px solid #e1e9ed;border-radius:10px;gap:8px;padding:10px 12px;display:grid}.site-carbon-table-section{gap:9px;display:grid}.carbon-report-total{background:#edf7fa;border:1px solid #c5e1eb;border-radius:8px;grid-template-columns:minmax(180px,1fr) auto;align-items:center;gap:20px;min-height:74px;padding:12px 16px;display:grid}.carbon-report-label{align-items:center;display:flex}.carbon-report-label strong{color:#174f66;font-size:var(--carbon-panel-title-size);font-weight:700}.carbon-report-equation{justify-content:flex-end;align-items:center;gap:12px;display:flex}.carbon-report-equation>span{justify-items:end;gap:3px;min-width:132px;display:grid}.carbon-report-equation small{color:#627782;font-size:10px;font-weight:700}.carbon-report-equation b{color:#21333e;white-space:nowrap;font-size:15px}.carbon-report-equation b i{color:#627782;margin-left:4px;font-size:9px;font-style:normal}.carbon-report-equation>em{color:#8a969c;font-size:18px;font-style:normal;font-weight:500}.carbon-report-equation .result{border-left:1px solid #cbdce4;min-width:170px;padding-left:16px}.carbon-report-equation .result small{color:#005c82}.carbon-report-equation .result b{color:#005c82;font-size:23px;line-height:28px}.site-carbon-combined .aggregation-split-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.site-carbon-combined .aggregation-table{table-layout:fixed;min-width:0;font-size:13px}.site-carbon-combined .aggregation-table th,.site-carbon-combined .aggregation-table td{padding:10px 11px;line-height:20px}.site-carbon-combined .aggregation-table th{font-size:13px}.site-carbon-combined .aggregation-table th:first-child{width:18%}.site-carbon-combined .aggregation-table th:not(:first-child){width:27.33%}.site-carbon-combined .formula-hint{width:16px;height:16px;margin-left:2px;font-size:10px}.site-carbon-grand-total{background:linear-gradient(120deg,#e5f2f7,#f6fbfd 72%);border:2px solid #005c82;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;min-height:82px;padding:14px 18px;display:flex;box-shadow:0 6px 16px #005c821f}.grand-total-label{gap:3px;padding-left:14px;display:grid;position:relative}.grand-total-label:before{content:"";background:#005c82;border-radius:999px;width:4px;position:absolute;inset:1px auto 1px 0}.grand-total-label span{color:#005c82;font-size:16px;font-weight:900}.grand-total-label em{color:#627782;font-size:11px;font-style:normal;font-weight:700}.site-carbon-grand-total>strong{color:#005c82;text-align:right;white-space:nowrap;font-size:26px;line-height:32px}.site-carbon-grand-total>strong small{color:#465d68;margin-left:6px;font-size:11px}.site-carbon-subhead{justify-content:space-between;align-items:center;gap:12px;min-height:24px;display:flex}.site-carbon-subhead strong{color:#21333e;font-size:13px}.site-carbon-subhead span{color:#627782;font-size:12px;font-weight:700}.site-carbon-chart{gap:6px;display:grid}.site-carbon-row{grid-template-columns:138px minmax(0,1fr);align-items:center;gap:12px;display:grid}.site-carbon-label{gap:3px;display:grid}.site-carbon-label b{color:#21333e;font-size:13px}.site-carbon-label span{color:#627782;font-size:12px;font-weight:700}.site-carbon-bar{cursor:help;background:#edf3f6;border-radius:999px;height:18px;display:flex;position:relative;overflow:visible}.site-carbon-bar i{height:100%;display:block}.site-carbon-bar .site-power{background:#005c82;border-radius:999px 0 0 999px}.site-carbon-bar .site-water{background:#0b9bb5;border-radius:0 999px 999px 0}.site-carbon-bar:hover .chart-tooltip{display:block}.site-carbon-legend{color:#627782;align-items:center;gap:14px;font-size:12px;display:flex}.site-carbon-legend span{align-items:center;gap:6px;display:inline-flex}.site-carbon-legend .bar{border-radius:3px;width:14px;height:8px}.site-carbon-legend .bar.power{background:#005c82}.site-carbon-legend .bar.water{background:#0b9bb5}.performance-title-actions{justify-content:flex-end;align-items:center;gap:10px;min-width:0;margin-left:auto;display:flex}.performance-period-controls{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.performance-title-actions .performance-period-controls{margin-left:2px}.performance-title-actions .segmented{height:36px;min-height:36px}.performance-period-select{width:170px;height:36px}.performance-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.performance-summary-card{background:#fff;border:1px solid #e1e9ed;border-radius:8px;align-content:start;gap:9px;min-height:126px;padding:16px;display:grid}.performance-summary-card>span{color:#627782;align-items:center;gap:6px;min-height:22px;font-size:13px;font-weight:700;display:flex}.performance-summary-card .formula-hint{width:18px;height:18px}.performance-summary-card>strong{color:#21333e;font-variant-numeric:tabular-nums;font-size:28px;line-height:35px}.performance-summary-card>strong small{color:#627782;margin-left:5px;font-size:12px;font-weight:700}.performance-summary-card>p{color:#627782;border-top:1px dashed #d7e2e8;margin:auto 0 0;padding-top:8px;font-size:12px}.performance-summary-card.good{border-left:3px solid #1f7a4d}.performance-summary-card.bad{border-left:3px solid #b42318}.performance-summary-card.good>strong{color:#1f7a4d}.performance-summary-card.bad>strong{color:#b42318}.energy-performance-card{background:#fff;overflow:visible}.performance-chart{gap:14px;padding:16px 18px 18px;display:grid}.performance-row{grid-template-columns:42px minmax(0,1fr) 94px;align-items:center;gap:14px;display:grid}.performance-row>b{color:#465d68;font-size:12px}.performance-bars{background:#edf3f6;border-radius:5px;height:24px;position:relative}.performance-bars>span{z-index:1;border-radius:5px;min-width:90px;height:24px;display:block;position:relative}.performance-bars>span.actual{background:linear-gradient(90deg,#005c82,#0b9bb5)}.performance-bars>span i{color:#fff;white-space:nowrap;font-size:10px;font-style:normal;font-weight:800;line-height:16px;position:absolute;top:4px;left:8px}.performance-bars .baseline-marker{z-index:2;border-left:2px dashed #dc2626;width:0;height:34px;position:absolute;top:-5px}.performance-row-result{justify-items:end;gap:1px;display:grid}.performance-row-result>strong{color:#1f7a4d;text-align:right;font-size:15px}.performance-row-result>strong.good,.performance-value.good{color:#1f7a4d}.performance-row-result>strong.bad,.performance-value.bad{color:#b42318}.performance-row-result>small{color:#627782;white-space:nowrap;font-size:10px}.performance-legend{color:#627782;justify-content:flex-end;align-items:center;gap:16px;font-size:12px;display:flex}.performance-legend span{align-items:center;gap:6px;display:inline-flex}.performance-legend i{border-radius:3px;width:14px;height:8px;display:inline-block}.performance-legend i.baseline{border-top:2px dashed #dc2626;border-radius:0;width:18px;height:0}.performance-legend i.actual{background:#08789a}.performance-chart-meta{align-items:center;gap:12px;display:flex}.performance-chart-meta>span{color:#627782;font-size:12px}.performance-chart-meta>strong{color:#005c82;white-space:nowrap;background:#e5f2f7;border-radius:6px;padding:5px 9px;font-size:12px}.performance-chart-meta small{color:#465d68;font-size:11px}.performance-record-card{background:#fff;overflow:hidden}.performance-record-card .filterable-head>div{gap:2px;display:grid}.performance-record-card .filterable-head small{color:#627782;font-size:12px}.performance-record-table-wrap{overflow-x:auto}.performance-record-table{border-collapse:collapse;color:#465d68;text-align:left;width:100%;font-size:13px}.performance-record-table th{color:#627782;background:#f4f7f9;padding:10px 16px;font-size:12px;font-weight:700}.performance-record-table td{white-space:nowrap;border-top:1px solid #edf1f3;padding:11px 16px}.performance-record-table td strong{color:#21333e}.performance-record-table td small{color:#7c8e97}.performance-value{font-weight:800}.equipment-rank-panel{gap:10px;padding:12px;display:grid}.equipment-rank-chart{gap:8px;display:grid}.equipment-rank-row{grid-template-columns:32px minmax(180px,280px) minmax(0,1fr) minmax(120px,auto);align-items:center;gap:12px;display:grid}.rank-index{color:#005c82;background:#e5f2f7;border-radius:999px;place-items:center;width:28px;height:28px;font-size:12px;font-weight:900;display:grid}.rank-device{gap:3px;min-width:0;display:grid}.rank-device b{color:#21333e;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.rank-device span{color:#627782;font-size:12px;font-weight:700}.rank-bar-track{cursor:help;background:#edf3f6;border-radius:999px;height:24px;position:relative}.rank-bar-track i{border-radius:inherit;background:linear-gradient(90deg,#005c82,#08789a);height:100%;display:block}.rank-bar-track:hover .chart-tooltip{display:block}.equipment-rank-row>strong{color:#21333e;text-align:right;white-space:nowrap;font-size:13px}.rank-score{justify-items:end;gap:2px;display:grid}.rank-score strong{color:#21333e;white-space:nowrap;font-size:12px;line-height:17px}.rank-score span{color:#005c82;text-align:center;background:#e5f2f7;border-radius:999px;min-width:34px;padding:2px 6px;font-size:10px;font-weight:900}.carbon-trend-combined{background:#fff;overflow:visible}.carbon-trend-workspace{gap:14px;display:grid}.carbon-trend-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.carbon-trend-kpi{border-left:4px solid #005c82;align-content:center;gap:5px;min-height:112px;padding:16px 18px;display:grid}.carbon-trend-kpi.annual{border-left-color:#168b79}.carbon-trend-kpi>span{color:#627782;font-size:12px;font-weight:800}.carbon-trend-kpi strong{color:#21333e;font-size:25px;line-height:31px}.carbon-trend-kpi strong small{color:#627782;font-size:13px;font-weight:800}.carbon-trend-kpi p{color:#7b8d96;margin:0;font-size:12px;font-weight:700}.carbon-trend-card-grid{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:14px;display:grid}.carbon-insight-card{min-width:0;overflow:visible}.carbon-insight-card>header{border-bottom:1px solid #e1e9ed;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:12px 16px;display:flex}.carbon-insight-card>header h2{color:#21333e;font-size:var(--carbon-section-title-size);margin:0;font-weight:700;line-height:26px}.carbon-insight-card>header p{color:#7b8d96;margin:0;font-size:11px;font-weight:700;line-height:17px}.integrated-carbon-head{align-items:center!important}.integrated-carbon-head .interval-filter-group{margin-left:auto}.carbon-monitor-toolbar{justify-content:space-between;align-items:center;gap:14px;min-height:54px;padding:10px 16px 0;display:flex}.carbon-monitor-toolbar>div:first-child{gap:2px;display:grid}.carbon-monitor-toolbar strong{color:#21333e;font-size:13px}.carbon-monitor-toolbar span{color:#7b8d96;font-size:11px;font-weight:700}.carbon-card-period{color:#005c82;white-space:nowrap;background:#eaf4f8;border-radius:5px;padding:4px 8px;font-size:11px;font-weight:900}.carbon-period-toggle{background:#f5f8fa;border:1px solid #d7e2e8;border-radius:7px;grid-template-columns:repeat(2,42px);gap:2px;height:34px;padding:3px;display:grid}.carbon-period-toggle button{color:#627782;background:0 0;border-radius:5px;height:26px;font-size:12px;font-weight:800}.carbon-period-toggle button:hover{color:#005c82;background:#eaf4f8}.carbon-period-toggle button.active{color:#fff;background:#005c82;box-shadow:0 1px 3px #005c8238}.carbon-card-summary{background:#f6fafc;border-left:4px solid #005c82;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:3px 16px;margin:14px 16px 4px;padding:12px 14px;display:grid}.carbon-card-summary.annual-summary{background:#f3faf8;border-left-color:#168b79}.carbon-card-summary>span{color:#627782;font-size:12px;font-weight:800}.carbon-card-summary>strong{color:#21333e;white-space:nowrap;grid-area:1/2/3;font-size:22px;line-height:28px}.carbon-card-summary>strong small{color:#627782;font-size:13px;font-weight:800}.carbon-card-summary>p{color:#7b8d96;margin:0;font-size:12px;font-weight:700}.annual-summary-breakdown{color:#627782;border-top:1px solid #e1e9ed;flex-wrap:wrap;grid-column:1/-1;gap:8px 24px;margin-top:6px;padding-top:8px;font-size:12px;display:flex}.annual-summary-breakdown b{color:#21333e}.monthly-period-summary{background:#fff;border:1px solid #dce6eb;border-radius:8px;grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(150px,.8fr));margin:14px 16px 2px;display:grid;overflow:hidden}.monthly-period-summary>div{border-left:1px solid #e3eaee;align-content:center;gap:4px;min-height:74px;padding:12px 15px;display:grid}.monthly-period-summary>div.total{box-shadow:none;background:#eaf4f8;border-left:0}.monthly-period-summary span{color:#627782;font-size:11px;font-weight:800}.monthly-period-summary strong{color:#21333e;font-size:19px;line-height:25px}.monthly-period-summary .total strong{color:#005c82;font-size:24px}.monthly-period-summary strong small{color:#627782;font-size:11px;font-weight:800}.monthly-baseline-chips{flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px 2px;display:flex}.monthly-baseline-chips span{color:#245c73;background:#edf6f9;border-radius:5px;gap:5px;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.monthly-baseline-chips span.water{color:#08748a;background:#e8f7fa}.monthly-monitor-chart,.annual-progress-chart{height:300px;margin:4px 18px 0;position:relative}.monthly-monitor-chart svg,.annual-progress-chart svg{width:100%;height:272px;display:block;overflow:visible}.monthly-split-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:14px 16px 8px;display:grid}.integrated-carbon-card .monthly-split-charts{align-items:start;padding-top:12px}.integrated-carbon-card .energy-aggregation-card{overflow:visible}.integrated-carbon-card .aggregation-table-wrap{overflow:hidden}.integrated-carbon-card .aggregation-table{table-layout:fixed;min-width:0;font-size:11px}.integrated-carbon-card .aggregation-table th,.integrated-carbon-card .aggregation-table td{padding:8px 9px}.integrated-carbon-card .aggregation-table th{font-size:11px}.integrated-carbon-card .aggregation-table th:first-child{width:22%}.integrated-carbon-card .aggregation-table th:not(:first-child){width:26%}.integrated-carbon-card .energy-aggregation-card>.monthly-energy-pane{background:#fff;border:0;border-top:1px solid #e1e9ed;border-radius:0;margin-top:0;padding:12px 12px 8px}.integrated-carbon-card>.carbon-chart-legend{border-top:0}.integrated-carbon-card>.carbon-report-total{margin:0 16px 16px}.monthly-energy-pane{background:#fbfdfe;border:1px solid #e1e9ed;border-radius:8px;min-width:0;padding:12px 12px 8px;position:relative;overflow:visible}.monthly-energy-pane:hover{z-index:8}.monthly-energy-pane+.monthly-energy-pane{border-left-color:#cfe4ea}.monthly-energy-pane-head{justify-content:space-between;align-items:center;gap:10px;min-height:40px;display:flex}.monthly-energy-pane-head strong{color:#21333e;font-size:var(--carbon-panel-title-size);font-weight:700}.monthly-energy-pane-head span{color:#627782;white-space:nowrap;font-size:11px;font-weight:700}.monthly-hover-readout{color:#465d68;background:#fff;border:1px solid #cbdce4;border-radius:6px;align-items:center;gap:8px;min-height:32px;padding:5px 9px;display:inline-flex;box-shadow:0 4px 12px #1e32501a}.monthly-hover-readout b{color:#21333e}.monthly-pane-chart{height:220px;position:relative}.monthly-pane-chart svg{width:100%;height:194px;display:block;overflow:visible}.pane-baseline-html-label{z-index:4;color:#b4232a;white-space:nowrap;background:#ffffffe6;border-radius:4px;padding:2px 5px;font-family:inherit;font-size:11px;font-weight:700;line-height:16px;position:absolute;right:8px}.monthly-energy-pane.water .pane-baseline-html-label{color:#08748a}.monthly-energy-pane rect{fill:#005c8252}.monthly-energy-pane.water rect{fill:#0b9bb585}.monthly-energy-pane rect.current-period-bar{fill:#005c82}.monthly-energy-pane.water rect.current-period-bar{fill:#0b9bb5}.monthly-pane-axis .current-period-label{color:#005c82;font-weight:800}.monthly-pane-axis.day span:only-child{transform:translate(-50%)}.monthly-energy-pane .pane-grid{stroke:#e3eaee;stroke-width:1px;vector-effect:non-scaling-stroke}.monthly-energy-pane .pane-baseline{stroke:#dc3f45;stroke-width:2px;stroke-dasharray:7 6;vector-effect:non-scaling-stroke}.monthly-energy-pane.water .pane-baseline{stroke:#0b9bb5}.monthly-energy-pane .pane-baseline-label{fill:#b4232a;stroke:#fff;stroke-width:4px;paint-order:stroke;font-family:inherit;font-size:10px;font-weight:800}.monthly-energy-pane.water .pane-baseline-label{fill:#08748a}.monthly-pane-axis{color:#839199;height:20px;font-size:10px;line-height:20px;position:absolute;bottom:4px;left:6.3158%;right:6.3158%}.monthly-pane-axis span{text-align:center;white-space:nowrap;position:absolute;top:0;transform:translate(-50%)}.monthly-pane-axis span:first-child{transform:none}.monthly-pane-axis span:last-child{transform:translate(-100%)}.monthly-pane-hover{z-index:6;pointer-events:none;position:absolute;inset:0 8px 26px}.monthly-pane-hover .monthly-monitor-zone{pointer-events:auto;cursor:help;background:0 0;border:0;height:100%;padding:0;position:absolute;top:0;transform:translate(-50%)}.monthly-pane-hover .monthly-monitor-zone:first-child{transform:none}.monthly-pane rect{fill:#005c8247}.monthly-pane.water rect{fill:#0b9bb57a}.monthly-pane .pane-grid,.annual-grid{stroke:#e3eaee;stroke-width:1px;vector-effect:non-scaling-stroke}.monthly-pane .pane-baseline{stroke:#dc3f45;stroke-width:2px;stroke-dasharray:7 6;vector-effect:non-scaling-stroke}.monthly-pane.water .pane-baseline{stroke:#0b9bb5}.monthly-pane .pane-label{fill:#21333e;font-family:inherit;font-size:12px;font-weight:800}.monthly-pane .pane-baseline-label{fill:#b4232a;stroke:#fff;stroke-width:4px;paint-order:stroke;font-family:inherit;font-size:10px;font-weight:800}.monthly-pane.water .pane-baseline-label{fill:#08748a}.monthly-monitor-axis,.annual-progress-axis{color:#839199;font-size:10px;display:grid;position:absolute;bottom:7px;left:24px;right:6px}.monthly-monitor-axis{grid-template-columns:repeat(8,minmax(0,1fr))}.annual-progress-axis{grid-template-columns:repeat(12,minmax(0,1fr))}.monthly-monitor-axis span,.annual-progress-axis span{text-align:center}.monthly-monitor-hover,.annual-progress-hover{pointer-events:none;position:absolute;inset:0 8px 28px 26px}.monthly-monitor-zone,.annual-progress-zone{pointer-events:auto;width:12%;height:100%;position:absolute;top:0;transform:translate(-50%)}.annual-progress-zone{width:8%}.monthly-monitor-zone:first-child,.annual-progress-zone:first-child{transform:none}.monthly-monitor-zone:hover .chart-tooltip,.annual-progress-zone:hover .chart-tooltip{display:block}.monthly-monitor-zone.edge-start .chart-tooltip,.annual-progress-zone.edge-start .chart-tooltip{left:0;transform:none}.monthly-monitor-zone.edge-end .chart-tooltip,.annual-progress-zone.edge-end .chart-tooltip{left:auto;right:0;transform:none}.monthly-monitor-tooltip,.annual-progress-tooltip{isolation:isolate;background:#fff;width:250px;min-width:250px;top:28px;bottom:auto;box-shadow:0 12px 28px #1e325038}.monthly-monitor-tooltip{width:210px;min-width:210px}.monthly-monitor-tooltip small strong{color:#21333e}.annual-baseline-strip{background:#f7fbfd;border:1px solid #dce8ed;border-radius:7px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;margin:10px 16px 2px;padding:8px 10px;display:grid}.annual-baseline-strip span,.annual-baseline-strip small{color:#627782;font-size:11px;font-weight:700}.annual-baseline-strip strong{color:#21333e;font-size:12px}.annual-baseline-strip small{justify-self:end}.annual-power-bar{fill:#005c824d}.annual-water-bar{fill:#0b9bb58c}.annual-baseline-line{fill:none;stroke:#dc3f45;stroke-width:2px;stroke-dasharray:8 6;vector-effect:non-scaling-stroke}.annual-actual-line{fill:none;stroke:#005c82;stroke-width:3px;vector-effect:non-scaling-stroke}.carbon-insight-card>.carbon-chart-legend{border-top:1px solid #edf2f4;gap:12px;min-height:44px;margin:0;padding:8px 16px 12px;display:flex;position:static}@media (width<=1180px){.integrated-carbon-card .monthly-split-charts{grid-template-columns:1fr}}@media (width<=640px){.carbon-trend-kpis{grid-template-columns:1fr}.carbon-insight-card>header{min-height:0}.annual-baseline-strip{grid-template-columns:1fr;gap:3px}.annual-baseline-strip small{justify-self:start}.carbon-card-summary{grid-template-columns:1fr;align-items:start}.carbon-card-summary>strong{white-space:normal;grid-area:auto}.monthly-split-charts{grid-template-columns:1fr;padding-left:10px;padding-right:10px}.integrated-carbon-head{flex-direction:column;align-items:stretch!important}.integrated-carbon-head .interval-filter-group{width:100%;margin-left:0}.carbon-monitor-toolbar{align-items:flex-start}.monthly-period-summary{grid-template-columns:1fr 1fr;margin-left:10px;margin-right:10px}.monthly-period-summary>div.total{grid-column:1/-1}.monthly-period-summary>div:nth-child(2){border-left:0}.monthly-monitor-chart,.annual-progress-chart{height:258px;margin-left:8px;margin-right:8px}.monthly-monitor-chart svg,.annual-progress-chart svg{height:230px}.carbon-insight-card>.carbon-chart-legend{flex-wrap:nowrap;overflow-x:auto}.carbon-insight-card>.carbon-chart-legend span{flex:none}}.carbon-trend-combined-head{border-bottom:1px solid #e1e9ed;justify-content:space-between;align-items:center;gap:14px;min-height:56px;padding:12px 16px;display:flex}.carbon-trend-combined-head h2{color:#21333e;margin:0;font-size:18px;line-height:26px}.carbon-heading-with-tooltip{align-items:center;gap:7px;display:flex}.carbon-heading-with-tooltip .formula-hint{width:20px;height:20px}.carbon-trend-grid{grid-template-columns:minmax(0,1fr);align-items:stretch;display:grid}.trend-equipment-rank{border:0;border-right:1px solid #e1e9ed;border-radius:0;align-content:start}.trend-equipment-rank .interval-block-head{align-items:center}.trend-equipment-rank .equipment-rank-row{background:#fbfdfe;border:1px solid #e8eef2;border-radius:10px;grid-template-columns:28px minmax(0,1fr) auto;grid-template-areas:"index device value"".bar bar";gap:7px 9px;padding:9px}.trend-equipment-rank .rank-index{grid-area:index}.trend-equipment-rank .rank-device{grid-area:device}.trend-equipment-rank .rank-bar-track{grid-area:bar;height:8px}.trend-equipment-rank .rank-score{grid-area:value;align-self:start}.trend-equipment-rank .rank-device span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trend-equipment-rank .rank-1{background:#edf7fa;border-color:#9fc9d9}.trend-equipment-rank .rank-1 .rank-index{color:#fff;background:#005c82}.trend-equipment-rank .rank-2 .rank-index{color:#005c82;background:#cfe7ef}.trend-equipment-rank .rank-3 .rank-index{color:#005c82;background:#e5f2f7}.carbon-trend-section{background:#fff;min-width:0;padding-top:10px;overflow:visible}.interval-chart-head{justify-content:space-between;align-items:center;gap:14px;padding:0 16px 8px;display:flex}.interval-chart-head h3{color:#21333e;margin:0;font-size:15px;line-height:22px}.interval-chart-head span{color:#627782;font-size:12px;font-weight:700}.trend-analysis-layout{grid-template-columns:1fr;gap:4px;padding:0 14px 4px;display:grid}.trend-side-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding:2px 8px 4px;display:grid}.trend-usage-card{background:0 0;border:0;grid-template-columns:8px minmax(0,1fr);gap:3px 8px;min-height:0;padding:0;display:grid}.trend-usage-card span{color:#627782;white-space:nowrap;grid-column:2;font-size:11px;font-weight:800;position:relative}.trend-usage-card span:before{content:"";background:#005c82;border-radius:1px;width:7px;height:7px;position:absolute;top:5px;left:-16px}.trend-usage-card.water span:before{background:#0b9bb5}.trend-usage-card strong{color:#21333e;white-space:nowrap;grid-column:2;font-size:18px;line-height:24px}.trend-usage-card small{color:#627782;margin-left:4px;font-size:10px;font-weight:800}.carbon-baseline-summary{color:#627782;background:#f7fbfd;border:1px solid #dce8ed;border-radius:7px;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:center;gap:12px 20px;margin:2px 8px 4px;padding:9px 12px;font-size:12px;display:grid}.carbon-baseline-summary>strong{color:#21333e;white-space:nowrap;font-size:12px}.carbon-baseline-summary span{white-space:nowrap;align-items:center;gap:6px;min-width:0;display:flex}.carbon-baseline-summary span i{background:#005c82;border-radius:2px;flex:0 0 8px;width:8px;height:8px}.carbon-baseline-summary span i.water{background:#0b9bb5}.carbon-baseline-summary span b{color:#21333e;margin-left:auto}.carbon-analysis-grid{grid-template-columns:minmax(0,1.9fr) minmax(320px,.8fr);align-items:stretch;gap:16px;display:grid}.carbon-structure-card{overflow:visible}.structure-caption{color:#627782;white-space:nowrap;font-size:12px;font-weight:700}.carbon-structure-body{gap:16px;padding:18px;display:grid}.structure-donut{background:conic-gradient(#005c82 0 82%, #0b9bb5 82% 100%);border-radius:999px;place-items:center;width:168px;height:168px;margin:2px auto 0;display:grid;position:relative}.structure-donut:after{content:"";border-radius:inherit;background:#fff;position:absolute;inset:34px}.structure-donut span{z-index:1;color:#21333e;justify-items:center;font-size:26px;font-weight:800;line-height:30px;display:grid;position:relative}.structure-donut small{color:#627782;font-size:12px;font-weight:700}.structure-list{gap:10px;display:grid}.structure-list div{color:#465d68;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:9px;font-size:13px;display:grid}.structure-list b{font-weight:700}.structure-list strong{color:#21333e}.carbon-setup-link{color:#005c82;background:#f6fbfd;border:1px dashed #b7dce9;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.carbon-setup-link svg{width:15px;height:15px}.carbon-detail-card{overflow:visible}.legend-dot{border-radius:999px;width:8px;height:8px}.legend-dot.blue{background:#005c82}.legend-dot.cyan{background:#0b9bb5}.legend-dot.amber{background:#d97706}.legend-dot.green{background:#1f7a4d}.carbon-chart-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.carbon-chart-controls .segmented{flex:none}.carbon-chart-controls label{color:#627782;align-items:center;gap:7px;font-size:12px;font-weight:800;display:flex}.carbon-chart-controls label+label{border-left:1px solid #e1e9ed;padding-left:12px}.carbon-trend-chart{height:300px;padding:14px 56px 42px 52px;position:relative}.carbon-trend-chart svg{background-image:linear-gradient(#0000 0 24%,#d7e2e8a6 24%,#0000 calc(24% + 1px) 49%,#d7e2e8a6 49%,#0000 calc(49% + 1px) 74%,#d7e2e8a6 74%,#0000 calc(74% + 1px));width:100%;height:196px;display:block}.carbon-trend-chart polyline{fill:none;stroke:#005c82;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.carbon-trend-chart .baseline-line{stroke:#dc2626;stroke-width:2px;stroke-dasharray:9 8}.carbon-trend-chart .yoy-line{stroke:#94a3b8;stroke-width:2px;stroke-dasharray:7 7}.energy-bars rect{rx:8;transition:opacity .15s}.energy-bars .power-bar{fill:#005c822e}.energy-bars .water-bar{fill:#0b9bb55c}.carbon-area{fill:#005c821a}.carbon-baseline-label{z-index:2;color:#b4232a;background:#fff1f2;border:1px solid #f1b7ba;border-radius:5px;padding:3px 7px;font-size:11px;font-weight:800;line-height:16px;position:absolute;top:85px;right:58px}.carbon-y-axis{color:#8a969c;text-align:right;flex-direction:column;justify-content:space-between;font-size:12px;display:flex;position:absolute;top:12px;bottom:80px;left:18px}.carbon-y-axis.cumulative-axis{text-align:left;left:auto;right:14px}.carbon-axis-title{color:#7b8d96;font-size:10px;font-weight:800;line-height:14px;position:absolute;top:-3px}.carbon-axis-title.current{left:13px}.carbon-axis-title.cumulative{right:9px}.carbon-x-axis{color:#8a969c;justify-content:space-between;font-size:12px;display:flex}.carbon-x-axis.daily,.carbon-x-axis.monthly{align-items:start;display:grid}.carbon-x-axis.daily span,.carbon-x-axis.monthly span{text-align:center;white-space:nowrap;min-width:0}.carbon-x-axis.daily{color:#819099;font-size:10px}.carbon-chart-legend{color:#627782;flex-wrap:wrap;align-items:center;gap:14px;font-size:12px;display:flex;position:absolute;bottom:12px;left:52px;right:56px}.carbon-chart-legend span{align-items:center;gap:6px;display:inline-flex}.carbon-chart-legend .line{border-top:3px solid #005c82;width:18px;height:0}.carbon-chart-legend .baseline{border-top-style:dashed;border-top-color:#dc2626}.carbon-chart-legend .yoy{border-top-style:dashed;border-top-color:#94a3b8}.carbon-chart-legend .bar{border-radius:3px;width:14px;height:8px}.carbon-chart-legend .bar.power{background:#005c823d}.carbon-chart-legend .bar.water{background:#0b9bb57a}.carbon-hover-zones{pointer-events:none;height:196px;position:absolute;top:14px;left:52px;right:56px}.carbon-hover-zone{pointer-events:auto;width:70px;height:196px;position:absolute;top:0;transform:translate(-8px)}.carbon-trend-tooltip{box-sizing:border-box;background:#fff;width:310px;min-width:310px;min-height:154px;top:26px;bottom:auto;overflow:visible}.carbon-trend-tooltip small{padding-left:15px;position:relative}.carbon-trend-tooltip small strong{color:#21333e;font-size:13px}.carbon-trend-tooltip .tooltip-dot{border-radius:999px;width:8px;height:8px;position:absolute;top:6px;left:0}.carbon-trend-tooltip .tooltip-dot.actual{background:#005c82}.carbon-trend-tooltip .tooltip-dot.baseline{background:#dc2626}.carbon-trend-tooltip .tooltip-detail{color:#7a8c95;margin:1px 0 4px 15px;padding-left:0;font-size:11px}.formula-hint>span,.chart-tooltip{color:#21333e;background:#fff;border:1px solid #d7e2e8;border-radius:10px;padding:10px 12px;font-size:12px;font-weight:700;line-height:18px;box-shadow:0 10px 24px #1e32502e}.chart-tooltip{z-index:10020;min-width:190px;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.chart-tooltip b,.chart-tooltip small{display:block}.chart-tooltip small{color:#627782}.annual-progress-chart .annual-progress-tooltip{box-sizing:border-box;white-space:normal;background:#fff;border-radius:8px;width:max-content;max-width:260px;height:auto;min-height:0;padding:12px;top:12px;bottom:auto}.annual-progress-zone:focus .annual-progress-tooltip{display:block}.annual-progress-zone:hover,.annual-progress-zone:focus{z-index:20}.carbon-hover-zone:hover .chart-tooltip,.structure-donut:hover .chart-tooltip{display:block}.overview-trend-y-axis,.overview-trend-x-axis,.demand-cycle-axis,.tou-bar-slot,.bar-slot,.water-flow-axis,.water-history-axis,.carbon-y-axis,.carbon-x-axis{font-size:var(--chart-axis-font-size);line-height:18px}.bar-chart.dense .bar-slot,.water-history-axis.dense{font-size:var(--chart-dense-font-size)}.tou-panel-title span,.tou-legend span,.tou-donut-copy span,.site-carbon-legend,.performance-legend,.carbon-chart-legend{font-size:var(--chart-legend-font-size);line-height:18px}.chart-tooltip{min-width:210px;font-size:var(--chart-tooltip-font-size);line-height:20px}.chart-tooltip b{font-size:13px}.chart-tooltip small{font-size:12px;line-height:19px}.tou-donut small,.total-pie-chart small,.performance-bars i,.performance-row-result>strong small,.baseline-year span,.reduction-bar,.carbon-baseline-label{font-size:12px}.site-carbon-label b,.rank-device b{font-size:14px}.site-carbon-label span,.rank-device span,.rank-score strong{font-size:13px}.rank-score span{font-size:11px}.structure-donut{cursor:help}.structure-tooltip{bottom:calc(100% + 10px);left:50%}@media (width<=900px){.live-login{grid-template-columns:1fr}.login-hero{min-height:42vh;padding:44px 28px}.login-hero h1{font-size:34px}.login-panel{min-height:auto;padding:36px 24px}.live-sidebar{z-index:40;width:248px;transform:translate(-100%);box-shadow:8px 0 24px #1e325014}.sidebar-open .live-sidebar{transform:translate(0)}.sidebar-collapsed .live-sidebar{width:248px;transform:translate(-100%)}.sidebar-collapsed .brand-block{justify-content:flex-start;padding:0 8px}.sidebar-collapsed .brand-block div:last-child{display:flex}.sidebar-collapsed .live-sidebar nav span{display:grid}.sidebar-collapsed .live-sidebar nav button{justify-content:flex-start;width:215px;min-height:38px;padding:6px 12px}.sidebar-collapse,.sidebar-collapsed .sidebar-collapse{left:195px;transform:none}.live-topbar,.sidebar-collapsed .live-topbar{padding:0 16px 0 56px;left:0}.round-tool,.sidebar-collapsed .round-tool{z-index:45;position:fixed;top:30px;left:14px}.sidebar-open .round-tool{left:204px}.live-main,.sidebar-collapsed .live-main{width:100%;max-width:none;margin-left:0;padding:96px 16px 32px}.stat-grid,.device-layout,.device-config-layout,.query-grid{grid-template-columns:1fr}.device-config-list{grid-template-columns:repeat(3,minmax(0,1fr))}.device-config-list button{min-width:0}.device-config-detail>header{flex-direction:column;align-items:stretch}.topology-workspace,.topology-workspace.panel-closed{grid-template-columns:1fr;height:auto;min-height:0}.topology-canvas{height:560px;min-height:560px}.topology-side-panel{height:470px;min-height:470px}.topology-device-list{max-height:340px}.topology-panel-toggle{display:none}.dashboard-title-row,.report-head,.alert-filter{flex-direction:column;align-items:stretch;height:auto}.performance-title-actions{flex-wrap:wrap;width:100%;margin-left:0}.scope-switcher{width:100%;min-width:0}.scope-switcher select{width:100%}.fixed-scope-label{align-self:flex-end}.site-demand-table{overflow-x:auto}.site-demand-row{min-width:760px}.topic-tabs{width:100%}.subtab-toolbar{flex-direction:column;align-items:stretch;display:flex}.sub-tabs{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.sub-tabs button{border-right:1px solid #e1e9ed;min-width:0}.kpi-grid,.overview-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-kpis .kpi-card:nth-child(2n){border-right:0}.overview-kpis .kpi-card:nth-child(n+3){border-top:1px solid #e1e9ed}.overview-kpis .kpi-card:first-child{border-radius:13px 0 0}.overview-kpis .kpi-card:nth-child(2){border-radius:0 13px 0 0}.overview-kpis .kpi-card:nth-child(3){border-radius:0 0 0 13px}.overview-kpis .kpi-card:last-child{border-radius:0 0 13px}.overview-monitoring-layout{grid-template-columns:1fr}.overview-monitoring-main .overview-trend-card,.overview-monitoring-layout .important-alerts{height:auto}.overview-monitoring-layout .important-alert-card{max-height:none;overflow:visible}.water-live-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-trend-head,.overview-trend-head-actions{flex-direction:column;align-items:stretch}.overview-trend-stats{justify-content:space-between}.overview-trend-head-actions .segmented{width:100%}.demand-analysis-grid,.tou-layout{grid-template-columns:1fr}.tou-hourly-panel{border-bottom:1px solid #e1e9ed;border-right:0}.tou-share-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.tou-alert{grid-column:1/-1}.total-carbon-card,.carbon-analysis-grid,.carbon-trend-grid,.interval-summary-strip,.aggregation-split-grid,.trend-analysis-layout,.site-carbon-combined .aggregation-split-grid{grid-template-columns:1fr}.carbon-trend-combined-head{flex-direction:column;align-items:stretch}.carbon-trend-combined-head .segmented{width:100%}.trend-equipment-rank{border-bottom:1px solid #e1e9ed;border-right:0}.interval-carbon-head{flex-direction:column;align-items:stretch}.carbon-report-total{grid-template-columns:1fr;gap:10px}.carbon-report-equation{justify-content:space-between}.interval-chart-head{flex-direction:column;align-items:stretch}.interval-filter-group{flex-flow:row;align-items:center}.interval-carbon-head .segmented,.interval-chart-head .segmented{width:100%;overflow:auto}.trend-side-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.carbon-chart-controls{justify-content:flex-start}.carbon-chart-controls label{flex-direction:column;align-items:flex-start}.carbon-chart-controls label+label{border-left:0;padding-left:0}.chart-grid{grid-template-columns:1fr}.history-filter{flex-direction:row;justify-content:flex-start;align-items:center;width:100%;margin-left:0;overflow-x:auto}.history-filter .segmented,.alert-filter .segmented{flex-shrink:0;overflow:visible}.branch-energy-head,.branch-energy-tools{flex-direction:column;align-items:stretch}.branch-energy-total{justify-items:start}.branch-search{width:100%}.branch-status-filter{overflow-x:auto}.branch-ranking-row{grid-template-columns:26px minmax(140px,.7fr) minmax(180px,1fr) 90px}.branch-status{display:none}.filter-row{flex-direction:column;align-items:stretch}.mui-field{min-width:0}.page-action,.page-header-action{margin-bottom:16px;position:static}.page-header-action{justify-content:flex-end}.notification-settings{max-width:none}.email-recipient-toolbar .mui-contained{align-self:flex-end}.alert-list-filters{flex-direction:column;align-items:stretch}.alert-list-filters select{width:100%}.device-table-toolbar{flex-direction:column;align-items:stretch}.device-page-actions{flex-wrap:wrap;margin-bottom:12px;position:static}.device-table-toolbar>div{flex-wrap:wrap}.device-table-toolbar>.mui-contained{align-self:flex-end}.datatable-pagination{flex-direction:column;align-items:flex-start}.datatable-page-controls{flex-wrap:wrap;justify-content:flex-start;width:100%}.monitoring-tab-row{flex-direction:column;align-items:stretch}.monitoring-update-actions{justify-content:flex-end}.monitoring-filter-bar{flex-direction:column;align-items:stretch}.monitoring-status-filter{overflow-x:auto}.historical-filter-panel{align-items:end}.historical-range-separator{display:grid}.historical-data-card .table-wrap{max-height:none}.performance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.carbon-baseline-summary{grid-template-columns:1fr;gap:6px}.carbon-baseline-summary span b{margin-left:0}}@media (width<=640px){.carbon-factor-overlay{padding:10px}.carbon-factor-dialog{max-height:calc(100vh - 20px)}.carbon-factor-dialog-head,.carbon-factor-form,.settings-baseline-form{padding-left:14px;padding-right:14px}.settings-dialog-tabs{gap:18px;padding-left:14px;padding-right:14px;overflow-x:auto}.carbon-factor-current{grid-template-columns:1fr;gap:8px;margin-left:14px;margin-right:14px}.carbon-factor-toolbar{flex-direction:column;align-items:stretch;padding-left:14px;padding-right:14px}.carbon-factor-table-wrap{margin-left:14px;margin-right:14px}.settings-wide-table-wrap{max-width:calc(100% - 28px)}.settings-inline-error{margin-left:14px;margin-right:14px}.carbon-factor-fields{grid-template-columns:1fr}.carbon-page-actions{justify-content:flex-end;width:100%}.carbon-export-date-grid{grid-template-columns:1fr}.carbon-export-date-separator{display:none}.carbon-export-formats>div{grid-template-columns:1fr}.carbon-factor-fields label:first-child{grid-column:auto;max-width:none}.settings-field-grid{grid-template-columns:1fr}.settings-field-grid label:first-child{grid-column:auto;max-width:none}.carbon-factor-dialog-foot{padding-left:14px;padding-right:14px}.fixed-scope-label{justify-content:center;width:100%}.performance-toolbar{align-items:center}.performance-period-controls{max-width:100%}.performance-period-select{flex:0 150px;width:150px;min-width:0}.performance-summary-grid{grid-template-columns:1fr}.performance-row{grid-template-columns:38px minmax(180px,1fr) 90px}.carbon-report-equation{flex-wrap:wrap;justify-content:flex-start}.carbon-report-equation>span{place-items:start;min-width:118px}.carbon-report-equation .result{border-top:1px solid #cbdce4;border-left:0;width:100%;min-width:0;padding:10px 0 0}.kpi-grid,.overview-kpis{grid-template-columns:1fr}.overview-kpis .kpi-card{border-right:0}.overview-kpis .kpi-card:nth-child(n+2){border-top:1px solid #e1e9ed}.overview-kpis .kpi-card:first-child{border-radius:13px 13px 0 0}.overview-kpis .kpi-card:nth-child(2),.overview-kpis .kpi-card:nth-child(3){border-radius:0}.overview-kpis .kpi-card:last-child{border-radius:0 0 13px 13px}.water-live-grid,.water-history-summary,.water-flow-current{grid-template-columns:1fr}.site-carbon-grand-total{flex-direction:column;align-items:flex-start;gap:8px}.site-carbon-grand-total>strong{align-self:flex-end}.overview-module-head,.tou-panel-title{flex-direction:column;align-items:flex-start}.realtime-demand-card .demand-head-forecast{flex-wrap:wrap;width:100%;margin-left:0;padding:8px 10px}.realtime-demand-card .demand-head-forecast.breach{border-color:#efc4bd}.demand-head-forecast small{white-space:normal;max-width:none}.demand-summary-board,.demand-control-row{grid-template-columns:1fr}.demand-support-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.demand-forecast-alert{grid-template-columns:34px minmax(0,1fr);align-items:start}.demand-forecast-alert em{grid-column:2;justify-self:start}.demand-cycle-title{flex-direction:column}.demand-cycle-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.demand-cycle-stats>span:nth-child(3){border-top:1px solid #e1e9ed;border-left:0}.demand-cycle-stats>span:nth-child(4){border-top:1px solid #e1e9ed}.demand-cycle-meta{justify-items:start;width:100%}.demand-cycle-axis span:nth-child(2n){visibility:hidden}.demand-meter-head{flex-direction:column;align-items:flex-start;gap:3px}.demand-meter-legend{flex-direction:column;align-items:flex-start;gap:4px}.tou-share-panel{grid-template-columns:1fr}.tou-bars{gap:3px}.total-carbon-pie{grid-template-columns:1fr;justify-items:start}.carbon-analysis-grid,.trend-side-cards{grid-template-columns:1fr}.site-carbon-row{grid-template-columns:1fr;gap:7px}.equipment-rank-row{grid-template-columns:28px minmax(0,1fr)}.rank-bar-track,.equipment-rank-row>strong{grid-column:2}.equipment-rank-row>strong{text-align:left}.compact-date-range input{width:100%}.carbon-trend-chart{padding-left:44px}.carbon-hover-zones{left:44px}.baseline-reduction-row{grid-template-columns:1fr;gap:7px}.baseline-values{white-space:normal}.sub-tabs button{padding:8px 9px}.segmented{overflow:auto}.date-range{flex-direction:column}.history-filter .date-range,.interval-filter-group .date-range{flex-direction:row}.history-filter .compact-date-range input,.interval-filter-group .compact-date-range input{flex:0 0 132px;width:132px}.overview-trend-chart{grid-template-columns:34px minmax(0,1fr);padding-left:8px;padding-right:12px}.overview-trend-x-axis span:not(.edge-start):not(.edge-end):nth-child(2n){display:none}.branch-ranking-chart{overflow-x:auto}.branch-ranking-row{min-width:640px}.topology-canvas{height:470px;min-height:470px}.topology-site-select{width:calc(100% - 24px)}.marker-mode-button{top:61px}.marker-mode-hint{top:107px;left:12px;right:12px}.floor-plan-stage{inset:105px 8px 18px}.map-device-popover{top:108px}.device-test-form{flex-direction:column;align-items:stretch}.device-test-form select{width:100%}.device-test-controls{flex-direction:column;align-items:stretch}.device-test-controls select,.device-test-controls .test-run-button{width:100%}.configuration-actions{flex-wrap:wrap;align-items:stretch}.configuration-actions .mui-contained{width:100%}.device-config-list{grid-template-columns:1fr}.device-config-detail>header>div:last-child{justify-content:flex-end}.alert-table-footer{flex-wrap:wrap;justify-content:flex-start}.device-table-toolbar>div>span{width:100%;margin-left:0}.device-table-toolbar>.mui-contained{width:100%}.email-table-filters{flex-direction:column;align-items:stretch}.email-table-filters .unified-filter-control,.email-recipient-toolbar .mui-contained{width:100%}.line-binding-card>header,.bound-group-card>header{flex-direction:column;align-items:stretch}.line-code-panel>div{flex-direction:column;align-items:flex-start}.line-code-panel strong{letter-spacing:3px;font-size:28px}.line-code-panel p{flex-wrap:wrap;align-items:flex-start}.datatable-page-summary{width:100%}.datatable-page-controls form{width:100%;margin:4px 0 0}.datatable-page-controls form input{flex:1}.monitoring-search-group{flex-direction:column;align-items:stretch}.monitoring-search-group label:first-child,.monitoring-site-filter,.historical-filter-field,.historical-datetime-control,.historical-device-control,.historical-dimension{width:100%}.historical-dimension button{flex:1}.monitoring-update-actions{flex-direction:column;align-items:stretch}.monitoring-update-actions>span{text-align:right}.column-mapping-head,.column-mapping-row{min-width:720px}.column-settings-backdrop{padding:10px}.column-settings-dialog{max-height:calc(100vh - 20px);padding:17px 14px 14px}.column-settings-toolbar{grid-template-columns:1fr}.column-settings-toolbar>label{grid-column:auto}.mapping-action{width:100%}}.unified-filter-control{color:#8a969c;width:180px;min-width:0;height:38px;box-shadow:none;background:#fff;border:1px solid #cbd6db;border-radius:8px;align-items:center;gap:8px;padding:0 10px;transition:border-color .15s,box-shadow .15s;display:inline-flex;position:relative}.custom-filter-select{padding:0;overflow:visible}.custom-filter-select.open{z-index:120;border-color:#0b83a9;box-shadow:0 0 0 2px #0b83a91a}.custom-filter-select.disabled{color:#9aa8af;background:#f6f8f9}.custom-filter-select>button:first-child{color:#21333e;text-align:left;background:0 0;align-items:center;gap:8px;width:100%;min-width:0;height:100%;padding:0 10px;font-size:12px;font-weight:650;display:flex}.custom-filter-select>button:first-child:disabled{color:#9aa8af;cursor:not-allowed}.custom-filter-select>button:first-child>svg:first-child{color:#6f8792;flex:none;width:16px;height:16px}.custom-filter-select>button:first-child>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.custom-filter-chevron{color:#6f8792;flex:none;width:15px;height:15px;transition:transform .15s}.custom-filter-select.open .custom-filter-chevron{transform:rotate(180deg)}.custom-filter-menu{z-index:10050;background:#fff;border:1px solid #d8e1e5;border-radius:8px;width:max-content;min-width:100%;max-width:min(380px,100vw - 32px);max-height:292px;padding:6px;position:absolute;top:calc(100% + 5px);left:-1px;overflow:auto;box-shadow:0 8px 22px #21333e29}.custom-filter-menu>button{color:#21333e;text-align:left;white-space:nowrap;background:0 0;border-radius:5px;justify-content:space-between;align-items:center;gap:18px;width:100%;min-height:36px;padding:7px 8px;font-size:12px;font-weight:550;display:flex}.custom-filter-menu>button:hover,.custom-filter-menu>button:focus-visible{background:#f1f6f8;outline:0}.custom-filter-menu>button.selected{font-weight:700}.custom-filter-menu>button span{text-overflow:ellipsis;min-width:0;overflow:hidden}.custom-filter-menu>button svg{color:#18272e;flex:none;width:16px;height:16px}.unified-filter-control:focus-within{border-color:#0b83a9;box-shadow:0 0 0 2px #0b83a91a}.unified-filter-control>svg{color:#6f8792;flex:none;width:16px;height:16px}.unified-filter-control select,.unified-filter-control input{color:#21333e;background-color:#0000;border:0;outline:0;width:100%;min-width:0;height:100%;padding:0 24px 0 0;font-size:12px;font-weight:650}.unified-filter-control select:disabled,.unified-filter-control input:disabled{color:#9aa8af;cursor:not-allowed}.system-date-control{color:#6f8792;cursor:pointer;background:#fff;border:1px solid #cbd6db;border-radius:8px;height:38px;padding:0 10px}.system-date-control>svg{pointer-events:none}.system-date-control input{color:#21333e;cursor:pointer;background:0 0;border:0;border-radius:0;outline:0;width:100%;min-width:0;height:100%;padding:0;font-size:12px;font-weight:650}.system-date-control input::-webkit-calendar-picker-indicator{opacity:0;width:0;height:0;margin:0;padding:0}.unified-query-control{color:#6f8792;background:#fff;border:1px solid #cbd6db;border-radius:8px;align-items:center;gap:8px;min-width:0;height:38px;padding:0 10px;display:flex}.unified-query-control:focus-within{border-color:#0b83a9;box-shadow:0 0 0 2px #0b83a91a}.unified-query-control>svg{flex:none;width:16px;height:16px}.mui-field .unified-query-control input{width:100%;min-width:0;height:100%;box-shadow:none;border:0;border-radius:0;outline:0;padding:0}.mui-field button.unified-query-control{text-align:left;justify-content:flex-start;width:100%;padding:0 10px}.mui-field button.unified-query-control b{color:#21333e;flex:1;font-size:12px;font-weight:650}.filter-label-with-icon{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.filter-label-with-icon svg{color:#607d8a;width:15px;height:15px}.date-control{width:164px}.date-control input{padding-right:0}.scope-switcher .unified-filter-control,.scope-switcher select{width:180px;height:38px}.scope-switcher .unified-filter-control select,.alert-list-filters .unified-filter-control select,.device-test-controls .unified-filter-control select,.email-table-filters .unified-filter-control select,.topology-site-select.unified-filter-control select{box-shadow:none;border:0;border-radius:0;padding-left:0}.alert-list-filters .unified-filter-control,.email-table-filters .unified-filter-control,.device-test-controls .unified-filter-control{width:230px}.topology-site-select.unified-filter-control{width:240px;height:38px;padding:0 10px;display:flex}.monitoring-search-group label,.branch-search,.topology-search,.column-settings-toolbar>label,.group-point-toolbar label{color:#8a969c;background:#fff;border-color:#cbd6db;border-radius:8px;height:38px}.monitoring-search-group label:focus-within,.branch-search:focus-within,.topology-search:focus-within,.column-settings-toolbar>label:focus-within,.group-point-toolbar label:focus-within{border-color:#0b83a9;box-shadow:0 0 0 2px #0b83a91a}.monitoring-search-group label svg,.branch-search svg,.topology-search svg,.column-settings-toolbar>label svg,.group-point-toolbar label svg{color:#6f8792;width:16px;height:16px}.monitoring-status-filter button,.branch-status-filter button,.topology-status-filter button{min-height:32px;padding:0 10px;font-size:11px}.segmented,.alert-quick-filter{min-height:38px}.alert-quick-filter button{min-height:30px;padding:0 10px;font-size:11px}.compact-date-range,.compact-date-range .unified-filter-control{min-height:38px}.compact-date-range .unified-filter-control input{border:0;border-radius:0;width:100%;height:100%;padding:0}.monitoring-point-name{gap:2px;min-width:170px;display:grid}.monitoring-point-toggle{color:#21333e;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;width:max-content;max-width:100%;padding:0;display:inline-flex}.monitoring-point-toggle:hover strong{color:#005c82;text-underline-offset:2px;text-decoration:underline}.monitoring-point-toggle svg{color:#8aa3ae;flex:none;width:13px;height:13px;transition:transform .16s}.monitoring-point-toggle.has-children svg{color:#005c82}.monitoring-point-toggle svg.collapsed{transform:rotate(-90deg)}.monitoring-point-name strong{color:#21333e;font-size:12px;font-weight:650}.monitoring-point-name small{color:#82939d;font-size:10px}.power-monitoring-groups{background:#f4f7f9;gap:10px;padding:10px;display:grid}.power-monitoring-group{background:#fff;border:1px solid #dce6eb;border-radius:8px;overflow:hidden}.power-monitoring-group>header{background:#f7f9fa;border-bottom:1px solid #e5ecef;justify-content:space-between;align-items:center;min-height:44px;padding:0 10px;display:flex}.power-group-toggle{color:#21333e;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:8px;min-width:0;min-height:44px;display:flex}.power-group-toggle svg{color:#68808c;flex:none;width:15px;height:15px;transition:transform .16s}.power-group-toggle svg.collapsed{transform:rotate(-90deg)}.power-group-toggle strong{font-size:13px}.power-group-toggle span{color:#627782;font-size:11px}.power-group-toggle small{color:#005c82;background:#e4f1f5;border-radius:999px;padding:2px 7px;font-size:9px;font-weight:700}.power-group-actions{flex:none;align-items:center;gap:2px;display:flex}.power-group-actions button{color:#005c82;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:30px;height:30px;display:grid}.power-group-actions button:hover{background:#e4f1f5}.power-group-actions button.delete{color:#dc2626}.power-group-actions button.delete:hover{background:#fef2f2}.power-group-actions svg{width:14px;height:14px}.power-monitoring-group .data-table-scroll{border:0;border-radius:0}.power-monitoring-group table{min-width:1450px}.monitoring-group-dialog{flex-direction:column;width:min(720px,100vw - 32px);max-height:calc(100vh - 48px);padding:22px;display:flex;overflow:hidden}.monitoring-group-dialog>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.monitoring-group-dialog>header h2{color:#21333e;margin:0;font-size:18px}.monitoring-group-dialog>header p{color:#6b7f89;margin:5px 0 0;font-size:12px}.monitoring-group-dialog>header button{color:#647780;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;width:30px;height:30px;display:grid}.monitoring-group-dialog>header button:hover{background:#edf2f4}.monitoring-group-dialog>header svg{width:16px}.group-name-field{gap:6px;margin-top:18px;display:grid}.group-name-field span{color:#334b57;font-size:12px;font-weight:650}.group-name-field input,.group-name-field select,.group-point-toolbar label{background:#fff;border:1px solid #cdd9df;border-radius:7px;height:36px}.group-name-field input,.group-name-field select{color:#21333e;outline:none;padding:0 11px}.group-name-field input:focus,.group-name-field select:focus,.group-point-toolbar label:focus-within{border-color:#0783ad;box-shadow:0 0 0 2px #0783ad1f}.group-basic-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.power-group-content{min-width:0}.power-group-children{background:#f8fafb;border-top:1px solid #e5ecef;gap:8px;padding:8px 8px 8px 30px;display:grid;position:relative}.power-group-children:before{content:"";border-left:1px solid #8fb3c1;position:absolute;top:0;bottom:23px;left:14px}.power-group-children>.power-monitoring-group{position:relative;overflow:visible}.power-group-children>.power-monitoring-group:before{z-index:1;content:"";border-top:1px solid #8fb3c1;width:16px;position:absolute;top:22px;left:-16px}.power-group-children>.power-monitoring-group>header{border-radius:7px 7px 0 0}.power-group-children>.power-monitoring-group>.power-group-content,.power-group-children>.power-monitoring-group>.data-table-scroll{border-radius:0 0 7px 7px}.data-table-expanded-row>td{white-space:normal;border-bottom:1px solid #dce6eb;height:auto;background:#f8fafb!important;padding:0!important}.point-child-groups{background:#f8fafb;gap:8px;padding:8px 8px 8px 72px;display:grid;position:relative}.point-child-groups:before{content:"";border-left:1px solid #69a1b5;position:absolute;top:0;bottom:30px;left:57px}.point-child-groups>.power-monitoring-group{position:relative;overflow:visible}.point-child-groups>.power-monitoring-group:before{z-index:1;content:"";border-top:1px solid #69a1b5;width:15px;position:absolute;top:22px;left:-15px}.point-child-groups>.power-monitoring-group>header{border-left:3px solid #69a1b5;border-radius:7px 7px 0 0}.power-monitoring-group[data-depth="2"]>header{background:#eef6f8}.power-monitoring-group[data-depth="3"]>header{background:#e7f1f4}.power-monitoring-group[data-depth="2"] .power-group-toggle strong,.power-monitoring-group[data-depth="3"] .power-group-toggle strong{color:#005c82}.power-group-empty{color:#788b95;text-align:center;margin:0;padding:16px;font-size:11px}.group-point-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.group-point-toolbar label{flex:1;align-items:center;gap:7px;min-width:0;padding:0 10px;display:flex}.group-point-toolbar svg{color:#82939d;width:15px}.group-point-toolbar input{border:0;outline:0;flex:1;min-width:0}.group-point-toolbar>span{color:#005c82;white-space:nowrap;font-size:11px;font-weight:650}.group-point-list{border:1px solid #dce5e9;border-radius:8px;min-height:220px;margin-top:10px;overflow:auto}.group-point-list-head,.group-point-option{grid-template-columns:24px minmax(190px,1fr) minmax(190px,1fr);align-items:center;gap:8px;min-height:42px;padding:0 12px;display:grid}.group-point-list-head{z-index:1;color:#607682;background:#f4f7f9;font-size:11px;font-weight:650;position:sticky;top:0}.group-point-option{color:#637780;cursor:pointer;border-top:1px solid #edf1f3;font-size:11px}.group-point-option:hover{background:#f7fafb}.group-point-option b{color:#21333e;font-size:12px}.group-point-list input[type=checkbox]{accent-color:#005c82;width:15px;height:15px}.monitoring-group-dialog>footer{justify-content:flex-end;gap:8px;padding-top:16px;display:flex}.group-manager-backdrop{padding:28px}.group-manager-dialog{flex-direction:column;width:min(880px,100%);max-height:calc(100vh - 56px);padding:0;display:flex;overflow:hidden}.group-manager-dialog>header{border-bottom:1px solid #e5ecef;justify-content:space-between;align-items:flex-start;gap:20px;min-height:74px;padding:17px 20px;display:flex}.group-manager-dialog>header h2{color:#21333e;margin:0;font-size:18px}.group-manager-dialog>header p{color:#6b7f89;margin:5px 0 0;font-size:12px}.group-manager-dialog>header>button{color:#647780;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;width:30px;height:30px;display:grid}.group-manager-dialog>header>button:hover{background:#f1f5f7}.group-manager-dialog>header svg{width:16px;height:16px}.group-manager-toolbar{background:#fafcfd;border-bottom:1px solid #e5ecef;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.group-manager-toolbar>label{background:#fff;border:1px solid #d5e0e5;border-radius:7px;align-items:center;gap:8px;width:260px;height:38px;padding:0 11px;display:flex}.group-manager-toolbar>label:focus-within{border-color:#1684aa;box-shadow:0 0 0 1px #1684aa}.group-manager-toolbar>label svg{color:#82939b;flex:none;width:15px;height:15px}.group-manager-toolbar input{color:#21333e;width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:0;font-size:12px}.group-manager-toolbar>div{align-items:center;gap:8px;display:flex}.group-manager-delete{color:#dc2626;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 12px;font-size:12px;font-weight:650;display:inline-flex}.group-manager-delete:hover:not(:disabled){background:#fef2f2}.group-manager-toolbar button:disabled{cursor:not-allowed;opacity:.42}.group-manager-delete svg,.group-manager-toolbar .outline-icon-action svg{width:14px;height:14px}.group-manager-content{grid-template-columns:minmax(280px,.85fr) minmax(320px,1.15fr);min-height:360px;display:grid;overflow:hidden}.group-manager-tree{border-right:1px solid #e5ecef;flex-direction:column;min-width:0;display:flex}.group-manager-tree-head{color:#435964;justify-content:space-between;align-items:center;min-height:46px;padding:0 16px;font-size:12px;font-weight:700;display:flex}.group-manager-tree-head small{color:#8a9aa2;font-size:10px;font-weight:500}.group-manager-tree-list{flex:1;padding:0 8px 10px;overflow:auto}.group-manager-tree-list>p{color:#91a0a7;text-align:center;margin:48px 0;font-size:12px}.group-manager-node{width:100%;min-height:40px;padding:0 10px 0 calc(10px + (var(--tree-depth) - 1) * 22px);color:#334a55;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;display:grid}.group-manager-node:hover{background:#f1f6f8}.group-manager-node.selected{color:#005c82;background:#e3f1f6}.group-manager-node b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.group-manager-branch{color:#9babb2;text-align:center;font-size:12px}.group-manager-node small{color:#6f828b;text-align:center;background:#eef3f5;border-radius:999px;min-width:24px;padding:2px 6px;font-size:9px}.group-manager-node.selected small{color:#005c82;background:#fff}.group-manager-detail{background:#fff;min-width:0;padding:22px;overflow:auto}.group-manager-detail>span{color:#1684aa;font-size:10px;font-weight:700}.group-manager-detail>h3{color:#20343e;margin:6px 0 18px;font-size:18px}.group-manager-detail dl{border:1px solid #e2e9ed;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid;overflow:hidden}.group-manager-detail dl div{border-bottom:1px solid #e7edef;border-right:1px solid #e7edef;min-height:72px;padding:13px 15px}.group-manager-detail dl div:nth-child(2n){border-right:0}.group-manager-detail dl div:nth-last-child(-n+2){border-bottom:0}.group-manager-detail dt{color:#7c8e97;font-size:10px}.group-manager-detail dd{color:#253b46;margin:6px 0 0;font-size:13px;font-weight:650}.group-manager-detail>p{color:#607883;background:#f2f8fa;border-radius:7px;margin:16px 0 0;padding:11px 12px;font-size:11px;line-height:1.6}.group-manager-no-selection{color:#80929b;text-align:center;align-content:center;place-items:center;gap:8px;min-height:300px;display:grid}.group-manager-no-selection svg{color:#9eb0b8;width:28px;height:28px}.group-manager-no-selection strong{color:#425963;font-size:13px}.group-manager-no-selection span{font-size:11px}.group-manager-dialog>footer{border-top:1px solid #e5ecef;justify-content:flex-end;align-items:center;min-height:62px;padding:0 16px;display:flex}@media (width<=720px){.monitoring-update-actions>span{display:none}.group-point-list-head,.group-point-option{grid-template-columns:24px minmax(150px,1fr)}.group-point-list-head span:last-child,.group-point-option>span{display:none}.group-basic-fields{grid-template-columns:1fr}.power-group-children{padding-left:12px}.scope-switcher,.scope-switcher .unified-filter-control,.alert-list-filters .unified-filter-control,.device-test-controls .unified-filter-control,.email-table-filters .unified-filter-control{width:100%}.date-control{flex:0 0 132px;width:132px}.gateway-dialog{border-radius:12px}.group-manager-backdrop{padding:12px}.group-manager-dialog{max-height:calc(100vh - 24px)}.group-manager-toolbar{flex-direction:column;align-items:stretch}.group-manager-toolbar>label{width:100%}.group-manager-toolbar>div{overflow-x:auto}.group-manager-content{grid-template-columns:1fr;overflow:auto}.group-manager-tree{border-bottom:1px solid #e5ecef;border-right:0;max-height:260px}.group-manager-detail{min-height:260px}.gateway-dialog>header,.gateway-dialog-fields,.gateway-dialog>footer{padding-left:16px;padding-right:16px}.gateway-connection-row{grid-template-columns:minmax(0,1fr) 82px 28px}}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:#020817;font-family:Inter,JetBrains Mono,Noto Sans TC,sans-serif}button,input,textarea,select{font:inherit}.sandbox-index{background:#f8fafc;place-items:center;min-height:100vh;padding:24px;display:grid}.sandbox-index__panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:min(680px,100%);padding:32px;box-shadow:0 8px 30px #0f172a14}.sandbox-index__eyebrow{color:#2563eb;letter-spacing:.12em;font-size:12px;font-weight:700}.sandbox-index h1{margin:8px 0;font-size:28px}.sandbox-index p{color:#64748b}.sandbox-index__link{color:#020817;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;margin-top:24px;padding:18px;text-decoration:none;display:flex}.sandbox-index__link:hover{background:#eff6ff;border-color:#93c5fd}.sandbox-index__link small{color:#64748b;margin-top:4px;display:block}
