:root{--sidebar-width:246px;--topbar-height:60px;--sidebar-top:#082d4c;--sidebar-bottom:#061c31;--sidebar-text-main:#fff;--sidebar-text-secondary:#d3e1ed;--page-background:#eef3f8;--text-primary:#102844;--text-secondary:#64778c;--border-light:#dbe4ed;--normal-green:#16a05a;--warning-yellow:#d89a00;--alarm-red:#ef252e;--shadow-soft:0 2px 7px #102a4612}.application-shell{background:var(--page-background);width:100%;min-height:100vh;margin:0;padding:0;display:flex}.application-main{background:var(--page-background);flex:1;min-width:0;min-height:100vh}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);height:100vh;color:var(--sidebar-text-main);background:linear-gradient(180deg, var(--sidebar-top) 0%, var(--sidebar-bottom) 100%);z-index:100;flex-direction:column;display:flex;position:sticky;top:0;overflow:hidden auto;box-shadow:3px 0 10px #03182c1a}.sidebar-brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:10px;min-height:72px;padding:10px 16px;display:flex}.brand-icon-wrapper{color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.brand-text{min-width:0}.brand-title{color:#fff;white-space:nowrap;font-size:18px;font-weight:700;line-height:1.25}.brand-subtitle{color:#ffffffab;white-space:nowrap;margin-top:2px;font-size:9px}.sidebar-menu{flex-direction:column;padding-top:4px;display:flex}.menu-item,.submenu-item{box-sizing:border-box;appearance:none;width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;outline:none;align-items:center;margin:0;text-decoration:none;transition:color .15s,background-color .15s;display:flex;position:relative}.menu-item:disabled,.submenu-item:disabled{appearance:none;box-shadow:none;opacity:1;background:0 0;border:none;outline:none}.menu-item{min-height:44px;color:var(--sidebar-text-secondary);gap:11px;padding:8px 18px 8px 27px}.menu-item>svg{flex-shrink:0}.menu-item span{white-space:nowrap;font-size:14px;font-weight:600}.menu-item:hover:not(:disabled){color:#fff;background:#ffffff0f}.menu-item.active{color:#fff;background:linear-gradient(90deg,#0961ba 0%,#087ce4 100%)}.menu-item.active:before{content:"";background:#62b6ff;width:5px;height:100%;position:absolute;top:0;left:0}.menu-item:disabled{color:#d3e1ed7a;cursor:default}.menu-alert-badge{color:#fff;background:var(--alarm-red);border-radius:999px;justify-content:center;align-items:center;min-width:21px;height:21px;margin-left:auto;padding:0 6px;line-height:1;display:flex;font-size:10px!important;font-weight:800!important}.menu-divider{background:#ffffff2b;width:calc(100% - 36px);height:1px;margin:8px 18px}.maintenance-heading{color:#afd0eb;align-items:flex-start;gap:10px;padding:3px 20px 3px 27px;display:flex}.maintenance-heading>svg{flex-shrink:0}.maintenance-heading-text{min-width:0}.maintenance-heading-text span{font-size:14px;font-weight:700;display:block}.maintenance-heading-text small{color:#ffffff94;margin-top:1px;font-size:10px;display:block}.maintenance-submenu{margin-top:3px;position:relative}.maintenance-submenu:before{content:"";background:#7eabcf47;width:1px;position:absolute;top:0;bottom:0;left:29px}.submenu-item{color:#e5f0f9d6;gap:8px;min-height:35px;padding:6px 12px 6px 47px}.submenu-item>svg{flex-shrink:0}.submenu-item span{white-space:nowrap;font-size:12px}.submenu-item:hover:not(:disabled){color:#fff;background:#ffffff0d}.submenu-item:disabled{color:#e5f0f96b;cursor:default}.sidebar-bottom{border-top:1px solid #ffffff21;margin-top:auto;padding:10px 16px 12px}.sidebar-user{align-items:center;gap:10px;padding:2px 2px 9px;display:flex}.sidebar-avatar{color:#fff;background:linear-gradient(135deg,#6893bd,#b1c3d4);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:13px;font-weight:800;display:flex}.sidebar-user-information{min-width:0}.sidebar-user-information strong{color:#fff;font-size:12px;display:block}.sidebar-user-information small{color:#ffffffa3;margin-top:2px;font-size:9px;display:block}.logout-button{appearance:none;color:#ffffffe0;width:100%;min-height:36px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;outline:none;align-items:center;gap:10px;padding:7px 9px;font-size:13px;display:flex}.logout-button:hover{color:#fff;background:#ffffff12}.topbar{z-index:90;height:var(--topbar-height);border-bottom:1px solid var(--border-light);box-shadow:var(--shadow-soft);background:#fff;justify-content:space-between;align-items:center;gap:18px;padding:0 18px;display:flex;position:sticky;top:0}.topbar-page-title{color:var(--text-primary);align-items:center;gap:11px;display:flex}.topbar-title-text{align-items:baseline;gap:10px;display:flex}.topbar-title-text h1{color:#102a4d;margin:0;font-size:25px;font-weight:800;line-height:1}.topbar-title-text span{color:#172b49;white-space:nowrap;font-size:17px;font-weight:650}.topbar-right{align-items:center;gap:11px;margin-left:auto;display:flex}.topbar-clock{color:#28415d;white-space:nowrap;font-size:11px;font-weight:600}.system-normal-pill{color:#147b47;white-space:nowrap;background:#dcf4e6;border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-size:10px;font-weight:750;display:flex}.topbar-notification{appearance:none;color:#203c5d;cursor:pointer;background:0 0;border:none;border-radius:50%;outline:none;justify-content:center;align-items:center;width:35px;height:35px;display:flex;position:relative}.topbar-notification:hover{background:#eff4f9}.topbar-notification-badge{color:#fff;background:var(--alarm-red);border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:8px;font-weight:800;line-height:1;display:flex;position:absolute;top:0;right:0}.topbar-divider{background:var(--border-light);width:1px;height:27px}.topbar-user{align-items:center;gap:8px;min-width:126px;display:flex}.topbar-avatar{color:#fff;background:linear-gradient(135deg,#6d98c1,#b5c5d3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:35px;height:35px;font-size:11px;font-weight:800;display:flex}.topbar-user-text{min-width:0}.topbar-user-text strong{color:#1b334f;white-space:nowrap;font-size:11px;display:block}.topbar-user-text small{color:#708298;white-space:nowrap;margin-top:1px;font-size:8px;display:block}.topbar-user-chevron{color:#677b91}.dashboard-workspace{min-height:calc(100vh - var(--topbar-height));background:var(--page-background);padding:10px}.site-monitoring-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.site-panel{background:#fff;border:1px solid #cfdae5;border-radius:7px;min-width:0;overflow:hidden;box-shadow:0 2px 7px #0d2f4c14}.site-panel-header{color:#fff;justify-content:space-between;align-items:center;gap:8px;min-height:56px;padding:7px 11px;display:flex}.site-panel-a .site-panel-header{background:linear-gradient(120deg,#0871c9,#0866b0)}.site-panel-b .site-panel-header{background:linear-gradient(120deg,#047962,#075b4b)}.site-panel-title{align-items:center;gap:7px;min-width:0;display:flex}.site-panel-title>svg{flex-shrink:0}.site-panel-title h2{color:#fff;white-space:nowrap;margin:0;font-size:clamp(15px,1.1vw,20px)}.site-status{white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700}.site-status-normal{background:#12a364}.site-status-alarm{background:#ef2831}.site-statistics{flex-shrink:0;gap:4px;display:flex}.site-stat{color:#14385d;background:#fffffff5;border-radius:5px;align-items:center;gap:5px;min-width:68px;padding:4px 7px;display:flex}.site-stat>svg{flex-shrink:0}.site-stat div{flex-direction:column;display:flex}.site-stat span{font-size:8px;font-weight:600}.site-stat strong{font-size:12px}.site-panel-image{background-color:#bdd1df;background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:clamp(270px,31vh,330px);position:relative;overflow:hidden}.detection-point-card{z-index:3;background:#fffffff7;border:2px solid #08a875;border-radius:7px;min-width:96px;padding:6px 8px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 8px #07263d33}.detection-point-heading{align-items:center;gap:4px;display:flex}.detection-point-heading strong{font-size:12px}.detection-point-gas{margin-top:2px;font-size:10px}.detection-point-value{margin-top:3px;font-size:14px;font-weight:800}.detection-point-value span{margin-left:3px;font-size:9px}.detection-point-normal{border-color:#08aa76}.detection-point-normal .detection-point-heading,.detection-point-normal .detection-point-value{color:#087b59}.detection-point-warning{border-color:#e9af18}.detection-point-warning .detection-point-heading,.detection-point-warning .detection-point-value{color:#a87300}.detection-point-alarm{border-color:#ee3038}.detection-point-alarm .detection-point-heading,.detection-point-alarm .detection-point-value{color:#de2029}.detection-point-no-data{border-color:#e2ad1c}.detection-point-no-data .detection-point-heading{color:#173858}.detection-point-no-data-value{color:#a87300;margin-top:3px;font-size:11px;font-weight:750}.site-image-label{color:#fff;z-index:4;background:#063053e0;border:1px solid #ffffff8c;border-radius:6px;align-items:center;gap:5px;padding:5px 8px;font-size:10px;font-weight:700;display:flex;position:absolute;bottom:9px;left:11px}@media (width<=1400px){:root{--sidebar-width:225px}.site-panel-image{height:clamp(250px,30vh,310px)}.site-stat{min-width:62px;padding:4px 6px}}@media (width<=1150px){.site-monitoring-grid{grid-template-columns:1fr}.site-panel-image{height:clamp(280px,40vh,360px)}.topbar-clock{display:none}}@media (width<=850px){.topbar-title-text span,.system-normal-pill,.topbar-user-text{display:none}.topbar-user{min-width:auto}}.dashboard-summary-row{grid-template-columns:minmax(0,3fr) minmax(280px,1fr);gap:8px;width:100%;margin-top:8px;display:grid}.dashboard-section{background:#fff;border:1px solid #d4e1eb;border-radius:7px;min-width:0;overflow:hidden;box-shadow:0 2px 5px #10314c0d}.dashboard-section-header{background:linear-gradient(#fbfdff,#f3f8fc);border-bottom:1px solid #dce6ef;align-items:center;min-height:34px;padding:0 10px;display:flex}.dashboard-section-title{color:#173858;align-items:center;gap:7px;display:flex}.dashboard-section-title h2{margin:0;font-size:14px;font-weight:750}.system-overview-section{min-height:126px}.system-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:7px;display:grid}.system-overview-card{border:1px solid #0000;border-radius:6px;align-items:center;gap:9px;min-width:0;min-height:76px;padding:8px 10px;display:flex}.overview-status-normal{background:linear-gradient(135deg,#eef8ff,#f6fbff);border-color:#dbeefa}.overview-status-warning{background:linear-gradient(135deg,#fff9e8,#fffdf6);border-color:#f2dfaa}.overview-status-alarm{background:linear-gradient(135deg,#fff0f0,#fff8f8);border-color:#f4d3d5}.system-overview-icon{color:#0873d5;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.system-overview-icon svg{width:31px;height:31px}.overview-status-warning .system-overview-icon{color:#d49a08}.overview-status-alarm .system-overview-icon{color:#ed252d}.system-overview-content{flex-direction:column;min-width:0;display:flex}.system-overview-title{color:#29465f;white-space:nowrap;font-size:10px;font-weight:700}.system-overview-value{color:#0873d5;margin-top:2px;font-size:22px;font-weight:800;line-height:1}.system-overview-value span{margin:0 2px;font-size:15px}.overview-status-warning .system-overview-value{color:#c58a00}.overview-status-alarm .system-overview-value{color:#ed252d}.system-overview-status{color:#11a465;white-space:nowrap;align-items:center;gap:3px;margin-top:5px;font-size:9px;font-weight:700;display:flex}.overview-status-warning .system-overview-status{color:#b47b00}.overview-status-alarm .system-overview-status{color:#e6262d}.environment-section{min-height:126px}.environment-content{align-items:center;min-height:90px;padding:9px 14px;display:flex}.environment-grid{grid-template-columns:1fr;gap:10px;width:100%;display:grid}.environment-item{grid-template-columns:23px 40px minmax(0,1fr);align-items:center;gap:6px;min-height:31px;display:grid}.environment-item svg{color:#2784d4;width:17px;height:17px}.environment-item>span{color:#456079;white-space:nowrap;font-size:11px;font-weight:700}.environment-item strong{color:#1b3857;white-space:nowrap;font-size:13px;font-weight:750}.environment-item strong small{color:#718298;margin-left:2px;font-size:9px;font-weight:650}@media (width<=1350px){.dashboard-summary-row{grid-template-columns:1fr}}@media (width<=900px){.system-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.dashboard-detail-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;width:100%;margin-top:8px;padding-bottom:10px;display:grid}.dashboard-detail-section{background:#fff;border:1px solid #d4e1eb;border-radius:8px;min-width:0;overflow:hidden;box-shadow:0 2px 6px #10314c0d}.dashboard-detail-header{background:linear-gradient(#fbfdff 0%,#f2f7fb 100%);border-bottom:1px solid #dce6ef;justify-content:space-between;align-items:center;gap:10px;min-height:40px;padding:0 13px;display:flex}.dashboard-detail-title{color:#173858;align-items:center;gap:8px;min-width:0;display:flex}.dashboard-detail-title>svg{flex-shrink:0}.dashboard-detail-title h2{color:#173858;white-space:nowrap;margin:0;font-size:15px;font-weight:750;line-height:1}.dashboard-detail-more-button{appearance:none;color:#0878d1;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;outline:none;flex-shrink:0;justify-content:center;align-items:center;gap:2px;margin:0;padding:3px 0;font-size:12px;font-weight:750;line-height:1;transition:color .15s,transform .15s;display:inline-flex}.dashboard-detail-more-button:hover{color:#005eae}.dashboard-detail-more-button:hover svg{transform:translate(2px)}.dashboard-detail-more-button:focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid #0878d138}.gas-summary-section{grid-column:1/-1;width:100%}.gas-full-trend-list{flex-direction:column;gap:10px;width:100%;padding:10px;display:flex}.gas-full-trend-row{background:#fff;border:1px solid #dce6ef;border-left:5px solid #10a66a;border-radius:8px;grid-template-columns:minmax(210px,240px) minmax(0,1fr);min-height:180px;display:grid;overflow:hidden;box-shadow:0 1px 4px #122f4a0d}.gas-full-trend-normal{background:linear-gradient(90deg,#fbfffd 0%,#fff 28%);border-left-color:#10a66a}.gas-full-trend-warning{background:linear-gradient(90deg,#fffdf6 0%,#fff 28%);border-left-color:#dda30a}.gas-full-trend-alarm{background:linear-gradient(90deg,#fff7f7 0%,#fff 30%);border-color:#f1c8cb #f1c8cb #f1c8cb #ef3038;border-left-style:solid;border-left-width:5px}.gas-full-trend-summary{border-right:1px solid #e3ebf2;flex-direction:column;justify-content:center;gap:12px;padding:20px 22px;display:flex}.gas-full-trend-identity{flex-direction:column;gap:4px;display:flex}.gas-full-trend-identity strong{color:#173c60;font-size:22px;font-weight:800;line-height:1.1}.gas-full-trend-alarm .gas-full-trend-identity strong{color:#a91f26}.gas-full-trend-identity span{color:#70859a;font-size:11px;font-weight:600}.gas-full-trend-current{align-items:baseline;gap:6px;display:flex}.gas-full-trend-current strong{color:#15456e;font-size:42px;font-weight:800;line-height:1}.gas-full-trend-current span{color:#315776;font-size:15px;font-weight:700}.gas-full-trend-warning .gas-full-trend-current strong{color:#b57d00}.gas-full-trend-alarm .gas-full-trend-current strong{color:#ed2c34}.gas-full-trend-status{white-space:nowrap;border-radius:999px;align-self:flex-start;align-items:center;gap:5px;padding:5px 9px;font-size:12px;font-weight:750;line-height:1;display:inline-flex}.gas-full-trend-status-normal{color:#078752;background:#dcf5e7}.gas-full-trend-status-warning{color:#946600;background:#fff0bd}.gas-full-trend-status-alarm{color:#fff;background:#ef3c43}.gas-full-trend-chart-wrapper{background:#ffffff9e;align-items:center;min-width:0;padding:13px 18px 9px 14px;display:flex}.gas-full-trend-chart{width:100%;height:150px;display:block;overflow:visible}.gas-full-chart-grid-line{stroke:#d7e2eb;stroke-width:.8px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.gas-full-chart-axis-label{fill:#627d94;font-size:11px;font-weight:650}.gas-full-chart-unit-label{fill:#506c84;font-size:10px;font-weight:700}.gas-full-chart-time-label{fill:#58748c;font-size:10px;font-weight:650}.recent-alarms-section,.equipment-status-section{min-width:0;min-height:245px}.recent-alarm-table-wrapper,.equipment-status-table-wrapper{width:100%;padding:7px 9px 9px;overflow-x:auto}.recent-alarm-table,.equipment-status-table{border-collapse:collapse;color:#29465f;width:100%;font-size:11px}.recent-alarm-table th,.recent-alarm-table td,.equipment-status-table th,.equipment-status-table td{text-align:left;vertical-align:middle;white-space:nowrap;border-bottom:1px solid #e3ebf2;height:29px;padding:5px 6px}.recent-alarm-table th,.equipment-status-table th{color:#536c84;background:#f4f8fb;font-size:10px;font-weight:750}.recent-alarm-table tbody tr:hover,.equipment-status-table tbody tr:hover{background:#f8fbfd}.alarm-measurement{color:#36536d;font-weight:650}.alarm-measurement-no-data{color:#9e6d00;font-weight:750}.recent-alarm-level,.alarm-ack,.equipment-state,.equipment-type-cell{white-space:nowrap;align-items:center;gap:3px;display:inline-flex}.recent-alarm-level{font-weight:750}.recent-alarm-level-alarm{color:#ea2931}.recent-alarm-level-warning{color:#bd8100}.recent-alarm-level-equipment{color:#1478c7}.alarm-acknowledged{color:#507594;font-weight:650}.alarm-unacknowledged{color:#ea2931;font-weight:750}.equipment-type-cell{color:#405e79}.equipment-state{font-weight:750}.equipment-state-normal{color:#079e60}.equipment-state-alarm{color:#e82931}.equipment-state-no-data{color:#b67b00}.recent-alarm-table-wrapper::-webkit-scrollbar{height:5px}.equipment-status-table-wrapper::-webkit-scrollbar{height:5px}.recent-alarm-table-wrapper::-webkit-scrollbar-thumb{background:#becbd7;border-radius:999px}.equipment-status-table-wrapper::-webkit-scrollbar-thumb{background:#becbd7;border-radius:999px}@media (width>=1600px){.gas-full-trend-row{grid-template-columns:250px minmax(0,1fr);min-height:190px}.gas-full-trend-current strong{font-size:46px}.gas-full-trend-chart{height:158px}.recent-alarm-table,.equipment-status-table{font-size:11px}}@media (width<=1400px){.gas-full-trend-row{grid-template-columns:200px minmax(0,1fr)}.gas-full-trend-current strong{font-size:35px}.gas-full-trend-chart{height:140px}}@media (width<=1100px){.dashboard-detail-row{grid-template-columns:1fr}.gas-summary-section,.recent-alarms-section,.equipment-status-section{grid-column:auto}.gas-full-trend-row{grid-template-columns:180px minmax(0,1fr)}}@media (width<=800px){.gas-full-trend-row{grid-template-columns:1fr}.gas-full-trend-summary{border-bottom:1px solid #e3ebf2;border-right:none}.gas-full-trend-chart-wrapper{padding:10px 12px}.gas-full-trend-chart{height:135px}}@media (width<=600px){.dashboard-detail-title h2{font-size:12px}.dashboard-detail-more-button{font-size:10px}.gas-full-trend-current strong{font-size:32px}.gas-full-trend-list{gap:7px;padding:7px}.gas-full-trend-summary{padding:14px}}:root{--realtime-primary:#0878e8;--realtime-primary-hover:#0669ca;--realtime-primary-light:#eaf4ff;--realtime-text-primary:#16324f;--realtime-text-secondary:#60758a;--realtime-text-muted:#8798aa;--realtime-page-bg:#f3f7fb;--realtime-panel-bg:#fff;--realtime-panel-soft:#f7fafc;--realtime-border:#d8e3ec;--realtime-border-light:#e7eef4;--realtime-normal:#13a36b;--realtime-normal-bg:#eaf8f2;--realtime-warning:#e6a100;--realtime-warning-bg:#fff7df;--realtime-alarm:#e93a42;--realtime-alarm-bg:#fff0f1;--realtime-no-data:#d99500;--realtime-no-data-bg:#fff7e3;--realtime-shadow:0 2px 8px #1c3d590f}.realtime-header{border-bottom:1px solid var(--realtime-border);background:#fff;justify-content:space-between;align-items:center;min-height:64px;padding:0 24px;display:flex}.realtime-header-left{align-items:center;min-width:0;display:flex}.realtime-header-menu-button{color:#31536f;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:38px;height:38px;padding:0;transition:background-color .15s,color .15s;display:inline-flex}.realtime-header-menu-button:hover{color:var(--realtime-primary);background:#eef6fd}.realtime-header-divider{background:var(--realtime-border);width:1px;height:28px;margin:0 18px}.realtime-header-title{color:var(--realtime-text-primary);margin:0;font-size:22px;font-weight:700;line-height:1.2}.realtime-header-right{align-items:center;gap:18px;min-width:0;display:flex}.realtime-header-time{color:var(--realtime-text-secondary);white-space:nowrap;font-size:13px}.realtime-system-status{white-space:nowrap;border:1px solid #0000;border-radius:16px;align-items:center;gap:6px;min-height:30px;padding:5px 11px;font-size:13px;font-weight:600;display:inline-flex}.realtime-system-status.status-normal{color:#12845c;background:var(--realtime-normal-bg);border-color:#c8ebdc}.realtime-system-status.status-warning{color:#a87400;background:var(--realtime-warning-bg);border-color:#f2dd9b}.realtime-system-status.status-error{color:#c93139;background:var(--realtime-alarm-bg);border-color:#f1c5c8}.system-status-dot{background:currentColor;border-radius:50%;width:8px;height:8px;display:inline-block}.realtime-notification-button{color:#31536f;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:38px;height:38px;padding:0;display:inline-flex;position:relative}.realtime-notification-button:hover{background:#eef6fd}.realtime-notification-badge{color:#fff;background:#ef3340;border:2px solid #fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:1px;right:0}.realtime-user-button{color:var(--realtime-text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:9px;padding:4px 6px;display:flex}.realtime-user-button:hover{background:#f2f7fb}.realtime-user-avatar{color:#fff;background:#8ca3b7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.realtime-user-info{flex-direction:column;min-width:90px;display:flex}.realtime-user-info strong{color:var(--realtime-text-primary);font-size:13px;font-weight:700;line-height:1.3}.realtime-user-info small{color:var(--realtime-text-secondary);margin-top:1px;font-size:11px;line-height:1.3}.realtime-workspace{background:var(--realtime-page-bg);min-width:0;min-height:calc(100vh - 64px);padding:14px 16px 20px}.realtime-toolbar{border:1px solid var(--realtime-border);box-shadow:var(--realtime-shadow);background:#fff;border-radius:7px;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:12px;padding:12px 14px;display:flex}.realtime-toolbar-left,.realtime-toolbar-right{align-items:flex-end;gap:12px;display:flex}.realtime-toolbar-left{flex-wrap:wrap;min-width:0}.realtime-toolbar-right{flex-shrink:0;margin-left:auto}.realtime-filter-group{flex-direction:column;gap:5px;display:flex}.realtime-filter-group label{color:#435e77;font-size:12px;font-weight:700}.realtime-filter-group select{min-width:126px;height:34px;color:var(--realtime-text-primary);cursor:pointer;background:#fff;border:1px solid #cddbe6;border-radius:5px;outline:none;padding:0 30px 0 10px;font-family:inherit;font-size:13px}.realtime-filter-group select:hover{border-color:#a9c4db}.realtime-filter-group select:focus{border-color:var(--realtime-primary);box-shadow:0 0 0 2px #0878e81f}.site-filter-buttons{gap:7px;display:flex}.site-filter-buttons button{color:#365570;cursor:pointer;background:#fff;border:1px solid #cddbe6;border-radius:5px;min-width:78px;height:34px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:600;transition:color .15s,background-color .15s,border-color .15s}.site-filter-buttons button:hover{color:var(--realtime-primary);background:#f4f9fe;border-color:#99bee0}.site-filter-buttons button.active{color:#fff;border-color:var(--realtime-primary);background:var(--realtime-primary)}.site-filter-buttons button.active:hover{background:var(--realtime-primary-hover)}.realtime-view-switch{height:34px;display:inline-flex}.realtime-view-switch button{color:#49657e;cursor:pointer;background:#fff;border:1px solid #cddbe6;justify-content:center;align-items:center;gap:5px;padding:0 11px;font-family:inherit;font-size:12px;font-weight:600;display:inline-flex}.realtime-view-switch button:first-child{border-radius:5px 0 0 5px}.realtime-view-switch button:last-child{border-radius:0 5px 5px 0;margin-left:-1px}.realtime-view-switch button:hover{color:var(--realtime-primary);background:#f3f9ff}.realtime-view-switch button.active{z-index:1;color:#fff;border-color:var(--realtime-primary);background:var(--realtime-primary);position:relative}.realtime-live-update{align-items:center;gap:8px;height:34px;padding-left:4px;display:flex}.realtime-live-update>span{color:#405c75;white-space:nowrap;font-size:12px;font-weight:600}.realtime-live-update select{height:32px;color:var(--realtime-text-primary);cursor:pointer;background:#fff;border:1px solid #cddbe6;border-radius:5px;padding:0 7px;font-family:inherit;font-size:12px}.realtime-live-update select:disabled{color:#a4b1bd;cursor:not-allowed;background:#f1f4f6}.realtime-switch{cursor:pointer;background:#b7c4cf;border:none;border-radius:11px;flex-shrink:0;width:38px;height:21px;padding:0;transition:background-color .18s;position:relative}.realtime-switch>span{background:#fff;border-radius:50%;width:15px;height:15px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000038}.realtime-switch.on{background:var(--realtime-primary)}.realtime-switch.on>span{transform:translate(17px)}.realtime-site-list{flex-direction:column;gap:12px;margin-bottom:12px;display:flex}.realtime-site-section{border:1px solid var(--realtime-border);box-shadow:var(--realtime-shadow);background:#fff;border-radius:7px;overflow:hidden}.realtime-site-header{border-bottom:1px solid var(--realtime-border);background:linear-gradient(90deg,#f8fafc 0%,#f0f5f9 100%);justify-content:space-between;align-items:center;gap:16px;min-height:42px;padding:8px 13px;display:flex}.realtime-site-title{min-width:0;color:var(--realtime-text-primary);align-items:center;gap:7px;display:flex}.realtime-site-title>svg{color:#3d6280;flex-shrink:0}.realtime-site-title strong{white-space:nowrap;font-size:16px;font-weight:700}.realtime-site-title>span:not(.site-status){color:var(--realtime-text-secondary);font-size:12px}.site-update-time{color:var(--realtime-text-secondary);white-space:nowrap;font-size:11px}.site-status{white-space:nowrap;border-radius:12px;align-items:center;gap:5px;margin-left:3px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.site-status-normal{color:#168257;background:var(--realtime-normal-bg)}.site-status-alarm{color:#cb3038;background:var(--realtime-alarm-bg)}.realtime-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:11px;display:grid}.realtime-sensor-card{background:#fff;border:1px solid #cfdce7;border-radius:7px;min-width:0;transition:border-color .15s,box-shadow .15s;overflow:hidden}.realtime-sensor-card:hover{border-color:#aac6dc;box-shadow:0 3px 10px #1e3e5b14}.realtime-sensor-card.sensor-alarm{background:linear-gradient(#fff 0%,#fff7f7 100%);border-color:#efa5aa}.realtime-sensor-card.sensor-warning{background:linear-gradient(#fff 0%,#fffaf0 100%);border-color:#e8cd7f}.realtime-sensor-card.sensor-no-data{background:linear-gradient(#fff 0%,#fffaf1 100%);border-color:#e3cf9d}.sensor-card-top{justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 13px 4px;display:flex}.sensor-card-identity{align-items:flex-start;gap:11px;min-width:0;display:flex}.sensor-type-icon{color:#0878e8;background:#edf6ff;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:35px;height:35px;margin-top:2px;display:flex}.sensor-normal .sensor-type-icon{color:var(--realtime-normal);background:var(--realtime-normal-bg)}.sensor-warning .sensor-type-icon{color:var(--realtime-warning);background:var(--realtime-warning-bg)}.sensor-alarm .sensor-type-icon{color:var(--realtime-alarm);background:var(--realtime-alarm-bg)}.sensor-no-data .sensor-type-icon{color:var(--realtime-no-data);background:var(--realtime-no-data-bg)}.sensor-point-title{color:var(--realtime-text-primary);margin-bottom:2px;font-size:15px;font-weight:700;display:block}.sensor-current-value{align-items:baseline;gap:6px;min-height:33px;display:flex}.sensor-current-value>span{color:#122f4c;letter-spacing:-.5px;font-size:27px;font-weight:700;line-height:1.2}.sensor-current-value>small{color:#3e5870;font-size:13px;font-weight:600}.sensor-alarm .sensor-current-value>span{color:var(--realtime-alarm)}.sensor-warning .sensor-current-value>span{color:#c28700}.sensor-no-data .sensor-current-value>span{color:#927536}.sensor-range{color:var(--realtime-text-muted);margin-top:1px;font-size:10px}.sensor-card-actions{flex-shrink:0;align-items:flex-start;gap:6px;display:flex}.sensor-status-badge,.table-status{white-space:nowrap;border-radius:12px;align-items:center;gap:5px;font-size:11px;font-weight:700;display:inline-flex}.sensor-status-badge{padding:3px 7px}.status-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.status-normal{color:#16835a;background:var(--realtime-normal-bg)}.status-warning{color:#ad7900;background:var(--realtime-warning-bg)}.status-alarm{color:#d3323a;background:var(--realtime-alarm-bg)}.status-no-data{color:#ac7900;background:var(--realtime-no-data-bg)}.sensor-more-button{color:#698094;cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;width:27px;height:27px;padding:0;display:inline-flex}.sensor-more-button:hover{color:#315773;background:#edf3f7}.sensor-mini-trend{width:100%;padding:2px 13px 6px}.sensor-mini-trend svg{width:100%;height:72px;display:block;overflow:visible}.trend-line{stroke:var(--realtime-normal);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.trend-grid-line{stroke:#dce6ed;stroke-width:1px;vector-effect:non-scaling-stroke}.trend-warning .trend-line{stroke:var(--realtime-warning)}.trend-alarm .trend-line{stroke:var(--realtime-alarm)}.trend-no-data .trend-line{stroke:#aebbc6}.sensor-mini-trend-empty svg line{stroke:#93a5b4;stroke-width:1.5px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.trend-time-labels{color:#8494a4;justify-content:space-between;align-items:center;margin-top:2px;font-size:9px;line-height:1;display:flex}.sensor-info-row{border-top:1px solid var(--realtime-border-light);background:#f8fafc;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.sensor-info-cell{border-right:1px solid var(--realtime-border-light);flex-direction:column;min-width:0;min-height:57px;padding:8px 10px;display:flex}.sensor-info-cell:last-child{border-right:none}.sensor-info-cell>span{color:#7890a5;margin-bottom:4px;font-size:9px}.sensor-info-cell>strong{color:#294963;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.sensor-info-cell>small{color:#7f91a1;white-space:nowrap;margin-top:3px;font-size:9px}.realtime-table-panel{border:1px solid var(--realtime-border);box-shadow:var(--realtime-shadow);background:#fff;border-radius:7px;overflow:hidden}.realtime-table-header{border-bottom:1px solid var(--realtime-border);min-height:40px;color:var(--realtime-text-primary);background:linear-gradient(90deg,#f8fafc,#f1f6f9);align-items:center;gap:7px;padding:8px 13px;display:flex}.realtime-table-header svg{color:#486a84}.realtime-table-header strong{font-size:15px;font-weight:700}.realtime-table-scroll{width:100%;overflow-x:auto}.realtime-table{border-collapse:collapse;table-layout:auto;width:100%;min-width:980px;color:var(--realtime-text-primary);font-size:11px}.realtime-table thead{background:#edf4f8}.realtime-table th{color:#49647c;text-align:left;white-space:nowrap;border-bottom:1px solid #d7e3ec;padding:8px 9px;font-size:10px;font-weight:700}.realtime-table td{color:#334f68;vertical-align:middle;white-space:nowrap;border-bottom:1px solid #edf1f4;padding:7px 9px}.realtime-table tbody tr{transition:background-color .12s}.realtime-table tbody tr:hover{background:#f7fbfe}.realtime-table tbody tr:last-child td{border-bottom:none}.table-alarm-value{font-weight:700;color:var(--realtime-alarm)!important}.table-status{padding:2px 7px}.trend-detail-button{color:#0874db;cursor:pointer;background:#edf6ff;border:1px solid #aacbee;border-radius:5px;justify-content:center;align-items:center;height:25px;padding:0 9px;font-family:inherit;font-size:10px;font-weight:600;transition:background-color .15s,border-color .15s;display:inline-flex}.trend-detail-button:hover{background:#e0f0ff;border-color:#74aee8}.realtime-empty-row{text-align:center;height:70px;color:#7c8f9f!important}.realtime-table-scroll::-webkit-scrollbar{height:8px}.realtime-table-scroll::-webkit-scrollbar-track{background:#eef3f6}.realtime-table-scroll::-webkit-scrollbar-thumb{background:#bdccd8;border-radius:4px}.realtime-table-scroll::-webkit-scrollbar-thumb:hover{background:#9fb3c2}@media (width<=1500px){.realtime-toolbar{flex-direction:column;align-items:flex-start}.realtime-toolbar-right{justify-content:flex-end;width:100%}.realtime-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1100px){.realtime-header{padding:0 16px}.realtime-header-time,.realtime-user-info{display:none}.realtime-workspace{padding:12px}.realtime-toolbar-right{flex-wrap:wrap;justify-content:flex-start}.realtime-card-grid{grid-template-columns:1fr}.realtime-site-header{flex-direction:column;align-items:flex-start;gap:5px}.site-update-time{margin-left:25px}}@media (width<=760px){.realtime-header-title{font-size:18px}.realtime-system-status svg{display:none}.realtime-toolbar-left,.realtime-filter-group,.realtime-filter-group select,.site-filter-buttons{width:100%}.site-filter-buttons button{flex:1}.realtime-toolbar-right{flex-direction:column;align-items:flex-start}.sensor-info-row{grid-template-columns:repeat(2,minmax(0,1fr))}.sensor-info-cell:nth-child(2){border-right:none}.sensor-info-cell:nth-child(-n+2){border-bottom:1px solid var(--realtime-border-light)}}.history-header{background:#fff;border-bottom:1px solid #e3e9ef;justify-content:space-between;align-items:center;gap:24px;min-height:88px;padding:16px 28px;display:flex}.history-header-left{align-items:center;gap:14px;min-width:0;display:flex}.history-header-icon{color:#1476d4;background:#eaf4ff;border-radius:12px;flex:none;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.history-header-title-group{min-width:0}.history-header-title-group h1{color:#17324d;margin:0;font-size:24px;font-weight:700;line-height:1.25}.history-header-title-group p{color:#708398;margin:5px 0 0;font-size:13px;line-height:1.45}.history-header-right{flex:none;align-items:center;gap:18px;display:flex}.history-header-time{color:#52677b;white-space:nowrap;font-size:13px;font-weight:500}.history-system-status{color:#287a54;white-space:nowrap;align-items:center;gap:7px;font-size:13px;font-weight:600;display:flex}.history-system-status .status-dot{background:#28b777;border-radius:50%;width:8px;height:8px;display:inline-block;box-shadow:0 0 0 3px #28b7771f}.history-notification{color:#486077;background:#fff;border:1px solid #dfe7ee;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:relative}.history-notification-badge{color:#fff;background:#ef4444;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-5px;right:-5px}.history-user{background:#f8fafc;border:1px solid #e3e9ef;border-radius:10px;align-items:center;gap:10px;min-width:160px;padding:7px 10px;display:flex}.history-user-avatar{color:#fff;background:#1b6fc2;border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.history-user-text{flex-direction:column;min-width:0;display:flex}.history-user-text strong{color:#1f3850;font-size:13px;font-weight:700}.history-user-text span{color:#7a8b9d;margin-top:2px;font-size:11px}.history-workspace{background:#f3f6f9;min-height:calc(100vh - 88px);padding:22px 24px 32px}.history-card{background:#fff;border:1px solid #dfe7ee;border-radius:12px;box-shadow:0 1px 2px #192d410a}.history-query-card{padding:18px 20px}.history-filter-top{gap:14px;display:grid}.history-filter-bottom{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-top:15px;display:flex}.history-field{flex-direction:column;gap:7px;min-width:0;display:flex}.history-field>span{color:#40566d;font-size:12px;font-weight:700}.history-field select,.history-field input{color:#263f57;width:100%;height:40px;font:inherit;background:#fff;border:1px solid #ccd8e3;border-radius:7px;outline:none;padding:0 11px;font-size:13px;transition:border-color .15s,box-shadow .15s}.history-field select:hover,.history-field input:hover{border-color:#aebfce}.history-field select:focus,.history-field input:focus{border-color:#2684df;box-shadow:0 0 0 3px #2684df1c}.history-field select:disabled,.history-field input:disabled{color:#8a9aab;cursor:not-allowed;background:#f3f5f7}.history-filter-bottom .history-field{width:160px}.history-query-actions{flex-wrap:wrap;align-items:center;gap:9px;margin-left:auto;display:flex}.history-button{cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:7px;height:40px;padding:0 15px;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.history-button:active{transform:translateY(1px)}.history-button:disabled{opacity:.55;cursor:not-allowed}.history-button-primary{color:#fff;background:#1677d2;border-color:#1677d2}.history-button-primary:hover:not(:disabled){background:#0f68bc;border-color:#0f68bc}.history-button-secondary{color:#40576e;background:#fff;border-color:#cad7e2}.history-button-secondary:hover{background:#f5f8fa}.history-button-csv{color:#17664b;background:#edf9f4;border-color:#bfe5d4}.history-button-csv:hover{background:#e2f5ec}.history-button-excel{color:#17664b;background:#edf9f4;border-color:#bfe5d4}.history-button-excel:hover{background:#e2f5ec}.history-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.history-summary-card{background:#fff;border:1px solid #dfe7ee;border-radius:11px;align-items:center;gap:12px;min-height:92px;padding:16px;display:flex;box-shadow:0 1px 2px #192d4109}.history-summary-icon{color:#1476d4;background:#eaf4ff;border-radius:10px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.history-summary-label{color:#718398;white-space:nowrap;font-size:11px;font-weight:700}.history-summary-value{color:#213b53;margin-top:4px;font-size:21px;font-weight:800;line-height:1.15}.history-summary-value span{color:#75879a;font-size:11px;font-weight:600}.history-summary-maximum .history-summary-icon{color:#dd3e47;background:#fff0f1}.history-summary-minimum .history-summary-icon{color:#21856b;background:#eaf9f4}.history-summary-alarm .history-summary-icon{color:#d43843;background:#ffedef}.history-summary-records .history-summary-icon{color:#6a63c7;background:#f1efff}.history-summary-availability .history-summary-icon{color:#198b7a;background:#e8faf6}.history-analysis-grid{grid-template-columns:minmax(0,1.65fr) minmax(390px,.9fr);align-items:stretch;gap:16px;margin-top:16px;display:grid}.history-section-header{border-bottom:1px solid #e8edf2;justify-content:space-between;align-items:center;gap:15px;min-height:56px;padding:14px 18px;display:flex}.history-section-title{color:#2a668f;align-items:center;gap:9px;min-width:0;display:flex}.history-section-title h2{color:#263f57;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:750;overflow:hidden}.history-chart-card{min-width:0}.history-chart-toolbar{align-items:center;gap:8px;display:flex}.history-range-buttons{background:#f2f5f8;border-radius:7px;align-items:center;gap:4px;padding:3px;display:flex}.history-range-buttons button{color:#61758a;cursor:pointer;background:0 0;border:0;border-radius:5px;min-height:30px;padding:0 9px;font-size:11px;font-weight:600}.history-range-buttons button:hover{color:#245e93;background:#e8eff5}.history-range-buttons button.active{color:#fff;background:#287ec9}.history-chart-wrapper{width:100%;padding:8px 12px 0;position:relative;overflow-x:auto}.history-chart-svg{width:100%;min-width:720px;height:auto;display:block}.history-chart-interactive{cursor:crosshair;-webkit-user-select:none;user-select:none}.history-chart-tooltip-bg{fill:#1c2d3df5;stroke:#ffffff1f;stroke-width:1px;filter:drop-shadow(0 4px 8px #14233238)}.history-chart-tooltip-title{fill:#fff;font-size:11px;font-weight:700}.history-chart-tooltip-subtitle{fill:#b9c9d7;font-size:10px;font-weight:600}.history-chart-tooltip-label{fill:#aabccb;font-size:10px;font-weight:500}.history-chart-tooltip-value{fill:#fff;font-size:10px;font-weight:700}.history-chart-tooltip-status{font-size:10px;font-weight:800}.history-chart-tooltip-status.normal{fill:#65d4a2}.history-chart-tooltip-status.warning{fill:#ffc65c}.history-chart-tooltip-status.alarm{fill:#ff727c}.history-chart-legend{color:#617489;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;min-height:46px;padding:8px 18px 14px;font-size:11px;display:flex}.history-chart-legend span{align-items:center;gap:6px;display:inline-flex}.legend-line{border-top:2px solid;width:22px;height:0;display:inline-block}.legend-value{border-color:#1685f8}.legend-warning{border-color:#f59e0b;border-top-style:dashed}.legend-alarm{border-color:#ef4444;border-top-style:dashed}.legend-high-high{border-color:#d22f3b;border-top-style:dashed;border-top-width:3px}.legend-no-data{background:#e2e7eb;border:1px solid #cad2d9;border-radius:2px;width:18px;height:11px;display:inline-block}.history-alarm-card{min-width:0}.history-link-button{color:#2275bd;cursor:pointer;background:0 0;border:0;padding:4px 6px;font-size:12px;font-weight:700}.history-link-button:hover{color:#145f9f;text-decoration:underline}.history-table-scroll{width:100%;overflow-x:auto}.history-mini-table{border-collapse:collapse;width:100%;min-width:620px;font-size:11px}.history-mini-table th{color:#607488;text-align:left;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e3e9ef;padding:11px 10px;font-weight:700}.history-mini-table td{color:#385069;vertical-align:middle;white-space:nowrap;border-bottom:1px solid #edf1f4;padding:11px 10px}.history-mini-table tbody tr:hover{background:#f8fbfd}.history-mini-table tbody tr:last-child td{border-bottom:0}.history-level{border-radius:999px;justify-content:center;align-items:center;padding:4px 8px;font-size:10px;font-weight:700;display:inline-flex}.history-level-alarm{color:#b92631;background:#ffecef}.history-level-warning{color:#a46a05;background:#fff6dc}.history-level-nodata{color:#5f6f7d;background:#edf0f2}.history-event-status{border-radius:999px;justify-content:center;align-items:center;padding:4px 8px;font-size:10px;font-weight:700;display:inline-flex}.history-event-status.handled{color:#1d7a59;background:#e8f8f1}.history-event-status.abnormal{color:#a94049;background:#ffedef}.history-data-card{margin-top:16px}.history-data-heading{border-bottom:1px solid #e8edf2;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:14px 18px;display:flex}.history-data-notice{color:#6e7f91;align-items:center;gap:6px;font-size:11px;display:flex}.history-data-table{border-collapse:collapse;width:100%;min-width:980px;font-size:12px}.history-data-table th{color:#566b80;text-align:left;white-space:nowrap;background:#f7f9fb;border-bottom:1px solid #dde6ed;padding:12px 14px;font-weight:700}.history-data-table td{color:#334d65;white-space:nowrap;border-bottom:1px solid #edf1f4;padding:12px 14px}.history-data-table tbody tr:hover{background:#f8fbfd}.history-data-table tbody tr:last-child td{border-bottom:0}.history-record-status{align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.history-record-status i{border-radius:50%;width:7px;height:7px;display:inline-block}.history-record-正常{color:#237c59}.history-record-正常 i{background:#28b777}.history-record-警告{color:#9b690d}.history-record-警告 i{background:#f1a522}.history-record-警報{color:#bf303b}.history-record-警報 i{background:#ef4444}.history-record-無資料{color:#697989}.history-record-無資料 i{background:#99a5b0}.history-quality{border-radius:999px;align-items:center;padding:4px 8px;font-size:10px;font-weight:700;display:inline-flex}.history-quality.good{color:#237b59;background:#e8f8f1}.history-quality.communication-error{color:#9d4d54;background:#fcecee}.history-table-footer{color:#6b7e91;border-top:1px solid #e7edf2;justify-content:space-between;align-items:center;gap:14px;min-height:60px;padding:12px 17px;font-size:12px;display:flex}.history-table-footer strong{color:#28465f}.history-pagination{align-items:center;gap:5px;display:flex}.history-pagination button{color:#52677c;cursor:pointer;background:#fff;border:1px solid #d4dee7;border-radius:6px;min-width:32px;height:32px;padding:0 8px;font-size:12px}.history-pagination button:hover:not(:disabled){color:#176fc1;background:#f0f7fd;border-color:#a8cae7}.history-pagination button.active{color:#fff;background:#2177c5;border-color:#2177c5}.history-pagination button:disabled{opacity:.45;cursor:not-allowed}.history-pagination select{color:#536a80;background:#fff;border:1px solid #d4dee7;border-radius:6px;outline:none;height:32px;margin-left:5px;padding:0 8px;font-size:11px}.history-mini-table td[colspan],.history-data-table td[colspan]{color:#8494a4;text-align:center;height:100px}@media (width<=1500px){.history-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.history-analysis-grid{grid-template-columns:1fr}}@media (width<=1200px){.history-header{align-items:flex-start}.history-header-right{flex-wrap:wrap;justify-content:flex-end}.history-filter-top{grid-template-columns:repeat(3,minmax(160px,1fr))!important}.history-query-actions{width:100%;margin-left:0}}@media (width<=900px){.history-workspace{padding:16px}.history-header{flex-direction:column}.history-header-right{justify-content:flex-start;width:100%}.history-filter-top{grid-template-columns:repeat(2,minmax(150px,1fr))!important}.history-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-section-header,.history-data-heading,.history-table-footer{flex-direction:column;align-items:flex-start}}@media (width<=600px){.history-filter-top{grid-template-columns:1fr!important}.history-filter-bottom{flex-direction:column;align-items:stretch}.history-filter-bottom .history-field{width:100%}.history-query-actions{flex-direction:column;align-items:stretch}.history-button{width:100%}.history-summary-grid{grid-template-columns:1fr}.history-header-right{flex-direction:column;align-items:stretch}.history-user{width:100%}.history-chart-legend{justify-content:flex-start}}.alarm-main{background:#f4f8fd;min-width:0;min-height:100vh;overflow-x:hidden}.alarm-content{padding:12px 14px 18px}.alarm-header{background:#fff;border-bottom:1px solid #dbe5f0;justify-content:space-between;align-items:center;gap:24px;min-height:70px;padding:0 22px;display:flex}.alarm-header-title{color:#061d50;align-items:center;gap:13px;display:flex}.alarm-header-title h1{letter-spacing:.02em;margin:0;font-size:27px;font-weight:800}.alarm-header-right{color:#102a56;align-items:center;gap:17px;display:flex}.alarm-header-time{white-space:nowrap;font-size:14px;font-weight:700}.alarm-system-status{color:#0c684f;white-space:nowrap;background:#e4f8ef;border-radius:999px;align-items:center;gap:7px;padding:7px 15px;font-size:13px;font-weight:800;display:inline-flex}.alarm-system-status i{background:#0cad78;border-radius:50%;width:10px;height:10px}.alarm-header-notification{align-items:center;display:flex;position:relative}.alarm-header-notification span{color:#fff;background:#f02020;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:800;display:flex;position:absolute;top:-8px;right:-8px}.alarm-header-separator{background:#d6e0ec;width:1px;height:34px}.alarm-header-user{align-items:center;gap:9px;display:flex}.alarm-header-user>div{flex-direction:column;display:flex}.alarm-header-user strong{color:#122650;font-size:14px}.alarm-header-user span{color:#718198;margin-top:2px;font-size:11px}.alarm-filter-bar{background:#fff;border:1px solid #dce6f1;border-radius:7px;grid-template-columns:repeat(5,minmax(105px,1fr)) minmax(190px,1.4fr) minmax(190px,1.4fr) auto auto;align-items:end;gap:10px;padding:13px 14px 15px;display:grid}.alarm-filter-field{flex-direction:column;gap:6px;min-width:0;display:flex}.alarm-filter-field label{color:#18345f;font-size:12px;font-weight:800}.alarm-filter-field select,.alarm-filter-field input{color:#14315d;width:100%;height:38px;font:inherit;box-sizing:border-box;background:#fff;border:1px solid #cfdceb;border-radius:5px;outline:none;font-size:13px}.alarm-filter-field select{padding:0 10px}.alarm-filter-field input{border:none}.alarm-filter-field select:focus,.alarm-date-input:focus-within{border-color:#1676df;box-shadow:0 0 0 2px #1676df1a}.alarm-date-input{color:#1775de;box-sizing:border-box;background:#fff;border:1px solid #cfdceb;border-radius:5px;align-items:center;gap:7px;height:38px;padding:0 9px;display:flex}.alarm-date-input input{background:0 0;flex:1;min-width:0;padding:0}.alarm-primary-button,.alarm-secondary-button{white-space:nowrap;cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 15px;font-size:13px;font-weight:800;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.alarm-primary-button{color:#fff;background:#0d76e8;border:1px solid #0e76e8}.alarm-primary-button:hover{background:#096bd5}.alarm-secondary-button{color:#153562;background:#fff;border:1px solid #bfd0e4}.alarm-secondary-button:hover{background:#f3f8fe}.alarm-primary-button:disabled,.alarm-secondary-button:disabled{opacity:.48;cursor:not-allowed}.alarm-query-button,.alarm-clear-button{min-width:110px}.alarm-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.alarm-summary-card{text-align:left;cursor:pointer;border:1px solid #0000;border-radius:7px;align-items:center;gap:17px;min-height:112px;padding:15px 19px;transition:transform .15s,box-shadow .15s;display:flex}.alarm-summary-card:hover{transform:translateY(-1px);box-shadow:0 5px 16px #1e40691a}.alarm-summary-icon{flex:none;justify-content:center;align-items:center;display:flex}.alarm-summary-content{flex-direction:column;display:flex}.alarm-summary-title{font-size:15px;font-weight:800}.alarm-summary-value{margin-top:3px;font-size:28px;font-weight:900;line-height:1}.alarm-summary-pending{margin-top:6px;font-size:12px;font-weight:700}.summary-highHigh{color:#e4232d;background:#ffe9eb;border-color:#ffd9dd}.summary-alarm{color:#d52e34;background:#fff0f1;border-color:#ffe2e4}.summary-warning{color:#bd7d00;background:#fff8dc;border-color:#f9ecc2}.summary-communication{color:#0867ce;background:#edf6ff;border-color:#dcecff}.summary-other{color:#586b84;background:#f2f6fa;border-color:#e3eaf2}.alarm-panel{background:#fff;border:1px solid #d9e4ef;border-radius:7px;overflow:hidden}.alarm-panel-header{background:linear-gradient(#f9fbfe 0%,#f3f7fb 100%);border-bottom:1px solid #dfe7f0;justify-content:space-between;align-items:center;min-height:43px;padding:0 14px;display:flex}.alarm-panel-title{color:#102b59;align-items:center;gap:8px;font-size:16px;font-weight:900;display:flex}.alarm-chart-grid{grid-template-columns:minmax(0,1.9fr) minmax(340px,.95fr);gap:10px;margin-top:10px;display:grid}.alarm-panel-actions{align-items:center;gap:8px;display:flex}.alarm-panel-actions select,.alarm-panel-actions button{color:#1a3967;background:#fff;border:1px solid #cddaea;border-radius:5px;height:31px;padding:0 10px;font-size:12px;font-weight:700}.alarm-panel-actions button{cursor:pointer;align-items:center;gap:6px;display:flex}.alarm-trend-body{padding:5px 12px 11px}.alarm-trend-svg{width:100%;height:235px;display:block}.alarm-grid-line{stroke:#dce6f0;stroke-width:1px}.alarm-grid-line.vertical{stroke:#edf2f7}.alarm-axis-line{stroke:#6f8bad;stroke-width:1.2px}.alarm-axis-text{fill:#365071;font-size:11px;font-weight:600}.alarm-y-axis-label{fill:#365071;font-size:12px;font-weight:800}.alarm-threshold-line{stroke-width:1.7px;stroke-dasharray:6 4}.threshold-warning{stroke:#f1bd00}.threshold-alarm{stroke:#f28c00}.threshold-high-high{stroke:#ff5e64}.alarm-concentration-line{fill:none;stroke:#0b82f2;stroke-width:2.4px;stroke-linejoin:round;stroke-linecap:round}.alarm-event-dot{fill:#f31f28;stroke:#fff;stroke-width:2px}.alarm-chart-legend{color:#314968;flex-wrap:wrap;justify-content:center;align-items:center;gap:17px;font-size:11px;font-weight:700;display:flex}.alarm-chart-legend span{align-items:center;gap:6px;display:flex}.legend-line{border-top:2px solid;width:27px}.legend-line.concentration{border-color:#0b82f2}.legend-line.warning{border-color:#f1bd00;border-top-style:dashed}.legend-line.alarm{border-color:#f28c00;border-top-style:dashed}.legend-line.high-high{border-color:#ff5e64;border-top-style:dashed}.legend-dot{background:#f31f28;border-radius:50%;width:9px;height:9px}.alarm-distribution-body{justify-content:space-around;align-items:center;gap:24px;min-height:282px;padding:20px 24px;display:flex}.alarm-donut{box-sizing:border-box;border-radius:50%;flex:none;width:172px;height:172px;padding:32px}.alarm-donut-center{color:#142e58;background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.alarm-donut-center strong{font-size:30px;line-height:1}.alarm-donut-center span{margin-top:6px;font-size:12px;font-weight:800}.alarm-distribution-legend{flex-direction:column;gap:13px;min-width:210px;display:flex}.alarm-distribution-row{color:#274264;grid-template-columns:11px 1fr auto;align-items:center;gap:8px;font-size:12px;display:grid}.alarm-distribution-color{border-radius:50%;width:10px;height:10px}.alarm-distribution-label{font-weight:700}.alarm-distribution-row strong{white-space:nowrap}.alarm-event-panel{margin-top:10px}.alarm-table-toolbar{background:linear-gradient(#fafcff 0%,#f3f7fb 100%);border-bottom:1px solid #dce6f0;justify-content:space-between;align-items:center;gap:14px;min-height:45px;padding:0 12px 0 14px;display:flex}.alarm-table-actions{align-items:center;gap:7px;display:flex}.alarm-table-actions .alarm-primary-button,.alarm-table-actions .alarm-secondary-button{min-height:32px;padding:0 11px;font-size:11px}.export-excel{color:#159c45}.alarm-table-scroll{width:100%;overflow-x:auto}.alarm-event-table{border-collapse:collapse;table-layout:auto;color:#263f61;width:100%;min-width:1320px;font-size:11px}.alarm-event-table th{color:#38516f;white-space:nowrap;background:#f1f6fb;border-bottom:1px solid #dce6f0;height:35px;padding:0 8px;font-weight:800}.alarm-event-table td{white-space:nowrap;border-bottom:1px solid #e7edf4;height:34px;padding:4px 8px}.alarm-event-table tbody tr:hover{background:#f6faff}.alarm-event-table tbody tr.row-highHigh{background:#fff0f1}.alarm-event-table tbody tr.row-alarm{background:#fff6f6}.alarm-event-table tbody tr.row-warning{background:#fffdf2}.alarm-event-table tbody tr.row-communication{background:#f4f9ff}.checkbox-column{text-align:center;width:35px}.alarm-value-emphasis{color:#e51e28;font-weight:900}.alarm-level-badge,.alarm-status-badge{box-sizing:border-box;border-radius:5px;justify-content:center;align-items:center;min-width:63px;padding:4px 8px;font-size:10px;font-weight:900;display:inline-flex}.level-highHigh{color:#fff;background:#f13640}.level-alarm{color:#d7222b;background:#ffd9dc}.level-warning{color:#a16c00;background:#ffe9a9}.level-communication{color:#126fce;background:#ddecff}.level-other{color:#56677c;background:#e7ebf0}.status-unhandled{color:#e4232d;background:#ffe1e3}.status-acknowledged{color:#07894c;background:#daf5e6}.alarm-row-actions{align-items:center;gap:6px;display:flex}.alarm-row-primary,.alarm-row-secondary,.alarm-more-button{cursor:pointer;border-radius:4px;height:25px}.alarm-row-primary{color:#fff;background:#0876ec;border:1px solid #0876ec;padding:0 11px;font-size:10px;font-weight:800}.alarm-row-secondary{color:#0871d9;background:#fff;border:1px solid #72ace9;align-items:center;gap:4px;padding:0 9px;font-size:10px;font-weight:800;display:flex}.alarm-more-button{color:#446282;background:#fff;border:1px solid #d0ddea;justify-content:center;align-items:center;width:29px;display:inline-flex}.alarm-table-empty{text-align:center;color:#7c8da2;font-size:13px;height:100px!important}.alarm-table-footer{justify-content:space-between;align-items:center;min-height:48px;padding:0 13px;display:flex}.alarm-page-size{color:#45617f;align-items:center;gap:7px;font-size:12px;display:flex}.alarm-page-size select{color:#25466e;background:#fff;border:1px solid #d1deeb;border-radius:4px;height:29px}.alarm-pagination{gap:5px;display:flex}.alarm-pagination button{color:#365575;cursor:pointer;background:#fff;border:1px solid #d3deea;border-radius:5px;justify-content:center;align-items:center;width:31px;height:31px;display:inline-flex}.alarm-pagination button.active{color:#fff;background:#0877ec;border-color:#0877ec}.alarm-pagination button:disabled{opacity:.4;cursor:not-allowed}.alarm-modal-backdrop{z-index:500;background:#08162a6b;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.alarm-detail-modal{background:#fff;border-radius:9px;width:min(620px,100vw - 40px);overflow:hidden;box-shadow:0 24px 60px #0a1f3c40}.alarm-detail-header{border-bottom:1px solid #dce6ef;justify-content:space-between;align-items:center;padding:17px 20px;display:flex}.alarm-detail-header h2{color:#102c58;margin:0;font-size:19px}.alarm-detail-header span{color:#789;margin-top:4px;font-size:11px;display:block}.alarm-detail-header button{color:#415b78;cursor:pointer;background:#fff;border:1px solid #d6e0eb;border-radius:5px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.alarm-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:20px;display:grid}.alarm-detail-grid>div{background:#f9fbfd;border:1px solid #e0e7ef;border-radius:6px;flex-direction:column;gap:6px;min-height:65px;padding:11px 13px;display:flex}.alarm-detail-grid span{color:#70839a;font-size:11px}.alarm-detail-grid strong{color:#19375f;font-size:13px}.alarm-detail-note{grid-column:1/-1}@media (width<=1500px){.alarm-filter-bar{grid-template-columns:repeat(5,minmax(0,1fr))}.alarm-date-field{min-width:180px}.alarm-query-button,.alarm-clear-button{width:100%}.alarm-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1150px){.alarm-chart-grid{grid-template-columns:1fr}.alarm-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.alarm-header-right{gap:9px}.alarm-header-time{display:none}.alarm-distribution-body{justify-content:center}}@media (width<=850px){.alarm-header{padding:0 14px}.alarm-header-user>div,.alarm-system-status{display:none}.alarm-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.alarm-summary-grid{grid-template-columns:1fr}.alarm-table-toolbar{flex-direction:column;align-items:flex-start;padding-top:10px;padding-bottom:10px}.alarm-table-actions{flex-wrap:wrap}.alarm-distribution-body{flex-direction:column}}.account-management-page{color:#122849;background:linear-gradient(#f7fbff 0%,#f2f7fc 100%);min-width:0;min-height:100vh}.account-topbar{box-sizing:border-box;background:#fffffff5;border-bottom:1px solid #dce6f0;justify-content:space-between;align-items:center;height:72px;padding:0 24px;display:flex}.account-topbar-right{color:#183357;align-items:center;gap:17px;margin-left:auto;display:flex}.account-system-time{white-space:nowrap;font-size:14px;font-weight:600}.account-topbar-divider{background:#d8e1eb;flex-shrink:0;width:1px;height:28px}.account-system-normal{color:#118642;white-space:nowrap;align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}.account-system-normal>span{background:#12bd59;border-radius:50%;flex-shrink:0;width:11px;height:11px;box-shadow:0 0 0 3px #12bd5917}.account-notification{color:#163654;justify-content:center;align-items:center;display:flex;position:relative}.account-notification>span{color:#fff;box-sizing:border-box;background:#ef233c;border-radius:20px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:800;line-height:18px;display:flex;position:absolute;top:-10px;right:-10px}.account-topbar-user{align-items:center;gap:10px;min-width:0;display:flex}.account-topbar-avatar{color:#fff;background:#7894b4;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:39px;height:39px;display:flex}.account-topbar-user>div{flex-direction:column;min-width:0;display:flex}.account-topbar-user strong{color:#1f3857;font-size:14px;font-weight:700}.account-topbar-user small{color:#72849a;margin-top:2px;font-size:12px}.account-page-content{box-sizing:border-box;width:100%;padding:18px 20px 32px}.account-page-title{align-items:baseline;gap:15px;min-height:44px;margin-bottom:14px;display:flex}.account-page-title h1{color:#102a4a;letter-spacing:.02em;margin:0;font-size:32px;font-weight:800;line-height:1.1}.account-page-title p{color:#73869e;margin:0;font-size:15px;font-weight:500}.account-filter-bar{box-sizing:border-box;background:#edf5fc;border:1px solid #d6e4f1;border-radius:9px;grid-template-columns:minmax(260px,1.45fr) minmax(130px,.8fr) minmax(130px,.8fr) minmax(310px,1.5fr) auto;align-items:end;gap:14px;margin-bottom:15px;padding:16px;display:grid}.account-filter-field{min-width:0}.account-filter-field label{color:#183357;margin-bottom:7px;font-size:13px;font-weight:800;display:block}.account-filter-field input,.account-filter-field select{color:#203b5e;box-sizing:border-box;background:#fff;border:1px solid #c8d6e5;border-radius:5px;outline:none;width:100%;height:42px;padding:0 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.account-filter-field input::placeholder{color:#8b9db1}.account-filter-field input:focus,.account-filter-field select:focus{border-color:#2385e8;box-shadow:0 0 0 3px #2385e81c}.account-input-icon{position:relative}.account-input-icon svg{color:#7890aa;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.account-input-icon input{padding-left:39px}.account-date-range{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;display:grid}.account-date-range>span{color:#60778f;font-size:14px;font-weight:700}.account-filter-actions{align-items:center;gap:9px;display:flex}.account-primary-button,.account-secondary-button,.account-danger-button,.account-enable-button{white-space:nowrap;cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:0 16px;font-family:inherit;font-size:14px;font-weight:800;transition:transform .15s,border-color .15s,box-shadow .15s,background .15s;display:inline-flex}.account-primary-button{color:#fff;background:linear-gradient(#1889ef 0%,#0872d9 100%);border:1px solid #0877e4}.account-primary-button:hover:not(:disabled){background:linear-gradient(#1594ff 0%,#066ccc 100%);box-shadow:0 4px 10px #0071dc33}.account-secondary-button{color:#405a75;background:#fff;border:1px solid #c4d0dd}.account-secondary-button:hover:not(:disabled){background:#f5f9fd;border-color:#9fb5ca}.account-danger-button{color:#fff;background:#ed4545;border:1px solid #e44141}.account-danger-button:hover:not(:disabled){background:#dd3636}.account-enable-button{color:#fff;background:#17a968;border:1px solid #14a15d}.account-enable-button:hover:not(:disabled){background:#10965a}.account-primary-button:active:not(:disabled),.account-secondary-button:active:not(:disabled),.account-danger-button:active:not(:disabled),.account-enable-button:active:not(:disabled){transform:translateY(1px)}.account-primary-button:disabled,.account-secondary-button:disabled,.account-danger-button:disabled,.account-enable-button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.account-main-grid{grid-template-columns:minmax(0,1fr) 450px;align-items:start;gap:15px;display:grid}.account-left-column{flex-direction:column;gap:15px;min-width:0;display:flex}.account-card{background:#fff;border:1px solid #d6e1ec;border-radius:9px;box-shadow:0 1px 2px #1d3b5709}.account-card-header{box-sizing:border-box;border-bottom:1px solid #dce6ef;justify-content:space-between;align-items:center;gap:12px;min-height:59px;padding:0 16px;display:flex}.account-card-header h2{color:#173454;margin:0;font-size:20px;font-weight:800}.account-card-header h2 span{font-size:17px}.account-new-button{min-height:40px}.account-table-card{overflow:visible}.account-table-wrapper{width:100%;overflow-x:auto}.account-table{border-collapse:collapse;width:100%;font-size:14px}.account-table th{text-align:left;white-space:nowrap;color:#203958;background:#edf4fb;border-bottom:1px solid #d9e4ee;padding:11px 12px;font-weight:800}.account-table td{white-space:nowrap;color:#2a4564;vertical-align:middle;border-bottom:1px solid #e5ecf3;padding:9px 12px}.account-table tbody tr{cursor:pointer;transition:background .12s}.account-table tbody tr:hover{background:#f5faff}.account-table tbody tr.is-selected{background:#e8f4ff}.account-table tbody tr.is-selected:hover{background:#e1f1ff}.account-table tbody tr:last-child td{border-bottom:0}.account-table td strong{color:#1a4169;font-weight:700}.account-role-badge{box-sizing:border-box;border-radius:7px;justify-content:center;align-items:center;min-width:70px;padding:4px 9px;font-size:13px;font-weight:800;display:inline-flex}.account-role-badge.admin{color:#d52835;background:#ffd8db}.account-role-badge.operator{color:#0876da;background:#d8ebff}.account-role-badge.maintenance{color:#742dcc;background:#eadcff}.account-status{align-items:center;gap:7px;font-size:14px;font-weight:700;display:inline-flex}.account-status-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.account-status.enabled{color:#0d9949}.account-status.enabled .account-status-dot{background:#13bf5d}.account-status.disabled{color:#63758a}.account-status.disabled .account-status-dot{background:#8da0b3}.account-status.locked{color:#f06a1b}.account-status.locked .account-status-dot{background:#ff771c}.account-failure-count{text-align:center}.account-row-actions{align-items:center;gap:5px;display:flex;position:relative}.account-table-button,.account-more-button{color:#49627b;cursor:pointer;background:#fff;border:1px solid #c7d4e1;border-radius:5px;min-height:31px;padding:0 9px;font-family:inherit;font-size:13px;font-weight:700;transition:background .12s,border-color .12s}.account-table-button:hover,.account-more-button:hover{background:#edf6ff;border-color:#97bddf}.account-more-button{justify-content:center;align-items:center;width:34px;padding:0;display:flex}.account-more-wrapper{position:relative}.account-more-menu{z-index:30;box-sizing:border-box;background:#fff;border:1px solid #d2deea;border-radius:6px;min-width:125px;padding:5px;position:absolute;top:36px;right:0;box-shadow:0 8px 22px #1c344e2e}.account-more-menu button{text-align:left;color:#29445f;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:4px;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:600}.account-more-menu button:hover{background:#eef6ff}.account-empty-row{cursor:default;height:110px;text-align:center!important;color:#8090a3!important}.account-pagination{box-sizing:border-box;border-top:1px solid #e1e9f0;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;min-height:53px;padding:0 15px;display:grid}.account-pagination-summary{color:#6d8097;font-size:13px}.account-pagination-controls{gap:6px;display:flex}.account-pagination-controls button{color:#728499;cursor:pointer;background:#fff;border:1px solid #cedae5;border-radius:5px;justify-content:center;align-items:center;width:35px;height:35px;padding:0;font-family:inherit;display:flex}.account-pagination-controls button:hover:not(:disabled){background:#f3f8fc;border-color:#9cb8d2}.account-pagination-controls button.is-current{color:#fff;background:#0878df;border-color:#0878df}.account-pagination-controls button:disabled{opacity:.4;cursor:not-allowed}.account-page-size{color:#536a82;justify-self:end;align-items:center;gap:8px;font-size:13px;display:flex}.account-page-size select{color:#304a65;background:#fff;border:1px solid #ced9e4;border-radius:5px;outline:none;height:34px;padding:0 8px;font-family:inherit}.account-detail-card{overflow:hidden}.account-detail-header{box-sizing:border-box;border-bottom:1px solid #dce6ef;justify-content:space-between;align-items:center;gap:10px;min-height:59px;padding:0 17px;display:flex}.account-detail-header h2{color:#173454;align-items:center;gap:8px;margin:0;font-size:20px;font-weight:800;display:flex}.account-cancel-edit{color:#667b90;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:4px;padding:5px 8px;font-family:inherit;font-size:13px;font-weight:600;display:flex}.account-cancel-edit:hover{background:#eef4f9}.account-detail-form{box-sizing:border-box;padding:15px 17px}.account-form-row{grid-template-columns:115px minmax(0,1fr);align-items:center;gap:10px;margin-bottom:10px;display:grid}.account-form-row>span{color:#2a4664;font-size:14px;font-weight:700}.account-form-row input,.account-form-row select,.account-form-row textarea{color:#263f59;box-sizing:border-box;background:#fff;border:1px solid #c8d6e3;border-radius:5px;outline:none;width:100%;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.account-form-row input,.account-form-row select{height:38px;padding:0 11px}.account-form-row textarea{resize:vertical;min-height:76px;padding:9px 11px 22px;line-height:1.5}.account-form-row input:not(:disabled):focus,.account-form-row select:not(:disabled):focus,.account-form-row textarea:not(:disabled):focus{border-color:#2587e5;box-shadow:0 0 0 3px #2587e51a}.account-form-row input:disabled,.account-form-row select:disabled,.account-form-row textarea:disabled{color:#697b8c;opacity:1;cursor:default;background:#edf1f5}.account-status-control{align-items:center;gap:10px;display:flex}.account-status-switch{cursor:pointer;background:#9caebe;border:0;border-radius:20px;flex-shrink:0;width:53px;height:29px;padding:0;transition:background .18s;position:relative}.account-status-switch span{background:#fff;border-radius:50%;width:23px;height:23px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #152e4447}.account-status-switch.is-on{background:#0aa64f}.account-status-switch.is-on span{transform:translate(24px)}.account-status-switch:disabled{opacity:.55;cursor:not-allowed}.account-status-text{font-size:14px}.account-status-text.enabled{color:#079747}.account-status-text.disabled{color:#697b8d}.account-status-text.locked{color:#ec681d}.account-password-box{box-sizing:border-box;background:#eef6fd;border:1px solid #d8e8f6;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px 10px;margin:14px 0;padding:11px 12px;display:grid}.account-password-title{color:#203d5d;align-items:center;gap:7px;font-size:14px;font-weight:800;display:flex}.account-password-reset{color:#fff;cursor:pointer;background:#167edc;border:1px solid #147ee0;border-radius:5px;align-items:center;gap:6px;height:37px;padding:0 15px;font-family:inherit;font-size:13px;font-weight:800;transition:background .15s;display:flex}.account-password-reset:hover:not(:disabled){background:#0b70ce}.account-password-reset:disabled{opacity:.45;cursor:not-allowed}.account-force-password{color:#344e68;cursor:pointer;grid-column:2;align-items:center;gap:6px;font-size:13px;display:flex}.account-force-password input{accent-color:#177ddd;width:18px;height:18px}.account-note-row{align-items:start}.account-note-row>span{padding-top:9px}.account-note-wrapper{position:relative}.account-note-wrapper small{color:#6f8296;font-size:11px;position:absolute;bottom:5px;right:8px}.account-detail-actions{box-sizing:border-box;border-top:1px solid #e0e8ef;grid-template-columns:1.1fr 1fr 1fr;gap:9px;padding:14px 17px 17px;display:grid}.account-save-button{min-width:0}.account-role-summary{box-sizing:border-box;padding:13px}.account-role-summary-title{color:#173454;align-items:center;gap:8px;margin-bottom:12px;display:flex}.account-role-summary-title h2{margin:0;font-size:18px;font-weight:800}.account-role-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;display:grid}.account-role-card{box-sizing:border-box;border:1px solid;border-radius:7px;gap:11px;min-height:110px;padding:13px;display:flex}.account-role-card>svg{flex-shrink:0;margin-top:1px}.account-role-card>div{flex-direction:column;min-width:0;display:flex}.account-role-card strong{font-size:15px;font-weight:800}.account-role-card span{margin-top:2px;font-size:13px;font-weight:700}.account-role-card p{color:#516981;margin:8px 0 0;font-size:12px;line-height:1.55}.account-role-card.operator{color:#0879e4;background:#edf6ff;border-color:#b9daf8}.account-role-card.maintenance{color:#7735c9;background:#f5f0ff;border-color:#d7c5f4}.account-role-card.admin{color:#dc3440;background:#fff1f3;border-color:#f3c6cb}.account-dialog-backdrop{z-index:3000;box-sizing:border-box;background:#0b1f347a;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.account-dialog{box-sizing:border-box;background:#fff;border:1px solid #d8e2ec;border-radius:10px;width:min(440px,100%);padding:20px;box-shadow:0 18px 60px #0a1e3447}.account-dialog-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.account-dialog-title{color:#163555;align-items:center;gap:9px;display:flex}.account-dialog-title svg{color:#e99022}.account-dialog-title h3{margin:0;font-size:19px;font-weight:800}.account-dialog-close{color:#65798d;cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:flex}.account-dialog-close:hover{background:#eef3f7}.account-dialog p{color:#50677e;margin:18px 0 21px;font-size:14px;line-height:1.65}.account-dialog-actions{justify-content:flex-end;gap:9px;display:flex}.account-toast{z-index:3500;color:#fff;background:#183652f5;border:1px solid #ffffff1f;border-radius:8px;max-width:420px;padding:12px 18px;font-size:14px;font-weight:700;line-height:1.5;position:fixed;bottom:24px;right:24px;box-shadow:0 9px 24px #122a4138}@media (width<=1450px){.account-main-grid{grid-template-columns:minmax(0,1fr) 400px}.account-filter-bar{grid-template-columns:1.3fr .7fr .7fr 1.4fr}.account-filter-actions{grid-column:1/-1;justify-content:flex-end}.account-table th,.account-table td{padding-left:9px;padding-right:9px}}@media (width<=1180px){.account-main-grid{grid-template-columns:1fr}.account-detail-card{order:-1}.account-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.account-filter-keyword,.account-filter-date,.account-filter-actions{grid-column:1/-1}.account-role-grid{grid-template-columns:1fr}}@media (width<=900px){.account-page-content{padding:14px}.account-topbar{padding:0 14px}.account-system-time,.account-topbar-divider,.account-topbar-user small{display:none}.account-page-title{flex-direction:column;align-items:flex-start;gap:5px}.account-page-title h1{font-size:27px}.account-filter-bar{grid-template-columns:1fr}.account-filter-keyword,.account-filter-date,.account-filter-actions{grid-column:auto}.account-date-range{grid-template-columns:1fr}.account-date-range>span{display:none}.account-filter-actions{flex-wrap:wrap;justify-content:flex-start}.account-form-row{grid-template-columns:1fr;gap:5px}.account-note-row>span{padding-top:0}.account-password-box{grid-template-columns:1fr}.account-force-password{grid-column:auto}.account-detail-actions{grid-template-columns:1fr}.account-pagination{grid-template-columns:1fr;justify-items:center;gap:8px;padding:10px}.account-pagination-summary,.account-page-size{justify-self:center}}.account-primary-button:focus-visible,.account-secondary-button:focus-visible,.account-danger-button:focus-visible,.account-enable-button:focus-visible,.account-table-button:focus-visible,.account-more-button:focus-visible,.account-password-reset:focus-visible,.account-dialog-close:focus-visible,.account-pagination-controls button:focus-visible{outline-offset:2px;outline:3px solid #1c81e040}*{box-sizing:border-box}html,body,#root{width:100%;min-width:100%;min-height:100vh;margin:0;padding:0}ter html{background:#eef3f8}body{color:#17283e;background:#eef3f8;margin:0;font-family:Microsoft JhengHei,Noto Sans TC,PingFang TC,Arial,sans-serif;overflow-x:hidden}#root{width:100%;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}
