.bot-search-fab.ant-float-btn{right:20px!important;bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;z-index:1200!important;width:52px!important;height:52px!important;box-shadow:0 10px 28px #1677ff61!important}.bot-search-fab.ant-float-btn .ant-float-btn-body{width:52px!important;height:52px!important}.bot-search-fab .ant-float-btn-icon{font-size:22px!important}@media (max-width: 768px){.bot-search-fab.ant-float-btn{right:16px!important;bottom:calc(100px + env(safe-area-inset-bottom,0px))!important;z-index:1300!important;width:48px!important;height:48px!important}.bot-search-fab.ant-float-btn .ant-float-btn-body{width:48px!important;height:48px!important}.bot-search-fab .ant-float-btn-icon{font-size:20px!important}}.qaf-root{position:fixed;right:20px;bottom:calc(72px + env(safe-area-inset-bottom,0px));z-index:1250;width:44px;height:44px;pointer-events:none}.qaf-root *{pointer-events:auto}.qaf-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1240;background:transparent;border:0;padding:0;cursor:default}.qaf-main{position:absolute;right:0;bottom:0;width:44px;height:44px;border:none;border-radius:50%;background:#531dab;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px #531dab5c;transition:background .2s ease,transform .25s cubic-bezier(.4,0,.2,1),box-shadow .2s ease;z-index:2}.qaf-main:hover,.qaf-main:focus-visible{background:#391085;box-shadow:0 6px 16px #531dab6b;outline:none}.qaf-main.is-open{background:#391085;transform:rotate(45deg)}.qaf-main-icon{font-size:18px;line-height:1;display:flex}.qaf-satellites{position:absolute;right:0;bottom:0;width:44px;height:44px;margin:0;padding:0;list-style:none;z-index:1}.qaf-sat{position:absolute;right:4px;bottom:4px;margin:0;opacity:0;transform:translate(0) scale(.4);transition:opacity .22s cubic-bezier(.4,0,.2,1),transform .28s cubic-bezier(.34,1.4,.64,1);transition-delay:0ms;pointer-events:none}.qaf-root.is-open .qaf-sat{opacity:1;pointer-events:auto}.qaf-root.is-open .qaf-sat[data-i="0"]{transform:translate(-15px,-85px) scale(1);transition-delay:40ms}.qaf-root.is-open .qaf-sat[data-i="1"]{transform:translate(-78px,-36px) scale(1);transition-delay:80ms}.qaf-root.is-open .qaf-sat[data-i="2"]{transform:translate(-75px,40px) scale(1);transition-delay:.12s}.qaf-sat-btn{width:36px;height:36px;border:none;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:15px;box-shadow:0 4px 12px var(--qaf-shadow, rgba(0, 0, 0, .22));transition:transform .15s ease,filter .15s ease}.qaf-sat-btn:hover,.qaf-sat-btn:focus-visible{transform:scale(1.06);filter:brightness(1.06);outline:none}.qaf-sat-label{position:absolute;right:calc(100% + 8px);top:50%;transform:translateY(-50%);white-space:nowrap;padding:4px 12px;border-radius:999px;background:#000000b8;color:#fff;font-size:11px;font-weight:500;line-height:1.3;box-shadow:0 2px 6px #00000029;opacity:0;transition:opacity .2s ease;transition-delay:0ms;pointer-events:none}.qaf-root.is-open .qaf-sat-label{opacity:1;transition-delay:.1s}@media (max-width: 768px){.qaf-root{right:16px;bottom:calc(88px + env(safe-area-inset-bottom,0px));width:42px;height:42px}.qaf-main{width:42px;height:42px}.qaf-main-icon{font-size:17px}.qaf-satellites{width:42px;height:42px}.qaf-sat-btn{width:34px;height:34px;font-size:14px}.qaf-root.is-open .qaf-sat[data-i="0"]{transform:translate(-14px,-78px) scale(1)}.qaf-root.is-open .qaf-sat[data-i="1"]{transform:translate(-72px,-32px) scale(1)}.qaf-root.is-open .qaf-sat[data-i="2"]{transform:translate(-70px,36px) scale(1)}}@media (prefers-reduced-motion: reduce){.qaf-main,.qaf-main-icon,.qaf-sat,.qaf-sat-btn,.qaf-sat-label{transition:none!important}}.app-mobile-nav-drawer .ant-drawer-header{background:linear-gradient(135deg,#667eea,#764ba2)!important;border-bottom:none!important;padding:14px 16px!important;padding-top:calc(14px + env(safe-area-inset-top,0px))!important}.app-mobile-nav-drawer .ant-drawer-close{color:#ffffffe6!important}.app-mobile-nav-drawer .ant-drawer-body{padding:0!important;background:linear-gradient(180deg,#1a1a2e,#16213e,#0f3460);display:flex;flex-direction:column;overflow:hidden}.app-mobile-nav-drawer-user{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08);color:#fff}.app-mobile-nav-drawer-user-meta{min-width:0;flex:1}.app-mobile-nav-drawer-user-name{font-weight:600;font-size:14px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-mobile-nav-drawer-user-role{font-size:12px;opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-mobile-nav-menu{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.app-mobile-nav-menu.ant-menu-dark{background:transparent!important}.app-mobile-nav-menu .ant-menu-item,.app-mobile-nav-menu .ant-menu-submenu-title{height:46px!important;line-height:46px!important;margin-inline:8px!important;width:calc(100% - 16px)!important;border-radius:10px!important}.app-mobile-nav-menu .ant-menu-item-selected{background:#667eea59!important;font-weight:600}.app-mobile-nav-menu .ant-menu-submenu-selected>.ant-menu-submenu-title{color:#fff!important}.app-mobile-shortcuts{display:flex;gap:8px;padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px)*0);overflow-x:auto;-webkit-overflow-scrolling:touch;background:#fffffff5;border-bottom:1px solid rgba(0,0,0,.06);position:sticky;top:64px;z-index:90;scrollbar-width:none}.app-mobile-shortcuts::-webkit-scrollbar{display:none}.app-mobile-shortcut-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:999px;border:1px solid #e8e8e8;background:#fff;color:#000000bf;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;box-shadow:0 1px 4px #0f1c380f}.app-mobile-shortcut-chip .anticon{font-size:14px;color:#667eea}.app-mobile-shortcut-chip.is-active{border-color:#667eea;background:#667eea1a;color:#4c5fd7}.app-header-quick-actions{display:inline-flex;align-items:center}.app-header-search-btn.ant-btn{width:40px;height:40px;min-width:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:18px;color:#595959;border-radius:50%;transition:all .3s ease}.app-header-search-btn.ant-btn:hover{color:#1677ff;background:#667eea1a!important}.app-header-bell{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#595959;transition:background .3s ease,color .3s ease}.app-header-bell:hover{color:#1677ff;background:#667eea1a}.app-header-bell .anticon{display:inline-block;transform-origin:top center}@keyframes app-header-bell-ring{0%,12%{transform:rotate(0)}2%{transform:rotate(14deg)}4%{transform:rotate(-12deg)}6%{transform:rotate(10deg)}8%{transform:rotate(-8deg)}10%{transform:rotate(4deg)}to{transform:rotate(0)}}.app-header-bell.has-unread .anticon{animation:app-header-bell-ring 2.4s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.app-header-bell.has-unread .anticon{animation:none}}.app-header-welcome{flex:1.6 1 0;min-width:0;overflow:hidden;position:relative;align-self:stretch;display:flex;align-items:center;pointer-events:none}.app-header-welcome-text{position:absolute;left:0;top:50%;white-space:nowrap;font-size:14px;font-weight:600;letter-spacing:.01em;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:app-header-welcome-marquee 10s linear forwards;will-change:transform,left}@keyframes app-header-welcome-marquee{0%{left:0;transform:translate(-100%,-50%)}to{left:100%;transform:translateY(-50%)}}@media (max-width: 767px){.app-header-welcome-text{font-size:12px;animation-duration:8s}}@media (prefers-reduced-motion: reduce){.app-header-welcome-text{position:static;transform:none;left:auto;animation:none;-webkit-text-fill-color:#667eea;color:#667eea;background:none;max-width:100%;overflow:hidden;text-overflow:ellipsis}}.construction-overview-page{--overview-gap: 6px;--overview-text: #1f1f1f;--overview-text-secondary: #434343;--overview-text-muted: #595959;box-sizing:border-box;min-height:var(--layout-content-min-height, calc(100vh - 112px) );display:flex;flex-direction:column;gap:var(--overview-gap);overflow-x:hidden;overflow-y:auto;min-width:0;color:var(--overview-text);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;text-rendering:optimizeLegibility;font-kerning:normal}.construction-overview-page.is-scrollable{height:auto;max-height:none}.construction-overview-toolbar{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:28px}.construction-overview-toolbar-filters{display:flex;align-items:center;gap:8px;flex-shrink:0}.construction-overview-title{font-size:16px;font-weight:700;line-height:1.25;letter-spacing:-.01em;color:var(--overview-text);white-space:nowrap}.construction-overview-section>.ant-card-head .ant-card-head-title{font-size:14px;font-weight:700;color:var(--overview-text);letter-spacing:-.01em}.construction-overview-section>.ant-card-head .ant-card-extra .ant-btn-link{font-weight:600}.construction-overview-panels{flex:1 1 auto;min-height:0;min-width:0;display:grid;grid-template-columns:1fr;grid-template-rows:auto;gap:var(--overview-gap);overflow:visible}.construction-overview-panels.is-scrollable{overflow:visible}.construction-overview-panels.is-stacked{grid-template-columns:1fr;grid-template-rows:auto auto}.construction-overview-section{border-radius:12px;box-shadow:0 2px 8px #0000000f;height:auto;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:visible}.construction-overview-section.is-scrollable{height:auto;overflow:visible}.construction-overview-section>.ant-card-head{min-height:34px;padding:0 12px;flex:0 0 auto}.construction-overview-section>.ant-card-head .ant-card-head-title,.construction-overview-section>.ant-card-head .ant-card-extra{padding:4px 0}.construction-overview-section>.ant-card-body{flex:1 1 auto;min-height:0;padding:6px 10px 8px;overflow:visible;display:flex;flex-direction:column}.construction-overview-panel-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:8px;overflow:visible}.construction-overview-panel-body.is-scrollable{overflow:visible}.construction-overview-stats{flex:0 0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:6px;margin:0}.construction-overview-stats.is-row-7,.construction-overview-stats.is-row-6{display:grid;gap:6px;align-items:stretch}.construction-overview-stats.is-row-7{grid-template-columns:repeat(7,minmax(0,1fr))}.construction-overview-stats.is-row-6{grid-template-columns:repeat(6,minmax(0,1fr))}.construction-overview-stats.is-ops{margin-top:2px}.construction-overview-stats.is-ops .construction-overview-stat-card.ant-card{border-top-width:2px}.construction-overview-stats.is-row-7 .construction-overview-stat-card.ant-card,.construction-overview-stats.is-row-6 .construction-overview-stat-card.ant-card{min-width:0}.construction-overview-stats.is-row-7 .construction-overview-stat-card .ant-card-body,.construction-overview-stats.is-row-6 .construction-overview-stat-card .ant-card-body{padding:6px 8px!important}.construction-overview-stat-card.ant-card{border-radius:8px}.construction-overview-stat-card .ant-card-body{padding:8px 10px!important}.construction-overview-stat-title{font-size:12px;font-weight:600;color:var(--overview-text-secondary);margin-bottom:2px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.construction-overview-stat-card.is-compact .construction-overview-stat-title{font-size:11px}.construction-overview-stat-value{font-size:18px;font-weight:700;line-height:1.15;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.construction-overview-stat-card.is-compact .construction-overview-stat-value{font-size:16px}.construction-overview-charts{flex:0 0 auto;min-height:0;display:flex;margin:0;overflow:hidden}.construction-overview-charts.is-fixed{height:auto;min-height:180px}.construction-overview-chart-box{background:#fafafa;border:1px solid #f0f0f0;border-radius:10px;padding:10px 14px;min-width:0;min-height:160px;height:auto;width:100%;overflow:hidden;display:flex;align-items:stretch;justify-content:stretch}.co-overview-alerts{flex:0 0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-height:0}.co-overview-alerts.is-mobile{grid-template-columns:1fr}.co-overview-alert-col{min-width:0;min-height:0;display:flex;flex-direction:column;border:1px solid rgba(0,0,0,.06);border-radius:8px;padding:6px 8px;background:#ffffff8c;overflow:hidden}.co-overview-alert-head{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:2px;flex-shrink:0}.co-overview-alert-title{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:12px}.co-overview-alert-list{flex:1 1 auto;min-height:0;overflow:auto;max-height:220px}.co-overview-alert-list .ant-list-pagination{margin-block-start:4px!important;margin-bottom:0!important}.co-overview-alert-list .ant-pagination{font-size:12px}.co-overview-alert-list .ant-list-item{padding:4px 0;border-block-end:1px solid rgba(0,0,0,.04)}.co-overview-alert-item{cursor:pointer;display:flex!important;justify-content:space-between;gap:8px}.co-overview-alert-item:hover{opacity:.85}.co-overview-alert-item-main{min-width:0;flex:1 1 auto;display:flex;flex-direction:column}.co-overview-alert-name{font-size:12px;font-weight:600;line-height:1.3}.co-overview-alert-sub{font-size:11px;line-height:1.25}.co-overview-alert-meta{flex:0 0 auto;max-width:46%;font-size:11px;font-weight:600;text-align:right;line-height:1.25;white-space:normal}.construction-overview-chart-box.is-combined{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:16px;align-items:stretch}.status-donut-wrap{display:flex;align-items:center;gap:14px;flex-wrap:nowrap;justify-content:flex-start;width:100%;min-height:0;height:100%}.status-donut-wrap.is-fill-height svg{flex:0 1 auto;width:auto;height:100%;max-height:100%;max-width:min(220px,42%);aspect-ratio:1}.status-donut-wrap svg text{text-rendering:geometricPrecision}.status-donut-value{font-size:22px;font-weight:700;fill:#1f1f1f;letter-spacing:-.02em}.status-donut-label{font-size:12px;font-weight:600;fill:#595959}.status-donut-legend{--donut-legend-label-width: 118px;--donut-legend-value-width: 28px;display:flex;flex-direction:column;justify-content:space-evenly;gap:4px;min-width:0;flex:0 0 auto;width:calc(10px + 8px + var(--donut-legend-label-width) + 10px + var(--donut-legend-value-width));height:100%;overflow:hidden}.status-donut-legend-item{display:grid;grid-template-columns:10px var(--donut-legend-label-width) var(--donut-legend-value-width);align-items:center;column-gap:8px;font-size:12.5px;line-height:1.3;letter-spacing:-.01em;width:100%}.status-donut-legend-item .status-donut-legend-value{margin-left:2px}.status-donut-dot{width:8px;height:8px;border-radius:50%}.status-donut-legend-label{color:var(--overview-text-secondary);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.status-donut-legend-value{font-weight:700;color:var(--overview-text);text-align:right;font-variant-numeric:tabular-nums;justify-self:stretch}.status-bar-chart{display:flex;flex-direction:column;justify-content:center;gap:8px;width:100%;height:100%;min-height:0}.status-bar-chart.is-fill-height{justify-content:space-evenly;gap:0}.status-bar-chart.is-fill-height .status-bar-row{flex:1 1 0;min-height:0}.status-bar-row{display:grid;grid-template-columns:120px minmax(0,1fr) 36px;align-items:center;gap:10px}.status-bar-label{font-size:12.5px;font-weight:600;color:var(--overview-text-secondary);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-bar-track{height:12px;background:#f0f0f0;border-radius:999px;overflow:hidden;min-width:0}.status-bar-chart.is-fill-height .status-bar-track{height:clamp(10px,28%,18px)}.status-bar-fill{height:100%;border-radius:999px;min-width:0;transition:width .25s ease}.status-bar-value{font-size:13px;font-weight:700;color:var(--overview-text);text-align:right;font-variant-numeric:tabular-nums;letter-spacing:-.01em}@media (max-width: 768px){.construction-overview-page,.construction-overview-page.is-mobile{--overview-gap: 10px;height:auto;max-height:none;overflow:auto;overflow-x:hidden;padding-bottom:16px}.construction-overview-toolbar,.construction-overview-toolbar.is-mobile{flex-direction:column;align-items:stretch;gap:8px;min-height:0}.construction-overview-title{font-size:16px;white-space:normal}.construction-overview-toolbar-filters{display:grid;grid-template-columns:1fr 1.2fr auto;gap:8px;width:100%}.construction-overview-toolbar-filters .ant-select{min-width:0}.construction-overview-refresh-btn{width:36px;padding-inline:0;display:inline-flex;align-items:center;justify-content:center}.construction-overview-panels,.construction-overview-panels.is-stacked,.construction-overview-panels.is-mobile{display:flex;flex-direction:column;gap:10px;overflow:visible;min-height:0}.construction-overview-section,.construction-overview-section.is-mobile{height:auto;overflow:visible}.construction-overview-section>.ant-card-head{min-height:40px;padding:0 12px}.construction-overview-section>.ant-card-body{padding:10px 10px 12px;overflow:visible}.construction-overview-panel-body{gap:10px;overflow:visible}.construction-overview-stats,.construction-overview-stats.is-row-7,.construction-overview-stats.is-row-6,.construction-overview-stats.is-mobile{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.construction-overview-stats.is-row-7 .construction-overview-stat-card .ant-card-body,.construction-overview-stats.is-row-6 .construction-overview-stat-card .ant-card-body,.construction-overview-stats.is-mobile .construction-overview-stat-card .ant-card-body{padding:8px!important}.construction-overview-stat-card.ant-card{border-radius:10px;min-height:56px}.construction-overview-charts{min-height:0;overflow:visible}.construction-overview-chart-box{height:auto;padding:12px 10px}.construction-overview-chart-box.is-combined,.construction-overview-chart-box.is-combined.is-mobile{grid-template-columns:1fr;gap:14px}.status-donut-wrap{flex-direction:row;flex-wrap:nowrap;gap:10px;align-items:center;justify-content:flex-start;height:auto}.status-donut-wrap.is-stacked-legend{flex-direction:column;align-items:center;gap:12px}.status-donut-wrap.is-stacked-legend svg{width:140px;height:140px;max-width:140px;max-height:140px;flex:none}.status-donut-wrap.is-stacked-legend .status-donut-legend{--donut-legend-label-width: 96px;--donut-legend-value-width: 24px;width:100%;max-width:100%;height:auto;display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;justify-content:stretch}.status-donut-wrap.is-stacked-legend .status-donut-legend-item{width:100%}.status-donut-value{font-size:18px}.status-donut-label{font-size:11px}.status-donut-legend-item{font-size:11px;gap:6px}.status-bar-chart{height:auto;gap:10px;justify-content:flex-start}.status-bar-row{grid-template-columns:minmax(72px,96px) minmax(0,1fr) 28px;gap:8px}.status-bar-label{font-size:11px}.status-bar-track{height:10px}.status-bar-value{font-size:12px}}@media (max-width: 380px){.construction-overview-stats,.construction-overview-stats.is-row-7,.construction-overview-stats.is-row-6,.construction-overview-stats.is-mobile{grid-template-columns:repeat(2,minmax(0,1fr))}.construction-overview-toolbar-filters{grid-template-columns:1fr 1fr auto}.status-donut-wrap.is-stacked-legend .status-donut-legend{grid-template-columns:1fr}}.dashboard-page{--dashboard-gap: 12px;min-width:0}.dashboard-module-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--dashboard-gap);margin-bottom:16px}.dashboard-module-panel.ant-card{border-radius:12px;box-shadow:0 2px 8px #0000000f;height:100%}.dashboard-module-panel>.ant-card-head{min-height:40px;padding:0 12px}.dashboard-module-panel>.ant-card-head .ant-card-head-title{font-size:15px;font-weight:700;padding:10px 0}.dashboard-module-panel>.ant-card-body{padding:10px 12px 12px}.dashboard-module-panel .construction-overview-stats{margin:0}.dashboard-module-panel .construction-overview-stats.is-row-4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.dashboard-module-panel .construction-overview-stats.is-row-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.dashboard-module-panel .construction-overview-stat-title{font-size:13px;font-weight:700;color:#262626;letter-spacing:-.01em;line-height:1.25;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis}.dashboard-module-panel .construction-overview-stat-card.is-compact .construction-overview-stat-title{font-size:12px;font-weight:700}.dashboard-module-panel .construction-overview-stat-value{font-size:26px;font-weight:800;line-height:1.1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.dashboard-module-panel .construction-overview-stat-card.is-compact .construction-overview-stat-value{font-size:24px}.dashboard-list-row{margin-bottom:0}.dashboard-list-card.ant-card{border-radius:12px;box-shadow:0 2px 8px #0000000f;height:100%}.dashboard-list-card>.ant-card-head{min-height:44px;padding:0 14px}.dashboard-list-card>.ant-card-body{padding:8px 12px 12px}.dashboard-list-item{margin-bottom:8px;border-radius:8px;padding:12px;cursor:pointer}.dashboard-list-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0}@media (max-width: 992px){.dashboard-module-panels{grid-template-columns:1fr}.dashboard-module-panel .construction-overview-stats.is-row-4{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-module-panel .construction-overview-stats.is-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 576px){.dashboard-module-panel .construction-overview-stats.is-row-3{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-module-panel .construction-overview-stat-value,.dashboard-module-panel .construction-overview-stat-card.is-compact .construction-overview-stat-value{font-size:22px}}.dashboard-detail-modal.ant-modal{max-width:calc(100vw - 24px)}.dashboard-detail-modal .ant-modal-content{border-radius:12px;overflow:hidden;box-shadow:0 8px 28px #0000001f}.dashboard-detail-modal__inner{display:flex;flex-direction:column;height:min(560px,78vh)}.dashboard-detail-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 44px 12px 20px;border-bottom:1px solid #f0f0f0;background:linear-gradient(180deg,#fafbfc,#fff);flex-shrink:0}.dashboard-detail-modal__header-main{min-width:0;flex:1}.dashboard-detail-modal__title{font-size:16px;font-weight:700;color:#1f1f1f;line-height:1.35;display:flex;align-items:center}.dashboard-detail-modal__subtitle{margin-top:4px;font-size:13px;color:#8c8c8c;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-detail-modal__header-extra{flex-shrink:0;max-width:46%}.dashboard-detail-modal__body{flex:1;min-height:0;overflow:auto;padding:14px 20px}.dashboard-detail-modal__loading,.dashboard-detail-modal__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:220px;color:#8c8c8c;font-size:13px}.dashboard-detail-modal__footer{display:flex;justify-content:flex-end;padding:10px 20px 14px;border-top:1px solid #f0f0f0;background:#fafafa;flex-shrink:0}.dashboard-detail-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0 0 12px}.dashboard-detail-fields.is-one-col{grid-template-columns:1fr}.dashboard-detail-field{margin:0;min-width:0}.dashboard-detail-field.is-full{grid-column:1 / -1}.dashboard-detail-field dt{margin:0 0 2px;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#8c8c8c;line-height:1.3}.dashboard-detail-field dd{margin:0;font-size:13px;color:#262626;line-height:1.45;word-break:break-word}.dashboard-detail-section{margin-bottom:12px}.dashboard-detail-section__title{font-size:12px;font-weight:700;color:#595959;margin-bottom:6px}.dashboard-detail-note{white-space:pre-wrap;word-break:break-word;padding:10px 12px;background:#f7f8fa;border:1px solid #f0f0f0;border-radius:8px;font-size:13px;color:#434343;line-height:1.5;max-height:120px;overflow-y:auto}.dashboard-detail-muted{color:#bfbfbf}.dashboard-detail-inline{display:inline-flex;align-items:center;gap:6px}.dashboard-detail-people{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 10px}.dashboard-detail-people li{position:relative;padding-left:10px;font-size:13px}.dashboard-detail-people li:before{content:"";position:absolute;left:0;top:.55em;width:4px;height:4px;border-radius:50%;background:#52c41a}.dashboard-detail-timeline.ant-timeline{margin:4px 0 0;padding-left:2px}.dashboard-detail-timeline-item__head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:2px}.dashboard-detail-timeline-item__meta{font-size:12px;color:#8c8c8c;line-height:1.4}@media (max-width: 576px){.dashboard-detail-modal__inner{height:min(640px,85vh)}.dashboard-detail-fields{grid-template-columns:1fr}.dashboard-detail-modal__header{flex-direction:column;align-items:stretch}.dashboard-detail-modal__header-extra{max-width:none}}.buildings-page{--b-text: #1f1f1f;--b-text-secondary: #434343;--b-text-muted: #595959;--b-text-faint: #8c8c8c;--b-weight-title: 700;--b-weight-body: 600;--b-weight-label: 600;background:#f5f5f5;min-height:100%;padding:0;margin:-24px;color:var(--b-text)}.buildings-page__inner{padding:24px;display:flex;flex-direction:column;gap:0;min-height:calc(100vh - 112px)}.buildings-page__card{flex:1;display:flex;flex-direction:column;min-height:0;margin-bottom:0!important;border-radius:16px;box-shadow:0 4px 12px #00000014}.buildings-page__card .ant-card-body{flex:1;display:flex;flex-direction:column;min-height:0;padding-bottom:16px}.buildings-page__toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;min-width:0}.buildings-page__tab-body{display:flex;flex-direction:column;flex:1;height:100%;min-height:0;gap:0}.buildings-stats-inline{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-inline:0;max-width:none;flex:1;min-width:0}.buildings-stats-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;border-radius:999px;background:color-mix(in srgb,var(--stat-color) 10%,#fff);border:1px solid color-mix(in srgb,var(--stat-color) 28%,#fff);line-height:1.2;white-space:nowrap;max-width:100%}.buildings-stats-chip__icon{color:var(--stat-color);font-size:12px;display:inline-flex}.buildings-stats-chip__value{color:var(--stat-color);font-weight:800;font-size:13px;font-variant-numeric:tabular-nums}.buildings-stats-chip__label{color:var(--b-text-secondary);font-size:11px;font-weight:var(--b-weight-label)}.buildings-tab-actions{justify-content:flex-end}.buildings-stats-chip__suffix{font-weight:700;margin-left:1px;color:var(--b-text-secondary)}.buildings-stats-chip--wide{max-width:none}.buildings-stats-chip--wide .buildings-stats-chip__value{font-size:12px;font-weight:700}@supports not (background: color-mix(in srgb,#000 10%,#fff)){.buildings-stats-chip{background:#fafafa;border-color:#f0f0f0}}.buildings-drilldown__toolbar{align-items:flex-start;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.buildings-drilldown__heading{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.buildings-drilldown__back{align-self:flex-start;margin-bottom:2px}.buildings-drilldown__breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:2px;font-size:12px;color:var(--b-text-muted);font-weight:500;line-height:1.4}.buildings-drilldown__crumb{display:inline-flex;align-items:center;gap:4px;min-width:0}.buildings-drilldown__crumb-sep{color:var(--b-text-faint);margin-right:2px}.buildings-drilldown__crumb-link{border:none;background:none;padding:0;color:#1677ff;cursor:pointer;font-size:inherit;line-height:inherit}.buildings-drilldown__crumb-link:hover{text-decoration:underline}.buildings-drilldown__crumb-current{color:var(--b-text-secondary);font-weight:var(--b-weight-body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}.buildings-drilldown__title{margin:0;font-size:18px;font-weight:var(--b-weight-title);color:var(--b-text);line-height:1.3;overflow:hidden;text-overflow:ellipsis}.buildings-drilldown__subtitle{margin:0;font-size:12px;color:var(--b-text-muted);font-weight:500;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.buildings-drilldown__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}.buildings-drilldown__stats-row{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.buildings-drilldown__health{max-width:280px}.buildings-drilldown__body{display:flex;flex-direction:column;gap:16px;min-height:0;flex:1}.buildings-drilldown__section-title{margin:0 0 12px;font-size:15px;font-weight:var(--b-weight-title);color:var(--b-text)}.buildings-drilldown__section .ant-card{border-radius:12px;border-color:#f0f0f0;box-shadow:none}.buildings-drilldown__empty{display:flex;align-items:center;justify-content:center;min-height:240px;padding:32px 16px}.buildings-tint-card.ant-card{border-radius:12px;box-shadow:none;overflow:hidden}.buildings-tint-card .ant-card-head{background:transparent;border-bottom-color:#0000000f;font-weight:var(--b-weight-title);color:var(--b-text)}.buildings-tint-card .ant-card-body{background:transparent}.buildings-tint-card--info.ant-card{background:#e6f4ff;border:1px solid #91caff;border-left:4px solid #1677ff}.buildings-tint-card--info .ant-descriptions-title{color:#0958d9}.buildings-tint-card--equipment.ant-card{background:#f6ffed;border:1px solid #b7eb8f;border-left:4px solid #52c41a}.buildings-tint-card--equipment .ant-card-head-title{color:#389e0d}.buildings-tint-card--batches.ant-card{background:#fff7e6;border:1px solid #ffd591;border-left:4px solid #fa8c16}.buildings-tint-card--batches .ant-card-head-title{color:#d46b08}.buildings-tint-card--notes.ant-card{background:#f9f0ff;border:1px solid #d3adf7;border-left:4px solid #722ed1}.buildings-tint-card--notes .ant-card-head-title{color:#531dab}.buildings-tint-card--history.ant-card{background:#fff0f6;border:1px solid #ffadd2;border-left:4px solid #eb2f96}.buildings-tint-card--history .ant-card-head-title{color:#c41d7f}.buildings-tint-card .ant-table,.buildings-tint-card .ant-table-container,.buildings-tint-card .ant-table-thead>tr>th{background:#ffffffb8!important}.buildings-tint-card .ant-descriptions-bordered .ant-descriptions-item-label,.buildings-tint-card .ant-descriptions-bordered .ant-descriptions-item-content{background:#ffffffb8}.buildings-system-card.ant-card{height:100%;border-radius:12px;border:1px solid transparent;box-shadow:none;transition:box-shadow .15s,filter .15s}.buildings-system-card.ant-card:hover{box-shadow:0 4px 12px #00000014;filter:brightness(.98)}.buildings-system-card .ant-card-actions{background:#ffffff8c;border-top-color:#0000000f}.buildings-system-card .ant-card-body{display:flex;flex-direction:column;height:100%;padding:16px;background:transparent}.buildings-system-card__top{text-align:center;margin-bottom:12px}.buildings-system-card__icon{font-size:36px;margin-bottom:8px;line-height:1}.buildings-system-card__name{margin:0;font-size:16px;font-weight:var(--b-weight-title);color:var(--b-text)}.buildings-system-card__stat-block{text-align:center;margin-bottom:8px}.buildings-system-card__stat-value{font-size:28px;font-weight:700;line-height:1.2}.buildings-system-card__stat-label{font-size:12px;color:var(--b-text-muted);font-weight:var(--b-weight-label)}.buildings-system-card__mini{text-align:center;padding:8px;border-radius:8px;background:#fafafa}.buildings-system-card__mini-value{font-size:20px;font-weight:700;line-height:1.2}.buildings-system-card__mini-label{font-size:11px;color:var(--b-text-muted);font-weight:var(--b-weight-label)}.buildings-system-card__meta{font-size:12px;color:var(--b-text-secondary);font-weight:500;margin-top:auto}.buildings-system-card__meta-row{margin-bottom:6px}.buildings-system-card__meta-row:last-child{margin-bottom:0}.buildings-split-spin,.buildings-split-spin .ant-spin-container{flex:1;display:flex;flex-direction:column;min-height:0}.buildings-split{flex:1;display:flex;min-height:420px;height:calc(100vh - 220px);max-height:calc(100vh - 180px);background:#fff;border:1px solid #f0f0f0;border-radius:12px;overflow:hidden}.buildings-split__nav{display:flex;flex-shrink:0;border-right:1px solid #f0f0f0;min-width:0}.buildings-category-column,.buildings-zone-column{display:flex;flex-direction:column;min-height:0;background:#fafafa}.buildings-category-column{width:200px;border-right:1px solid #f0f0f0}.buildings-zone-column{width:240px}.buildings-split__main{flex:1;min-width:0;min-height:0;display:flex}.buildings-split-pane{display:flex;flex:1;min-width:0;min-height:0;overflow:hidden}.buildings-split-pane--single .buildings-split-pane__master{width:100%!important;flex:1}.buildings-split-pane__master{flex-shrink:0;min-width:280px;display:flex;flex-direction:column;overflow:hidden}.buildings-split-pane__splitter{width:5px;flex-shrink:0;background:#e8e8e8;cursor:col-resize;-webkit-user-select:none;user-select:none;transition:background .15s}.buildings-split-pane__splitter:hover{background:#1677ff}.buildings-split-pane__detail{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.buildings-column-header{display:flex;align-items:center;gap:8px;font-weight:var(--b-weight-title);color:var(--b-text);padding:12px 14px;border-bottom:1px solid #f0f0f0;background:#fff;flex-shrink:0}.buildings-column-body{flex:1;overflow:auto;padding:8px;min-height:0}.buildings-category-list,.buildings-zone-list{list-style:none;margin:0;padding:0}.buildings-nav-item{display:flex;align-items:center;gap:2px;border-radius:8px;padding-right:4px;color:var(--b-text);font-weight:var(--b-weight-body)}.buildings-nav-item:hover{background:#f0f0f0}.buildings-nav-item.is-active{background:#e6f4ff;color:#0958d9;font-weight:var(--b-weight-title)}.buildings-nav-item__actions{flex-shrink:0;opacity:.65}.buildings-nav-item:hover .buildings-nav-item__actions,.buildings-nav-item.is-active .buildings-nav-item__actions{opacity:1}.buildings-category-item,.buildings-zone-item{flex:1;min-width:0;display:flex;align-items:center;gap:8px;border:none;background:transparent;text-align:left;padding:10px 8px 10px 12px;border-radius:8px;cursor:pointer;color:inherit;font-size:13px;font-weight:inherit}.buildings-category-item:hover,.buildings-zone-item:hover{background:transparent}.buildings-nav-item.is-active .buildings-category-item,.buildings-nav-item.is-active .buildings-zone-item{color:#0958d9;font-weight:var(--b-weight-title)}.buildings-category-item__name,.buildings-zone-item__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:inherit}.buildings-category-item__count,.buildings-zone-item__count{color:var(--b-text-muted);font-size:12px;font-weight:var(--b-weight-label)}.buildings-master-list{display:flex;flex-direction:column;height:100%;min-height:0;background:#fff}.buildings-master-list__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #f0f0f0;flex-shrink:0}.buildings-master-list__header-left{display:flex;flex-direction:column;gap:4px;min-width:0}.buildings-master-list__nav-btn{align-self:flex-start;margin-bottom:4px}.buildings-master-list__title{font-weight:var(--b-weight-title);font-size:15px;color:var(--b-text)}.buildings-master-list__breadcrumb{font-size:12px;color:var(--b-text-muted);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buildings-master-list__toolbar{padding:8px 16px;border-bottom:1px solid #f5f5f5;flex-shrink:0}.buildings-master-list__search{max-width:420px}.buildings-master-list__body{flex:1;min-height:0;overflow:auto}.buildings-master-list__footer{display:flex;justify-content:flex-end;padding:10px 16px;border-top:1px solid #f0f0f0;flex-shrink:0;background:#fff}.buildings-master-list__empty{display:flex;align-items:center;justify-content:center;min-height:240px;padding:24px}.buildings-master-table__head{display:grid;grid-template-columns:minmax(140px,1.4fr) minmax(120px,1.6fr) 100px 100px 140px;gap:8px;padding:10px 16px;background:#fafafa;border-bottom:1px solid #f0f0f0;font-size:12px;font-weight:var(--b-weight-title);color:var(--b-text-secondary);position:sticky;top:0;z-index:1}.buildings-master-table__body{list-style:none;margin:0;padding:0}.buildings-master-row{display:grid;grid-template-columns:minmax(140px,1.4fr) minmax(120px,1.6fr) 100px 100px 140px;gap:8px;align-items:center;padding:12px 16px;border-bottom:1px solid #f5f5f5;cursor:pointer;transition:background .15s;font-size:13px;color:var(--b-text)}.buildings-master-row:hover{background:#fafafa}.buildings-master-row.is-active{background:#f0e6ff;box-shadow:inset 3px 0 #722ed1}.buildings-master-row__name{font-weight:var(--b-weight-body);color:var(--b-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buildings-master-row__addr{color:var(--b-text-muted);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buildings-master-row__actions{display:flex;justify-content:flex-end}.buildings-detail-panel{display:flex;flex-direction:column;height:100%;background:#fff;border-left:1px solid #f0f0f0}.buildings-detail-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #f0f0f0;flex-shrink:0;gap:8px}.buildings-detail-panel__title{font-weight:var(--b-weight-title);color:var(--b-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buildings-detail-panel__body{flex:1;overflow:auto;padding:16px}.buildings-detail-panel__row{display:flex;gap:12px;margin-bottom:14px;align-items:flex-start}.buildings-detail-panel__label{width:110px;flex-shrink:0;color:var(--b-text-muted);font-size:13px;font-weight:var(--b-weight-label)}.buildings-detail-panel__row>span:last-child{color:var(--b-text);font-weight:500}.buildings-detail-panel__footer{padding:12px 16px;border-top:1px solid #f0f0f0;flex-shrink:0}.buildings-dash-preview{margin-top:16px;padding-top:16px;border-top:1px solid #f0f0f0}.buildings-dash-preview--loading{display:flex;justify-content:center;padding:24px 0}.buildings-dash-preview__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.buildings-dash-preview__title{font-weight:var(--b-weight-title);font-size:13px;color:var(--b-text)}.buildings-dash-preview__health{display:flex;align-items:center;gap:16px;margin-bottom:12px}.buildings-dash-preview__stats{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--b-text);font-weight:500}.buildings-dash-preview__stats strong{font-weight:var(--b-weight-title);color:var(--b-text)}.buildings-dash-preview__stat-label{color:var(--b-text-muted);font-weight:var(--b-weight-label);margin-right:8px}.buildings-dash-preview__pills{display:flex;flex-wrap:wrap;gap:4px}.buildings-dash-preview__systems{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.buildings-dash-preview__systems li{display:block;font-size:13px;color:var(--b-text);font-weight:500}.buildings-dash-preview__sys-link{width:100%;display:flex;align-items:center;gap:8px;border:1px solid #f0f0f0;background:#fafafa;border-radius:8px;padding:8px 10px;cursor:pointer;text-align:left;color:inherit;transition:background .15s,border-color .15s}.buildings-dash-preview__sys-link:hover:not(:disabled){background:#e6f4ff;border-color:#91caff;color:#0958d9}.buildings-dash-preview__sys-link:disabled{cursor:default;opacity:.85}.buildings-dash-preview__sys-icon{display:inline-flex;width:18px;flex-shrink:0}.buildings-dash-preview__sys-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--b-weight-body);color:inherit;text-decoration:underline;text-underline-offset:2px}.buildings-dash-preview__sys-link:hover:not(:disabled) .buildings-dash-preview__sys-name{color:#0958d9}.buildings-dash-preview__sys-count{margin:0!important;flex-shrink:0;font-weight:700}.buildings-dash-preview__sys-arrow{font-size:10px;color:var(--b-text-muted);flex-shrink:0}.buildings-dash-preview__sys-link:hover:not(:disabled) .buildings-dash-preview__sys-arrow{color:#0958d9}.buildings-dash-preview__more{margin-top:8px;font-size:12px;color:var(--b-text-muted);font-weight:500}@media (max-width: 1100px){.buildings-category-column{width:160px}.buildings-zone-column{width:200px}.buildings-master-table__head,.buildings-master-row{grid-template-columns:minmax(120px,1.2fr) minmax(100px,1fr) 90px 90px 120px}}@media (max-width: 900px){.buildings-split,.buildings-split.is-mobile{flex-direction:column;height:auto;max-height:none;min-height:480px}.buildings-split.is-mobile .buildings-split__main{flex:1;min-height:420px}.buildings-split.is-mobile .buildings-master-list{min-height:420px}.buildings-page--mobile .buildings-page__toolbar{flex-direction:column;align-items:stretch;gap:8px}.buildings-page--mobile .buildings-tab-actions{width:100%}.buildings-master-list--mobile{min-height:360px;padding-bottom:72px}.buildings-master-list--mobile .buildings-master-list__body{padding:0 2px}.buildings-m-selection-chip{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:12px;color:#0000008c;padding:0 2px 4px}.buildings-m-toolbar{gap:10px}.buildings-m-category-btn{flex:1;min-width:0;max-width:calc(100% - 52px);display:inline-flex;justify-content:flex-start}.buildings-m-category-btn__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buildings-m-zone-scroll{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:2px 2px 6px;scrollbar-width:none}.buildings-m-zone-scroll::-webkit-scrollbar{display:none}.buildings-m-zone-empty{font-size:12px;color:#00000073;padding:4px 2px}.buildings-m-zone-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;max-width:220px;height:34px;padding:0 10px;border-radius:999px;border:1px solid #e8e8e8;background:#fff;color:#000000bf;font-size:13px;cursor:pointer;box-shadow:0 1px 4px #0f1c380f}.buildings-m-zone-chip .anticon{color:#52c41a;flex-shrink:0}.buildings-m-zone-chip__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buildings-m-zone-chip.is-active{border-color:#722ed1;background:#722ed114;color:#531dab;font-weight:600}.buildings-m-zone-chip.is-active .anticon{color:#722ed1}.buildings-m-card-list{padding-bottom:16px}.buildings-split__nav--drawer{display:flex;flex-direction:column;width:100%;border:none;height:auto;min-height:0;gap:12px}.buildings-split__nav--drawer .buildings-category-column{width:100%;height:auto;min-height:220px;max-height:60vh;border-right:none}.buildings-nav-drawer .ant-drawer-body{padding:12px 14px 16px}.buildings-detail-drawer.ant-drawer-right>.ant-drawer-content-wrapper{width:100%!important;max-width:100vw}.buildings-detail-drawer .buildings-detail-panel{border-left:none;height:auto;min-height:100%}.buildings-detail-drawer .buildings-detail-panel__footer{position:sticky;bottom:0;background:#fff;padding:10px 0 calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid #f0f0f0;margin-top:12px}.buildings-detail-drawer .buildings-detail-panel__footer .ant-btn{min-height:36px}}@media (max-width: 1100px){.buildings-stats-chip__label{display:none}.buildings-stats-inline{max-width:min(280px,36vw)}}@media (max-width: 640px){.buildings-page__inner{padding:12px}.buildings-stats-inline{max-width:100%;margin-inline:0 0;margin-bottom:4px}.buildings-master-table__head{display:none}.buildings-master-row{grid-template-columns:1fr;gap:6px}.buildings-master-row__actions{justify-content:flex-start}.buildings-drilldown__toolbar{flex-direction:column}.buildings-drilldown__actions{width:100%;justify-content:flex-start}.buildings-drilldown__title{font-size:16px}.buildings-drilldown__crumb-current{max-width:180px}}.maintenance-page{background:transparent;min-height:100%}.maintenance-page .maintenance-stat-card{border-radius:12px}.maintenance-page .ant-card.glass{border-radius:16px;box-shadow:0 4px 12px #00000014}.maintenance-page .page-action-bar{margin-bottom:12px}.maintenance-page .ant-table-wrapper{background:transparent}.maintenance-page .mnt-toolbar{margin-bottom:16px}.maintenance-page .mnt-toolbar .mnt-year-group{display:inline-flex;align-items:center;gap:8px}.maintenance-page .mnt-toolbar .mnt-year-label{font-size:13px;color:#000000a6;white-space:nowrap}.maintenance-page .mnt-stat-card{text-align:center;border-radius:10px;box-shadow:0 2px 6px #0000000f;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer}.maintenance-page .mnt-stat-card .ant-statistic-title{font-size:11px;line-height:1.25;margin-bottom:2px;color:#0000008c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.maintenance-page .mnt-stat-card .ant-statistic-content{font-size:18px!important;line-height:1.2}.maintenance-page .mnt-stat-card .ant-statistic-content-prefix{margin-inline-end:4px;font-size:14px}.maintenance-page .mnt-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px color-mix(in srgb,var(--mnt-stat-accent, #1890ff) 35%,transparent)}.mnt-m-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.mnt-m-toolbar-row{display:flex;align-items:center;gap:8px;width:100%}.mnt-m-toolbar .mnt-m-search{flex:1;min-width:0}.mnt-m-toolbar-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.mnt-m-btn-icon.ant-btn{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;font-size:16px;box-shadow:0 2px 6px #0f1c3814}.mnt-m-btn-icon.ant-btn .anticon{font-size:16px}.mnt-m-btn-add.ant-btn{background:linear-gradient(135deg,#1890ff,#096dd9)!important;border-color:#1890ff!important;color:#fff!important;box-shadow:0 3px 10px #1890ff59!important}.mnt-m-btn-add.ant-btn:hover{filter:brightness(1.06);color:#fff!important}.mnt-m-btn-export.ant-btn{background:linear-gradient(135deg,#722ed1,#531dab)!important;border-color:#722ed1!important;color:#fff!important;box-shadow:0 3px 10px #722ed159!important}.mnt-m-btn-export.ant-btn:hover{filter:brightness(1.06);color:#fff!important}.mnt-m-btn-print.ant-btn{background:#fff!important;border-color:#91caff!important;color:#1677ff!important;box-shadow:0 2px 6px #1677ff1f!important}.mnt-m-btn-print.ant-btn:hover{border-color:#1677ff!important;color:#0958d9!important}.mnt-m-btn-excel.ant-btn{background:#fff!important;border-color:#b7eb8f!important;color:#389e0d!important;box-shadow:0 2px 6px #389e0d1f!important}.mnt-m-btn-excel.ant-btn:hover{border-color:#52c41a!important;color:#237804!important}.mnt-m-btn-pdf.ant-btn{background:#fff!important;border-color:#ffa39e!important;color:#cf1322!important;box-shadow:0 2px 6px #cf13221f!important}.mnt-m-btn-pdf.ant-btn:hover{border-color:#ff4d4f!important;color:#a8071a!important}.mnt-m-btn-reload.ant-btn{background:#fff!important;border-color:#d9d9d9!important;color:#595959!important}.mnt-m-btn-reload.ant-btn:hover{border-color:#13c2c2!important;color:#08979c!important}.mnt-m-year-select{min-width:88px;width:100px}.mnt-m-card-list{display:flex;flex-direction:column;gap:10px;padding-bottom:80px}.mnt-m-card{background:#fff;border:1px solid #f0f0f0;border-left:4px solid #d9d9d9;border-radius:12px;padding:12px;box-shadow:0 1px 8px #0f1c380f;cursor:default}.mnt-m-card[role=button]{cursor:pointer}.mnt-m-card.is-selected{border-color:#91caff;box-shadow:0 0 0 2px #1890ff26}.mnt-m-card-top{display:flex;gap:10px;align-items:flex-start}.mnt-m-card-check{margin-top:2px;flex-shrink:0}.mnt-m-card-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.mnt-m-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.mnt-m-card-title{font-weight:600;font-size:14px;line-height:1.35;color:#000000e0;min-width:0;word-break:break-word}.mnt-m-card-subtitle{font-size:13px;color:#000000a6;display:flex;align-items:center;flex-wrap:wrap;gap:4px}.mnt-m-card-meta{display:flex;flex-direction:column;gap:4px;margin-top:6px;font-size:12px;color:#0000008c;line-height:1.4}.mnt-m-card-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mnt-m-card-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px;padding-top:8px;border-top:1px solid #f5f5f5}.mnt-m-loading{display:flex;justify-content:center;padding:40px 0}.mnt-m-stats{margin-bottom:8px}.mnt-m-stats>.ant-col{padding-bottom:0!important}.mnt-m-dot-scroll{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;margin-bottom:12px;scrollbar-width:none}.mnt-m-dot-scroll::-webkit-scrollbar{display:none}.mnt-m-bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;padding:10px 12px;border-radius:10px;background:#e6f4ff;border:1px solid #91caff}.mnt-m-filter-drawer .mnt-m-filter-drawer-body{display:flex;flex-direction:column;gap:14px}.mnt-m-filter-field{display:flex;flex-direction:column;gap:6px}.mnt-m-filter-field>label{font-size:12px;font-weight:700;color:#0000008c}.mnt-m-filter-drawer-footer{display:flex;justify-content:space-between;gap:10px}.mnt-m-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#1677ff;color:#fff;font-size:12px;font-weight:600}@media (max-width: 768px){.maintenance-page-mobile .mnt-stat-card{border-radius:8px}.maintenance-page-mobile .mnt-stat-card:hover{transform:none}.maintenance-page-mobile .mnt-stat-card .ant-statistic-title{font-size:10px}.maintenance-page-mobile .mnt-stat-card .ant-statistic-content{font-size:16px!important}.maintenance-page-mobile .mnt-m-stats{margin-bottom:8px!important}.maintenance-page-mobile .mnt-m-stats.ant-row{row-gap:6px!important}}.mnt-form-drawer .ant-drawer-header{padding:14px 16px}.mnt-form-drawer .ant-drawer-body{padding:16px}.mnt-form-drawer .ant-drawer-footer{padding:12px 16px;border-top:1px solid #f0f0f0;background:#fafafa}.mnt-form-drawer .ant-form-item{margin-bottom:14px}.mnt-form-drawer .ant-form-item-label{padding-bottom:2px}.mnt-form-drawer .ant-form-item-label>label{font-size:13px;height:auto}@media (max-width: 768px){.mnt-form-drawer.ant-drawer-right>.ant-drawer-content-wrapper{width:100%!important;max-width:100vw}.mnt-form-drawer .ant-drawer-content{display:flex;flex-direction:column}.mnt-form-drawer .ant-drawer-header{flex-shrink:0;padding:12px 14px}.mnt-form-drawer .ant-drawer-header-title .ant-drawer-title{font-size:15px;line-height:1.35;padding-right:8px}.mnt-form-drawer .ant-drawer-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 14px 20px}.mnt-form-drawer .ant-drawer-footer{flex-shrink:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px))}.mnt-form-drawer .ant-drawer-footer .ant-space{width:100%;display:flex!important;flex-wrap:nowrap}.mnt-form-drawer .ant-drawer-footer .ant-space-item{flex:1}.mnt-form-drawer .ant-drawer-footer .ant-btn{width:100%;min-height:40px;font-weight:600}.mnt-form-drawer .ant-form-item{margin-bottom:12px}.mnt-form-drawer .mnt-form-drawer-row>.ant-col{max-width:100%}.mnt-form-drawer .ant-descriptions-bordered .ant-descriptions-item-label{width:38%;min-width:100px;max-width:140px;padding:8px 10px!important;font-size:12px}.mnt-form-drawer .ant-descriptions-bordered .ant-descriptions-item-content{padding:8px 10px!important;font-size:13px}.mnt-form-drawer .ant-upload-drag{padding:12px 8px}}.sas-page{margin-top:4px}.sas-dept-tabs{margin-bottom:8px}.sas-dept-tabs .ant-tabs-nav{margin-bottom:10px}.sas-filter-bar{display:flex;flex-direction:column;gap:10px;margin-bottom:14px;padding:12px 14px;border-radius:10px;background:linear-gradient(180deg,#fafcff,#fff);border:1px solid rgba(22,119,255,.08)}.sas-filter-bar.is-mobile{padding:10px}.sas-filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px}.sas-filter-label{font-size:12px;font-weight:600;color:#0000008c;min-width:72px}.sas-filter-controls{align-items:flex-start}.sas-metric-row{margin-bottom:14px}.sas-metric-clickable:hover{box-shadow:0 4px 14px #00000014;transform:translateY(-1px);transition:box-shadow .15s ease,transform .15s ease}.sas-metric-clickable:focus-visible{outline:2px solid #1677ff;outline-offset:2px}.sas-emp-cell{min-width:0}.sas-emp-name{display:flex;align-items:baseline;flex-wrap:nowrap;gap:2px;white-space:nowrap}.sas-summary-table .ant-table-cell{vertical-align:middle}.sas-timeline-drawer .ant-drawer-body{padding-top:10px;background:#f7f8fa}.sas-log-summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:12px;padding:8px 12px;border-radius:8px;background:#fff;border:1px solid #eef0f3;font-size:13px;color:#0000008c}.sas-log-summary__item strong{color:#000000e0;font-weight:600;margin-right:3px}.sas-log-summary__item.is-progress strong{color:#1677ff}.sas-log-summary__item.is-done strong{color:#389e0d}.sas-log-summary__sep{color:#00000040}.sas-log-list{display:flex;flex-direction:column;gap:8px}.sas-log-card{display:grid;grid-template-columns:14px 1fr;gap:10px;padding:10px 12px;border-radius:10px;background:#fff;border:1px solid #eef0f3;box-shadow:0 1px #0f172a08}.sas-log-card__rail{position:relative;display:flex;justify-content:center;padding-top:5px}.sas-log-card__dot{width:9px;height:9px;border-radius:50%;background:#1677ff;box-shadow:0 0 0 3px #1677ff1f}.sas-log-card.is-done .sas-log-card__dot{background:#52c41a;box-shadow:0 0 0 3px #52c41a24}.sas-log-card__body{min-width:0}.sas-log-card__top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.sas-log-card__date{flex-shrink:0;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:#0000008c;white-space:nowrap}.sas-log-card__top-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.sas-log-card__source.ant-tag,.sas-log-card__status.ant-tag{margin:0;font-size:12px;line-height:20px;padding:0 7px}.sas-log-card__source.ant-tag{color:#000000a6;background:#f5f5f5;border-color:#e8e8e8}.sas-log-card__title{margin:0 0 4px;font-size:14px;font-weight:600;line-height:1.35;color:#000000e0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sas-log-card__meta{display:flex;align-items:center;gap:6px;min-width:0;font-size:12px;color:#00000073}.sas-log-card__site{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sas-log-card__emp{flex-shrink:0;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:#000000a6}.sas-log-card__dot-sep{flex-shrink:0;color:#0003}.sas-log-card__role{flex-shrink:0;font-weight:500;white-space:nowrap}.sas-log-card__role.is-lead{color:#d48806}.sas-log-card__role.is-worker{color:#389e0d}.sas-log-card__role.is-both{color:#0958d9}.sas-log-card__link{flex-shrink:0;margin-left:auto!important;padding:0!important;height:auto!important;font-size:12px}@media (max-width: 640px){.sas-log-card__top{flex-wrap:wrap;align-items:flex-start}.sas-log-card__title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.sas-log-card__meta{flex-wrap:wrap;row-gap:4px}.sas-log-card__link{margin-left:0!important;width:100%;justify-content:flex-start}}.sas-summary-table .ant-badge{cursor:pointer}.sas-source-cols-th>.ant-table-cell,.sas-summary-table td.sas-source-cols-th,.sas-summary-table th.sas-source-cols-th{padding-left:8px!important;padding-right:8px!important}.sas-source-cols{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;width:100%;min-width:340px;align-items:center}.sas-source-cols--head{font-size:12px;font-weight:600;color:#000000a6;line-height:1.25}.sas-source-cols__cell{display:flex;align-items:center;justify-content:center;text-align:center;min-height:22px;padding:0 4px;margin:0;border:none;background:transparent;font:inherit;color:#00000073}.sas-source-cols--head .sas-source-cols__cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sas-source-cols__cell.is-empty{color:#00000040}.sas-source-cols__cell.is-link{color:#1677ff;font-weight:600;cursor:pointer;border-radius:4px;text-decoration:underline;text-underline-offset:2px}.sas-source-cols__cell.is-link:hover{background:#1677ff14}.sas-source-cols__cell.is-link:focus-visible{outline:2px solid #1677ff;outline-offset:1px}@media (max-width: 768px){.sas-filter-row .ant-segmented{max-width:100%;overflow-x:auto}}.construction-work-page .dispatch-modern-table .ant-table,.construction-work-table-card .ant-card-body,.construction-work-table-card{overflow:visible!important}.construction-work-table .ant-table-sticky-holder{z-index:6!important;background:linear-gradient(180deg,#eef6fb,#e6f1f8)!important}.construction-work-table .ant-table-sticky-holder .ant-table-thead>tr>th{background:linear-gradient(180deg,#eef6fb,#e6f1f8)!important}.construction-work-table .ant-table-sticky-scroll{z-index:7!important}.construction-work-table .ant-table-tbody>tr>td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.construction-work-table .ant-table-row-status-pending>td:first-child{box-shadow:inset 3px 0 #d9d9d9}.construction-work-table .ant-table-row-status-in_progress>td:first-child{box-shadow:inset 3px 0 #1677ff}.construction-work-table .ant-table-row-status-completed>td:first-child{box-shadow:inset 3px 0 #52c41a}.construction-work-table .ant-table-row-status-cancelled>td:first-child{box-shadow:inset 3px 0 #ff4d4f}.construction-work-cell-ellipsis{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.construction-work-building-link{max-width:100%;margin:0;padding:0;border:none;background:none;color:#1677ff;cursor:pointer;text-align:left;font:inherit}.construction-work-building-link:hover .construction-work-cell-ellipsis{text-decoration:underline}.construction-work-date-range{display:flex;flex-direction:column;line-height:1.35;font-size:12px;white-space:normal;color:#000000e0}.construction-work-table .construction-work-col-date,.construction-work-table .construction-work-col-timeline{white-space:normal;overflow:visible;text-overflow:unset}.construction-work-timeline{display:inline-flex;align-items:center;gap:4px;width:56px;max-width:100%;min-width:0}.construction-work-timeline .ant-progress{flex:1;margin-bottom:0;line-height:1}.construction-work-timeline .ant-progress-inner{height:4px!important}.construction-work-timeline-tick{flex-shrink:0;color:#52c41a;font-size:12px}.construction-work-form-drawer .ant-form-item{margin-bottom:10px}.construction-work-form-drawer .ant-form-item-label{padding-bottom:2px}.construction-work-form-drawer .ant-form-item-label>label{height:auto;font-size:13px}.construction-work-form-drawer .ant-select-selection-overflow{max-height:56px;overflow-y:auto}.construction-work-detail-descriptions .ant-descriptions-item-label{width:120px;font-size:13px;padding:8px 12px!important}.construction-work-detail-descriptions .ant-descriptions-item-content{font-size:13px;padding:8px 12px!important}.cw-filters{background:#f5f5f5;border-radius:12px;padding:12px}.cw-filters-mobile{background:transparent;border-radius:0;padding:0}.cw-filters-mobile .cw-filter-date-toggle .ant-btn{padding-inline:8px}.cw-mobile-controls{background:#fff;border-radius:14px;box-shadow:0 2px 10px #0f1c3814;padding:10px 12px 12px;margin-bottom:12px;display:flex;flex-direction:column;gap:10px}.cw-mobile-controls--compact{background:transparent;border-radius:0;box-shadow:none;padding:0;margin-bottom:6px;gap:6px}.cw-compact-stats{display:flex;align-items:center;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 0 4px;margin-bottom:2px}.cw-compact-stats::-webkit-scrollbar{display:none}.cw-compact-stats__total{flex-shrink:0;font-size:12px;font-weight:800;color:#1677ff;padding-right:2px}.cw-compact-stats__chip{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;padding:4px 8px;font-size:10px;font-weight:700;color:#64748b;-webkit-tap-highlight-color:transparent}.cw-compact-stats__chip strong{font-size:12px}.cw-compact-stats__chip.is-active{box-shadow:0 0 0 1px currentColor inset}.cw-toolbar-mobile,.cw-compact-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px}.cw-compact-bar__left,.cw-compact-bar__actions,.cw-toolbar-mobile-left,.cw-toolbar-mobile-right{display:flex;align-items:center;gap:2px}.cw-compact-bar__actions .ant-btn.is-active{color:#1677ff}.cw-mobile-list-wrap{padding-bottom:96px}.construction-work-page-mobile--compact .cw-mobile-card{padding:10px 10px 6px;border-radius:12px}.construction-work-page-mobile--compact .cw-mobile-card-title{font-size:14px}.construction-work-page-mobile--compact .cw-mobile-card-meta{grid-template-columns:1fr;gap:2px}.construction-work-page-mobile--compact .mpm-fab,.construction-work-page-mobile .mpm-fab{position:fixed;right:16px;bottom:20px;z-index:40;display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:12px 16px;background:#1677ff;color:#fff;font-size:14px;font-weight:800;box-shadow:0 10px 24px #1677ff59;-webkit-tap-highlight-color:transparent}.construction-work-page-mobile .mpm-fab:active{transform:scale(.97)}.construction-work-page-mobile .dispatch-status-grid{gap:8px;margin-bottom:12px}.construction-work-page-mobile .dispatch-status-card{padding:10px 12px;border-radius:10px}.construction-work-page-mobile .dispatch-status-label{font-size:11px;margin-bottom:2px}.construction-work-page-mobile .dispatch-status-value{font-size:18px}.cw-mobile-list{display:flex;flex-direction:column;gap:8px;padding-bottom:8px}.cw-mobile-list-compact{gap:6px}.cw-mobile-card{background:#fff;border-radius:12px;border-left:4px solid #d9d9d9;box-shadow:0 1px 8px #0f1c3814;padding:12px 12px 8px;display:flex;flex-direction:column;gap:6px}.cw-mobile-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.cw-mobile-card-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.cw-mobile-card-title{font-size:15px;font-weight:700;color:#1677ff;line-height:1.4;cursor:pointer}.cw-mobile-card-progress-meta{display:flex;justify-content:space-between;margin-bottom:4px}.cw-mobile-card-meta{display:grid;grid-template-columns:1fr 1fr;gap:3px 12px;font-size:11px;color:#4f5c76}.cw-mobile-card-meta-item{display:inline-flex;align-items:center;gap:4px;min-width:0}.cw-mobile-meta-label{color:#8c8c8c}.cw-mobile-card-actions{display:flex;gap:2px;border-top:1px solid #f0f0f0;padding-top:6px;margin-top:2px;flex-wrap:wrap}.cw-mobile-row{background:#fff;border-radius:10px;border-left:4px solid #d9d9d9;box-shadow:0 1px 8px #0f1c3817;padding:10px 12px;display:flex;align-items:center;gap:8px}.cw-mobile-row-body{flex:1;min-width:0}.cw-mobile-row-top{display:flex;align-items:center;gap:5px;margin-bottom:3px}.cw-mobile-row-title{font-size:13px;font-weight:700;color:#1677ff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;margin-bottom:5px}.cw-mobile-row-progress{display:flex;align-items:center;gap:8px}.cw-mobile-row-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:3px;font-size:10px;color:#8c8c8c}.cw-mobile-row-actions{display:flex;flex-direction:column;gap:2px;flex-shrink:0}@media (max-width: 768px){.construction-work-page-mobile .page-action-bar-with-year{flex-wrap:wrap;gap:8px}.construction-work-page-mobile .page-pill-toolbar-left,.construction-work-page-mobile .page-pill-toolbar-right{flex-wrap:wrap}.construction-work-form-modal,.construction-work-detail-modal{max-width:calc(100vw - 16px)}}.work-schedule-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-bottom:4px}.work-schedule-toolbar.is-mobile{flex-direction:column;align-items:stretch}.ws-toolbar-group{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.ws-toolbar-controls{flex-shrink:0}.ws-toolbar-quick-dates{flex:1 1 auto;justify-content:center;padding:0 4px}.ws-toolbar-export{flex-shrink:0;margin-left:auto}.work-schedule-toolbar.is-mobile .ws-toolbar-quick-dates{justify-content:flex-start}.work-schedule-toolbar.is-mobile .ws-toolbar-export{margin-left:0;justify-content:flex-end}.work-schedule-year-control{display:inline-flex;align-items:center;gap:8px}.work-schedule-year-control>span{font-size:13px;font-weight:600;color:#0000008c;white-space:nowrap}.work-schedule-quick-date-btn.ant-btn{height:auto!important;padding:5px 10px!important;border-radius:8px!important;border-width:1px!important;border-style:solid!important;line-height:1.2!important;box-shadow:none!important;display:inline-flex!important;align-items:baseline;gap:6px}.work-schedule-quick-date-btn .ws-qd-label{color:inherit;opacity:.75;font-size:12px;font-weight:500}.work-schedule-quick-date-btn .ws-qd-value{font-weight:700;font-size:15px}.work-schedule-quick-date-btn.is-active{box-shadow:0 0 0 1px currentColor inset!important;font-weight:600}.work-schedule-quick-date-btn.is-active .ws-qd-label{opacity:1}@media (max-width: 960px){.ws-toolbar-quick-dates{order:3;flex:1 1 100%;justify-content:flex-start}.ws-toolbar-export{margin-left:auto}}.work-schedule-table .ws-resizable-col-header{position:relative;display:flex;align-items:center;height:100%;margin:-8px;padding:8px 10px 8px 8px}.work-schedule-table .ws-resizable-col-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-schedule-table .ws-col-resize-handle{position:absolute;right:0;top:0;bottom:0;width:8px;cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:2;touch-action:none}.work-schedule-table .ws-col-resize-handle:hover{background:#1890ff40}.work-schedule-table .ws-col-resize-handle:active{background:#1890ff73}.ws-view-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-bottom:12px}.ws-view-toolbar-label{font-size:12px;font-weight:600;color:#00000073}.ws-kpi-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:14px}.ws-kpi-row.is-mobile{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 960px){.ws-kpi-row:not(.is-mobile){grid-template-columns:repeat(3,minmax(0,1fr))}}.ws-kpi-card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:10px;border:1px solid #f0f0f0;border-top-width:2px;min-width:0}.ws-kpi-meta{min-width:0;display:flex;flex-direction:column;gap:2px}.ws-kpi-label{font-size:12px;color:#0000008c;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-kpi-value{font-size:22px;font-weight:700;line-height:1.15}.ws-kpi-icon{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px}.ws-deploy-list{display:flex;flex-direction:column;gap:16px}.ws-deploy-list.is-loading{opacity:.65;pointer-events:none}.ws-deploy-collapse-bar{display:flex;align-items:center;gap:4px;margin-bottom:4px}.ws-deploy-collapse-bar .ant-btn-link{padding:0 4px;height:auto;font-size:12px;font-weight:600}.ws-deploy-day{display:flex;flex-direction:column;gap:8px}.ws-deploy-day.is-collapsed{gap:0}.ws-deploy-day-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:6px 8px;border-radius:8px;background:#f0f5ff;border:1px solid #d6e4ff}.ws-deploy-day.is-collapsed .ws-deploy-day-head{background:#fafafa;border-color:#f0f0f0}.ws-deploy-day-title{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:#1f1f1f;min-width:0;flex:1}.ws-deploy-day-toggle{display:inline-flex;align-items:center;gap:8px;min-width:0;padding:0;border:none;background:transparent;cursor:pointer;font:inherit;font-weight:700;color:inherit;text-align:left}.ws-deploy-day-toggle:hover{color:#1677ff}.ws-deploy-day-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 7px;border-radius:10px;background:#1677ff1f;color:#1677ff;font-size:11px;font-weight:700;flex-shrink:0}.ws-deploy-day.is-collapsed .ws-deploy-day-count{background:#0000000f;color:#595959}.ws-deploy-day-icon{color:#1677ff}.ws-deploy-sep{color:#d9d9d9}.ws-deploy-rows{display:flex;flex-direction:column;gap:8px}.ws-deploy-day-empty{padding:10px 12px;border-radius:8px;border:1px dashed #e8e8e8;background:#fafafa;color:#8c8c8c;font-size:12px;text-align:center}.ws-deploy-row{border:1px solid #e8e8e8;border-left:4px solid #d9d9d9;border-radius:10px;background:#fafafa;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.ws-deploy-row:hover{border-color:#d6e4ff;background:#f5f9ff;box-shadow:0 2px 8px #1677ff0f}.ws-deploy-row.is-selected{background:#e6f4ff;border-color:#91caff}.ws-deploy-row-main{display:flex;align-items:stretch;gap:0;padding:0;min-height:56px}.ws-deploy-check{align-self:center;flex-shrink:0;padding:0 10px}.ws-deploy-grid{flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(260px,.95fr);gap:0;cursor:pointer;align-items:stretch}.ws-deploy-col{min-width:0;display:flex;flex-direction:column;gap:4px;justify-content:center;padding:8px 12px;box-sizing:border-box}.ws-deploy-col-left{align-items:flex-start}.ws-deploy-col-mid{align-items:flex-start;border-left:1px solid #e8e8e8;border-right:1px solid #e8e8e8}.ws-deploy-col-right{align-items:flex-end;justify-content:space-between;width:100%}.ws-deploy-building{width:100%;font-size:14px;font-weight:700;color:#0958d9;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.ws-deploy-mid-sub{width:100%;font-size:12px;color:#8c8c8c;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.ws-deploy-badges{display:inline-flex;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:4px;width:100%;min-height:22px}.ws-deploy-time{font-size:12px;font-weight:600;color:#595959;line-height:1.3;padding-left:22px;white-space:nowrap}.ws-deploy-staff{display:flex;align-items:center;gap:8px;min-width:0;width:100%}.ws-deploy-staff-icon{color:#389e0d;flex-shrink:0}.ws-deploy-chips{display:flex;flex-wrap:wrap;gap:4px;min-width:0}.ws-deploy-chip{display:inline-block;max-width:140px;padding:1px 7px;border-radius:6px;background:#f6ffed;border:1px solid #b7eb8f;color:#237804;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-deploy-chip.is-more{background:#f5f5f5;border-color:#f0f0f0;color:#595959}.ws-deploy-empty{font-size:12px;color:#bfbfbf;font-style:italic}.ws-deploy-actions{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:0;width:100%;min-height:24px}@media (max-width: 900px){.ws-deploy-grid{grid-template-columns:1fr}.ws-deploy-col-mid{border-left:none;border-right:none;border-top:1px solid #e8e8e8;border-bottom:1px solid #e8e8e8}.ws-deploy-col-right{align-items:flex-start;flex-direction:row;justify-content:space-between}.ws-deploy-badges,.ws-deploy-actions{width:auto}}.ws-mobile-staff{display:flex;align-items:flex-start;gap:6px}.ws-selection-bar{margin-bottom:12px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ws-filter-panel-wrap{margin-top:4px;padding:12px 14px;border-radius:12px;background:#f7f9fc;border:1px solid #e8eef5}.ws-filter-panel{display:flex;flex-direction:column;gap:12px}.ws-filter-section{display:flex;flex-direction:column;gap:8px}.ws-filter-section-head{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#8c8c8c}.ws-filter-grid{display:grid;gap:10px 12px}.ws-filter-grid-primary{grid-template-columns:repeat(6,minmax(0,1fr))}.ws-filter-grid-secondary{grid-template-columns:repeat(4,minmax(0,1fr))}.ws-filter-span-2{grid-column:span 2}.ws-filter-field{min-width:0;display:flex;flex-direction:column;gap:4px}.ws-filter-label{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:#595959;line-height:1.2}.ws-filter-label .anticon{font-size:12px;color:#8c8c8c}.ws-filter-field.is-building .ws-filter-label,.ws-filter-field.is-building .ws-filter-label .anticon{color:#0958d9}.ws-filter-field.is-building .ant-select-selector{border-color:#91caff!important;background:#f0f5ff!important}.ws-filter-field.is-employee .ws-filter-label,.ws-filter-field.is-employee .ws-filter-label .anticon{color:#237804}.ws-filter-field.is-employee .ant-select-selector{border-color:#b7eb8f!important;background:#f6ffed!important}.ws-filter-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:2px;border-top:1px dashed #e0e6ed}@media (max-width: 1200px){.ws-filter-grid-primary{grid-template-columns:repeat(3,minmax(0,1fr))}.ws-filter-span-2{grid-column:span 3}.ws-filter-grid-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.ws-filter-grid-primary,.ws-filter-grid-secondary{grid-template-columns:1fr}.ws-filter-span-2{grid-column:span 1}}.assignment-daily-staffing{margin-top:8px;border:1px solid #f0f0f0;border-radius:8px;padding:10px 12px 12px;background:#fafafa}.assignment-daily-staffing-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:8px}.assignment-daily-staffing-title{font-weight:600;font-size:13px;color:#1f1f1f}.assignment-daily-staffing-meta{font-size:12px;color:#8c8c8c;flex:1}.assignment-daily-staffing-table .ant-table{background:#fff}.assignment-daily-staffing-table .ant-table-thead>tr>th{padding:4px 6px!important;font-size:12px;text-align:center}.assignment-daily-staffing-table .ant-table-tbody>tr>td{padding:4px 6px!important}.assignment-daily-staffing-add{margin-top:8px}.assignment-shift-cell{width:28px;height:28px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;font-size:12px;font-weight:700;line-height:1;cursor:pointer;color:#8c8c8c;padding:0}.assignment-shift-cell:disabled{cursor:default;opacity:.85}.assignment-shift-cell--empty{color:#bfbfbf;font-weight:500}.assignment-shift-cell--am{color:#0958d9;border-color:#91caff;background:#e6f4ff}.assignment-shift-cell--pm{color:#d46b08;border-color:#ffd591;background:#fff7e6}.assignment-shift-cell--full{color:#389e0d;border-color:#b7eb8f;background:#f6ffed}.status-select.status-completed .ant-select-selector{background-color:#52c41a!important;border-color:#52c41a!important}.status-select.status-completed .ant-select-selection-item{color:#fff!important}.status-select.status-in_progress .ant-select-selector{background-color:#fff!important;border-color:#d9d9d9!important}.status-select.status-in_progress .ant-select-selection-item{color:#000!important}.assignments-table-page .dispatch-modern-table .ant-table,.assignments-table-page .assignments-table-card .ant-card-body,.assignments-table-page .assignments-table-card{overflow:visible!important}.assignments-table-page .assignments-table .ant-table-sticky-holder{z-index:6!important;background:linear-gradient(180deg,#eef6fb,#e6f1f8)!important}.assignments-table-page .assignments-table .ant-table-sticky-holder .ant-table-thead>tr>th{background:linear-gradient(180deg,#eef6fb,#e6f1f8)!important}.assignments-table-page .assignments-table .ant-table-sticky-scroll{z-index:7!important}.assignments-date-range{display:flex;flex-direction:column;line-height:1.35;font-size:12px;white-space:normal;color:#000000e0}.assignments-table-page .assignments-table .ant-table-tbody>tr>td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assignments-table .assignments-col-date{white-space:normal;overflow:visible;text-overflow:unset}.assignments-form-modal .ant-modal-body{padding:12px 20px 8px;overflow:hidden}.assignments-form-modal .ant-form-item{margin-bottom:10px}.assignments-form-modal .ant-form-item-label{padding-bottom:2px}.assignments-form-modal .ant-form-item-label>label{height:auto;font-size:13px}.assignments-form-modal .ant-form-item-explain,.assignments-form-modal .ant-form-item-extra{font-size:12px;min-height:0}.assignments-form-modal .ant-select-selection-overflow{max-height:56px;overflow-y:auto}.assignments-form-drawer .ant-form-item{margin-bottom:16px}.assignments-form-drawer .ant-form-item-label{padding-bottom:4px}.assignments-form-drawer .ant-form-item-label>label{font-size:13px;height:auto}.assignments-form-drawer .ant-select-single:not(.ant-select-customize-input) .ant-select-selector{height:36px!important;padding-inline:11px;align-items:center}.assignments-form-drawer .ant-select-single .ant-select-selection-item,.assignments-form-drawer .ant-select-single .ant-select-selection-placeholder{line-height:34px!important}.assignments-form-drawer .ant-select-multiple .ant-select-selector{min-height:36px;padding-block:2px}.assignments-form-drawer .ant-picker{height:36px;width:100%}.assignments-form-drawer .ant-input-number{width:100%}.assignments-form-drawer .ant-input-number-input{height:34px}.assignments-form-drawer .ant-input:not(textarea){min-height:36px}.assignments-form-drawer textarea.ant-input{min-height:64px;padding:8px 11px}.assignments-detail-modal .ant-modal-body{padding:12px 20px 8px;overflow:hidden}.assignments-detail-modal .ant-form-item{margin-bottom:10px}.assignments-detail-modal .ant-form-item-label{padding-bottom:2px}.assignments-detail-modal .ant-form-item-label>label{height:auto;font-size:13px}.assignments-detail-descriptions .ant-descriptions-item-label{width:120px;font-size:13px;padding:8px 12px!important}.assignments-detail-descriptions .ant-descriptions-item-content{font-size:13px;padding:8px 12px!important}.filter-keyword-suggest{position:relative;width:100%}.filter-keyword-suggest__icon{position:absolute;left:11px;top:50%;z-index:1;transform:translateY(-50%);color:#bbb;font-size:14px;pointer-events:none;line-height:1}.filter-keyword-suggest__control.ant-select-auto-complete .ant-input-affix-wrapper,.filter-keyword-suggest__control.ant-select-auto-complete .ant-input{padding-inline-start:32px!important}.filter-keyword-suggest__control.ant-select-auto-complete .ant-input-affix-wrapper>input.ant-input{padding-inline-start:0!important}.incidents-page{--incidents-accent: #0958d9;--incidents-surface: #fafafa;--incidents-border: #f0f0f0;--incidents-title: #141414;--incidents-muted: #595959;background:transparent;min-height:100%}.incidents-page-card.ant-card{border-radius:12px;box-shadow:0 2px 8px #0000000f}.incidents-page-card>.ant-card-body{padding:16px}.incidents-status-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:14px}.incidents-status-chip{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 10px;border:1px solid var(--incidents-border);border-top:2px solid var(--chip-color, var(--incidents-accent));border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--chip-color) 8%,#fff),#fff);cursor:pointer;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.incidents-status-chip:hover:not(:disabled){box-shadow:0 2px 8px #0000000f;transform:translateY(-1px)}.incidents-status-chip.is-active{border-color:var(--chip-color, var(--incidents-accent));box-shadow:0 0 0 1px color-mix(in srgb,var(--chip-color) 35%,transparent)}.incidents-status-chip:disabled{opacity:.7;cursor:wait}.incidents-status-chip-icon{width:24px;height:24px;border-radius:6px;background:color-mix(in srgb,var(--chip-color) 14%,transparent);color:var(--chip-color);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px}.incidents-status-chip-meta{min-width:0;display:flex;flex-direction:column;gap:1px}.incidents-status-chip-label{font-size:11px;font-weight:500;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.incidents-status-chip-value{font-size:18px;font-weight:700;color:var(--chip-color);line-height:1.15;font-variant-numeric:tabular-nums}.incidents-filter-label{margin-bottom:6px;font-size:12px;color:#666;font-weight:500;display:flex;align-items:center;gap:4px}.incidents-page-table .ant-table-row{cursor:pointer}.incidents-page-table .ant-table-tbody>tr:hover>td{background:#f5f9ff!important}.incidents-title-cell{display:flex;flex-direction:column;gap:2px;min-width:0}.incidents-title-main{font-weight:600;color:var(--incidents-title);line-height:1.35}.incidents-title-sub{font-size:12px;color:var(--incidents-muted);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.incident-drawer-footer{display:flex;justify-content:flex-end}.incident-drawer-section-title{font-size:13px;font-weight:650;color:var(--incidents-title, #141414);margin-bottom:12px}.incident-detail-status-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px}.incident-detail-reported{font-size:12px;color:var(--incidents-muted, #595959);margin-left:auto}.incident-detail-section{margin-bottom:16px}.incident-detail-collapse{background:#fff;border:1px solid var(--incidents-border, #f0f0f0);border-radius:8px}.incident-detail-collapse .ant-collapse-item{border-bottom:1px solid var(--incidents-border, #f0f0f0)}.incident-detail-collapse .ant-collapse-item:last-child{border-bottom:none}.incident-detail-collapse .ant-collapse-header{font-weight:600;color:var(--incidents-title, #141414)}.incident-detail-collapse .ant-collapse-content-box{padding-top:8px!important}.incident-status-tag{font-weight:600}.incident-timeline-meta{font-size:12px;color:#666;margin-top:4px}.incident-transfer-arrow{color:#d46b08;font-weight:600}@media (max-width: 992px){.incidents-status-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 576px){.incidents-status-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.incidents-status-chip-value{font-size:16px}.incident-detail-reported{margin-left:0;width:100%}}@supports not (background: color-mix(in srgb,red 50%,white)){.incidents-status-chip{background:#fff}.incidents-status-chip-icon{background:#0958d91a}}.repair-drawer-footer{position:absolute;right:0;bottom:0;left:0;padding:12px 24px;background:#fff;border-top:1px solid #f0f0f0;z-index:2}.repair-drawer-section{padding-bottom:4px}.repairs-page-table .ant-table-row{cursor:pointer}.repairs-hub-tabs .ant-tabs-content-holder{display:none}.repairs-hub>.repairs-hub-tabs{margin-bottom:4px}.repairs-page-table .ant-table-thead>tr>th{font-weight:650;color:#262626;background:#fafafa}.repairs-page-table .ant-table-tbody>tr>td{vertical-align:middle;padding-top:10px;padding-bottom:10px}.repairs-title-cell{display:flex;flex-direction:column;gap:2px;min-width:0}.repairs-title-main{font-weight:600;color:#141414;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.repairs-title-sub,.repairs-equipment-sub{font-size:12px;color:#595959;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.repairs-muted{color:#bfbfbf}.repairs-loc-tag.ant-tag{margin-inline-end:0;font-weight:600}.repairs-page-table .col-stt,.repairs-page-table .col-date,.repairs-page-table .col-location,.repairs-page-table .col-status,.repairs-page-table .col-actions{white-space:nowrap}.repairs-handlers-cell{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.repairs-filter-label{margin-bottom:6px;font-size:12px;color:#666;font-weight:500;display:flex;align-items:center;gap:4px}.ir-filter-date-toggle .ant-btn{padding-inline:10px}.revenue-page .revenue-kpi-row{margin-bottom:12px}.revenue-kpi-inner{display:flex;justify-content:space-between;align-items:center;gap:10px}.revenue-kpi-label{font-size:12px;font-weight:600;color:#595959;margin-bottom:4px}.revenue-kpi-value{font-size:22px;font-weight:750;line-height:1.2;letter-spacing:-.02em}.revenue-kpi-hint{font-size:11px;color:#8c8c8c;margin-top:2px}.revenue-kpi-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.revenue-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,300px);gap:12px;align-items:start}.revenue-main,.revenue-side{min-width:0}.revenue-top-list{display:flex;flex-direction:column;gap:8px}.revenue-top-row{display:grid;grid-template-columns:22px minmax(0,1fr) minmax(48px,1.1fr) auto;gap:8px;align-items:center;width:100%;border:none;background:transparent;padding:4px 2px;border-radius:6px;cursor:pointer;text-align:left}.revenue-top-row:hover{background:#0958d90f}.revenue-top-rank{width:20px;height:20px;border-radius:5px;color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.revenue-top-name{font-size:12px;font-weight:600;color:#262626;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.revenue-top-track{height:8px;background:#f0f0f0;border-radius:999px;overflow:hidden;min-width:0}.revenue-top-fill{display:block;height:100%;border-radius:999px;min-width:0}.revenue-top-value{white-space:nowrap;font-variant-numeric:tabular-nums}.revenue-table .ant-table-thead>tr>th{font-weight:650;background:#fafafa}.revenue-table .ant-table-summary{background:#f6ffed}.revenue-table .revenue-cost-cell{font-weight:700;color:#135200;font-variant-numeric:tabular-nums}.revenue-title-cell{display:flex;flex-direction:column;gap:2px;min-width:0}.revenue-title-main{font-weight:600;color:#141414;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.revenue-title-sub{font-size:12px;color:#595959;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 992px){.revenue-layout{grid-template-columns:1fr}}.materials-page{--mat-primary: #0f766e;--mat-primary-soft: #14b8a6;--mat-accent: #0ea5e9;--mat-warn: #ea580c;--mat-danger: #dc2626;--mat-violet: #7c3aed;--mat-ink: #0f172a;--mat-muted: #64748b;--mat-border: #e2e8f0;--mat-surface: #ffffff;--mat-bg: #f1f5f9;--mat-shadow: 0 4px 16px rgba(15, 23, 42, .06);--mat-shadow-lg: 0 10px 28px rgba(15, 23, 42, .1);padding:0 4px 24px}.materials-hero{position:relative;overflow:hidden;margin-bottom:20px;padding:22px 28px;border-radius:16px;background:linear-gradient(135deg,#0f766e,#0e7490 48%,#0369a1);box-shadow:0 10px 32px #0f766e47;color:#fff}.materials-hero:before{content:"";position:absolute;top:-60px;right:-40px;width:220px;height:220px;border-radius:50%;background:#ffffff1f;filter:blur(36px);pointer-events:none}.materials-hero:after{content:"";position:absolute;bottom:-80px;left:20%;width:180px;height:180px;border-radius:50%;background:#0ea5e940;filter:blur(40px);pointer-events:none}.materials-hero-inner{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.materials-hero-title{margin:0;font-size:24px;font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;gap:10px;color:#fff}.materials-hero-title .anticon{font-size:26px}.materials-hero-sub{margin:6px 0 0;font-size:13.5px;color:#ffffffe0;max-width:520px}.materials-hero-actions{display:flex;flex-wrap:wrap;gap:8px}.materials-hero-actions .ant-btn{border-radius:8px;font-weight:600;height:36px;box-shadow:0 2px 8px #0000001f}.materials-hero-actions .ant-btn-default{background:#ffffff24;border-color:#ffffff59;color:#fff}.materials-hero-actions .ant-btn-default:hover{background:#ffffff42!important;border-color:#ffffff8c!important;color:#fff!important}.materials-hero-actions .ant-btn-primary{background:#fff;border-color:#fff;color:var(--mat-primary)}.materials-hero-actions .ant-btn-primary:hover{background:#f0fdfa!important;border-color:#f0fdfa!important;color:#0f766e!important;transform:translateY(-1px)}.materials-stats.materials-category-stats{margin-bottom:18px!important;display:flex;flex-wrap:wrap;gap:10px}.materials-cat-stat{--cat-accent: #0f766e;flex:1 1 160px;max-width:220px;min-width:148px;border-radius:12px;border:1px solid var(--mat-border);border-top:4px solid var(--cat-accent);background:linear-gradient(165deg,color-mix(in srgb,var(--cat-accent) 12%,#fff),#fff 72%);box-shadow:var(--mat-shadow);padding:10px 12px 12px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;outline:none;-webkit-user-select:none;user-select:none}.materials-cat-stat:hover,.materials-cat-stat:focus-visible{transform:translateY(-2px);box-shadow:var(--mat-shadow-lg)}.materials-cat-stat.is-active{border-color:var(--cat-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--cat-accent) 35%,transparent),var(--mat-shadow)}.materials-cat-stat-title{font-size:13px;font-weight:700;color:#0f172a;line-height:1.25;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.materials-cat-stat-title.is-selected{color:var(--cat-accent)}.materials-cat-stat-minis{display:grid;grid-template-columns:1fr 1fr;gap:6px}.materials-cat-mini{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1px solid #e2e8f0;border-radius:8px;background:#ffffffe0;padding:6px 8px;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.materials-cat-mini:hover{border-color:color-mix(in srgb,var(--cat-accent) 45%,#cbd5e1)}.materials-cat-mini.is-selected{border-color:var(--cat-accent);background:color-mix(in srgb,var(--cat-accent) 10%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cat-accent) 25%,transparent)}.materials-cat-mini-label{font-size:10px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--mat-muted);line-height:1.2}.materials-cat-mini-value{font-size:18px;font-weight:700;line-height:1.1;letter-spacing:-.02em;color:#0f172a}.materials-cat-mini--in .materials-cat-mini-value{color:#15803d}.materials-cat-mini--out .materials-cat-mini-value{color:#1d4ed8}.materials-cat-stat.is-uncategorized{--cat-accent: #64748b}.materials-panel.ant-card{border-radius:16px;border:1px solid var(--mat-border);box-shadow:var(--mat-shadow);background:#fff;overflow:visible}.materials-panel>.ant-card-body{padding:16px 20px 20px!important}.materials-tabs.ant-tabs,.materials-tabs.ant-tabs .ant-tabs-content-holder,.materials-tabs.ant-tabs .ant-tabs-tabpane{overflow:visible}.materials-tabs.ant-tabs .ant-tabs-nav{margin-bottom:14px}.materials-tabs.ant-tabs .ant-tabs-nav:before{border-bottom-color:var(--mat-border)}.materials-tabs.ant-tabs .ant-tabs-tab{padding:10px 16px;font-weight:600;font-size:14px;color:var(--mat-muted);border-radius:8px 8px 0 0}.materials-tabs.ant-tabs .ant-tabs-tab:hover{color:var(--mat-primary)}.materials-tabs.ant-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--mat-primary)!important;font-weight:700}.materials-tabs.ant-tabs .ant-tabs-ink-bar{background:linear-gradient(90deg,var(--mat-primary),var(--mat-accent));height:3px;border-radius:3px 3px 0 0}.materials-tabs-extra .ant-btn{border-radius:8px;font-weight:600}.materials-tabs-extra .ant-btn-default:hover{border-color:var(--mat-primary-soft);color:var(--mat-primary)}.materials-history-subtabs.ant-tabs{overflow:visible}.materials-history-subtabs.ant-tabs>.ant-tabs-nav{margin-bottom:12px}.materials-history-subtabs.ant-tabs>.ant-tabs-nav:before{border-bottom-color:var(--mat-border)}.materials-history-subtabs.ant-tabs .ant-tabs-tab{padding:8px 14px;font-weight:600}.materials-history-subtabs.ant-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--mat-primary)!important}.materials-history-subtabs.ant-tabs .ant-tabs-ink-bar{background:linear-gradient(90deg,var(--mat-primary),var(--mat-accent));height:2px}.materials-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px;padding:12px 14px;background:linear-gradient(180deg,#f8fafc,#fff);border:1px solid var(--mat-border);border-radius:12px}.materials-toolbar .ant-select,.materials-toolbar .ant-picker,.materials-toolbar .ant-input-search,.materials-toolbar .ant-input-affix-wrapper{border-radius:8px}.materials-toolbar .ant-btn{border-radius:8px;font-weight:600}.materials-toolbar .ant-btn-default:hover{border-color:var(--mat-primary-soft);color:var(--mat-primary)}.materials-hint.ant-alert{margin-bottom:14px;border-radius:10px;border:1px solid #bae6fd;background:linear-gradient(135deg,#f0f9ff,#fff)}.materials-table.ant-table-wrapper .ant-table-container{border:1px solid var(--mat-border)!important;border-radius:12px}.materials-table .ant-table-thead>tr>th{background:#e8eef5!important;color:var(--mat-ink)!important;font-weight:700!important;font-size:12.5px!important;letter-spacing:.01em;border-bottom:1px solid var(--mat-border)!important;padding:11px 14px!important}.materials-table .ant-table-sticky-holder{z-index:5!important;background:#e8eef5!important}.materials-table .ant-table-sticky-holder .ant-table-thead>tr>th{background:#e8eef5!important}.materials-table .ant-table-sticky-scroll{z-index:6!important}.materials-table .ant-table-cell-fix-right{background:#fff!important}.materials-table .ant-table-thead>tr>th.ant-table-cell-fix-right{background:#e8eef5!important}.materials-table .ant-table-tbody>tr:hover>td.ant-table-cell-fix-right{background:#f8fafc!important}.materials-table .ant-table-tbody>tr.materials-row-category>td.ant-table-cell-fix-right{background:#f1f5f9!important}.materials-table .ant-table-tbody>tr>td{padding:11px 14px!important;border-bottom:1px solid #f1f5f9!important;font-size:13.5px;color:#1e293b}.materials-table .ant-table-tbody>tr:hover>td{background:#f0fdfa!important}.materials-table .ant-table-tbody>tr.materials-row-category>td{background:linear-gradient(90deg,#ecfeff,#f8fafc)!important;font-weight:600;border-bottom:1px solid #cffafe!important}.materials-table .ant-table-tbody>tr.materials-row-overdue>td{background:#fff7ed!important}.materials-table .ant-table-tbody>tr.materials-row-overdue:hover>td{background:#ffedd5!important}.materials-table .ant-tag{border-radius:6px;font-weight:600;margin-inline-end:0}.materials-table .ant-btn-sm{border-radius:6px;font-weight:600}.materials-table .ant-table-expanded-row>td{background:#f8fafc!important;padding:12px 16px 16px!important}.materials-table .ant-table-expanded-row .ant-table{background:#fff;border-radius:8px}.materials-asset-name{font-weight:600;color:var(--mat-ink)}.materials-asset-code{font-size:12px;color:var(--mat-muted);background:#f1f5f9;padding:1px 6px;border-radius:4px;border:1px solid var(--mat-border)}.materials-loc-main{font-weight:500;color:#1e293b}.materials-loc-sub{color:var(--mat-muted);font-size:12px}.materials-notes-cell.ant-typography-edit-content,.materials-notes-cell{cursor:pointer}.materials-notes-cell .ant-typography-edit{display:none!important}.materials-loc-one-line{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.materials-slip-link{font-weight:700;color:var(--mat-primary);letter-spacing:.01em}.materials-slip-link--borrow{color:#1677ff}.materials-slip-link--return{color:#389e0d}.materials-modal .ant-modal-content{border-radius:14px;overflow:hidden;box-shadow:0 20px 48px #0f172a2e}.materials-modal .ant-modal-header{margin:0;padding:16px 20px;background:linear-gradient(135deg,#f0fdfa,#e0f2fe);border-bottom:1px solid #ccfbf1}.materials-modal .ant-modal-title{font-weight:700;font-size:16px;color:var(--mat-ink)}.materials-modal .ant-modal-close{top:14px}.materials-modal .ant-modal-body{padding:18px 20px}.materials-modal .ant-modal-footer{padding:12px 20px 16px;border-top:1px solid var(--mat-border);background:#f8fafc}.materials-modal .ant-modal-footer .ant-btn,.materials-modal .ant-modal-footer .ant-btn-primary{border-radius:8px;font-weight:600;min-width:88px}.materials-modal .ant-modal-footer .ant-btn-primary{background:#0f766e;border-color:#0f766e}.materials-modal .ant-modal-footer .ant-btn-primary:hover{background:#0d9488!important;border-color:#0d9488!important}.materials-modal .ant-form-item-label>label{font-weight:600;color:#334155}.materials-modal-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin-bottom:16px;padding:12px 14px;border-radius:10px;background:linear-gradient(135deg,#f8fafc,#f0fdfa);border:1px solid var(--mat-border)}.materials-modal-meta .mat-meta-label{display:block;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--mat-muted);margin-bottom:2px}.materials-modal-meta .mat-meta-value{font-size:14px;font-weight:600;color:var(--mat-ink)}.materials-modal-meta .mat-meta-span{grid-column:1 / -1}.materials-filter-drawer .materials-filter-drawer-body{display:flex;flex-direction:column;gap:14px}.materials-filter-field{display:flex;flex-direction:column;gap:6px}.materials-filter-field>label{font-size:12px;font-weight:700;color:var(--mat-muted);text-transform:uppercase;letter-spacing:.03em}.materials-filter-drawer-footer{display:flex;justify-content:space-between;gap:10px}.materials-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--mat-primary);color:#fff;font-size:11px;font-weight:700}.materials-m-loading,.materials-m-empty{padding:40px 12px;text-align:center}.materials-m-card-list{display:flex;flex-direction:column;gap:10px}.materials-m-card{border:1px solid var(--mat-border);border-radius:12px;background:#fff;padding:12px;box-shadow:var(--mat-shadow)}.materials-m-card.is-selected{border-color:var(--mat-primary-soft);box-shadow:0 0 0 2px #14b8a62e}.materials-m-card.is-overdue{background:#fff7ed;border-color:#fdba74}.materials-m-card-hit{display:block;width:100%;padding:0;margin:0;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit}.materials-m-card-top{display:flex;gap:10px;align-items:flex-start}.materials-m-card-check{margin-top:2px;flex-shrink:0}.materials-m-card-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.materials-m-asset-card{padding:10px;border-width:1px;border-style:solid;border-left-width:3px;border-left-style:solid}.materials-m-asset-card.is-in-stock{border-color:#bbf7d0;border-left-color:#16a34a}.materials-m-asset-card.is-checked-out{border-color:#bfdbfe;border-left-color:#2563eb}.materials-m-asset-card.is-checked-out.is-selected,.materials-m-asset-card.is-in-stock.is-selected{box-shadow:0 0 0 2px #14b8a638}.materials-m-asset-row{display:flex;align-items:flex-start;gap:8px}.materials-m-asset-body{flex:1;min-width:0}.materials-m-asset-name-row{min-width:0;margin-bottom:2px}.materials-m-asset-name-primary{display:block;font-size:14.5px;font-weight:700;line-height:1.3;color:var(--mat-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.materials-m-asset-head{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}.materials-m-asset-identity{display:flex;align-items:center;gap:6px;min-width:0;flex:1;overflow:hidden}.materials-m-asset-identity .materials-asset-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.materials-m-asset-identity .materials-asset-code{flex-shrink:0}.materials-m-asset-status.ant-tag{margin:0;flex-shrink:0;font-size:11px;line-height:18px;padding:0 6px}.materials-m-asset-sub{margin-top:3px;font-size:12px;display:flex;align-items:baseline;gap:4px;min-width:0;color:var(--mat-muted)}.materials-m-asset-loc{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.materials-m-asset-dot{flex-shrink:0}.materials-m-asset-notes{margin-top:4px;width:100%;min-width:0}.materials-m-card-notes-wrap.ant-typography,.materials-m-card-notes-wrap{display:block!important;width:100%;max-width:100%;font-size:12.5px!important;line-height:1.45!important;margin-bottom:0!important;min-height:0!important;white-space:pre-wrap!important;word-break:break-word;overflow-wrap:anywhere}.materials-m-asset-notes .ant-typography-edit-content{left:0!important;margin:0!important;inset-inline-start:0!important;width:100%!important;max-width:100%!important}.materials-m-asset-notes .ant-typography-edit-content textarea,.materials-m-asset-notes .ant-input{width:100%!important;max-width:100%!important;font-size:12.5px!important;line-height:1.45!important;white-space:pre-wrap!important;word-break:break-word;overflow-wrap:anywhere;resize:none}.materials-m-asset-actions{display:flex;flex-shrink:0;align-items:center;gap:4px}.materials-m-asset-actions .ant-btn{width:32px;height:32px;padding:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.materials-m-card-title-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px}.materials-m-card-meta{display:flex;flex-direction:column;gap:6px;margin-top:8px}.materials-m-card-notes{display:block;min-height:20px}.materials-m-card-subrow{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.materials-m-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid #f1f5f9}.materials-m-card-actions .ant-btn{border-radius:8px;font-weight:600;min-height:32px}.materials-m-bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;padding:10px 12px;border-radius:10px;background:#ecfeff;border:1px solid #a5f3fc;font-weight:600;color:#0f766e;position:sticky;top:56px;z-index:3}.materials-m-collapse.ant-collapse{background:transparent;border:none}.materials-m-collapse .ant-collapse-item{margin-bottom:10px;border:1px solid var(--mat-border)!important;border-radius:12px!important;overflow:hidden;background:#fff}.materials-m-collapse .ant-collapse-header{align-items:center!important;padding:12px 14px!important;background:linear-gradient(90deg,#ecfeff,#f8fafc)}.materials-m-collapse .ant-collapse-content{border-top:1px solid #e2e8f0}.materials-m-collapse .ant-collapse-content-box{padding:10px!important}.materials-m-cat-label{min-width:0}.materials-m-cat-dot,.materials-cat-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.materials-m-cat-item.ant-collapse-item{border-color:var(--mat-border)!important}.materials-m-history-card{padding:10px}.materials-m-history-main{flex:1;min-width:0;display:block;width:auto;padding:0;margin:0;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit}.materials-m-history-card .materials-m-asset-identity .ant-tag{margin:0;font-size:11px;line-height:18px;padding:0 6px;flex-shrink:0}.materials-m-task-items{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-top:8px;border-top:1px dashed #e2e8f0}.materials-m-task-item{padding:8px 10px;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0}.materials-m-task-item--compact .materials-m-asset-head{gap:6px}.materials-m-task-item--compact .materials-m-asset-actions .ant-btn,.materials-m-task-item--compact .ant-btn-sm{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center}.materials-m-overdue-summary{margin-bottom:10px;font-size:13px;font-weight:600;color:#b91c1c}.materials-m-asset-history{max-height:calc(100vh - 140px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px}.materials-m-history-row{display:grid;grid-template-columns:88px 1fr;gap:8px;align-items:start;font-size:13.5px;line-height:1.4;word-break:break-word}.materials-m-history-label{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--mat-muted);padding-top:2px}@media (max-width: 768px){.materials-page{padding:0 0 20px}.materials-hero{padding:16px 14px;margin-bottom:14px;border-radius:14px}.materials-hero-title{font-size:20px}.materials-hero-title .anticon{font-size:22px}.materials-hero-sub{font-size:12.5px;max-width:none}.materials-hero-actions{width:100%;justify-content:flex-end}.materials-hero-actions .ant-btn{height:40px;padding-inline:14px}.materials-stats.materials-category-stats{display:flex!important;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.materials-cat-stat{flex:0 0 156px;max-width:156px;min-width:156px}.materials-panel.ant-card{border-radius:14px}.materials-panel>.ant-card-body{padding:12px 12px 16px!important}.materials-tabs.ant-tabs .ant-tabs-nav{margin-bottom:10px}.materials-tabs.ant-tabs .ant-tabs-nav-list{flex-wrap:nowrap}.materials-tabs.ant-tabs .ant-tabs-tab{padding:8px 12px;font-size:13px}.materials-toolbar{padding:10px;gap:8px;border-radius:10px}.materials-toolbar--mobile{flex-wrap:nowrap;align-items:stretch}.materials-toolbar--mobile .materials-m-search{flex:1;min-width:0}.materials-toolbar--mobile .ant-btn{min-height:40px;flex-shrink:0}.materials-history-subtabs.ant-tabs .ant-tabs-tab{flex:1;justify-content:center}.materials-modal-meta{grid-template-columns:1fr}.materials-modal .ant-modal-wrap{overflow:hidden}.materials-modal .ant-modal,.materials-modal-dialog--mobile{width:100%!important;max-width:100%!important;margin:0!important;top:0!important;padding:0!important;max-height:100dvh}.materials-modal .ant-modal-content{border-radius:0;height:100dvh;max-height:100dvh;display:flex;flex-direction:column;overflow:hidden}.materials-modal .ant-modal-header{flex-shrink:0;padding:12px 14px!important}.materials-modal .ant-modal-title{font-size:15px;line-height:1.35;padding-right:28px;word-break:break-word}.materials-modal .ant-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 14px!important}.materials-modal .ant-modal-footer{flex-shrink:0;position:static;margin-top:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px))!important}.materials-modal .ant-modal-footer .ant-btn{min-height:40px;flex:1}.materials-modal .ant-modal-footer .ant-btn+.ant-btn{margin-inline-start:8px}.materials-modal--checkout .ant-form-item{margin-bottom:12px!important}.materials-modal--checkout .ant-form-item-label{padding-bottom:2px!important}.materials-modal--checkout .ant-form-item-label>label{font-size:13px;height:auto}.materials-modal--checkout .ant-input,.materials-modal--checkout .ant-input-affix-wrapper,.materials-modal--checkout .ant-select-selector,.materials-modal--checkout .ant-picker{min-height:40px}.materials-modal--checkout .ant-alert{margin-bottom:10px!important;padding:8px 10px}.materials-modal--checkout textarea.ant-input{min-height:64px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh}#root{min-height:100vh;width:100%;max-width:100%}html{overflow-x:clip}body{overflow-x:clip;width:100%;max-width:100%}:root{--layout-content-margin: 24px;--layout-content-padding: 24px;--layout-header-padding: 0 24px;--layout-header-height: 64px;--layout-content-min-height: calc(100vh - 112px) ;--content-max-width: 100%;--content-border-radius: 16px;--sider-width: 250px;--sider-collapsed-width: 80px;--stat-card-max-width: none;--table-font-size: 14px;--card-body-padding: 24px;--modal-max-width: 520px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:1000px;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes loginTitleGlow{0%,to{filter:drop-shadow(0 2px 6px rgba(0,0,0,.25)) drop-shadow(0 0 12px rgba(255,255,255,.25))}50%{filter:drop-shadow(0 2px 8px rgba(0,0,0,.3)) drop-shadow(0 0 24px rgba(255,255,255,.55)) drop-shadow(0 0 36px rgba(180,200,255,.35))}}@keyframes loginTitleShimmer{0%{background-position:0% center}to{background-position:200% center}}@keyframes loginTitleFadeIn{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes loginTitleLineGlow{0%,to{opacity:.5;width:60px}50%{opacity:1;width:100px}}@keyframes glow{0%,to{box-shadow:0 0 5px #667eea80}50%{box-shadow:0 0 20px #667eeacc,0 0 30px #667eea99}}.fade-in{animation:fadeIn .5s ease-out}.slide-in-left{animation:slideInLeft .5s ease-out}.slide-in-right{animation:slideInRight .5s ease-out}.slide-down{animation:slideDown .3s ease-out}.pulse{animation:pulse 2s ease-in-out infinite}.float{animation:float 3s ease-in-out infinite}.glow{animation:glow 2s ease-in-out infinite}*{transition:background-color .3s ease,color .3s ease,box-shadow .3s ease,border-color .3s ease}.ant-menu-item,.ant-menu-submenu-title,.card-hover,.ant-tabs-tab,.ant-btn,.export-button-hover{transition:background-color .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease,border-color .3s ease}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#764ba2,#667eea)}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000026}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-ripple:active:after{width:300px;height:300px}.gradient-text{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass{background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18)}.table-actions-cell{display:inline-flex;justify-content:flex-end;width:100%;opacity:0;transform:translate(8px);transition:opacity .2s ease,transform .2s ease}.ant-table-tbody tr:hover .table-actions-cell{opacity:1;transform:translate(0)}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.stats-row{display:flex;flex-wrap:wrap}.project-kpi-row{flex-wrap:nowrap}.project-kpi-row .ant-col{min-width:0}@media (min-width: 992px) and (max-width: 1199px){.stat-col-equal.ant-col{flex:0 0 calc(33.333% - 11px)!important;max-width:calc(33.333% - 11px)!important;min-width:0;width:auto!important}}@media (min-width: 1200px) and (max-width: 1599px){.stat-col-equal.ant-col{flex:0 0 calc(25% - 12px)!important;max-width:calc(25% - 12px)!important;min-width:0;width:auto!important}}@media (min-width: 1600px){.stat-col-equal.ant-col{flex:1 1 0%!important;max-width:calc(20% - 13.6px)!important;min-width:0;width:auto!important}}.ant-menu-dark .ant-menu-item,.ant-menu-dark .ant-menu-submenu-title{transition:all .3s ease!important;border-radius:8px!important;margin:4px 8px!important;padding:0 16px!important;position:relative!important}.ant-menu-dark .ant-menu-item:hover,.ant-menu-dark .ant-menu-submenu-title:hover{background:linear-gradient(135deg,#667eea33,#764ba233)!important;transform:translate(4px) translateY(-2px)!important;box-shadow:0 4px 12px #667eea4d!important}.ant-menu-dark .ant-menu-item-selected,.ant-menu-dark .ant-menu-item-selected:hover{background:linear-gradient(135deg,#667eea4d,#764ba24d)!important;border-left:4px solid #667eea!important;box-shadow:0 4px 12px #667eea66!important;transform:translate(2px)!important}.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title{background:linear-gradient(135deg,#667eea33,#764ba233)!important}.ant-menu-dark .ant-menu-submenu .ant-menu-item{margin-left:8px!important;margin-right:8px!important;padding-left:40px!important}.ant-menu-dark .ant-menu-submenu .ant-menu-item:hover{background:linear-gradient(135deg,#667eea26,#764ba226)!important;transform:translate(4px) translateY(-2px)!important;box-shadow:0 2px 8px #667eea33!important}.ant-menu-dark .ant-menu-submenu .ant-menu-item-selected,.ant-menu-dark .ant-menu-submenu .ant-menu-item-selected:hover{background:linear-gradient(135deg,#667eea40,#764ba240)!important;border-left:3px solid #667eea!important;box-shadow:0 2px 8px #667eea4d!important;transform:translate(2px)!important}.export-button-hover{transition:all .3s ease!important;cursor:pointer!important}.export-button-hover:hover{transform:translateY(-4px)!important;box-shadow:0 8px 24px #667eea66!important;background:#ffffff4d!important}.export-button-hover:active{transform:translateY(-2px)!important}.ant-tabs .ant-tabs-tab{transition:all .4s cubic-bezier(.4,0,.2,1)!important;border-radius:8px 8px 0 0!important;margin:0 4px!important;padding:12px 20px!important;position:relative!important;overflow:hidden!important}.ant-tabs .ant-tabs-tab:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(102,126,234,.1),transparent);transition:left .5s ease!important}.ant-tabs .ant-tabs-tab:hover:before{left:100%}.ant-tabs .ant-tabs-tab:hover{background:linear-gradient(135deg,#667eea14,#764ba214)!important;transform:scale(1.02)!important;box-shadow:0 2px 8px #667eea26!important}.ant-tabs .ant-tabs-tab.ant-tabs-tab-active{background:linear-gradient(135deg,#667eea1f,#764ba21f)!important;border-bottom:2px solid #667eea!important;transition:all .4s cubic-bezier(.4,0,.2,1)!important}.ant-tabs .ant-tabs-tab.ant-tabs-tab-active:hover{background:linear-gradient(135deg,#667eea26,#764ba226)!important;transform:scale(1.02)!important;box-shadow:0 2px 8px #667eea33!important}.ant-tabs .ant-tabs-tab .ant-tabs-tab-btn{transition:all .4s cubic-bezier(.4,0,.2,1)!important;position:relative;z-index:1}.ant-tabs .ant-tabs-tab:hover .ant-tabs-tab-btn{color:#667eea!important;transform:translate(2px)!important}.warranty-page{display:flex;flex-direction:column;min-height:var(--layout-content-min-height)}.warranty-page-card{border-radius:16px;box-shadow:0 4px 12px #00000014;flex:1;min-height:0;display:flex;flex-direction:column}.warranty-page-card .ant-card-body{flex:1;min-height:0}.warranty-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:nowrap}.warranty-filters-row{display:flex;flex-wrap:nowrap;gap:10px;align-items:center;margin-bottom:14px;overflow-x:auto;padding-bottom:2px}.warranty-filter-item{flex:1 1 0;min-width:140px}.warranty-filter-dates{min-width:240px}.warranty-filter-reset{flex:0 0 auto}.warranty-table-wrap{flex:1;min-height:0}.warranty-table-wrap .ant-table-wrapper,.warranty-table-wrap .ant-spin-nested-loading,.warranty-table-wrap .ant-spin-container{height:100%}.warranty-row-expired>td{background:linear-gradient(90deg,#fff1f0,#fff)!important}.warranty-row-expired:hover>td{background:#ffece8!important}.warranty-row-expiring>td{background:linear-gradient(90deg,#fff7e6,#fffbe6,#fff)!important;border-left:4px solid #fa8c16!important;box-shadow:inset 0 0 0 1px #fa8c1626}.warranty-row-expiring:hover>td{background:#ffe7ba!important}.warranty-name-highlight{color:inherit}.warranty-row-expired .warranty-name-highlight{color:#cf1322}.warranty-row-expiring .warranty-name-highlight{color:#d46b08}.warranty-status-tag--expiring_soon{font-weight:600;border:1px solid #ffd591}.warranty-status-tag--expired{font-weight:600;border:1px solid #ffa39e}@keyframes warranty-progress-pulse{0%,to{opacity:1}50%{opacity:.65}}.warranty-progress-pulse .ant-progress-bg{animation:warranty-progress-pulse 1.6s ease-in-out infinite}@media (max-width: 768px){.warranty-toolbar,.warranty-filters-row{flex-wrap:wrap}.warranty-filter-item,.warranty-filter-dates{min-width:100%;flex:1 1 100%}}.warranty-projects-tabs .ant-tabs-extra-content{display:flex;align-items:stretch}.warranty-projects-tabs:not(.warranty-page-tabs) .warranty-tab-add-btn{min-width:var(--warranty-tab-min-width, 280px)!important;height:auto!important;padding:12px 20px!important;border-radius:8px 8px 0 0!important;margin:0 4px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}.warranty-projects-tabs:not(.warranty-page-tabs) .ant-tabs-tab{min-width:var(--warranty-tab-min-width, 280px)!important;justify-content:center!important}.warranty-projects-tabs:not(.warranty-page-tabs) .ant-tabs-tab .ant-tabs-tab-btn{width:100%;text-align:center}.maintenance-tabs .ant-tabs-extra-content{display:flex;align-items:stretch}.maintenance-tabs:not(.maintenance-page-tabs) .maintenance-tab-add-btn{width:auto!important;height:auto!important;padding:12px 20px!important;border-radius:8px 8px 0 0!important;margin:0 4px!important;display:inline-flex!important;align-items:center!important;justify-content:flex-start!important}.maintenance-tabs:not(.maintenance-page-tabs) .ant-tabs-tab{width:auto!important;justify-content:flex-start!important}.maintenance-tabs:not(.maintenance-page-tabs) .ant-tabs-tab .ant-tabs-tab-btn{text-align:left}.users-tabs .ant-tabs-extra-content{display:flex;align-items:stretch}.users-tabs:not(.users-page-tabs) .users-tab-add-btn{min-width:var(--users-tab-min-width, 28ch)!important;width:var(--users-tab-min-width, 28ch)!important;height:auto!important;padding:12px 20px!important;border-radius:8px 8px 0 0!important;margin:0 4px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}.users-tabs:not(.users-page-tabs) .ant-tabs-tab{min-width:var(--users-tab-min-width, 28ch)!important;width:var(--users-tab-min-width, 28ch)!important;justify-content:center!important}.users-tabs:not(.users-page-tabs) .ant-tabs-tab .ant-tabs-tab-btn{width:100%;text-align:center}.equipment-tabs .ant-tabs-extra-content{display:flex;align-items:stretch}.equipment-tabs .equipment-tab-bar-btn{height:auto!important;padding:12px 20px!important;border-radius:8px 8px 0 0!important;margin:0 4px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:none!important;box-shadow:none!important;transition:all .4s cubic-bezier(.4,0,.2,1)!important}.equipment-page-tabs,.maintenance-page-tabs,.maintenance-history-page-tabs,.warranty-page-tabs,.users-page-tabs,.reports-page-tabs,.repairs-page-tabs{--pill-tab-accent: #1890ff}.equipment-page-tabs .ant-tabs-nav,.maintenance-page-tabs .ant-tabs-nav,.maintenance-history-page-tabs .ant-tabs-nav,.warranty-page-tabs .ant-tabs-nav,.users-page-tabs .ant-tabs-nav,.reports-page-tabs .ant-tabs-nav,.repairs-page-tabs .ant-tabs-nav{margin-bottom:16px}.equipment-page-tabs .ant-tabs-nav:before,.maintenance-page-tabs .ant-tabs-nav:before,.maintenance-history-page-tabs .ant-tabs-nav:before,.warranty-page-tabs .ant-tabs-nav:before,.users-page-tabs .ant-tabs-nav:before,.reports-page-tabs .ant-tabs-nav:before,.repairs-page-tabs .ant-tabs-nav:before{border-bottom:none!important}.equipment-page-tabs .ant-tabs-ink-bar,.maintenance-page-tabs .ant-tabs-ink-bar,.maintenance-history-page-tabs .ant-tabs-ink-bar,.warranty-page-tabs .ant-tabs-ink-bar,.users-page-tabs .ant-tabs-ink-bar,.reports-page-tabs .ant-tabs-ink-bar,.repairs-page-tabs .ant-tabs-ink-bar{display:none!important}.equipment-page-tabs .ant-tabs-tab,.maintenance-page-tabs .ant-tabs-tab,.maintenance-history-page-tabs .ant-tabs-tab,.warranty-page-tabs .ant-tabs-tab,.users-page-tabs .ant-tabs-tab,.reports-page-tabs .ant-tabs-tab,.repairs-page-tabs .ant-tabs-tab{padding:0!important;margin:0 5px!important;border:none!important;background:transparent!important}.equipment-page-tabs .ant-tabs-tab .ant-tabs-tab-btn,.maintenance-page-tabs .ant-tabs-tab .ant-tabs-tab-btn,.maintenance-history-page-tabs .ant-tabs-tab .ant-tabs-tab-btn,.warranty-page-tabs .ant-tabs-tab .ant-tabs-tab-btn,.users-page-tabs .ant-tabs-tab .ant-tabs-tab-btn,.reports-page-tabs .ant-tabs-tab .ant-tabs-tab-btn,.repairs-page-tabs .ant-tabs-tab .ant-tabs-tab-btn{padding:0!important;width:auto!important;text-align:center}.equipment-page-tabs .ant-tabs-tab-active .ant-tabs-tab-btn,.maintenance-page-tabs .ant-tabs-tab-active .ant-tabs-tab-btn,.maintenance-history-page-tabs .ant-tabs-tab-active .ant-tabs-tab-btn,.warranty-page-tabs .ant-tabs-tab-active .ant-tabs-tab-btn,.users-page-tabs .ant-tabs-tab-active .ant-tabs-tab-btn,.reports-page-tabs .ant-tabs-tab-active .ant-tabs-tab-btn,.repairs-page-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:inherit!important;font-weight:inherit!important}.equipment-page-tabs .equipment-tab-btn,.maintenance-page-tabs .equipment-tab-btn,.maintenance-history-page-tabs .equipment-tab-btn,.warranty-page-tabs .equipment-tab-btn,.users-page-tabs .equipment-tab-btn,.reports-page-tabs .equipment-tab-btn,.page-pill-toolbar .ant-btn.page-pill-btn,.ant-btn.page-pill-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:10px;font-weight:600;font-size:14px;line-height:1.4;white-space:nowrap;border:1.5px solid transparent;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.page-pill-toolbar .ant-btn.page-pill-btn,.ant-btn.page-pill-btn{height:auto!important}.equipment-page-tabs .equipment-tab-btn:hover,.maintenance-page-tabs .equipment-tab-btn:hover,.maintenance-history-page-tabs .equipment-tab-btn:hover,.warranty-page-tabs .equipment-tab-btn:hover,.users-page-tabs .equipment-tab-btn:hover,.reports-page-tabs .equipment-tab-btn:hover,.page-pill-toolbar .ant-btn.page-pill-btn:hover,.ant-btn.page-pill-btn:hover{transform:translateY(-2px)}.equipment-page-tabs .equipment-tab-btn:active,.maintenance-page-tabs .equipment-tab-btn:active,.maintenance-history-page-tabs .equipment-tab-btn:active,.warranty-page-tabs .equipment-tab-btn:active,.users-page-tabs .equipment-tab-btn:active,.reports-page-tabs .equipment-tab-btn:active,.page-pill-toolbar .ant-btn.page-pill-btn:active,.ant-btn.page-pill-btn:active{transform:translateY(0)}.equipment-page-tabs .equipment-tab-btn-add,.equipment-page-tabs .equipment-tab-btn-add-system,.maintenance-page-tabs .equipment-tab-btn-add,.maintenance-history-page-tabs .equipment-tab-btn-add,.warranty-page-tabs .equipment-tab-btn-add,.users-page-tabs .equipment-tab-btn-add,.page-pill-toolbar .page-pill-btn-add,.page-pill-btn.page-pill-btn-add{background:linear-gradient(135deg,#1890ff,#096dd9)!important;color:#fff!important;border-color:#1890ff!important;box-shadow:0 3px 10px #1890ff59!important}.equipment-page-tabs .equipment-tab-btn-add:hover,.equipment-page-tabs .equipment-tab-btn-add-system:hover,.maintenance-page-tabs .equipment-tab-btn-add:hover,.maintenance-history-page-tabs .equipment-tab-btn-add:hover,.warranty-page-tabs .equipment-tab-btn-add:hover,.users-page-tabs .equipment-tab-btn-add:hover,.page-pill-toolbar .page-pill-btn-add:hover,.page-pill-btn.page-pill-btn-add:hover{box-shadow:0 6px 16px #1890ff73!important;filter:brightness(1.05)}.equipment-page-tabs .equipment-tab-btn-category{background:#fff;color:#000000e0;border-color:#d9d9d9;box-shadow:0 2px 6px #0000000f}.equipment-page-tabs .equipment-tab-btn-category:hover{border-color:#1890ff;color:#1890ff;box-shadow:0 4px 12px #1890ff2e}.equipment-page-tabs .ant-tabs-tab-active .equipment-tab-btn-category{background:linear-gradient(135deg,#1890ff24,#096dd91a);color:#1890ff!important;border-color:#1890ff;box-shadow:0 4px 12px #1890ff38}.equipment-page-tabs .equipment-tab-btn-system{background:#fff;color:#000000e0;border-color:#d9d9d9;box-shadow:0 2px 6px #0000000f}.equipment-page-tabs .equipment-tab-btn-system:hover{border-color:#722ed1;color:#722ed1;box-shadow:0 4px 12px #722ed12e}.equipment-page-tabs .ant-tabs-tab-active .equipment-tab-btn-system{background:linear-gradient(135deg,#722ed124,#9254de1a);color:#722ed1!important;border-color:#722ed1;box-shadow:0 4px 12px #722ed138}.equipment-page-tabs .equipment-tab-btn-filter,.maintenance-history-page-tabs .equipment-tab-btn-filter,.warranty-page-tabs .equipment-tab-btn-filter,.page-pill-toolbar .page-pill-btn-filter,.page-pill-toolbar .equipment-tab-btn-filter{background:#fff!important;color:#000000e0!important;border-color:#d9d9d9!important;box-shadow:0 2px 6px #0000000f!important}.equipment-page-tabs .equipment-tab-btn-filter:hover,.maintenance-history-page-tabs .equipment-tab-btn-filter:hover,.warranty-page-tabs .equipment-tab-btn-filter:hover,.page-pill-toolbar .page-pill-btn-filter:hover,.page-pill-toolbar .equipment-tab-btn-filter:hover{border-color:#13c2c2!important;color:#13c2c2!important;box-shadow:0 4px 12px #13c2c22e!important}.equipment-page-tabs .equipment-tab-btn-filter-active,.maintenance-history-page-tabs .equipment-tab-btn-filter-active,.warranty-page-tabs .equipment-tab-btn-filter-active,.page-pill-toolbar .page-pill-btn-filter-active,.page-pill-toolbar .equipment-tab-btn-filter-active{background:linear-gradient(135deg,#13c2c224,#36cfc91a)!important;color:#13c2c2!important;border-color:#13c2c2!important;box-shadow:0 4px 12px #13c2c238!important}.page-pill-toolbar .page-pill-btn-reload,.maintenance-history-page-tabs .page-pill-btn-reload,.warranty-page-tabs .page-pill-btn-reload,.page-pill-btn.page-pill-btn-reload{background:#fff!important;color:#000000e0!important;border-color:#d9d9d9!important;box-shadow:0 2px 6px #0000000f!important}.page-pill-toolbar .page-pill-btn-reload:hover,.maintenance-history-page-tabs .page-pill-btn-reload:hover,.warranty-page-tabs .page-pill-btn-reload:hover,.page-pill-btn.page-pill-btn-reload:hover{border-color:#1890ff!important;color:#1890ff!important;box-shadow:0 4px 12px #1890ff2e!important}.page-pill-toolbar .page-pill-btn-danger{background:#fff!important;color:#ff4d4f!important;border-color:#ffccc7!important;box-shadow:0 2px 6px #ff4d4f1f!important}.page-pill-toolbar .page-pill-btn-danger:hover{background:#fff1f0!important;border-color:#ff4d4f!important;box-shadow:0 4px 12px #ff4d4f33!important}.page-pill-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px}.page-action-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}.page-action-bar .page-pill-toolbar{margin-bottom:0}.page-action-bar-with-year{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;flex-wrap:nowrap}.page-action-bar-with-year>.page-pill-toolbar-left{justify-self:start}.page-action-bar-with-year>.page-pill-toolbar-center{justify-self:center}.page-action-bar-with-year>.page-pill-toolbar-right{justify-self:end}.page-pill-toolbar-center .ant-select .ant-select-selector{text-align:center}.page-pill-toolbar-center .ant-select-selection-item{text-align:center;padding-inline-end:18px!important}@media (max-width: 992px){.page-action-bar-with-year{grid-template-columns:1fr;justify-items:stretch}.page-action-bar-with-year>.page-pill-toolbar-left,.page-action-bar-with-year>.page-pill-toolbar-center,.page-action-bar-with-year>.page-pill-toolbar-right{justify-self:stretch}.page-action-bar-with-year>.page-pill-toolbar-center{justify-content:center}}.page-pill-toolbar .page-pill-btn-export,.page-pill-btn.page-pill-btn-export{background:#fff!important;color:#000000e0!important;border-color:#d9d9d9!important;box-shadow:0 2px 6px #0000000f!important}.page-pill-toolbar .page-pill-btn-export:hover,.page-pill-btn.page-pill-btn-export:hover{border-color:#667eea!important;color:#667eea!important;box-shadow:0 4px 12px #667eea2e!important}.page-pill-toolbar .page-pill-btn-warning,.page-pill-btn.page-pill-btn-warning{background:linear-gradient(135deg,#fa8c16,#d46b08)!important;color:#fff!important;border-color:#fa8c16!important;box-shadow:0 3px 10px #fa8c1659!important}.page-pill-toolbar .page-pill-btn-warning:hover,.page-pill-btn.page-pill-btn-warning:hover{box-shadow:0 6px 16px #fa8c1673!important;filter:brightness(1.05)}.equipment-page-tabs .equipment-tab-btn-filter{background:#fff;color:#000000e0;border-color:#d9d9d9;box-shadow:0 2px 6px #0000000f}.equipment-page-tabs .equipment-tab-btn-filter:hover{border-color:#13c2c2;color:#13c2c2;box-shadow:0 4px 12px #13c2c22e}.equipment-page-tabs .equipment-tab-btn-filter-active{background:linear-gradient(135deg,#13c2c224,#36cfc91a);color:#13c2c2!important;border-color:#13c2c2;box-shadow:0 4px 12px #13c2c238}.equipment-page-tabs .equipment-tab-bar-btn.equipment-tab-btn-add-system{border-radius:10px!important;margin:0 0 0 8px!important;padding:10px 18px!important;font-weight:600!important;border:1.5px solid #1890ff!important;box-shadow:0 3px 10px #1890ff59!important}.equipment-page-tabs .equipment-tab-bar-btn.equipment-tab-btn-add-system:hover{transform:translateY(-2px);box-shadow:0 6px 16px #1890ff73!important;filter:brightness(1.05)}.equipment-list-layout{display:flex;flex-direction:column;gap:12px}.equipment-filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.equipment-filter-bar__search{flex:1 1 280px;min-width:200px}.equipment-filter-bar__actions{flex:0 0 auto}.equipment-filter-panel-wrap{display:flex;flex-direction:column;gap:10px}.equipment-active-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 0}.equipment-filter-panel{padding:14px 16px;border-radius:12px;background:#f5f5f5;border:1px solid #f0f0f0}.equipment-filter-group+.equipment-filter-group{margin-top:14px;padding-top:14px;border-top:1px solid #e8e8e8}.equipment-filter-group__title{font-size:12px;font-weight:600;color:#0000008c;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.equipment-filter-label{display:block;font-size:12px;color:#000000a6;margin-bottom:4px}.equipment-filter-reset-btn{margin-top:18px}.equipment-stats-strip{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0 2px}.equipment-stats-strip--empty{padding:8px 0}.equipment-stats-chip{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:108px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--stat-color, #1890ff) 35%,#d9d9d9);border-top:3px solid var(--stat-color, #1890ff);border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--stat-color, #1890ff) 12%,#fff),#fff);box-shadow:0 2px 6px #0000000d;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;text-align:left;font:inherit;color:inherit}.equipment-stats-chip:hover{transform:translateY(-2px);box-shadow:0 6px 16px color-mix(in srgb,var(--stat-color, #1890ff) 28%,transparent)}.equipment-stats-chip__total{font-size:18px;font-weight:700;line-height:1.2;color:var(--stat-color, #1890ff)}.equipment-stats-chip__label{font-size:11px;color:#000000a6;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.equipment-stats-chip__meta{display:flex;gap:8px;font-size:10px;color:#00000073}.equipment-stats-chip__meta .is-active{color:#52c41a}.equipment-stats-chip__meta .is-error{color:#ff4d4f}@media (max-width: 576px){.equipment-filter-reset-btn{margin-top:0}.equipment-stats-chip{min-width:calc(50% - 4px);flex:1 1 calc(50% - 4px)}}.maintenance-page-tabs .maintenance-tab-btn-buildings{--pill-tab-accent: #1890ff}.maintenance-page-tabs .maintenance-tab-btn-plan{--pill-tab-accent: #52c41a}.maintenance-page-tabs .maintenance-tab-btn-due{--pill-tab-accent: #faad14}.maintenance-page-tabs .maintenance-tab-btn-overdue{--pill-tab-accent: #ff4d4f}.maintenance-page-tabs .maintenance-tab-btn-cycles{--pill-tab-accent: #722ed1}.maintenance-page-tabs .maintenance-tab-btn-buildings,.maintenance-page-tabs .maintenance-tab-btn-plan,.maintenance-page-tabs .maintenance-tab-btn-due,.maintenance-page-tabs .maintenance-tab-btn-overdue,.maintenance-page-tabs .maintenance-tab-btn-cycles{background:#fff;color:#000000e0;border-color:#d9d9d9;box-shadow:0 2px 6px #0000000f}.maintenance-page-tabs .maintenance-tab-btn-buildings:hover,.maintenance-page-tabs .maintenance-tab-btn-plan:hover,.maintenance-page-tabs .maintenance-tab-btn-due:hover,.maintenance-page-tabs .maintenance-tab-btn-overdue:hover,.maintenance-page-tabs .maintenance-tab-btn-cycles:hover{border-color:var(--pill-tab-accent);color:var(--pill-tab-accent);box-shadow:0 4px 12px color-mix(in srgb,var(--pill-tab-accent) 22%,transparent)}.maintenance-page-tabs .ant-tabs-tab-active .maintenance-tab-btn-buildings,.maintenance-page-tabs .ant-tabs-tab-active .maintenance-tab-btn-plan,.maintenance-page-tabs .ant-tabs-tab-active .maintenance-tab-btn-due,.maintenance-page-tabs .ant-tabs-tab-active .maintenance-tab-btn-overdue,.maintenance-page-tabs .ant-tabs-tab-active .maintenance-tab-btn-cycles{background:linear-gradient(135deg,color-mix(in srgb,var(--pill-tab-accent) 14%,transparent),color-mix(in srgb,var(--pill-tab-accent) 10%,transparent));color:var(--pill-tab-accent)!important;border-color:var(--pill-tab-accent);box-shadow:0 4px 12px color-mix(in srgb,var(--pill-tab-accent) 22%,transparent)}.maintenance-page-tabs .maintenance-tab-add-btn{border-radius:10px!important;margin:0 0 0 8px!important;padding:10px 18px!important;font-weight:600!important;border:1.5px solid #1890ff!important;box-shadow:0 3px 10px #1890ff59!important}.maintenance-page-tabs .maintenance-tab-add-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #1890ff73!important;filter:brightness(1.05)}.maintenance-history-page-tabs .maintenance-history-tab-btn-main,.warranty-page-tabs .warranty-tab-btn-main{--pill-tab-accent: #1890ff;background:#fff;color:#000000e0;border-color:#d9d9d9;box-shadow:0 2px 6px #0000000f}.maintenance-history-page-tabs .maintenance-history-tab-btn-main:hover,.warranty-page-tabs .warranty-tab-btn-main:hover{border-color:var(--pill-tab-accent);color:var(--pill-tab-accent);box-shadow:0 4px 12px color-mix(in srgb,var(--pill-tab-accent) 22%,transparent)}.maintenance-history-page-tabs .ant-tabs-tab-active .maintenance-history-tab-btn-main,.warranty-page-tabs .ant-tabs-tab-active .warranty-tab-btn-main{background:linear-gradient(135deg,color-mix(in srgb,var(--pill-tab-accent) 14%,transparent),color-mix(in srgb,var(--pill-tab-accent) 10%,transparent));color:var(--pill-tab-accent)!important;border-color:var(--pill-tab-accent);box-shadow:0 4px 12px color-mix(in srgb,var(--pill-tab-accent) 22%,transparent)}.maintenance-history-page-tabs .maintenance-history-tab-bar-left,.warranty-page-tabs .warranty-tab-bar-left{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.warranty-page-tabs .warranty-tab-add-btn{border-radius:10px!important;margin:0 0 0 8px!important;padding:10px 18px!important;font-weight:600!important;height:auto!important}.users-page-tabs .users-tab-btn-admin{--pill-tab-accent: #ff4d4f}.users-page-tabs .users-tab-btn-login-history{--pill-tab-accent: #13c2c2}.users-page-tabs .users-tab-btn-roles{--pill-tab-accent: #722ed1}.users-page-tabs .users-tab-btn-admin,.users-page-tabs .users-tab-btn-login-history,.users-page-tabs .users-tab-btn-roles,.reports-page-tabs .reports-tab-btn-main{background:#fff;color:#000000e0;border-color:#d9d9d9;box-shadow:0 2px 6px #0000000f}.users-page-tabs .users-tab-btn-admin:hover,.users-page-tabs .users-tab-btn-login-history:hover,.users-page-tabs .users-tab-btn-roles:hover,.reports-page-tabs .reports-tab-btn-main:hover{border-color:var(--pill-tab-accent);color:var(--pill-tab-accent);box-shadow:0 4px 12px color-mix(in srgb,var(--pill-tab-accent) 22%,transparent)}.users-page-tabs .ant-tabs-tab-active .users-tab-btn-admin,.users-page-tabs .ant-tabs-tab-active .users-tab-btn-login-history,.users-page-tabs .ant-tabs-tab-active .users-tab-btn-roles,.reports-page-tabs .ant-tabs-tab-active .reports-tab-btn-main{background:linear-gradient(135deg,color-mix(in srgb,var(--pill-tab-accent) 14%,transparent),color-mix(in srgb,var(--pill-tab-accent) 10%,transparent));color:var(--pill-tab-accent)!important;border-color:var(--pill-tab-accent);box-shadow:0 4px 12px color-mix(in srgb,var(--pill-tab-accent) 22%,transparent)}.reports-page-tabs .reports-tab-btn-main{--pill-tab-accent: #1890ff}.users-page-tabs .users-tab-add-btn{border-radius:10px!important;margin:0 0 0 8px!important;padding:10px 18px!important;font-weight:600!important;height:auto!important}.equipment-tabs .equipment-tab-bar-btn:not(.equipment-tab-add-btn){background:transparent!important;color:#000000e0!important}.equipment-tabs .equipment-tab-bar-btn:not(.equipment-tab-add-btn):hover{background:linear-gradient(135deg,#667eea14,#764ba214)!important;color:#667eea!important}.equipment-tabs .equipment-tab-bar-btn-active{background:linear-gradient(135deg,#667eea1f,#764ba21f)!important;color:#667eea!important;border-bottom:2px solid #667eea!important}.equipment-tabs .ant-tabs-tab{justify-content:center!important}.equipment-tabs .ant-tabs-tab .ant-tabs-tab-btn{width:100%;text-align:center}.maintenance-history-tabs:not(.maintenance-history-page-tabs) .ant-tabs-nav{width:100%}.maintenance-history-tabs:not(.maintenance-history-page-tabs) .ant-tabs-nav-wrap{justify-content:flex-start}.maintenance-history-tabs:not(.maintenance-history-page-tabs) .ant-tabs-nav-list{flex:0 0 auto!important}.maintenance-history-tabs:not(.maintenance-history-page-tabs) .ant-tabs-tab{margin:0!important;padding:0!important}.maintenance-history-tabs:not(.maintenance-history-page-tabs) .ant-tabs-tab .ant-tabs-tab-btn{width:auto!important;padding:0!important}.maintenance-history-tabs:not(.maintenance-history-page-tabs) .maintenance-history-tab-bar-left{display:inline-flex;align-items:stretch}.maintenance-history-tabs:not(.maintenance-history-page-tabs) .maintenance-history-tab-label{display:inline-flex;align-items:center;padding:12px 16px;justify-content:flex-start}.maintenance-history-tabs:not(.maintenance-history-page-tabs) .ant-tabs-tab-active .maintenance-history-tab-label{color:#667eea;font-weight:500}.maintenance-history-tabs:not(.maintenance-history-page-tabs) .equipment-tab-bar-btn{margin:0 0 0 4px!important}.maintenance-history-page-tabs .ant-tabs-nav{width:100%}.maintenance-history-page-tabs .ant-tabs-nav-wrap{justify-content:flex-start}.maintenance-history-page-tabs .ant-tabs-nav-list{flex:0 0 auto!important}.maintenance-history-page-tabs .ant-btn.equipment-tab-btn,.warranty-page-tabs .ant-btn.equipment-tab-btn{height:auto!important}.ant-tabs .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:#667eea!important;font-weight:500!important}@media (min-width: 1601px){.filter-row-horizontal .ant-row{flex-wrap:nowrap!important}}@media (max-width: 1600px){.filter-row-horizontal .ant-row{flex-wrap:wrap!important}}.app-main-layout{overflow-x:clip;overflow-y:visible}.app-layout-content{margin:0 var(--layout-content-margin) var(--layout-content-margin)!important;padding:calc(var(--layout-content-margin) + var(--layout-content-padding)) var(--layout-content-padding) var(--layout-content-padding)!important;border-radius:var(--content-border-radius)!important}.responsive-content-inner{width:100%;min-width:0;max-width:100%}.ant-layout,.ant-layout-content,.ant-card,.ant-table-wrapper{min-width:0;max-width:100%}.ant-table{font-size:var(--table-font-size, 14px)}.ant-table-wrapper .ant-table-container{height:auto!important;min-height:0!important}.ant-table-wrapper .ant-table-header,.ant-table-wrapper .ant-table-body{flex:none!important;height:auto!important;max-height:none!important;min-height:0!important}.ant-table-wrapper .ant-table-body table{margin-top:0!important}.ant-table-wrapper .ant-table-measure-row,.ant-table-wrapper .ant-table-measure-row td{height:0!important;line-height:0!important;padding:0!important;border:none!important;visibility:hidden!important}.ant-table-wrapper .ant-table-content{overflow-x:auto;max-width:100%}@media (max-width: 991px){.ant-tabs-nav{overflow-x:auto!important;overflow-y:hidden!important;flex-wrap:nowrap!important;-webkit-overflow-scrolling:touch}.ant-tabs-nav:before{border-bottom:none!important}.ant-tabs .ant-tabs-tab{padding:10px 14px!important;margin:0 2px!important;flex-shrink:0}}@media (max-width: 1400px){.responsive-content-inner .ant-row.ant-row-no-wrap,.filter-row-horizontal .ant-row{flex-wrap:wrap!important}.responsive-content-inner .ant-row.ant-row-no-wrap>.ant-col,.responsive-content-inner .ant-card-small .ant-row>.ant-col,.filter-row-horizontal .ant-row>.ant-col{min-width:0!important;flex:1 1 180px!important;max-width:100%!important}}@media (max-width: 576px){.responsive-content-inner .ant-row.ant-row-no-wrap>.ant-col,.responsive-content-inner .ant-card-small .ant-row>.ant-col,.filter-row-horizontal .ant-row>.ant-col{flex:1 1 100%!important;width:100%!important}}.dispatch-modern-actionbar{border-radius:14px;background:linear-gradient(180deg,#fff,#f8fcff);border:1px solid #dce9f2;padding:10px;box-shadow:inset 0 1px #ffffffb3,0 8px 20px #0849660f}.dispatch-modern-actionbar-section{gap:8px}.dispatch-modern-year-label{font-size:12px;font-weight:600;color:#3b5568;white-space:nowrap}.dispatch-modern-year-select .ant-select-selector{border-radius:10px!important;border-color:#b7d1df!important;background:#f5fbff!important}.dispatch-modern-btn{border-radius:10px!important;border-color:#bfd8e5!important;background:#fff!important;color:#224457!important;box-shadow:0 2px 8px #134a6614!important}.dispatch-modern-btn:hover{border-color:#7fb1c9!important;color:#0f4d6b!important;background:#f4fbff!important}.dispatch-modern-btn.dispatch-modern-btn-primary,.dispatch-modern-btn.dispatch-modern-btn-primary.ant-btn-primary{background:linear-gradient(135deg,#0f6b8f,#18805e)!important;color:#fff!important;border-color:transparent!important}.dispatch-modern-btn.dispatch-modern-btn-primary:hover,.dispatch-modern-btn.dispatch-modern-btn-primary.ant-btn-primary:hover{filter:brightness(1.06)}.dispatch-modern-btn.dispatch-modern-btn-active{background:#e9f6ff!important;border-color:#7bb7d4!important;color:#0f5877!important}.dispatch-modern-btn.dispatch-modern-btn-export{background:#fbfdff!important}.dispatch-filter-card{margin-top:8px;border-radius:14px!important;border:1px solid #dce9f2!important;background:linear-gradient(180deg,#fcfeff,#f6faff)!important}.dispatch-filter-field{display:flex;flex-direction:column;gap:6px}.dispatch-filter-label{font-size:11px;font-weight:700;color:#3c5d73;letter-spacing:.02em;text-transform:uppercase}.dispatch-filter-card .ant-select-selector,.dispatch-filter-card .ant-picker{border-radius:10px!important;border-color:#c6dbe7!important;background:#fff!important}.dispatch-filter-card .ant-select-selector:hover,.dispatch-filter-card .ant-picker:hover{border-color:#77adc7!important}.dispatch-filter-reset-col{align-self:flex-end}.dispatch-filter-reset-btn{border-radius:10px!important;border-color:#c5d9e7!important;background:#fff!important}.dispatch-table-shell{position:relative}.dispatch-table-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.dispatch-table-heading{min-width:0}.dispatch-table-title{margin:0;color:#16374c;font-size:18px;font-weight:800;letter-spacing:.01em}.dispatch-table-subtitle{margin:4px 0 0;color:#58778c;font-size:13px}.dispatch-table-toolbar-right{flex-shrink:0}.dispatch-table-total-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 12px;background:linear-gradient(135deg,#edf8ff,#e7fff7);border:1px solid #c0dfee;color:#1f556f;font-size:12px;font-weight:700}.dispatch-table-sticky-summary{position:sticky;top:62px;z-index:5;display:flex;flex-wrap:wrap;gap:8px;padding:8px;margin-bottom:10px;border-radius:12px;border:1px solid #d6e7f2;background:#fcfeffeb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dispatch-table-summary-chip{display:inline-flex;align-items:center;gap:8px;border-radius:999px;border:1px solid #c8deeb;background:#fff;padding:4px 10px}.dispatch-table-summary-label{color:#577286;font-size:12px;font-weight:600}.dispatch-table-summary-value{color:#143f57;font-size:13px;font-weight:800}.dispatch-table-content{position:relative}.dispatch-table-empty-state{display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 10px}.dispatch-table-empty-title{color:#365b71;font-size:14px;font-weight:700}.dispatch-table-empty-subtitle{color:#6f8ea2;font-size:12px}.dispatch-modern-table .ant-table{border-radius:12px;overflow:hidden}.dispatch-modern-table .ant-table-container{border:1px solid #dbe9f2;border-radius:12px}.dispatch-modern-table .ant-table-thead>tr>th{background:linear-gradient(180deg,#eef6fb,#e6f1f8)!important;color:#1e4b63!important;font-weight:700!important;border-bottom:1px solid #c9dde9!important}.dispatch-modern-table .ant-table-tbody>tr>td{border-bottom:1px solid #e6eff5!important;transition:background-color .2s ease}.dispatch-modern-table .ant-table-tbody>tr:nth-child(2n)>td{background:#fbfdff}.dispatch-modern-table .ant-table-tbody>tr:nth-child(odd)>td{background:#fff}.dispatch-modern-table .ant-table-tbody>tr:hover>td{background:#f0f9ff!important}.dispatch-modern-table .ant-table-cell-fix-right,.dispatch-modern-table .ant-table-cell-fix-right-first,.dispatch-modern-table .ant-table-cell-fix-right-last{background:#f7fbff!important}.dispatch-modern-table .ant-table-cell-fix-right-first:after,.dispatch-modern-table .ant-table-cell-fix-right-last:after{box-shadow:inset -12px 0 14px -14px #164c6880!important}.dispatch-modern-table .ant-table-tbody>tr.ant-table-row-status-pending>td:first-child{box-shadow:inset 4px 0 #bfbfbf}.dispatch-modern-table .ant-table-tbody>tr.ant-table-row-status-in_progress>td:first-child,.dispatch-modern-table .ant-table-tbody>tr.ant-table-row-status-active>td:first-child{box-shadow:inset 4px 0 #1677ff}.dispatch-modern-table .ant-table-tbody>tr.ant-table-row-status-completed>td:first-child{box-shadow:inset 4px 0 #52c41a}.dispatch-modern-table .ant-table-tbody>tr.ant-table-row-status-cancelled>td:first-child{box-shadow:inset 4px 0 #ff4d4f}.dispatch-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.dispatch-status-card{border:1px solid #d9d9d9;border-radius:12px;padding:14px 16px;min-width:0}.dispatch-status-card-clickable{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;-webkit-user-select:none;user-select:none}.dispatch-status-card-clickable:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0f1c381a}.dispatch-status-card-clickable:focus-visible{outline:2px solid #1677ff;outline-offset:2px}.dispatch-status-card.is-active{font-weight:600}.dispatch-status-label{font-size:12px;color:#0000008c;margin-bottom:4px}.dispatch-status-value{font-size:22px;font-weight:700;line-height:1.2}@media (max-width: 768px){.responsive-content-inner h1{font-size:1.15rem!important;line-height:1.35!important}.dispatch-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dispatch-modern-actionbar{padding:8px}.dispatch-modern-actionbar .dispatch-modern-actionbar-section{width:100%}.dispatch-modern-year-label{display:none}.dispatch-table-toolbar{flex-direction:column;align-items:stretch}.dispatch-table-toolbar-right{align-self:flex-start}.dispatch-table-sticky-summary{top:8px}.responsive-content-inner .ant-descriptions{overflow-x:auto}.responsive-content-inner .ant-descriptions-view{min-width:520px}}@media (max-width: 480px){:root{--layout-content-margin: 4px;--layout-content-padding: 8px;--modal-max-width: calc(100vw - 16px) }.ant-modal{max-width:calc(100vw - 16px)!important;margin:8px auto!important}.ant-modal-body{padding:12px!important}}.login-page-content{transform:translateY(-36px)}.login-page-logo-wrap{position:relative;width:100%;margin-bottom:16px;text-align:center}.login-page-logo{display:block;margin:0 auto;max-width:150px;max-height:76px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.18));animation:loginTitleFadeIn .9s ease-out}.login-page-logo-wrap:after{content:"";display:block;height:3px;margin:14px auto 0;max-width:120px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent);animation:loginTitleLineGlow 3.5s ease-in-out infinite}.login-page-card{width:100%;max-width:min(420px,calc(100vw - 32px))}.login-form-header{text-align:center;margin-bottom:28px}.login-form-title{margin:0 0 6px;font-size:22px;font-weight:500;line-height:1.4;color:#434343;letter-spacing:.2px}.login-form-subtitle{margin:0;font-size:13px;font-weight:400;color:#00000073;line-height:1.5}@media (max-width: 480px){.login-page-content{transform:translateY(-20px)}.login-page-logo{max-width:120px;max-height:60px}.login-form-title{font-size:20px}.login-form-subtitle{font-size:12px}}@media (max-width: 768px){:root{--layout-content-margin: 8px;--layout-content-padding: 12px;--layout-header-padding: 0 16px;--content-border-radius: 8px;--card-body-padding: 12px;--modal-max-width: calc(100vw - 32px) }.app-layout-content{margin:0 8px 8px!important;padding:20px 12px 12px!important}.ant-card-body{padding:12px!important}.ant-modal{max-width:calc(100vw - 32px)!important;margin:16px auto!important}.ant-form-item{margin-bottom:16px!important}.ant-space{gap:8px!important}.ant-layout-header{padding:0 16px!important}}@media (min-width: 769px) and (max-width: 1024px){:root{--layout-content-margin: 16px;--layout-content-padding: 16px;--content-border-radius: 12px}.app-layout-content{margin:0 16px 16px!important;padding:32px 16px 16px!important}}@media (min-width: 1025px) and (max-width: 1400px){:root{--layout-content-margin: 16px;--layout-content-padding: 16px;--layout-header-padding: 0 20px;--content-border-radius: 12px;--sider-width: 220px;--sider-collapsed-width: 72px;--card-body-padding: 16px;--table-font-size: 13px}.app-layout-content{margin:0 16px 16px!important;padding:32px 16px 16px!important}.ant-card-body{padding:16px!important}.stats-row .ant-col{min-width:0}}@media (min-width: 2560px) and (max-width: 3839px){:root{--content-max-width: 2400px;--layout-content-margin: 32px;--layout-content-padding: 28px;--card-body-padding: 28px;--table-font-size: 15px}.responsive-content-inner{max-width:var(--content-max-width);margin-left:auto;margin-right:auto}.app-layout-content{margin:0 32px 32px!important;padding:60px 28px 28px!important}}@media (min-width: 3840px){:root{--content-max-width: 2560px;--layout-content-margin: 48px;--layout-content-padding: 36px;--layout-header-padding: 0 36px;--content-border-radius: 20px;--sider-width: 280px;--sider-collapsed-width: 88px;--card-body-padding: 32px;--table-font-size: 15px;--modal-max-width: 720px}html{font-size:18px}.responsive-content-inner{max-width:var(--content-max-width);margin-left:auto;margin-right:auto}.app-layout-content{margin:0 48px 48px!important;padding:84px 36px 36px!important}.ant-card-body{padding:32px!important}.ant-table,.ant-btn{font-size:15px!important}.ant-modal{max-width:720px!important}}.repair-detail-upload .ant-upload-wrapper{display:block}.repair-detail-upload .ant-upload{display:grid!important;grid-template-columns:104px 104px 104px;gap:8px}.repair-detail-upload .ant-upload-list{display:contents!important}.repair-detail-upload .ant-upload-list-item{width:104px!important;height:104px!important;margin:0!important}.repair-detail-upload .ant-upload-list-item-container{width:104px!important;height:104px!important;overflow:hidden!important}.repair-detail-upload .ant-upload-list-item-thumbnail img{object-fit:contain!important;max-width:100%!important;max-height:100%!important}.repair-detail-upload .ant-upload-select{grid-column:3!important;grid-row:1!important;width:104px!important;height:104px!important;margin:0!important;position:relative!important;z-index:10!important}@media (max-width: 576px){.repair-detail-upload .ant-upload{grid-template-columns:repeat(3,minmax(72px,1fr))!important}.repair-detail-upload .ant-upload-list-item,.repair-detail-upload .ant-upload-list-item-container,.repair-detail-upload .ant-upload-select{width:100%!important;max-width:104px!important;height:auto!important;aspect-ratio:1}}.project-row-planning td:first-child{border-left:2px solid #722ed1!important}.project-row-in_progress td:first-child{border-left:2px solid #1677ff!important}.project-row-pending_acceptance td:first-child{border-left:2px solid #faad14!important}.project-row-accepted td:first-child{border-left:2px solid #52c41a!important}.project-row-closed td:first-child{border-left:2px solid #8c8c8c!important}.project-row-cancelled td:first-child{border-left:2px solid #ff4d4f!important}.project-row-planning:hover>td{background-color:#f9f0ff!important}.project-row-in_progress:hover>td{background-color:#e6f4ff!important}.project-row-pending_acceptance:hover>td{background-color:#fffbe6!important}.project-row-accepted:hover>td{background-color:#f6ffed!important}.project-row-closed:hover>td{background-color:#f5f5f5!important}.project-row-cancelled:hover>td{background-color:#fff1f0!important}
