:root{--nb-primary: #2563EB;--nb-bg-dark: #0F172A;--nb-text-light: #F1F5F9;--nb-surface: #FFFFFF;--nb-border: #E5E7EB;--nb-hover: rgba(37, 99, 235, .08)}*{box-sizing:border-box}html,body,#root{height:100%}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#111827}html.is-mobile,body.is-mobile{touch-action:pan-x pan-y}.app-header{position:fixed;top:0;left:0;right:0;height:60px;background:var(--nb-bg-dark);color:var(--nb-text-light);display:flex;align-items:center;z-index:100}.header-inner{padding:0 16px;width:100%}.header-title{margin:0;font-size:18px;font-weight:600}.app-shell{height:100vh;display:flex;flex-direction:column}.app-body{flex:1;display:grid;grid-template-columns:240px 1fr;gap:0;min-height:0;overflow:hidden}.app-body.no-sidebar{grid-template-columns:1fr}.app-content{padding:16px;height:100%;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.sidebar{position:sticky;top:60px;height:calc(100vh - 60px);background:#f8fafc;border-right:1px solid var(--nb-border);width:240px;overflow-y:auto;z-index:90}.sidebar.collapsed{width:64px}.sidebar-header{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--nb-border)}.collapse-btn{border:1px solid var(--nb-border);background:var(--nb-surface);padding:6px 10px;border-radius:6px;cursor:pointer}.collapse-btn:hover{background:var(--nb-hover)}.sidebar-title{display:inline-flex;align-items:center;gap:8px;color:#334155;font-weight:600}.sidebar-nav{padding:8px}.sidebar-nav>ul{margin:0;padding:0;width:100%}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;color:#334155;text-decoration:none;border-radius:8px;width:100%}.nav-item:hover{background:var(--nb-hover)}.nav-item.active{background:#2563eb1f;color:#1e40af;font-weight:600}.group-root{list-style:none;margin:0;padding:0}.group-toggle{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;color:#334155;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;width:100%;font-size:16px;font-weight:600;transition:background-color .18s ease,color .18s ease}.group-toggle:hover{background:var(--nb-hover)}.group-toggle.active{background:#2563eb1f;color:#1e40af;font-weight:600}.group-label{display:inline-flex;align-items:center;gap:10px}.arrow{margin-left:8px;color:currentColor;transition:transform .24s ease-in-out;transform:rotate(90deg);transform-origin:50% 50%}.arrow.open{transform:rotate(180deg)}.group-items{list-style:none;margin:4px 0 0;padding:0;display:block;max-height:0;opacity:0;overflow:hidden;transition:max-height .28s ease-in-out,opacity .28s ease-in-out;will-change:max-height,opacity}.group-items.show{max-height:480px;opacity:1}.sidebar.collapsed .group-items{max-height:0;opacity:0}@media (prefers-reduced-motion: reduce){.group-items,.arrow,.group-toggle{transition:none!important}}.sub-item{padding-left:28px;font-size:14px;font-weight:400}.sidebar.collapsed .arrow{display:none}.page{background:var(--nb-surface);border:1px solid var(--nb-border);border-radius:12px;padding:16px;min-height:100%}.page.personnel-maintain{height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column}.page.personnel-maintain>.personnel-stat-table{flex:1;min-height:0;width:100%;overflow:hidden}.page.personnel-maintain>.personnel-stat-table>.ant-table-wrapper{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.page.personnel-maintain>.personnel-stat-table>.ant-table-wrapper>.ant-spin-nested-loading{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.page.personnel-maintain>.personnel-stat-table>.ant-table-wrapper>.ant-spin-nested-loading>.ant-spin-container{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.page.personnel-maintain>.personnel-stat-table .ant-table{flex:1;min-height:0;overflow:hidden}.page.personnel-maintain>.personnel-stat-table .ant-table-container{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;overflow-x:hidden;border:1px solid var(--nb-border);border-radius:8px;background:#fff}.page.personnel-maintain>.personnel-stat-table .ant-table-content{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.page.personnel-maintain>.personnel-stat-table .ant-table-header{overflow-x:hidden!important}.page.personnel-maintain>.personnel-stat-table .ant-table-body{flex:1;min-height:0;overflow-y:auto!important;overflow-x:hidden!important;padding-bottom:0}.page.personnel-maintain>.personnel-stat-table .ant-table-thead>tr>th.ant-table-cell,.page.personnel-maintain>.personnel-stat-table .ant-table-tbody>tr>td.ant-table-cell{font-size:var(--staff-table-font, 12px)}.page.personnel-maintain>.personnel-stat-table .ant-table-thead>tr>th.ant-table-cell{padding:10px;background:#f1f5f9!important;border-bottom:1px solid var(--nb-border)!important;font-weight:600}.page.personnel-maintain>.personnel-stat-table .ant-table-thead>tr>th.ant-table-cell .ant-table-column-title{display:block;white-space:normal;word-break:keep-all;overflow:visible;line-height:1.2}.page.personnel-maintain>.personnel-stat-table .ant-table-thead>tr>th.ant-table-cell .ant-table-column-sorters{align-items:flex-start}.page.personnel-maintain>.personnel-stat-table .ant-table-tbody .ant-table-cell{white-space:normal;word-break:break-word;overflow-wrap:anywhere}.page.personnel-maintain>.personnel-stat-table .ant-table-tbody>tr>td.ant-table-cell{padding:10px;border-bottom:1px solid var(--nb-border)!important}.page.personnel-maintain>.personnel-stat-table .ant-table-tbody>tr:nth-child(odd)>td.ant-table-cell{background:#f9fafb}.page.personnel-maintain>.personnel-stat-table .ant-table-tbody>tr:nth-child(2n)>td.ant-table-cell{background:#fff}.page.personnel-maintain>.personnel-stat-table .ant-table-tbody>tr:hover>td.ant-table-cell{background:var(--nb-hover)!important}.page.personnel-maintain>.personnel-stat-table .ant-table-thead>tr>th.ant-table-cell:first-child,.page.personnel-maintain>.personnel-stat-table .ant-table-tbody>tr>td.ant-table-cell:first-child{white-space:nowrap;word-break:keep-all}.page-header{display:flex;align-items:center;gap:12px}.legend{display:flex;align-items:center;gap:12px;color:#64748b;font-size:13px}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-swatch{display:inline-block;width:16px;height:16px;border-radius:6px;border:1px solid #e5e7eb}.legend-swatch.l2{background:#eff6ff;border-color:#bfdbfe}.legend-swatch.l3{background:#ecfdf5;border-color:#a7f3d0}.legend-swatch.l4{background:#fef3c7;border-color:#fde68a}.legend-swatch.leave{background:#e5e7eb;border-color:#cbd5e1}.page-title{margin:0 0 12px;font-size:16px}.placeholder{color:#64748b}.materials-page{display:flex;flex-direction:column;gap:12px}.materials-overview-page .materials-page{flex:1;min-height:0}.materials-overview-page .materials-page>.ant-tabs{flex:1;min-height:0;display:flex;flex-direction:column}.materials-overview-page .materials-page>.ant-tabs .ant-tabs-content-holder{flex:1;min-height:0}.materials-overview-page .materials-page>.ant-tabs .ant-tabs-content{height:100%}.materials-overview-page .materials-page>.ant-tabs .ant-tabs-tabpane{height:100%;overflow:auto}.materials-overview-page .materials-page .page-card{height:100%;min-height:0;display:flex;flex-direction:column}.materials-overview-page .materials-page .page-card>.ant-tabs{flex:1;min-height:0;display:flex;flex-direction:column}.materials-overview-page .materials-page .page-card>.ant-tabs .ant-tabs-content-holder{flex:1;min-height:0}.materials-overview-page .materials-page .page-card>.ant-tabs .ant-tabs-tabpane{height:100%;overflow:auto}.materials-overview-page .materials-page .svg-card{height:100%;max-height:100%}.materials-overview-page{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.materials-overview-page .table-card{flex:1;min-height:0}.materials-overview-page .table-container{flex:1;max-height:none}.materials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.svg-card{border:1px solid var(--nb-border);border-radius:12px;background:#fff;overflow:hidden;display:flex;flex-direction:column;flex:1;min-height:0}.svg-card-header{padding:10px 12px;font-weight:600;color:#0f172a;background:#f0f5ff;border-bottom:1px solid var(--nb-border)}.svg-card-body{padding:12px;background:#fff;display:flex;align-items:center;justify-content:center;flex:1;min-height:0}.svg-view{max-width:100%;max-height:100%;display:block;border:1px solid #e5e7eb;border-radius:8px;background:#fff}@media (max-width: 992px){.materials-grid{grid-template-columns:1fr}}@media (max-width: 1199px){.app-body{grid-template-columns:200px 1fr}}@media (max-width: 768px){.app-body{grid-template-columns:64px 1fr}}.table-card{display:flex;flex-direction:column;gap:8px}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px}.table-title{font-size:16px;font-weight:600;color:#0f172a;min-width:400px}.table-subtitle{width:100%;text-align:center;color:red;font-size:15px;margin-top:12px}.primary-btn{background:var(--nb-primary);color:#fff;border:none;padding:8px 12px;border-radius:8px;cursor:pointer}.primary-btn:hover{filter:brightness(.95)}.primary-btn:disabled{opacity:.65;cursor:not-allowed}.secondary-btn{background:#e2e8f0;color:#0f172a;border:none;padding:8px 12px;border-radius:8px;cursor:pointer}.secondary-btn:hover{filter:brightness(.97)}.danger-btn{background:red;color:#fff;border:none;padding:8px 12px;border-radius:8px;cursor:pointer}.danger-btn:hover{filter:brightness(.95)}.plain-btn{background:#fff;color:#0f172a;border:1px solid var(--nb-border);padding:6px 10px;border-radius:8px;cursor:pointer}.plain-btn:hover{background:#f8fafc}.icon-btn{background:transparent;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#64748b}.icon-btn:hover{color:#1d4ed8}.table-container{border:1px solid var(--nb-border);border-radius:8px;overflow:auto;max-height:60vh}.data-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.data-table thead th{position:sticky;top:0;background:#f1f5f9;z-index:2;text-align:left;font-weight:600;padding:10px;border-bottom:1px solid var(--nb-border)}.data-table thead th,.data-table tbody td{overflow-wrap:anywhere;word-break:break-word}.data-table thead th:first-child{border-top-left-radius:8px}.data-table thead th:last-child{border-top-right-radius:8px}.data-table tbody td{padding:10px;border-bottom:1px solid var(--nb-border);font-size:14px}.data-table tbody tr:hover{background:var(--nb-hover)}.data-table tbody tr:nth-child(odd){background:#f9fafb}.data-table.materials-center thead th,.data-table.materials-center tbody td{text-align:center}.data-table.materials-center tbody td .btn-group{justify-content:center}.data-table.materials-center tbody tr{background:#fff}.data-table.materials-center tbody tr.zebra-odd{background:#f9fafb}.data-table.materials-center tbody tr.zebra-even{background:#fff}.data-table.materials-center tbody tr.zebra-odd:hover{background:#f9fafb}.data-table.materials-center tbody tr.zebra-even:hover{background:#fff}.data-table.materials-center tbody td.status-cell{border-left:1px solid var(--nb-border);border-right:1px solid var(--nb-border)}.data-table.materials-center tbody td.cell-vr{border-right:1px solid var(--nb-border)}.data-table.materials-center thead th .th-cell{display:inline-flex;align-items:center;justify-content:center;gap:4px}.data-table.materials-center thead th .filter-btn{display:inline-flex;align-items:center;justify-content:center;padding:0 4px;height:20px;border-radius:4px;border:1px solid transparent;cursor:pointer;font-size:12px;color:#64748b}.data-table.materials-center thead th .filter-btn:hover{background:#e5f3ff}.data-table.materials-center thead th .filter-btn.active{background:#e0f2fe;border-color:#38bdf8;color:#0ea5e9}html.is-mobile .materials-overview-page .data-table.materials-center{table-layout:auto;width:max-content;min-width:100%}html.is-mobile .materials-overview-page .data-table.materials-center thead th,html.is-mobile .materials-overview-page .data-table.materials-center tbody td{white-space:nowrap;overflow-wrap:normal;word-break:keep-all}html.is-mobile .materials-filter-popover,html.is-mobile .materials-filter-popover .ant-popover-inner,html.is-mobile .materials-filter-popover .ant-popover-inner-content{max-width:calc(100vw - 16px)}.highlight{background:#ffe58f;padding:0 1px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{width:min(860px,96vw);background:var(--nb-surface);border-radius:12px;box-shadow:0 10px 30px #0003;overflow:hidden}.modal.fullscreen{width:100vw;height:100vh;border-radius:0;display:flex;flex-direction:column}body.scale-mode .modal{width:var(--desktop-scale-modal-width, min(860px, 96vw))!important;max-width:var(--desktop-scale-modal-width, min(860px, 96vw))!important}body.scale-mode .modal.fullscreen{height:min(90vh,calc(100vh - 16px))!important;border-radius:12px!important}body.scale-mode .ant-modal{width:var(--desktop-scale-modal-width, 520px)!important;max-width:var(--desktop-scale-modal-width, 520px)!important}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--nb-border)}.modal-title{font-size:16px;font-weight:600}.modal-close{background:transparent;border:none;font-size:18px;cursor:pointer}.modal-body{padding:16px;max-height:70vh;overflow:auto}.modal.fullscreen .modal-body{flex:1;max-height:none}.modal-body.no-scroll{padding:0;overflow:hidden}.modal-body.detail-body{overflow:hidden;display:flex;flex-direction:column;max-height:min(90vh,105vh)}.modal-body.logs-body{padding:0;overflow:hidden;display:flex;flex-direction:column;height:70vh}.modal.fullscreen .modal-body.logs-body{height:auto}html.is-mobile .modal-body.detail-body .ant-table-wrapper{flex:1;min-height:0}html.is-mobile .modal-body.detail-body .ant-table-container{overflow-x:auto}html.is-mobile .modal-body.detail-body .ant-table-thead>tr>th.ant-table-cell,html.is-mobile .modal-body.detail-body .ant-table-tbody>tr>td.ant-table-cell{white-space:nowrap;word-break:keep-all}html.is-mobile .modal-body.detail-body .ant-table-thead>tr>th.ant-table-cell .ant-table-column-title{white-space:nowrap}.logs-table-container{border:1px solid var(--nb-border);border-radius:8px;overflow:hidden;background:#fff;flex:1;min-height:0}.logs-table-scroll{overflow:auto;max-height:100%;flex:1;min-height:0}.modal-footer{padding:12px 16px;border-top:1px solid var(--nb-border);display:flex;gap:8px;justify-content:flex-end;background:#f0f5ff;box-shadow:0 -2px 8px #0000000a}.btn-group{display:flex;gap:8px;align-items:center}.mutual-item{transition:opacity .2s ease,filter .2s ease}.mutual-item.disabled{opacity:.6;filter:grayscale(.2)}.zoom-viewer{width:100%;height:100%;background:#fff;border:1px solid var(--nb-border);border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:grab;position:relative;touch-action:none;user-select:none;-webkit-user-select:none}.zoom-viewer.dragging{cursor:grabbing}.zoom-img{max-width:none;-webkit-user-select:none;user-select:none;pointer-events:none;will-change:transform;transform-origin:50% 50%}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.staff-form .ant-form-item{margin-bottom:10px}.staff-form .ant-form-item-label>label{font-weight:500}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:14px}.form-grid input,.form-grid textarea{border:1px solid var(--nb-border);border-radius:8px;padding:8px 10px;font-size:14px}.form-grid select{border:1px solid var(--nb-border);border-radius:8px;padding:8px 10px;font-size:14px;background:#fff}.form-grid label{color:#334155;font-weight:500}.form-grid .error{color:red;font-size:12px;margin-top:4px}.form-grid .span-2{grid-column:span 2}.form-grid .span-1{grid-column:span 1}.form-section{display:flex;flex-direction:column;gap:8px}.form-row{display:flex;flex-wrap:wrap;gap:12px}@media (max-width: 768px){.table-container{max-height:50vh}.form-grid{grid-template-columns:1fr}}.form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:8px}.staff-form{padding-bottom:8px}.staff-form .ant-divider{margin:24px 0}.staff-form .ant-form-item{margin-bottom:16px}.staff-form .ant-form-item-label>label{font-weight:500;color:#334155}.staff-form .ant-form-item-label{display:flex;align-items:center}.staff-form .ant-form-item-label{text-align:right;padding-right:8px}.staff-form .right-title .ant-divider-inner-text{display:block;text-align:right}.staff-form .ant-divider-horizontal{border-top-color:var(--nb-primary);opacity:.65}.staff-form .ant-divider .ant-divider-inner-text{padding:0 12px;font-weight:600;color:#334155}.staff-form .ant-form-item-label{line-height:32px}.staff-form .ant-form-item.fire-cert-item{align-items:flex-start}.staff-form .ant-form-item.fire-cert-item>.ant-form-item-label{align-items:flex-start;line-height:1.2;padding-top:0}.staff-form .ant-form-item.fire-cert-item>.ant-form-item-label>label{align-self:flex-start}.staff-form .ant-form-item.fire-cert-item .ant-form-item-row{align-items:flex-start}.staff-form .ant-form-item.fire-cert-item .ant-col.ant-form-item-label{align-self:flex-start;height:22px;line-height:22px}.staff-form .ant-input,.staff-form .ant-select-selector,.staff-form .ant-picker{border-radius:6px}.form-card{border:1px solid var(--nb-border);border-radius:10px;padding:16px;background:#fff;margin-bottom:15px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;align-items:start}.grid-1{display:grid;grid-template-columns:1fr;gap:12px}.staff-form .ant-form-item{margin-bottom:12px}.staff-form .ant-form-item-label{text-align:right;padding-right:6px}.staff-form .form-control{width:100%;max-width:300px}.staff-form .ant-form-item-control{width:100%}.staff-form .ant-form-item-explain-error{color:red;margin-top:4px}.staff-form .remark-input{width:100%;padding:8px}.form-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;padding:8px;background:#fff;border-top:1px solid var(--nb-border)}@media (max-width: 768px){.grid-2{grid-template-columns:1fr}.staff-form .form-control{width:100%;min-width:0}}.org-page{display:flex;flex-direction:column;gap:20px}.org-section{border:1px solid var(--nb-border);border-radius:12px;padding:12px;position:relative}.org-title{margin:0 0 12px;font-size:16px;font-weight:600;color:#0f172a}.org-tree{position:relative;border:1px dashed #e5e7eb;border-radius:12px;padding:16px;margin-bottom:12px}.org-row{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;padding:8px 0}.org-row-station{display:flex;justify-content:center;padding:4px 0 12px}.org-card{border:1px solid var(--nb-border);border-radius:10px;background:#fff;padding:10px 12px;min-width:140px;min-height:48px;display:flex;align-items:center;justify-content:center;font-weight:500}.org-card.hot{background:#fee2e2;border-color:#ef4444}.org-station-card{border:2px solid var(--nb-primary);border-radius:12px;background:#f0f5ff;color:#1e40af;padding:12px 16px;min-width:200px;min-height:56px;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.org-station-card.big{font-size:16px}.org-station-header{display:flex;justify-content:center;margin-bottom:10px}.org-lines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.org-empty{color:#64748b;font-size:13px;padding:8px 10px}.org-grid-row{display:grid;grid-template-columns:120px repeat(4,minmax(0,1fr));gap:12px;align-items:start}.org-level-title{align-self:center;font-size:13px;color:#334155;padding:0 8px;border-radius:0;background:transparent}.org-team-col{display:flex;flex-direction:column;gap:6px;min-height:48px}.org-team-title{font-size:12px;color:#64748b;text-align:center}.org-team-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.org-team-col.compact{--h: 120px;max-height:var(--h);overflow:hidden}.org-team-col.compact .org-card{min-width:110px;min-height:44px;padding:8px 10px;font-size:13px}.l2 .org-card{background:#eff6ff;border-color:#bfdbfe}.l3 .org-card{background:#ecfdf5;border-color:#a7f3d0}.l4 .org-card,.org-card.as-l4{background:#fef3c7;border-color:#fde68a}.org-row-l2{border-bottom:1px dashed var(--nb-border);padding-bottom:12px;margin-bottom:10px}.org-row-l3{padding-top:12px;margin-top:10px}.org-row-l4{border-top:1px dashed var(--nb-border);padding-top:12px;margin-top:10px}.standby-section{border-top:1px solid var(--nb-border);padding-top:10px}.standby-title{margin:0 0 8px;font-size:14px;color:#334155}.standby-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.standby-group{display:flex;flex-direction:column;gap:8px;border:1px solid var(--nb-border);border-radius:10px;padding:10px}.standby-group-title{font-size:13px;font-weight:600;color:#0f172a}.standby-row{display:flex;flex-wrap:wrap;gap:8px}@media (max-width: 992px){.standby-content{grid-template-columns:1fr}.org-card{min-width:120px}}.l2 .org-card.hot,.l3 .org-card.hot,.l4 .org-card.hot,.org-card.as-l4.hot,.standby-group.l2 .org-card.hot,.standby-group.l3 .org-card.hot,.standby-group.l4 .org-card.hot{background:#fee2e2;border-color:#ef4444}.l2 .org-card.leave,.l3 .org-card.leave,.l4 .org-card.leave,.org-card.as-l4.leave,.standby-group.l2 .org-card.leave,.standby-group.l3 .org-card.leave,.standby-group.l4 .org-card.leave{background:#e5e7eb;border-color:#cbd5e1}.header-inner{display:flex;align-items:center;justify-content:space-between}.page-loading{height:100%}.svg-interactive-box{position:relative;border:1px solid var(--nb-border);border-radius:8px;overflow:hidden}.svg-interactive-box{width:100%;height:100%;max-height:100%;display:flex;align-items:center;justify-content:center}.svg-thumb{width:100%;height:100%;object-fit:contain;image-rendering:auto}.svg-host{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.svg-host svg{width:auto;height:auto;max-width:100%;max-height:100%;display:block;background:#fff;border-radius:8px}.svg-host svg text{fill:#000!important}.svg-tooltip{position:absolute;z-index:10;max-width:540px;max-height:300px;background:#fff;color:#0f172a;border:1px solid var(--nb-border);border-radius:8px;box-shadow:0 10px 20px #0000001f;padding:8px 10px;pointer-events:auto;display:flex;flex-direction:column}.svg-tooltip,.svg-tooltip *{user-select:text;-webkit-user-select:text}.svg-tooltip-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.svg-tooltip-title{font-size:16px;font-weight:600}.svg-tooltip-close{background:#eff4ff;border:1px solid #cbd5f5;padding:0;cursor:pointer;color:#1e293b;font-size:18px;line-height:1;width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.svg-tooltip-close:hover{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.svg-tooltip-body{font-size:13px;color:#334155;overflow:auto;pointer-events:auto;flex:1;min-height:0}.svg-tooltip .data-table thead th,.svg-tooltip .data-table tbody td{text-align:center}.svg-tooltip .data-table tbody tr:nth-child(odd),.svg-tooltip .data-table tbody tr:nth-child(2n){background:#fff}.svg-filter-bar{display:flex;align-items:center;gap:8px}.svg-category-buttons{display:flex;flex-wrap:wrap;gap:6px}.svg-category-btn{border:1px solid #cbd5f5;background:#eff4ff;color:#1e3a8a;border-radius:999px;padding:0 12px;font-size:12px;cursor:pointer;white-space:nowrap;height:32px;display:inline-flex;align-items:center}.svg-category-btn.active{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.personnel-dashboard-page{display:flex;flex-direction:column;gap:12px}.dashboard-groups{display:grid;grid-template-columns:1fr;gap:14px}.dashboard-group{border:1px solid var(--nb-border);border-radius:12px;background:#fff;padding:12px}.dashboard-group-title{font-size:20px;font-weight:700;color:#0f172a;margin-bottom:10px}.dashboard-grid{--dashboard-cols: 3;display:grid;grid-template-columns:repeat(var(--dashboard-cols),minmax(0,1fr));grid-auto-rows:110px;gap:12px;position:relative}.stat-card{border:1px solid var(--nb-border);border-radius:12px;background:#fff;padding:16px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:110px;position:relative;transition:box-shadow .18s ease,transform .18s ease}.dashboard-grid.editing .stat-card{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.dashboard-grid.editing .stat-card:active{cursor:grabbing}.stat-card.dragging{box-shadow:0 16px 36px #0f172a2e;transform:scale(1.02)}.stat-card.muted:not(.danger) .stat-value{color:#64748b}.stat-card.danger{background:#dc2626;border-color:#b91c1c}.stat-card.danger .stat-value,.stat-card.danger .stat-label{color:#fff}.stat-card.danger .resize-handle{background:#fff}.stat-card.danger .row-handle{background:#ffffffbf}.stat-card.danger .row-handle.active{background:#fff}.resize-handle{position:absolute;right:8px;bottom:8px;width:16px;height:16px;border-radius:999px;background:#1d4ed8;opacity:0;transition:opacity .18s ease;cursor:se-resize}.dashboard-grid.editing .stat-card:hover .resize-handle{opacity:.85}.dashboard-grid.editing .stat-card:active .resize-handle{opacity:1}.row-handle{position:absolute;left:8px;bottom:8px;width:16px;height:16px;border-radius:6px;background:#e2e8f0;opacity:0;transition:opacity .18s ease,background .18s ease;cursor:pointer}.row-handle.active{background:#1d4ed8}.dashboard-grid.editing .stat-card:hover .row-handle{opacity:.9}.dashboard-grid.editing .stat-card:active .row-handle{opacity:1}.drag-overlay{position:fixed;z-index:9999;pointer-events:none}.stat-value{font-size:44px;line-height:1;font-weight:800;color:#1d4ed8;letter-spacing:.5px}.stat-label{margin-top:10px;font-size:15px;font-weight:600;color:#1e293b;text-align:center;line-height:1.2}@media (min-width: 920px){.dashboard-grid{--dashboard-cols: 4}}@media (min-width: 1280px){.dashboard-grid{--dashboard-cols: 5}}@media (max-width: 520px){.dashboard-grid{--dashboard-cols: 2}.stat-value{font-size:40px}}.app-shell{min-height:100vh;background:#eef2f7}.app-content{padding-top:76px}.header-right .user-box{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.login-page{display:flex;align-items:center;justify-content:center;height:100vh;width:100vw;position:relative;background-image:-webkit-image-set(url(/login-bg@3x.png) 3x,url(/login-bg@2x.png) 2x,url(/login-bg.png) 1x),image-set(url(/login-bg@3x.png) 3x,url(/login-bg@2x.png) 2x,url(/login-bg.png) 1x),url(/login-bg.png);background-repeat:no-repeat;background-position:center center;background-size:cover}.login-page.mobile-login-page{background-image:url(/login-bg_mobile.png)}.login-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0000000f;pointer-events:none;z-index:0}.login-card{width:360px;padding:24px;position:relative;z-index:1;background:#ffffff80;border:1px solid rgba(229,231,235,.6);border-radius:12px;box-shadow:0 10px 34px #0000002e;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}@media (min-width: 1600px){.login-page:before{background:#0000001f}}@media (max-width: 768px){.login-page:before{background:#00000014}.login-card{background:#fff9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);width:min(360px,88vw)}}.page-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px}.page-card.compact-card{padding:8px}.page-card.compact-card .ant-tabs-nav{margin-bottom:4px}.materials-page>.ant-tabs .ant-tabs-nav{margin-bottom:6px}.scale-stage{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;background:#eef2f7;-webkit-overflow-scrolling:touch}body.scale-mode{overflow:hidden}.scale-viewport{overflow:hidden;position:relative}.scale-inner{will-change:transform}@media (max-width: 768px){.scale-stage{padding:10px}}.scale-switch-mobile{position:fixed;top:72px;right:12px;z-index:9999;border:1px solid rgba(229,231,235,.9);background:#ffffffeb;color:#111827;border-radius:10px;padding:10px 12px;font-size:14px}.scale-inner .app-shell{height:100%;min-height:100%}.scale-inner .sidebar{height:calc(100% - 60px)}.scale-inner .login-page{width:100%;height:100%}.scale-inner .app-body{grid-template-columns:240px 1fr!important}.scale-inner .materials-grid,.scale-inner .form-grid,.scale-inner .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.scale-inner .standby-content{grid-template-columns:repeat(3,minmax(0,1fr))!important}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}
