.bell-popover .ant-popover-inner{padding:0;overflow:hidden}.bell-panel{width:360px;display:flex;flex-direction:column;max-height:min(520px,calc(100vh - 96px))}.bell-popover.is-mobile{left:12px!important;right:auto!important;max-width:calc(100vw - 24px)}.bell-popover.is-mobile .bell-panel{width:calc(100vw - 24px);max-height:calc(100vh - 96px - var(--app-bottom-nav-h, 0px))}.bell-panel-head{display:flex;align-items:baseline;gap:8px;padding:12px 16px 10px;border-bottom:1px solid var(--app-border)}.bell-panel-title{font-size:15px;font-weight:600;color:var(--app-text)}.bell-panel-sub{font-size:12px;color:var(--app-primary);font-weight:500}.bell-panel-body{flex:1;overflow-y:auto;overscroll-behavior:contain}.bell-panel-empty{padding:36px 16px;text-align:center;color:var(--app-text-secondary);font-size:13px}.bell-panel-empty-icon{font-size:28px;margin-bottom:8px;opacity:.5}.bell-panel-foot{padding:8px 16px;border-top:1px solid var(--app-border);font-size:11px;color:var(--app-text-secondary);text-align:center}.bell-group-label{position:sticky;top:0;z-index:1;padding:8px 16px 4px;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--app-text-secondary);background:var(--app-surface)}.bell-item{position:relative;display:flex;align-items:flex-start;gap:10px;width:100%;padding:8px 28px 8px 16px;border:0;background:transparent;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:background .15s}.bell-item:hover,.bell-item:focus-visible{background:var(--app-bg-layout);outline:none}.bell-item.is-unread{background:var(--app-primary-soft)}.bell-item.is-unread:hover{background:var(--app-bg-layout)}.bell-item-icon{flex:none;width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:15px}.bell-item-main{display:flex;flex-direction:column;min-width:0;gap:1px}.bell-item-title{font-size:13px;font-weight:600;color:var(--app-text);line-height:1.35}.bell-item.is-mine .bell-item-title{color:var(--app-primary)}.bell-item-body{font-size:13px;color:var(--app-text);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.bell-item-meta{font-size:11px;color:var(--app-text-secondary);line-height:1.4}.bell-item-dot{position:absolute;top:14px;right:12px;width:8px;height:8px;border-radius:50%;background:var(--app-primary)}.bell-materials{margin:10px 12px 4px;border:1px solid var(--app-border);border-left:3px solid var(--app-danger);border-radius:8px;overflow:hidden}.bell-materials-head{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:0;background:transparent;font:inherit;font-size:13px;font-weight:600;color:var(--app-danger);cursor:pointer;text-align:left}.bell-materials-head:hover{background:var(--app-bg-layout)}.bell-materials-arrow{margin-left:auto;font-size:11px}.bell-materials-row{display:flex;flex-direction:column;padding:4px 12px 6px 34px;border-top:1px solid var(--app-border)}.bell-materials-name{font-size:12px;color:var(--app-text)}.app-mobile-nav-drawer .ant-drawer-header{background:var(--app-navy-deep)!important;border-bottom:1px solid rgba(255,255,255,.08)!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:var(--app-navy);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:var(--app-primary)!important;font-weight:600}.app-mobile-nav-menu .ant-menu-submenu-selected>.ant-menu-submenu-title{color:#fff!important}.app-header-quick-actions{display:inline-flex;align-items:center}.app-header-assistant-btn.ant-btn{width:40px;height:40px;min-width:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--app-primary);background:var(--app-primary-soft);transition:background .2s,color .2s}.app-header-assistant-btn.ant-btn:hover{color:#fff!important;background:var(--app-primary)!important}.app-header-bell.ant-btn{width:40px;height:40px;min-width:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--app-text-secondary);transition:background .2s,color .2s}.app-header-bell.ant-btn:hover,.app-header-bell.ant-btn.ant-popover-open{color:var(--app-primary)!important;background:var(--app-primary-soft)!important}.app-header-bell .ant-badge{color:inherit}.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;color:var(--app-primary);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:var(--app-primary);color:var(--app-primary);background:none;max-width:100%;overflow:hidden;text-overflow:ellipsis}}:root{--app-bottom-nav-h: 60px}.app-has-bottom-nav .app-layout-content{padding-bottom:calc(var(--app-bottom-nav-h) + 16px + env(safe-area-inset-bottom,0px))!important}.app-has-bottom-nav .mpm-fab{bottom:calc(var(--app-bottom-nav-h) + 16px + env(safe-area-inset-bottom,0px))!important}.app-bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:900;display:flex;align-items:stretch;height:calc(var(--app-bottom-nav-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid var(--app-border);background:var(--app-surface);box-shadow:0 -2px 10px #0f1e3c0f}.app-bottom-nav-item,.app-bottom-nav-center{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;padding:0;border:0;background:transparent;color:var(--app-text-secondary);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.app-bottom-nav-item.is-active{color:var(--app-primary)}.app-bottom-nav-item.is-active .app-bottom-nav-label{font-weight:600}.app-bottom-nav-icon{position:relative;font-size:21px;line-height:1}.app-bottom-nav-label{font-size:11px;line-height:1.2;white-space:nowrap}.app-bottom-nav-dot{position:absolute;top:-6px;left:14px;min-width:18px;height:16px;padding:0 4px;border-radius:8px;background:var(--app-warning);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}.app-bottom-nav-dot.is-danger{background:var(--app-danger)}.app-bottom-nav-center{color:var(--app-primary)}.app-bottom-nav-fab{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;margin-top:-20px;border:3px solid var(--app-surface);border-radius:50%;background:var(--app-primary);color:#fff;font-size:20px;box-shadow:0 2px 8px color-mix(in srgb,var(--app-primary) 35%,transparent)}.app-bottom-nav-center:active .app-bottom-nav-fab{background:var(--app-primary-active)}.app-sheet .ant-drawer-content-wrapper{max-height:80vh}.app-sheet .ant-drawer-content{border-radius:16px 16px 0 0}.app-sheet .ant-drawer-header{padding:12px 16px}.app-sheet .ant-drawer-body{padding:6px 8px calc(12px + env(safe-area-inset-bottom,0px))}.app-sheet-item{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px 10px;border:0;border-radius:10px;background:transparent;font:inherit;text-align:left;cursor:pointer}.app-sheet-item:active{background:var(--app-bg-layout)}.app-sheet-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;font-size:17px}.app-sheet-text{display:flex;flex:1;flex-direction:column;min-width:0}.app-sheet-label{font-size:15px;font-weight:600;color:var(--app-text)}.app-sheet-hint{overflow:hidden;font-size:12px;color:var(--app-text-secondary);text-overflow:ellipsis;white-space:nowrap}.app-sheet-go{font-size:12px;color:var(--app-text-secondary)}*{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:var(--app-bg-layout);color:var(--app-text);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{--app-primary: #1677ff;--app-primary-hover: #4096ff;--app-primary-active: #0958d9;--app-primary-soft: #e6f4ff;--app-navy: #0f1e3c;--app-navy-deep: #0a1630;--app-navy-item: #1b2d52;--app-bg-layout: #f4f6fa;--app-surface: #ffffff;--app-border: #e5e9f0;--app-text: #1f2937;--app-text-secondary: #64748b;--app-success: #389e0d;--app-warning: #d46b08;--app-danger: #cf1322;--app-shadow-sm: 0 1px 2px rgba(15, 30, 60, .06);--app-shadow-md: 0 4px 12px rgba(15, 30, 60, .08);--app-ot: #531dab;--app-ot-soft: #f9f0ff;--app-ot-mid: #efdbff}: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: 10px;--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 #1677ff80}50%{box-shadow:0 0 20px #1677ffcc,0 0 30px #1677ff99}}.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}.card-hover,.export-button-hover{transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c5cdd8;border-radius:8px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#98a4b5;background-clip:padding-box}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--app-shadow-md)}.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{color:var(--app-primary)}.glass{background:var(--app-surface);border:1px solid var(--app-border)}.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}}.app-sider-brand{min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 8px;margin-bottom:8px;color:#fff;text-align:center;border-bottom:1px solid rgba(255,255,255,.08)}.app-sider-brand-title{font-size:16px;font-weight:700;line-height:1.3}.app-sider-brand-short{font-size:18px;font-weight:700}.app-sider-brand-link{margin-top:4px;font-size:12px;color:#fff9}.app-sider-brand-link:hover{color:#fff;text-decoration:underline}.app-sider .ant-layout-sider-children{display:flex;flex-direction:column;min-height:0}.app-sider-brand{flex-shrink:0}.app-sider-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.app-sider-pinned{flex-shrink:0;padding:4px 0;border-top:1px solid rgba(255,255,255,.08)}.app-sider-menu.ant-menu{border-inline-end:none!important}.app-sider-menu .ant-menu-submenu-title,.app-sider-menu .ant-menu-item{font-size:14px}.app-sider-menu .ant-menu-submenu-selected>.ant-menu-submenu-title{color:#fff!important}.app-sider-menu .ant-menu-item-group-title,.app-mobile-nav-menu .ant-menu-item-group-title{padding:14px 20px 4px!important;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#ffffff6b!important}.app-sider-menu .ant-menu-item-group:first-child .ant-menu-item-group-title{padding-top:4px!important}.app-sider-menu.ant-menu-inline-collapsed .ant-menu-item-group-title{height:1px;padding:0!important;margin:8px 16px;overflow:hidden;color:transparent!important;background:#ffffff1a}.app-sider-menu .ant-menu-item-selected,.app-mobile-nav-menu .ant-menu-item-selected{font-weight:600}.app-menu-label{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0}.app-menu-label-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.app-menu-badge{flex-shrink:0;min-width:22px;height:20px;padding:0 6px;border-radius:10px;font-size:11px;font-weight:700;line-height:20px;text-align:center;color:#fff;background:var(--app-navy-item)}.app-menu-badge.is-danger{background:var(--app-danger)}.app-menu-badge.is-warning{background:var(--app-warning)}.ant-menu-inline-collapsed .app-menu-badge{display:none}.export-button-hover{transition:all .3s ease!important;cursor:pointer!important}.export-button-hover:hover{box-shadow:var(--app-shadow-md)!important}.ant-tabs .ant-tabs-tab .ant-tabs-tab-btn{position:relative;z-index:1}.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: #1677ff}.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,#1677ff,#0958d9)!important;color:#fff!important;border-color:#1677ff!important;box-shadow:0 3px 10px #1677ff59!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 #1677ff73!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:#1677ff;color:#1677ff;box-shadow:0 4px 12px #1677ff2e}.equipment-page-tabs .ant-tabs-tab-active .equipment-tab-btn-category{background:linear-gradient(135deg,#1677ff24,#096dd91a);color:#1677ff!important;border-color:#1677ff;box-shadow:0 4px 12px #1677ff38}.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:#1677ff!important;color:#1677ff!important;box-shadow:0 4px 12px #1677ff2e!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:var(--app-primary)!important;color:var(--app-primary)!important;box-shadow:0 4px 12px #1677ff2e!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 #1677ff!important;box-shadow:0 3px 10px #1677ff59!important}.equipment-page-tabs .equipment-tab-bar-btn.equipment-tab-btn-add-system:hover{transform:translateY(-2px);box-shadow:0 6px 16px #1677ff73!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, #1677ff) 35%,#d9d9d9);border-top:3px solid var(--stat-color, #1677ff);border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--stat-color, #1677ff) 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, #1677ff) 28%,transparent)}.equipment-stats-chip__total{font-size:18px;font-weight:700;line-height:1.2;color:var(--stat-color, #1677ff)}.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: #1677ff}.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 #1677ff!important;box-shadow:0 3px 10px #1677ff59!important}.maintenance-page-tabs .maintenance-tab-add-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #1677ff73!important;filter:brightness(1.05)}.maintenance-history-page-tabs .maintenance-history-tab-btn-main,.warranty-page-tabs .warranty-tab-btn-main{--pill-tab-accent: #1677ff;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: #1677ff}.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:#1677ff14!important;color:var(--app-primary)!important}.equipment-tabs .equipment-tab-bar-btn-active{background:#1677ff1f!important;color:var(--app-primary)!important;border-bottom:2px solid var(--app-primary)!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:var(--app-primary);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:var(--app-primary)!important;font-weight:600!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:var(--layout-content-padding)!important;border-radius:var(--content-border-radius)!important;background:var(--app-surface);border:1px solid var(--app-border);box-shadow:var(--app-shadow-sm)}.app-header.ant-layout-header{background:var(--app-surface);border-bottom:1px solid var(--app-border);margin-bottom:var(--layout-content-margin)}.app-header-title{margin:0;min-width:0;font-size:18px;font-weight:700;line-height:1.3;color:var(--app-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header-user{cursor:pointer;padding:4px 12px 4px 4px;border-radius:999px}.app-header-user:hover{background:var(--app-primary-soft)}.app-header-user-name{font-weight:500}.app-user-avatar.ant-avatar{background:var(--app-primary)}.app-page-loader{display:flex;justify-content:center;align-items:center;min-height:240px}.app-header-search{display:inline-flex;align-items:center;gap:8px;flex:0 1 380px;min-width:180px;height:36px;margin-left:auto;padding:0 8px 0 12px;border:1px solid var(--app-border);border-radius:8px;background:var(--app-bg-layout);color:var(--app-text-secondary);font-size:13px;cursor:pointer;transition:border-color .15s}.app-header-search:hover,.app-header-search:focus-visible{border-color:var(--app-primary);outline:none}.app-header-search-text{flex:1;min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.app-header-search kbd,.app-command-foot kbd{padding:1px 6px;border:1px solid var(--app-border);border-radius:4px;background:var(--app-surface);font-family:inherit;font-size:11px;color:var(--app-text-secondary)}.app-quick-create-menu .ant-dropdown-menu{min-width:300px;padding:6px}.app-quick-create-menu .ant-dropdown-menu-item{padding:8px 10px!important}.app-quick-create-item{display:flex;align-items:center;gap:12px}.app-quick-create-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;font-size:15px}.app-quick-create-text{display:flex;flex-direction:column;min-width:0}.app-quick-create-label{font-weight:600;color:var(--app-text)}.app-quick-create-hint{font-size:12px;color:var(--app-text-secondary)}.app-command-palette .ant-modal-content{padding:8px 0 0;overflow:hidden}.app-command-palette .ant-input-affix-wrapper{padding:8px 16px;border-bottom:1px solid var(--app-border);border-radius:0}.app-command-list{max-height:min(60vh,460px);overflow-y:auto;padding:6px 8px 8px}.app-command-group+.app-command-group{margin-top:4px}.app-command-group-title{padding:8px 8px 4px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--app-text-secondary)}.app-command-item{display:flex;align-items:center;gap:12px;width:100%;padding:8px;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer}.app-command-item.is-active{background:var(--app-primary-soft)}.app-command-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:var(--app-bg-layout);color:var(--app-text-secondary)}.app-command-item.is-active .app-command-icon{background:var(--app-surface);color:var(--app-primary)}.app-command-text{display:flex;flex:1;flex-direction:column;min-width:0}.app-command-label{overflow:hidden;font-weight:500;color:var(--app-text);text-overflow:ellipsis;white-space:nowrap}.app-command-sub{overflow:hidden;font-size:12px;color:var(--app-text-secondary);text-overflow:ellipsis;white-space:nowrap}.app-command-go{flex-shrink:0;font-size:12px;color:var(--app-text-secondary)}.app-command-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.app-command-chip{padding:0 8px;border:1px solid var(--app-border);border-radius:999px;background:var(--app-surface);font:inherit;font-size:11px;line-height:20px;color:var(--app-text);cursor:pointer}.app-command-chip:hover,.app-command-chip:focus-visible{border-color:var(--app-primary);color:var(--app-primary);outline:none}.app-command-loading{display:flex;align-items:center;gap:8px;padding:8px;font-size:12px;color:var(--app-text-secondary)}.app-command-empty{padding:24px 8px;text-align:center;color:var(--app-text-secondary)}.app-command-foot{display:flex;gap:16px;padding:8px 16px;border-top:1px solid var(--app-border);background:var(--app-bg-layout);font-size:12px;color:var(--app-text-secondary)}.app-command-foot kbd+kbd{margin-left:2px}@media (max-width: 768px){.app-command-foot{display:none}}@media (max-width: 768px){.app-header.ant-layout-header{margin-bottom:0}.app-header-title{font-size:16px}.app-header-user{padding:2px}}.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:8px!important;padding: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: 10px}.app-layout-content{margin:0 16px 16px!important;padding: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: 10px;--sider-width: 220px;--sider-collapsed-width: 72px;--card-body-padding: 16px;--table-font-size: 13px}.app-layout-content{margin:0 16px 16px!important;padding: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: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: 10px;--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: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}:is(.equipment-page-tabs,.maintenance-page-tabs,.maintenance-history-page-tabs,.warranty-page-tabs,.users-page-tabs,.reports-page-tabs,.repairs-page-tabs) .equipment-tab-btn,:is(.equipment-page-tabs,.maintenance-page-tabs,.maintenance-history-page-tabs,.warranty-page-tabs,.users-page-tabs,.reports-page-tabs,.repairs-page-tabs) [class*=-tab-btn-]{padding:7px 14px!important;border-radius:8px!important;border:1px solid transparent!important;background:transparent!important;color:var(--app-text-secondary)!important;font-weight:500!important;box-shadow:none!important;transform:none!important;filter:none!important;transition:background-color .15s ease,color .15s ease!important}:is(.equipment-page-tabs,.maintenance-page-tabs,.maintenance-history-page-tabs,.warranty-page-tabs,.users-page-tabs,.reports-page-tabs,.repairs-page-tabs) .ant-tabs-tab:hover :is(.equipment-tab-btn,[class*=-tab-btn-]){background:#f1f5f9!important;color:var(--app-text)!important}:is(.equipment-page-tabs,.maintenance-page-tabs,.maintenance-history-page-tabs,.warranty-page-tabs,.users-page-tabs,.reports-page-tabs,.repairs-page-tabs) .ant-tabs-tab-active :is(.equipment-tab-btn,[class*=-tab-btn-]){background:var(--app-primary-soft)!important;color:var(--app-primary)!important;font-weight:600!important}:is(.equipment-page-tabs,.maintenance-page-tabs,.maintenance-history-page-tabs,.warranty-page-tabs,.users-page-tabs,.reports-page-tabs,.repairs-page-tabs)>.ant-tabs-nav{margin-bottom:16px!important;padding-bottom:8px;border-bottom:1px solid var(--app-border)}:is(.equipment-page-tabs,.maintenance-page-tabs,.maintenance-history-page-tabs,.warranty-page-tabs,.users-page-tabs,.reports-page-tabs,.repairs-page-tabs)>.ant-tabs-nav:before{display:none}.ant-btn.page-pill-btn,.page-pill-toolbar .ant-btn.page-pill-btn,.ant-btn.equipment-tab-bar-btn{height:34px!important;padding:4px 14px!important;border-radius:8px!important;font-weight:500!important;transform:none!important;filter:none!important}.ant-btn.page-pill-btn:not(.page-pill-btn-add):not(.page-pill-btn-warning):not(.ant-btn-dangerous),.page-pill-toolbar .ant-btn:is(.page-pill-btn-filter,.page-pill-btn-reload,.page-pill-btn-export,.equipment-tab-btn-filter){background:#fff!important;color:var(--app-text)!important;border:1px solid #d9d9d9!important;box-shadow:none!important}.ant-btn.page-pill-btn:not(.page-pill-btn-add):not(.page-pill-btn-warning):not(.ant-btn-dangerous):hover{color:var(--app-primary)!important;border-color:var(--app-primary)!important;box-shadow:none!important}.ant-btn:is(.page-pill-btn-filter-active,.equipment-tab-btn-filter-active){background:var(--app-primary-soft)!important;color:var(--app-primary)!important;border-color:var(--app-primary)!important}.ant-btn.page-pill-btn-add,.ant-btn.equipment-tab-add-btn,:is(.equipment-page-tabs,.maintenance-page-tabs,.maintenance-history-page-tabs,.warranty-page-tabs,.users-page-tabs) .ant-btn:is(.equipment-tab-btn-add,.equipment-tab-btn-add-system){background:var(--app-primary)!important;color:#fff!important;border:1px solid var(--app-primary)!important;box-shadow:none!important}.ant-btn.page-pill-btn-add:hover,.ant-btn.equipment-tab-add-btn:hover{background:var(--app-primary-hover)!important;border-color:var(--app-primary-hover)!important}.ant-btn.page-pill-btn-warning{background:var(--app-warning)!important;border-color:var(--app-warning)!important;color:#fff!important;box-shadow:none!important}.page-pill-toolbar .ant-btn.page-pill-btn-danger{background:#fff!important;color:var(--app-danger)!important;border:1px solid #ffccc7!important;box-shadow:none!important}.app-layout-content .ant-card.glass{border-radius:10px!important;box-shadow:none!important;border:1px solid var(--app-border)!important}.ant-table-thead>tr>th{font-weight:600!important;font-size:13px}.ant-table .ant-table-cell.ant-table-cell-fix-right{background-clip:padding-box}
