:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-page:radial-gradient(circle at top left, #1f7ae029, transparent 28%), radial-gradient(circle at right top, #0ea5e91f, transparent 22%), linear-gradient(180deg, #f5f8fc 0%, #eef3f8 100%);--surface-base:#ffffffeb;--surface-strong:#fff;--surface-muted:#0f243c0a;--surface-accent:#ffffff1f;--surface-glass:#ffffffd1;--text-primary:#10233a;--text-secondary:#5e7186;--text-muted:#8091a7;--border-subtle:#10233a14;--border-strong:#10233a24;--shadow-soft:0 20px 45px #0f243c14;--shadow-card:0 18px 36px #0f243c0f;--radius-xl:28px;--radius-lg:24px;--radius-md:18px;--accent-blue:#1f7ae0;--accent-cyan:#0891b2;--accent-green:#16a34a;--accent-amber:#f59e0b;--accent-red:#ef4444;--accent-slate:#6b7d90;--surface-page:#eef3f8;--surface-sidebar:#0a1c2f;--surface-section:#ffffffeb;--surface-card:#fff;--surface-raised:#f8fafc;--surface-hover:#f5f8fb;--surface-selected:#e6f4ff;--border-default:#10233a1f;--text-disabled:#8a99aa;--color-accent:var(--accent-blue);--color-info:#0891b2;--color-success:var(--accent-green);--color-warning:var(--accent-amber);--color-danger:var(--accent-red);font-family:HarmonyOS Sans SC,"Alibaba PuHuiTi 3.0",Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-page:#10161d;--surface-sidebar:#071b2d;--surface-section:#151c24;--surface-card:#19222c;--surface-raised:#202b36;--surface-hover:#24313e;--surface-selected:#20364d;--border-subtle:#293744;--border-default:#354654;--border-strong:#496071;--text-primary:#f2f6fa;--text-secondary:#c4ced8;--text-muted:#8f9daa;--text-disabled:#687582;--color-accent:#55a7ff;--color-info:#55c6e8;--color-success:#39cf7c;--color-warning:#f2b84b;--color-danger:#ff6b6b;--bg-page:var(--surface-page);--surface-base:var(--surface-section);--surface-strong:var(--surface-card);--surface-muted:#1b2630;--surface-accent:var(--surface-selected);--surface-glass:var(--surface-card);--accent-blue:var(--color-accent);--accent-cyan:var(--color-info);--accent-green:var(--color-success);--accent-amber:var(--color-warning);--accent-red:var(--color-danger);--accent-slate:var(--text-muted);--shadow-soft:0 16px 34px #00000047;--shadow-card:0 10px 24px #0000003d}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.ant-app,.ant-layout{background:0 0}.ant-card{box-shadow:var(--shadow-card);border-color:var(--border-subtle)!important}.ant-card .ant-card-head{border-bottom-color:var(--border-subtle)}.ant-card .ant-card-head-title{color:var(--text-primary);font-weight:700}.ant-statistic .ant-statistic-title{color:var(--text-secondary)}.ant-statistic .ant-statistic-content{color:var(--text-primary);font-weight:700}.ant-select-selector,.ant-input,.ant-input-affix-wrapper,.ant-picker,.ant-input-number,.ant-input-number-affix-wrapper{background:var(--surface-glass)!important;border-color:var(--border-subtle)!important;box-shadow:none!important}.ant-input-affix-wrapper,.ant-select-selector,.ant-picker,.ant-input{border-radius:14px!important}.ant-segmented{background:#0f243c0f;border-radius:14px;padding:4px}.ant-segmented .ant-segmented-item{border-radius:10px}.ant-segmented .ant-segmented-item-selected{box-shadow:0 8px 18px #0f243c14}.ant-table-wrapper .ant-table,.ant-table-wrapper .ant-table-container{background:0 0}.ant-table-wrapper .ant-table-container{border:1px solid #10233a0f;border-radius:18px;overflow:hidden}.ant-table-wrapper .ant-table-thead>tr>th{color:var(--text-secondary);background:#0f243c0a}.ant-table-wrapper .ant-table-thead>tr>th:first-child,.ant-table-wrapper .ant-table-tbody>tr>td:first-child{padding-left:18px}.ant-table-wrapper .ant-table-tbody>tr>td{color:var(--text-primary);background:var(--surface-glass);border-bottom-color:#10233a0d}.ant-table-wrapper .ant-table-tbody>tr:hover>td{background:#ebf4ffb8!important}.ant-table-wrapper .ant-table-pagination-right{margin-top:16px}.ant-pagination .ant-pagination-item,.ant-pagination .ant-pagination-prev,.ant-pagination .ant-pagination-next{border-color:#10233a14;border-radius:12px}.ant-tabs .ant-tabs-tab{padding:10px 0}.ant-tabs .ant-tabs-tab-btn{font-weight:600}.ant-collapse,.ant-collapse>.ant-collapse-item{border-color:var(--border-subtle)!important}.ant-collapse{background:0 0;border-radius:18px!important}.ant-collapse>.ant-collapse-item>.ant-collapse-header{background:#0f243c08}.ant-collapse>.ant-collapse-item:first-child>.ant-collapse-header{border-top-left-radius:18px;border-top-right-radius:18px}.ant-collapse>.ant-collapse-item:last-child>.ant-collapse-content{border-bottom-right-radius:18px;border-bottom-left-radius:18px}.status-chip{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.status-chip--success{color:#0f8b51;background:#16a34a1f;border-color:#16a34a2e}.status-chip--danger{color:#d83933;background:#ef44441f;border-color:#ef444429}.status-chip--warning{color:#b76b00;background:#f59e0b24;border-color:#f59e0b2e}.status-chip--info{color:#0f5db6;background:#1f7ae01f;border-color:#1f7ae029}.status-chip--muted{color:var(--text-secondary);background:#6b7d901f;border-color:#6b7d9029}.factory-ops{flex-direction:column;gap:18px;display:flex}.factory-ops__loading{place-items:center;min-height:280px;display:grid}.factory-ops__toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.factory-ops__automation-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.factory-ops__stats{flex:1;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;display:grid}.factory-ops__stats--compact{grid-template-columns:repeat(2,minmax(160px,1fr));max-width:640px}.factory-ops__stats .ant-statistic{background:var(--surface-glass);border:1px solid var(--border-subtle);border-radius:16px;min-height:82px;padding:14px 16px}.automation-center{flex-direction:column;gap:18px;display:flex}.automation-center__loading{place-items:center;min-height:280px;display:grid}.automation-center__toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.automation-center__stats{flex:1;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;display:grid}.automation-center__stats .ant-statistic{background:var(--surface-glass);border:1px solid var(--border-subtle);border-radius:16px;min-height:82px;padding:14px 16px}.automation-center__safety .ant-card-body{justify-content:space-between;align-items:center;gap:16px;display:flex}.automation-center__safety-copy{flex-direction:column;gap:4px;display:flex}.automation-center__safety-copy span{color:var(--text-secondary);font-size:12px}.factory-ops__identity{flex-direction:column;gap:4px;min-width:0;display:flex}.factory-ops__identity strong,.factory-ops__identity span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.factory-ops__identity span{color:var(--text-secondary);font-size:12px}.factory-ops__customer-link,.factory-ops__version-button{text-align:left;white-space:normal;max-width:100%;height:auto;padding:0;font-weight:800;line-height:1.35}.factory-ops__ipc-details{flex-direction:column;gap:16px;padding:4px 0;display:flex}.factory-ops__detail-section{flex-direction:column;gap:8px;display:flex}.factory-ops__detail-title{color:var(--text-primary);font-size:13px;font-weight:800}.factory-ops__batch-panel{flex-direction:column;gap:16px;display:flex}.factory-ops__batch-controls{justify-content:space-between;gap:12px;display:flex}.factory-ops__inspection-panel{border:1px solid var(--border-subtle);background:#fafcffeb;border-radius:8px;flex-direction:column;gap:12px;margin-bottom:12px;padding:12px;display:flex}.factory-ops__inspection-summary{grid-template-columns:repeat(4,minmax(112px,1fr));gap:8px;display:grid}.factory-ops__inspection-metric{background:var(--surface-glass);border:1px solid #94a3b82e;border-radius:8px;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;display:flex}.factory-ops__inspection-metric span{color:var(--text-secondary);font-size:12px;line-height:1.35}.factory-ops__inspection-metric strong{color:var(--text-primary);font-size:20px;line-height:1.2}.factory-ops__inspection-headline{color:var(--text-primary);font-size:13px;font-weight:800;line-height:1.55}.factory-ops__inspection-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.factory-ops__inspection-group{background:var(--surface-glass);border-left:3px solid #64748b47;border-radius:6px;min-width:0;padding:10px 12px}.factory-ops__inspection-group--warning{border-left-color:#f59e0b}.factory-ops__inspection-group--critical{border-left-color:#ef4444}.factory-ops__inspection-group-title{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.factory-ops__inspection-group-title strong,.factory-ops__inspection-group-meta,.factory-ops__inspection-group-hint{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.factory-ops__inspection-group-meta{color:var(--text-secondary);margin-top:6px;font-size:12px}.factory-ops__inspection-group-hint{color:#475569;margin-top:4px;font-size:12px}.factory-ops__customer-event-badge{color:#92400e;background:#f59e0b21;border-radius:999px;align-items:center;margin-left:8px;padding:1px 6px;font-size:11px;font-weight:700;line-height:1.4;display:inline-flex}@media (width<=900px){.factory-ops__toolbar,.automation-center__toolbar{flex-direction:column;align-items:stretch}.factory-ops__stats,.automation-center__stats,.factory-ops__inspection-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.factory-ops__inspection-groups{grid-template-columns:1fr}}@media (width<=560px){.factory-ops__stats,.automation-center__stats,.factory-ops__inspection-summary{grid-template-columns:1fr}.factory-ops__stats--compact{max-width:none}.automation-center__safety .ant-card-body{flex-direction:column;align-items:stretch}}.app-shell{align-items:flex-start;min-height:100vh}.app-shell__sider{align-self:flex-start;height:100vh;max-height:100vh;top:0;overflow-y:auto;box-shadow:16px 0 40px #0716272e;background:linear-gradient(#081426fa 0%,#0a1c2ff5 100%)!important;position:sticky!important}.app-shell__brand{color:#fff;padding:28px 20px 18px}.app-shell__brand--collapsed{justify-content:center;padding:26px 12px 14px;display:flex}.app-shell__brand-logo{width:138px;height:auto;display:block}.app-shell__brand-caption{color:#ffffff8c;letter-spacing:.34em;white-space:nowrap;margin-top:7px;font-size:9px;font-weight:700}.app-shell__brand-mark-img{width:30px;height:auto;display:block}.app-shell__brand-title{letter-spacing:.02em;white-space:nowrap;margin-top:14px;font-size:15px;font-weight:700}.app-shell__menu{flex:1;color:#ffffffc7!important;background:0 0!important;border-inline-end:none!important}.app-shell__menu.ant-menu-inline .ant-menu-item,.app-shell__menu.ant-menu-inline .ant-menu-submenu-title{border-radius:16px;height:48px;margin:6px 12px;padding-inline:16px!important}.app-shell__menu.ant-menu-dark .ant-menu-item-selected{background:linear-gradient(135deg,#1f7ae038 0%,#0891b22e 100%)}.app-shell__footer-note{color:#ffffffb3;background:#ffffff0f;border:1px solid #ffffff0f;border-radius:18px;margin:12px 16px 18px;padding:14px 16px;font-size:12px;line-height:1.6}.app-shell__main{min-width:0;overflow-x:clip}.app-shell__header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);height:auto;box-shadow:var(--shadow-soft);border:1px solid #ffffffa3;border-radius:24px;justify-content:space-between;align-items:center;gap:20px;margin:16px 20px 0;padding:18px 22px;line-height:1.4;display:flex;background:var(--surface-glass)!important}.app-shell__header-main{align-items:flex-start;gap:12px;min-width:0;display:flex}.app-shell__header-copy{min-width:0}.app-shell__header-overline{color:var(--accent-blue);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700}.app-shell__header-title{color:var(--text-primary);margin-top:4px;font-size:28px;font-weight:800;line-height:1.15}.app-shell__header-subtitle{color:var(--text-secondary);margin-top:6px;font-size:13px}:root[data-theme=dark] .app-shell__theme-switch.ant-segmented .ant-segmented-item-selected{background:#7ea6f73d}.app-shell__header-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.app-shell__account{align-items:center;gap:10px;display:flex}.app-shell__account-button.ant-btn{height:42px;color:var(--text-primary);border:1px solid var(--border-subtle);background:#0f243c0a;border-radius:14px;padding-inline:16px}.app-shell__content{min-width:0;overflow-x:clip;background:0 0!important}.app-shell__workspace{min-width:0;padding:20px 20px 36px}.page-state{background:var(--surface-section);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);min-height:300px;box-shadow:var(--shadow-card);text-align:center;place-items:center;padding:20px;display:grid}.page-state--error{border-color:color-mix(in srgb, var(--color-danger) 32%, var(--border-default))}.page-state--forbidden{border-color:color-mix(in srgb, var(--color-warning) 32%, var(--border-default))}.page-state .ant-result{max-width:620px;padding-block:28px}.page-state__action{margin-top:8px}.app-shell__mobile-nav{z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a1c2feb;border:1px solid #ffffff14;border-radius:24px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;display:grid;position:fixed;bottom:14px;left:14px;right:14px;box-shadow:0 18px 36px #0716273d}.app-shell__mobile-item{color:#ffffffbd;cursor:pointer;background:0 0;border:none;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;display:flex}.app-shell__mobile-item--active{color:#fff;background:linear-gradient(135deg,#1f7ae04d 0%,#0891b23d 100%)}.app-shell__mobile-label{font-size:11px;font-weight:600}.page-shell{flex-direction:column;gap:20px;display:flex}.route-loading{min-height:220px;color:var(--text-secondary);place-items:center;font-size:13px;font-weight:700;display:grid}.route-error{background:var(--surface-glass);border:1px solid var(--border-subtle);border-radius:18px;place-items:center;min-height:360px;padding:24px;display:grid}.page-hero{color:#fff;border-radius:var(--radius-xl);background:radial-gradient(circle at 85% 15%,#ffffff1f,#0000 20%),linear-gradient(135deg,#15304d 0%,#1c426a 60%,#286cae 100%);grid-template-columns:minmax(0,1.45fr) minmax(280px,.95fr);gap:16px;padding:22px 24px;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 48px #0d2c523d}.page-hero:after{content:"";background:#ffffff0f;border-radius:50%;width:160px;height:160px;position:absolute;bottom:-60px;right:-48px}.page-hero__content,.page-hero__aside{z-index:1;position:relative}.page-hero__eyebrow{color:#ffffffe0;letter-spacing:.04em;background:#ffffff1a;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.page-hero__title{color:#fff!important;margin:12px 0 8px!important;font-size:clamp(26px,2.5vw,34px)!important;line-height:1.1!important}.page-hero__subtitle{max-width:720px;font-size:15px;color:#fffc!important;margin:0!important;line-height:1.7!important}.page-hero__meta{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.hero-pill{color:#ffffffe6;background:#ffffff1a;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:600;display:inline-flex}.hero-pill--button.ant-btn{height:auto;margin:0;line-height:1.2}.hero-pill--button.ant-btn:hover,.hero-pill--button.ant-btn:focus-visible{color:#fff!important;background:#ffffff2e!important}.hero-pill--success{color:#dffbea;background:#16a34a33;border-color:#86efac57}.hero-pill--danger{color:#ffe2e2;background:#ef444438;border-color:#fca5a55c}.hero-pill--warning{color:#ffe9c7;background:#f59e0b38;border-color:#fcd3895c}.hero-pill--muted{color:#e2e8f0db;background:#64748b38;border-color:#cbd5e133}.hero-pill--info{color:#93c5fd;background:#1f7ae02e;border-color:#1f7ae038}.page-hero__aside{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.hero-stat{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1f;border:1px solid #ffffff1f;border-radius:22px;flex-direction:column;justify-content:space-between;min-height:112px;padding:16px 18px;display:flex}.hero-stat__label{color:#ffffffbd;font-size:12px;font-weight:600}.hero-stat__value{margin-top:12px;font-size:28px;font-weight:800;line-height:1.1}.hero-stat__detail{color:#ffffffb8;margin-top:8px;font-size:12px;line-height:1.6}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metric-card.ant-card{border-radius:var(--radius-lg);border:none;height:100%;overflow:hidden}.metric-card .ant-card-body{flex-direction:column;gap:12px;height:100%;padding:20px;display:flex}.metric-card--blue{background:linear-gradient(#fff 0%,#e9f4fffa 100%)}.metric-card--green{background:linear-gradient(#fff 0%,#f1fcf5fa 100%)}.metric-card--amber{background:linear-gradient(#fff 0%,#fff9ebfa 100%)}.metric-card--red{background:linear-gradient(#fff 0%,#fff2f2fa 100%)}.metric-card__icon{border-radius:16px;place-items:center;width:46px;height:46px;font-size:20px;display:grid}.metric-card--blue .metric-card__icon{color:#0f5db6;background:#1f7ae024}.metric-card--green .metric-card__icon{color:#0f8b51;background:#16a34a24}.metric-card--amber .metric-card__icon{color:#b76b00;background:#f59e0b24}.metric-card--red .metric-card__icon{color:#d83933;background:#ef444424}.metric-card__label{color:var(--text-secondary);font-size:13px;font-weight:600}.metric-card__value{color:var(--text-primary);font-size:clamp(26px,2.6vw,34px);font-weight:800;line-height:1.05}.metric-card__value-suffix{color:var(--text-secondary);margin-left:4px;font-size:16px;font-weight:600}.metric-card__detail{color:var(--text-secondary);font-size:13px;line-height:1.6}.admin-dashboard{gap:10px}.admin-dashboard__command{background:var(--surface-glass);border:1px solid #10233a14;border-radius:14px;grid-template-columns:minmax(520px,1fr) auto auto;grid-template-areas:"stats live priority";align-items:stretch;gap:10px;padding:10px;display:grid;box-shadow:0 10px 20px #0f243c0d}.admin-dashboard__headline{grid-area:headline;min-width:0}.admin-dashboard__eyebrow{color:var(--accent-blue);background:#1f7ae014;border:1px solid #1f7ae01f;border-radius:999px;align-items:center;padding:4px 8px;font-size:10px;font-weight:800;display:inline-flex}.admin-dashboard__title{color:var(--text-primary);margin:8px 0 0;font-size:22px;font-weight:850;line-height:1.15}.admin-dashboard__subtitle{max-width:430px;color:var(--text-secondary);margin:6px 0 0;font-size:12px;line-height:1.45}.admin-dashboard__live{width:fit-content;color:var(--text-secondary);background:#0f243c0a;border:1px solid #10233a0f;border-radius:999px;grid-area:live;align-self:center;align-items:center;gap:6px;padding:6px 9px;font-size:11px;font-weight:700;display:inline-flex}.admin-dashboard__stat-strip{grid-area:stats;grid-template-columns:repeat(4,minmax(110px,1fr));gap:8px;display:grid}.admin-dashboard__stat{background:#0f243c08;border:1px solid #10233a12;border-radius:10px;grid-template-columns:26px minmax(0,1fr) auto;grid-template-areas:"icon label value""icon detail value";align-items:center;gap:2px 8px;min-height:58px;padding:8px 10px;display:grid}.admin-dashboard__stat--blue{background:#1f7ae00e}.admin-dashboard__stat--green{background:#16a34a0e}.admin-dashboard__stat--amber{background:#f59e0b11}.admin-dashboard__stat--red{background:#ef44440f}.admin-dashboard__stat-icon{width:26px;height:26px;color:var(--accent-blue);background:var(--surface-glass);border:1px solid #10233a0f;border-radius:8px;grid-area:icon;place-items:center;font-size:13px;display:grid}.admin-dashboard__stat--green .admin-dashboard__stat-icon{color:var(--accent-green)}.admin-dashboard__stat--amber .admin-dashboard__stat-icon{color:#b76b00}.admin-dashboard__stat--red .admin-dashboard__stat-icon{color:var(--accent-red)}.admin-dashboard__stat-label{color:var(--text-secondary);grid-area:label;font-size:11px;font-weight:800;line-height:1.2}.admin-dashboard__stat-value{color:var(--text-primary);white-space:nowrap;grid-area:value;justify-self:end;font-size:22px;font-weight:850;line-height:1}.admin-dashboard__stat-suffix{color:var(--text-secondary);margin-left:3px;font-size:11px;font-weight:700}.admin-dashboard__stat-detail{color:var(--text-secondary);grid-area:detail;font-size:10px;line-height:1.3}.admin-dashboard__priority{flex-direction:column;grid-area:priority;justify-content:center;gap:6px;min-width:150px;display:flex}.admin-dashboard__priority .status-chip{justify-content:center;padding:7px 9px}.admin-dashboard__section{border-radius:18px;padding:14px}.admin-dashboard__section-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.admin-dashboard__section .section-header__title{font-size:18px}.admin-dashboard__section .section-header__subtitle{max-width:720px;margin-top:3px;font-size:11px;line-height:1.45}.admin-dashboard__section .section-header__badge{padding:6px 10px;font-size:10px}.admin-dashboard__queue-meta{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.admin-device-table .ant-table{font-size:12px}.admin-device-table .ant-table-thead>tr>th{white-space:nowrap;padding-top:8px;padding-bottom:8px}.admin-device-table .ant-table-tbody>tr{cursor:pointer}.admin-device-table .ant-table-tbody>tr>td{vertical-align:top;padding-top:8px;padding-bottom:8px}.admin-dashboard__table-device{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-dashboard__table-device-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;line-height:1.25;overflow:hidden}.admin-dashboard__table-device-meta{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;flex-wrap:wrap;align-items:center;gap:4px;font-size:11px;line-height:1.3;display:flex;overflow:hidden}.admin-dashboard__table-tags{flex-wrap:wrap;align-items:flex-start;gap:4px;display:flex}.admin-dashboard__table-tags--status{flex-direction:column}.admin-dashboard__table-tags .ant-tag{border-radius:999px;margin-inline-end:0;font-size:11px;font-weight:700;line-height:18px}.admin-dashboard__table-extra-tags{flex-wrap:wrap;gap:5px;max-width:none;display:flex}.admin-dashboard__table-setpoint-row{flex-wrap:wrap;flex:100%;align-items:center;gap:4px;display:flex}.admin-dashboard__table-air-row{flex:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;min-width:0;display:grid}.admin-dashboard__table-valve-row{flex:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;min-width:300px;display:grid}.admin-dashboard__table-extra-tags .status-chip,.admin-dashboard__table-extra-tags .device-card__data-tag,.admin-dashboard__table-extra-tags .device-card__control-tag{padding:3px 6px;font-size:10px;line-height:1.15}.admin-dashboard__table-extra-tags .device-card__control-tag{gap:4px}.admin-dashboard__table-extra-tags .device-card__control-tag-label,.admin-dashboard__table-extra-tags .device-card__switch-state{font-size:10px}.admin-dashboard__table-extra-tags .device-card__setpoint-tag{flex:0 0 216px;width:216px;min-width:0;padding:3px 6px;font-size:10px}.admin-dashboard__table-extra-tags .device-card__air-tag{min-height:56px;padding:4px 6px 3px}.admin-dashboard__table-extra-tags .device-card__air-stack{gap:2px}.admin-dashboard__table-extra-tags .device-card__air-label,.admin-dashboard__table-extra-tags .device-card__air-reading-label,.admin-dashboard__table-extra-tags .device-card__air-reading-value{font-size:9.5px}.admin-dashboard__metric-stack{flex-direction:column;gap:2px;display:flex}.admin-dashboard__metric-line{color:var(--text-secondary);white-space:nowrap;font-size:11px;font-weight:700;line-height:1.35}.admin-dashboard__metric-stack .device-card__data-tag--vfd{text-overflow:clip;white-space:normal;align-self:flex-start;max-width:100%;padding:3px 6px;font-size:10px;line-height:1.25;overflow:visible}.admin-dashboard__metric-line--danger{color:var(--accent-red)}.customer-clusters--compact{gap:10px}.customer-cluster--compact{border-radius:14px;padding:10px}.customer-cluster--compact .customer-cluster__header{margin-bottom:8px}.customer-cluster--compact .customer-cluster__identity{align-items:flex-start;gap:6px;min-width:0;display:inline-flex}.customer-cluster__collapse-button.ant-btn{width:24px;min-width:24px;height:24px;color:var(--text-secondary);background:#0f243c09;border-radius:6px;padding:0}.customer-cluster__collapse-button.ant-btn:hover{color:var(--accent-blue);background:#1f7ae014}.customer-cluster--compact .customer-cluster__title{font-size:14px}.customer-cluster--compact .customer-cluster__subtitle{margin-top:2px;font-size:10px}.device-grid--compact{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:7px}.alarms-page{gap:16px}.alarms-page__section{padding:18px}.alarms-page__section .section-header{gap:12px;margin-bottom:14px}.alarms-page__section .section-header__title{font-size:20px}.alarms-page__section .section-header__subtitle{margin-top:4px;font-size:12px}.alarms-page__section .section-header__badge{padding:8px 12px;font-size:11px}.alarms-page__toolbar{border-radius:16px;gap:10px;padding:10px 12px}.alarms-page__toolbar--secondary{padding:8px 10px}.alarms-page__toolbar-actions{gap:8px}.alarms-page__tabs .ant-tabs-nav{margin-bottom:12px}.alarms-page__tabs .ant-tabs-tab{padding:8px 0;font-size:13px}.alarms-page__tabs .ant-tabs-content-holder{min-height:200px}.alarms-page__collapse.ant-collapse{background:0 0;border:none;flex-direction:column;gap:10px;display:flex}.alarms-page__collapse.ant-collapse>.ant-collapse-item{background:#0f243c06;border:1px solid #10233a0f;border-radius:16px;overflow:hidden}.alarms-page__collapse.ant-collapse>.ant-collapse-item>.ant-collapse-header{align-items:center!important;padding:10px 12px!important}.alarms-page__collapse.ant-collapse>.ant-collapse-item>.ant-collapse-content>.ant-collapse-content-box{padding:0 12px 12px!important}.alarms-page__collapse-header{justify-content:space-between;align-items:center;gap:12px;width:100%;padding-right:8px;display:flex}.alarms-page__collapse-device{flex-direction:column;gap:2px;min-width:0;display:flex}.alarms-page__collapse-device-name{color:var(--text-primary);font-size:14px;font-weight:800}.alarms-page__collapse-device-meta{color:var(--text-secondary);font-size:11px}.alarms-page__active-list{flex-direction:column;gap:8px;display:flex}.alarms-page__active-item{background:#fff2f2b3;border:1px solid #ef444424;border-radius:12px;padding:10px 12px}.alarms-page__active-item-main{flex-direction:column;gap:4px;display:flex}.alarms-page__active-item-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.alarms-page__collapse-chips{flex-wrap:wrap;gap:6px;display:inline-flex}.detail-alert-row .status-chip{flex:none;padding:2px 7px;font-size:10px}.alarms-page__active-item-title{color:var(--text-primary);font-size:13px;font-weight:800}.alarms-page__active-item-code{color:#c2410c;background:#f59e0b1f;border:1px solid #f59e0b2e;border-radius:999px;align-items:center;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.alarms-page__active-item-detail{color:var(--text-secondary);font-size:12px;line-height:1.45}.alarms-page__panel{gap:12px}.alarms-page__table .ant-table-thead>tr>th{padding-top:10px;padding-bottom:10px;font-size:12px}.alarms-page__table .ant-table-tbody>tr>td{padding-top:10px;padding-bottom:10px}.alarms-page__table-device{flex-direction:column;gap:2px;display:flex}.alarms-page__table-device-name{color:var(--text-primary);font-size:13px;font-weight:700}.alarms-page__table-device-id{color:var(--text-secondary);font-size:11px}.alarms-page__table-alarm{flex-direction:column;gap:4px;display:flex}.alarms-page__table-alarm-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.alarms-page__table-alarm-title{color:var(--text-primary);font-size:13px;font-weight:700}.alarms-page__table-alarm-code{color:#0f5db6;background:#1f7ae014;border:1px solid #1f7ae01f;border-radius:999px;align-items:center;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.alarms-page__table-alarm-detail{color:var(--text-secondary);font-size:12px;line-height:1.45}.section-card{background:var(--surface-section);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:22px}.section-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.section-header__title{color:var(--text-primary);font-size:22px;font-weight:800;line-height:1.2}.section-header__subtitle{color:var(--text-secondary);margin-top:6px;font-size:13px}.section-header__badge{color:var(--text-primary);border:1px solid var(--border-subtle);background:#0f243c0a;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:12px;font-weight:700;display:inline-flex}.section-header__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.detail-section-toggle.ant-btn{height:32px;color:var(--text-secondary);border-color:var(--border-subtle);box-shadow:none;background:#0f243c08;border-radius:999px;padding:0 12px}.detail-loading-mode.ant-segmented{border-radius:999px;padding:3px}.detail-loading-mode .ant-segmented-item{min-height:28px}.detail-loading-mode .ant-segmented-item-label{padding-inline:10px;font-size:11px;line-height:24px}.detail-loading-history-range{width:230px}.detail-loading-events-mobile__pagination{justify-content:center}.device-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.device-card.ant-card{cursor:pointer;background:linear-gradient(180deg, var(--surface-glass) 0%, #f7fafdfa 100%);border-radius:20px;height:100%;transition:transform .18s,box-shadow .18s,border-color .18s;border:1px solid #10233a14!important}.device-card:hover{transform:translateY(-2px);box-shadow:0 18px 30px #0f243c14;border-color:#1f7ae02e!important}.device-card--compact.ant-card{border-radius:12px}.device-card--compact:hover{transform:translateY(-1px);box-shadow:0 10px 20px #0f243c12}.device-card .ant-card-body{flex-direction:column;gap:8px;height:100%;padding:13px;display:flex}.device-card--compact .ant-card-body{gap:6px;padding:10px}.device-card .status-chip{gap:5px;padding:5px 9px;font-size:11px;line-height:1}.device-card--compact .status-chip{gap:4px;padding:4px 7px;font-size:10.5px}.device-card__title{min-width:0;color:var(--text-primary);flex-wrap:wrap;align-items:center;gap:5px;font-size:16px;font-weight:800;display:flex}.device-card__title-main{overflow-wrap:anywhere;min-width:0}.device-card__title-model{color:#155e75;background:#0891b214;border:1px solid #0891b226;border-radius:999px;flex:none;align-items:center;padding:1px 5px;font-size:10px;font-weight:800;line-height:1.35;display:inline-flex}.device-card--compact .device-card__title{font-size:14px;line-height:1.25}.device-card__status-row{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.device-card__metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.device-card--compact .device-card__metrics{gap:6px}.device-card__metric{background:var(--surface-muted);border:1px solid #10233a0f;border-radius:14px;min-height:68px;padding:10px 11px}.device-card--compact .device-card__metric{border-radius:10px;min-height:54px;padding:7px 8px}.device-card__metric--primary{background:linear-gradient(#ebf4ffdb 0%,#f7fafdeb 100%)}.device-card__metric-label{color:var(--text-secondary);font-size:11px;font-weight:700;display:block}.device-card__metric-value{color:var(--text-primary);flex-wrap:wrap;align-items:baseline;gap:6px;margin-top:7px;font-size:17px;font-weight:800;line-height:1.2;display:flex}.device-card--compact .device-card__metric-value{gap:4px;margin-top:4px;font-size:15px}.device-card__metric-value--inline{flex-wrap:nowrap;gap:8px}.device-card--compact .device-card__metric-value--inline{gap:5px}.device-card__metric-main{letter-spacing:0;font-size:18px;font-weight:800}.device-card--compact .device-card__metric-main{font-size:16px}.device-card__metric-side{color:var(--text-secondary);font-size:12px;font-weight:700}.device-card__metric-delta{font-size:11px;font-weight:700}.device-card__metric-delta--danger{color:var(--accent-red)}.device-card__metric-delta--neutral{color:var(--text-secondary)}.device-card__metric-hint{color:var(--text-secondary);margin-top:6px;font-size:11px;line-height:1.4;display:block}.device-card--compact .device-card__metric-hint{margin-top:3px;font-size:10.5px}.device-card__setpoint-row{flex-wrap:nowrap;align-items:center;gap:5px;width:100%;min-width:0;display:flex}.device-card__setpoint-tag{color:#7c2d12;white-space:nowrap;background:#fbbf241f;border:1px solid #d9770629;border-radius:8px;flex-wrap:nowrap;flex:0 0 176px;justify-content:flex-start;align-items:center;gap:5px;width:176px;min-width:0;max-width:100%;padding:6px 8px;font-size:12px;font-weight:800;line-height:1.2;display:inline-flex;overflow:hidden}.device-card__setpoint-label{color:#7c2d12c7;white-space:nowrap;flex:none}.device-card__setpoint-value{color:#7c2d12;white-space:nowrap;flex:none;font-size:13px}.device-card__setpoint-delta{min-width:0;color:var(--text-secondary);text-align:right;text-overflow:clip;white-space:nowrap;flex:none;margin-left:auto;overflow:hidden}.device-card__setpoint-delta--danger{color:var(--accent-red)}.device-card--compact .device-card__setpoint-tag{gap:4px;padding:5px 7px;font-size:11.5px}.device-card--compact .device-card__setpoint-value{font-size:12px}.device-card--compact .device-card__setpoint-delta{font-size:10.5px;line-height:1.1}.device-card__air-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.device-card--compact .device-card__air-row{gap:4px}.device-card__air-health-row{justify-content:flex-start;min-width:0;margin-top:-2px;display:flex}.device-card__valve-setpoint-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:100%;min-width:0;display:grid}.device-card--compact .device-card__valve-setpoint-row{gap:4px}.device-card__air-tag{background:#0f243c09;border:1px solid #10233a12;border-radius:8px;flex-direction:column;justify-content:flex-start;min-width:0;min-height:76px;padding:8px 9px;line-height:1.15;display:flex}.device-card--compact .device-card__air-tag{min-height:72px;padding:6px 7px}.device-card__air-stack{flex-direction:column;gap:3px;min-width:0;display:flex}.device-card__air-head{justify-content:space-between;align-items:baseline;gap:4px;min-width:0;margin-bottom:4px;display:flex}.device-card__air-label{color:var(--text-secondary);flex:none;font-size:11px;font-weight:800;display:block}.device-card__air-reading{justify-content:space-between;align-items:baseline;gap:4px;min-width:0;line-height:1.2;display:flex}.device-card__air-reading-label{color:#5e7186e0;flex:none;font-size:10px;font-weight:800}.device-card__air-reading-value{min-width:0;color:var(--text-primary);text-align:right;white-space:normal;font-size:13px;font-weight:800;overflow:visible}.device-card__air-reading--temp .device-card__air-reading-value{color:#9f3412;font-size:13.5px;font-weight:900}.device-card__air-reading--rh .device-card__air-reading-value{color:#0f766e}.device-card__air-reading--moisture .device-card__air-reading-value{color:#2563eb;font-size:11.5px;font-weight:800}.device-card__air-reading--supply-moisture-ideal,.device-card__air-reading--supply-moisture-elevated,.device-card__air-reading--supply-moisture-danger{border-radius:5px;margin:0 -3px;padding:1px 3px}.device-card__air-reading--supply-moisture-ideal{background:#0596691a}.device-card__air-reading--supply-moisture-ideal .device-card__air-reading-label,.device-card__air-reading--supply-moisture-ideal .device-card__air-reading-value{color:#047857}.device-card__air-reading--supply-moisture-elevated{background:#f59e0b21}.device-card__air-reading--supply-moisture-elevated .device-card__air-reading-label,.device-card__air-reading--supply-moisture-elevated .device-card__air-reading-value{color:#b45309}.device-card__air-reading--supply-moisture-danger{background:#ef444421}.device-card__air-reading--supply-moisture-danger .device-card__air-reading-label,.device-card__air-reading--supply-moisture-danger .device-card__air-reading-value{color:#dc2626;font-weight:900}.device-card__humidity-status{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;width:auto;min-height:26px;padding:4px 9px;font-size:12px;font-weight:900;line-height:1.2;display:inline-flex}.device-card__humidity-status--healthy{color:#6ee7b7;background:#064e3bd1;border:1px solid #34d399}.device-card__humidity-status--normal{color:#bfdbfe;background:#1e40afb8;border:1px solid #60a5fa}.device-card__humidity-status--high{color:#fde68a;background:#92400ec7;border:1px solid #fbbf24}.device-card__humidity-status--warning{color:#fecaca;background:#7f1d1dc7;border:1px solid #f87171}.device-card--compact .device-card__air-reading-value{font-size:12.5px}.device-card--compact .device-card__air-reading--temp .device-card__air-reading-value{font-size:13px}.device-card--compact .device-card__air-reading--moisture .device-card__air-reading-value{font-size:11px}.device-card__air-tag--supply{background:#1f7ae012;border-color:#1f7ae021}.device-card__air-tag--return{background:#0f766e0f;border-color:#0f766e21}.device-card__air-tag--fresh{background:#0ea5e912;border-color:#0ea5e921}.device-card__tag-row{flex-wrap:wrap;gap:6px;display:flex}.device-card--compact .device-card__tag-row{gap:4px}.device-card__data-tag{max-width:100%;color:var(--text-secondary);white-space:nowrap;background:#0f243c09;border:1px solid #10233a0d;border-radius:999px;align-items:center;padding:5px 9px;font-size:10.5px;font-weight:700;line-height:1.2;display:inline-flex}.device-card--compact .device-card__data-tag{padding:4px 7px;font-size:10px}.device-card__data-tag--fresh{color:#0f5db6;background:#1f7ae014;border-color:#1f7ae01f}.device-card__data-tag--fan{text-overflow:ellipsis;min-width:0;color:var(--text-primary);background:#0f243c06;flex:0 auto;font-size:10px;overflow:hidden}.device-card__data-tag--valve{color:#155e75;background:#0891b212;border-color:#0891b224;gap:5px;min-width:0}.device-card__data-tag--valve-water{color:#0f766e;background:#14b8a614;border-color:#14b8a629}.device-card__data-tag--valve-combo{grid-template-columns:auto max-content max-content minmax(12px,1fr);gap:4px;width:100%;min-width:0;display:grid}.device-card__valve-combo-value{min-width:max-content;color:var(--text-primary);white-space:nowrap;overflow:visible}.device-card__data-tag--valve-combo .device-card__valve-track{width:100%;min-width:12px}.device-card__data-tag--valve-compact{white-space:normal;border-radius:8px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:4px;width:100%;min-width:0;min-height:46px;padding:6px 7px;display:flex}.device-card__data-tag--valve-mode{color:#1d4ed8;background:#1f7ae014;border-color:#1f7ae024;min-height:44px;padding:5px 7px}.device-card__data-tag--valve-customer{min-height:50px}.device-card__data-tag--valve-customer .device-card__valve-track{width:100%;min-width:18px}.device-card__data-tag--damper-mode{color:#6d28d9;background:#7c3aed12;border-color:#7c3aed24;flex:0 auto;gap:6px;min-width:0}.device-card__data-tag--water-setpoint{color:#0f766e;background:#14b8a614;border-color:#14b8a629;flex:0 auto;gap:6px;min-width:0}.device-card__damper-mode-label{color:currentColor}.device-card__damper-mode-value{color:var(--text-primary)}:root[data-theme=dark] .device-card__air-reading--temp .device-card__air-reading-value{color:#f2946b}:root[data-theme=dark] .device-card__air-reading--rh .device-card__air-reading-value{color:#34d0b4}:root[data-theme=dark] .device-card__air-reading--moisture .device-card__air-reading-value{color:#92b7fb}:root[data-theme=dark] .device-card__air-reading-label{color:#a0adb8d9}:root[data-theme=dark] .device-card__air-label{color:#c8d0d8eb}:root[data-theme=dark] .device-card__setpoint-tag,:root[data-theme=dark] .device-card__setpoint-value{color:#f2b573}:root[data-theme=dark] .device-card__data-tag--fresh,:root[data-theme=dark] .device-card__data-tag--valve-mode{color:#92b7fb}:root[data-theme=dark] .device-card__fresh-sv-value,:root[data-theme=dark] .device-card__fresh-sv-edit{color:#92b7fb;background:#92b7fb1f;border-color:#92b7fb52}:root[data-theme=dark] .device-card__fresh-sv-edit:hover:not(:disabled){background:#92b7fb38;border-color:#92b7fb80}:root[data-theme=dark] .device-card__valve-mode-value--auto,:root[data-theme=dark] .device-card__footer-link{color:#92b7fb}:root[data-theme=dark] .device-card__data-tag--valve{color:#58c7e0}:root[data-theme=dark] .device-card__data-tag--valve-water,:root[data-theme=dark] .device-card__data-tag--water-setpoint{color:#35d0b4}:root[data-theme=dark] .device-card__data-tag--damper-mode{color:#b191f5}:root[data-theme=dark] .device-card.ant-card{background:linear-gradient(180deg, var(--surface-glass) 0%, #1a1f24fa 100%);border-color:#ffffff14!important}:root[data-theme=dark] .device-card:hover{box-shadow:0 18px 30px #0006;border-color:#7ea6f759!important}:root[data-theme=dark] .device-card__metric--primary{background:linear-gradient(#7ea6f71f 0%,#ffffff0a 100%)}:root[data-theme=dark] .compressor-tile--running{background:linear-gradient(#35d08a24 0%,#35d08a0d 100%)}:root[data-theme=dark] .compressor-tile--stopped{background:linear-gradient(180deg, var(--surface-glass) 0%, #ffffff0a 100%)}:root[data-theme=dark] .compressor-tile--disabled{background:linear-gradient(#f2696e24 0%,#f2696e0d 100%)}:root[data-theme=dark] .device-card__data-tag{background:#ffffff0d;border-color:#ffffff14}:root[data-theme=dark] .device-card__data-tag--loading{color:#35d08a;background:#35d08a1a;border-color:#35d08a33}:root[data-theme=dark] .device-card__loading-count{color:#35d08a}:root[data-theme=dark] .device-card__data-tag--vfd{color:#92b7fb;background:#92b7fb1a;border-color:#92b7fb38}:root[data-theme=dark] .device-card__data-tag--vfd-running{color:#35d08a;background:#35d08a1a;border-color:#35d08a33}:root[data-theme=dark] .detail-alert-row{color:#f2b8ba;background:#f2696e1f;border-color:#f2696e47}:root[data-theme=dark] .detail-alert-row__dot{background:#f2696e}:root[data-theme=dark] .detail-alert-row__description{color:#f2b8ba}:root[data-theme=dark] .metric-card--blue{background:linear-gradient(180deg, var(--surface-strong) 0%, #7ea6f71a 100%)}:root[data-theme=dark] .metric-card--green{background:linear-gradient(180deg, var(--surface-strong) 0%, #35d08a1a 100%)}:root[data-theme=dark] .metric-card--amber{background:linear-gradient(180deg, var(--surface-strong) 0%, #f0b23c1a 100%)}:root[data-theme=dark] .metric-card--red{background:linear-gradient(180deg, var(--surface-strong) 0%, #f2696e1a 100%)}:root[data-theme=dark] .metric-card--blue .metric-card__icon{color:#7ea6f7;background:#7ea6f72e}:root[data-theme=dark] .metric-card--green .metric-card__icon{color:#35d08a;background:#35d08a2e}:root[data-theme=dark] .metric-card--amber .metric-card__icon{color:#f0b23c;background:#f0b23c2e}:root[data-theme=dark] .metric-card--red .metric-card__icon{color:#f2696e;background:#f2696e2e}:root[data-theme=dark] .alarms-page__active-item{background:#f2696e1a;border-color:#f2696e38}:root[data-theme=dark] .alarms-page__active-item-code{color:#f0a878;background:#f0b23c29;border-color:#f0b23c3d}:root[data-theme=dark] .alarms-page__table-alarm-code{color:#7ea6f7;background:#7ea6f71f;border-color:#7ea6f733}:root[data-theme=dark] .factory-ops__inspection-panel{background:var(--surface-strong);border-color:var(--border-subtle)}:root[data-theme=dark] .factory-ops__inspection-group-hint{color:var(--text-secondary)}:root[data-theme=dark] .factory-ops__customer-event-badge{color:#f0b23c;background:#f0b23c29}:root[data-theme=dark] .auth-page{background:radial-gradient(circle at 0 0,#1f7ae029,#0000 30%),radial-gradient(circle at 100%,#0891b21f,#0000 24%),linear-gradient(#14181c 0%,#171b1f 100%)}:root[data-theme=dark] .auth-card.ant-card{border-color:var(--border-subtle)!important}:root[data-theme=dark] .auth-card__eyebrow{color:#7ea6f7}.device-card__valve-label{color:currentColor;white-space:nowrap;flex:none;min-width:0;font-size:11px;font-weight:800;line-height:1.15;display:block}.device-card__valve-heading{justify-content:space-between;align-items:center;gap:4px;min-width:0;display:flex}.device-card__valve-mode-badge{color:#9a3412;text-overflow:ellipsis;white-space:nowrap;background:#fb923c21;border:1px solid #fb923c3d;border-radius:999px;flex:0 auto;align-items:center;min-width:0;max-width:100%;padding:1px 5px;font-size:10px;font-weight:800;line-height:1.3;display:inline-flex;overflow:hidden}.device-card__damper-mode-toggle,.device-card__fresh-sv-edit{color:#1d4ed8;text-align:center;cursor:pointer;background:#2563eb14;border:1px solid #2563eb47;border-radius:6px;flex:none;width:22px;height:18px;padding:0;font-size:11px;font-weight:800;line-height:16px}.device-card__fresh-sv-edit{white-space:nowrap;width:auto;min-width:38px;padding:0 3px;font-size:9.5px}.device-card__fresh-sv-value{color:#1d4ed8;text-align:center;white-space:nowrap;background:#2563eb14;border:1px solid #2563eb33;border-radius:6px;flex:none;min-width:38px;height:18px;padding:0 3px;font-size:9.5px;font-weight:800;line-height:16px}.device-card__damper-mode-toggle:hover:not(:disabled),.device-card__fresh-sv-edit:hover:not(:disabled){background:#2563eb24;border-color:#2563eb7a}.device-card__damper-mode-toggle:disabled,.device-card__fresh-sv-edit:disabled{cursor:not-allowed;opacity:.5}.device-card__valve-stack{flex-direction:column;gap:2px;min-width:0;display:flex}.device-card__valve-stack--mode{flex:auto;justify-content:center;gap:3px}.device-card__valve-reading{justify-content:space-between;align-items:baseline;gap:4px;min-width:0;line-height:1.2;display:flex}.device-card__valve-reading--mode{align-items:center}.device-card__valve-reading-label{color:#5e7186e0;flex:none;font-size:10px;font-weight:800}.device-card__valve-reading-value{overflow-wrap:anywhere;min-width:0;color:var(--text-primary);text-align:right;white-space:normal;font-size:11px;font-weight:800;line-height:1.2}.device-card__valve-mode-value{overflow-wrap:normal;color:var(--text-primary);white-space:nowrap}.device-card__valve-mode-value--auto{color:#1d4ed8}.device-card__valve-mode-value--manual{color:#ea580c}.device-card__valve-mode-value--unknown{color:var(--text-secondary)}.device-card__valve-reading-value--switch{overflow-wrap:normal;white-space:nowrap;justify-content:flex-end;align-items:center;gap:4px;display:inline-flex}.device-card__valve-value{min-width:30px;color:var(--text-primary);text-align:right}.device-card__valve-track{background:#0f243c1f;border-radius:999px;width:28px;height:4px;display:inline-flex;position:relative;overflow:hidden}.device-card__valve-fill{border-radius:inherit;background:currentColor;height:100%}.device-card__data-tag--loading{color:#0f8b51;background:#16a34a14;border-color:#16a34a1f;gap:5px}.device-card__loading-count{color:#047857;white-space:nowrap;align-items:center;margin-left:1px;display:inline-flex}.device-card__data-tag--vfd{color:#1d4ed8;background:#2563eb14;border-color:#2563eb24}.device-card__data-tag--vfd-running{color:#15803d;background:#16a34a14;border-color:#16a34a24}.device-card__data-tag--vfd-limited{color:#b45309;background:#f59e0b1f;border-color:#f59e0b3d}.device-card__data-tag--vfd-transient{color:#1d4ed8;background:#2563eb14;border-color:#2563eb24}.device-card__data-tag--vfd-idle,.device-card__data-tag--vfd-unknown{color:var(--text-secondary);background:#0f243c09;border-color:#10233a14}.device-card__compressor-main .device-card__data-tag--vfd{text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.device-card--compact .device-card__compressor-main .device-card__data-tag--vfd{max-width:108px}.device-card__offline-note{width:100%;min-height:34px;color:var(--text-secondary);background:#0f243c09;border:1px dashed #10233a24;border-radius:10px;align-items:center;padding:8px 10px;font-size:11px;font-weight:700;display:inline-flex}.device-card--compact .device-card__offline-note{min-height:30px;padding:6px 8px;font-size:10.5px}.device-card__control-tag{color:var(--text-primary);background:#1f7ae00a;border:1px solid #1f7ae01a;border-radius:999px;align-items:center;gap:6px;padding:5px 8px;display:inline-flex}.device-card--compact .device-card__control-tag{gap:4px;padding:4px 7px}.device-card__control-tag-label{color:var(--text-secondary);font-size:10.5px;font-weight:700}.device-card__control-tag .ant-switch{min-width:30px}.device-card__compressor-row{background:#0f243c08;border:1px solid #10233a0d;border-radius:14px;gap:7px;padding:5px 8px}.device-card--compact .device-card__compressor-row{border-radius:10px;gap:5px;padding:4px 7px}.device-card__compressor-label{color:var(--text-secondary);white-space:nowrap;flex:0 0 46px;font-size:11px;font-weight:700}.device-card--compact .device-card__compressor-label{flex-basis:40px;font-size:10.5px}.device-card__compressor-main{flex-wrap:wrap;flex:auto;justify-content:flex-end;align-items:center;gap:3px 6px;min-width:0;display:flex}.device-card__compressor-status-strip,.device-card__compressor-action-strip{justify-content:flex-end;align-items:center;min-width:0;display:flex}.device-card__compressor-status-strip{flex-wrap:wrap;gap:3px 5px}.device-card__compressor-action-strip{flex-wrap:nowrap;gap:2px 4px}.device-card__control-tag--compressor{white-space:nowrap;flex:none;gap:3px;padding:1px 4px}.device-card__heater-dots{white-space:nowrap;border-left:1px solid #10233a1f;flex:none;align-items:center;gap:2px;min-width:0;padding-left:5px;display:inline-flex}.device-card__heater-dots-label{color:#b45309;font-size:10px;font-weight:800;line-height:1.1}.device-card__heater-dot{background:#f59e0b2e;border:1px solid #b4530957;border-radius:50%;width:8px;height:8px;display:inline-block}.device-card__heater-dot--running{background:#f59e0b;border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b24}.device-card__heater-dot--stopped{background:var(--surface-glass)}.device-card__heater-dot--unknown{background:#94a3b829;border-color:#94a3b870}.device-card__switch-state{color:var(--text-secondary);white-space:nowrap;font-size:11px;font-weight:700}.device-card__switch-state--on{color:var(--accent-green)}.device-card__footer{justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:0;display:flex}.device-card__footer-meta{color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;display:inline-flex}.device-card--compact .device-card__footer-meta{gap:4px;font-size:10.5px}.device-card__footer-link{color:var(--accent-blue);align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.device-card--compact .device-card__footer-link{gap:4px;font-size:11px}.device-card__dots{flex:0 auto;align-items:center;gap:4px;min-width:0;display:inline-flex}.device-card__summary-dot{border:2px solid #0000;border-radius:50%;width:9px;height:9px}.device-card__summary-dot--running{background:var(--accent-green)}.device-card__summary-dot--stopped{background:#fff;border-color:#c7d1dc}.device-card__summary-dot--disabled{background:#ef44442e;border-color:#ef44447a}.device-card__summary-dot--compressor-12hp{border-radius:50%;width:12px;height:12px}.device-card__summary-dot--compressor-12hp.device-card__summary-dot--running{background:#16a34a;border-color:#16a34a}.device-card__summary-dot--compressor-12hp.device-card__summary-dot--stopped{border-color:#94a3b8}.device-card__summary-dot--compressor-6hp{border-radius:50%;width:9px;height:9px}.device-card__summary-dot--compressor-6hp.device-card__summary-dot--running{background:#16a34a;border-color:#16a34a}.device-card__summary-dot--compressor-6hp.device-card__summary-dot--stopped{border-color:#94a3b8}.device-card__summary-dot--compressor-vfd{border-radius:3px;width:12px;height:12px}.device-card__summary-dot--vfd{border-radius:3px;width:12px;height:12px;box-shadow:0 0 0 2px #0f243c0a}.device-card__summary-dot--vfd-running{background:var(--accent-green);border-color:var(--accent-green)}.device-card__summary-dot--vfd-limited{background:#f59e0b;border-color:#f59e0b}.device-card__summary-dot--vfd-transient{background:#2563eb;border-color:#2563eb}.device-card__summary-dot--vfd-idle,.device-card__summary-dot--vfd-unknown{background:#fff;border-color:#9aa8b7}.device-card__summary-dot--pressure-alarm{background:#dc2626;border-color:#dc2626;box-shadow:0 0 0 2px #dc262624}.device-card__compressor-tooltip .ant-tooltip-inner{min-width:188px;color:var(--text-primary);background:#fff;border:1px solid #10233a1a;border-radius:8px;padding:0;box-shadow:0 14px 30px #0f243c2e}.device-card__compressor-tooltip .ant-tooltip-arrow:before{background:#fff;border:1px solid #10233a14}.device-card__compressor-tooltip-panel{flex-direction:column;gap:8px;padding:10px;display:flex}.device-card__compressor-tooltip-readings{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.device-card__compressor-tooltip-meta{flex-wrap:wrap;gap:5px;display:flex}.device-card__compressor-tooltip-chip{white-space:nowrap;border:1px solid #10233a14;border-radius:6px;align-items:center;min-height:22px;padding:4px 7px;font-size:11px;font-weight:850;line-height:1;display:inline-flex}.device-card__compressor-tooltip-chip--name{color:#334155;background:#0f243c0b}.device-card__compressor-tooltip-chip--power-12hp{color:#92400e;background:#f59e0b1f;border-color:#f59e0b33}.device-card__compressor-tooltip-chip--power-6hp{color:#475569;background:#64748b1a;border-color:#64748b29}.device-card__compressor-tooltip-chip--power-vfd{color:#0f5db6;background:#1f7ae01c;border-color:#1f7ae02e}.device-card__compressor-tooltip-chip--state-running,.device-card__compressor-tooltip-chip--state-vfd-running{color:#166534;background:#16a34a1c;border-color:#16a34a2e}.device-card__compressor-tooltip-chip--state-stopped,.device-card__compressor-tooltip-chip--state-vfd-idle,.device-card__compressor-tooltip-chip--state-vfd-unknown{color:#64748b;background:#64748b17;border-color:#64748b29}.device-card__compressor-tooltip-chip--state-disabled,.device-card__compressor-tooltip-chip--state-alarm{color:#b91c1c;background:#dc262617;border-color:#dc26262e}.device-card__compressor-tooltip-chip--state-vfd-limited{color:#b45309;background:#f59e0b1f;border-color:#f59e0b33}.device-card__compressor-tooltip-chip--state-vfd-transient{color:#1d4ed8;background:#2563eb1a;border-color:#2563eb2e}.device-card__compressor-tooltip-reading{background:#0f243c09;border:1px solid #10233a12;border-radius:6px;flex-direction:column;gap:3px;min-width:0;padding:8px;display:flex}.device-card__compressor-tooltip-reading span{color:var(--text-secondary);font-size:11px;font-weight:800}.device-card__compressor-tooltip-reading strong{color:var(--text-primary);white-space:nowrap;font-size:13px;font-weight:850;line-height:1.1}.device-card__compressor-tooltip-reading--hp strong{color:#b45309}.device-card__compressor-tooltip-reading--lp strong{color:#0f766e}.device-card__compressor-tooltip-switches{flex-direction:column;gap:5px;display:flex}.device-card__compressor-tooltip-switch{color:#166534;background:#16a34a14;border:1px solid #16a34a24;border-radius:6px;grid-template-columns:8px 1fr auto;align-items:center;gap:7px;min-height:24px;padding:5px 7px;font-size:12px;font-weight:800;display:grid}.device-card__compressor-tooltip-switch--alarm{color:#b91c1c;background:#dc262614;border-color:#dc262629}.device-card__compressor-tooltip-switch-dot{background:var(--accent-green);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 2px #16a34a1f}.device-card__compressor-tooltip-switch-dot--alarm{background:#dc2626;box-shadow:0 0 0 2px #dc262624}.customer-clusters{flex-direction:column;gap:18px;display:flex}.customer-cluster{background:#0f243c08;border:1px solid #10233a0f;border-radius:22px;padding:18px}.customer-cluster__header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.customer-cluster__title{color:var(--text-primary);font-size:18px;font-weight:800}.customer-cluster__subtitle{color:var(--text-secondary);margin-top:6px;font-size:12px}.customer-cluster__meta{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.page-panel{flex-direction:column;gap:18px;display:flex}.page-toolbar{background:#0f243c08;border:1px solid #10233a0f;border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.page-toolbar__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.users-account-table .ant-table-thead>tr>th{white-space:nowrap}.users-account-table .ant-table-tbody>tr>td{vertical-align:middle}.users-account-table__nowrap,.users-account-table__name,.users-account-table__actions{white-space:nowrap}.users-account-table__last-login{white-space:nowrap;gap:2px;display:grid}.users-account-table__last-login-time{color:var(--text-secondary);font-size:12px}.users-account-table__device{gap:5px;min-width:144px;display:grid}.users-account-table__device-row{grid-template-columns:52px minmax(0,1fr);align-items:center;gap:6px;display:grid}.users-account-table__device-kind{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:inline-flex}.users-account-table__device-row .ant-tag{white-space:nowrap;justify-self:start;margin-inline-end:0}.users-account-table__device-deadline{color:var(--text-secondary);white-space:nowrap;font-size:11px}.users-account-table__actions .ant-btn{flex:none}.auth-page{background:radial-gradient(circle at 0 0,#1f7ae033,#0000 28%),radial-gradient(circle at 100%,#0891b22e,#0000 20%),linear-gradient(#f4f8fc 0%,#eaf1f7 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-page__panel{grid-template-columns:minmax(0,1.1fr) minmax(360px,420px);gap:20px;width:min(1120px,100%);display:grid}.auth-page__hero{color:#fff;background:radial-gradient(circle at 18% 18%,#ffffff2e,#0000 22%),linear-gradient(135deg,#0d2c52 0%,#173f69 56%,#1f7ae0 100%);border-radius:32px;padding:34px;position:relative;overflow:hidden;box-shadow:0 28px 56px #0d2c5238}.auth-page__hero:after{content:"";background:#ffffff14;border-radius:50%;width:240px;height:240px;position:absolute;bottom:-90px;right:-80px}.auth-page__eyebrow,.auth-page__features,.auth-page__hero>*{z-index:1;position:relative}.auth-page__logo{width:172px;height:auto;margin-bottom:20px;display:block}.auth-page__eyebrow{color:#ffffffe6;letter-spacing:.04em;background:#ffffff1a;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.auth-page__hero-title{color:#fff!important;margin-top:24px!important;font-size:clamp(32px,4vw,44px)!important}.auth-page__hero-text{max-width:520px;font-size:15px;color:#ffffffd1!important;line-height:1.8!important}.auth-page__features{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px;display:grid}.auth-page__feature{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1f;border:1px solid #ffffff1f;border-radius:20px;min-height:92px;padding:16px 18px}.auth-page__feature-icon{font-size:18px}.auth-page__feature-title{margin-top:10px;font-size:15px;font-weight:700}.auth-page__feature-text{color:#ffffffb8;margin-top:6px;font-size:12px;line-height:1.6}.auth-card.ant-card{box-shadow:var(--shadow-soft);border-radius:32px;border:1px solid #ffffffc7!important}.auth-card .ant-card-body{padding:32px 30px}.auth-card__eyebrow{color:var(--accent-blue);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:700}.auth-card__title{color:var(--text-primary)!important;margin:12px 0 0!important}.auth-card__subtitle{font-size:14px;color:var(--text-secondary)!important;margin-top:10px!important;line-height:1.7!important}.form-stack{flex-direction:column;gap:6px;margin-top:28px;display:flex}.detail-tabs.ant-tabs{padding:10px 0 0}.detail-tabs .ant-tabs-nav{margin-bottom:18px}.detail-tabs .ant-tabs-nav:before{border-bottom:none}.detail-tabs .ant-tabs-tab{background:var(--surface-glass);border:1px solid #10233a0f;border-radius:16px;padding:10px 16px}.detail-tabs .ant-tabs-tab+.ant-tabs-tab{margin-left:10px}.detail-tabs .ant-tabs-tab.ant-tabs-tab-active{background:#fff;box-shadow:0 10px 22px #0f243c14}.detail-tabs .ant-tabs-ink-bar{display:none}.detail-tab-label{align-items:center;gap:8px;font-weight:700;display:inline-flex}.detail-stack{flex-direction:column;gap:18px;display:flex}.detail-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.9fr);gap:18px;display:grid}.detail-grid--equal{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-alert-list{flex-direction:column;display:flex}.detail-alert-empty{background:#0f243c08;border:1px dashed #10233a1a;border-radius:20px;place-items:center;min-height:140px;display:grid}.chart-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.chart-toolbar__controls{flex-wrap:wrap;gap:10px;display:flex}.chart-empty{background:#0f243c08;border:1px dashed #10233a1a;border-radius:22px;place-items:center;min-height:260px;display:grid}.trend-chart-shell{min-width:0}.trend-loading-events-mobile{display:none}.compressor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.compressor-tile{border:1px solid #10233a12;border-radius:22px;flex-direction:column;gap:12px;padding:16px;display:flex}.compressor-tile--running{background:linear-gradient(#f1fcf5fa 0%,#e8f8eef5 100%)}.compressor-tile--stopped{background:linear-gradient(180deg, var(--surface-glass) 0%, #f6f8fbf5 100%)}.compressor-tile--disabled{background:linear-gradient(#fff4f4fa 0%,#ffeeeef5 100%)}.compressor-tile__top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.compressor-tile__index{color:var(--text-primary);font-size:13px;font-weight:700}.compressor-tile__indicator{background:#6b7d9033;border-radius:50%;width:18px;height:18px}.compressor-tile--running .compressor-tile__indicator{background:var(--accent-green);box-shadow:0 0 0 6px #16a34a24}.compressor-tile--disabled .compressor-tile__indicator{background:var(--accent-red);box-shadow:0 0 0 6px #ef44441f}.compressor-tile__current{color:var(--text-primary);font-size:26px;font-weight:800;line-height:1.1}.compressor-tile__hint{color:var(--text-secondary);font-size:12px;line-height:1.6}.detail-status-grid{flex-direction:column;gap:12px;display:flex}.detail-status-card{background:#0f243c08;border:1px solid #10233a0f;border-radius:22px;padding:18px}.detail-status-card__title{color:var(--text-primary);font-size:16px;font-weight:800}.detail-status-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.detail-status-metric{background:var(--surface-glass);border:1px solid #10233a0d;border-radius:18px;flex-direction:column;gap:6px;padding:14px;display:flex}.detail-status-metric__head{justify-content:space-between;align-items:center;gap:10px;display:flex}.detail-status-metric__head .status-chip{gap:4px;padding:4px 8px;font-size:10px}.detail-status-label{color:var(--text-secondary);font-size:12px;font-weight:700}.detail-status-value{color:var(--text-primary);font-size:24px;font-weight:800;line-height:1.15}.detail-status-text{color:var(--text-secondary);font-size:12px}.detail-table .status-chip{white-space:nowrap}.detail-compact-header{color:#fff;background:radial-gradient(circle at 92% 20%,#3b82f66b,#0000 34%),linear-gradient(135deg,#12375f 0%,#0d2745 62%,#1f7ae0 100%);border:1px solid #ffffff24;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex;box-shadow:0 12px 26px #0f243c24}.detail-compact-header__main{align-items:center;gap:10px;min-width:0;display:flex}.detail-compact-header__back.ant-btn{color:#fff;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:10px;flex:none;height:28px}.detail-compact-header__title-block{min-width:0}.detail-compact-header__eyebrow{color:#dbeafed6;font-size:11px;font-weight:800}.detail-compact-header__title{flex-wrap:wrap;align-items:center;gap:6px;display:flex;color:#fff!important;margin:2px 0 1px!important;font-size:21px!important;line-height:1.05!important}.detail-compact-header__model{color:#b9ecff;background:#0ea5e92e;border:1px solid #7dd3fc5c;border-radius:999px;align-items:center;height:18px;padding:0 6px;font-size:11px;font-weight:800;display:inline-flex}.detail-compact-header__subtitle{font-size:10px;color:#e2e8f0d1!important;margin:0!important}.detail-compact-header__status{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.detail-alert-list--cockpit{gap:5px;max-height:54px;padding-right:2px;display:grid;overflow:auto}.detail-alert-row{color:#7f1d1d;background:#fef2f2db;border:1px solid #dc26261f;border-radius:8px;grid-template-columns:7px minmax(0,1fr);align-items:start;gap:6px;min-width:0;padding:5px 7px;display:grid}.detail-alert-row__dot{background:#dc2626;border-radius:999px;width:7px;height:7px;margin-top:7px}.detail-alert-row__content{gap:4px;min-width:0;display:grid}.detail-alert-row__head{align-items:center;gap:6px;min-width:0;display:flex}.detail-alert-row__head strong{white-space:normal;overflow-wrap:anywhere;font-size:11px;line-height:1.35}.detail-alert-row__description{color:#991b1b;white-space:normal;overflow-wrap:anywhere;font-size:10px;line-height:1.45}.detail-alert-empty--compact{min-height:118px}.section-header__badge--warn{color:#b76b00;background:#f59e0b24;border-color:#f59e0b2e}.detail-shell{gap:8px}.detail-shell .page-hero{grid-template-columns:minmax(0,1.55fr) minmax(240px,.85fr);gap:12px;padding:18px 22px}.detail-shell .page-hero__title{margin:10px 0 6px!important;font-size:clamp(22px,2.4vw,30px)!important}.detail-shell .page-hero__subtitle{max-width:640px;font-size:12px;line-height:1.4!important}.detail-shell .page-hero__meta{gap:8px;margin-top:14px}.detail-shell .hero-pill{padding:6px 9px;font-size:11px}.detail-shell .page-hero__aside{gap:8px}.detail-shell .hero-stat{border-radius:16px;min-height:88px;padding:12px 14px}.detail-shell .hero-stat__label{font-size:11px}.detail-shell .hero-stat__value{margin-top:8px;font-size:22px}.detail-shell .hero-stat__detail{margin-top:6px;font-size:11px;line-height:1.45}.detail-shell .detail-tabs.ant-tabs{padding-top:2px}.detail-shell .detail-tabs .ant-tabs-nav{margin-bottom:6px}.detail-shell .detail-tabs .ant-tabs-tab{border-radius:10px;padding:5px 9px}.detail-shell .detail-tab-label{gap:6px;font-size:13px}.detail-shell .detail-stack,.detail-shell .detail-grid{gap:10px}.detail-shell .section-card{border-radius:14px;padding:10px}.detail-shell .section-header{gap:8px;margin-bottom:6px}.detail-shell .section-header__title{font-size:16px}.detail-shell .section-header__subtitle{margin-top:2px;font-size:11px}.detail-shell .section-header__badge{padding:6px 10px;font-size:10px}.detail-shell .section-header__actions{gap:6px}.detail-shell .detail-section-toggle.ant-btn{height:28px;padding:0 10px;font-size:11px}.detail-shell .detail-loading-mode.ant-segmented{padding:2px}.detail-shell .detail-loading-mode .ant-segmented-item{min-height:24px}.detail-shell .detail-loading-mode .ant-segmented-item-label{padding-inline:8px;font-size:10px;line-height:20px}.detail-loading-events-panel{min-height:0}.detail-loading-events-table .ant-table{font-size:12px}.detail-loading-events-table .ant-table-thead>tr>th,.detail-loading-events-table .ant-table-tbody>tr>td{padding:8px 10px}.detail-shell .detail-alert-empty{border-radius:16px;min-height:112px}.detail-shell .detail-alert-list .ant-alert{border-radius:12px;margin-bottom:8px!important}.detail-shell .compressor-grid{gap:8px}.detail-shell .compressor-tile{border-radius:16px;gap:8px;padding:12px}.detail-shell .compressor-tile__index{font-size:12px}.detail-shell .compressor-tile__indicator{width:14px;height:14px}.detail-shell .compressor-tile__current{font-size:22px}.detail-shell .compressor-tile__hint{font-size:11px;line-height:1.45}.detail-shell .detail-status-grid{gap:8px}.detail-shell .detail-status-card{border-radius:16px;padding:14px}.detail-shell .detail-status-card__title{font-size:14px}.detail-shell .detail-status-split{gap:8px;margin-top:10px}.detail-shell .detail-status-metric{border-radius:14px;gap:4px;padding:10px 12px}.detail-shell .detail-status-metric__head{gap:8px}.detail-shell .detail-status-metric__head .status-chip{padding:3px 7px;font-size:10px}.detail-shell .detail-status-label{font-size:11px}.detail-shell .detail-status-value{font-size:20px}.detail-shell .detail-status-text{font-size:11px;line-height:1.4}.detail-shell .chart-toolbar{gap:10px;margin-bottom:12px}.detail-shell .detail-table .ant-table-cell{padding-top:8px!important;padding-bottom:8px!important}@media (width<=1180px){.detail-compact-header{flex-direction:column;align-items:flex-start}.detail-compact-header__status{justify-content:flex-start}}@media (width<=760px){.detail-compact-header{border-radius:18px;padding:14px}.detail-compact-header__main{flex-direction:column;align-items:flex-start}.detail-compact-header__title{font-size:24px!important}}@media (width<=1280px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-hero{grid-template-columns:1fr}.admin-dashboard__command{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"stats stats""live priority"}.admin-dashboard__stat-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.auth-page__panel{grid-template-columns:1fr}}@media (width<=991px){.app-shell__header{margin:14px 14px 0;padding:16px}.app-shell__workspace{padding:16px 14px 110px}.app-shell__header-title{font-size:24px}.section-card{padding:18px}.admin-dashboard__command{grid-template-columns:1fr;grid-template-areas:"stats""live""priority"}.admin-dashboard__stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard__priority{flex-direction:row;justify-content:flex-start}.admin-dashboard__section-top{flex-direction:column}.admin-dashboard__queue-meta{justify-content:flex-start}.detail-grid,.detail-grid--equal{grid-template-columns:1fr}}@media (width<=767px){.trend-loading-events-mobile{scrollbar-width:thin;align-items:center;gap:7px;margin:0 0 8px;padding:2px 0 6px;display:flex;overflow-x:auto}.trend-loading-events-mobile__title,.trend-loading-event-chip{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e6b;border-radius:999px;flex:none;padding:6px 9px;font-size:11px;line-height:1}.trend-loading-events-mobile__title{background:#22c55e33;font-weight:700}.page-hero{padding:22px 20px}.page-hero__aside,.stats-grid,.admin-dashboard__stat-strip,.auth-page__features,.compressor-grid,.detail-status-split,.device-card__metrics{grid-template-columns:1fr}.device-card__tag-row{gap:6px}.device-card__data-tag{white-space:normal}.section-header,.customer-cluster__header,.page-toolbar,.app-shell__header{flex-direction:column;align-items:flex-start}.admin-dashboard__command{padding:12px}.admin-dashboard__priority{flex-direction:column;align-items:stretch}.admin-dashboard__stat{min-height:62px}.detail-tabs .ant-tabs-tab{justify-content:center;width:100%}.chart-toolbar{align-items:stretch}.chart-toolbar__controls{width:100%}.app-shell__header-actions,.app-shell__account{justify-content:space-between;width:100%}}.factory-ops__coverage-row--highlight>td{background:#1677ff26!important}.factory-ops__coverage-exceptions{border:1px solid #ffa94073;border-radius:8px;margin-bottom:12px;padding:8px 12px}.factory-ops__coverage-exception-row{cursor:pointer;align-items:center;gap:8px;padding:4px 0;display:flex}.factory-ops__cell-switch-off.ant-tag{color:#00000073;background:#0000000f;border-color:#0000}:root[data-theme=dark] .factory-ops__cell-switch-off.ant-tag{color:#ffffff73;background:#ffffff14}.coverage-workbench{flex-direction:column;gap:12px;min-width:0;display:flex}.coverage-workbench__toolbar{align-items:center;gap:12px;min-width:0;display:flex}.coverage-workbench__search{width:min(320px,100%)}.coverage-workbench__exceptions{border:1px solid #ffa94073;border-radius:10px;padding:10px 12px}.coverage-workbench__exceptions-head{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;display:flex}.coverage-workbench__exceptions-empty{color:var(--text-secondary);margin-top:6px;font-size:12px}.coverage-workbench__exceptions-list{gap:4px;margin-top:8px;display:grid}.coverage-workbench__exception-item{width:100%;color:var(--text-primary);text-align:left;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:8px;padding:6px 0;display:flex}.coverage-workbench__body{border:1px solid var(--border-subtle);border-radius:12px;grid-template-columns:minmax(220px,280px) minmax(0,1fr);min-width:0;min-height:440px;display:grid;overflow:hidden}.coverage-workbench__navigator{background:color-mix(in srgb, var(--surface-glass) 88%, transparent);border-right:1px solid var(--border-subtle);min-width:0}.coverage-workbench__navigator-mobile{width:100%;display:none}.coverage-workbench__navigator-desktop{flex-direction:column;gap:4px;max-height:680px;padding:8px;display:flex;overflow-y:auto}.coverage-workbench__navigator-empty{color:var(--text-secondary);text-align:center;padding:18px 12px}.coverage-workbench__navigator-item{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;gap:6px;padding:10px;display:flex}.coverage-workbench__navigator-item:hover{background:var(--surface-glass)}.coverage-workbench__navigator-item.is-active{background:#1677ff1f;border-color:#1677ff66}.coverage-workbench__navigator-title{overflow-wrap:anywhere;font-weight:800;line-height:1.45}.coverage-workbench__navigator-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:11px;display:flex}.coverage-workbench__navigator-meta .ant-tag{margin-inline-end:0}.coverage-workbench__main{min-width:0;padding:16px}.coverage-workbench__loading{place-items:center;min-height:320px;display:grid}.coverage-workbench__detail{flex-direction:column;gap:14px;min-width:0;display:flex}.coverage-workbench__detail-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.coverage-workbench__detail-head p{color:var(--text-secondary);overflow-wrap:anywhere;margin:6px 0 0;line-height:1.55}.coverage-workbench__detail-title{align-items:flex-start;gap:8px;font-size:16px;line-height:1.45;display:flex}.coverage-workbench__global-setting{background:var(--surface-glass);border:1px solid var(--border-subtle);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.coverage-workbench__field-label,.coverage-workbench__section-title{color:var(--text-secondary);font-size:12px;font-weight:700}.coverage-workbench__parameter-summary{color:var(--text-primary);overflow-wrap:anywhere;white-space:normal;margin-top:4px;line-height:1.55}.coverage-workbench__activity{color:var(--text-secondary);flex-wrap:wrap;gap:6px 14px;font-size:12px;display:flex}.coverage-workbench__error{width:100%;color:var(--color-danger);overflow-wrap:anywhere}.coverage-workbench__rows{gap:8px;display:grid}.coverage-workbench__row{border:1px solid var(--border-subtle);border-radius:9px;grid-template-columns:minmax(180px,1.4fr) minmax(180px,1fr) auto;align-items:center;gap:12px;min-width:0;padding:10px 12px;display:grid}.coverage-workbench__row--rule{align-items:start}.coverage-workbench__row-main,.coverage-workbench__row-status{flex-direction:column;gap:4px;min-width:0;display:flex}.coverage-workbench__row-main span,.coverage-workbench__row-status span{color:var(--text-secondary);overflow-wrap:anywhere;font-size:12px;line-height:1.45}.coverage-workbench__row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex}@media (width<=1199px){.coverage-workbench__row{grid-template-columns:minmax(0,1fr);align-items:stretch}.coverage-workbench__row-actions{flex-wrap:wrap;justify-content:flex-start}}@media (width<=1023px){.coverage-workbench__toolbar{flex-wrap:wrap;align-items:stretch}.coverage-workbench__search{flex:240px}.coverage-workbench__body{border:0;grid-template-columns:minmax(0,1fr);overflow:visible}.coverage-workbench__navigator{background:0 0;border-right:0;padding:0 0 10px}.coverage-workbench__navigator-desktop{display:none}.coverage-workbench__navigator-mobile{display:block}.coverage-workbench__main{border-top:1px solid var(--border-subtle);padding:14px 0 0}.coverage-workbench__row{grid-template-columns:minmax(0,1fr);align-items:stretch}.coverage-workbench__row-actions{justify-content:flex-start}}@media (width<=560px){.coverage-workbench__toolbar>*{width:100%}.coverage-workbench__exceptions-head,.coverage-workbench__detail-head{flex-direction:column;align-items:stretch}.coverage-workbench__main{padding-inline:0}.coverage-workbench__global-setting{grid-template-columns:minmax(0,1fr)}}.hmi-panel{--hmi-label-size:13px;--hmi-value-size:14px;--hmi-table-size:12px;--hmi-readout-width:80px;--hmi-readout-height:24px;flex-direction:column;gap:6px;height:100%;min-height:0;display:flex;overflow:hidden}.hmi-topbar{background:var(--surface-strong);border:1px solid var(--border-subtle);border-radius:8px;flex:0 0 34px;align-items:center;gap:12px;padding:0 11px;display:flex;overflow:hidden}.hmi-topbar__item{color:var(--text-secondary);flex:none;align-items:center;gap:7px;font-size:13px;display:inline-flex}.hmi-topbar__item b{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:14px}.hmi-topbar__spacer{flex:1}.hmi-alarm-count{color:#dc2626!important}.hmi-alarm-ok{color:#15803d!important}.hmi-blocks{flex:1;grid-template-rows:minmax(0,1fr) minmax(0,.84fr) minmax(0,1.05fr);gap:6px;min-height:0;display:grid;overflow:hidden}.hmi-dashboard-row{gap:6px;min-width:0;min-height:0;display:grid}.hmi-dashboard-row--top{grid-template-columns:minmax(0,1.46fr) minmax(0,1fr) minmax(0,1fr);grid-template-areas:"environment temperature humidity"}.hmi-dashboard-row--middle{grid-template-columns:minmax(0,1.45fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,1.15fr);grid-template-areas:"valves loading energy fans"}.hmi-dashboard-row--equipment{grid-template-columns:minmax(0,4.2fr) minmax(255px,1fr);grid-template-areas:"equipment alarm"}.hmi-dashboard-side{grid-area:alarm;grid-template-rows:minmax(0,1fr);gap:6px;min-width:0;min-height:0;display:grid}.hmi-dashboard-side>.hmi-block{grid-area:auto}.hmi-block--environment{grid-area:environment}.hmi-block--temperature{grid-area:temperature}.hmi-block--humidity{grid-area:humidity}.hmi-block--valves{grid-area:valves}.hmi-block--loading{grid-area:loading}.hmi-block--energy{grid-area:energy}.hmi-block--fans{grid-area:fans}.hmi-block--equipment{grid-area:equipment}.hmi-block--alarm{grid-area:alarm}.hmi-dashboard-row--top:not(:has(.hmi-block--humidity)){grid-template-columns:minmax(0,1.46fr) minmax(0,1fr);grid-template-areas:"environment temperature"}.hmi-block{background:var(--surface-strong);border:1px solid var(--border-subtle);border-radius:9px;flex-direction:column;min-width:0;min-height:0;padding:0 9px 5px;display:flex;overflow:hidden}.hmi-block--wide{grid-column:1/-1}.hmi-block__head{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);white-space:nowrap;flex:0 0 31px;align-items:center;gap:8px;padding:7px 1px 5px;font-size:14px;font-weight:700;display:flex}.hmi-block__title{align-items:baseline;gap:8px;min-width:0;display:inline-flex}.hmi-block__title small{color:var(--text-muted);text-overflow:ellipsis;font-size:11px;font-weight:400;overflow:hidden}.hmi-block__extra{flex:none;align-items:center;margin-left:auto;display:inline-flex}.hmi-block__more.ant-btn{height:24px;padding-inline:4px;font-size:11px}.hmi-equipment-auto{color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;font-weight:500;display:inline-flex}.hmi-row{border-bottom:1px solid color-mix(in srgb, var(--border-subtle) 70%, transparent);min-height:26px;font-size:var(--hmi-label-size);grid-template-columns:minmax(72px,auto) 1fr;align-items:center;gap:7px;display:grid}.hmi-row:last-child{border-bottom:0}.hmi-row__label{color:var(--text-secondary);white-space:nowrap}.hmi-row__vals{justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex;overflow:visible}.hmi-moisture-group{border-bottom:1px solid color-mix(in srgb, var(--border-subtle) 70%, transparent);gap:3px;min-height:48px;padding:3px 0 5px;display:grid}.hmi-moisture-readouts{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;min-width:0;display:grid}.hmi-moisture-readout{text-align:center;flex-direction:column;align-items:stretch;gap:2px;min-width:0;display:flex}.hmi-moisture-readout small{color:var(--text-muted);font-size:9.5px}.hmi-moisture-readout .hmi-cell{justify-content:center;width:100%;min-width:0;padding-inline:4px;display:inline-flex}.hmi-valve-master{color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.hmi-valve-columns{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:0;display:grid}.hmi-valve-column{min-width:0}.hmi-valve-column__title{min-height:22px;color:var(--text-primary);padding-top:4px;font-size:11px;display:block}.hmi-valve-column .hmi-row{grid-template-columns:minmax(44px,auto) 1fr;gap:4px;min-height:22px}.hmi-valve-column .hmi-cell--adj{width:min(100%, var(--hmi-readout-width));min-width:0;padding-inline:5px}.hmi-environment-table{flex:1;min-height:0;display:grid}.hmi-environment-row{border-bottom:1px solid color-mix(in srgb, var(--border-subtle) 70%, transparent);min-height:23px;color:var(--text-secondary);grid-template-columns:minmax(62px,1.35fr) repeat(3,minmax(62px,1fr));align-items:center;gap:5px;font-size:12.5px;display:grid}.hmi-environment-row--customer-view{grid-template-columns:minmax(62px,1.35fr) repeat(2,minmax(62px,1fr))}.hmi-environment-row>:not(:first-child){text-align:right}.hmi-environment-row--head{min-height:21px;color:var(--text-muted);font-size:10.5px}.hmi-cell{font-family:Cascadia Mono,Consolas,Courier New,monospace;font-size:var(--hmi-value-size);font-variant-numeric:tabular-nums;color:var(--text-primary);white-space:nowrap;font-weight:650}.hmi-cell--run{color:var(--text-primary)}.hmi-cell--adj{width:var(--hmi-readout-width);min-height:var(--hmi-readout-height);box-sizing:border-box;color:var(--text-primary);background:linear-gradient(180deg, color-mix(in srgb, var(--accent-blue) 18%, var(--surface-raised)) 0%, color-mix(in srgb, var(--accent-blue) 10%, var(--surface-muted)) 100%);border:1px solid color-mix(in srgb, var(--accent-blue) 42%, var(--border-subtle));box-shadow:inset 0 1px 0 color-mix(in srgb, var(--text-primary) 9%, transparent), 0 0 0 1px color-mix(in srgb, var(--accent-blue) 5%, transparent);text-align:right;border-radius:6px;justify-content:flex-end;align-items:center;padding:0 8px;display:inline-flex}.hmi-cell--muted{color:var(--text-muted);opacity:.72}.hmi-dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.hmi-dot--on{background:#22c55e;box-shadow:0 0 5px #22c55eb3}.hmi-dot--off{background:#b3bcc4}.hmi-dot--unknown{background:0 0;border:1.5px dashed #b3bcc4}.hmi-pill{color:#1d4ed8;white-space:nowrap;background:#1d4ed81a;border-radius:99px;padding:1px 9px;font-size:12.5px;font-weight:600;display:inline-block}.hmi-pill--off{color:var(--text-muted);background:var(--surface-muted)}.hmi-suspect{color:#b45309;margin-left:6px;font-size:12px;font-weight:600}.hmi-cycle-warn{color:var(--accent-red);font-weight:700}.hmi-table-scroll{flex:1;min-height:0;overflow:hidden}.hmi-table{border-collapse:collapse;table-layout:fixed;width:100%;height:100%;font-size:var(--hmi-table-size);font-variant-numeric:tabular-nums}.hmi-table th{color:var(--text-muted);text-align:center;white-space:nowrap;border-bottom:1px solid var(--border-subtle);height:21px;padding:0 2px;font-weight:600}.hmi-table td{text-align:center;white-space:nowrap;height:21px;color:var(--text-primary);padding:0 2px}.hmi-table tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--surface-muted) 56%, transparent)}.hmi-table__name{font-weight:600;text-align:left!important}.hmi-condition-edit.ant-btn-link{width:var(--hmi-readout-width);box-sizing:border-box;min-height:22px;color:var(--text-primary);background:linear-gradient(180deg, color-mix(in srgb, var(--accent-blue) 18%, var(--surface-raised)) 0%, color-mix(in srgb, var(--accent-blue) 10%, var(--surface-muted)) 100%);border:1px solid color-mix(in srgb, var(--accent-blue) 42%, var(--border-subtle));box-shadow:inset 0 1px 0 color-mix(in srgb, var(--text-primary) 9%, transparent);font-size:inherit;font-variant-numeric:tabular-nums;border-radius:6px;justify-content:flex-end;align-items:center;padding:0 7px;line-height:1.2;transition:border-color .16s,box-shadow .16s,color .16s;display:inline-flex}.hmi-condition-edit.ant-btn-link:hover,.hmi-condition-edit.ant-btn-link:focus-visible{color:var(--text-primary);border-color:color-mix(in srgb, var(--accent-blue) 74%, var(--border-subtle));box-shadow:inset 0 1px 0 color-mix(in srgb, var(--text-primary) 12%, transparent), 0 0 0 2px color-mix(in srgb, var(--accent-blue) 13%, transparent)}.hmi-condition-edit .anticon{opacity:.72;font-size:.85em}.hmi-condition-modal .ant-input-number-group-wrapper{width:min(100%,280px)}.hmi-condition-modal .ant-input-number{width:100%}.hmi-condition-modal .ant-input-number-input{text-align:center;font-variant-numeric:tabular-nums;padding-inline:32px;font-family:Cascadia Mono,Consolas,Courier New,monospace}.hmi-condition-modal__formula{color:var(--text-primary);margin:14px 0 6px}.hmi-condition-modal__warning{color:var(--text-muted);margin:0}.hmi-vfd-strip{color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);white-space:nowrap;flex:0 0 23px;align-items:center;gap:9px;font-size:11px;display:flex;overflow:hidden}.hmi-vfd-strip strong{color:var(--text-primary);font-size:11.5px}.hmi-vfd-strip span{align-items:center;gap:4px;display:inline-flex}.hmi-alarm-more{color:var(--text-secondary);text-align:center;background:var(--surface-muted);border-radius:6px;margin-top:4px;padding:3px 6px;font-size:12px}.hmi-loading-list,.hmi-energy-list{flex:1;min-height:0;display:grid;overflow:auto}.hmi-summary-row{min-height:21px;color:var(--text-secondary);border-bottom:1px solid color-mix(in srgb, var(--border-subtle) 70%, transparent);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding-inline:2px;font-size:11px;display:grid}.hmi-summary-row:last-child{border-bottom:0}.hmi-summary-row strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.hmi-summary-row--head{min-height:18px;color:var(--text-muted);font-size:10px}.hmi-summary-empty{min-height:50px;color:var(--text-muted);place-items:center;font-size:11px;display:grid}.hmi-block--alarm .hmi-row{grid-template-columns:minmax(60px,auto) 1fr}.hmi-block--alarm .detail-alert-list--cockpit{flex:1;min-height:0;max-height:none}.hmi-block--alarm .detail-alert-empty--compact{flex:1;min-height:0}.hmi-block--alarm .detail-alert-empty--compact .ant-empty{margin-block:8px}:root[data-theme=dark] .app-shell--device-detail{--text-secondary:#bec7d0;--text-muted:#929da8}:root[data-theme=dark] .app-shell--device-detail .hmi-cell--muted{opacity:.88}:root[data-theme=dark] .app-shell--device-detail .hmi-table th,:root[data-theme=dark] .app-shell--device-detail .hmi-environment-row--head,:root[data-theme=dark] .app-shell--device-detail .hmi-block__head small{font-weight:500}:root[data-theme=dark] .app-shell--device-detail .ant-empty-description{color:var(--text-secondary)}.app-shell--device-detail{align-items:stretch;height:100vh;min-height:0;overflow:hidden}.app-shell--device-detail .app-shell__main,.app-shell--device-detail .app-shell__content,.app-shell--device-detail .app-shell__workspace,.app-shell--device-detail .detail-shell,.app-shell--device-detail .detail-tabs,.app-shell--device-detail .detail-tabs>.ant-tabs-content-holder,.app-shell--device-detail .detail-tabs>.ant-tabs-content-holder>.ant-tabs-content,.app-shell--device-detail .detail-tabs .ant-tabs-tabpane{min-height:0}.app-shell--device-detail .app-shell__main{height:100vh;overflow:hidden}.app-shell--device-detail .app-shell__sider{overflow-x:hidden}.app-shell--device-detail .app-shell__header{border-radius:14px;flex:0 0 58px;min-height:58px;margin:6px 10px 0;padding:6px 12px}.app-shell--device-detail .app-shell__header-overline,.app-shell--device-detail .app-shell__header-subtitle{display:none}.app-shell--device-detail .app-shell__header-title{margin-top:0;font-size:20px}.app-shell--device-detail .app-shell__content{overflow:hidden}.app-shell--device-detail .app-shell__workspace{height:calc(100vh - 64px);padding:6px 10px 8px;overflow:hidden}.app-shell--device-detail .detail-shell{height:100%;overflow:hidden}.app-shell--device-detail .detail-compact-header{border-radius:10px;flex:0 0 44px;padding:5px 8px}.app-shell--device-detail .detail-compact-header__eyebrow,.app-shell--device-detail .detail-compact-header__subtitle{display:none}.app-shell--device-detail .detail-compact-header__title{margin:0!important;font-size:17px!important}.app-shell--device-detail .detail-tabs.ant-tabs{flex-direction:column;flex:1;display:flex;overflow:hidden}.app-shell--device-detail .detail-tabs .ant-tabs-nav{flex:0 0 32px;min-height:32px;margin-bottom:4px}.app-shell--device-detail .detail-tabs>.ant-tabs-content-holder,.app-shell--device-detail .detail-tabs>.ant-tabs-content-holder>.ant-tabs-content,.app-shell--device-detail .detail-tabs .ant-tabs-tabpane-active{height:100%;overflow:hidden}@media (width<=1400px),(height<=790px){.hmi-panel{--hmi-label-size:11px;--hmi-value-size:11.5px;--hmi-table-size:9.5px}.app-shell--device-detail .app-shell__header{flex-basis:48px;min-height:48px}.app-shell--device-detail .app-shell__workspace{height:calc(100vh - 54px);padding:4px 7px 6px}.app-shell--device-detail .detail-compact-header{flex-basis:38px}.app-shell--device-detail .detail-compact-header__back.ant-btn{height:25px;padding-inline:8px}.app-shell--device-detail .detail-compact-header__status{gap:4px}.app-shell--device-detail .detail-compact-header__status .hero-pill{padding:3px 6px;font-size:9px}.hmi-blocks{grid-template-rows:minmax(0,1.08fr) minmax(0,.8fr) minmax(0,1fr);gap:4px}.hmi-dashboard-row{gap:4px}.hmi-dashboard-row--equipment{grid-template-columns:minmax(0,1fr) minmax(255px,.23fr)}.hmi-block{padding-inline:6px}.hmi-block__head{flex-basis:27px;padding-block:5px 3px;font-size:12.5px}.hmi-row{grid-template-columns:minmax(62px,auto) 1fr;gap:4px;min-height:15px}.hmi-environment-row{min-height:18px;font-size:10.5px}.hmi-environment-row--head{min-height:17px;font-size:9px}.hmi-cell--adj{min-width:48px;padding:1px 4px}.hmi-topbar{flex-basis:29px}.hmi-topbar__item,.hmi-topbar__item b{font-size:11.5px}.hmi-table th,.hmi-table td{height:17px;padding-inline:1px}.hmi-vfd-strip{flex-basis:19px;gap:6px;font-size:9.5px}.hmi-vfd-strip strong{font-size:10px}.hmi-block--alarm .detail-alert-row{padding:3px 4px}}@media (width>=901px) and (width<=1280px){.app-shell--device-detail{height:auto;min-height:100vh;overflow:visible}.app-shell--device-detail .app-shell__main,.app-shell--device-detail .app-shell__content,.app-shell--device-detail .app-shell__workspace,.app-shell--device-detail .detail-shell,.app-shell--device-detail .detail-tabs,.app-shell--device-detail .detail-tabs>.ant-tabs-content-holder,.app-shell--device-detail .detail-tabs>.ant-tabs-content-holder>.ant-tabs-content,.app-shell--device-detail .detail-tabs .ant-tabs-tabpane-active,.hmi-panel{height:auto;overflow:visible}.app-shell--device-detail .app-shell__workspace{min-height:calc(100vh - 54px)}.hmi-blocks{flex-direction:column;gap:8px;display:flex;overflow:visible}.hmi-dashboard-row{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:none;gap:8px}.hmi-dashboard-row>.hmi-block{grid-area:auto;min-height:150px}.hmi-dashboard-row--equipment{grid-template-columns:repeat(2,minmax(0,1fr))}.hmi-dashboard-row--equipment>.hmi-block--equipment,.hmi-dashboard-row--equipment>.hmi-dashboard-side{grid-column:1/-1}.hmi-dashboard-side{grid-area:auto;grid-template-rows:none;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.app-shell--device-detail{height:auto;min-height:100vh;overflow:visible}.app-shell--device-detail .app-shell__main,.app-shell--device-detail .app-shell__content,.app-shell--device-detail .app-shell__workspace,.app-shell--device-detail .detail-shell,.app-shell--device-detail .detail-tabs,.app-shell--device-detail .detail-tabs>.ant-tabs-content-holder,.app-shell--device-detail .detail-tabs>.ant-tabs-content-holder>.ant-tabs-content,.app-shell--device-detail .detail-tabs .ant-tabs-tabpane-active,.hmi-panel{height:auto;overflow:visible}.hmi-blocks{flex-direction:column;display:flex;overflow:visible}.hmi-dashboard-row{grid-template-columns:1fr;grid-template-areas:none}.hmi-dashboard-row>.hmi-block{grid-area:auto}}.alarm-config__toolbar{margin-bottom:12px}.alarm-config__name-top{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.alarm-config__register{color:var(--text-secondary);font-family:JetBrains Mono,Courier New,monospace;font-size:11px}:root[data-theme=dark] body{background:var(--surface-page)}:root[data-theme=dark] .app-shell__sider{border-right:1px solid var(--border-default);box-shadow:12px 0 28px #00000038;background:var(--surface-sidebar)!important}:root[data-theme=dark] .app-shell__menu.ant-menu-dark .ant-menu-item,:root[data-theme=dark] .app-shell__menu.ant-menu-dark .ant-menu-submenu-title{color:var(--text-secondary)}:root[data-theme=dark] .app-shell__menu.ant-menu-dark .ant-menu-item:hover,:root[data-theme=dark] .app-shell__menu.ant-menu-dark .ant-menu-submenu-title:hover{color:var(--text-primary);background:var(--surface-hover)}:root[data-theme=dark] .app-shell__menu.ant-menu-dark .ant-menu-item-selected{color:var(--text-primary);background:var(--surface-selected);box-shadow:inset 3px 0 0 var(--color-accent)}:root[data-theme=dark] .app-shell__header{border-color:var(--border-default);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--surface-section)!important}:root[data-theme=dark] .app-shell__header-actions .ant-btn,:root[data-theme=dark] .app-shell__account-button.ant-btn{color:var(--text-secondary);background:var(--surface-raised);border-color:var(--border-default)}:root[data-theme=dark] .app-shell__header-actions .ant-btn:hover,:root[data-theme=dark] .app-shell__account-button.ant-btn:hover{color:var(--text-primary);background:var(--surface-hover);border-color:var(--border-strong)}:root[data-theme=dark] .app-shell__header-subtitle,:root[data-theme=dark] .section-header__subtitle,:root[data-theme=dark] .admin-dashboard__subtitle,:root[data-theme=dark] .admin-dashboard__stat-detail,:root[data-theme=dark] .admin-dashboard__table-device-meta,:root[data-theme=dark] .admin-dashboard__metric-line,:root[data-theme=dark] .customer-cluster__subtitle{color:var(--text-secondary)}:root[data-theme=dark] .section-card,:root[data-theme=dark] .admin-dashboard__command{background:var(--surface-section);border-color:var(--border-default);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-theme=dark] .admin-dashboard__live,:root[data-theme=dark] .admin-dashboard__stat,:root[data-theme=dark] .customer-cluster,:root[data-theme=dark] .page-toolbar{background:var(--surface-card);border-color:var(--border-subtle)}:root[data-theme=dark] .admin-dashboard__stat--blue{border-left:3px solid var(--color-accent);background:#1a2a3a}:root[data-theme=dark] .admin-dashboard__stat--green{border-left:3px solid var(--color-success);background:#192d2b}:root[data-theme=dark] .admin-dashboard__stat--amber{border-left:3px solid var(--color-warning);background:#302a1f}:root[data-theme=dark] .admin-dashboard__stat--red{border-left:3px solid var(--color-danger);background:#302226}:root[data-theme=dark] .admin-dashboard__stat-icon{background:var(--surface-raised);border-color:var(--border-default)}:root[data-theme=dark] .admin-dashboard__stat--blue .admin-dashboard__stat-icon{color:var(--color-accent)}:root[data-theme=dark] .admin-dashboard__stat--green .admin-dashboard__stat-icon{color:var(--color-success)}:root[data-theme=dark] .admin-dashboard__stat--amber .admin-dashboard__stat-icon{color:var(--color-warning)}:root[data-theme=dark] .admin-dashboard__stat--red .admin-dashboard__stat-icon{color:var(--color-danger)}:root[data-theme=dark] .section-header__badge,:root[data-theme=dark] .customer-cluster__collapse-button.ant-btn{color:var(--text-secondary);background:var(--surface-raised);border-color:var(--border-default)}:root[data-theme=dark] .customer-cluster__collapse-button.ant-btn:hover{color:var(--text-primary);background:var(--surface-hover);border-color:var(--border-strong)}:root[data-theme=dark] .device-card.ant-card{background:var(--surface-card);box-shadow:var(--shadow-card);transition:background-color .16s,border-color .16s,box-shadow .16s;border-color:var(--border-default)!important}:root[data-theme=dark] .device-card:hover,:root[data-theme=dark] .device-card:focus-within{background:var(--surface-hover);box-shadow:0 12px 26px #0000004d;border-color:var(--color-accent)!important}:root[data-theme=dark] .device-card .ant-card-body{background:0 0}:root[data-theme=dark] .device-card__title-model{color:var(--color-info);background:#55c6e81f;border-color:#55c6e857}:root[data-theme=dark] .device-card__metric{background:var(--surface-raised);border-color:var(--border-subtle)}:root[data-theme=dark] .device-card__metric--primary{background:var(--surface-selected);border-color:#55a7ff6b}:root[data-theme=dark] .device-card__metric-label,:root[data-theme=dark] .device-card__metric-side,:root[data-theme=dark] .device-card__metric-hint,:root[data-theme=dark] .device-card__setpoint-delta,:root[data-theme=dark] .device-card__air-reading-label,:root[data-theme=dark] .device-card__valve-reading-label,:root[data-theme=dark] .device-card__footer-meta,:root[data-theme=dark] .device-card__control-tag-label{color:var(--text-secondary)}:root[data-theme=dark] .device-card__metric-value,:root[data-theme=dark] .device-card__metric-main,:root[data-theme=dark] .device-card__metric-side,:root[data-theme=dark] .device-card__air-reading-value,:root[data-theme=dark] .device-card__valve-reading-value,:root[data-theme=dark] .device-card__valve-mode-value,:root[data-theme=dark] .device-card__setpoint-value{font-variant-numeric:tabular-nums}:root[data-theme=dark] .device-card__air-tag,:root[data-theme=dark] .device-card__data-tag,:root[data-theme=dark] .device-card__compressor-row,:root[data-theme=dark] .device-card__control-tag,:root[data-theme=dark] .device-card__offline-note{background:var(--surface-raised);border-color:var(--border-subtle)}:root[data-theme=dark] .device-card__air-tag--supply{background:#1e3043;border-color:#55a7ff57}:root[data-theme=dark] .device-card__air-tag--return{background:#1d302f;border-color:#39cfb852}:root[data-theme=dark] .device-card__air-tag--fresh{background:#1c2d3b;border-color:#55c6e852}:root[data-theme=dark] .device-card__data-tag--fan{color:var(--text-primary);background:var(--surface-raised)}:root[data-theme=dark] .device-card__data-tag--fresh,:root[data-theme=dark] .device-card__data-tag--valve,:root[data-theme=dark] .device-card__data-tag--valve-water,:root[data-theme=dark] .device-card__data-tag--water-setpoint,:root[data-theme=dark] .device-card__data-tag--damper-mode{color:var(--text-secondary);background:var(--surface-raised);border-color:var(--border-subtle)}@media (width<=1400px){.page-hero{grid-template-columns:minmax(0,1fr)}.page-hero__aside{grid-template-columns:repeat(2,minmax(0,1fr))}}:root[data-theme=dark] .device-card__damper-mode-toggle{color:var(--color-accent);background:var(--surface-selected);border-color:var(--border-strong);box-shadow:inset 0 0 0 1px #55a7ff1f}:root[data-theme=dark] .device-card__damper-mode-toggle:hover:not(:disabled){color:var(--text-primary);background:var(--surface-hover);border-color:var(--color-accent);box-shadow:inset 0 0 0 1px #55a7ff47}:root[data-theme=dark] .device-card__damper-mode-toggle:disabled{color:var(--text-disabled);background:var(--surface-card);border-color:var(--border-subtle);box-shadow:none;opacity:1}:root[data-theme=dark] .device-card__compressor-row{border-color:var(--border-default)}:root[data-theme=dark] .device-card__heater-dots{border-left-color:var(--border-strong)}:root[data-theme=dark] .device-card__heater-dots-label{color:var(--color-warning)}:root[data-theme=dark] .device-card__heater-dot--stopped{background:var(--surface-card);border-color:var(--border-strong)}:root[data-theme=dark] .device-card__heater-dot--unknown{background:var(--surface-muted);border-color:var(--text-muted)}:root[data-theme=dark] .device-card__summary-dot--stopped{background:var(--surface-raised);border-color:var(--border-strong)}:root[data-theme=dark] .device-card__summary-dot--disabled{border-color:var(--color-danger);background:#ff6b6b33}:root[data-theme=dark] .device-card__summary-dot--vfd-idle,:root[data-theme=dark] .device-card__summary-dot--vfd-unknown{background:var(--surface-raised);border-color:var(--text-muted);box-shadow:0 0 0 2px #8f9daa29}:root[data-theme=dark] .device-card__offline-note{color:var(--text-secondary);border-style:dashed;border-color:var(--border-strong)}:root[data-theme=dark] .device-card__footer{border-top:1px solid var(--border-subtle);padding-top:6px}:root[data-theme=dark] .device-card__footer-link{color:var(--color-accent)}:root[data-theme=dark] .status-chip{border-width:1px}:root[data-theme=dark] .status-chip--success{color:#9af2bb;background:#39cf7c24;border-color:#39cf7c66}:root[data-theme=dark] .status-chip--danger{color:#ffb4b4;background:#ff6b6b24;border-color:#ff6b6b6b}:root[data-theme=dark] .status-chip--warning{color:#ffd98e;background:#f2b84b26;border-color:#f2b84b70}:root[data-theme=dark] .status-chip--info{color:#a8e6f7;background:#55c6e824;border-color:#55c6e86b}:root[data-theme=dark] .status-chip--muted{color:var(--text-secondary);background:var(--surface-raised);border-color:var(--border-strong)}:root[data-theme=dark] .ant-segmented{background:var(--surface-card);border:1px solid var(--border-subtle)}:root[data-theme=dark] .ant-segmented .ant-segmented-item{color:var(--text-secondary)}:root[data-theme=dark] .ant-segmented .ant-segmented-item:hover{color:var(--text-primary)}:root[data-theme=dark] .ant-segmented .ant-segmented-item-selected{color:var(--text-primary);background:var(--surface-selected);box-shadow:inset 0 0 0 1px var(--border-strong)}:root[data-theme=dark] .ant-select-selector,:root[data-theme=dark] .ant-input,:root[data-theme=dark] .ant-input-affix-wrapper,:root[data-theme=dark] .ant-picker,:root[data-theme=dark] .ant-input-number,:root[data-theme=dark] .ant-input-number-affix-wrapper{color:var(--text-primary)!important;background:var(--surface-raised)!important;border-color:var(--border-default)!important}:root[data-theme=dark] .ant-input::placeholder,:root[data-theme=dark] .ant-input-affix-wrapper input::placeholder,:root[data-theme=dark] .ant-select-selection-placeholder,:root[data-theme=dark] .ant-select-arrow,:root[data-theme=dark] .ant-input-prefix,:root[data-theme=dark] .ant-input-clear-icon{color:var(--text-muted)}:root[data-theme=dark] .ant-select-focused .ant-select-selector,:root[data-theme=dark] .ant-input-affix-wrapper-focused,:root[data-theme=dark] .ant-input:focus,:root[data-theme=dark] .ant-input-focused{border-color:var(--color-accent)!important;box-shadow:0 0 0 2px #55a7ff29!important}:root[data-theme=dark] .ant-table-wrapper .ant-table-container{border-color:var(--border-default)}:root[data-theme=dark] .ant-table-wrapper .ant-table-thead>tr>th{color:var(--text-secondary);background:var(--surface-raised);border-bottom-color:var(--border-default)}:root[data-theme=dark] .ant-table-wrapper .ant-table-tbody>tr>td{color:var(--text-primary);background:var(--surface-card);border-bottom-color:var(--border-subtle)}:root[data-theme=dark] .ant-table-wrapper .ant-table-tbody>tr:hover>td{background:var(--surface-hover)!important}:root[data-theme=dark] .admin-device-table .ant-tag{color:var(--text-secondary);background:var(--surface-raised);border-color:var(--border-default)}:root[data-theme=dark] .admin-device-table .ant-tag-green{color:#9af2bb;background:#39cf7c24;border-color:#39cf7c66}:root[data-theme=dark] .admin-device-table .ant-tag-red{color:#ffb4b4;background:#ff6b6b24;border-color:#ff6b6b6b}:root[data-theme=dark] .admin-device-table .ant-tag-orange{color:#ffd98e;background:#f2b84b26;border-color:#f2b84b70}:root[data-theme=dark] .admin-dashboard__stat{background:var(--surface-card);border-color:var(--border-subtle)}:root[data-theme=dark] .admin-dashboard__stat--blue{border-left:2px solid var(--color-accent)}:root[data-theme=dark] .admin-dashboard__stat--green{border-left:2px solid var(--color-success)}:root[data-theme=dark] .admin-dashboard__stat--amber{border-left:2px solid var(--color-warning)}:root[data-theme=dark] .admin-dashboard__stat--red{border-left:2px solid var(--color-danger)}:root[data-theme=dark] .device-card__title-model{color:#a9bfd4;border-color:var(--border-strong);background:#55a7ff0f}:root[data-theme=dark] .device-card__air-tag,:root[data-theme=dark] .device-card__data-tag--fan,:root[data-theme=dark] .device-card__data-tag--fresh,:root[data-theme=dark] .device-card__data-tag--valve,:root[data-theme=dark] .device-card__data-tag--valve-air,:root[data-theme=dark] .device-card__data-tag--valve-water,:root[data-theme=dark] .device-card__data-tag--valve-compact,:root[data-theme=dark] .device-card__data-tag--valve-mode,:root[data-theme=dark] .device-card__data-tag--water-setpoint,:root[data-theme=dark] .device-card__data-tag--damper-mode{color:var(--text-secondary);background:var(--surface-raised);border-color:var(--border-subtle)}:root[data-theme=dark] .device-card__air-tag--supply,:root[data-theme=dark] .device-card__air-tag--return,:root[data-theme=dark] .device-card__air-tag--fresh{background:var(--surface-raised);border-color:var(--border-subtle)}:root[data-theme=dark] .device-card__air-reading--temp .device-card__air-reading-value,:root[data-theme=dark] .device-card__air-reading--rh .device-card__air-reading-value,:root[data-theme=dark] .device-card__air-reading--moisture:not(.device-card__air-reading--supply-moisture-ideal):not(.device-card__air-reading--supply-moisture-elevated):not(.device-card__air-reading--supply-moisture-danger) .device-card__air-reading-value{color:var(--text-primary)}:root[data-theme=dark] .device-card__air-reading--supply-moisture-danger{background:#7f1d1d9e;border:1px solid #ef4444}:root[data-theme=dark] .device-card__air-reading--supply-moisture-danger .device-card__air-reading-label,:root[data-theme=dark] .device-card__air-reading--supply-moisture-danger .device-card__air-reading-value{color:#fecaca}:root[data-theme=dark] .device-card__setpoint-tag{color:var(--text-primary);background:var(--surface-raised);border-color:var(--border-subtle)}:root[data-theme=dark] .device-card__setpoint-label{color:var(--text-secondary)}:root[data-theme=dark] .device-card__setpoint-value{color:var(--color-accent)}:root[data-theme=dark] .device-card__setpoint-delta{color:var(--text-muted)}:root[data-theme=dark] .device-card__setpoint-delta--danger{color:var(--color-danger)}:root[data-theme=dark] .device-card__valve-mode-badge{color:var(--text-secondary);background:var(--surface-card);border-color:var(--border-subtle)}:root[data-theme=dark] .device-card__valve-mode-value{color:var(--color-accent)}:root[data-theme=dark] .device-card__status-row .status-chip{color:var(--text-secondary);box-shadow:none;background:0 0;border-color:#0000;gap:5px;padding:2px 0;font-weight:700}:root[data-theme=dark] .device-card__status-row .status-chip .anticon{display:none}:root[data-theme=dark] .device-card__status-row .status-chip:before{background:var(--text-muted);content:"";border-radius:50%;width:6px;height:6px}:root[data-theme=dark] .device-card__status-row .status-chip--success{color:var(--color-success)}:root[data-theme=dark] .device-card__status-row .status-chip--success:before{background:var(--color-success)}:root[data-theme=dark] .device-card__status-row .status-chip--info{color:#9fc4df}:root[data-theme=dark] .device-card__status-row .status-chip--info:before{background:var(--color-accent)}:root[data-theme=dark] .device-card__status-row .status-chip--warning{color:var(--color-warning)}:root[data-theme=dark] .device-card__status-row .status-chip--warning:before{background:var(--color-warning)}:root[data-theme=dark] .device-card__status-row .status-chip--danger{color:var(--color-danger)}:root[data-theme=dark] .device-card__status-row .status-chip--danger:before{background:var(--color-danger)}:root[data-theme=dark] .device-card__status-row .status-chip--muted{color:var(--text-muted)}:root[data-theme=dark] .device-card__summary-dot--stopped,:root[data-theme=dark] .device-card__summary-dot--compressor-12hp.device-card__summary-dot--stopped,:root[data-theme=dark] .device-card__summary-dot--compressor-6hp.device-card__summary-dot--stopped{border-color:var(--text-muted);background:0 0}.weekly-report-mobile-list,.alarms-page__history-mobile,.detail-loading-events-mobile{display:none}@media (width<=767px){.auth-page{min-height:100dvh;padding:16px}.auth-page__panel{width:min(100%,440px);display:block}.auth-page__hero{display:none}.auth-card.ant-card{border-radius:22px}.auth-card .ant-card-body{padding:26px 22px}.app-shell--customer .app-shell__header{border-radius:16px;flex-direction:row;align-items:center;gap:8px;margin:8px 8px 0;padding:10px 12px}.app-shell--customer .app-shell__header-main{flex:auto;min-width:0}.app-shell--customer .app-shell__header-overline,.app-shell--customer .app-shell__header-subtitle{display:none}.app-shell--customer .app-shell__header-title{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:18px;overflow:hidden}.app-shell--customer .app-shell__header-actions,.app-shell--customer .app-shell__account{flex:none;gap:6px;width:auto}.app-shell--customer .app-shell__account>.status-chip{display:none}.app-shell--customer .app-shell__theme-switch.ant-segmented{padding:2px}.app-shell--customer .app-shell__theme-switch .ant-segmented-item-label{min-height:28px;padding-inline:7px;font-size:11px;line-height:28px}.app-shell--customer .app-shell__account-button.ant-btn{width:38px;height:38px;padding:0;font-size:0;overflow:hidden}.app-shell--customer .app-shell__account-button .anticon{margin:0;font-size:16px}.app-shell--customer .app-shell__workspace{padding:10px 10px calc(86px + env(safe-area-inset-bottom))}.app-shell--customer .app-shell__mobile-nav{padding:7px 8px calc(7px + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:18px 18px 0 0;gap:2px;bottom:0;left:0;right:0}.app-shell--customer .app-shell__mobile-item{border-radius:12px;gap:4px;min-width:0;padding:7px 2px}.app-shell--customer .app-shell__mobile-label{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.app-shell--customer .page-shell{gap:10px}.app-shell--customer .page-hero{border-radius:18px;padding:16px}.app-shell--customer .page-hero__eyebrow{padding:4px 9px;font-size:10px}.app-shell--customer .page-hero__title{margin:9px 0 6px!important;font-size:22px!important}.app-shell--customer .page-hero__subtitle{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden;line-height:1.55!important}.app-shell--customer .page-hero__meta{gap:6px;margin-top:10px}.app-shell--customer .hero-pill{gap:5px;padding:6px 8px;font-size:10px}.app-shell--customer .customer-dashboard-page .page-hero__aside,.app-shell--customer .weekly-reports-page--customer .page-hero__aside{display:none}.app-shell--customer .customer-dashboard-page .stats-grid,.app-shell--customer .weekly-reports-page--customer .stats-grid,.app-shell--customer .alarms-page .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.app-shell--customer .metric-card .ant-card-body{gap:6px;padding:12px}.app-shell--customer .metric-card__icon{width:30px;height:30px;font-size:15px}.app-shell--customer .metric-card__label,.app-shell--customer .metric-card__detail{font-size:10px;line-height:1.35}.app-shell--customer .metric-card__value{font-size:22px}.app-shell--customer .section-card{border-radius:18px;padding:14px}.app-shell--customer .section-header{gap:8px;margin-bottom:12px}.app-shell--customer .section-header__title{font-size:18px}.app-shell--customer .section-header__subtitle{margin-top:4px;font-size:11px;line-height:1.5}.app-shell--customer .section-header__badge{padding:6px 9px;font-size:10px}.app-shell--customer .page-toolbar,.app-shell--customer .page-toolbar__actions{width:100%}.app-shell--customer .page-toolbar{border-radius:14px;gap:8px;padding:10px}.app-shell--customer .page-toolbar__actions>.ant-input-affix-wrapper,.app-shell--customer .page-toolbar__actions>.ant-select,.app-shell--customer .page-toolbar__actions>.ant-picker{width:100%!important}.app-shell--customer .page-toolbar .ant-segmented{width:100%;overflow-x:auto}.app-shell--customer .page-toolbar .ant-segmented-group{min-width:max-content}.app-shell--customer .device-grid{grid-template-columns:minmax(0,1fr);gap:10px}.app-shell--customer .device-card.ant-card{border-radius:16px}.app-shell--customer .device-card .ant-card-body{padding:13px}.app-shell--customer .device-card:hover{transform:none}.app-shell--customer .device-card__air-row{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell--customer.app-shell--device-detail .app-shell__workspace{height:auto;padding-bottom:calc(86px + env(safe-area-inset-bottom));overflow:visible}.app-shell--customer .detail-compact-header{gap:8px;padding:12px}.app-shell--customer .detail-compact-header__main{flex-direction:row;align-items:center;width:100%}.app-shell--customer .detail-compact-header__back.ant-btn{width:38px;padding:0;font-size:0;overflow:hidden}.app-shell--customer .detail-compact-header__back .anticon{margin:0;font-size:15px}.app-shell--customer .detail-compact-header__title{font-size:19px!important}.app-shell--customer .detail-compact-header__status{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;width:100%;overflow-x:auto}.app-shell--customer .detail-tabs .ant-tabs-nav{scrollbar-width:none;overflow-x:auto}.app-shell--customer .detail-tabs .ant-tabs-nav-list{min-width:max-content}.app-shell--customer .detail-tabs .ant-tabs-tab{flex:none;justify-content:center;width:auto;min-width:96px}.app-shell--customer.app-shell--device-detail .hmi-blocks{flex-direction:column;gap:10px;display:flex;overflow:visible}.app-shell--customer .hmi-dashboard-row{flex-direction:column;gap:10px;display:flex}.app-shell--customer .hmi-dashboard-row--equipment,.app-shell--customer .hmi-dashboard-side{display:contents}.app-shell--customer .hmi-block--alarm{order:-1}.app-shell--customer .hmi-dashboard-row--top{order:0}.app-shell--customer .hmi-dashboard-row--middle{order:1}.app-shell--customer .hmi-block--loading{order:2}.app-shell--customer .hmi-block--equipment{order:3}.app-shell--customer .hmi-topbar{scrollbar-width:none;overflow-x:auto}.app-shell--customer .hmi-block{flex:none;padding-inline:8px}.app-shell--customer .hmi-block--alarm .detail-alert-list--cockpit{max-height:none;overflow:visible}.app-shell--customer .detail-alert-row{padding:9px 8px}.app-shell--customer .detail-alert-row__head strong{font-size:12px}.app-shell--customer .detail-alert-row__description{font-size:11px;line-height:1.55}.app-shell--customer .hmi-summary-row{min-height:32px;font-size:12px}.app-shell--customer .hmi-summary-row--head{min-height:24px;font-size:10px}.app-shell--customer .chart-toolbar__controls{overflow-x:auto}.app-shell--customer .chart-toolbar__controls .ant-segmented{min-width:max-content}.app-shell--customer .chart-toolbar__controls .ant-select{width:100%!important}.app-shell--customer .detail-loading-events-mobile,.app-shell--customer .alarms-page__history-mobile,.app-shell--customer .weekly-report-mobile-list{gap:9px;display:grid}.app-shell--customer .detail-loading-events-panel .section-header__actions,.app-shell--customer .detail-loading-history-range{width:100%}.app-shell--customer .detail-loading-events-panel .section-header__actions{justify-content:flex-start}.app-shell--customer .detail-loading-events-table,.app-shell--customer .alarms-page__table,.app-shell--customer .weekly-report-desktop-table{display:none}.detail-loading-event-card,.alarms-page__history-card,.weekly-report-mobile-card{background:var(--surface-glass);border:1px solid var(--border-subtle);border-radius:14px;padding:12px}.detail-loading-event-card__head,.alarms-page__history-card-top,.weekly-report-mobile-card__head{color:var(--text-primary);justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.detail-loading-event-card__head>span,.weekly-report-mobile-card__head>span{color:var(--accent-blue);font-weight:800}.detail-loading-event-card dl,.weekly-report-mobile-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 0;display:grid}.detail-loading-event-card dl>div,.weekly-report-mobile-card dl>div{background:#0f243c09;border-radius:10px;min-width:0;padding:8px}.detail-loading-event-card dt,.weekly-report-mobile-card dt{color:var(--text-secondary);font-size:10px}.detail-loading-event-card dd,.weekly-report-mobile-card dd{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:12px;font-weight:800;overflow:hidden}.alarms-page__history-card-top>div{gap:2px;display:grid}.alarms-page__history-card-top span{color:var(--text-secondary);font-size:10px}.alarms-page__history-card-title{color:var(--text-primary);justify-content:space-between;align-items:center;gap:8px;margin-top:10px;font-size:13px;font-weight:800;display:flex}.alarms-page__history-card-title code{color:var(--accent-blue);background:#1f7ae014;border-radius:999px;flex:none;padding:2px 6px;font-size:10px}.alarms-page__history-card p{color:var(--text-secondary);margin:6px 0 0;font-size:11px;line-height:1.5}.app-shell--customer .alarms-page__toolbar-actions .ant-space{flex-direction:column;align-items:stretch;width:100%}.app-shell--customer .alarms-page__toolbar-actions .ant-picker{width:100%}.app-shell--customer .alarms-page__collapse-header{flex-direction:column;align-items:flex-start}.app-shell--customer .alarms-page__collapse-chips{justify-content:flex-start}}body[data-acct-stamp] .device-card,body[data-acct-stamp] .section-card,body[data-acct-stamp] .metric-card,body[data-acct-stamp] .hmi-block{position:relative}body[data-acct-stamp] .device-card .ant-card-body{padding-bottom:22px}body[data-acct-stamp] .metric-card .ant-card-body{padding-bottom:24px}body[data-acct-stamp] .section-card{padding-bottom:26px}body[data-acct-stamp] .hmi-block{padding-bottom:16px}body[data-acct-stamp] .device-card:after,body[data-acct-stamp] .section-card:after,body[data-acct-stamp] .metric-card:after,body[data-acct-stamp] .hmi-block:after{content:var(--acct-stamp-code,"");z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;letter-spacing:.5px;color:#121a2a4d;font:500 10px/1 ui-monospace,SF Mono,Menlo,Consolas,monospace;position:absolute;bottom:4px;right:11px}:root[data-theme=dark] body[data-acct-stamp] .device-card:after,:root[data-theme=dark] body[data-acct-stamp] .section-card:after,:root[data-theme=dark] body[data-acct-stamp] .metric-card:after,:root[data-theme=dark] body[data-acct-stamp] .hmi-block:after{color:#e8eefa6b}
