:root{
  --bg:#f5f8f6;--panel:#fff;--panel-soft:#f8faf9;--ink:#142620;--muted:#72847e;--line:#dde7e2;
  --green:#176c55;--green-2:#228268;--green-soft:#e2f3e9;--mint:#d4f0e2;--blue:#4476bd;--blue-soft:#e8f0ff;
  --amber:#b97a16;--amber-soft:#fff1d8;--red:#c9533f;--red-soft:#ffebe5;--shadow:0 14px 38px rgba(26,58,48,.08);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg)
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg)}button,input,select,textarea{font:inherit}button{color:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}
[hidden]{display:none!important}
.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:24px 16px 18px;background:#eef4f1;border-right:1px solid var(--line);overflow:auto;z-index:20}
.logo{display:flex;align-items:center;gap:12px;padding:0 10px 22px;font-size:15px;font-weight:750}.logo>span{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:14px;background:var(--green);color:#fff;font-size:15px}.logo-copy{min-width:0}.logo-copy strong{display:grid;gap:1px;line-height:1.15}.logo-copy strong span{white-space:nowrap}.logo small{display:block;margin-top:4px;color:#8b9b96;font-size:9px;letter-spacing:1.4px;font-weight:650;white-space:nowrap}
#nav p{margin:17px 12px 7px;color:#91a09b;font-size:11px;font-weight:700}.nav-item{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;margin:2px 0;border:0;border-radius:10px;background:transparent;color:#40534d;text-align:left;font-size:13px;cursor:pointer}.nav-item i{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#ffffffaa;color:#61736d;font-style:normal;font-size:11px}.nav-item:hover{background:#fff}.nav-item.active{background:#fff;color:var(--green);font-weight:700;box-shadow:0 4px 15px #1f56480b}.nav-item.active i{background:var(--green-soft);color:var(--green)}
.sidebar-foot{margin-top:auto;padding:18px 12px 0;border-top:1px solid #dbe5e0;color:#587069;font-size:11px}.sidebar-foot b{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2ba678}.sidebar-foot small{display:block;margin-top:5px;color:#91a19c}
main{min-width:0}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:14px 34px;border-bottom:1px solid var(--line);background:#f9fbfa;position:sticky;top:0;z-index:15}.topbar p{margin:0;color:#8a9994;font-size:11px}.top-actions{display:flex;align-items:center;gap:16px;color:#758680;font-size:12px}.local-pill{padding:7px 12px;border:1px solid #cae3d8;border-radius:999px;color:var(--green);background:#f4fbf7;font-weight:700}.avatar{width:40px;height:40px;border:0;border-radius:50%;background:#d9eee2;color:var(--green);font-weight:800;cursor:pointer}.mobile-menu{display:none;border:0;background:none;font-size:20px}
.workspace{padding:28px 34px 54px;max-width:1920px;margin:0 auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:22px}.eyebrow{margin:0 0 7px;color:#81918c;font-size:10px;letter-spacing:1.6px;font-weight:800}.page-head h2{margin:0;font-size:25px}.page-head .subtitle{margin:7px 0 0;color:var(--muted);font-size:13px}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.btn{border:1px solid transparent;border-radius:9px;padding:9px 14px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--green);color:#fff}.btn.primary:hover{background:#125c48}.btn.secondary{background:#fff;border-color:var(--line);color:#40534d}.btn.secondary:hover{border-color:#a9c5b9;color:var(--green)}.btn.danger{background:var(--red);color:#fff}.btn.danger-outline{border-color:#e3aaa0;color:#a84232;background:#fff8f6}.btn.danger-outline:hover{border-color:#bd6656;background:#fff1ed;color:#8f3022}.btn.wide{width:100%;padding:12px}.icon-btn{width:38px;height:38px;border:0;border-radius:50%;background:#f0f4f2;font-size:22px;cursor:pointer}
.hero{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:210px;padding:36px 42px;margin-bottom:24px;border-radius:24px;background:linear-gradient(120deg,#ccebdd,#eaf4d4);overflow:hidden;position:relative}.hero h2{margin:8px 0 12px;font-size:32px}.hero h2 b{color:var(--green)}.hero p{margin:0;color:#50736a}.hero-art{display:grid;place-items:center;color:#2b755f}.hero-art span{font:italic 42px Georgia,serif}.hero-art::before{content:"✦";position:absolute;font-size:78px;opacity:.7;transform:translate(-110px,-10px)}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.stat-grid.six{grid-template-columns:repeat(6,minmax(0,1fr))}.stat-grid.six .stat-card{min-height:122px;padding:18px}.stat-card{min-height:136px;padding:22px;border:1px solid var(--line);border-radius:17px;background:var(--panel);text-align:left}.stat-card.button{cursor:pointer}.stat-card.button:hover{border-color:#a7c8ba;box-shadow:var(--shadow)}.stat-card.button.selected{border-color:#57977d;box-shadow:0 0 0 2px rgba(87,151,125,.16)}.stat-card span{display:block;color:#81918c;font-size:13px}.stat-card strong{display:block;margin:10px 0 7px;font-size:29px}.stat-card small{color:#9aa8a3;font-size:11px}.stat-card.green strong{color:var(--green)}.stat-card.amber strong{color:var(--amber)}.stat-card.red strong{color:var(--red)}.stat-card.blue strong{color:var(--blue)}
.organization-stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.lifecycle-stat-grid,.reconciliation-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.lifecycle-stat-grid .stat-card,.reconciliation-stat-grid .stat-card{min-height:96px;padding:13px 15px}.lifecycle-stat-grid .stat-card strong,.reconciliation-stat-grid .stat-card strong{font-size:21px}
.dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.card{border:1px solid var(--line);border-radius:17px;background:var(--panel);box-shadow:0 2px 5px rgba(20,50,40,.015)}.card-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 14px}.card-head h3{margin:0;font-size:16px}.card-head button{border:0;background:transparent;color:var(--green);font-size:12px;cursor:pointer}.list{padding:0 22px 18px}.list-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px 2px;border-top:1px solid #edf1ef}.list-row:first-child{border-top:0}.dot{width:7px;height:7px;border-radius:50%;background:#e6ad4a}.dot.red{background:#df694f}.list-row strong{display:block;font-size:12px}.list-row small{display:block;margin-top:4px;color:#8c9c96;font-size:10px}.list-row time{color:#84948e;font-size:11px}
.hr-command-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:16px;padding:24px 28px;border:1px solid #cfe3da;border-radius:18px;background:linear-gradient(135deg,#f7fbf8,#eaf4ee 58%,#eef3ff)}.hr-command-hero h2{margin:0 0 8px;font-size:25px}.hr-command-hero p:not(.eyebrow){max-width:760px;margin:0;color:#61746d;font-size:13px;line-height:1.7}.hr-hero-meta{display:grid;gap:8px;min-width:270px}.hr-hero-meta span{padding:9px 12px;border:1px solid #dce9e4;border-radius:9px;background:#fff;color:#556860;font-size:12px;font-weight:650}.hr-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hr-chart-card{margin-bottom:16px}.hr-combo-chart{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(94px,1fr));gap:12px;min-height:210px;padding:20px 22px 54px}.hr-chart-column{position:relative;min-height:165px;display:grid;align-content:end;justify-items:center}.hr-bars{height:128px;display:flex;align-items:end;gap:7px}.hr-bars i,.hr-cost-bars i{display:block;width:18px;border-radius:6px 6px 0 0}.hr-bars .back-office,.hr-chart-legend .back-office{background:#1f8065}.hr-bars .project,.hr-chart-legend .project{background:#4476bd}.hr-labor-point{position:absolute;left:50%;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:#b97a16;box-shadow:0 0 0 2px #f2d093;transform:translateX(-50%)}.hr-labor-point span{position:absolute;left:12px;top:-7px;color:#8a6113;font-size:9px;white-space:nowrap}.hr-chart-column small{margin-top:9px;color:#7e8d88;font-size:10px}.hr-chart-legend{position:absolute;left:22px;right:22px;bottom:18px;display:flex;gap:16px;flex-wrap:wrap;color:#74847e;font-size:11px}.hr-chart-legend span{display:flex;align-items:center;gap:6px}.hr-chart-legend i{width:9px;height:9px;border-radius:3px}.hr-chart-legend .labor{background:#b97a16}.hr-dashboard-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.hr-panel{min-height:292px}.hr-split-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 18px 12px}.hr-mini-stat{padding:13px 14px;border:1px solid #e3ebe7;border-radius:10px;background:#f9fbfa}.hr-mini-stat span{display:block;color:#7e9089;font-size:11px}.hr-mini-stat strong{display:block;margin-top:6px;font-size:21px;color:#176c55}.hr-rank-list{display:grid;gap:3px;padding:0 20px 18px}.hr-rank-list div{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:34px;border-top:1px solid #edf2ef}.hr-rank-list div:first-child{border-top:0}.hr-rank-list b{color:#8ea19a;font-size:11px}.hr-rank-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.hr-rank-list strong{font-size:13px;color:#176c55}.hr-project-table{padding:0 18px 18px;overflow:auto}.hr-project-table table{width:100%;border-collapse:separate;border-spacing:0;font-size:11px}.hr-project-table th,.hr-project-table td{padding:10px 8px;border-bottom:1px solid #ebf0ed;text-align:right;white-space:nowrap}.hr-project-table th:first-child,.hr-project-table td:first-child{text-align:left;max-width:230px;overflow:hidden;text-overflow:ellipsis}.hr-project-table th{color:#72837d;background:#f8faf9;font-weight:750}.hr-project-table td b{color:#176c55}.hr-cost-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 18px 12px}.hr-cost-summary div{padding:14px;border:1px solid #e4ece8;border-radius:10px;background:#fffdf8}.hr-cost-summary span,.hr-cost-summary small{display:block;color:#87958f;font-size:10px}.hr-cost-summary strong{display:block;margin:6px 0 4px;font-size:22px;color:#b97a16}.hr-cost-bars{height:128px;display:flex;align-items:end;gap:11px;padding:0 18px 18px}.hr-cost-bars div{min-width:34px;flex:1;display:grid;justify-items:center;align-items:end;gap:4px}.hr-cost-bars i{width:100%;max-width:32px;background:#4476bd}.hr-cost-bars span{color:#7e8e88;font-size:9px}.hr-cost-bars b{font-size:10px;color:#3d628f}.hr-roster-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 18px 18px}.hr-roster-list div{min-width:0;padding:11px 12px;border:1px solid #e5ede9;border-radius:10px;background:#fbfcfb}.hr-roster-list strong,.hr-roster-list span,.hr-roster-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hr-roster-list strong{font-size:13px}.hr-roster-list span{margin-top:5px;color:#176c55;font-size:11px}.hr-roster-list small{margin-top:5px;color:#81908a;font-size:10px}.hr-design-notes{display:flex;align-items:center;gap:14px;margin-top:16px;padding:14px 18px;color:#5f716a;font-size:12px}.hr-design-notes strong{color:#176c55}.hr-design-notes span{line-height:1.6}
.filter-bar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:12px;margin-bottom:14px;border:1px solid var(--line);border-radius:13px;background:#fff}.search{min-width:250px;flex:1;display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--line);border-radius:8px;color:#8c9c96}.search input{width:100%;border:0;outline:0;color:var(--ink)}select,.field input,.field textarea,.field select{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);outline:0}.filter-bar select{min-height:37px;padding:0 32px 0 10px;font-size:12px}.filter-note{margin-left:auto;color:#8d9c97;font-size:11px}
.attendance-filter-bar{display:grid;grid-template-columns:minmax(310px,1.7fr) repeat(5,minmax(155px,1fr));gap:10px;padding:14px}.attendance-filter-bar .search{min-width:0;height:52px;border-radius:12px;padding:0 15px}.attendance-filter-bar .search input{font-size:14px}.attendance-filter-bar select{width:100%;height:52px;padding:0 38px 0 16px;border-radius:12px;font-size:14px;font-weight:650}.attendance-filter-bar .filter-note{margin:0;align-self:center;justify-self:end;padding-right:8px}
.table-card{overflow:hidden}.table-scroll{max-width:100%;max-height:calc(100vh - 325px);overflow:auto;scrollbar-gutter:stable both-edges}.attendance-scroll{max-height:calc(100vh - 390px);overflow:scroll}.attendance-scroll::-webkit-scrollbar{width:12px;height:12px}.attendance-scroll::-webkit-scrollbar-track{background:#eef3f0}.attendance-scroll::-webkit-scrollbar-thumb{border:3px solid #eef3f0;border-radius:999px;background:#9eb3aa}.data-table{width:100%;min-width:1100px;border-collapse:separate;border-spacing:0;font-size:11px}.data-table.wide{min-width:2300px}.data-table.ultra-wide{min-width:max(100%,14500px)}.data-table.attendance-summary-table{min-width:2100px;font-size:12px}.data-table.attendance-summary-table th,.data-table.attendance-summary-table td{padding:13px 14px}.data-table th,.data-table td{padding:11px 12px;border-bottom:1px solid #ebf0ed;text-align:left;white-space:nowrap;max-width:310px;overflow:hidden;text-overflow:ellipsis}.data-table thead th{position:sticky;top:0;z-index:4;background:#f8faf9;color:#6f817b;font-weight:700;box-shadow:0 1px 0 var(--line)}.table-sort-button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.table-sort-button span{overflow:hidden;text-overflow:ellipsis}.table-sort-button b{flex:0 0 auto;color:#a0aea9;font-size:12px}.table-sort-button:hover,.table-sort-button.active{color:#176d57}.table-sort-button.active b{color:#176d57}.data-table thead tr:nth-child(2) th{top:36px}.data-table th:first-child,.data-table td:first-child{position:sticky;left:0;z-index:5;background:#fff}.data-table thead th:first-child{background:#f8faf9}.data-table tbody tr:hover td{background:#fbfdfc}.data-table tbody tr:hover td:first-child{background:#fbfdfc}.data-table td.masked{letter-spacing:1px;color:#71837d}.data-table td b{font-size:12px}.table-empty{padding:54px;text-align:center;color:#95a49f}.table-empty strong{display:block;margin-bottom:7px;color:#667972;font-size:14px}
.table-header-control{display:flex;align-items:center;gap:5px;min-width:0}.table-header-control .table-sort-button,.table-header-label{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis}.header-filter-button{flex:0 0 22px;width:22px;height:22px;padding:0;border:1px solid transparent;border-radius:5px;background:transparent;color:#8da099;font-size:13px;line-height:20px;cursor:pointer}.header-filter-button:hover{border-color:#bdd5ca;background:#edf6f1;color:var(--green)}.header-filter-button.active{border-color:#7caf9a;background:#dff0e8;color:var(--green)}.header-filter-popover{position:fixed;z-index:1200;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 22px 56px rgba(22,55,45,.24);overflow:hidden}.header-filter-loading{padding:34px;text-align:center;color:#80908a;font-size:12px}.header-filter-loading.error{color:var(--red)}
.data-table.distribution-table{min-width:2180px;table-layout:fixed}.distribution-table th:nth-child(1),.distribution-table td:nth-child(1){width:48px}.distribution-table th:nth-child(2),.distribution-table td:nth-child(2){width:105px}.distribution-table th:nth-child(3),.distribution-table td:nth-child(3){width:115px}.distribution-table th:nth-child(4),.distribution-table td:nth-child(4){width:260px;max-width:260px}.distribution-table th:nth-child(5),.distribution-table td:nth-child(5){width:180px;max-width:180px}.distribution-table th:nth-child(6),.distribution-table td:nth-child(6){width:115px}.distribution-table th:nth-child(7),.distribution-table td:nth-child(7){width:125px}.distribution-table th:nth-child(8),.distribution-table td:nth-child(8){width:115px}.distribution-table th:nth-child(9),.distribution-table td:nth-child(9){width:190px;max-width:190px}.distribution-table th:nth-child(10),.distribution-table td:nth-child(10){width:155px;max-width:155px}.distribution-table th:nth-child(11),.distribution-table td:nth-child(11){width:135px}.distribution-table th:nth-child(12),.distribution-table td:nth-child(12){width:225px;max-width:225px}.distribution-table th:nth-child(13),.distribution-table td:nth-child(13){width:125px}.distribution-table th:nth-child(14),.distribution-table td:nth-child(14){width:275px;max-width:275px}
.person-name-cell{cursor:pointer}.person-name-cell:hover b{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.status{display:inline-flex;padding:4px 8px;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:10px;font-weight:700}.status.amber{background:var(--amber-soft);color:var(--amber)}.status.red{background:var(--red-soft);color:var(--red)}.status.blue{background:var(--blue-soft);color:var(--blue)}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#fbfcfb;color:#73847e;font-size:11px}.pagination div{display:flex;align-items:center;gap:7px}.pagination button{padding:6px 9px;border:1px solid var(--line);border-radius:7px;background:#fff;cursor:pointer}.pagination button:disabled{opacity:.4}.pagination select{padding:5px;border:1px solid var(--line)}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 25% 15%,#d7efe3,transparent 36%),linear-gradient(140deg,#f5f8f6,#edf5ef)}.auth-card{width:min(430px,100%);padding:38px;border:1px solid #dfe9e4;border-radius:24px;background:#fff;box-shadow:0 28px 70px rgba(27,70,55,.13)}.brand-mark{display:grid;place-items:center;width:50px;height:50px;margin-bottom:24px;border-radius:16px;background:var(--green);color:#fff;font-weight:850}.auth-card h1{margin:0 0 9px;font-size:25px}.auth-note{margin:0 0 25px;color:#84948f;font-size:12px}.auth-card form{display:grid;gap:15px}.auth-card label{display:grid;gap:7px;color:#657771;font-size:12px}.auth-card input{height:46px;padding:0 13px;border:1px solid var(--line);border-radius:10px;outline:0}.auth-card input:focus{border-color:#77a994;box-shadow:0 0 0 3px #1c765714}
.modal{width:min(830px,calc(100vw - 30px));max-height:calc(100vh - 30px);padding:0;border:0;border-radius:20px;background:#fff;box-shadow:0 30px 80px #142e2655}.modal::backdrop{background:#203b336b;backdrop-filter:blur(2px)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:23px 25px 17px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:20px}.modal-body{padding:24px 25px;overflow:auto;max-height:calc(100vh - 190px)}.modal-actions{display:flex;justify-content:flex-end;gap:9px;padding:15px 25px;border-top:1px solid var(--line)}.drop-zone{display:grid;place-items:center;gap:8px;min-height:210px;border:1.5px dashed #bed0c8;border-radius:15px;background:#fafcfb;text-align:center}.drop-zone.drag{border-color:var(--green);background:#f0faf5}.drop-zone small{color:#8a9b95}.import-progress{margin-top:18px}.import-progress div{display:flex;justify-content:space-between;margin-bottom:7px;color:#687a74;font-size:11px}.import-progress progress{width:100%;height:8px;accent-color:var(--green)}.import-preview{margin-top:18px}.import-modal{width:min(1080px,calc(100vw - 30px))}.batch-preview-summary{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#f8fbf9;font-size:12px}.batch-preview-summary span{color:#71847d}.batch-preview-list{display:grid;gap:12px}.batch-preview-file{padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff}.batch-preview-file.invalid{border-color:#f0c8bd;background:#fffdfc}.preview-file{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff}.preview-file strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-file small{flex:none;color:#81918c}.preview-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:9px}.preview-stats div{padding:10px 11px;border:1px solid var(--line);border-radius:9px}.preview-stats span{display:block;color:#879691;font-size:10px}.preview-stats b{display:block;margin-top:4px;font-size:17px}.batch-file-state{margin:9px 2px 0;color:#5f786f;font-size:11px}.batch-file-state.success{color:var(--green);font-weight:750}.preview-errors{max-height:170px;overflow:auto;margin-top:9px;padding:10px;border-radius:9px;background:var(--red-soft);color:#9f4335;font-size:11px}.editor-modal{width:min(980px,calc(100vw - 30px))}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:grid;gap:6px;color:#667871;font-size:11px}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{min-height:43px;padding:10px 11px}.field input[data-autofilled="true"]{border-color:#7caf9a;background:#f1f9f5;box-shadow:inset 3px 0 0 #4d9a78}.field textarea{min-height:90px;resize:vertical}.section-title{grid-column:1/-1;margin:10px 0 -1px;padding-top:12px;border-top:1px solid var(--line);font-size:14px}.editor-footer{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;padding-top:10px}.confirm-modal{width:min(460px,calc(100vw - 30px))}.confirm-modal p{color:#71827c;line-height:1.7}.confirm-modal progress{display:block;width:100%;height:9px;margin-top:18px;accent-color:var(--green)}.confirm-modal progress[hidden]{display:none}
.editor-error{grid-column:1/-1;padding:10px 12px;border:1px solid #e3a69a;border-radius:8px;background:var(--red-soft);color:#9f4335;font-size:12px;line-height:1.5}
.bulk-value-field{position:relative}.bulk-value-combobox{display:grid;grid-template-columns:minmax(0,1fr) 42px}.bulk-value-combobox input{min-width:0;border-radius:8px 0 0 8px}.bulk-value-combobox button{border:1px solid var(--line);border-left:0;border-radius:0 8px 8px 0;background:#f8fbf9;color:var(--green);font-size:15px;cursor:pointer}.bulk-value-combobox:focus-within{filter:drop-shadow(0 0 0 #0000)}.bulk-value-combobox:focus-within input,.bulk-value-combobox:focus-within button{border-color:#79ab95}.bulk-value-options{position:absolute;top:76px;left:0;right:0;z-index:20;max-height:280px;overflow:auto;padding:6px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 18px 42px rgba(21,58,46,.18)}.bulk-value-options[hidden]{display:none}.bulk-value-option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:38px;padding:7px 9px;border:0;border-radius:7px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.bulk-value-option:hover,.bulk-value-option:focus{background:#edf6f1;outline:0}.bulk-value-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bulk-value-option small{color:#879791;font-size:9px}.bulk-value-empty,.bulk-value-more{margin:0;padding:16px 10px;color:#84948e;font-size:10px;text-align:center}.bulk-value-more{padding:9px;background:#f6f9f7}.bulk-value-hint{min-height:16px;color:#879690;font-size:9.5px;line-height:1.5}.smart-editor-control{display:grid;grid-template-columns:minmax(0,1fr) 40px;min-width:0}.smart-editor-control>input,.smart-editor-control>textarea{min-width:0;border-radius:8px 0 0 8px!important}.smart-editor-control>textarea{resize:vertical}.smart-editor-control>[data-smart-editor-choice]{min-width:0;border:1px solid var(--line);border-left:0;border-radius:0 8px 8px 0;background:#f8fbf9;color:var(--green);font-size:16px;font-weight:800;cursor:pointer}.smart-editor-control>[data-smart-editor-choice]:hover{background:#edf6f1}.smart-editor-control>[data-smart-editor-choice]:disabled{cursor:wait;opacity:.65}.smart-editor-control:focus-within>input,.smart-editor-control:focus-within>textarea,.smart-editor-control:focus-within>[data-smart-editor-choice]{border-color:#79ab95}.attendance-detail-info .smart-editor-control{grid-template-columns:minmax(0,1fr) 34px}.attendance-detail-info .smart-editor-control>[data-smart-editor-choice]{font-size:14px}
.batch-preview-file.warning{border-color:#ead6a9;background:#fffefa}.preview-warnings{max-height:170px;overflow:auto;margin-top:9px;padding:10px;border-radius:9px;background:#fff5d8;color:#8a6113;font-size:11px}
.transfer-editor-modal{width:min(1180px,calc(100vw - 30px))}.transfer-order-editor{display:grid;gap:18px}.transfer-order-editor h3{margin:0 0 10px;font-size:14px}.transfer-parent-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.transfer-parent-field,.transfer-employee-grid label{display:grid;gap:4px;color:#657770;font-size:10px}.transfer-parent-field input,.transfer-parent-field select,.transfer-employee-grid input,.transfer-employee-grid select,.transfer-employee-grid textarea{width:100%;min-width:0;min-height:36px;padding:7px 8px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);outline:0}.transfer-parent-field input[readonly],.transfer-employee-grid input[readonly]{background:#f5f8f6;color:#61736d}.transfer-select-control{display:grid;grid-template-columns:minmax(0,1fr) auto}.transfer-select-control input{border-radius:7px 0 0 7px}.transfer-select-control button{min-width:52px;border:1px solid var(--line);border-left:0;border-radius:0 7px 7px 0;background:#fff;color:var(--green);font-size:10px;font-weight:750;cursor:pointer}.transfer-select-control button:hover{background:#eef7f2}.transfer-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.transfer-section-head h3{margin:0}.transfer-employee-rows{display:grid;gap:9px}.transfer-employee-card{padding:11px;border:1px solid var(--line);border-radius:11px;background:#fafcfb}.transfer-employee-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.transfer-employee-card-head button{border:0;background:transparent;color:var(--red);font-size:10px;cursor:pointer}.transfer-employee-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.transfer-employee-grid label.full{grid-column:1/-1}.transfer-employee-grid textarea{min-height:50px;resize:vertical}
.transfer-picker{width:min(620px,calc(100vw - 28px));max-height:min(720px,calc(100vh - 28px));padding:0;border:0;border-radius:17px;background:#fff;box-shadow:0 28px 80px rgba(17,47,38,.28)}.transfer-picker::backdrop{background:#203b335f;backdrop-filter:blur(2px)}.transfer-picker-head{display:flex;align-items:flex-start;justify-content:space-between;padding:19px 21px 13px;border-bottom:1px solid var(--line)}.transfer-picker-head small{color:#82928c;font-size:9px;letter-spacing:1.4px;font-weight:800}.transfer-picker-head h3{margin:4px 0 0;font-size:17px}.transfer-picker-head button{width:34px;height:34px;border:0;border-radius:50%;background:#f0f4f2;font-size:20px;cursor:pointer}.transfer-picker-search{display:flex;align-items:center;gap:8px;margin:14px 18px 10px;padding:0 12px;border:1px solid var(--line);border-radius:9px;color:#81918c}.transfer-picker-search input{width:100%;height:42px;border:0;outline:0}.transfer-picker-list{max-height:500px;overflow:auto;padding:0 18px 18px}.transfer-picker-list>button{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(0,1.3fr);gap:12px;width:100%;padding:11px 10px;border:0;border-bottom:1px solid #edf2ef;background:#fff;text-align:left;cursor:pointer}.transfer-picker-list>button:hover{border-radius:8px;background:#f1f8f4}.transfer-picker-list strong{font-size:12px}.transfer-picker-list span{overflow:hidden;color:#7b8b85;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.transfer-picker-empty{padding:45px;text-align:center;color:#8b9994;font-size:12px}
.import-mapping{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;margin-top:12px;padding:11px 13px;border:1px solid #dce8e3;border-radius:10px;background:#f8fbf9;font-size:11px}.import-mapping strong{color:#425a52}.import-mapping span{color:var(--green);font-weight:750}.import-mapping small{color:#7b8c86;line-height:1.55}
.import-result-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:13px;padding:14px 16px;border:1px solid #abd1c0;border-radius:12px;background:#eef8f3}.import-result-panel strong,.import-result-panel span{display:block}.import-result-panel strong{margin-bottom:5px;color:var(--green);font-size:13px}.import-result-panel span{color:#61766e;font-size:11px;line-height:1.6}.import-detail-modal{width:min(1320px,calc(100vw - 30px))}.import-detail-body{display:grid;gap:13px}.import-detail-meta{display:flex;gap:9px;flex-wrap:wrap}.import-detail-meta span{padding:6px 9px;border-radius:7px;background:#f1f5f3;color:#647770;font-size:11px}.import-detail-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.import-detail-summary button{padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;cursor:pointer}.import-detail-summary button:hover,.import-detail-summary button.selected{border-color:#78ad97;background:#eef8f3}.import-detail-summary span{display:block;color:#7d8e88;font-size:10px}.import-detail-summary strong{display:block;margin-top:5px;font-size:21px}.import-detail-tabs{display:flex;gap:7px;flex-wrap:wrap}.import-detail-tabs button{padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#657970;font-size:10px;cursor:pointer}.import-detail-tabs button.selected{border-color:var(--green);background:var(--green);color:#fff}.import-detail-table{max-height:470px;border:1px solid var(--line);border-radius:11px}.import-detail-table table{min-width:1080px}.import-detail-table th{position:sticky;top:0;z-index:2;background:#f7f9f8}.import-detail-table td{vertical-align:top;white-space:normal;line-height:1.55}.import-detail-table td:nth-child(1){width:88px}.import-detail-table td:nth-child(2){width:200px}.import-detail-table td:nth-child(3){width:180px}.import-detail-table td:nth-child(5){width:125px}.import-detail-table td small,.import-history-table td small{display:block;margin-top:4px;color:#8a9994;font-size:9px}.change-tag{display:inline-block;padding:4px 7px;border-radius:6px;background:#eef2f0;color:#61736d;font-size:9px;font-weight:800}.change-tag.insert{background:var(--green-soft);color:var(--green)}.change-tag.update{background:var(--blue-soft);color:var(--blue)}.change-tag.unchanged{background:#f0f2f1;color:#788781}.change-tag.derived{background:var(--amber-soft);color:var(--amber)}.change-tag.error{background:var(--red-soft);color:var(--red)}.import-field-change{display:grid;grid-template-columns:105px minmax(120px,1fr) 18px minmax(120px,1fr);gap:6px;padding:4px 0;border-bottom:1px dashed #e7ece9}.import-field-change:last-child{border-bottom:0}.import-field-change b{color:#546960}.import-field-change span{color:#8b625b;text-decoration:line-through}.import-field-change i{color:#91a09b;font-style:normal;text-align:center}.import-field-change strong{color:#176c55}.import-detail-pagination{display:flex;align-items:center;justify-content:space-between;color:#7a8b85;font-size:10px}.import-detail-pagination>div,.import-detail-actions>div,.import-row-actions{display:flex;gap:6px;align-items:center}.import-detail-actions{justify-content:space-between}.import-legacy-note{padding:11px 13px;border-radius:9px;background:var(--amber-soft);color:#8a6113;font-size:11px}.muted{color:#8a9994}.error-text{color:var(--red)}.import-history-table{min-width:1260px}.import-row-actions{white-space:nowrap}
.attendance-detail-modal{width:min(920px,calc(100vw - 30px))}.attendance-detail h3{margin:2px 0 11px;font-size:15px}.attendance-detail h3:not(:first-child){margin-top:22px}.attendance-detail-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.attendance-detail-stat{padding:14px;border-radius:11px;background:#f7f9f8}.attendance-detail-stat small{display:block;color:#83928d;font-size:11px}.attendance-detail-stat strong{display:block;margin-top:7px;font-size:20px}.attendance-detail-stat.green strong{color:var(--green)}.attendance-detail-stat.blue strong{color:var(--blue)}.attendance-detail-stat.amber strong{color:var(--amber)}.attendance-detail-stat.red strong{color:var(--red)}.attendance-detail-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.attendance-detail-info>div{padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:#fff}.attendance-detail-info small{display:block;margin-bottom:5px;color:#7d8e88;font-size:11px}.attendance-detail-info strong{font-size:13px;font-weight:600}.attendance-day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.attendance-day-grid>div{min-height:66px;padding:8px 5px;border-radius:8px;background:#f7f9f8;text-align:center}.attendance-day-grid .attendance-weekday{min-height:auto;padding:3px;background:transparent;color:#71817b;font-size:11px;font-weight:700}.attendance-day-grid .attendance-day-empty{background:transparent}.attendance-day small{display:block;color:#87958f;font-size:10px}.attendance-day strong{display:block;margin-top:5px;font-size:12px}.attendance-day em{display:block;margin-top:4px;color:var(--amber);font-size:9px;font-style:normal}.attendance-detail .editor-footer{margin-top:17px}
.stat-card{min-width:0;overflow:hidden}.stat-card strong{max-width:100%;font-variant-numeric:tabular-nums;letter-spacing:-.45px;white-space:nowrap}.stat-grid.six .stat-card strong{font-size:22px}.stat-card.long-number strong{font-size:18px}.stat-card.very-long-number strong{font-size:16px}.stat-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attendance-filter-bar{grid-template-columns:minmax(240px,1.6fr) repeat(5,minmax(0,1fr));overflow:hidden}.attendance-filter-bar select{min-width:0;padding-left:12px;padding-right:28px;font-size:12.5px;white-space:nowrap;text-overflow:ellipsis}.attendance-filter-bar .search{min-width:0}
.data-table tbody tr[data-row]{cursor:pointer}.data-table tbody tr[data-row]:hover{outline:1px solid #d8e7e0;outline-offset:-1px}
.module-toolbar{min-height:68px;padding:12px 18px;gap:14px;flex-wrap:nowrap}.module-toolbar .selection-actions,.module-toolbar .page-actions{display:flex;align-items:center;gap:9px;flex-wrap:nowrap;white-space:nowrap}.toolbar-button{min-height:38px;padding:0 14px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:12px;font-weight:700;cursor:pointer}.toolbar-button:hover{border-color:#a8c7ba;color:var(--green)}.toolbar-button.primary-action{border-color:var(--green);background:var(--green);color:#fff}.toolbar-button.primary-action:hover{color:#fff;filter:brightness(.96)}.toolbar-button.danger{color:var(--red)}.toolbar-button:disabled,.toolbar-link:disabled{opacity:.42;cursor:not-allowed}.toolbar-link{padding:8px;border:0;background:transparent;color:var(--green);font-size:12px;font-weight:750;cursor:pointer}.selection-count{color:#83928d;font-size:11px}.module-toolbar .page-actions{margin-left:auto;justify-content:flex-end}.module-toolbar .page-actions select{min-width:76px;height:38px;padding:0 8px}.module-toolbar .page-actions button{width:38px;height:38px;padding:0}.reconciliation-quick-actions{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px;border:1px solid #b9d9cb;border-radius:12px;background:#f1f8f5}.reconciliation-quick-actions>div:first-child{min-width:260px;flex:1}.reconciliation-quick-actions strong{display:block;color:var(--green);font-size:13px}.reconciliation-quick-actions p{margin:4px 0 0;color:#72837d;font-size:10px;line-height:1.6}.reconciliation-quick-actions [data-editor-reconciliation].selected{outline:2px solid #36a87b;outline-offset:2px}.reconciliation-quick-actions .reconciliation-action-preview{flex:0 0 100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 13px;border:1px solid #9bd0b9;border-radius:8px;background:#e1f4eb}.reconciliation-action-preview[hidden]{display:none}.reconciliation-action-preview>div{min-width:0}.reconciliation-action-preview span{display:inline-block;margin-bottom:3px;padding:2px 7px;border-radius:999px;background:#087453;color:#fff;font-size:9px;font-weight:800}.reconciliation-action-preview strong{font-size:12px}.reconciliation-action-preview p{overflow-wrap:anywhere}.reconciliation-quick-actions .reconciliation-action-help{flex:0 0 100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2px 18px;padding-top:8px;border-top:1px solid #d5e8df}.reconciliation-action-help p strong{display:inline;font-size:10px}.reconciliation-resolve-button{min-height:30px;padding:0 11px}
.attendance-detail-modal{width:min(980px,calc(100vw - 30px))}.attendance-detail-info>label{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.attendance-detail-info input{width:100%;height:36px;padding:0 10px;border:1px solid #d8e4df;border-radius:7px;background:#fff;outline:0;color:#142620;font-size:12px}.attendance-detail-info input:focus,.attendance-day input:focus{border-color:#78a994;box-shadow:0 0 0 3px #1c765711}.attendance-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-top:22px}.attendance-section-head h3{margin:0!important}.attendance-section-head span{color:#899892;font-size:10px}.attendance-day-grid{gap:8px}.attendance-day-grid>div.attendance-day{min-height:106px;padding:8px;border-radius:10px}.attendance-day input{display:block;width:100%;height:34px;margin-top:6px;padding:0 6px;border:1px solid #d7e3de;border-radius:7px;background:#fff;text-align:center;outline:0;font-size:12px}.attendance-day .attendance-overtime-input{color:var(--amber)}.attendance-day input::placeholder{color:#a4afab}.attendance-day-grid .attendance-day-empty{min-height:0}.attendance-detail .editor-footer{position:sticky;bottom:-24px;margin:20px -25px -24px;padding:14px 25px;background:#fff;border-top:1px solid var(--line);z-index:3}
.workspace{padding:20px 26px 42px}.page-head{margin-bottom:14px}.page-head .eyebrow{margin-bottom:4px;font-size:9px}.page-head h2{font-size:21px}.page-head .subtitle{display:none}.page-head .actions .btn{padding:8px 12px;font-size:11px}.stat-grid,.stat-grid.five,.stat-grid.six{gap:10px;margin-bottom:14px}.stat-card{min-height:104px;padding:15px 16px;border-radius:14px}.stat-grid.six .stat-card{min-height:92px;padding:12px 14px}.stat-card span{font-size:11px}.stat-card strong{margin:7px 0 5px;font-size:23px}.stat-grid.six .stat-card strong{font-size:19px}.stat-card.long-number strong{font-size:17px}.stat-card.very-long-number strong{font-size:15px}.stat-card small{font-size:10px}.filter-bar{margin-bottom:10px;padding:9px}.attendance-filter-bar{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:10px;overflow:visible}.attendance-filter-bar .search{grid-column:span 2;height:40px;padding:0 12px;border-radius:9px}.attendance-filter-bar .search input{font-size:12px}.attendance-filter-bar select{height:40px;padding:0 25px 0 10px;border-radius:9px;font-size:11.5px}.attendance-detail-modal .modal-head{padding:18px 21px 14px}.attendance-detail-modal .modal-head h2{font-size:18px}.attendance-detail-modal .modal-body{padding:18px 21px;max-height:calc(100vh - 150px)}.attendance-detail h3{font-size:13px}.attendance-detail-stats{gap:8px}.attendance-detail-stat{padding:10px}.attendance-detail-stat small{font-size:10px}.attendance-detail-stat strong{margin-top:5px;font-size:17px}.attendance-detail-info{gap:8px}.attendance-detail-info>label{gap:4px;padding:8px 10px}.attendance-detail-info input{height:32px;font-size:11px}.attendance-detail .editor-footer{bottom:-18px;margin:16px -21px -18px;padding:11px 21px}
.search-with-suggestions{position:relative;overflow:visible;z-index:10}.search-suggestions{position:absolute;top:calc(100% + 7px);left:0;width:100%;max-height:310px;overflow:auto;padding:7px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 18px 40px rgba(23,60,48,.16);z-index:30}.search-suggestion{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 10px;border:0;border-radius:7px;background:#fff;color:var(--ink);font-size:12px;text-align:left;cursor:pointer}.search-suggestion:hover{background:#f0f7f3;color:var(--green)}.search-suggestion small{color:#8c9995;font-size:10px}.search-no-result{margin:0;padding:18px;text-align:center;color:#8b9994;font-size:11px}
.search-suggestion.active{background:#f0f7f3;color:var(--green)}
.multi-filter{position:relative;min-width:150px;z-index:9}.multi-filter.open{z-index:40}.attendance-filter-bar .multi-filter{min-width:0}.multi-filter-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:40px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:11.5px;font-weight:650;cursor:pointer}.multi-filter-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-filter-trigger b{color:#668078;font-size:13px}.multi-filter-menu{position:absolute;top:calc(100% + 7px);left:0;width:max(260px,100%);padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 18px 42px rgba(23,60,48,.17);z-index:35}.multi-filter-tools,.multi-filter-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.multi-filter-tools{padding:2px 3px 9px;border-bottom:1px solid #edf1ef;font-size:11px}.multi-filter-tools label{display:flex;align-items:center;gap:6px}.multi-filter-tools button{border:0;background:transparent;color:var(--green);font-size:10px;cursor:pointer}.multi-filter-search{width:100%;height:35px;margin:9px 0;padding:0 10px;border:1px solid var(--line);border-radius:8px;outline:0;font-size:11px}.multi-filter-options{max-height:250px;overflow:auto}.multi-filter-option{display:flex;align-items:center;gap:8px;min-height:35px;padding:5px 7px;border-radius:7px;color:#435650;font-size:11.5px;cursor:pointer}.multi-filter-option:hover{background:#f3f8f5}.multi-filter-option input,.multi-filter-tools input{width:16px;height:16px;accent-color:var(--green)}.multi-filter-empty{padding:18px;text-align:center;color:#8b9994;font-size:11px}.multi-filter-footer{padding-top:9px;border-top:1px solid #edf1ef;color:#84938e;font-size:10px}.multi-filter-footer .btn{padding:7px 12px;font-size:10px}
.excel-filter-menu{width:max(340px,100%);max-width:min(360px,calc(100vw - 28px));padding:0;overflow:hidden}.module-filter-bar .multi-filter:nth-last-child(-n+2) .excel-filter-menu{left:auto;right:0}.multi-filter-sort{display:grid;grid-template-columns:1fr 1fr;flex:0 0 auto;border-bottom:1px solid #e8eeeb}.multi-filter-sort button{padding:12px 10px;border:0;border-right:1px solid #e8eeeb;background:#fff;color:#344841;font-size:11px;font-weight:700;cursor:pointer;text-align:left}.multi-filter-sort button:last-child{border-right:0}.multi-filter-sort button:hover{background:#f2f8f5;color:var(--green)}.multi-filter-mode{display:grid;grid-template-columns:1fr auto 24px;align-items:center;gap:8px;flex:0 0 auto;padding:9px 12px 6px}.multi-filter-mode strong{color:var(--green);font-size:12px}.multi-filter-mode span{color:#8a9893;font-size:10px;text-align:right}.multi-filter-mode button{width:24px;height:24px;padding:0;border:0;border-radius:6px;background:#f1f5f3;color:#667a73;font-size:17px;line-height:24px;cursor:pointer}.excel-filter-menu .multi-filter-search{flex:0 0 auto;width:calc(100% - 24px);margin:4px 12px 8px;height:38px}.excel-filter-menu .multi-filter-tools{flex:0 0 auto;padding:8px 13px;border-top:1px solid #edf1ef;border-bottom:0}.excel-filter-menu .multi-filter-tools button{font-size:11px}.excel-filter-menu .multi-filter-tools small{color:#8d9a96;font-size:10px}.multi-filter-option-sort{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex:0 0 auto;padding:0 11px 5px}.multi-filter-option-sort button{padding:4px 7px;border:0;border-radius:5px;background:transparent;color:#899792;font-size:10px;cursor:pointer}.multi-filter-option-sort button.active{background:#edf6f1;color:var(--green);font-weight:700}.excel-filter-menu .multi-filter-options{flex:1 1 auto;min-height:96px;max-height:clamp(96px,32vh,320px);margin:0 8px 8px;padding:2px 0;border:1px solid #edf1ef;border-radius:8px;overflow:auto}.excel-filter-menu .multi-filter-option{min-height:34px;padding:5px 10px}.excel-filter-menu .multi-filter-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.excel-filter-menu .multi-filter-option small{margin-left:auto;color:#8b9894;font-size:10px}.excel-filter-menu .multi-filter-footer{position:sticky;bottom:0;z-index:2;flex:0 0 auto;padding:10px 12px;background:#fbfcfb}.excel-filter-menu .multi-filter-footer>div{display:flex;gap:7px}.excel-filter-menu .multi-filter-footer .btn{min-width:58px}
.module-filter-bar{display:grid;grid-template-columns:minmax(260px,1.7fr) repeat(5,minmax(0,1fr));gap:8px;padding:10px;overflow:visible}.module-filter-bar .search{min-width:0;height:40px;padding:0 12px;border-radius:9px}.module-filter-bar .search input{font-size:12px}.module-filter-bar .multi-filter{min-width:0}.module-filter-bar:not(.attendance-filter-bar):not(.distribution-filter-bar) .search{grid-column:span 2}
.positions-filter-bar{grid-template-columns:repeat(3,minmax(0,1fr))}
.undo-bar{position:fixed;left:50%;bottom:24px;z-index:120;display:flex;align-items:center;gap:18px;max-width:calc(100vw - 32px);padding:12px 15px;border-radius:11px;background:#193c31;color:#fff;box-shadow:0 16px 44px rgba(16,44,35,.25);transform:translateX(-50%);font-size:12px}.undo-bar[hidden]{display:none}.undo-bar button{border:0;background:#fff;color:var(--green);padding:7px 12px;border-radius:7px;font-weight:800;cursor:pointer}.undo-bar button:disabled{opacity:.6}
.account-menu{position:fixed;right:28px;top:78px;z-index:40;width:190px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.account-menu strong,.account-menu small{display:block}.account-menu small{margin:4px 0 12px;color:#82928d}.account-menu button{width:100%;padding:8px;border:0;border-radius:7px;background:#f4f7f5;text-align:left;cursor:pointer}#toast{position:fixed;right:28px;bottom:26px;z-index:100;max-width:430px;padding:12px 15px;border-radius:10px;background:#183c31;color:#fff;font-size:12px;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:none}.empty-note{padding:28px;color:#879691;text-align:center}
.backup-panel{display:grid;grid-template-columns:1fr 1fr;gap:18px}.backup-card{padding:24px}.backup-card h3{margin:0 0 8px}.backup-card p{min-height:42px;color:#74857f;font-size:12px;line-height:1.7}.backup-card input{width:100%;height:42px;margin:9px 0;padding:0 11px;border:1px solid var(--line);border-radius:8px}.coming-soon{padding:18px;border:1px dashed #bfd1c9;border-radius:12px;background:#f9fbfa;color:#7f908a;font-size:12px}
.labor-cost-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.labor-cost-source-card{margin-top:15px;overflow:hidden}.labor-cost-source-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:0 22px 16px}.labor-cost-source-form label{display:grid;gap:7px;color:#667972;font-size:11px;font-weight:700}.labor-cost-source-form input{width:100%;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);outline:0}.labor-cost-source-form input:focus{border-color:#78a994;box-shadow:0 0 0 3px #1c765711}.labor-cost-source-actions{display:flex;gap:8px}.labor-cost-source-actions .btn{height:42px}.labor-cost-source-note{margin:0 22px 20px;padding:10px 12px;border-radius:8px;background:#f3f7f5;color:#71837c;font-size:11px;line-height:1.6}.labor-cost-source-note.error{background:var(--red-soft);color:var(--red)}.labor-cost-preview-card{margin-top:15px}.labor-cost-table{min-width:900px;table-layout:fixed}.labor-cost-table th:nth-child(1),.labor-cost-table td:nth-child(1){width:135px}.labor-cost-table th:nth-child(2),.labor-cost-table td:nth-child(2){width:auto;text-align:left}.labor-cost-table th:nth-child(3),.labor-cost-table td:nth-child(3),.labor-cost-table th:nth-child(4),.labor-cost-table td:nth-child(4){width:160px;text-align:right}.labor-cost-table th:last-child,.labor-cost-table td:last-child{width:95px;text-align:right}.labor-cost-positions{white-space:normal!important;line-height:1.65}.labor-cost-positions span,.labor-cost-positions small{display:block}.labor-cost-positions small{margin-top:4px;color:#8a9994;font-size:9px}.labor-cost-preview-card .table-scroll{max-height:420px}.labor-cost-unmapped-card{margin-top:15px}.labor-cost-unmapped-card .table-scroll{max-height:330px}.labor-cost-unmapped-table{min-width:720px}.labor-cost-unmapped-table th:nth-child(2),.labor-cost-unmapped-table td:nth-child(2){width:120px;text-align:right}.labor-cost-unmapped-table th:last-child,.labor-cost-unmapped-table td:last-child{width:110px}.labor-cost-unmapped-card.complete .table-scroll{max-height:120px}
@media(max-width:1050px){.stat-grid,.stat-grid.five,.stat-grid.six{grid-template-columns:repeat(3,minmax(0,1fr))}.hero{grid-template-columns:1fr 220px}.module-filter-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-filter-bar .search{grid-column:span 2}}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-270px;transition:.2s;width:250px}.sidebar.open{left:0}.mobile-menu{display:block}.topbar{padding:16px 20px}.workspace{padding:22px 20px}.dashboard-grid,.backup-panel{grid-template-columns:1fr}.hero{grid-template-columns:1fr}.hero-art{display:none}.top-actions>span:not(.local-pill){display:none}.module-toolbar{align-items:flex-start;flex-wrap:wrap}.module-toolbar .page-actions{width:100%;margin-left:0;justify-content:flex-start}}
@media(max-width:650px){.stat-grid,.stat-grid.five,.stat-grid.six{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head{display:block}.actions{margin-top:14px;justify-content:flex-start}.form-grid{grid-template-columns:1fr}.field.full,.section-title,.editor-footer{grid-column:auto}.preview-stats{grid-template-columns:repeat(2,1fr)}.workspace{padding:18px 12px}.module-filter-bar{grid-template-columns:1fr}.module-filter-bar .search,.module-filter-bar:not(.attendance-filter-bar):not(.distribution-filter-bar) .search{grid-column:auto}.attendance-detail-stats{grid-template-columns:repeat(2,1fr)}.attendance-detail-info{grid-template-columns:1fr}.attendance-day-grid{grid-template-columns:repeat(4,1fr)}.module-toolbar .selection-actions,.module-toolbar .page-actions{flex-wrap:wrap;white-space:normal}}
@media(max-width:650px){.labor-cost-stats{grid-template-columns:1fr}.labor-cost-source-form{grid-template-columns:1fr}.labor-cost-source-actions{flex-wrap:wrap}.labor-cost-preview-card .table-scroll{max-height:none}}
@media(max-width:900px){.transfer-parent-grid,.transfer-employee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.transfer-parent-grid,.transfer-employee-grid{grid-template-columns:1fr}.transfer-employee-grid label.full{grid-column:auto}}
.multi-filter-more{margin:0;padding:9px 10px;text-align:center;color:#899792;font-size:10px;background:#f7faf8}

body.dashboard-view{--screen-blue:#005bac;--screen-blue-2:#0072ce;--screen-red:#e4002b;--screen-gold:#f6c343;--screen-bg:#06182f;--screen-panel:rgba(6,34,70,.72);--screen-line:rgba(83,174,255,.28);background:var(--screen-bg);color:#eaf6ff}
body.dashboard-view .app-shell{grid-template-columns:250px minmax(0,1fr);background:radial-gradient(circle at 52% 32%,rgba(0,114,206,.28),transparent 34%),linear-gradient(145deg,#031022,#08284c 48%,#04142b)}
body.dashboard-view .sidebar{background:linear-gradient(180deg,#031426,#06264b);border-right:1px solid rgba(98,184,255,.22);box-shadow:14px 0 42px rgba(0,0,0,.28)}
body.dashboard-view .logo{color:#edf8ff}.dashboard-view .logo>span{border-radius:8px;background:linear-gradient(135deg,var(--screen-blue),var(--screen-red));box-shadow:0 0 24px rgba(0,114,206,.42)}body.dashboard-view .logo small{color:#78a9dc}
body.dashboard-view #nav p{color:#6fa7d7}.dashboard-view .nav-item{border:1px solid transparent;border-radius:8px;color:#b7d7f2}.dashboard-view .nav-item i{border-radius:6px;background:rgba(255,255,255,.08);color:#d9efff}.dashboard-view .nav-item:hover{background:rgba(0,91,172,.22);border-color:rgba(85,174,255,.18)}.dashboard-view .nav-item.active{background:linear-gradient(90deg,rgba(0,91,172,.62),rgba(228,0,43,.18));border-color:rgba(93,185,255,.34);color:#fff;box-shadow:inset 3px 0 0 var(--screen-red),0 0 24px rgba(0,91,172,.22)}.dashboard-view .nav-item.active i{background:rgba(228,0,43,.2);color:#fff}.dashboard-view .sidebar-foot{border-top-color:rgba(106,176,228,.22);color:#94bee2}.dashboard-view .sidebar-foot small{color:#6792bd}
body.dashboard-view .topbar{display:none}body.dashboard-view main{min-width:0;background:transparent}.dashboard-view .workspace{width:100%;max-width:none;height:100vh;margin:0;padding:14px;overflow:auto;background:transparent}
.screen-board{position:relative;height:100%;min-height:0;display:grid;grid-template-rows:62px minmax(0,1fr) 198px;padding:10px;border:1px solid rgba(88,175,255,.25);border-radius:12px;background:linear-gradient(180deg,rgba(2,15,34,.8),rgba(4,24,48,.94)),radial-gradient(circle at 50% 48%,rgba(0,91,172,.25),transparent 38%);box-shadow:inset 0 0 55px rgba(0,114,206,.16),0 22px 70px rgba(0,0,0,.3);overflow:hidden}.screen-board::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:54px 54px;opacity:.32;pointer-events:none}.screen-board>*{position:relative;z-index:1}
.screen-top{height:62px;display:grid;grid-template-columns:350px minmax(0,1fr) 360px;align-items:center;gap:12px}.screen-brand{display:flex;align-items:center;min-width:0}.screen-company-logo{position:relative;width:min(270px,100%);height:44px;background:#f4f9ff;-webkit-mask:url("assets/sinopec-company-logo.png") center/contain no-repeat;mask:url("assets/sinopec-company-logo.png") center/contain no-repeat}.screen-company-logo::after{content:"";position:absolute;inset:0;background:var(--screen-red);clip-path:inset(0 64% 0 0);-webkit-mask:url("assets/sinopec-company-logo.png") center/contain no-repeat;mask:url("assets/sinopec-company-logo.png") center/contain no-repeat}.screen-title{text-align:center}.screen-title h2{margin:0;color:#fff;font-size:28px;font-weight:850;text-shadow:0 0 18px rgba(55,171,255,.55)}.screen-title small{display:block;margin-top:3px;color:#8fc8f7;font-size:10px}.screen-meta{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:5px;justify-items:end}.screen-meta>strong{grid-column:1/-1;color:#fff;font-size:13px}.screen-period{min-width:78px;display:grid;gap:2px;padding:4px 7px;border:1px solid rgba(83,174,255,.26);border-radius:6px;background:rgba(0,50,100,.38);line-height:1}.screen-period small{color:#83b7df;font-size:8px;font-weight:650}.screen-period b{color:#dcefff;font-size:9px;white-space:nowrap}.screen-action{height:24px;padding:0 8px;border:1px solid rgba(116,196,255,.34);border-radius:6px;background:rgba(0,91,172,.35);color:#eaf6ff;font-size:10px;font-weight:750;cursor:pointer}.screen-action:hover{border-color:rgba(255,255,255,.55);background:rgba(0,114,206,.55)}
.screen-layout{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(360px,1.26fr) minmax(280px,1fr);gap:8px;min-height:0}.screen-column{display:grid;gap:8px;min-height:0}.screen-column-left{grid-template-rows:112px 148px minmax(0,1fr)}.screen-column-right{grid-template-rows:1fr}.screen-panel{min-width:0;min-height:0;border:1px solid var(--screen-line);border-radius:9px;background:linear-gradient(180deg,rgba(9,43,83,.78),rgba(5,26,54,.76));box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 0 28px rgba(0,91,172,.1);overflow:hidden}.screen-panel-head{height:32px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-bottom:1px solid rgba(83,174,255,.18);background:linear-gradient(90deg,rgba(0,91,172,.28),rgba(228,0,43,.08))}.screen-panel-head h3{margin:0;color:#f4fbff;font-size:13px}.screen-panel-head span{color:#77b7ed;font-size:9px}
.screen-pie-wrap{height:calc(100% - 34px);display:grid;grid-template-columns:72px 1fr;align-items:center;gap:8px;padding:5px 9px}.screen-pie{position:relative;width:66px;height:66px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--screen-blue-2) 0 var(--pie-angle),var(--screen-red) var(--pie-angle) 360deg);box-shadow:0 0 26px rgba(0,114,206,.28)}.screen-pie::before{content:"";position:absolute;width:40px;height:40px;border-radius:50%;background:#061936}.screen-pie strong{position:relative;z-index:1;color:#fff;font-size:14px}.screen-pie-legend{display:grid;gap:5px}.screen-pie-legend button{display:flex;align-items:center;gap:6px;min-height:25px;padding:0 7px;border:1px solid rgba(95,176,240,.2);border-radius:5px;background:rgba(255,255,255,.04);color:#dcefff;font-size:10px;cursor:pointer}.screen-pie-legend i{width:8px;height:8px;border-radius:50%}.screen-pie-legend .blue{background:var(--screen-blue-2)}.screen-pie-legend .red{background:var(--screen-red)}
.screen-bars{height:218px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:10px;padding:18px 14px}.screen-bars button{height:180px;display:grid;grid-template-rows:auto 1fr auto;align-items:end;justify-items:center;gap:7px;border:0;background:transparent;color:#d9f1ff;cursor:pointer}.screen-bars span{font-size:10px}.screen-bars i{width:34px;border-radius:7px 7px 0 0;background:linear-gradient(180deg,#45b8ff,var(--screen-blue));box-shadow:0 0 18px rgba(42,163,255,.38)}.screen-bars button:nth-child(3) i,.screen-bars button:nth-child(4) i{background:linear-gradient(180deg,#ff4b66,var(--screen-red));box-shadow:0 0 18px rgba(228,0,43,.34)}.screen-bars strong{font-size:17px}
.screen-region-bars{height:calc(100% - 32px);display:grid;grid-template-rows:repeat(16,minmax(0,1fr));gap:2px;padding:5px 7px}.screen-region-row{display:grid;grid-template-columns:minmax(56px,.48fr) minmax(0,1fr) auto;align-items:center;gap:6px;min-height:0;padding:1px 5px;border:1px solid rgba(83,174,255,.14);border-radius:5px;background:rgba(255,255,255,.035);line-height:1}.screen-region-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#eaf6ff;font-size:9px}.screen-region-row strong{color:#fff;font-size:10px}.screen-region-row i{height:5px;display:flex;overflow:hidden;border-radius:999px;background:rgba(87,154,212,.16);box-shadow:inset 0 0 0 1px rgba(126,202,255,.12)}.screen-region-row b,.screen-region-row em{display:block;height:100%;min-width:0}.screen-region-row b{background:linear-gradient(90deg,#38bdf8,var(--screen-blue-2));box-shadow:0 0 14px rgba(56,189,248,.35)}.screen-region-row em{background:linear-gradient(90deg,#ff6b7f,var(--screen-red));box-shadow:0 0 14px rgba(228,0,43,.35)}
.screen-center{display:grid;grid-template-rows:minmax(150px,1fr) 66px 52px;gap:7px;min-height:0}.screen-total-orbit{position:relative;display:grid;place-items:center;min-height:150px;border:1px solid rgba(83,174,255,.25);border-radius:12px;background:radial-gradient(circle,rgba(0,91,172,.38),rgba(0,16,34,.76) 64%,rgba(228,0,43,.08));overflow:hidden}.screen-total-ring{position:absolute;width:min(250px,68%);aspect-ratio:1;border:12px solid rgba(0,114,206,.8);border-right-color:rgba(228,0,43,.85);border-bottom-color:rgba(80,170,255,.42);border-radius:50%;box-shadow:0 0 42px rgba(0,114,206,.35),inset 0 0 32px rgba(0,114,206,.18)}.screen-total-value{position:relative;z-index:1;text-align:center}.screen-total-value span{display:block;color:#9bd0ff;font-size:11px}.screen-total-value strong{display:block;margin:3px 0;color:#fff;font-size:52px;font-weight:900;text-shadow:0 0 28px rgba(62,181,255,.72)}.screen-total-value small{color:#f7c64b;font-size:10px}
.screen-main-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.screen-metric{min-width:0;min-height:0;padding:7px 8px;border:1px solid rgba(89,176,246,.24);border-radius:8px;background:rgba(7,40,78,.72);color:#eef8ff;text-align:left;cursor:pointer}.screen-metric span,.screen-metric small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.screen-metric span{color:#9dccf4;font-size:9px}.screen-metric strong{display:block;margin:3px 0 2px;font-size:19px}.screen-metric small{font-size:8px}.screen-metric.primary strong,.screen-metric.total strong{color:#fff}.screen-metric.pending{border-style:dashed;cursor:default}.screen-metric.pending strong{color:#dce5ef;font-size:17px}.screen-runline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.screen-runline div{min-width:0;padding:6px 7px;border:1px solid rgba(83,174,255,.18);border-radius:7px;background:rgba(255,255,255,.045)}.screen-runline span,.screen-runline small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#94c5ec;font-size:8px}.screen-runline strong{display:block;margin:2px 0;color:#fff;font-size:15px}
.screen-cost-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:6px 8px 5px}.screen-cost-grid div,.screen-overseas-grid div{padding:6px 8px;border:1px solid rgba(83,174,255,.19);border-radius:6px;background:rgba(255,255,255,.045)}.screen-cost-grid span,.screen-overseas-grid span,.screen-overseas-grid small{display:block;color:#9bcaf0;font-size:8px}.screen-cost-grid strong,.screen-overseas-grid strong{display:flex;align-items:baseline;gap:4px;margin:2px 0 0;color:#fff;font-size:17px}.screen-cost-grid strong small{display:inline;color:#9bcaf0;font-size:8px;font-weight:700}.screen-overseas-grid strong{display:block}.screen-gap{margin:0 8px 6px;padding:4px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid rgba(246,195,67,.28);border-radius:5px;background:rgba(246,195,67,.08);color:#ffd66e;font-size:8px}.screen-change-list{height:calc(100% - 32px);display:grid;grid-template-rows:repeat(5,minmax(0,1fr));gap:2px;padding:4px 6px}.screen-change-list div{display:grid;grid-template-columns:minmax(0,1fr) 36px auto;align-items:center;gap:4px;min-height:0;padding:1px 5px;border-left:2px solid var(--screen-gold);border-radius:4px;background:rgba(255,255,255,.045)}.screen-change-list div.down{border-left-color:var(--screen-red)}.screen-change-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#eef8ff;font-size:9px}.screen-change-list strong{text-align:right;color:#ffd261;font-size:11px}.screen-change-list .down strong{color:#ff6b7f}.screen-change-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8dbde4;font-size:7px}
.screen-bottom{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,.82fr) minmax(0,.58fr);gap:8px;margin-top:8px;min-height:0}.screen-table{height:calc(100% - 32px);overflow:hidden;padding:0 7px 4px}.screen-table table{width:100%;height:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:8px}.screen-table th,.screen-table td{height:13px;padding:1px 3px;border-bottom:1px solid rgba(110,185,247,.14);color:#dceeff;text-align:right;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.screen-table th:first-child,.screen-table td:first-child{width:31%;text-align:left;max-width:none}.screen-table th:nth-child(n+2),.screen-table td:nth-child(n+2){width:8.2%}.screen-table th:last-child,.screen-table td:last-child{width:12.6%;min-width:0}.screen-table th{color:#84bbe9;font-weight:750}.screen-table td b{color:#fff}.screen-rank{height:calc(100% - 32px);display:grid;grid-template-rows:repeat(10,minmax(0,1fr));gap:2px;overflow:hidden;padding:5px 6px}.screen-rank div{display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:4px;min-height:0;padding:1px 4px;border:1px solid rgba(83,174,255,.14);border-radius:4px;background:rgba(255,255,255,.035)}.screen-rank b{color:#79b9ec;font-size:8px}.screen-rank span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e9f7ff;font-size:8px}.screen-rank strong{display:flex;align-items:baseline;gap:3px;color:#fff;font-size:9px;white-space:nowrap}.screen-rank small{color:#89bce5;font-size:6px;font-weight:500}.screen-overseas-grid{height:calc(100% - 32px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:6px}.screen-overseas-grid div{min-height:0;padding:5px}.screen-overseas-grid span,.screen-overseas-grid small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px}.screen-overseas-grid strong{display:block;margin:2px 0;font-size:16px;line-height:1.05}.screen-empty{display:grid;place-items:center;min-height:70px;color:#8db9dc;font-size:11px}
#appShell:fullscreen{grid-template-columns:1fr;background:#031024}#appShell:fullscreen .sidebar{display:none}#appShell:fullscreen .workspace{padding:12px}#appShell:fullscreen .screen-board{min-height:calc(100vh - 24px)}
@media(max-width:1280px){.screen-top{grid-template-columns:250px minmax(0,1fr) 275px}.screen-company-logo{width:min(195px,100%)}.screen-title h2{font-size:22px}.screen-meta{grid-template-columns:auto auto auto}.screen-layout{grid-template-columns:minmax(240px,.9fr) minmax(320px,1.22fr) minmax(255px,1fr)}.screen-bottom{grid-template-columns:1.62fr .84fr .64fr}}
@media(min-height:820px){.screen-board{grid-template-rows:68px minmax(0,1fr) 236px;padding:12px}.screen-top{height:68px}.screen-company-logo{height:48px}.screen-title h2{font-size:30px}.screen-layout,.screen-column{gap:10px}.screen-column-left{grid-template-rows:132px 178px minmax(0,1fr)}.screen-panel-head{height:36px}.screen-panel-head h3{font-size:14px}.screen-pie-wrap{height:calc(100% - 38px);grid-template-columns:88px 1fr;padding:7px 10px}.screen-pie{width:80px;height:80px}.screen-pie::before{width:50px;height:50px}.screen-pie strong{font-size:17px}.screen-region-bars{height:calc(100% - 36px);gap:3px;padding:6px 8px}.screen-center{grid-template-rows:minmax(180px,1fr) 76px 58px;gap:8px}.screen-total-ring{width:min(300px,68%)}.screen-total-value strong{font-size:62px}.screen-cost-grid{gap:7px;padding:8px 10px 6px}.screen-cost-grid div{padding:8px 9px}.screen-cost-grid strong{font-size:20px}.screen-gap{margin:0 10px 8px;padding:5px 7px;font-size:9px}.screen-change-list{height:calc(100% - 36px);gap:4px;padding:6px 8px}.screen-change-list span{font-size:10px}.screen-change-list strong{font-size:13px}.screen-bottom{gap:10px;margin-top:10px}.screen-table,.screen-rank,.screen-overseas-grid{height:calc(100% - 36px)}.screen-table table{font-size:9px}.screen-table th,.screen-table td{height:16px;padding:2px 3px}.screen-rank{gap:3px;padding:7px 8px}.screen-rank span{font-size:9px}.screen-rank strong{font-size:10px}.screen-overseas-grid{padding:7px}.screen-overseas-grid span,.screen-overseas-grid small{font-size:8px}.screen-overseas-grid strong{font-size:19px}}
@media(max-width:1050px){.screen-top{grid-template-columns:1fr}.screen-brand{justify-content:center}.screen-title{text-align:center}.screen-meta{justify-items:center}.screen-layout{grid-template-columns:1fr}.screen-bottom{grid-template-columns:1fr}.screen-center{grid-row:1}.screen-column{grid-template-columns:repeat(2,minmax(0,1fr))}.screen-column-right{grid-template-columns:1fr}}
@media(max-width:900px){body.dashboard-view .sidebar{left:0}.dashboard-view .workspace{padding:10px}.screen-top{height:auto;grid-template-columns:1fr}.screen-title{text-align:left}.screen-meta{justify-items:start}.screen-main-stats,.screen-runline,.screen-column{grid-template-columns:1fr}.screen-pie-wrap{grid-template-columns:1fr;justify-items:center}}
.preview-file{padding:12px 14px;border:0;border-radius:10px;background:#f4f8f6}

/* Persistent command-center theme for the operational workspace. */
.workbench-view{--bg:#06182f;--panel:#0a2749;--panel-soft:#0c2d54;--ink:#edf7ff;--muted:#8ab2d4;--line:rgba(83,174,255,.25);--green:#0072ce;--green-2:#158fe0;--green-soft:rgba(0,114,206,.2);--mint:rgba(56,189,248,.16);--blue:#45b8ff;--blue-soft:rgba(69,184,255,.16);--amber:#f6c343;--amber-soft:rgba(246,195,67,.14);--red:#e4002b;--red-soft:rgba(228,0,43,.14);--shadow:0 18px 44px rgba(0,0,0,.26);background:#06182f;color:var(--ink)}
.workbench-view .app-shell{background:#06182f;color:var(--ink)}
.workbench-view .sidebar{background:linear-gradient(180deg,#031426,#06264b);border-right-color:rgba(83,174,255,.22);box-shadow:12px 0 34px rgba(0,0,0,.2)}
.workbench-view .logo{color:#f3f9ff}.workbench-view .logo>span{border-radius:8px;background:linear-gradient(135deg,#005bac,#e4002b)}.workbench-view .logo small,.workbench-view #nav p{color:#6fa7d7}
.workbench-view .nav-item{border:1px solid transparent;border-radius:8px;color:#b8d7f0}.workbench-view .nav-item i{border-radius:6px;background:rgba(255,255,255,.07);color:#dcefff}.workbench-view .nav-item:hover{border-color:rgba(83,174,255,.2);background:rgba(0,91,172,.18)}.workbench-view .nav-item.active{border-color:rgba(83,174,255,.34);background:linear-gradient(90deg,rgba(0,91,172,.62),rgba(0,114,206,.18));color:#fff;box-shadow:inset 3px 0 0 #e4002b}.workbench-view .nav-item.active i{background:rgba(0,114,206,.34);color:#fff}
.workbench-view .sidebar-foot{border-top-color:rgba(83,174,255,.2);color:#9bc4e5}.workbench-view .sidebar-foot small{color:#628db4}
.workbench-view main{background:#06182f}.workbench-view .topbar{border-bottom-color:rgba(83,174,255,.2);background:#051a33}.workbench-view .topbar p,.workbench-view .top-actions{color:#96c1e2}.workbench-view .local-pill{border-color:rgba(83,174,255,.28);background:rgba(0,91,172,.2);color:#bfe1fa}.workbench-view .avatar{background:#0072ce;color:#fff}
.workbench-view .workspace{background:linear-gradient(90deg,rgba(255,255,255,.024) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.02) 1px,transparent 1px),#06182f;background-size:54px 54px;color:var(--ink)}
.workbench-view .page-head h2,.workbench-view .card h3,.workbench-view .modal h2{color:#f4f9ff}.workbench-view .page-head .eyebrow,.workbench-view .eyebrow{color:#56b9f5}.workbench-view .page-head .subtitle{display:block;color:#84afd1}
.workbench-view .card,.workbench-view .stat-card,.workbench-view .filter-bar,.workbench-view .module-toolbar,.workbench-view .table-card,.workbench-view .backup-card,.workbench-view .coming-soon{border-color:rgba(83,174,255,.22);background:rgba(8,38,74,.86);box-shadow:0 12px 36px rgba(0,0,0,.14)}
.workbench-view .stat-card span,.workbench-view .stat-card small,.workbench-view .selection-count,.workbench-view .pagination,.workbench-view .empty-note{color:#89b5d6}.workbench-view .stat-card strong{color:#fff}.workbench-view .stat-card.blue,.workbench-view .stat-card.amber,.workbench-view .stat-card.red{background:rgba(8,38,74,.86)}
.workbench-view input,.workbench-view select,.workbench-view textarea{border-color:rgba(83,174,255,.28)!important;background:#071d37!important;color:#edf7ff!important}.workbench-view input::placeholder,.workbench-view textarea::placeholder{color:#6489aa}.workbench-view input:focus,.workbench-view select:focus,.workbench-view textarea:focus{border-color:#29a8f2!important;box-shadow:0 0 0 3px rgba(41,168,242,.13)!important}.workbench-view .field{color:#a9cae2}.workbench-view .field input[data-autofilled="true"]{border-color:#3abf88!important;background:#082d39!important;box-shadow:inset 3px 0 0 #3abf88!important}
.workbench-view .btn.primary,.workbench-view .toolbar-button.primary-action{border-color:#0785df;background:#0072ce;color:#fff}.workbench-view .btn.secondary,.workbench-view .toolbar-button,.workbench-view .pagination button{border-color:rgba(83,174,255,.26);background:#0a2a4f;color:#d9efff}.workbench-view .btn.secondary:hover,.workbench-view .toolbar-button:hover{border-color:#45b8ff;color:#fff}.workbench-view .toolbar-link{color:#45b8ff}
.workbench-view .data-table{color:#dceeff}.workbench-view .data-table th{border-bottom-color:rgba(83,174,255,.24);background:#0b315b;color:#8fc5ed}.workbench-view .data-table td{border-bottom-color:rgba(83,174,255,.14);color:#dceeff}.workbench-view .data-table tbody tr:hover{background:rgba(0,114,206,.12)}.workbench-view .data-table tbody tr[data-row]:hover{outline-color:rgba(83,174,255,.3)}.workbench-view .table-empty{color:#79a6c8}
.workbench-view .data-table thead th:first-child{background:#0b315b}.workbench-view .data-table tbody td:first-child{background:#08264a}.workbench-view .data-table tbody tr:hover td:first-child{background:#0b3158}
.workbench-view .modal{border:1px solid rgba(83,174,255,.28);background:#071d37;color:#edf7ff;box-shadow:0 30px 90px rgba(0,0,0,.58)}.workbench-view .modal::backdrop{background:rgba(1,12,26,.76);backdrop-filter:blur(2px)}.workbench-view .modal-head,.workbench-view .modal-actions{border-color:rgba(83,174,255,.2);background:#082544}.workbench-view .icon-btn{background:rgba(255,255,255,.07);color:#eaf6ff}.workbench-view .editor-footer{border-color:rgba(83,174,255,.18);background:#071d37}.workbench-view .editor-error{border-color:rgba(255,92,113,.48);background:rgba(228,0,43,.13);color:#ff9baa}
.workbench-view .drop-zone{border-color:rgba(83,174,255,.34);background:#082544}.workbench-view .drop-zone.drag{border-color:#45b8ff;background:#0a3157}.workbench-view .preview-file,.workbench-view .batch-preview-file,.workbench-view .preview-stats div{border-color:rgba(83,174,255,.22);background:#0a2a4f}.workbench-view .batch-preview-summary,.workbench-view .import-detail-meta span{border-color:rgba(83,174,255,.2);background:#0a2a4f;color:#a9cbe4}
.workbench-view .multi-filter-trigger,.workbench-view .multi-filter-menu,.workbench-view .excel-filter-menu,.workbench-view .search-suggestions,.workbench-view .bulk-value-options,.workbench-view .account-menu{border-color:rgba(83,174,255,.26);background:#082544;color:#eaf6ff;box-shadow:0 20px 48px rgba(0,0,0,.38)}.workbench-view .multi-filter-option,.workbench-view .search-suggestion,.workbench-view .bulk-value-option,.workbench-view .multi-filter-sort button{background:#082544;color:#dceeff}.workbench-view .multi-filter-option:hover,.workbench-view .search-suggestion:hover,.workbench-view .bulk-value-option:hover,.workbench-view .multi-filter-sort button:hover{background:#0d3764;color:#fff}.workbench-view .multi-filter-tools,.workbench-view .multi-filter-footer,.workbench-view .multi-filter-sort,.workbench-view .excel-filter-menu .multi-filter-options{border-color:rgba(83,174,255,.18)}.workbench-view .excel-filter-menu .multi-filter-footer{background:#082544}.workbench-view .smart-editor-control>[data-smart-editor-choice]{border-color:rgba(83,174,255,.28);background:#0a2a4f;color:#8fd8ff}.workbench-view .smart-editor-control>[data-smart-editor-choice]:hover{background:#0d3764;color:#fff}
.workbench-view .attendance-detail-stat,.workbench-view .attendance-detail-info>div,.workbench-view .attendance-detail-info>label,.workbench-view .attendance-day-grid>div.attendance-day,.workbench-view .reconciliation-quick-actions{border-color:rgba(83,174,255,.2);background:#0a2a4f}.workbench-view .attendance-detail-stat small,.workbench-view .attendance-detail-info small,.workbench-view .attendance-section-head span,.workbench-view .reconciliation-quick-actions p{color:#8fb8d6}.workbench-view .reconciliation-quick-actions strong{color:#54bdff}.workbench-view .reconciliation-quick-actions [data-editor-reconciliation].selected{outline-color:#45b8ff}.workbench-view .reconciliation-action-preview{border-color:rgba(80,206,255,.4);background:#0b365b}.workbench-view .reconciliation-action-preview span{background:#0072ce}
.workbench-view .labor-cost-source-note{background:#0a2a4f;color:#9bc3df}.workbench-view .account-menu button{background:#0a2a4f;color:#dceeff}.workbench-view .undo-bar{background:#08345d;color:#fff}.workbench-view #toast{background:#075d94}

/* Import result archive. */
.import-page-head{align-items:flex-end}.import-page-head .actions{max-width:760px;justify-content:flex-end;flex-wrap:wrap}
.import-archive-latest{margin-bottom:14px;padding:16px 18px;border:1px solid rgba(83,174,255,.26);border-radius:8px;background:linear-gradient(100deg,rgba(0,91,172,.24),rgba(8,38,74,.9))}.import-archive-latest.empty{color:#8fb9d7}.import-archive-latest-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:13px}.import-archive-latest-head p,.import-history-head p{margin:0 0 4px;color:#80afd2;font-size:10px}.import-archive-latest-head h3,.import-history-head h3{margin:0;color:#f4f9ff;font-size:15px}.import-archive-latest-head>div:last-child{display:flex;align-items:center;gap:8px;color:#9bc4e2;font-size:10px}.import-archive-counts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.import-archive-count{min-width:0;padding:11px 12px;border:1px solid rgba(83,174,255,.22);border-radius:7px;background:#092848;color:#eaf6ff;text-align:left;cursor:pointer}.import-archive-count:hover{border-color:#45b8ff;background:#0b3158}.import-archive-count span,.import-archive-count small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-archive-count span{color:#9bc6e5;font-size:10px}.import-archive-count strong{display:block;margin:5px 0 2px;color:#fff;font-size:22px}.import-archive-count small{color:#668fac;font-size:8px}.import-archive-count.insert strong{color:#65d9a6}.import-archive-count.update strong{color:#67c8ff}.import-archive-count.unchanged strong{color:#a9bfd0}.import-archive-count.derived strong{color:#ffd66e}.import-archive-count.error strong{color:#ff7d91}
.import-archive-card{overflow:hidden}.import-history-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid rgba(83,174,255,.18)}.import-history-head>span{color:#7eabc9;font-size:10px}.import-archive-card .table-scroll{overflow-x:hidden}.import-archive-card .data-table{width:100%;min-width:0;table-layout:fixed;font-size:10px}.import-archive-card .data-table th,.import-archive-card .data-table td{padding:10px 7px;max-width:none}.import-archive-card .data-table th:nth-child(1),.import-archive-card .data-table td:nth-child(1){width:9%}.import-archive-card .data-table th:nth-child(2),.import-archive-card .data-table td:nth-child(2){width:8%}.import-archive-card .data-table th:nth-child(3),.import-archive-card .data-table td:nth-child(3){width:20%}.import-archive-card .data-table th:nth-child(4),.import-archive-card .data-table td:nth-child(4){width:7%}.import-archive-card .data-table th:nth-child(5),.import-archive-card .data-table td:nth-child(5){width:7%}.import-archive-card .data-table th:nth-child(n+6):nth-child(-n+10),.import-archive-card .data-table td:nth-child(n+6):nth-child(-n+10){width:7%}.import-archive-card .data-table th:nth-child(11),.import-archive-card .data-table td:nth-child(11){width:14%}.import-archive-card .data-table td:last-child{white-space:normal}.import-archive-card .data-table td:last-child .btn{margin:2px;padding:7px 8px}.import-count-link{min-width:34px;padding:5px 6px;border:1px solid transparent;border-radius:6px;background:transparent;color:#dceeff;font-weight:800;cursor:pointer}.import-count-link:hover{border-color:rgba(83,174,255,.3);background:rgba(0,114,206,.16)}.import-count-link.insert{color:#65d9a6}.import-count-link.update{color:#67c8ff}.import-count-link.unchanged{color:#a9bfd0}.import-count-link.derived{color:#ffd66e}.import-count-link.error{color:#ff7d91}
.workbench-view .import-result-panel{border-color:rgba(77,211,157,.34);background:rgba(25,120,83,.16)}.workbench-view .import-result-panel strong{color:#68dbaa}.workbench-view .import-result-panel span{color:#a1c9bd}.workbench-view .import-detail-summary button,.workbench-view .import-detail-tabs button{border-color:rgba(83,174,255,.24);background:#0a2a4f;color:#dceeff}.workbench-view .import-detail-summary button:hover,.workbench-view .import-detail-summary button.selected,.workbench-view .import-detail-tabs button.selected{border-color:#45b8ff;background:#075f9e;color:#fff}.workbench-view .import-detail-summary span{color:#8eb8d6}.workbench-view .import-detail-table{border-color:rgba(83,174,255,.22)}.workbench-view .import-detail-table th{background:#0b315b}.workbench-view .import-field-change{border-color:rgba(83,174,255,.14)}.workbench-view .import-field-change b{color:#b4d5eb}.workbench-view .import-field-change span{color:#df9ea8}.workbench-view .import-field-change strong{color:#65d9a6}.workbench-view .change-tag.insert{background:rgba(77,211,157,.15);color:#65d9a6}.workbench-view .change-tag.update{background:rgba(69,184,255,.15);color:#67c8ff}.workbench-view .change-tag.unchanged{background:rgba(170,192,208,.12);color:#a9bfd0}.workbench-view .change-tag.derived{background:rgba(246,195,67,.14);color:#ffd66e}.workbench-view .change-tag.error{background:rgba(228,0,43,.15);color:#ff7d91}

/* Calmer dashboard proportions based on the approved concept. */
.screen-board{grid-template-rows:68px minmax(0,1fr) 226px;padding:12px;gap:0}
.screen-top{height:68px;grid-template-columns:minmax(230px,1fr) minmax(390px,1.35fr) minmax(380px,1fr);gap:14px}.screen-company-logo{width:min(230px,100%);height:48px}.screen-title h2{font-size:30px}.screen-meta{grid-template-columns:auto auto auto auto auto;gap:6px}.screen-meta>strong{grid-column:1/-1}.screen-period{min-width:82px;padding:5px 8px}.screen-period small{font-size:8px}.screen-period b{font-size:10px}.screen-action{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:34px;min-width:58px;padding:0 8px;white-space:nowrap}.screen-action span{font-size:13px}.screen-action b{font-size:10px}
.screen-layout{grid-template-columns:minmax(260px,.82fr) minmax(410px,1.3fr) minmax(300px,1fr);gap:10px}.screen-column{gap:10px}.screen-column-left{grid-template-rows:122px 160px minmax(0,1fr)}.screen-panel{border-radius:8px}.screen-panel-head{height:36px;padding:0 11px}.screen-panel-head h3{font-size:14px}.screen-panel-head h3 small{margin-left:8px;color:#79b8e5;font-size:8px;font-weight:600}.screen-panel-link{padding:5px;border:0;background:transparent;color:#79b8e5;font-size:9px;cursor:pointer}.screen-panel-link:hover{color:#fff}
.screen-pie-wrap{height:calc(100% - 36px);grid-template-columns:86px 1fr;padding:6px 10px}.screen-pie{width:78px;height:78px}.screen-pie::before{width:48px;height:48px}.screen-pie strong{font-size:16px}.screen-cost-grid{gap:7px;padding:8px 10px}.screen-cost-grid div{padding:8px 9px}.screen-cost-grid strong{font-size:19px}.screen-change-list{height:calc(100% - 36px);gap:3px;padding:6px 8px}.screen-change-list span{font-size:10px}.screen-change-list strong{font-size:13px}
.screen-center{grid-template-rows:minmax(205px,1fr) 82px 62px;gap:8px}.screen-total-ring{width:min(310px,68%)}.screen-total-value strong{font-size:64px}.screen-main-stats{gap:8px}.screen-metric{padding:10px 11px}.screen-metric span{font-size:10px}.screen-metric strong{font-size:22px}.screen-metric small{font-size:8px}.screen-runline{gap:8px}.screen-runline div{padding:8px 9px}.screen-runline strong{font-size:17px}
.screen-region-bars{height:calc(100% - 36px);grid-template-rows:repeat(var(--region-count,16),minmax(0,1fr));gap:3px;padding:7px 8px}.screen-region-row{padding:2px 7px}.screen-region-row span{font-size:11px;font-weight:650}.screen-region-row strong{font-size:12px}.screen-region-row i{height:6px}
.screen-bottom{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(250px,.66fr);gap:10px;margin-top:10px}.screen-table,.screen-rank,.screen-overseas-grid{height:calc(100% - 36px)}.screen-table{padding:3px 9px 7px}.screen-table table{font-size:10px}.screen-table th,.screen-table td{height:25px;padding:3px 4px}.screen-rank{grid-template-rows:repeat(5,minmax(0,1fr));gap:5px;padding:8px}.screen-rank div{padding:4px 7px}.screen-rank b{font-size:9px}.screen-rank span{font-size:10px;font-weight:650}.screen-rank strong{font-size:12px}.screen-rank small{font-size:8px}.screen-overseas-grid{gap:7px;padding:8px}.screen-overseas-grid div{padding:8px}.screen-overseas-grid span,.screen-overseas-grid small{font-size:8px}.screen-overseas-grid strong{font-size:21px}
.dashboard-rank-dialog{width:min(1180px,calc(100vw - 32px));max-height:88dvh;padding:0;overflow:hidden}.dashboard-rank-dialog .modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}.dashboard-rank-dialog .modal-head h2,.dashboard-rank-dialog .modal-head p{margin:0}.dashboard-rank-dialog .modal-head h2{font-size:20px}.dashboard-rank-dialog .modal-head p:last-child{margin-top:5px;color:var(--muted);font-size:11px}.dashboard-rank-table{max-height:calc(88dvh - 105px);overflow:auto;padding:0 22px 22px}.dashboard-rank-table table{width:100%;border-collapse:collapse;font-size:13px}.dashboard-rank-table th{position:sticky;top:0;background:var(--panel);color:var(--muted);z-index:1}.dashboard-rank-table th,.dashboard-rank-table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.dashboard-rank-table th:nth-child(2),.dashboard-rank-table td:nth-child(2){text-align:left}.dashboard-rank-table td:nth-child(2){white-space:normal}.dashboard-rank-table strong{color:var(--green)}

@media(max-width:1280px){.screen-top{grid-template-columns:210px minmax(330px,1.25fr) minmax(330px,1fr)}.screen-company-logo{width:min(185px,100%)}.screen-title h2{font-size:24px}.screen-layout{grid-template-columns:minmax(230px,.82fr) minmax(350px,1.24fr) minmax(265px,1fr)}.screen-bottom{grid-template-columns:minmax(0,1.55fr) minmax(0,.92fr) minmax(220px,.62fr)}.screen-meta .screen-action{width:34px;min-width:34px;padding:0}.screen-meta .screen-action b{display:none}}
@media(max-width:900px){.import-archive-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.import-archive-latest-head{align-items:flex-start;flex-direction:column}.screen-board{height:auto;min-height:100vh}.screen-meta{grid-template-columns:repeat(2,auto)}.screen-meta strong{grid-column:1/-1}}

/* Theme switch, consistent table states, and labor-cost mapping tools. */
::selection{background:rgba(0,114,206,.42);color:#fff}
.theme-switch{display:inline-flex;align-items:center;padding:3px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.62)}.theme-switch button{height:26px;padding:0 9px;border:0;border-radius:6px;background:transparent;color:#71847d;font-size:10px;cursor:pointer}.theme-switch button.active{background:#176c55;color:#fff;box-shadow:0 2px 8px rgba(23,108,85,.18)}
.workbench-view .theme-switch{border-color:rgba(83,174,255,.28);background:#071d37}.workbench-view .theme-switch button{color:#8fb9d8}.workbench-view .theme-switch button.active{background:#0072ce;color:#fff}
.theme-light{--bg:#e7f0eb;--panel:#f7fbf8;--panel-soft:#eef5f1;--line:#cbdcd3;background:#e7f0eb}.theme-light main{background:#e7f0eb}.theme-light .topbar{background:#edf5f1}.theme-light .workspace{background:linear-gradient(90deg,rgba(52,103,82,.035) 1px,transparent 1px),linear-gradient(0deg,rgba(52,103,82,.03) 1px,transparent 1px),#e7f0eb;background-size:54px 54px}.theme-light .sidebar{background:#dfece5}.theme-light .card,.theme-light .stat-card,.theme-light .filter-bar,.theme-light .module-toolbar,.theme-light .table-card{background:#f7fbf8}
.data-table tbody tr:hover td{background:#e1eee7;color:#183b30}.data-table tbody tr:hover td:first-child{background:#d8e9e0}.data-table tbody tr.selected-row td{background:#d2e7dc;color:#173d30;box-shadow:inset 0 1px 0 rgba(23,108,85,.16),inset 0 -1px 0 rgba(23,108,85,.16)}.data-table tbody tr.selected-row td:first-child{background:#c8e0d4}.data-table tbody tr.selected-row td b{color:#0f5c46}
.workbench-view .data-table tbody tr:hover td{background:#0c3864!important;color:#f1f9ff}.workbench-view .data-table tbody tr:hover td:first-child{background:#0d3e6e!important}.workbench-view .data-table tbody tr.selected-row td{background:#0b4677!important;color:#fff;box-shadow:inset 0 1px 0 rgba(80,187,255,.3),inset 0 -1px 0 rgba(80,187,255,.3)}.workbench-view .data-table tbody tr.selected-row td:first-child{background:#0d4f85!important}.workbench-view .data-table tbody tr.selected-row td b{color:#fff}
.screen-meta{grid-template-columns:repeat(5,auto)}.screen-overseas-grid strong{display:flex;align-items:baseline;gap:4px}.screen-overseas-grid strong small{display:inline;color:#9bcaf0;font-size:8px;font-weight:700}.screen-overseas-grid>div>small{display:none}

.labor-inline-action{display:block;margin-top:5px;padding:0;border:0;background:transparent;color:var(--green);font-size:9px;cursor:pointer}.labor-inline-action:disabled{opacity:.45;cursor:not-allowed}.labor-position-picker{display:block;width:100%;padding:8px 10px;border:1px solid #cddfd6;border-radius:7px;background:#f1f8f4;color:#264f41;text-align:left;cursor:pointer}.labor-position-picker:hover{border-color:#72aa92;background:#e7f3ec}.labor-position-picker span,.labor-position-picker small{display:block}.labor-position-picker span{white-space:normal;line-height:1.55}.labor-position-picker small{margin-top:5px;color:#71877e;font-size:9px}.labor-position-picker:disabled{opacity:.7;cursor:not-allowed}.labor-reverse-head{display:grid;grid-template-columns:minmax(220px,1fr) minmax(240px,420px) auto;align-items:center}.labor-reverse-search,.labor-position-search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#7a8d85}.labor-reverse-search{padding:0 10px}.labor-reverse-search input,.labor-position-search input{width:100%;height:36px;border:0!important;background:transparent!important;box-shadow:none!important;outline:0;color:inherit}.labor-mapping-modal{width:min(1120px,calc(100vw - 30px))}.labor-position-editor,.labor-reverse-editor{display:grid;gap:12px}.labor-position-search{padding:0 12px}.labor-position-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px}.labor-position-toolbar>div{display:flex;gap:5px}.labor-position-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:480px;overflow:auto;padding:2px}.labor-position-options label,.labor-level-options label{display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8fbf9;cursor:pointer}.labor-position-options label:hover,.labor-level-options label:hover{border-color:#7eae99;background:#edf7f1}.labor-position-options input,.labor-level-options input{flex:0 0 auto;width:17px!important;height:17px!important;margin:1px 0 0;accent-color:var(--green)}.labor-position-options span,.labor-level-options span{min-width:0}.labor-position-options b,.labor-position-options small,.labor-level-options b,.labor-level-options small{display:block}.labor-position-options small,.labor-level-options small{margin-top:4px;color:#7e9189;font-size:9px;line-height:1.5}.labor-reverse-current{padding:14px;border:1px solid var(--line);border-radius:9px;background:#f2f8f5}.labor-reverse-current span,.labor-reverse-current small{display:block;color:#73877e;font-size:10px}.labor-reverse-current strong{display:block;margin:5px 0;font-size:18px}.labor-level-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:440px;overflow:auto}.labor-level-editor input[readonly]{background:#edf3f0!important;color:#71827c!important}
.workbench-view .labor-position-picker,.workbench-view .labor-position-options label,.workbench-view .labor-level-options label,.workbench-view .labor-reverse-current{border-color:rgba(83,174,255,.24);background:#0a2a4f;color:#e7f5ff}.workbench-view .labor-position-picker:hover,.workbench-view .labor-position-options label:hover,.workbench-view .labor-level-options label:hover{border-color:#45b8ff;background:#0d3764}.workbench-view .labor-position-picker small,.workbench-view .labor-position-options small,.workbench-view .labor-level-options small,.workbench-view .labor-reverse-current span,.workbench-view .labor-reverse-current small{color:#8fb8d6}.workbench-view .labor-reverse-search,.workbench-view .labor-position-search{border-color:rgba(83,174,255,.28);background:#071d37;color:#dceeff}

body.theme-light.dashboard-view{--screen-bg:#e3eee8;--screen-panel:rgba(246,251,248,.92);--screen-line:rgba(45,112,86,.24);background:#e3eee8;color:#183a30}body.theme-light.dashboard-view .app-shell{background:linear-gradient(145deg,#dceae3,#edf5f1 52%,#dfece6)}body.theme-light.dashboard-view .sidebar{background:#dce9e2;border-right-color:#bfd3c9;box-shadow:10px 0 34px rgba(37,78,62,.1)}body.theme-light.dashboard-view .logo,body.theme-light.dashboard-view .nav-item{color:#294b40}body.theme-light.dashboard-view #nav p{color:#718f83}body.theme-light.dashboard-view .nav-item i{background:#eef6f2;color:#456b5e}body.theme-light.dashboard-view .nav-item:hover{background:#edf6f1;border-color:#c3d9cf}body.theme-light.dashboard-view .nav-item.active{background:#f7fbf9;color:#176c55;border-color:#9dc3b2;box-shadow:inset 3px 0 0 #e4002b,0 5px 20px rgba(37,78,62,.09)}body.theme-light.dashboard-view .screen-board{background:linear-gradient(180deg,rgba(248,252,250,.94),rgba(226,240,233,.96));box-shadow:inset 0 0 55px rgba(23,108,85,.08),0 18px 54px rgba(37,78,62,.12)}body.theme-light.dashboard-view .screen-company-logo{background:#173e32}body.theme-light.dashboard-view .screen-title h2,body.theme-light.dashboard-view .screen-meta>strong,body.theme-light.dashboard-view .screen-panel-head h3,body.theme-light.dashboard-view .screen-total-value strong,body.theme-light.dashboard-view .screen-metric strong,body.theme-light.dashboard-view .screen-runline strong,body.theme-light.dashboard-view .screen-region-row span,body.theme-light.dashboard-view .screen-region-row strong,body.theme-light.dashboard-view .screen-table td,body.theme-light.dashboard-view .screen-rank span,body.theme-light.dashboard-view .screen-rank strong,body.theme-light.dashboard-view .screen-overseas-grid strong{color:#173e32;text-shadow:none}body.theme-light.dashboard-view .screen-title small,body.theme-light.dashboard-view .screen-total-value span,body.theme-light.dashboard-view .screen-metric span,body.theme-light.dashboard-view .screen-metric small,body.theme-light.dashboard-view .screen-runline span,body.theme-light.dashboard-view .screen-runline small,body.theme-light.dashboard-view .screen-table th,body.theme-light.dashboard-view .screen-panel-head span,body.theme-light.dashboard-view .screen-period small{color:#567d6f}body.theme-light.dashboard-view .screen-period,body.theme-light.dashboard-view .screen-action{border-color:#b3d0c2;background:#edf6f1;color:#2c5a4a}body.theme-light.dashboard-view .screen-period b{color:#234c3e}body.theme-light.dashboard-view .screen-panel,body.theme-light.dashboard-view .screen-total-orbit,body.theme-light.dashboard-view .screen-metric,body.theme-light.dashboard-view .screen-runline div{border-color:#b9d2c6;background:rgba(246,251,248,.84);box-shadow:none}body.theme-light.dashboard-view .screen-panel-head{background:linear-gradient(90deg,rgba(23,108,85,.12),rgba(228,0,43,.04));border-bottom-color:#c5d9cf}body.theme-light.dashboard-view .screen-region-row,body.theme-light.dashboard-view .screen-rank div,body.theme-light.dashboard-view .screen-cost-grid div,body.theme-light.dashboard-view .screen-overseas-grid div{border-color:#c6dbd1;background:rgba(255,255,255,.62)}body.theme-light.dashboard-view .screen-total-orbit{background:radial-gradient(circle,rgba(117,190,160,.25),rgba(245,251,248,.9) 68%)}body.theme-light.dashboard-view .screen-pie::before{background:#eaf3ee}body.theme-light.dashboard-view .screen-pie strong{color:#173e32}body.theme-light.dashboard-view .screen-pie-legend button{border-color:#c0d7cc;background:#f5faf7;color:#294d41}body.theme-light.dashboard-view .screen-cost-grid span,body.theme-light.dashboard-view .screen-overseas-grid span,body.theme-light.dashboard-view .screen-overseas-grid small{color:#567d6f}

@media(max-width:1280px){.labor-position-options,.labor-level-options{grid-template-columns:1fr}}
@media(max-width:760px){.theme-switch{display:none}.labor-reverse-head{grid-template-columns:1fr}.labor-reverse-head>span{justify-self:start}.labor-position-options,.labor-level-options{grid-template-columns:1fr}}

body.theme-light.dashboard-view .screen-cost-grid strong,body.theme-light.dashboard-view .screen-table td b,body.theme-light.dashboard-view .screen-change-list span{color:#173e32;text-shadow:none}body.theme-light.dashboard-view .screen-cost-grid strong small,body.theme-light.dashboard-view .screen-overseas-grid strong small{color:#567d6f}body.theme-light.dashboard-view .screen-change-list div{background:rgba(255,255,255,.58)}body.theme-light.dashboard-view .screen-change-list strong{color:#9a6508}body.theme-light.dashboard-view .screen-pending-ring{color:#45685c;background:#f3f8f5;border-color:#8eb0a1}

/* Historical organization-name synchronization. */
.history-sync-modal{width:min(760px,calc(100vw - 30px))}.history-sync-body{display:grid;gap:15px}.history-sync-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.history-sync-heading strong,.history-sync-heading small{display:block}.history-sync-heading strong{font-size:18px}.history-sync-heading small{margin-top:5px;color:#789087;font-size:10px}.history-sync-heading>b{color:var(--green);font-size:24px}.history-sync-body>progress{width:100%;height:10px;accent-color:var(--green)}.history-sync-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.history-sync-stats>div{padding:13px;border:1px solid var(--line);border-radius:8px;background:#f7faf8}.history-sync-stats span,.history-sync-stats strong,.history-sync-stats em{display:block}.history-sync-stats span{color:#73867f;font-size:10px}.history-sync-stats strong{margin-top:7px;font-size:20px}.history-sync-stats strong small{color:#82948e;font-size:10px}.history-sync-stats em{margin-top:5px;color:#4f7567;font-size:9px;font-style:normal}.history-sync-note{margin:0;padding:11px 13px;border-left:3px solid var(--green);background:#eef7f2;color:#567068;font-size:11px;line-height:1.6}.history-sync-note.error{border-color:#b84c3b;background:#fff3f0;color:#963f32}.workbench-view .history-sync-modal{background:#071d37;color:#eaf7ff}.workbench-view .history-sync-modal .modal-head,.workbench-view .history-sync-modal .modal-actions{border-color:rgba(83,174,255,.22)}.workbench-view .history-sync-stats>div{border-color:rgba(83,174,255,.25);background:#0b2b50}.workbench-view .history-sync-stats span,.workbench-view .history-sync-heading small{color:#91b8d4}.workbench-view .history-sync-stats em{color:#75bce9}.workbench-view .history-sync-heading>b{color:#42bfff}.workbench-view .history-sync-note{border-color:#42bfff;background:#0a3158;color:#b8dbef}.workbench-view .history-sync-note.error{border-color:#ff6a78;background:#381d2c;color:#ffd2d7}
@media(max-width:760px){.history-sync-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Preserve the official two-color logo in both dashboard themes. */
.screen-company-logo{background:transparent url("assets/sinopec-company-logo-dark.png") center/contain no-repeat;-webkit-mask:none;mask:none}
.screen-company-logo::after{display:none}
body.theme-light.dashboard-view .screen-company-logo{background:transparent url("assets/sinopec-company-logo.png") center/contain no-repeat}

body:not(.dashboard-view) .topbar{height:56px;padding:8px 20px}
body:not(.dashboard-view):not(.assistant-view) .workspace{padding:16px 20px 20px;max-width:none}
body:not(.dashboard-view) .page-head{align-items:center;gap:14px;margin-bottom:12px}
body:not(.dashboard-view) .page-head .subtitle{display:none}
body:not(.dashboard-view) .stat-grid{gap:10px;margin-bottom:12px}
body:not(.dashboard-view) .stat-card{min-height:86px;padding:12px 14px;border-radius:8px}
body:not(.dashboard-view) .stat-card strong{margin:5px 0;font-size:23px}
#moduleTitle{flex:1;min-width:0;margin:0;font-size:18px;line-height:1.35;overflow-wrap:anywhere}
.assistant-view #moduleTitle{display:none}
body:not(.dashboard-view):not(.assistant-view) .page-head>div:has(>h2){display:none}
body:not(.dashboard-view):not(.assistant-view) .page-head{justify-content:flex-end;gap:8px}
body:not(.dashboard-view):not(.assistant-view) .page-head:not(:has(button,input,a,select)){display:none}
body:not(.dashboard-view):not(.assistant-view) .workspace{padding-top:10px;padding-bottom:12px}
body:not(.dashboard-view) .topbar{gap:12px}
@media(max-width:650px){#moduleTitle{font-size:16px}.top-actions{gap:8px}body:not(.dashboard-view):not(.assistant-view) .page-head .actions{margin-top:0}}
@media(max-width:650px){body:not(.dashboard-view):not(.assistant-view) .workspace{padding:12px}body:not(.dashboard-view) .topbar{padding:8px 12px}body.assistant-view .topbar{height:auto}body:not(.dashboard-view) .page-head .actions{gap:6px;margin-top:8px}}
