:root{color:#172033;background:#f7f8fa;font-family:Inter,PingFang SC,Microsoft YaHei,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #172033;--muted: #6d7786;--muted-2: #8b95a3;--line: #dfe4ea;--line-light: #ebeff3;--surface: #ffffff;--canvas: #f7f8fa;--blue: #0757d6;--blue-soft: #eaf2ff;--green: #1a943d;--green-soft: #eaf8ef;--orange: #e76b20;--orange-soft: #fff4e8;--red: #dc342b;--red-soft: #fff0ef;--motion-fast: .18s;--motion-medium: .36s;--ease-out: cubic-bezier(.22, 1, .36, 1);--focus-ring: #0757d6}*{box-sizing:border-box}body{margin:0;min-width:1180px;min-height:100vh;background:var(--canvas);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.app-shell{min-height:100vh;display:flex;background:var(--canvas)}.quality-inspection-page .quality-summary-card,.quality-inspection-page .quality-entry-card{overflow:hidden}.quality-entry-table th,.quality-entry-table td{white-space:nowrap}.quality-entry-table .cell-input{min-width:132px}.quality-entry-table select.cell-input{min-width:210px}.quality-inspection-page .row-actions{display:flex;align-items:center;gap:8px}.quality-inspection-page .badge{margin-left:6px;vertical-align:middle}.sidebar{width:240px;flex:0 0 240px;min-height:100vh;height:100vh;position:sticky;top:0;color:#fff;background:linear-gradient(165deg,#06192f,#06284c 55%,#061b34);display:flex;flex-direction:column;box-shadow:inset -1px 0 #ffffff0d}.brand{height:78px;padding:0 22px;display:flex;align-items:center;gap:11px;color:#fff;font-size:18px;font-weight:700;letter-spacing:.03em;white-space:nowrap}.brand-mark{width:34px;height:34px;display:grid;place-items:center;color:#dcecff;background:linear-gradient(140deg,#1768db,#0b3a80);border:1px solid rgba(255,255,255,.22);border-radius:9px;box-shadow:0 7px 15px #0000002e}.brand-mark-image{width:34px;height:34px;display:block;object-fit:cover;border-radius:9px;filter:drop-shadow(0 7px 10px rgba(0,0,0,.16))}.sidebar-scroll{flex:1;overflow:auto;padding:8px 10px 22px}.nav-group{margin-bottom:22px}.nav-group-label{padding:0 15px 9px;color:#7c99b7;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.nav-item,.sign-out{width:100%;height:49px;padding:0 15px;border:0;color:#c9d7e7;background:transparent;display:flex;align-items:center;gap:12px;border-radius:7px;font-size:14px;text-align:left;transition:.18s ease}.nav-item:hover,.sign-out:hover{color:#fff;background:#4682d226}.nav-item.active{color:#fff;font-weight:650;background:linear-gradient(90deg,#3e80eb78,#3e80eb2e);box-shadow:inset 4px 0 #4a92ff}.nav-item svg{flex:0 0 auto}.nav-parent-toggle>svg:last-child{margin-left:auto;color:#86a0bc}.nav-nested.active>.nav-parent-toggle>svg:last-child{color:#cfe1f5}.nav-subitems{margin:2px 0 8px 25px;padding-left:10px;border-left:1px solid rgba(133,169,207,.28)}.nav-subitem{width:100%;min-height:38px;padding:0 12px;display:flex;align-items:center;gap:9px;border:0;border-radius:6px;color:#9fb7cf;background:transparent;font-size:12px;text-align:left}.nav-subitem:hover{color:#fff;background:#4682d224}.nav-subitem.active{color:#fff;background:#3e80eb4d;box-shadow:inset 2px 0 #71a7ff}.nav-dot{width:7px;height:7px;margin-left:auto;background:#f36b21;border-radius:50%;box-shadow:0 0 0 3px #f36b2129}.sidebar-footer{padding:15px 10px 18px;border-top:1px solid rgba(255,255,255,.08)}.security-note{display:flex;gap:9px;align-items:center;padding:10px 14px 14px;color:#9eb4ce;font-size:12px;line-height:1.55}.security-note svg{color:#67c88d}.security-note small{color:#738da9}.sign-out{color:#9fb2c8;font-size:13px}.workspace{min-width:0;flex:1}.topbar{height:68px;padding:0 34px;position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:26px;background:#fffffff7;border-bottom:1px solid var(--line)}.context-picker{display:flex;align-items:end;gap:10px;color:#1e2735}.context-picker label{display:flex;flex-direction:column;gap:1px}.context-picker label>span{color:#9aa4b1;font-size:10px;letter-spacing:.06em;text-transform:uppercase}.context-picker select{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#111827;background:transparent;border:0;padding:2px 20px 2px 0;font-size:16px;font-weight:700;outline-offset:3px}.slash{margin-bottom:3px;color:#c2c8d0;font-size:19px}.topbar-context{display:flex;align-items:center;gap:11px}.version-chip{color:#8d98a7;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.account-wrap{margin-left:auto;position:relative}.account{padding:7px 0 7px 12px;display:flex;align-items:center;gap:8px;border:0;background:transparent;color:#202735}.account:hover{color:var(--blue)}.account>svg:first-child{color:#53647e}.account span{font-size:13px}.account-menu{width:224px;position:absolute;right:0;top:48px;padding:8px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 16px 36px #19263924}.account-menu-head{display:flex;gap:10px;align-items:center;padding:9px 9px 13px;border-bottom:1px solid var(--line-light)}.account-menu-head strong,.account-menu-head small{display:block}.account-role-note{display:flex;align-items:center;gap:7px;margin:8px 9px;padding:8px;color:#536a84;background:#f4f8fc;border-radius:6px;font-size:11px}.demo-data-banner{display:flex;align-items:center;gap:10px;min-height:38px;padding:8px 24px;background:#fff8e8;color:#8a5a00;border-bottom:1px solid #f0d59b;font-size:12px;line-height:1.4}.demo-data-banner svg{flex:0 0 auto}.account-menu-head small{margin-top:3px;color:var(--muted-2);font-size:12px}.account-menu button{width:100%;padding:10px 9px;display:flex;align-items:center;gap:9px;border:0;border-radius:6px;color:#3c4655;background:transparent;font-size:13px;text-align:left}.account-menu button:hover{background:#f3f6fa;color:var(--blue)}.account-menu .danger-action{color:var(--red)}.content{max-width:1600px;margin:0 auto;padding:25px 34px 48px}.breadcrumb{display:flex;align-items:center;gap:8px;margin:0 0 15px 2px;color:#99a3b1;font-size:12px}.breadcrumb strong{color:#586372;font-weight:600}.page-stack{display:flex;flex-direction:column;gap:20px}.page-header{min-height:71px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.page-header h1,.settlement-title-row h1{margin:4px 0 5px;color:#111722;font-size:31px;line-height:1.18;letter-spacing:-.02em}.page-header p,.settlement-title-row p{margin:0;color:#7c8694;font-size:14px}.eyebrow{color:#8e9aaa;font-size:11px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.page-header-actions{display:flex;align-items:center;gap:10px;padding-top:9px}.badge{min-height:25px;padding:3px 9px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid transparent;border-radius:99px;font-size:12px;font-weight:650;line-height:1;white-space:nowrap}.badge-neutral{color:#687485;background:#f0f3f6;border-color:#e6eaf0}.badge-blue,.badge-info{color:#135cc4;background:#eaf2ff;border-color:#cfe0ff}.badge-success{color:#1a7b38;background:#eaf8ef;border-color:#c6e9d0}.badge-warning{color:#b66119;background:#fff4e7;border-color:#f5d8b4}.badge-danger{color:#c22f28;background:#fff0ef;border-color:#f4c7c4}.primary-button,.secondary-button{height:42px;border-radius:6px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:650;white-space:nowrap}.primary-button{min-width:140px;color:#fff;background:linear-gradient(100deg,#0758cf,#073fc0);border:1px solid #0b53d1;box-shadow:0 6px 12px #1253c221}.primary-button:hover{background:#064bbd}.primary-button:disabled{color:#e9eef7;background:#7894bc;border-color:#7894bc;cursor:default;box-shadow:none}.secondary-button{color:#374151;background:#fff;border:1px solid #aeb7c2}.secondary-button:hover{color:var(--blue);background:#f7f9fc;border-color:#6687b6}.full-width{width:100%}.text-button{padding:2px 0;display:inline-flex;align-items:center;gap:5px;color:var(--blue);border:0;background:transparent;font-size:13px;font-weight:650}.text-button:hover{color:#0044a8;text-decoration:underline}.icon-button{width:31px;height:31px;margin-left:3px;display:inline-grid;place-items:center;border:1px solid transparent;border-radius:5px;color:#627083;background:transparent}.icon-button:hover{color:var(--blue);background:var(--blue-soft)}.surface-card{background:var(--surface);border:1px solid #dfe4ea;border-radius:8px;box-shadow:0 1px 4px #16223206}.project-view-layout{display:flex;flex-direction:column;gap:18px}.project-card-surface{padding:18px}.project-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:13px}.project-card{min-height:138px;padding:15px 16px 14px;position:relative;display:flex;align-items:stretch;flex-direction:column;gap:11px;overflow:hidden;border:1px solid #dfe5ec;border-radius:9px;color:var(--ink);background:#fff;text-align:left;transition:border-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.project-card:hover,.project-card:focus-visible{border-color:#6f9fe6;background:#fbfdff;box-shadow:0 12px 26px #1f539924;transform:translateY(-2px)}.project-card:focus-visible{outline-color:var(--focus-ring);box-shadow:0 0 0 3px #0757d624,0 12px 26px #1f53991f}.project-card.selected{border-color:#4d87d9;background:#f4f8ff;box-shadow:inset 0 0 0 1px #c7dbfa}.project-card-topline,.project-card-stats{display:flex;align-items:center}.project-card-topline{justify-content:space-between;gap:10px}.project-card-topline .badge{min-height:21px;padding:3px 7px;font-size:10px}.project-card-code{color:#5f6d7e!important;font-size:11px}.project-card-name{overflow:hidden;color:#243144;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.project-card-stats{gap:6px;color:#596779;font-size:12px}.project-card-stats svg{color:#5a84bf}.project-card-stats strong{color:#245ea9;font-size:17px;line-height:1}.project-card-arrow{position:absolute;right:14px;bottom:14px;color:#9ba9b9;transition:color var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.project-card:hover .project-card-arrow,.project-card:focus-visible .project-card-arrow{color:var(--blue);transform:translate(3px)}.project-card.selected .project-card-arrow{color:var(--blue)}.project-detail-panel{min-height:410px;padding:23px 25px 25px}.project-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line-light)}.project-detail-header h2{margin:6px 0 4px;color:#182334;font-size:23px;line-height:1.2}.project-detail-header p{margin:0;color:#8592a2;font-size:12px}.project-detail-tabs{margin:0 -25px;padding:0 25px;display:flex;align-items:stretch;gap:6px;border-bottom:1px solid var(--line-light)}.project-detail-tab{min-height:51px;padding:0 13px;display:inline-flex;align-items:center;gap:7px;position:relative;color:#788697;border:0;background:transparent;font-size:13px;font-weight:650}.project-detail-tab:after{content:"";height:2px;position:absolute;right:11px;bottom:-1px;left:11px;background:transparent}.project-detail-tab:hover,.project-detail-tab.active{color:var(--blue)}.project-detail-tab.active:after{background:var(--blue)}.project-action-panel{padding:24px 2px 0}.project-action-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.project-action-header h3{margin:7px 0 5px;color:#263246;font-size:18px}.project-action-header p{max-width:730px;margin:0;color:#8793a2;font-size:12px;line-height:1.65}.project-action-form{margin-top:26px;padding:18px;display:grid;grid-template-columns:minmax(230px,1fr) 190px auto;align-items:end;gap:14px;border:1px solid #e0e7ef;border-radius:8px;background:#fbfcfe}.project-action-form label{display:flex;flex-direction:column;gap:7px;color:#657284;font-size:12px}.project-action-form input,.project-action-form select{width:100%;height:37px;padding:0 10px;color:#354052;border:1px solid #cdd5df;border-radius:5px;background:#fff;font-size:13px}.project-action-form .primary-button{height:37px;white-space:nowrap}.project-action-hint{margin-top:12px;padding:11px 13px;color:#8b6a2a;border:1px solid #f1d79c;border-radius:6px;background:#fffaf0;font-size:12px;line-height:1.6}.project-members-table-wrap{margin-top:24px;overflow-x:auto;border:1px solid #e1e7ee;border-radius:8px}.project-members-table{min-width:760px}.project-members-table th:nth-child(1){width:28%}.project-members-table th:nth-child(2){width:20%}.project-members-table th:nth-child(3){width:18%}.project-members-table th:nth-child(4){width:34%}.project-member-actions{flex-wrap:wrap;gap:11px}.danger-text-button{color:#ba3a32}.danger-text-button:hover{color:#91251f}.danger-button{color:#fff;background:#bd3c34;border-color:#bd3c34}.danger-button:hover{background:#a92d26;border-color:#a92d26}.project-action-empty{min-height:220px;padding:36px 20px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:9px;color:#8995a4;text-align:center}.project-action-empty svg{color:#9bb9df}.project-action-empty strong{color:#566477;font-size:15px}.project-action-empty span{font-size:12px}.project-action-empty .secondary-button{margin-top:8px}.relation-editor-current{padding:10px 12px;color:#788697;border:1px solid #e2e8f0;border-radius:6px;background:#fafbfd;font-size:12px}.relation-merge-notice{padding:12px 14px;display:flex;align-items:flex-start;gap:10px;color:#8a4b08;border:1px solid #f1cf94;border-radius:7px;background:#fff8e8;font-size:12px;line-height:1.6}.relation-merge-notice>svg{flex:0 0 auto;margin-top:1px;color:#d97706}.relation-merge-notice div{display:flex;flex-direction:column;gap:2px}.relation-merge-notice strong{color:#77400a;font-size:13px}.project-detail-placeholder{min-height:275px;padding:45px 24px 32px;display:flex;align-items:center;flex-direction:column;justify-content:center;color:#7e8b9a;text-align:center}.project-detail-placeholder-icon{width:48px;height:48px;display:grid;place-items:center;color:#4f86cf;background:#edf5ff;border:1px solid #d1e2fa;border-radius:12px}.project-detail-placeholder h3{margin:14px 0 5px;color:#4d5b6d;font-size:16px}.project-detail-placeholder p{max-width:520px;margin:0;color:#929daa;font-size:12px;line-height:1.6}.project-panel-teasers{width:min(690px,100%);margin-top:24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #e2e8f1;border-radius:8px;background:#fbfcfe;text-align:left}.project-panel-teasers div{min-height:67px;padding:13px 17px;border-left:1px solid #e7edf4}.project-panel-teasers div:first-child{border-left:0}.project-panel-teasers span,.project-panel-teasers strong{display:block}.project-panel-teasers span{color:#8b97a6;font-size:11px}.project-panel-teasers strong{margin-top:7px;color:#657489;font-size:13px;font-weight:650}.project-dashboard{padding-top:22px}.project-dashboard-period{padding:0 2px 15px;display:flex;align-items:center;justify-content:space-between;gap:18px}.project-dashboard-period>div{display:flex;align-items:baseline;gap:10px}.project-dashboard-period span{color:#77869a;font-size:12px}.project-dashboard-period strong{color:#26354a;font-size:15px}.project-dashboard-data-badge{padding:5px 9px;color:#28734f!important;border:1px solid #bfe3cf;border-radius:999px;background:#f1fbf5;font-size:11px!important;font-weight:650}.project-dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.project-dashboard-kpi{min-height:127px;padding:15px 14px 13px;display:grid;grid-template-columns:28px 1fr;align-content:start;align-items:center;gap:2px 8px;border:1px solid #e0e6ed;border-top:3px solid #759bd4;border-radius:8px;background:#fff}.project-dashboard-kpi-icon{width:27px;height:27px;display:grid;place-items:center;grid-row:span 2;color:#3169bb;border-radius:7px;background:#edf4ff}.project-dashboard-kpi>span:not(.project-dashboard-kpi-icon){color:#7e8b9d;font-size:11px}.project-dashboard-kpi>strong{margin-top:9px;grid-column:1 / -1;color:#21314a;font-size:clamp(21px,2.1vw,29px);line-height:1}.project-dashboard-kpi>small{margin-top:7px;grid-column:1 / -1;color:#8b97a6;font-size:10px}.project-dashboard-kpi.green{border-top-color:#43a16f}.project-dashboard-kpi.green .project-dashboard-kpi-icon{color:#2e8558;background:#edf9f2}.project-dashboard-kpi.orange{border-top-color:#e3a033}.project-dashboard-kpi.orange .project-dashboard-kpi-icon{color:#b87512;background:#fff7e8}.project-dashboard-kpi.red{border-top-color:#d46664}.project-dashboard-kpi.red .project-dashboard-kpi-icon{color:#b94947;background:#fff1f1}.project-dashboard-kpi.purple{border-top-color:#8a79ce}.project-dashboard-kpi.purple .project-dashboard-kpi-icon{color:#6d5db2;background:#f4f1ff}.project-dashboard-kpi.neutral{border-top-color:#9aa7b6}.project-dashboard-kpi.neutral .project-dashboard-kpi-icon{color:#6d7a8b;background:#f3f5f7}.project-dashboard-grid{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-dashboard-module{min-width:0;padding:17px;overflow:hidden;border:1px solid #e0e6ed;border-radius:8px;background:#fff}.project-dashboard-module.wide{grid-column:1 / -1}.project-dashboard-module-header{min-height:46px;margin-bottom:13px;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.project-dashboard-module-header h3{margin:0 0 4px;color:#29374b;font-size:16px}.project-dashboard-module-header p{margin:0;color:#8b97a5;font-size:12px;line-height:1.5}.g2-chart{width:100%;height:var(--g2-chart-height);min-height:var(--g2-chart-height);position:relative;overflow:hidden}.g2-chart-canvas,.g2-chart-canvas>:not(.g2-tooltip){width:100%;height:100%}.g2-chart .g2-tooltip{width:max-content;height:auto;max-width:min(280px,calc(100% - 16px))}.g2-chart:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:5px}.g2-chart canvas,.g2-chart svg{display:block}.g2-chart-loading,.g2-chart-error{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.g2-chart-loading{background:linear-gradient(100deg,#f7f9fcb3 20%,#ebf1f8e0,#f7f9fcb3 56%);background-size:220% 100%;animation:g2-chart-loading 1.1s ease-in-out infinite}.g2-chart-error{color:#a85b52;background:#fff7f5;font-size:11px}.project-g2-ranking{margin-top:0}@keyframes g2-chart-loading{to{background-position-x:-120%}}@media(prefers-reduced-motion:reduce){.g2-chart-loading{animation:none}}.project-chart-shell{width:100%;overflow:hidden}.project-trend-extrema{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px;margin-bottom:-22px;position:relative;z-index:1;pointer-events:none}.project-trend-extrema span{padding:3px 7px;border-radius:999px;font-size:9px;font-weight:700}.project-trend-extrema .maximum{color:#245fad;background:#edf4ff}.project-trend-extrema .minimum{color:#9a5d18;background:#fff5e8}.project-line-chart,.project-pareto-chart{width:100%;height:auto;display:block;overflow:visible}.project-chart-gridline{stroke:#e8edf3;stroke-width:1}.project-chart-axis-label{fill:#8d99a8;font-size:10px}.project-chart-axis-label.green{fill:#4d9270}.project-chart-axis-label.name{fill:#647287;font-weight:650}.project-chart-line{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.project-chart-line.blue{stroke:#2f6fda}.project-chart-line.green{stroke:#3b9b70}.project-chart-line.dashed{stroke-dasharray:6 5}.project-chart-marker{stroke:#fff;stroke-width:2}.project-chart-marker.max{fill:#2f6fda}.project-chart-marker.min{fill:#dc8c37}.project-chart-marker.pareto{fill:#3b9b70}.project-chart-marker-label{font-size:10px;font-weight:700}.project-chart-marker-label.max{fill:#2f6fda}.project-chart-marker-label.min{fill:#b66e21}.project-calendar-weekdays,.project-coverage-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.project-calendar-weekdays{margin-bottom:5px;color:#98a4b2;font-size:9px;text-align:center}.project-coverage-day{min-height:58px;padding:6px;display:flex;align-items:flex-start;flex-direction:column;border:1px solid transparent;border-radius:6px}.project-coverage-day.blank{visibility:hidden}.project-coverage-day.empty{color:#7e8b9d;border-color:#dfe5ec;background:#f7f9fb}.project-coverage-day strong{color:#41516a;font-size:11px}.project-coverage-day span{margin-top:4px;font-size:10px;font-weight:700}.project-coverage-day small{margin-top:2px;color:#728096;font-size:8px}.project-coverage-day.completion-zero{color:#687b94;border-color:#d8e1eb;background:#f1f5f9}.project-coverage-day.completion-low{color:#315f98;border-color:#cedcf0;background:#edf4fc}.project-coverage-day.completion-medium{color:#1d538f;border-color:#a9c7ed;background:#dceafb}.project-coverage-day.completion-high{color:#fff;border-color:#3c78c7;background:#3977c6}.project-coverage-day.completion-high strong,.project-coverage-day.completion-high small{color:#fff}.project-chart-legend{margin-top:12px;display:flex;align-items:center;flex-wrap:wrap;gap:10px 17px;color:#778497;font-size:11px}.project-chart-legend.top{margin:0 0 5px;justify-content:flex-end}.project-chart-legend.compact{gap:7px 10px}.project-chart-legend span{display:inline-flex;align-items:center;gap:4px}.project-chart-legend i{width:11px;height:11px;display:inline-block;border-radius:2px}.project-chart-legend .completion-empty{border:1px solid #dfe5ec;background:#f7f9fb}.project-chart-legend .completion-zero{background:#d8e1eb}.project-chart-legend .completion-low{background:#cbdcf1}.project-chart-legend .completion-medium{background:#8fb7e6}.project-chart-legend .completion-high{background:#3977c6}.project-dashboard-segmented{width:fit-content;margin:-4px 0 12px auto;padding:2px;display:flex;border:1px solid #dfe5ec;border-radius:6px;background:#f5f7fa}.project-dashboard-segmented button{min-height:26px;padding:0 10px;color:#788599;border:0;border-radius:4px;background:transparent;font-size:10px;font-weight:650}.project-dashboard-segmented button.active{color:#245fad;background:#fff;box-shadow:0 1px 4px #24436c1f}.project-horizontal-bars{display:flex;flex-direction:column;gap:9px}.project-horizontal-bar-row{display:grid;grid-template-columns:22px minmax(58px,82px) minmax(80px,1fr) 62px;align-items:center;gap:7px}.project-horizontal-bar-rank{color:#9aa5b3;font-size:9px;text-align:center}.project-horizontal-bar-name{overflow:hidden;color:#4a586d;font-size:10px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.project-horizontal-bar-track{height:8px;overflow:hidden;border-radius:999px;background:#eef2f6}.project-horizontal-bar-track i{height:100%;display:block;border-radius:inherit}.project-horizontal-bar-track i.blue{background:linear-gradient(90deg,#80a9e4,#2f6fda)}.project-horizontal-bar-track i.green{background:linear-gradient(90deg,#8bc9ab,#38986c)}.project-horizontal-bar-row strong{color:#41516a;font-size:10px;text-align:right}.project-employee-heatmap-wrap{padding-bottom:4px;overflow-x:auto;scrollbar-color:#c7d2df transparent}.project-employee-heatmap{width:max-content;min-width:100%;border-top:1px solid #e5eaf0;border-left:1px solid #e5eaf0}.project-employee-heatmap-row{display:grid;grid-template-columns:126px repeat(var(--project-days),42px)}.project-employee-heatmap-name,.project-employee-heatmap-day,.project-employee-heatmap-cell{min-height:32px;display:flex;align-items:center;justify-content:center;border-right:1px solid #e5eaf0;border-bottom:1px solid #e5eaf0}.project-employee-heatmap-name{padding:4px 8px;position:sticky;left:0;z-index:2;align-items:flex-start;flex-direction:column;background:#fff}.project-employee-heatmap-name strong{color:#445268;font-size:10px}.project-employee-heatmap-name small{color:#9aa5b3;font-size:8px}.project-employee-heatmap-name.header,.project-employee-heatmap-day.header{min-height:29px;color:#7c899a;background:#f7f9fb;font-size:9px;font-weight:700}.project-employee-heatmap-name.header{z-index:3;justify-content:center}.project-employee-heatmap-cell{color:#40536b;font-size:8px;font-variant-numeric:tabular-nums}.project-employee-heatmap-cell.output-0{background:#f5f8fb}.project-employee-heatmap-cell.output-1{background:#dfeafb}.project-employee-heatmap-cell.output-2{background:#b9d1f4}.project-employee-heatmap-cell.output-3{color:#174b91;background:#83ade8}.project-employee-heatmap-cell.output-4{color:#fff;background:#346fbe}.project-employee-heatmap-cell.rest{color:#8c5e17;background:#fff0cf}.project-employee-heatmap-cell.leave{color:#a44750;background:#ffe2e5}.project-employee-heatmap-cell.missing{color:#a85b52;background:repeating-linear-gradient(135deg,#fff4f1 0,#fff4f1 4px,#f8ddd8 4px,#f8ddd8 7px)}.project-employee-heatmap-cell.inactive{color:#aeb7c1;background:#f0f2f4}.project-chart-legend .heat-output{background:#83ade8}.project-chart-legend .heat-rest{background:#f6cf7d}.project-chart-legend .heat-leave{background:#ed9ea7}.project-chart-legend .heat-missing{background:#e5b0a9}.project-chart-legend .heat-inactive{background:#d7dce2}.project-status-chart{height:166px;padding-top:7px;display:grid;grid-template-columns:repeat(31,minmax(5px,1fr));align-items:end;gap:3px;border-bottom:1px solid #e4eaf0}.project-status-column{min-width:0;display:flex;align-items:center;flex-direction:column;justify-content:flex-end;gap:5px}.project-status-stack{width:100%;max-width:13px;height:128px;display:flex;overflow:hidden;flex-direction:column-reverse;border-radius:3px 3px 0 0;background:#f2f4f7}.project-status-stack i{width:100%;display:block}.project-status-stack .normal,.project-chart-legend .status-normal{background:#59ab7f}.project-status-stack .rest,.project-chart-legend .status-rest{background:#edb750}.project-status-stack .leave,.project-chart-legend .status-leave{background:#df7379}.project-status-stack .missing,.project-chart-legend .status-missing{background:#cbd3dd}.project-status-column>span{color:#909baa;font-size:7px}.project-chart-legend .line-blue,.project-chart-legend .line-green{width:18px;height:2px;border-radius:0}.project-chart-legend .line-blue{background:#2f6fda}.project-chart-legend .line-green{background:#3b9b70}.project-pareto-summary{margin-bottom:6px;display:flex;justify-content:flex-end;gap:10px}.project-pareto-summary span{padding:7px 10px;display:inline-flex;align-items:baseline;gap:7px;color:#7f8b9b;border:1px solid #e2e7ed;border-radius:6px;background:#fafbfd;font-size:9px}.project-pareto-summary strong{color:#2f6fda;font-size:13px}.project-pareto-bar{fill:#76a4df}.project-dashboard-loading,.project-dashboard-error{min-height:310px;padding:40px 20px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:8px;color:#8490a0;text-align:center}.project-dashboard-loading strong,.project-dashboard-error strong{color:#536176;font-size:14px}.project-dashboard-loading small,.project-dashboard-error span{font-size:11px}.project-dashboard-spinner{width:30px;height:30px;margin-bottom:7px;border:3px solid #dbe6f4;border-top-color:#3974c8;border-radius:50%;animation:project-dashboard-spin .8s linear infinite}.project-dashboard-error{min-height:250px}.project-dashboard-error>div{display:flex;flex-direction:column;gap:4px}.project-dashboard-error svg{color:#d08338}.project-dashboard-error .secondary-button{margin-top:8px}.project-dashboard-error.empty svg{color:#7198cb}@keyframes project-dashboard-spin{to{transform:rotate(360deg)}}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.section-heading h2{margin:0 0 4px;color:#1b2432;font-size:17px}.section-heading p{margin:0;color:#8a95a3;font-size:12px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card{min-height:124px;padding:18px 20px 16px;background:var(--surface);border:1px solid #dfe4ea;border-radius:8px}.metric-card-top{display:flex;align-items:center;justify-content:space-between;color:#687486;font-size:13px}.metric-card-top svg{color:#a1acb9}.metric-card strong{display:block;margin:13px 0 5px;color:#1b2430;font-size:27px;letter-spacing:-.03em}.metric-card small{color:#8b95a3;font-size:11px}.metric-card.blue{border-top:3px solid #4386e8}.metric-card.blue .metric-card-top svg{color:#4386e8}.metric-card.green{border-top:3px solid #35a860}.metric-card.green strong{color:#1a943d}.metric-card.green .metric-card-top svg{color:#35a860}.metric-card.orange{border-top:3px solid #ec8c42}.metric-card.orange .metric-card-top svg{color:#ec8c42}.metric-card.red{border-top:3px solid #df5950}.metric-card.red .metric-card-top svg{color:#df5950}.dashboard-metrics{margin-top:-2px}.compact-metrics .metric-card{min-height:111px}.compact-metrics .metric-card strong{font-size:24px}.toolbar{min-height:65px;padding:13px 17px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line-light)}.toolbar select,.toolbar input[type=date],.parameter-grid input,.modal-form input,.modal-form select,.modal-form textarea,.modal-form-label input,.modal-form-label textarea{height:37px;padding:0 10px;color:#354052;border:1px solid #cdd5df;border-radius:5px;background:#fff;font-size:13px}.toolbar select{min-width:128px}.toolbar-field{display:flex;align-items:center;gap:8px;color:#778290;font-size:12px;white-space:nowrap}.toolbar-field select,.toolbar-field input{min-width:142px}.search-box{height:38px;min-width:300px;padding:0 11px;display:flex;align-items:center;gap:8px;border:1px solid #cdd5df;border-radius:5px;background:#fff}.search-box.compact{min-width:220px}.search-box svg{flex:0 0 auto;color:#8c97a5}.search-box input{width:100%;height:32px;padding:0;border:0;outline:0;color:#344052;background:transparent;font-size:13px}.filter-button{height:37px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;color:#526071;border:1px solid #cdd5df;border-radius:5px;background:#fff;font-size:13px}.filter-button:hover{border-color:#87a1c5;color:var(--blue)}.filter-button .badge{min-width:24px;padding:3px 6px}.toolbar-spacer{flex:1}.table-wrap{overflow-x:auto}.data-table{width:100%;min-width:900px;border-collapse:collapse;table-layout:auto;font-size:13px}.data-table th,.data-table td{padding:14px 13px;text-align:left;border-bottom:1px solid var(--line-light);vertical-align:middle}.data-table th{color:#718092;background:#fbfcfd;font-size:12px;font-weight:650;white-space:nowrap}.data-table tbody tr:hover{background:#fbfdff}.data-table tbody tr:last-child td{border-bottom:0}.data-table td{color:#3a4554}.data-table td strong{color:#263243;font-weight:650}.data-table td small,.cell-subtext{display:block;margin-top:4px;color:#8993a0;font-size:11px}.mono{color:#526275!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.muted-cell{color:#a0a8b2!important}.employee-profiles-page{position:relative;isolation:isolate}.employee-profiles-page:before{content:"";position:absolute;z-index:-1;inset:-28px -32px auto;height:360px;pointer-events:none;background:radial-gradient(circle at 84% 0%,rgba(139,92,246,.1),transparent 42%),radial-gradient(circle at 46% 0%,rgba(59,130,246,.13),transparent 48%)}.employee-directory-panel{min-width:0}.employee-directory-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:18px}.employee-directory-toolbar .search-box{width:min(100%,320px);flex:0 0 320px;border-color:#e1e7f0;border-radius:9px;background:#ffffffeb;box-shadow:0 5px 16px #2b41680d}.employee-search-clear{width:24px;height:24px;padding:0;display:inline-grid;flex:0 0 24px;place-items:center;color:#8a96a8;border:0;border-radius:50%;background:#f2f5f9;cursor:pointer}.employee-search-clear:hover{color:#334155;background:#e9eef5}.employee-project-filters{min-width:0;display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none}.employee-project-filters::-webkit-scrollbar{display:none}.employee-project-filters button{--project-accent: #64748b;--project-soft: #f1f5f9;min-height:38px;padding:7px 11px;display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;color:var(--project-accent);border:1px solid color-mix(in srgb,var(--project-accent) 18%,#e2e8f0);border-radius:9px;background:color-mix(in srgb,var(--project-soft) 74%,white);font-size:12px;font-weight:650;cursor:pointer;transition:transform .18s ease,color .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.employee-project-filters button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--project-accent) 38%,#dbe3ed)}.employee-project-filters button.active{color:#fff;border-color:#334155;background:#334155;box-shadow:0 7px 16px #1e293b2e}.employee-project-filters button span{min-width:22px;height:20px;padding:0 6px;display:inline-grid;place-items:center;color:inherit;border-radius:999px;background:#64748b1f;font-size:10px}.employee-project-filters button.active span{background:#ffffff29}.project-tone-0{--project-accent: #3675d3;--project-soft: #eef5ff}.project-tone-1{--project-accent: #c47726;--project-soft: #fff6e9}.project-tone-2{--project-accent: #c84b67;--project-soft: #fff0f3}.project-tone-3{--project-accent: #168a83;--project-soft: #edfafa}.project-tone-4{--project-accent: #7656c7;--project-soft: #f4f0ff}.project-tone-5{--project-accent: #4f7b38;--project-soft: #f1f8ed}.employee-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.employee-card-layout{min-width:0;height:152px;position:relative;outline:0;cursor:pointer;will-change:transform}.employee-card-layout:focus-visible .employee-card{border-color:#7aabe9;box-shadow:0 0 0 3px #3b82f629,0 15px 28px #2d497721;transform:translateY(-4px)}.employee-card{height:100%;min-width:0;padding:16px 15px 14px;position:relative;overflow:hidden;border:1px solid #e2e7ef;border-radius:10px;background:linear-gradient(145deg,#fff,#fff 38%,#f6f8fc);box-shadow:0 6px 16px #233a5d0e;transition:transform .34s cubic-bezier(.34,1.56,.64,1),border-color .22s ease,box-shadow .22s ease,background .22s ease;will-change:transform,opacity}.employee-card.is-entering{animation:employee-card-enter .45s cubic-bezier(.34,1.56,.64,1) var(--employee-card-delay) backwards}.employee-card.is-exiting{pointer-events:none;animation:employee-card-exit .15s ease-in forwards}.employee-card-layout:hover .employee-card{border-color:#9dc0eb;background:#fff;box-shadow:0 0 0 2px #3b82f60f,0 16px 30px #28497a24;transform:translateY(-5px)}.employee-card-person{min-width:0;position:relative;z-index:2;display:flex;align-items:center;gap:10px}.employee-card-avatar{width:42px;height:42px;display:grid;flex:0 0 42px;place-items:center;color:var(--employee-accent);border:1px solid color-mix(in srgb,var(--employee-accent) 16%,transparent);border-radius:10px;background:var(--employee-soft);font-size:16px;font-weight:750;box-shadow:inset 0 0 0 1px #ffffff94;transition:transform .42s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease}.employee-card-layout:hover .employee-card-avatar,.employee-card-layout:focus-visible .employee-card-avatar{transform:scale(1.1) rotate(-2deg);box-shadow:0 7px 15px color-mix(in srgb,var(--employee-accent) 18%,transparent)}.employee-card-identity{min-width:0}.employee-card-identity h2{margin:0 0 5px;overflow:hidden;color:#1e293b;font-size:15px;font-weight:700;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.employee-card-identity .mono{color:#94a0b0!important;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.employee-card-divider{height:1px;position:relative;z-index:2;margin:13px 0 12px;background:linear-gradient(90deg,#e5eaf1,#e5eaf133)}.employee-card-projects{min-width:0;position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,max-content));align-items:center;gap:6px}.employee-project-tag{--project-accent: #3675d3;--project-soft: #eef5ff;min-width:0;height:22px;padding:0 7px 0 6px;display:inline-flex;align-items:center;gap:4px;overflow:hidden;color:var(--project-accent);border:1px solid color-mix(in srgb,var(--project-accent) 15%,transparent);border-radius:5px;background:color-mix(in srgb,var(--project-soft) 82%,white);font-size:10px;font-weight:650;line-height:1;text-overflow:ellipsis;white-space:nowrap;animation:employee-project-tag-enter .36s cubic-bezier(.34,1.56,.64,1) calc(var(--employee-card-delay) + var(--project-tag-delay)) backwards}.employee-project-tag i{width:4px;height:4px;flex:0 0 4px;border-radius:50%;background:currentColor}.employee-project-empty{grid-column:1 / -1;color:#a1acba;font-size:10px}.employee-card-orbit{width:96px;height:96px;position:absolute;top:-31px;right:-27px;border:1px solid var(--employee-accent);border-radius:50%;opacity:.09;transition:opacity .24s ease,transform .34s ease}.employee-card-orbit:before,.employee-card-orbit:after{content:"";position:absolute;border:1px solid var(--employee-accent);border-radius:50%}.employee-card-orbit:before{top:13px;right:13px;bottom:13px;left:13px}.employee-card-orbit:after{top:28px;right:28px;bottom:28px;left:28px}.employee-card-dash{width:135px;position:absolute;left:-35px;bottom:18px;border-top:1px dashed var(--employee-accent);opacity:.08;transform:rotate(-20deg);transform-origin:center;transition:opacity .24s ease,transform .34s ease}.employee-card-dash:after{content:"";width:16px;height:16px;position:absolute;left:20px;top:-28px;border:1px solid var(--employee-accent);border-radius:50%}.employee-card-layout:hover .employee-card-orbit,.employee-card-layout:hover .employee-card-dash{opacity:.18}.employee-card-layout:hover .employee-card-orbit{transform:scale(1.05)}.employee-card-layout:hover .employee-card-dash{transform:rotate(-20deg) translate(4px)}.employee-tone-0{--employee-accent: #4f7fd8;--employee-soft: #eef4ff}.employee-tone-1{--employee-accent: #805fc8;--employee-soft: #f3efff}.employee-tone-2{--employee-accent: #2f8f8b;--employee-soft: #edf9f8}.employee-tone-3{--employee-accent: #4e9466;--employee-soft: #eff8f1}.employee-tone-4{--employee-accent: #c98239;--employee-soft: #fff6ea}.employee-tone-5{--employee-accent: #c65b5b;--employee-soft: #fff0f0}.employee-tone-6{--employee-accent: #bd5e8f;--employee-soft: #fff0f7}.employee-tone-7{--employee-accent: #586ac4;--employee-soft: #eff1ff}@keyframes employee-card-enter{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes employee-card-exit{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-10px) scale(.985)}}@keyframes employee-project-tag-enter{0%{opacity:0;transform:translateY(5px) scale(.82)}to{opacity:1;transform:translateY(0) scale(1)}}.employee-detail{display:flex;flex-direction:column;gap:18px}.employee-detail-hero{padding:14px 15px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #dfe8f4;border-radius:8px;background:#f7faff}.employee-detail-hero h3{margin:0 0 5px;color:#202b3a;font-size:19px}.employee-detail-section{display:flex;flex-direction:column;gap:12px}.employee-detail-grid,.employee-detail-contract{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.employee-detail-contract{padding:13px 14px;border:1px solid #e0e8f2;border-radius:7px;background:#f8fbff}.employee-detail-field{min-width:0}.employee-detail-field span,.employee-detail-field strong{display:block}.employee-detail-field span{color:#8995a4;font-size:11px}.employee-detail-field strong{margin-top:5px;overflow:hidden;color:#344154;font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.employee-detail-field strong.mono{font-size:12px}.employee-detail-notes{min-height:44px;margin:0;padding:11px 12px;color:#566476;border:1px solid #e1e7ee;border-radius:7px;background:#fbfcfe;font-size:11px;line-height:1.6}.form-section-heading{padding-top:2px;display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line-light)}.form-section-heading strong{padding-bottom:8px;color:#29374a;font-size:13px}.form-section-heading span{color:#9aa4b1;font-size:11px}.project-employees-panel{display:flex;flex-direction:column;gap:18px}.project-employee-form{gap:13px}.compact-section-heading{align-items:center}.compact-section-heading h2{margin-bottom:3px;font-size:15px}.project-employee-options{max-height:220px;padding:6px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;border:1px solid #dfe6ee;border-radius:7px;background:#fbfdff}.project-employee-option{min-width:0;padding:9px 10px;display:flex;align-items:center;gap:8px;color:#354256;border:1px solid transparent;border-radius:6px;background:transparent;text-align:left}.project-employee-option:hover,.project-employee-option.selected{color:#1d5fb5;border-color:#bfd6f3;background:#eef6ff}.project-employee-option>span:nth-child(2){min-width:0;flex:1}.project-employee-option strong,.project-employee-option small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-employee-option strong{font-size:12px}.project-employee-option small{margin-top:3px;color:#8b97a6;font-size:10px}.project-employee-option>svg{flex:0 0 auto;color:var(--blue)}.project-employee-empty{grid-column:1 / -1;padding:24px 12px;color:#929daa;font-size:12px;text-align:center}.project-assignment-history{padding-top:17px;border-top:1px solid var(--line)}.assignment-list{margin-top:12px;border:1px solid #e1e7ee;border-radius:7px;overflow:hidden}.assignment-row{min-height:55px;padding:8px 11px;display:flex;align-items:center;gap:9px;border-top:1px solid var(--line-light)}.assignment-row:first-child{border-top:0}.assignment-row>div{min-width:0}.assignment-row strong,.assignment-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-row strong{color:#354154;font-size:12px}.assignment-row small{margin-top:3px;color:#929daa;font-size:10px}.person-cell{display:flex;align-items:center;gap:9px}.avatar{width:32px;height:32px;display:inline-grid;flex:0 0 auto;place-items:center;color:#2767b9;background:#eaf2ff;border:1px solid #d0e1fd;border-radius:50%;font-weight:750}.avatar.small{width:27px;height:27px;font-size:12px}.avatar.large{width:38px;height:38px}.avatar.blue{color:#fff;background:#1768db;border-color:#1768db}.account-chip{display:inline-flex;align-items:center;gap:7px;color:#4d5968;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.project-tag{padding:4px 8px;color:#2865b9;background:#eef5ff;border-radius:4px;font-size:12px;font-weight:650}.success-text{color:var(--green)!important}.warning-text{color:var(--orange)!important}.danger-text,.deduction{color:var(--red)!important}.empty-state{min-height:260px;padding:42px 24px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#667386;text-align:center}.empty-state-illustration{width:152px;height:152px;display:block;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(43,93,160,.08))}.empty-state-icon{width:62px;height:62px;display:grid;place-items:center;color:#5d7ead;border:1px solid #d7e4f5;border-radius:16px;background:#f2f7ff}.empty-state h3{margin:14px 0 7px;color:#344155;font-size:17px}.empty-state p{max-width:520px;margin:0;color:#667386;font-size:13px;line-height:1.7}.empty-state-action{margin-top:18px}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(330px,.8fr);gap:20px}.project-overview,.todo-card,.shortcuts{padding:22px}.project-list{margin-top:17px}.project-row{min-height:76px;padding:13px 0;display:flex;align-items:center;gap:13px;border-top:1px solid var(--line-light)}.project-row:first-child{border-top:0}.project-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:9px}.project-icon.blue{color:#2869c5;background:#ebf3ff}.project-icon.green{color:#27874a;background:#eaf8ef}.project-main{min-width:155px;flex:1}.project-main strong,.project-main span{display:block}.project-main strong{color:#273243;font-size:14px}.project-main span{margin-top:5px;color:#8793a2;font-size:12px}.project-stat{min-width:83px}.project-stat small,.project-stat strong{display:block}.project-stat small{color:#8a96a4;font-size:11px}.project-stat strong{margin-top:4px;font-size:14px}.todo-list{margin-top:12px}.todo-item{width:100%;padding:12px 0;display:flex;align-items:center;gap:10px;border:0;border-top:1px solid var(--line-light);background:transparent;color:#4e5a6b;text-align:left}.todo-item:first-child{border-top:0}.todo-item>span:nth-child(2){flex:1}.todo-item strong,.todo-item small{display:block}.todo-item strong{color:#344052;font-size:12px;font-weight:650}.todo-item small{margin-top:4px;color:#929cab;font-size:11px}.todo-item>svg{color:#a5afbb}.todo-item:hover strong{color:var(--blue)}.todo-dot{width:28px;height:28px;display:grid;place-items:center;border-radius:50%}.todo-dot.orange{color:#c66a22;background:#fff0df}.todo-dot.red{color:#c73830;background:#ffebea}.todo-dot.blue{color:#2b70ca;background:#eaf2ff}.shortcuts .shortcut-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-top:16px}.shortcut-grid button{min-height:105px;padding:17px 15px;display:flex;align-items:flex-start;flex-direction:column;gap:7px;border:1px solid var(--line);border-radius:7px;color:#2f6fc8;background:#fbfdff;text-align:left}.shortcut-grid button:hover{border-color:#8db1e5;background:#f4f8ff}.shortcut-grid span{color:#344052;font-size:13px;font-weight:650}.shortcut-grid small{color:#929cab;font-size:11px}.notice-strip{min-height:50px;padding:0 15px;display:flex;align-items:center;gap:9px;color:#526274;background:#f3f8ff;border:1px solid #d5e5fb;border-radius:7px;font-size:13px}.notice-strip>svg{color:#2872cf}.notice-strip.green{color:#466c54;background:#f1fbf4;border-color:#d0edd7}.notice-strip.green>svg{color:var(--green)}.cell-input{width:84px;height:32px;padding:0 7px;color:#273546;border:1px solid #cbd4df;border-radius:4px;background:#fff;text-align:right;font-size:13px}.cell-input:focus{border-color:#5f93d7}.cell-input.error{color:var(--red)}.cell-input.exception{width:108px;text-align:left}.input-table th,.input-table td{white-space:nowrap}.input-footnotes{display:flex;gap:20px;color:#8995a3;font-size:11px}.input-footnotes span{display:inline-flex;align-items:center;gap:5px}.input-footnotes svg:first-child{color:var(--green)}.input-footnotes span:nth-child(2) svg{color:var(--orange)}.input-footnotes span:nth-child(3) svg{color:#4782d3}.upload-dropzone{min-height:196px;padding:28px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:9px;color:#8e99a7;border:1px dashed #b8c6d8;border-radius:8px;background:#f8fbff;text-align:center}.upload-dropzone svg{color:#4e8bd7}.upload-dropzone strong{color:#36455a;font-size:14px}.upload-dropzone span{font-size:12px}.upload-dropzone .secondary-button{height:35px;margin-top:8px;font-size:12px}.import-preview{padding:15px 0;display:flex;align-items:center;gap:10px;color:#8894a1;font-size:12px}.config-card{padding:21px 24px;display:flex;align-items:center;justify-content:space-between}.config-card h2{margin:7px 0 4px;font-size:17px}.config-card p{margin:0;color:#8793a0;font-size:12px}.switch-label{display:flex;align-items:center;gap:12px;color:#6d7886;font-size:13px}.switch{width:47px;height:26px;padding:3px;border:0;border-radius:99px;background:#c7d0dc}.switch i{width:20px;height:20px;display:block;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000002e;transition:.18s ease}.switch.on{background:#2fa45a}.switch.on i{transform:translate(21px)}.attendance-table .cell-input{width:70px}.attendance-table th,.attendance-table td{text-align:center}.attendance-table th:first-child,.attendance-table td:first-child{text-align:left}.project-admin-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px}.project-directory{padding:20px 13px}.project-select{width:100%;min-height:69px;padding:11px 9px;display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:7px;background:transparent;text-align:left}.project-select:hover{background:#f6f9fc}.project-select.selected{border-color:#cddff9;background:#f1f7ff}.project-select>div:nth-child(2){flex:1}.project-select strong,.project-select small{display:block}.project-select strong{color:#2b3749;font-size:13px}.project-select small{margin-top:5px;color:#8a96a4;font-size:11px}.parameter-panel{padding:22px 24px}.parameter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:23px}.parameter-grid label,.modal-form label,.modal-form-label{display:flex;flex-direction:column;gap:7px;color:#657284;font-size:12px}.parameter-grid input{width:100%}.parameter-section{margin-top:21px;padding:16px 0;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}.parameter-section strong,.parameter-section span{display:block}.parameter-section strong{color:#364154;font-size:13px}.parameter-section span{margin-top:4px;color:#909aa7;font-size:11px}.panel-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.settlement-page{display:flex;flex-direction:column;gap:19px}.settlement-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.settlement-title-row .badge{margin-top:14px}.settlement-metrics .metric-card{min-height:116px}.warning-banner{min-height:49px;padding:0 14px;display:flex;align-items:center;gap:10px;color:#a95518;background:#fff8ef;border:1px solid #f4d8b4;border-radius:6px;font-size:13px}.warning-banner svg{flex:0 0 auto;color:#fa5b16}.table-card{overflow:hidden;background:#fff;border:1px solid #d9dee5;border-radius:7px;box-shadow:0 1px 4px #1622320a}.table-scroll{overflow-x:auto}.settlement-table{width:100%;min-width:1125px;border-collapse:collapse;table-layout:fixed;font-size:13px}.settlement-table th,.settlement-table td{border-bottom:1px solid #e1e4e8;text-align:center}.settlement-table thead th{height:70px;padding:0 7px;color:#272b32;font-weight:500;background:linear-gradient(#fdfdfd,#f8f9fa);line-height:1.45}.settlement-table thead th span{color:#505662}.settlement-table tbody td{height:62px;padding:6px 7px;color:#303640}.settlement-table tbody tr:hover:not(.audit-row){background:#fafcff}.settlement-table .toggle-cell{width:36px;padding:0!important}.settlement-table th:nth-child(2){width:72px}.settlement-table th:nth-child(3){width:128px}.settlement-table th:nth-child(4){width:126px}.settlement-table th:nth-child(5){width:104px}.settlement-table th:nth-child(6){width:118px}.settlement-table th:nth-child(7){width:91px}.settlement-table th:nth-child(8){width:112px}.settlement-table th:nth-child(9){width:94px}.settlement-table th:nth-child(10){width:101px}.settlement-table th:nth-child(11){width:98px}.row-toggle{width:100%;height:100%;padding:0;display:grid;place-items:center;border:0;background:transparent;color:#394350}.employee-name{color:#222933!important;font-weight:650}.period{color:#454c57;line-height:1.55}.period span{display:block}.details-button{padding:8px 3px;display:inline-flex;align-items:center;gap:3px;border:0;background:transparent;color:var(--blue);font-weight:650;white-space:nowrap}.details-button:hover{color:#0044a8;text-decoration:underline}.audit-row td{padding:0 8px 7px;background:#fbfdff}.audit-trace{min-height:191px;display:grid;grid-template-columns:118px minmax(0,1fr);background:linear-gradient(100deg,#edf5ff,#f8fbff 90%);text-align:left}.audit-title{padding:18px 12px;color:#0962d9;border-right:1px solid #5593e9;font-weight:700}.audit-flow{padding:18px 16px 11px 24px;display:flex;align-items:flex-start;justify-content:space-between}.audit-cluster{min-width:0;display:flex;flex:1;align-items:flex-start}.audit-block{min-width:0;flex:1}.audit-block-title{margin-bottom:15px;color:#303640;font-weight:500;white-space:nowrap}.audit-amount{margin-bottom:9px;color:#202631;font-size:18px}.audit-line{color:#505865;line-height:1.7;white-space:nowrap}.flow-arrow{margin:2px 18px 0 10px;flex:0 0 auto;color:#273140}.settlement-table tfoot td{height:59px;padding:0 7px;background:#fafbfc;font-weight:500;border-bottom:0}.settlement-table tfoot td:first-child{padding-left:16px;text-align:left;font-weight:650}.action-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:2px 7px 0 2px}.settlement-meta{display:flex;align-items:center;gap:21px;color:#8b929c;font-size:12px;white-space:nowrap}.settlement-meta i{height:16px;border-left:1px solid #cbd1d8}.actions{display:flex;gap:12px}.actions .primary-button,.actions .secondary-button{height:46px}.summary-table{min-width:1050px}.summary-table th,.summary-table td{text-align:center}.summary-table th:nth-child(2),.summary-table td:nth-child(2),.summary-table th:nth-child(3),.summary-table td:nth-child(3){text-align:left}.summary-total{color:#1d5db4!important;font-weight:700}.summary-pay-link{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;color:#1d5db4;border:0;border-radius:6px;background:#edf5ff;font-weight:700}.summary-pay-link:hover{background:#deecff}.financial-page,.quality-inspection-page{position:relative;isolation:isolate}.financial-page:before,.quality-inspection-page:before{content:"";position:absolute;z-index:-1;inset:-28px -34px auto;height:310px;pointer-events:none;background:radial-gradient(circle at 86% 0%,rgba(79,131,235,.09),transparent 43%),radial-gradient(circle at 42% 0%,rgba(70,183,151,.07),transparent 48%)}.section-kicker{display:block;margin-bottom:5px;color:#7d8ca0;font-size:9px;font-weight:760;letter-spacing:.13em}.financial-overview .metric-card{min-width:0;border-top-width:1px;border-radius:11px;box-shadow:0 7px 22px #263d600e;animation:financial-card-enter .45s cubic-bezier(.34,1.56,.64,1) both;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.financial-overview .metric-card:nth-child(2){animation-delay:.04s}.financial-overview .metric-card:nth-child(3){animation-delay:.08s}.financial-overview .metric-card:nth-child(4){animation-delay:.12s}.financial-overview .metric-card:hover{border-color:#cad7e8;box-shadow:0 12px 26px #26436d17;transform:translateY(-2px)}.financial-overview .metric-card-top svg{width:34px;height:34px;padding:7px;border-radius:9px;color:#4b73aa;background:#eef4fc}.financial-overview .metric-card.green .metric-card-top svg{color:#25834b;background:#edf8f1}.financial-overview .metric-card.orange .metric-card-top svg{color:#bd6b29;background:#fff4e9}.financial-overview .metric-card.blue .metric-card-top svg{color:#2e6fc8;background:#edf5ff}.financial-overview .metric-card strong{margin-top:11px}.financial-overview .metric-card small{line-height:1.45}.financial-list-card,.quality-workspace-card,.quality-employee-card,.quality-record-card{overflow:hidden;border-radius:11px;box-shadow:0 8px 24px #25395a0b;animation:financial-panel-enter .42s var(--ease-out) both}.financial-list-heading,.quality-inspection-page .surface-card>.section-heading{min-height:78px;padding:17px 18px 15px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid #e8edf3;background:linear-gradient(180deg,#fff,#fbfcfe)}.financial-list-heading h2,.quality-inspection-page .section-heading h2{margin:0 0 4px;color:#1e2d42;font-size:17px}.financial-list-heading p,.quality-inspection-page .section-heading p{margin:0;color:#8290a1;font-size:12px}.financial-list-heading>.badge,.quality-inspection-page .section-heading>.badge{margin-top:5px}.financial-list-toolbar{min-height:64px;padding:12px 16px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #e8edf3;background:#fbfcfe}.financial-search-box{width:min(100%,310px);min-width:270px;border-color:#dfe6ef;border-radius:8px;box-shadow:0 3px 12px #2c426209}.financial-status-filters{min-width:0;display:flex;align-items:center;gap:7px;overflow-x:auto;scrollbar-width:none}.financial-status-filters::-webkit-scrollbar{display:none}.financial-status-filters button{min-height:36px;padding:6px 10px;display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;color:#617084;border:1px solid #dfe6ee;border-radius:8px;background:#fff;font-size:11px;font-weight:650;transition:transform .18s ease,color .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.financial-status-filters button:hover{color:#315d99;border-color:#b7c9e1;transform:translateY(-1px)}.financial-status-filters button.active{color:#fff;border-color:#284f83;background:#315d99;box-shadow:0 6px 14px #244f882e}.financial-status-filters button span{min-width:19px;height:18px;padding:0 5px;display:inline-grid;place-items:center;color:inherit;border-radius:999px;background:#5269881a;font-size:9px}.financial-status-filters button.active span{background:#ffffff2b}.financial-result-count{margin-left:auto;color:#8995a4;font-size:11px;white-space:nowrap}.financial-data-row{animation:financial-row-enter .4s var(--ease-out) both;animation-delay:calc(var(--page-item-index, 0) * 35ms)}.financial-data-row td{transition:background-color .18s ease}.financial-person-cell{min-width:145px;display:flex;align-items:center;gap:10px}.financial-person-cell>svg{flex:0 0 auto;color:#5077aa}.financial-person-cell>span{min-width:0}.financial-person-cell small{margin-top:3px!important}.payroll-summary-table{min-width:980px}.payroll-summary-table th:nth-child(3){min-width:300px}.payroll-project-sources{display:flex;flex-wrap:wrap;gap:6px}.payroll-project-sources>span{min-height:29px;padding:5px 8px;display:inline-flex;align-items:center;gap:7px;color:#526174;border:1px solid #dfe6ee;border-radius:7px;background:#f8fafc;font-size:11px}.payroll-project-sources>span b{color:#287045;font-size:10px}.payroll-project-sources>span.pending{color:#82603d;border-color:#efdec8;background:#fff9f1}.payroll-project-sources>span.pending b{color:#b46b27}.payroll-summary-table .summary-pay-link{min-width:126px;justify-content:space-between;border:1px solid #d4e5fb;transition:transform .18s ease,background .18s ease,border-color .18s ease}.payroll-summary-table .summary-pay-link:hover{border-color:#b8d4f7;transform:translateY(-1px)}.ledger-tracking-table{min-width:960px}.ledger-tracking-table th:nth-child(4){min-width:170px}.ledger-balance-cell{min-width:135px;display:flex;flex-direction:column;gap:7px}.ledger-progress-track,.quality-rate-track{height:5px;overflow:hidden;display:block;border-radius:999px;background:#edf1f5}.ledger-progress-track i,.quality-rate-track i{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#5aa17a,#36a366);transform-origin:left center;animation:financial-progress-grow .8s var(--ease-out) both}.financial-scope-strip{min-height:66px;padding:12px 15px;display:flex;align-items:center;gap:14px;color:#536175;border:1px solid #dce6f1;border-radius:11px;background:linear-gradient(120deg,#f8fbfff5,#f5faf8f5);box-shadow:0 7px 20px #2843680b;animation:financial-panel-enter .4s var(--ease-out) both}.financial-scope-icon{width:39px;height:39px;display:grid;flex:0 0 39px;place-items:center;color:#3269ad;border-radius:10px;background:#e9f2ff}.financial-scope-strip>div:not(.financial-scope-icon):not(.financial-scope-note){min-width:108px;display:flex;flex-direction:column;gap:3px}.financial-scope-strip span{color:#8793a2;font-size:10px}.financial-scope-strip strong{color:#2c3d53;font-size:13px}.financial-scope-strip>i{height:28px;border-left:1px solid #dce4ed}.financial-scope-note{margin-left:auto;color:#718095;font-size:11px;text-align:right}.quality-command-center{display:grid;gap:12px}.quality-overview .metric-card{background:#fffffff0}.quality-workspace-card{border-color:#cdddf0;box-shadow:0 10px 28px #23539213}.quality-workspace-card>.section-heading{border-top:3px solid #4d83c9}.quality-workspace-card .table-wrap{background:#fff}.quality-workspace-card .action-footer{padding:13px 16px;background:#f8fafc}.quality-entry-table tbody td:nth-child(5),.quality-entry-table tbody td:nth-child(6){color:#315d99;font-weight:680}.quality-employee-table{min-width:820px}.quality-rate-cell{min-width:125px;display:grid;grid-template-columns:auto minmax(46px,1fr);align-items:center;gap:9px}.quality-rate-cell>strong{color:#287045!important;font-size:12px}.quality-rate-cell .badge{margin-left:0;justify-self:start}.quality-record-card{animation-delay:.08s}@keyframes financial-card-enter{0%{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes financial-panel-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes financial-row-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes financial-progress-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media(max-width:1240px){.financial-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.financial-list-toolbar{align-items:flex-start;flex-wrap:wrap}.financial-result-count{align-self:center}.financial-scope-note{max-width:260px}}@media(max-width:920px){.financial-list-toolbar{flex-direction:column}.financial-search-box{width:100%;min-width:0}.financial-result-count{margin-left:0;align-self:auto}.financial-scope-strip{align-items:flex-start;flex-wrap:wrap}.financial-scope-note{width:100%;max-width:none;margin-left:53px;text-align:left}}.monthly-payroll-detail-modal{padding:28px 0 0}.monthly-payroll-detail-modal>h2{padding:0 30px}.monthly-payroll-detail{color:#344052}.monthly-payroll-hero{display:grid;grid-template-columns:1fr 1fr 1.5fr auto;gap:1px;align-items:center;padding:17px 30px;border-top:1px solid #e4eaf1;border-bottom:1px solid #dce5f0;background:#f7faff}.monthly-payroll-hero>div{display:flex;flex-direction:column;gap:5px}.monthly-payroll-hero span{color:#8491a2;font-size:11px}.monthly-payroll-hero strong{color:#26384f;font-size:16px}.monthly-payroll-hero>div:nth-child(3) strong{color:#175ebd;font-size:21px}.monthly-project-list{display:grid;gap:12px;padding:18px 30px 28px;background:#f3f6fa}.monthly-project-detail{overflow:hidden;border:1px solid #dce3ec;border-radius:9px;background:#fff}.monthly-project-detail>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;cursor:pointer;list-style:none}.monthly-project-detail>summary::-webkit-details-marker{display:none}.monthly-project-detail>summary>span:first-child{display:flex;min-width:0;flex-direction:column;gap:4px}.monthly-project-detail>summary strong{color:#23344b;font-size:15px}.monthly-project-detail>summary small{overflow:hidden;color:#8793a2;text-overflow:ellipsis;white-space:nowrap}.monthly-project-pay{display:flex;flex:0 0 auto;align-items:center;gap:10px;color:#175ebd;font-weight:750}.monthly-project-detail[open] .monthly-project-pay svg{transform:rotate(180deg)}.monthly-project-body{border-top:1px solid #e3e9f0}.monthly-payroll-metrics{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid #e6ebf1;background:#fbfcfe}.monthly-payroll-metrics>div{display:flex;flex-direction:column;gap:5px;padding:14px 16px;border-right:1px solid #e6ebf1}.monthly-payroll-metrics span{color:#8792a0;font-size:11px}.monthly-payroll-metrics strong{color:#27394f;font-size:15px}.monthly-payroll-metrics .deduction strong{color:#bd3f3f}.monthly-payroll-metrics .final{border-right:0;background:#eef6ff}.monthly-payroll-metrics .final strong{color:#175ebd;font-size:17px}.monthly-payroll-columns{display:grid;grid-template-columns:.9fr 1.1fr;gap:14px;padding:16px 18px}.monthly-detail-card{padding:16px;border:1px solid #e0e6ee;border-radius:8px;background:#fff}.monthly-detail-card h3,.monthly-daily-section h3{margin:0 0 12px;color:#273950;font-size:14px}.monthly-detail-card dl{margin:0}.monthly-detail-card dl>div,.deduction-movement-list>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px dashed #e2e7ed;font-size:12px}.monthly-detail-card dl>div:first-child{border-top:0}.monthly-detail-card dt{color:#778393}.monthly-detail-card dd{margin:0;color:#293c53;font-weight:650}.deduction-movement-list{margin-top:10px;padding-top:7px;border-top:1px solid #dfe5ec}.deduction-movement-list span{color:#677789}.calculation-basis p{margin:7px 0;color:#5f6f82;font-size:12px;line-height:1.55}.calculation-params{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:13px 0}.calculation-params span{padding:8px;border-radius:6px;color:#788596;background:#f4f7fb;font-size:11px}.calculation-params b{display:block;margin-top:3px;color:#293c53;font-size:12px}.calculation-basis>small{display:block;color:#8b96a4;line-height:1.55}.monthly-daily-section{padding:0 18px 20px}.monthly-section-title{display:flex;align-items:center;justify-content:space-between}.monthly-section-title span{color:#8a96a5;font-size:11px}.monthly-daily-table{min-width:850px}.monthly-daily-table th,.monthly-daily-table td{padding:10px 12px;font-size:12px}.monthly-daily-table tfoot td{color:#273b54;background:#f2f6fb;font-weight:700}.monthly-daily-table .zero-filled-row td{background:#fffaf0}.project-stack span{display:block;margin:2px 0}.project-stack strong,.project-stack small{display:block}.project-stack small{margin-top:3px;color:#8a96a4;font-size:11px}.summary-detail-row td{padding:0!important;background:#f8fbff}.summary-detail{padding:17px 20px 18px 74px;border-top:1px solid #d7e7fb}.summary-detail>strong{display:block;margin-bottom:11px;color:#2c68bd;font-size:12px}.summary-detail>div{display:flex;justify-content:space-between;padding:7px 0;color:#5d6978;border-top:1px dashed #dde7f1;font-size:12px}.summary-detail b{color:#243852}.summary-detail>small{display:flex;align-items:center;gap:5px;margin-top:11px;color:#8b99a8;font-size:11px}.ledger-table{min-width:1040px}.ledger-table th,.ledger-table td{text-align:center}.ledger-table th:nth-child(1),.ledger-table td:nth-child(1),.ledger-table th:nth-child(2),.ledger-table td:nth-child(2),.ledger-table th:nth-child(9),.ledger-table td:nth-child(9){text-align:left}.log-table{min-width:970px}.log-table th,.log-table td{text-align:left}.permission-card{padding:22px}.account-list{margin-top:17px}.account-row{min-height:73px;padding:13px 2px;display:flex;align-items:center;gap:13px;border-top:1px solid var(--line-light)}.account-row:first-child{border-top:0}.account-row.muted{opacity:.66}.account-main{flex:1}.account-main strong,.account-main span{display:block}.account-main strong{color:#273243}.account-main span{margin-top:4px;color:#8a95a3;font-size:11px}.employee-deployment-page{position:relative;isolation:isolate}.employee-deployment-page:before{content:"";position:absolute;z-index:-1;inset:-28px -32px auto;height:390px;pointer-events:none;background:radial-gradient(circle at 86% 0%,rgba(139,92,246,.09),transparent 42%),radial-gradient(circle at 44% 0%,rgba(59,130,246,.12),transparent 48%)}.deployment-readonly-note{min-height:56px;padding:11px 14px;display:flex;align-items:center;gap:11px;color:#607089;border:1px solid rgba(139,165,205,.28);border-radius:10px;background:#f7faffd1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.deployment-readonly-icon{width:30px;height:30px;display:grid;flex:0 0 30px;place-items:center;color:#4f78b7;border-radius:8px;background:#e9f1ff}.deployment-readonly-note div{min-width:0}.deployment-readonly-note strong,.deployment-readonly-note span{display:block}.deployment-readonly-note strong{margin-bottom:3px;color:#334155;font-size:12px}.deployment-readonly-note div>span{font-size:11px;line-height:1.45}.deployment-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.deployment-overview article{min-height:82px;padding:14px 15px;display:flex;align-items:center;gap:12px;border:1px solid rgba(219,227,239,.9);border-radius:11px;background:#ffffffe0;box-shadow:0 7px 18px #2a42690e;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);animation:deployment-metric-enter .42s cubic-bezier(.34,1.56,.64,1) calc(var(--deployment-metric-index) * 55ms) backwards}.deployment-overview-icon{width:40px;height:40px;display:grid;flex:0 0 40px;place-items:center;color:#5f78a2;border-radius:10px;background:#eef3fa}.deployment-overview-icon.current{color:#2f7e58;background:#edf8f1}.deployment-overview-icon.multi{color:#6f58ae;background:#f2effb}.deployment-overview-icon.pending{color:#b6782d;background:#fff6e9}.deployment-overview article div,.deployment-overview article small,.deployment-overview article strong{min-width:0}.deployment-overview article div>small{display:block;margin-bottom:3px;color:#8491a3;font-size:11px}.deployment-overview article strong{color:#233148;font-size:21px;font-weight:740;line-height:1}.deployment-overview article em{margin-left:3px;color:#7e8b9d;font-size:10px;font-style:normal;font-weight:600}.deployment-directory{min-width:0}.deployment-directory-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:14px}.deployment-directory-toolbar .search-box{width:min(100%,310px);flex:0 0 310px;border-color:#e0e7f0;border-radius:9px;background:#fffffff0;box-shadow:0 5px 16px #2b41680b}.deployment-status-filters{min-width:0;display:flex;align-items:center;gap:7px;overflow-x:auto;scrollbar-width:none}.deployment-status-filters::-webkit-scrollbar{display:none}.deployment-status-filters button{min-height:36px;padding:6px 10px;display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;color:#64748b;border:1px solid #e0e6ee;border-radius:8px;background:#ffffffd1;font-size:11px;font-weight:650;cursor:pointer;transition:transform .18s ease,color .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.deployment-status-filters button:hover{color:#3f5f8e;border-color:#bdcde2;transform:translateY(-1px)}.deployment-status-filters button.active{color:#fff;border-color:#334155;background:#334155;box-shadow:0 6px 14px #1e293b29}.deployment-status-filters button span{min-width:19px;height:18px;padding:0 5px;display:inline-grid;place-items:center;color:inherit;border-radius:999px;background:#64748b1c;font-size:9px}.deployment-status-filters button.active span{background:#ffffff2b}.employee-deployment-list{display:flex;flex-direction:column;gap:10px}.employee-deployment-card{min-width:0;min-height:112px;padding:14px 14px 14px 16px;position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(190px,.9fr) minmax(320px,1.7fr) minmax(120px,.55fr) 118px;grid-template-areas:"person current summary action";align-items:center;gap:16px;border:1px solid #e1e7ef;border-radius:11px;background:linear-gradient(135deg,#fff,#fff 52%,#f7f9fc);box-shadow:0 5px 15px #283d5e0b;animation:deployment-row-enter .45s cubic-bezier(.34,1.56,.64,1) var(--deployment-row-delay) backwards;transition:transform .26s cubic-bezier(.34,1.56,.64,1),border-color .2s ease,box-shadow .2s ease,background .2s ease}.employee-deployment-card:hover{border-color:#abc5e6;background:#fff;box-shadow:0 13px 27px #2848741c;transform:translateY(-3px)}.employee-deployment-person-button{grid-area:person;min-width:0;padding:0;display:flex;align-items:center;justify-content:flex-start;gap:10px;color:#263243;border:0;background:transparent;text-align:left;cursor:pointer}.employee-deployment-person-main{min-width:0;flex:1}.employee-deployment-person-main strong,.employee-deployment-person-main small{display:block}.employee-deployment-person-main strong{overflow:hidden;color:#223047;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.employee-deployment-person-main .mono{margin-top:5px;color:#96a1b0!important;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.employee-deployment-person-button:hover strong{color:var(--blue)}.employee-deployment-person-button .badge{flex:0 0 auto;font-size:9px}.employee-deployment-card:hover .employee-card-avatar,.employee-deployment-card:focus-within .employee-card-avatar{transform:scale(1.08) rotate(-2deg);box-shadow:0 7px 15px color-mix(in srgb,var(--employee-accent) 18%,transparent)}.employee-deployment-current{grid-area:current;min-width:0}.employee-deployment-current>span,.employee-deployment-relation-summary>span{display:block;margin-bottom:7px;color:#8a96a7;font-size:10px;font-weight:650}.employee-deployment-projects{min-width:0;display:flex;align-items:stretch;flex-wrap:wrap;gap:6px}.employee-deployment-project{--deployment-bg: #eef4fd;--deployment-border: #c9d9ed;--deployment-ink: #436b9d;min-width:118px;padding:6px 8px;display:flex;align-items:center;gap:6px;color:var(--deployment-ink);border:1px solid var(--deployment-border);border-radius:7px;background:color-mix(in srgb,var(--deployment-bg) 78%,white)}.employee-deployment-project>span{min-width:0}.employee-deployment-project strong,.employee-deployment-project small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-deployment-project strong{color:var(--deployment-ink);font-size:10px}.employee-deployment-project small{margin-top:3px;color:color-mix(in srgb,var(--deployment-ink) 70%,#94a3b8);font-size:8px}.employee-deployment-project .deployment-color-dot{width:6px;height:6px;flex:0 0 6px}.employee-deployment-empty-project{color:#a0aab7;font-size:11px}.employee-deployment-relation-summary{grid-area:summary;min-width:0;padding-left:14px;border-left:1px solid #e8edf3}.employee-deployment-relation-summary strong{display:block;color:#334155;font-size:15px}.employee-deployment-relation-summary strong small{color:#8b96a5;font-size:9px;font-weight:600}.employee-deployment-relation-summary p{margin:5px 0 0;color:#8c98a8;font-size:9px;line-height:1.35}.employee-deployment-detail-button{grid-area:action;min-height:34px;padding:7px 10px;display:inline-flex;align-items:center;justify-content:center;gap:5px;color:#456994;border:1px solid #cfdbea;border-radius:8px;background:#f7faff;font-size:10px;font-weight:650;cursor:pointer;transition:color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease}.employee-deployment-detail-button:hover{color:#fff;border-color:#4778bb;background:#4778bb;transform:translate(2px)}@keyframes deployment-metric-enter{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes deployment-row-enter{0%{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1180px){.employee-deployment-card{grid-template-columns:minmax(210px,1fr) 118px;grid-template-areas:"person action" "current summary"}.employee-deployment-relation-summary{align-self:stretch;display:flex;flex-direction:column;justify-content:center}}.sidebar-scroll{scrollbar-width:thin;scrollbar-color:rgba(137,168,201,.42) transparent}.sidebar-scroll::-webkit-scrollbar{width:6px}.sidebar-scroll::-webkit-scrollbar-thumb{border-radius:999px;background:#89a8c96b}@media(max-width:860px){.deployment-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.deployment-directory-toolbar{align-items:stretch;flex-direction:column}.deployment-directory-toolbar .search-box{width:100%;flex-basis:auto}}@media(max-width:620px){.employee-deployment-card{grid-template-columns:minmax(0,1fr);grid-template-areas:"person" "current" "summary" "action";gap:13px}.employee-deployment-relation-summary{padding:11px 0 0;border-top:1px solid #e8edf3;border-left:0}.deployment-readonly-note{align-items:flex-start}}.deployment-record-detail{padding:23px 25px 25px;background:#fbfdff;border-top:1px solid #e4edf8}.deployment-calendar-modal{padding:26px 28px 24px}.deployment-calendar-modal .deployment-record-detail{padding:0;background:transparent;border-top:0}.deployment-calendar-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.deployment-calendar-heading h3{margin:6px 0 4px;color:#2a374a;font-size:18px}.deployment-calendar-heading p{margin:0;color:#75859a;font-size:12px}.deployment-calendar-nav{display:flex;align-items:center;gap:7px;color:#56677b;white-space:nowrap}.deployment-calendar-current-month{min-height:32px;padding:0 10px;color:#48617d;border:1px solid #d8e3ef;border-radius:6px;background:#f8fbff;font-size:11px;cursor:pointer}.deployment-calendar-current-month:hover,.deployment-calendar-current-month:focus-visible{color:#175dcc;border-color:#a7c3e9;background:#f1f7ff;outline:none}.deployment-calendar-nav strong{min-width:92px;color:#33465e;font-size:14px;text-align:center}.deployment-calendar-summary{margin-top:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.deployment-calendar-summary>div{min-width:0;padding:10px 12px;display:flex;align-items:baseline;justify-content:space-between;gap:8px;border:1px solid #e0e8f2;border-radius:8px;background:#f8fbff}.deployment-calendar-summary span{color:#6d7f95;font-size:11px}.deployment-calendar-summary strong{color:#2f425a;font-size:19px;line-height:1}.deployment-calendar-summary small{margin-left:2px;color:#7f8da0;font-size:10px;font-weight:500}.deployment-calendar-layout{margin-top:14px;display:grid;grid-template-columns:minmax(0,1fr) 292px;align-items:stretch;gap:14px}.deployment-calendar-surface,.deployment-selected-day{border:1px solid #dfe7f1;border-radius:10px;background:#fff}.deployment-calendar-surface{min-width:0;padding:13px}.deployment-calendar-surface-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.deployment-calendar-surface-heading strong{color:#3d5068;font-size:12px}.deployment-calendar-surface-heading span{color:#8391a2;font-size:10px}.deployment-calendar-scroll{min-width:0;overflow-x:auto;padding-bottom:2px}.deployment-calendar-weekdays,.deployment-calendar-grid{min-width:650px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.deployment-calendar-weekdays{margin-top:13px;color:#738397;font-size:11px;font-weight:600;text-align:center}.deployment-calendar-grid{margin-top:6px}.deployment-calendar-day{min-width:0;min-height:82px;padding:7px 8px;display:flex;flex-direction:column;gap:6px;color:#8995a4;border:1px solid #e4e9ee;border-radius:7px;background:#f7f9fb;font:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease}.deployment-calendar-day.blank{min-height:0;padding:0;border-color:transparent;background:transparent;cursor:default}.deployment-calendar-day-heading{display:flex;align-items:center;justify-content:space-between;gap:5px}.deployment-calendar-day-heading strong{color:#33455b;font-size:13px;line-height:1}.deployment-calendar-day-heading em{padding:2px 4px;color:#1762c6;border-radius:4px;background:#eaf3ff;font-size:9px;font-style:normal;line-height:1}.deployment-calendar-day.assigned{color:#4c6078;border-color:#d5e0ec;background:#fff}.deployment-calendar-day.assigned:hover,.deployment-calendar-day.unassigned:hover,.deployment-calendar-day:focus-visible{border-color:#8eb4e7;background:#f8fbff;box-shadow:0 4px 12px #2165d517;outline:none;transform:translateY(-1px)}.deployment-calendar-day.selected{border-color:#2165d5;background:#f5f9ff;box-shadow:inset 0 0 0 1px #2165d529,0 4px 12px #2165d51c}.deployment-calendar-day.today:not(.selected){border-color:#8eb4e7}.deployment-calendar-projects{min-width:0;display:flex;flex-direction:column;gap:4px}.deployment-calendar-project{min-width:0;display:flex;align-items:center;gap:5px;color:#4f6076;font-size:10px;line-height:1.25}.deployment-calendar-project>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deployment-calendar-project .deployment-color-dot{width:7px;height:7px}.deployment-calendar-projects>small{padding-left:12px;color:#6e7e91;font-size:9px}.deployment-calendar-unassigned-label{color:#97a2af;font-size:10px}.deployment-color-0{--deployment-bg: #eaf2ff;--deployment-border: #a9c7f1;--deployment-ink: #2863a9}.deployment-color-1{--deployment-bg: #eaf8ef;--deployment-border: #acdcb9;--deployment-ink: #2c7a45}.deployment-color-2{--deployment-bg: #fff4e8;--deployment-border: #f2c391;--deployment-ink: #a7611e}.deployment-color-3{--deployment-bg: #f2edff;--deployment-border: #c6b7ed;--deployment-ink: #6650a3}.deployment-color-4{--deployment-bg: #e6f7f7;--deployment-border: #9fd6d6;--deployment-ink: #267878}.deployment-color-5{--deployment-bg: #fff0f3;--deployment-border: #e9b4bf;--deployment-ink: #a04b5b}.deployment-color-dot{width:9px;height:9px;flex:0 0 auto;display:inline-block;border:1px solid var(--deployment-border);border-radius:50%;background:var(--deployment-bg)}.deployment-color-dot.unassigned{--deployment-bg: #f0f2f4;--deployment-border: #cbd2da}.deployment-calendar-legend{margin-top:10px;display:flex;align-items:center;flex-wrap:wrap;gap:6px 13px;color:#617289;font-size:10px}.deployment-calendar-legend span{display:inline-flex;align-items:center;gap:6px}.deployment-selected-day{min-width:0;padding:14px;background:#f8fbff}.deployment-selected-day-heading{padding-bottom:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:1px solid #e0e8f2}.deployment-selected-day-heading>div{min-width:0}.deployment-selected-day-heading span,.deployment-selected-day-heading strong,.deployment-selected-day-heading small{display:block}.deployment-selected-day-heading span{color:#74849a;font-size:10px}.deployment-selected-day-heading strong{margin-top:4px;color:#30445c;font-size:15px}.deployment-selected-day-heading small{margin-top:4px;color:#93a0af;font-size:10px}.deployment-selected-projects{margin-top:4px}.deployment-selected-project{padding:11px 0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:8px;border-bottom:1px solid #e6edf5}.deployment-selected-project>.deployment-color-dot{margin-top:3px}.deployment-selected-project>div{min-width:0}.deployment-selected-project strong,.deployment-selected-project span,.deployment-selected-project small{display:block}.deployment-selected-project strong{overflow:hidden;color:#3a4d64;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.deployment-selected-project span{margin-top:3px;color:#6f8095;font-size:10px}.deployment-selected-project small{margin-top:5px;color:#8a97a7;font-size:9px;line-height:1.4}.deployment-selected-day-note{margin:12px 0 0;padding:9px 10px;color:#466887;border:1px solid #cfe0f3;border-radius:7px;background:#eff6ff;font-size:10px;line-height:1.55}.deployment-selected-day-empty{min-height:230px;padding:24px 14px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;color:#8b99aa;text-align:center}.deployment-selected-day-empty strong{color:#5b6d83;font-size:12px}.deployment-selected-day-empty span{max-width:220px;font-size:10px;line-height:1.55}.deployment-history-list{margin-top:22px;border-top:1px solid #e3eaf2}.deployment-history-list-heading{padding:15px 0 8px;display:flex;align-items:center;justify-content:space-between;color:#53647a;font-size:12px}.deployment-history-list-heading span{color:#9aa5b2;font-size:11px}.deployment-history-item{min-height:49px;padding:8px 0;display:flex;align-items:center;gap:10px;border-top:1px solid #edf1f5}.deployment-history-item>div{min-width:0;flex:1}.deployment-history-item strong,.deployment-history-item span{display:block}.deployment-history-item strong{color:#3d4d61;font-size:12px}.deployment-history-item span{margin-top:4px;color:#8e9aa9;font-size:10px}.deployment-history-empty{padding:12px 0;color:#99a4b1;font-size:12px}@media(max-width:920px){.deployment-calendar-layout{grid-template-columns:1fr}.deployment-selected-day-empty{min-height:150px}}@media(max-width:680px){.deployment-calendar-modal{padding:22px 18px 20px}.deployment-calendar-heading{flex-direction:column}.deployment-calendar-nav{width:100%;justify-content:flex-end}.deployment-calendar-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.deployment-calendar-surface-heading{align-items:flex-start;flex-direction:column;gap:4px}.deployment-calendar-weekdays,.deployment-calendar-grid{min-width:520px}}.account-state{display:inline-flex;align-items:center;gap:5px;color:var(--green);font-size:12px}.role-matrix{padding:22px}.role-matrix .data-table{margin-top:16px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;background:#0511217a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{max-height:calc(100vh - 48px);max-width:calc(100vw - 32px);overflow:auto;padding:28px 30px 24px;position:relative;background:#fff;border-radius:10px;box-shadow:0 22px 70px #00000047}.modal h2{margin:0 35px 20px 0;color:#151a22;font-size:20px}.modal-close{position:absolute;right:17px;top:16px;width:34px;height:34px;display:grid;place-items:center;border:0;background:transparent;color:#727986}.modal-form{display:flex;flex-direction:column;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.modal-form textarea,.modal-form-label textarea{min-height:77px;padding:9px 10px;resize:vertical}.modal-form input,.modal-form select,.modal-form textarea,.modal-form-label input,.modal-form-label textarea{width:100%}.modal-form-label{margin-top:15px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:21px}.modal-lock-icon{width:49px;height:49px;margin:-2px 0 14px;display:grid;place-items:center;color:#d97706;background:#fff4db;border-radius:50%}.modal-copy{margin:0;color:#626b78;font-size:13px;line-height:1.75}.modal-summary{margin:18px 0 22px;padding:13px 14px;display:flex;justify-content:space-between;color:#68717e;background:#f6f8fb;border-radius:6px;font-size:13px}.modal-summary strong{color:#1d2633}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(500px,.84fr) minmax(620px,1.16fr);background:#fff}.login-panel{width:100%;max-width:620px;padding:56px clamp(54px,6vw,82px);display:flex;flex-direction:column;justify-self:end;background:#fff}.login-brand{display:flex;align-items:center;gap:11px;color:#172033;font-size:18px;font-weight:700}.login-brand .brand-mark-image{width:38px;height:38px}.login-copy{margin:auto 0 34px;padding-top:72px}.login-copy h1{margin:10px 0 14px;color:#131c2b;font-size:40px;line-height:1.18;letter-spacing:-.045em}.login-copy p{max-width:390px;margin:0;color:#5f6b7a;font-size:14px;line-height:1.75}.login-form{width:100%;max-width:430px;display:flex;flex-direction:column;gap:16px;margin-bottom:auto;padding-bottom:56px}.login-form label{display:flex;flex-direction:column;gap:7px;color:#657284;font-size:12px}.login-form input,.login-form select{width:100%;height:44px;padding:0 12px;border:1px solid #cdd5df;border-radius:5px;color:#2b3749;background:#fff;transition:border-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out)}.login-form input:hover{border-color:#9cabbc}.password-input-wrap{position:relative;display:block}.password-input-wrap input{padding-right:44px}.password-visibility{width:38px;height:38px;position:absolute;top:3px;right:3px;display:grid;place-items:center;color:#6a7788;border:0;border-radius:5px;background:transparent}.password-visibility:hover{color:var(--blue);background:#f1f6fd}.login-form .primary-button{height:47px;margin-top:5px}.login-form .primary-button:disabled{cursor:wait;opacity:.65}.login-hint{display:flex;align-items:center;justify-content:center;gap:6px;color:#6f7d8e;font-size:11px}.login-hint svg{color:#4f82c8}.login-error{padding:10px 12px;color:#a3222a;background:#fff3f3;border:1px solid #f0b7b7;border-radius:6px;font-size:12px}.login-loading{min-height:100vh;display:grid;place-items:center;color:#536a84;background:#f6f8fb;font-size:14px}.login-aside{min-height:100vh;position:relative;overflow:hidden;background:linear-gradient(155deg,#082957,#06192f 58%,#071d39)}.login-aside:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 25% 20%,rgba(46,130,242,.28),transparent 42%),radial-gradient(circle at 82% 78%,rgba(28,104,202,.25),transparent 38%)}.login-aside-content{min-height:100vh;position:relative;z-index:1;padding:70px 8% 62px;display:flex;align-items:center;justify-content:center;flex-direction:column}.login-security-illustration{width:min(72%,590px);height:auto;display:block;object-fit:contain;filter:drop-shadow(0 28px 70px rgba(25,111,235,.28));animation:login-security-float 7s var(--ease-out) infinite alternate}.login-quote{margin-top:-38px;position:relative;display:flex;align-items:center;flex-direction:column;gap:9px;text-align:center;color:#e6f1ff}.login-quote strong{font-size:24px;letter-spacing:-.03em}.login-quote span{color:#acc6e5;font-size:13px}@keyframes login-security-float{0%{transform:translateY(0)}to{transform:translateY(-7px)}}.toast{position:fixed;z-index:30;left:50%;top:82px;transform:translate(-50%);display:flex;align-items:center;gap:9px;color:#214d31;background:#f0faf3;border:1px solid #a9dbb6;border-radius:7px;padding:11px 16px;box-shadow:0 8px 30px #142f1d26;font-size:13px}.toast svg{color:var(--green)}@media(max-width:1320px){.sidebar{width:218px;flex-basis:218px}.content{padding-left:25px;padding-right:25px}.topbar{padding:0 25px}.dashboard-layout{grid-template-columns:1fr}.project-admin-layout{grid-template-columns:240px minmax(0,1fr)}.project-stat{min-width:75px}.shortcuts .shortcut-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:860px){body{min-width:0}.sidebar{width:76px;flex-basis:76px}.brand{justify-content:center;padding:0}.brand span,.nav-group-label,.nav-item span,.nav-subitem span,.nav-dot,.security-note span,.sign-out{display:none}.nav-item{justify-content:center;padding:0}.nav-subitems{margin-left:0;padding-left:0;border-left:0}.nav-subitem{justify-content:center;padding:0}.nav-parent-toggle>svg:last-child{display:none}.sidebar-footer{padding:10px}.security-note{justify-content:center;padding:8px 0}.content{padding:20px 16px 35px}.topbar{padding:0 16px;gap:12px}.version-chip,.account span{display:none}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-admin-layout{grid-template-columns:1fr}.page-header{flex-direction:column}.page-header-actions{padding-top:0}.login-shell{grid-template-columns:1fr}.login-panel{justify-self:stretch;max-width:none;padding:45px 30px}.login-aside{display:none}}@media print{.sidebar,.topbar,.page-header-actions,.toolbar,.action-footer{display:none!important}.content{padding:0}.surface-card{box-shadow:none}}.sidebar{width:224px;flex-basis:224px}.topbar{height:58px}.context-picker label>span{display:none}.context-picker select{padding-right:2px;font-size:18px}.version-chip{display:none}.nav-group:first-child .nav-group-label{height:0;padding:0;overflow:hidden;visibility:hidden}.settlement-page{gap:16px}.settlement-title-row{min-height:74px;padding:0 0 18px;border-bottom:1px solid #dde1e6}.settlement-title-row h1{margin:0;font-size:32px}.settlement-title-row .badge{margin-top:5px}.settlement-metrics{margin:0 0 1px}.settlement-metrics .metric-card{min-height:104px;padding:4px 22px 0 46px;border:0;border-left:1px solid #dfe3e8;border-radius:0;background:transparent;box-shadow:none}.settlement-metrics .metric-card:first-child{padding-left:25px;border-left:0}.settlement-metrics .metric-card-top{justify-content:flex-start;color:#4c515c;font-size:16px}.settlement-metrics .metric-card-top svg{display:none}.settlement-metrics .metric-card strong{margin:12px 0 7px;color:#0b0d11;font-size:31px;line-height:1.05}.settlement-metrics .metric-card.green strong{color:var(--green)}.settlement-metrics .metric-card small{color:#6a717c;font-size:13px}.settlement-metrics .metric-card.orange small{color:var(--orange)}.settlement-metrics .metric-card.green small:before{content:"✓  ";color:var(--green);font-weight:750}.settlement-table-card{border-radius:6px}.settlement-page .warning-banner{margin-top:0}@media(max-width:1320px){.sidebar{width:218px;flex-basis:218px}}.dashboard-header-actions{display:flex;align-items:center;gap:10px}.dashboard-page>*{animation:dashboard-reveal var(--motion-medium) var(--ease-out) both}.dashboard-page>:nth-child(2){animation-delay:55ms}.dashboard-page>:nth-child(3){animation-delay:.11s}.dashboard-metrics .metric-card{min-height:142px;transition:transform var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out)}.dashboard-metrics .metric-card:hover{transform:translateY(-2px);border-color:#c5d3e5;box-shadow:0 12px 28px #12253f14}.metric-card.default{border-top:3px solid #95a3b4}.metric-card.default .metric-card-top svg{color:#697a90}.dashboard-insight-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:20px}.progress-card,.focus-card{padding:22px}.progress-value-row{display:flex;align-items:baseline;justify-content:space-between;margin-top:22px}.progress-value-row strong{color:var(--green);font-size:36px;letter-spacing:-.04em}.progress-value-row span{color:#7f8a98;font-size:12px}.progress-track{height:10px;margin-top:14px;overflow:hidden;border-radius:99px;background:#eef1f4}.progress-track span{position:relative;display:block;height:100%;overflow:hidden;border-radius:inherit;background:linear-gradient(90deg,#3aa963,#72c584)}.progress-track span:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 25%,rgba(255,255,255,.48) 50%,transparent 75%);content:"";transform:translate(-100%);animation:progress-glint 2.8s ease-in-out .8s infinite}.progress-breakdown{display:flex;gap:16px;margin-top:14px;color:#7d8897;font-size:12px}.progress-breakdown span{display:inline-flex;align-items:center;gap:6px}.progress-breakdown .dot{width:7px;height:7px;display:inline-block;border-radius:50%}.progress-breakdown .dot.green{background:var(--green)}.progress-breakdown .dot.orange{background:var(--orange)}.progress-breakdown .dot.blue{background:#4a8ee7}.focus-card{padding-bottom:13px}.focus-complete{display:flex;align-items:center;gap:12px;min-height:96px;color:var(--green)}.focus-complete div{display:grid;gap:5px}.focus-complete strong{color:#273546;font-size:14px}.focus-complete span{color:#738095;font-size:12px}.focus-item{width:100%;padding:13px 0;display:flex;align-items:center;gap:11px;border:0;border-top:1px solid var(--line-light);background:transparent;text-align:left;color:#566273}.focus-item:first-of-type{margin-top:8px;border-top:0}.focus-item .focus-index{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;color:#2b70ca;background:#eaf2ff;font:700 11px ui-monospace,SFMono-Regular,Menlo,monospace}.focus-item .focus-index.danger{color:#c83d36;background:#fff0ef}.focus-item>span:nth-child(2){flex:1}.focus-item strong,.focus-item small{display:block}.focus-item strong{color:#344052;font-size:13px}.focus-item small{margin-top:4px;color:#929cab;font-size:11px}.focus-item>svg{color:#a5afbb}.focus-item:hover strong{color:var(--blue)}.shortcut-list{margin-top:8px}.shortcut-row{width:100%;min-height:57px;padding:10px 0;display:flex;align-items:center;gap:10px;border:0;border-top:1px solid var(--line-light);background:transparent;text-align:left;color:var(--blue)}.shortcut-row:first-child{border-top:0}.shortcut-row>span:nth-child(2){flex:1}.shortcut-row strong,.shortcut-row small{display:block}.shortcut-row strong{color:#344052;font-size:12px}.shortcut-row small{margin-top:3px;color:#929cab;font-size:11px}.shortcut-row>svg:last-child{color:#a5afbb}.shortcut-row:hover strong{color:var(--blue)}.employee-quickbar{min-height:84px;padding:17px 21px;display:flex;align-items:center;justify-content:space-between;gap:20px}.quickbar-copy strong,.quickbar-copy span{display:block}.quickbar-copy strong{color:#283446;font-size:14px}.quickbar-copy span{margin-top:5px;color:#8793a1;font-size:12px}.quickbar-stats{display:flex;align-items:stretch;gap:0}.quickbar-stats button{min-width:76px;padding:2px 18px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:4px;border:0;border-left:1px solid var(--line-light);background:transparent}.quickbar-stats button:first-child{border-left:0}.quickbar-stats button:hover{background:#f7faff}.quickbar-stats strong{color:#255da9;font-size:19px;line-height:1}.quickbar-stats span{color:#8a95a3;font-size:11px;white-space:nowrap}.row-actions{display:inline-flex;align-items:center}.notice-strip.warning{color:#8e4f1f;background:#fff8ef;border-color:#f4d8b4}.notice-strip.warning>svg{color:var(--orange)}.daily-toolbar{position:sticky;top:96px;z-index:3;background:#fffffff7}.data-entry-summary{display:inline-flex;align-items:center;gap:12px;margin-left:2px}.entry-stat{display:inline-flex;align-items:baseline;gap:4px}.entry-stat strong{color:#536173;font-size:15px}.entry-stat small{color:#99a3af;font-size:11px}.row-invalid{background:#fff9f7}.row-invalid td:first-child{box-shadow:inset 3px 0 var(--orange)}.bulk-paste{width:100%;min-height:150px;margin-top:17px;padding:12px;resize:vertical;color:#273546;border:1px solid #cbd4df;border-radius:6px;background:#fbfdff;font:13px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace}.bulk-paste:focus{border-color:#5f93d7}.bulk-paste-hint{margin-top:8px;color:#8a96a4;font-size:11px}.action-footer{position:sticky;bottom:0;z-index:4;padding:12px 10px;background:#f7f8faf5;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.settlement-page .table-card{margin-bottom:0}@media(max-width:1320px){.dashboard-insight-grid{grid-template-columns:1fr}}@media(max-width:860px){.dashboard-header-actions{width:100%}.dashboard-header-actions .secondary-button{flex:1}.employee-quickbar{align-items:flex-start;flex-direction:column}.quickbar-stats{width:100%;justify-content:space-between}.quickbar-stats button{flex:1;padding:5px 8px}.daily-toolbar{position:static}.data-entry-summary{width:100%;justify-content:space-between;margin:2px 0 0}.daily-toolbar{flex-wrap:wrap}}.loading-state{padding:48px 20px;color:#7b8796;text-align:center}.toast-error{color:#8e2525;background:#fff2f2;border-color:#efb2b2}.toast-error svg{color:#c63f3f}.checkbox-label{margin-top:14px;display:flex!important;align-items:center;flex-direction:row!important;gap:9px!important}.checkbox-label input{width:16px;height:16px}.calendar-grid{margin-top:18px;display:grid;grid-template-columns:repeat(7,minmax(58px,1fr));gap:7px}.calendar-grid label{min-height:58px;padding:8px;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;color:#8d98a6;background:#f5f7f9;border:1px solid #e1e5ea;border-radius:6px;cursor:pointer}.calendar-grid label.active{color:#245f9f;background:#edf5ff;border-color:#99bde8}.calendar-grid input{position:absolute;top:6px;left:6px;width:13px;height:13px}.calendar-grid strong{font-size:17px}.calendar-grid small{font-size:10px}.topbar input[type=month]{height:34px;padding:0 4px;color:#334054;border:0;background:transparent;font:inherit}.context-picker .month-picker.ant-picker{width:151px;height:34px;padding:3px 8px;border:1px solid transparent;border-radius:6px;background:transparent;box-shadow:none}.context-picker .month-picker-fallback{width:151px;height:34px;padding:3px 8px;display:inline-flex;align-items:center;color:#334054;font-size:18px;font-weight:500;white-space:nowrap}.context-picker .month-picker.ant-picker:hover{border-color:#d5dfeb;background:#fbfcfe}.context-picker .month-picker.ant-picker-focused{border-color:#1677ff;background:#fff;box-shadow:0 0 0 2px #1677ff1f}.context-picker .month-picker .ant-picker-input>input{color:#334054;font-size:18px;font-weight:500}.context-picker .month-picker .ant-picker-input>input::placeholder{color:#aeb8c5}.context-picker .month-picker .ant-picker-suffix,.context-picker .month-picker .ant-picker-clear{color:#66768b}.warning-banner p{margin:4px 0 0}.modal-form>label{margin-top:12px}.modal-form>label:first-child{margin-top:0}.inline-link{margin-left:5px;padding:0;color:var(--blue);border:0;background:transparent;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.secondary-button[href],.text-button[href]{text-decoration:none}.batch-import-form{display:flex;flex-direction:column;gap:12px}.batch-import-label{display:flex;flex-direction:column;gap:7px;color:#3f4c5e;font-size:13px;font-weight:600}.batch-import-label textarea{min-height:180px;width:100%;padding:11px 12px;color:#263548;border:1px solid #cfd7e2;border-radius:7px;background:#fff;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;resize:vertical}.batch-import-label textarea:focus{outline:2px solid rgba(42,108,177,.16);border-color:var(--blue)}.batch-import-help{margin:-4px 0 0;color:#7b8796;font-size:12px;line-height:1.55}.batch-import-file-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:#f7f9fc}.batch-import-file-label{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:13px;cursor:pointer}.batch-import-file-label input{max-width:230px;color:#5e6b7b;font-size:12px}.batch-import-file-name{max-width:240px;overflow:hidden;color:#5e6b7b;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.batch-import-preview{display:flex;flex-direction:column;gap:10px;margin-top:2px}.batch-import-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.batch-import-counts>div{display:flex;flex-direction:column;gap:3px;padding:10px 11px;border:1px solid var(--line);border-radius:7px;background:#fbfcfe}.batch-import-counts strong{color:#334054;font-size:20px;line-height:1}.batch-import-counts span{color:#7b8796;font-size:11px}.batch-import-counts .success strong{color:var(--green)}.batch-import-counts .warning strong{color:var(--orange)}.batch-import-counts .danger strong{color:var(--red)}.batch-import-overwrite{display:flex;align-items:center;gap:8px;margin:0}.batch-import-global-errors{display:flex;flex-direction:column;gap:6px;padding:10px 12px;color:#8e2525;border:1px solid #efb2b2;border-radius:7px;background:#fff2f2;font-size:13px}.batch-import-global-errors>div{display:flex;align-items:flex-start;gap:7px}.batch-import-issues{display:flex;flex-direction:column;gap:7px;max-height:260px;overflow-y:auto}.batch-import-issue{padding:9px 11px;border:1px solid #efb2b2;border-radius:7px;background:snow}.batch-import-issue.warning{border-color:#f0d29a;background:#fffaf0}.batch-import-issue-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:#4a5667;font-size:12px}.batch-import-issue-head span{color:#7b8796}.batch-import-issue ul{margin:6px 0 0 18px;padding:0;color:#6d7684;font-size:12px;line-height:1.5}.batch-import-issue li.error{color:#a63131}.batch-import-issue li.warning{color:#9a6b14}.batch-import-ready{margin:0}.batch-import-blocked{margin:0;padding:9px 11px;color:#8e2525;border:1px solid #efb2b2;border-radius:7px;background:#fff2f2;font-size:12px}.settlement-filter-field select{min-width:150px}.settlement-review-meta{display:inline-flex;align-items:center;gap:10px;color:#7b8796;font-size:12px;white-space:nowrap}.settlement-filter-empty{padding:26px 12px;color:#7b8796;text-align:center;font-size:13px}@media(max-width:860px){.calendar-grid{grid-template-columns:repeat(4,1fr)}.employee-directory-toolbar{align-items:stretch;flex-direction:column}.employee-directory-toolbar .search-box{width:100%;flex-basis:auto}.employee-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.employee-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.employee-card{padding:13px}.employee-detail-grid,.employee-detail-contract{grid-template-columns:1fr}.batch-import-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.batch-import-file-label{width:100%}.batch-import-file-label input{min-width:0;max-width:100%}}.data-entry-page{width:100%;max-width:1100px;margin-right:auto;margin-left:auto}.data-entry-summary{width:100%;display:block;margin-left:0;overflow:hidden;padding:0;border-radius:12px}.data-entry-summary-heading{align-items:center;margin-bottom:0;padding:16px 24px;border-bottom:1px solid #ebeff3}.data-entry-summary-heading p{margin-top:4px}.data-entry-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:0}.data-entry-summary-block,.data-entry-ranking{min-width:0;padding:16px 24px;border:0;border-radius:0;background:#fff}.data-entry-summary-label{color:#8290a4;font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}.data-entry-summary-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.data-entry-summary-stat{min-width:0;min-height:57px;padding:10px 12px;border-left:3px solid #b8c4d5;border-radius:2px;background:#fff}.data-entry-summary-stat strong{display:block;overflow:hidden;color:#1e2c41;font-size:18px;line-height:1.15;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}.data-entry-summary-stat span{display:block;margin-top:2px;color:#8794a7;font-size:11px}.data-entry-summary-stat.blue{border-color:#3d7fe8}.data-entry-summary-stat.blue strong{color:#1f61c9}.data-entry-summary-stat.red{border-color:#e66b6b}.data-entry-summary-stat.red strong{color:#b34141}.data-entry-summary-stat.green{border-color:#55ae83}.data-entry-summary-stat.green strong{color:#2c885d}.data-entry-summary-stat.orange{border-color:#e6a64d}.data-entry-summary-stat.orange strong{color:#b77621}.data-entry-summary-statuses{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid #f0f3f8}.data-entry-summary-statuses>span{min-height:22px;padding:2px 8px;display:inline-flex;align-items:center;gap:4px;border:1px solid transparent;border-radius:999px;font-size:11px;line-height:1}.data-entry-summary-statuses strong{font-weight:700}.data-entry-summary-statuses em{font-style:normal;font-weight:400;opacity:.75}.data-entry-summary-statuses .normal{color:#2c885d;border-color:#a9d8bd;background:#f1fbf5}.data-entry-summary-statuses .rest{color:#b2741f;border-color:#f0c98b;background:#fff8ec}.data-entry-summary-statuses .leave{color:#ba5365;border-color:#efb3bd;background:#fff2f4}.data-entry-ranking{margin-top:0;border-left:1px solid #ebeff3}.data-entry-ranking-list{display:grid;grid-template-columns:1fr;gap:4px;margin-top:12px}.data-entry-ranking-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:10px;min-height:32px;padding:6px 10px;border:1px solid #e6ebf2;border-radius:8px;background:#fff}.data-entry-ranking-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-entry-ranking-item strong{color:#334054;font-size:12px;line-height:1}.data-entry-ranking-item b{grid-column:3;color:#2165cd;font-size:13px;letter-spacing:-.01em}.ranking-index{display:inline-grid;width:19px;height:19px;place-items:center;border-radius:50%;color:#6f7e92;background:#eef2f7;font-size:10px;font-weight:700}.ranking-index-1{color:#a66a05;background:#fff0cc}.ranking-index-2{color:#5d6d7f;background:#e9eef3}.ranking-index-3{color:#986044;background:#f7e4d9}.data-entry-summary-muted{display:block;margin-top:12px;color:#9aa6b6;font-size:12px}.data-entry-daily-summary{grid-area:daily;min-width:0;min-height:100%;align-self:stretch}.data-entry-daily-summary .data-entry-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;flex:1}.data-entry-daily-summary .data-entry-summary-stat{min-height:57px;display:flex;justify-content:center;flex-direction:column}.data-entry-status-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.data-entry-status-tag{min-width:48px;height:28px;padding:0 10px;border:1px solid transparent;border-radius:999px;font-size:11.5px;font-weight:650;line-height:1;opacity:.38;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,color .16s ease,opacity .16s ease}.data-entry-status-tag.normal{color:#2c885d;border-color:#a9d8bd;background:#f1fbf5}.data-entry-status-tag.rest{color:#b2741f;border-color:#f0c98b;background:#fff8ec}.data-entry-status-tag.leave{color:#ba5365;border-color:#efb3bd;background:#fff2f4}.data-entry-status-tag:hover:not(:disabled),.data-entry-status-tag.active{opacity:1}.data-entry-status-tag.active{box-shadow:0 2px 4px #2547701a}.data-entry-status-tag.active{font-weight:750}.data-entry-status-tag:disabled{cursor:not-allowed;opacity:.48}.data-entry-surface{overflow:hidden;padding:0;border-radius:12px}.data-entry-quick-date-picker{grid-area:quick;display:flex;align-items:stretch;flex-direction:column;gap:8px;min-width:0}.data-entry-quick-date-label{color:#77879b;font-size:12px;white-space:nowrap}.data-entry-quick-date-list{width:100%;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.data-entry-quick-date-weekday{height:28px;display:grid;place-items:center;color:#9aa8b8;font-size:10px;font-weight:500;line-height:1;text-align:center}.data-entry-quick-date{min-width:0;min-height:36px;padding:5px 7px;display:inline-flex;align-items:center;justify-content:center;flex-direction:column;gap:0;color:#667890;border:1px solid #d8e1ed;border-radius:6px;background:#fbfcfe;font-size:12px;line-height:1.1;cursor:pointer}.data-entry-quick-date.blank{min-height:36px;border-color:transparent;background:transparent;cursor:default}.data-entry-quick-date strong{color:inherit;font-size:13px;line-height:1}.data-entry-quick-date:hover,.data-entry-quick-date.active{color:#175dcc;border-color:#9bbcf0;background:#f1f7ff}.data-entry-quick-date.blank:hover{border-color:transparent;background:transparent}.data-entry-quick-date:disabled{color:#b3bdc9;border-color:#e6ebf1;background:#f6f8fa;cursor:not-allowed;opacity:.72}.data-entry-date-field{margin-left:4px}.data-entry-employee-link{padding:0;display:flex;align-items:flex-start;flex-direction:column;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.data-entry-employee-link strong{color:#2165cd!important}.data-entry-employee-link:hover strong,.data-entry-employee-link:focus-visible strong{text-decoration:underline;text-underline-offset:3px}.data-entry-employee-no{color:#526275}.data-entry-rest-days{color:#596d86;font-size:13px;font-weight:650;white-space:nowrap}.data-entry-row-save{white-space:nowrap}.data-entry-row-save:disabled{color:#9da9b8;cursor:wait}.employee-monthly-data-modal-wrapper{width:min(1120px,calc(100vw - 32px))!important}.employee-monthly-data-modal{color:#3a4759}.employee-monthly-data-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.employee-monthly-data-heading h3{margin:7px 0 5px;color:#253246;font-size:18px}.employee-monthly-data-heading p{margin:0;color:#8997aa;font-size:12px}.employee-monthly-summary{margin-top:20px;padding:13px 14px 11px;border:1px solid #dce7f4;border-radius:9px;background:#f7faff}.employee-monthly-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#566b85;font-size:12px;font-weight:700}.employee-monthly-summary-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.employee-monthly-summary-stats .data-entry-summary-stat{min-height:58px;padding:9px 11px;border:1px solid #e2eaf3;border-radius:7px;background:#fff}.employee-monthly-summary-stats .data-entry-summary-stat strong{font-size:19px}.employee-monthly-summary-statuses{display:flex;flex-wrap:wrap;gap:14px;margin-top:9px;color:#7c8da2;font-size:11px}.data-entry-calendar-weekdays,.data-entry-month-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.data-entry-calendar-weekdays{margin-top:24px;color:#8998ac;font-size:12px;text-align:center}.data-entry-month-calendar{position:relative;margin-top:7px;overflow:visible}.data-entry-calendar-day-wrap{min-width:0;position:relative}.data-entry-calendar-day{width:100%;min-height:82px;padding:9px 10px;display:grid;grid-template-rows:auto minmax(22px,1fr) auto auto;align-items:center;gap:2px;border:1px solid #dfe6ef;border-radius:8px;color:#5f7189;background:#f7f9fb;font:inherit;text-align:center;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.data-entry-calendar-day:hover,.data-entry-calendar-day:focus-visible{border-color:#8eb4eb;box-shadow:0 3px 10px #2c60a81a;transform:translateY(-1px)}.data-entry-calendar-day strong{color:#334257;line-height:1}.data-entry-calendar-day-number{justify-self:start;font-size:14px}.data-entry-calendar-day-complete{align-self:center;color:#2d6fc0;font-size:19px;font-weight:750;letter-spacing:-.02em}.data-entry-calendar-day span{color:#60738d;font-size:11px;font-weight:650}.data-entry-calendar-day small{min-height:15px;color:#8c9aae;font-size:10px;line-height:1.35}.data-entry-calendar-day.normal{border-color:#a9d8bd;background:#f1fbf5}.data-entry-calendar-day.normal span{color:#2b8759}.data-entry-calendar-day.normal .data-entry-calendar-day-complete{color:#246db8}.data-entry-calendar-day.rest{border-color:#f0c98b;background:#fff8ec}.data-entry-calendar-day.rest span,.data-entry-calendar-day.rest .data-entry-calendar-day-complete{color:#b2741f}.data-entry-calendar-day.leave{border-color:#efb3bd;background:#fff2f4}.data-entry-calendar-day.leave span,.data-entry-calendar-day.leave .data-entry-calendar-day-complete{color:#ba5365}.data-entry-calendar-day.missing{border-color:#a8c7ed;background:#f1f7ff}.data-entry-calendar-day.missing span,.data-entry-calendar-day.missing .data-entry-calendar-day-complete{color:#3a73bd}.data-entry-calendar-day.unassigned{border-color:#e3e8ee;background:#f7f8fa}.data-entry-calendar-day.unassigned span,.data-entry-calendar-day.unassigned .data-entry-calendar-day-complete{color:#9aa5b3}.data-entry-calendar-day.selected{border-color:#2165d5;box-shadow:inset 0 0 0 2px #2165d51f,0 4px 12px #2165d51f}.data-entry-calendar-day.today strong{color:#2165d5}.data-entry-calendar-day.blank{min-height:82px;border-color:transparent;background:transparent;cursor:default}.data-entry-calendar-day.blank:hover{border-color:transparent;box-shadow:none;transform:none}.data-entry-calendar-day:disabled{opacity:.72}.data-entry-calendar-legend{margin-top:13px;display:flex;flex-wrap:wrap;gap:13px;color:#7d8ca0;font-size:11px}.data-entry-calendar-legend span{display:inline-flex;align-items:center;gap:5px}.data-entry-calendar-legend i{width:9px;height:9px;display:inline-block;border:1px solid #bcc8d6;border-radius:50%;background:#f1f4f7}.data-entry-calendar-legend i.normal{border-color:#80c49d;background:#effaf3}.data-entry-calendar-legend i.rest{border-color:#e9b96f;background:#fff6e8}.data-entry-calendar-legend i.leave{border-color:#e49aa8;background:#fff0f3}.data-entry-calendar-legend i.missing{border-color:#8db5e8;background:#eff6ff}.data-entry-calendar-editor-hint{margin:8px 0 0;color:#a0672c;font-size:12px}.data-entry-calendar-popover{width:270px;padding:13px;position:absolute;top:calc(100% + 9px);left:0;z-index:8;border:1px solid #b8cfee;border-radius:9px;background:#fff;box-shadow:0 12px 28px #21498130}.data-entry-calendar-popover.right{right:0;left:auto}.data-entry-calendar-popover.above{top:auto;bottom:calc(100% + 9px)}.data-entry-calendar-popover-heading,.data-entry-calendar-popover-status{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.data-entry-calendar-popover-heading>div{display:flex;flex-direction:column;gap:3px}.data-entry-calendar-popover-heading span{color:#7589a4;font-size:11px}.data-entry-calendar-popover-heading strong{color:#2c3b51;font-size:15px}.data-entry-calendar-popover-close{width:27px;height:27px;display:grid;place-items:center;border:1px solid #dce4ee;border-radius:5px;color:#7d8da3;background:#fff;cursor:pointer}.data-entry-calendar-popover-close:hover{color:#2165d5;border-color:#9bbcf0;background:#f4f8ff}.data-entry-calendar-popover-status{align-items:center;margin-top:10px;color:#8593a6;font-size:11px}.data-entry-calendar-popover-fields{margin-top:11px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:8px}.data-entry-calendar-popover-fields label{display:flex;flex-direction:column;gap:6px;color:#718198;font-size:11px}.data-entry-calendar-popover-fields input,.data-entry-calendar-popover-fields select{width:100%;height:35px;padding:0 8px;color:#354052;border:1px solid #cdd5df;border-radius:5px;background:#fff;font-size:12px}.data-entry-calendar-popover-state{grid-column:span 2;display:flex;align-items:center;gap:8px;color:#718198;font-size:11px}.data-entry-calendar-popover-state>span{flex:0 0 auto}.data-entry-calendar-popover-state .data-entry-status-tags{flex:1}.data-entry-calendar-popover-state .data-entry-status-tag{flex:1;min-width:0;padding:0 7px;font-size:11px}.data-entry-calendar-popover-actions{margin-top:11px;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:8px}.data-entry-calendar-popover-save,.data-entry-calendar-popover-clear{width:100%;min-width:0;height:35px;justify-content:center;white-space:nowrap}.data-entry-calendar-popover-clear{padding:0 7px;font-size:11px}.data-entry-calendar-popover-save:disabled{cursor:not-allowed}.data-entry-calendar-popover input:focus,.data-entry-calendar-popover select:focus{border-color:#5f93d7;outline:0;box-shadow:0 0 0 2px #5f93d71f}.data-entry-calendar-popover input:disabled,.data-entry-calendar-popover select:disabled{color:#9ba7b5;background:#f6f8fa}.data-entry-calendar-popover .data-entry-calendar-editor-hint{margin-bottom:0;font-size:11px}.data-entry-calendar-popover .badge{min-height:22px;padding:3px 7px;font-size:10px}.data-entry-calendar-popover .primary-button{height:35px;white-space:nowrap}.data-entry-toolbar{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"quick daily";align-items:stretch;gap:0;padding:0;border-bottom:0}.data-entry-toolbar .data-entry-quick-date-picker,.data-entry-toolbar .data-entry-daily-summary{padding:24px;border-bottom:1px solid #ebeff3}.data-entry-toolbar .data-entry-daily-summary{border-left:1px solid #ebeff3}.data-entry-surface .input-table th,.data-entry-surface .input-table td{padding-right:20px;padding-left:20px}.data-entry-surface .input-table th{padding-top:12px;padding-bottom:12px;color:#718092;background:#fbfcfd;font-size:12px;font-weight:650}.data-entry-surface .input-table td{padding-top:14px;padding-bottom:14px}.data-entry-surface .input-table tbody tr{transition:background-color .16s ease}.data-entry-surface .input-table tbody tr:hover{background:#f8fafcb8}.data-entry-surface .input-table .cell-input{width:84px;height:32px;padding:0 8px;color:#273546;text-align:right}.data-entry-surface .input-table{min-width:900px;table-layout:fixed}.data-entry-surface .input-table th:nth-child(1),.data-entry-surface .input-table td:nth-child(1){width:145px}.data-entry-surface .input-table th:nth-child(2),.data-entry-surface .input-table td:nth-child(2){width:150px}.data-entry-surface .input-table th:nth-child(3),.data-entry-surface .input-table td:nth-child(3),.data-entry-surface .input-table th:nth-child(4),.data-entry-surface .input-table td:nth-child(4){width:135px}.data-entry-surface .input-table th:nth-child(5),.data-entry-surface .input-table td:nth-child(5){width:230px}.data-entry-surface .input-table .cell-subtext{margin-top:2px}.data-entry-notice{display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px 20px;border:0;border-top:1px solid #e8f0fb;border-radius:0;color:#5f7ea9;background:#f6faff;font-size:12px;line-height:1.6}.data-entry-notice svg{flex:0 0 auto;margin-top:1px}.data-entry-inline-error{display:flex;align-items:center;gap:8px;margin:0 24px 18px;padding:11px 13px;border:1px solid #efb2b2;border-radius:8px;color:#9a3434;background:#fff4f4;font-size:12px}@media(max-width:1320px){.project-dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:920px){.project-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.project-dashboard-grid{grid-template-columns:minmax(0,1fr)}.project-dashboard-module,.project-dashboard-module.wide{grid-column:1}.project-status-chart{min-width:620px}.project-dashboard-module:has(.project-status-chart){overflow-x:auto}}@media(max-width:620px){.project-detail-panel{padding-right:14px;padding-left:14px}.project-detail-tabs{margin-right:-14px;margin-left:-14px;padding-right:14px;padding-left:14px;overflow-x:auto}.project-dashboard-period{align-items:flex-start;flex-direction:column;gap:7px}.project-dashboard-period>div{align-items:flex-start;flex-direction:column;gap:4px}.project-dashboard-kpis{grid-template-columns:minmax(0,1fr)}.project-dashboard-kpi{min-height:112px}.project-dashboard-module{padding:13px}.project-dashboard-module-header{align-items:flex-start;flex-direction:column}.project-coverage-day{min-height:54px;padding:5px 4px}.project-coverage-day span{font-size:9px}.project-horizontal-bar-row{grid-template-columns:18px 62px minmax(72px,1fr) 54px;gap:5px}.project-pareto-summary{justify-content:flex-start;flex-wrap:wrap}.project-chart-legend.top{justify-content:flex-start}.employee-monthly-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-monthly-summary{margin-top:16px;padding:11px}.monthly-payroll-detail-modal{padding-top:22px}.monthly-payroll-detail-modal>h2{padding:0 18px}.monthly-payroll-hero{grid-template-columns:1fr 1fr;padding:14px 18px}.monthly-payroll-hero>div:nth-child(3){grid-column:1 / -1}.monthly-project-list{padding:12px}.monthly-project-detail>summary{align-items:flex-start;padding:14px}.monthly-project-detail>summary small{white-space:normal}.monthly-payroll-metrics{grid-template-columns:1fr 1fr}.monthly-payroll-metrics .final{grid-column:1 / -1}.monthly-payroll-columns{grid-template-columns:1fr;padding:12px}.calculation-params{grid-template-columns:1fr 1fr}.monthly-daily-section{padding:0 12px 16px}.monthly-section-title{align-items:flex-start;flex-direction:column}.data-entry-summary{padding:0}.data-entry-summary-heading{align-items:flex-start;padding:14px}.data-entry-summary-grid{grid-template-columns:1fr}.data-entry-summary-block,.data-entry-ranking{padding:14px}.data-entry-ranking{border-top:1px solid #ebeff3;border-left:0}.data-entry-ranking-list{grid-template-columns:1fr}.data-entry-toolbar{grid-template-columns:minmax(0,1fr);grid-template-areas:"quick" "daily";padding:0}.data-entry-toolbar .data-entry-quick-date-picker,.data-entry-toolbar .data-entry-daily-summary{padding:16px 14px}.data-entry-toolbar .data-entry-daily-summary{border-left:0}.data-entry-quick-date-picker{width:100%;align-items:flex-start;flex-direction:column}.data-entry-quick-date-list{width:100%}.data-entry-quick-date{flex:1}.data-entry-date-field{margin-left:0}.data-entry-notice{margin-right:0;margin-left:0}.data-entry-inline-error{margin-left:14px;margin-right:14px}.employee-monthly-data-heading{align-items:flex-start;flex-direction:column}.data-entry-calendar-weekdays,.data-entry-month-calendar{gap:4px}.data-entry-calendar-day{min-height:69px;padding:7px 6px}.data-entry-calendar-day small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.data-entry-calendar-popover{width:min(270px,calc(100vw - 76px));position:fixed;top:auto;right:16px;bottom:16px;left:16px;margin:0 auto}.data-entry-calendar-popover.right,.data-entry-calendar-popover.above{right:16px;left:16px}}@keyframes dashboard-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sidebar{width:220px;flex-basis:220px;background:radial-gradient(circle at 18% 0%,rgba(37,99,235,.24),transparent 26%),linear-gradient(160deg,#050f1f,#061c3d 45%,#04152e);box-shadow:inset -1px 0 #ffffff0d,10px 0 34px #050f1f14}.brand{height:72px;padding:0 20px;border-bottom:1px solid rgba(122,154,184,.12);font-size:16px;letter-spacing:.015em}.sidebar-scroll{padding:14px 12px 22px}.nav-group{margin-bottom:18px}.nav-group-label{margin:0 2px 8px;padding:11px 0 8px;border-top:1px solid rgba(122,154,184,.18);color:#617d9c;font-size:10px;letter-spacing:.14em}.nav-item,.sign-out{height:46px;padding:0 14px;border-radius:9px;color:#a6bad0;transition:color .2s cubic-bezier(.4,0,.2,1),background .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .15s ease}.nav-item:hover,.sign-out:hover{background:#3771c52e;box-shadow:inset 0 0 0 1px #689be714}.nav-item.active{background:linear-gradient(90deg,#2d69c975,#204b8f2e);box-shadow:inset 3px 0 #4b8df8,inset 0 0 0 1px #6da1ef2e,0 7px 20px #030c1b2e}.nav-item:active,.sign-out:active{transform:scale(.985)}.nav-caret{margin-left:auto;transform:rotate(0);transition:transform .2s cubic-bezier(.4,0,.2,1)}.nav-caret.open{transform:rotate(90deg)}.nav-subitems-motion{display:grid;grid-template-rows:0fr;opacity:0;pointer-events:none;transition:grid-template-rows .25s var(--ease-out),opacity .18s ease}.nav-subitems-motion.open{grid-template-rows:1fr;opacity:1;pointer-events:auto}.nav-subitems-motion-inner{min-height:0;overflow:hidden}.nav-subitems{margin-left:14px;padding-left:10px;border-left-color:#7a9ab833}.nav-subitem{min-height:36px;color:#7a9ab8;font-size:12.5px}.sidebar-footer{border-top-color:#7a9ab81f}.security-note{margin-bottom:6px;padding:11px 12px;border:1px solid rgba(122,154,184,.12);border-radius:10px;background:#081f40ad}.security-note svg{filter:drop-shadow(0 0 5px rgba(77,214,132,.42))}.topbar{height:56px;padding:0 28px;background:#fffffff0;border-bottom-color:#dce2ea;box-shadow:0 1px 8px #10233b09;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.content:has(.dashboard-page){max-width:none;min-height:calc(100vh - 56px);padding:28px 34px 48px;background:linear-gradient(170deg,#f2f5f9,#eef1f6)}.dashboard-page{max-width:1320px;margin:0 auto;gap:20px}.dashboard-page .page-header{min-height:92px;align-items:center}.dashboard-page .page-header h1{margin-top:6px;font-size:32px;letter-spacing:-.035em}.dashboard-user-name{color:#306bc6}.dashboard-page .eyebrow{color:#8d99aa;letter-spacing:.17em}.dashboard-page .page-header-actions{padding-top:0}.dashboard-page .secondary-button{border-color:#d5dce6;border-radius:8px;box-shadow:0 2px 7px #1429460a}.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:0}.dashboard-metric-card{min-width:0;min-height:250px;overflow:hidden;position:relative;display:flex;flex-direction:column;border:1px solid rgba(215,222,232,.88);border-radius:14px;background:#fff;box-shadow:0 1px 2px #00000008,0 4px 12px #0000000a;animation:dashboard-card-enter .45s cubic-bezier(.34,1.56,.64,1) backwards;animation-delay:calc(80ms + var(--card-index, 0) * 80ms);transition:transform .45s cubic-bezier(.34,1.56,.64,1),border-color .25s ease,box-shadow .25s ease}.dashboard-metric-card:hover{z-index:1;transform:translateY(-3px);border-color:#9ab0cfb8;box-shadow:0 4px 10px #12253f0f,0 16px 34px #12253f17}.dashboard-metric-hero{min-height:133px;padding:19px 20px 16px;position:relative}.dashboard-metric-blue .dashboard-metric-hero{background:linear-gradient(135deg,#eff6ff,#dbeafe)}.dashboard-metric-default .dashboard-metric-hero{background:linear-gradient(135deg,#f8fafc,#e8edf3)}.dashboard-metric-orange .dashboard-metric-hero{background:linear-gradient(135deg,#fffbeb,#fef3c7)}.dashboard-metric-red .dashboard-metric-hero{background:linear-gradient(135deg,#fff5f5,#fee2e2)}.dashboard-metric-hero:after{width:86px;height:86px;position:absolute;top:-34px;right:-28px;border-radius:50%;background:#ffffff61;content:""}.dashboard-metric-title-row{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;color:#6b7a8d;font-size:12px;font-weight:650;letter-spacing:.01em}.dashboard-metric-icon{width:34px;height:34px;margin-top:-2px;display:grid;place-items:center;border:1px solid rgba(126,151,185,.2);border-radius:9px;background:#ffffff85;box-shadow:0 4px 10px #1f3c6314;transition:transform .45s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease}.dashboard-metric-card:hover .dashboard-metric-icon{transform:translateY(-1px) scale(1.08) rotate(-3deg);box-shadow:0 7px 16px #1f3c6324}.dashboard-metric-blue .dashboard-metric-icon{color:#3977c6}.dashboard-metric-default .dashboard-metric-icon{color:#6f7f92}.dashboard-metric-orange .dashboard-metric-icon{color:#d28a2f}.dashboard-metric-red .dashboard-metric-icon{color:#d45757}.dashboard-metric-hero>strong{max-width:100%;display:block;margin:9px 0 6px;overflow:hidden;color:#101722;font-size:29px;line-height:1.08;letter-spacing:-.045em;text-overflow:ellipsis;white-space:nowrap}.dashboard-metric-hero>strong.compact{font-size:clamp(18px,1.55vw,25px);letter-spacing:-.035em}.dashboard-metric-status{max-width:100%;padding:3px 7px;display:inline-flex;overflow:hidden;border-radius:5px;color:#667488;background:#6f7f9217;font-size:10.5px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.dashboard-metric-status.success{color:#368052;background:#3fa7601c}.dashboard-metric-status.warning{color:#a75e27;background:#da7d3e1f}.dashboard-metric-detail{min-height:116px;padding:14px 20px 15px;position:relative;flex:1;display:flex;flex-direction:column;justify-content:space-between}.dashboard-metric-detail-content{min-height:47px;position:relative;z-index:1}.dashboard-metric-detail>small{position:relative;z-index:1;display:block;overflow:hidden;color:#99a3af;font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.dashboard-project-tags{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.dashboard-project-tags>span{min-width:0;display:flex;align-items:flex-start;gap:6px;color:#4f5c6f;font-size:10.5px;line-height:1.35;overflow-wrap:anywhere}.project-dot{width:6px;height:6px;margin-top:4px;flex:0 0 auto;border-radius:50%;background:#5c8fe8}.project-dot.tone-1{background:#8f79dd}.project-dot.tone-2{background:#45a7b4}.dashboard-metric-empty{color:#9aa5b4!important}.dashboard-employee-stats,.dashboard-split-stats{display:flex;align-items:flex-start;gap:14px}.dashboard-employee-stats>span,.dashboard-split-stats>span{min-width:0;display:grid;gap:1px}.dashboard-employee-stats strong,.dashboard-split-stats strong{color:#263446;font-size:12px}.dashboard-employee-stats small,.dashboard-split-stats small{color:#9aa4b1;font-size:9.5px;white-space:nowrap}.dashboard-employee-stats .positive strong{color:#3b9a5c}.dashboard-employee-stats .negative strong{color:#d65c5c}.dashboard-mini-chart{width:90px;height:48px;position:absolute;top:14px;right:13px;display:flex;align-items:flex-end;justify-content:flex-end;gap:4px;opacity:.58}.dashboard-mini-chart i{width:6px;height:var(--bar-height);display:block;border-radius:3px 3px 1px 1px;background:#92a5bd;transform-origin:bottom;animation:dashboard-bar-rise .5s var(--ease-out) backwards;animation-delay:calc(.52s + var(--bar-index, 0) * 55ms)}.dashboard-metric-orange .dashboard-mini-chart i{background:#dda84d}.dashboard-metric-red .dashboard-mini-chart i{background:#dc7474}.dashboard-metric-detail:has(.dashboard-mini-chart) .dashboard-metric-detail-content{padding-right:76px}.dashboard-insight-grid{grid-template-columns:minmax(360px,.9fr) minmax(460px,1.1fr);gap:16px}.progress-card,.focus-card{overflow:hidden;padding:24px;border-color:#d7dee8e6;border-radius:14px;box-shadow:0 1px 2px #00000008,0 4px 12px #0000000d;animation:dashboard-panel-enter .45s var(--ease-out) backwards}.progress-card{animation-delay:.42s}.focus-card{animation-delay:.5s}.progress-value-row{align-items:flex-end;margin-top:20px}.progress-value-row>div:first-child{display:grid;gap:0}.progress-value-row>div:first-child strong{background:linear-gradient(100deg,#2f9c53,#6fbd79);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:38px;letter-spacing:-.055em}.progress-value-row>div:first-child span{color:#8e99a8;font-size:10.5px}.progress-summary-stats{display:flex;align-items:center;gap:17px}.progress-summary-stats>span{display:grid;gap:2px}.progress-summary-stats small{color:#97a1ae;font-size:9.5px}.progress-summary-stats b{color:#344153;font-size:13px}.progress-track{height:9px;margin-top:16px}.progress-track>span{transition:width 1s cubic-bezier(0,0,.2,1)}.progress-track>span:after{animation:dashboard-progress-shimmer 2.4s ease-in-out infinite}.progress-breakdown{margin-top:13px;font-size:11px}.focus-card{padding-bottom:12px}.focus-item{min-height:70px;margin:0 -10px;padding:12px 10px;border-radius:9px;animation:dashboard-focus-enter .38s var(--ease-out) backwards;animation-delay:calc(.59s + var(--focus-index, 0) * 80ms);transition:background .15s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1)}.focus-item:hover{background:#f7f9fc;transform:translate(2px)}.focus-item:hover>svg{transform:translate(3px)}.focus-item>svg{color:#a2adba;transition:transform .15s cubic-bezier(.4,0,.2,1)}.focus-item .focus-index{width:36px;height:36px;color:#2d68be;background:linear-gradient(145deg,#edf4ff,#dce9ff);box-shadow:inset 0 0 0 1px #4077c514}.focus-item .focus-index.danger{color:#c34b48;background:linear-gradient(145deg,#fff4f3,#fee4e2)}.focus-item-title{display:flex!important;align-items:center;gap:8px}.focus-item-title em{padding:2px 5px;border-radius:4px;color:#a96823;background:#fff4df;font-size:9px;font-style:normal;font-weight:700}.focus-item-title em.danger{color:#c44b49;background:#fff0ef}@keyframes dashboard-card-enter{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dashboard-panel-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes dashboard-focus-enter{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes dashboard-bar-rise{0%{opacity:0;transform:scaleY(.15)}to{opacity:1;transform:scaleY(1)}}@keyframes dashboard-progress-shimmer{0%{transform:translate(-100%)}to{transform:translate(400%)}}@media(max-width:1320px){.dashboard-insight-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dashboard-metric-hero,.dashboard-metric-detail{padding-left:16px;padding-right:16px}.dashboard-employee-stats,.dashboard-split-stats{gap:10px}}@media(prefers-reduced-motion:reduce){.dashboard-page>*,.dashboard-page *,.dashboard-metric-card,.progress-track span:after,.nav-item,.nav-caret,.nav-subitems-motion,.nav-subitem{animation:none!important;transition-duration:.01ms!important}}.all-projects-context{display:inline-flex!important;align-items:center;height:34px;min-width:116px;color:var(--ink-strong, #17243b);font-size:15px;font-weight:700;letter-spacing:0;text-transform:none}.field-help{color:#7b8799;font-size:12px;font-weight:400;line-height:1.45}.bi-dashboard-page{gap:16px}.bi-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.bi-page-header .page-eyebrow{display:none}.bi-page-header h1{margin:0 0 5px;color:#111c2e;font-size:32px;line-height:1.1;letter-spacing:-.04em}.bi-page-header p,.bi-section-heading p{margin:0;color:#7b8799}.bi-as-of{color:#6d7a8f;font-size:13px;white-space:nowrap}.bi-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.bi-metric{display:flex;min-height:126px;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;background:#fff;border:1px solid #dce2ea;border-top:3px solid #2f6fda;border-radius:7px}.bi-metric.orange{border-top-color:#ee8a38}.bi-metric.green{border-top-color:#3ba55c}.bi-metric.blue>svg{color:#2f6fda}.bi-metric.orange>svg{color:#ee8a38}.bi-metric.green>svg{color:#3ba55c}.bi-metric div{display:grid;gap:8px}.bi-metric span{color:#68768a;font-size:14px}.bi-metric strong{color:#162136;font-size:clamp(25px,2vw,31px);font-variant-numeric:tabular-nums;line-height:1}.bi-metric small{color:#8a95a5;font-size:12px}.bi-price-notice{display:flex;align-items:center;gap:10px;padding:12px 14px;color:#8b4f12;background:#fff8eb;border:1px solid #f3d39d;border-radius:6px;font-size:13px}.bi-project-panel,.bi-trend-panel,.bi-employee-panel{padding:0;overflow:hidden}.bi-section-heading{display:flex;align-items:center;justify-content:space-between;min-height:50px;padding:10px 16px;border-bottom:1px solid #e4e8ee}.bi-section-heading h2{margin:0 0 4px;color:#1a2639;font-size:17px}.bi-section-heading p{font-size:12px}.bi-project-table th,.bi-project-table td{padding:10px 16px;white-space:nowrap}.bi-project-table tfoot td,.bi-employee-table tfoot td{padding-top:13px;padding-bottom:13px;background:#fbfcfe;border-top:1px solid #dfe5ed;border-bottom:0;font-variant-numeric:tabular-nums}.bi-project-table th:last-child,.bi-project-table td:last-child{min-width:220px}.bi-project-name-cell{display:inline-flex;align-items:center;gap:14px}.bi-project-name-cell small{min-width:12px;margin:0;color:#718092;font-size:12px}.bi-money-cell{color:#19263a;font-weight:700;font-variant-numeric:tabular-nums}.bi-missing-price{display:inline-flex;padding:3px 8px;color:#985a16;background:#fff6e6;border:1px solid #f2d39f;border-radius:999px;font-size:12px}.bi-contribution-cell{display:grid;grid-template-columns:52px minmax(100px,1fr);align-items:center;gap:10px}.bi-contribution-cell>span{font-variant-numeric:tabular-nums}.bi-contribution-cell>i{height:7px;overflow:hidden;background:#edf0f5;border-radius:999px}.bi-contribution-cell>i>b{display:block;height:100%;background:#2f6fda;border-radius:inherit}.bi-lower-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(480px,1.08fr);gap:16px;align-items:stretch}.bi-trend-wrap{padding:10px 16px 14px}.bi-chart-legend{display:flex;gap:18px;padding:0 8px 4px;color:#66758b;font-size:12px}.bi-chart-legend span{display:inline-flex;align-items:center;gap:6px}.bi-chart-legend i{width:18px;height:3px;border-radius:999px}.bi-chart-legend i.count{background:#2f6fda}.bi-chart-legend i.amount{background:#ee8a38}.bi-trend-chart{display:block;width:100%;min-height:260px}.bi-trend-chart text{fill:#7a8798;font-size:10px;font-family:inherit}.bi-chart-grid{stroke:#e3e8ef;stroke-width:1;stroke-dasharray:3 4}.bi-chart-line{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.bi-chart-line.count{stroke:#2f6fda}.bi-chart-line.amount{stroke:#ee8a38}.bi-employee-table-wrap{max-height:none;overflow:auto}.bi-employee-table{min-width:560px;table-layout:fixed}.bi-employee-table th:nth-child(1){width:52px}.bi-employee-table th:nth-child(2){width:100px}.bi-employee-table th:nth-child(3){width:210px}.bi-employee-table th:nth-child(4){width:118px}.bi-employee-table th:nth-child(5){width:88px}.bi-employee-table th,.bi-employee-table td{padding:7px 9px;white-space:nowrap}.bi-employee-table th{position:sticky;top:0;z-index:1;background:#f8fafc}.bi-rank{display:inline-grid;width:25px;height:25px;place-items:center;color:#536174;background:#edf1f6;border-radius:50%;font-size:12px;font-weight:800}.bi-rank.rank-1{color:#7a4d00;background:#ffd667}.bi-rank.rank-2{color:#536174;background:#dde3ea}.bi-rank.rank-3{color:#7b4327;background:#e6ad82}.bi-project-tags{display:flex;max-width:220px;flex-wrap:wrap;gap:4px}.bi-project-tags span{padding:2px 7px;color:#2f64b5;background:#edf4ff;border:1px solid #d2e2fb;border-radius:999px;font-size:11px}.bi-empty-row{height:96px;color:#8591a2;text-align:center!important}.bi-panel-state,.bi-page-state{display:grid;min-height:280px;place-items:center;align-content:center;gap:8px;padding:28px;color:#788598;text-align:center}.bi-panel-state strong,.bi-page-state strong{color:#273449}.bi-panel-state span,.bi-page-state small{font-size:13px}.bi-page-state{min-height:520px}.bi-page-state.error>svg{color:#d9564f}@media(max-width:1260px){.bi-lower-grid{grid-template-columns:minmax(0,1fr)}.bi-employee-table-wrap{max-height:none}}@media(max-width:980px){.bi-metric-grid{grid-template-columns:minmax(0,1fr)}.bi-page-header{align-items:flex-start;flex-direction:column}}@keyframes progress-glint{55%,to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:620px){html,body{min-width:0;overflow-x:hidden}.app-shell,.workspace,.content,.page-stack,.project-view-layout,.project-detail-panel,.project-dashboard,.bi-dashboard-page{min-width:0}.sidebar{width:64px;min-width:64px;flex-basis:64px}.brand{height:56px;justify-content:center;padding:0}.brand span,.nav-group-label,.nav-item span,.nav-subitem span,.nav-dot,.security-note span{display:none}.sidebar-scroll{padding:8px 6px 14px}.nav-group{margin-bottom:10px}.nav-item,.nav-subitem,.sign-out{justify-content:center;padding:0}.nav-item,.sign-out{height:44px}.nav-subitems{margin-left:0;padding-left:0;border-left:0}.nav-parent-toggle>svg:last-child{display:none}.sidebar-footer{padding:8px 6px}.security-note{justify-content:center;margin-bottom:6px;padding:9px 0}.sign-out{display:flex;font-size:0}.sign-out svg{margin:0}.topbar{min-height:56px;height:auto;padding:7px 9px;gap:4px}.context-picker{min-width:0;flex:1;gap:4px}.context-picker label{min-width:0}.context-picker select{max-width:92px;padding-right:0;overflow:hidden;font-size:13px;text-overflow:ellipsis}.context-picker .month-picker.ant-picker,.context-picker .month-picker-fallback{width:116px;padding-right:4px;padding-left:4px}.context-picker .month-picker .ant-picker-input>input,.context-picker .month-picker-fallback{font-size:14px}.all-projects-context{min-width:0;max-width:78px;overflow:hidden;font-size:12px;text-overflow:ellipsis}.topbar-context{gap:4px}.topbar-context .badge{display:none}.account{padding:5px 0 5px 4px}.content,.content:has(.dashboard-page){padding:18px 12px 32px}.project-card-surface{padding:12px}.project-card-grid{grid-template-columns:minmax(0,1fr)}.project-detail-panel{padding:18px 12px 20px}.project-detail-tabs{margin-right:-12px;margin-left:-12px;padding-right:12px;padding-left:12px}.bi-page-header{gap:10px}.bi-page-header h1{font-size:27px}.bi-metric{min-height:112px;padding:17px 16px}.bi-metric strong{font-size:clamp(22px,8vw,28px)}.bi-project-table{min-width:760px}.bi-trend-wrap{padding-right:10px;padding-left:10px}.bi-chart-legend{flex-wrap:wrap;gap:7px 13px}.g2-chart .g2-tooltip{max-width:min(240px,calc(100% - 12px))}}
