.workers-route{display:grid;gap:14px;min-width:0}.workers-body{display:grid;gap:12px;min-width:0}.workers-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.workers-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.workers-title-row h1{margin:0;font-size:28px;line-height:1.15}.workers-subtitle{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.workers-tabs{display:flex;gap:6px;margin-top:11px;flex-wrap:wrap}
.workers-tabs button,.workers-secondary,.workers-primary,.workers-icon-btn{min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font:750 13px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .12s ease,opacity .16s ease}.workers-tabs button:hover,.workers-secondary:hover,.workers-icon-btn:hover{background:var(--surface2)}.workers-tabs button:active,.workers-secondary:active,.workers-primary:active,.workers-icon-btn:active{transform:translateY(1px)}.workers-tabs button.active,.workers-secondary.active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 46%,var(--line));background:var(--accentSoft)}.workers-primary{background:var(--accent);border-color:var(--accent);color:#fff}.workers-primary:disabled,.workers-secondary:disabled,.workers-icon-btn:disabled{opacity:.48;cursor:not-allowed;transform:none}
.workers-card{min-width:0;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--parity-shadow);padding:14px}.workers-card h2{margin:0;font-size:17px;line-height:1.25}.workers-card h3{margin:12px 0 7px;font-size:13px}.workers-card p{margin:4px 0;color:var(--muted);font-size:12px;line-height:1.5}.workers-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.workers-card-head>div>p{margin-top:4px}.workers-head-actions{display:flex;gap:7px;flex-wrap:wrap}.workers-loading,.workers-empty{padding:22px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);background:var(--surface);font-size:13px;line-height:1.5;text-align:center}.workers-empty.compact{padding:12px;min-height:auto}.workers-inline-msg{color:var(--muted);font-size:12px;line-height:1.45}.workers-inline-msg.error{color:#c62845}
.workers-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:12px}.workers-bottom-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:12px}.workers-month-controls{display:inline-flex;align-items:center;gap:6px;margin-top:10px}.workers-month-controls b{min-width:150px;text-align:center;text-transform:capitalize;font-size:13px}.workers-icon-btn{width:38px;padding:0;display:inline-grid;place-items:center}.workers-legend{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0 10px}.workers-legend-item{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font:700 11px system-ui}.workers-shift-dot{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:6px;color:#fff;font-style:normal;font-weight:900}
.workers-shift-dot.night,.workers-shift-chip.night,.workers-template-tag.night,.workers-profile-shift.night{background:#163b86}.workers-shift-dot.morning,.workers-shift-chip.morning,.workers-template-tag.morning,.workers-profile-shift.morning{background:#f2bd3e;color:#3b2a00}.workers-shift-dot.evening,.workers-shift-chip.evening,.workers-template-tag.evening,.workers-profile-shift.evening{background:#ef8f18}.workers-shift-dot.off,.workers-shift-chip.off{background:#eef1f5;color:#667085}.workers-shift-dot.leave,.workers-shift-chip.leave{background:#4cbf68}.workers-shift-dot.missed,.workers-shift-chip.missed{background:#e84a5f}
.workers-calendar-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:12px;overscroll-behavior:contain}.workers-calendar-grid{display:grid;grid-template-columns:190px repeat(var(--workers-days),minmax(50px,1fr));min-width:1050px;background:var(--surface)}.workers-cal-head{min-height:52px;display:grid;place-items:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px}.workers-cal-head small{font-size:9px;color:var(--muted)}.workers-cal-head.weekend,.workers-cal-head.weekend small{color:#d8344e}.workers-cal-head.worker-col{justify-items:start;padding-left:12px;font-size:11px;position:sticky;left:0;z-index:4;background:var(--surface)}.workers-worker-cell{display:flex;align-items:center;gap:8px;padding:8px 10px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;position:sticky;left:0;z-index:3}.workers-worker-cell:hover{background:var(--surface2)}.workers-avatar{flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(145deg,#f1f4f9,#dfe5ee);border:1px solid var(--line);font:850 11px system-ui;color:#344054}.workers-avatar.small{width:28px;height:28px;font-size:9px}.workers-worker-copy{display:grid;gap:1px;min-width:0}.workers-worker-copy>b{font-size:11px;overflow:hidden;text-overflow:ellipsis}.workers-worker-copy>small{font-size:9px;color:var(--muted)}.workers-status{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--muted)}.workers-status i{width:6px;height:6px;border-radius:50%;background:#aeb6c2}.workers-status.active i{background:#1fb86a}.workers-cal-cell{min-height:62px;display:grid;place-items:center;padding:4px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer}.workers-cal-cell:hover{background:var(--surface2)}.workers-cal-cell.has-override{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 38%,transparent)}.workers-shift-chip{display:grid;place-items:center;align-content:center;gap:1px;width:42px;min-height:42px;border-radius:7px;color:#fff;font:800 8px system-ui;text-align:center;white-space:pre-line;line-height:1.05;pointer-events:none}.workers-shift-chip b{font-size:13px;line-height:1}.workers-shift-chip span{white-space:pre-line}.workers-shift-chip.off{font-size:8px}
.workers-summary{display:grid;gap:8px;align-content:start}.workers-summary-metric{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}.workers-summary-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eaf2ff;color:#245fc9;font-weight:900}.workers-summary-metric.covered .workers-summary-icon{background:#e9f8ef;color:#149652}.workers-summary-metric.missed .workers-summary-icon{background:#ffedf0;color:#d72c49}.workers-summary-metric.coverage .workers-summary-icon{background:#f4efff;color:#7558c7}.workers-summary-metric small,.workers-summary-metric b{display:block}.workers-summary-metric small{color:var(--muted);font-size:10px}.workers-summary-metric b{font-size:20px}
.workers-template-table{margin-top:10px;border:1px solid var(--line);border-radius:12px;overflow:auto}.workers-template-row{display:grid;grid-template-columns:minmax(170px,1.2fr) minmax(150px,.8fr) minmax(170px,1fr) minmax(150px,.8fr);gap:8px;align-items:center;min-width:720px;padding:9px 10px;border-bottom:1px solid var(--line);font-size:11px}.workers-template-row:last-child{border-bottom:0}.workers-template-head{background:var(--surface2);color:var(--muted);font-size:10px;font-weight:750}.workers-template-worker{display:flex;align-items:center;gap:7px;min-width:0}.workers-template-button{border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer;font:inherit}.workers-template-tag,.workers-profile-shift{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:5px 7px;border-radius:7px;color:#fff;font-weight:800;font-size:9px}.workers-template-days{color:var(--muted);line-height:1.4}.workers-exception-form{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.workers-exception-form label{display:grid;gap:5px;color:var(--muted);font-size:10px}.workers-exception-form input,.workers-exception-form select{min-width:0;height:40px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font-size:14px}.workers-exception-form .workers-primary{grid-column:2;justify-self:end}
.workers-data-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:12px}.workers-worker-list{display:grid;gap:6px;margin-top:10px;max-height:640px;overflow:auto}.workers-list-row{display:flex;align-items:center;gap:9px;width:100%;padding:9px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.workers-list-row:hover{background:var(--surface2)}.workers-list-row.active{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--accentSoft)}.workers-list-row>span:last-child{display:grid;min-width:0}.workers-list-row b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workers-list-row small{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workers-data-main{display:grid;gap:12px}.workers-profile{text-align:left}.workers-profile-head{display:flex;align-items:center;gap:12px}.workers-profile-head .workers-avatar{width:64px;height:64px;font-size:18px}.workers-profile-head h2{font-size:22px}.workers-profile-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:12px 0 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.workers-info-item{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px;padding:10px;border-bottom:1px solid var(--line)}.workers-info-item:nth-last-child(-n+2){border-bottom:0}.workers-info-item small{color:var(--muted)}.workers-note{margin-top:10px;padding:10px;border-radius:10px;background:var(--surface2);white-space:pre-wrap}.workers-rate-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.workers-pay-rule{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface2)}.workers-pay-rule small,.workers-pay-rule b{display:block}.workers-pay-rule small{color:var(--muted);font-size:10px}.workers-pay-rule b{margin-top:4px;font-size:14px}.workers-doc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px}.workers-doc{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--surface2);min-width:0}.workers-doc-placeholder{display:grid;place-items:center;min-height:74px;border:1px dashed var(--line);border-radius:9px;font-size:25px;color:var(--muted)}.workers-doc b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workers-doc small{color:var(--muted);font-size:10px}.workers-doc-actions{display:flex;gap:6px;flex-wrap:wrap}.workers-doc-actions button{min-height:32px;font-size:11px}
.workers-payroll-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:12px}.workers-pay-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.workers-pay-kpi{padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--surface2)}.workers-pay-kpi small,.workers-pay-kpi b{display:block}.workers-pay-kpi small{color:var(--muted);font-size:10px}.workers-pay-kpi b{margin-top:4px;font-size:18px}.workers-pay-table{overflow:auto;border:1px solid var(--line);border-radius:12px}.workers-pay-row{display:grid;grid-template-columns:minmax(180px,1.3fr) 105px 80px 105px 130px 125px 125px;gap:8px;align-items:center;min-width:930px;padding:10px;border-bottom:1px solid var(--line);font-size:11px}.workers-pay-row:last-child{border-bottom:0}.workers-pay-head{background:var(--surface2);color:var(--muted);font-size:10px;font-weight:750}.workers-pay-worker{display:flex;align-items:center;gap:7px;min-width:0}.workers-pay-worker>span:last-child{display:grid;min-width:0}.workers-pay-worker b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workers-adjustment{width:105px;height:36px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-size:12px}.workers-final{font-weight:850}.workers-finance-cell{display:grid;gap:5px;justify-items:start}.workers-sync-state{font-size:9px;color:var(--muted)}.workers-sync-state.ok{color:#149652}.workers-sync-state.warn{color:#c47a00}.workers-pay-error{color:#c62845}.workers-finance-note{display:grid;gap:10px;align-content:start}.workers-finance-note .workers-primary{width:100%}
.workers-modal-bg{position:fixed;inset:0;z-index:1600;display:grid;place-items:center;padding:20px;background:rgba(15,23,42,.48);backdrop-filter:blur(3px)}.workers-modal{width:min(760px,100%);max-height:min(88vh,900px);overflow:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 24px 70px rgba(15,23,42,.28)}.workers-modal-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid var(--line);background:var(--surface)}.workers-modal-head h2{margin:0;font-size:18px}.workers-form{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:14px}.workers-field{display:grid;gap:6px;color:var(--text);font-size:12px;font-weight:650}.workers-field.wide,.workers-weekdays.wide,.workers-check.wide,.workers-form-actions{grid-column:1/-1}.workers-field>span{color:var(--muted);font-size:11px;font-weight:650}.workers-field input,.workers-field select,.workers-field textarea{width:100%;min-width:0;min-height:40px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface2);color:var(--text);font-size:14px}.workers-field textarea{min-height:88px;resize:vertical}.workers-field input:disabled{opacity:.58}.workers-weekdays{margin:0;padding:10px;border:1px solid var(--line);border-radius:11px;display:flex;gap:7px;flex-wrap:wrap}.workers-weekdays legend{padding:0 6px;color:var(--muted);font-size:11px}.workers-day-check{display:inline-flex;align-items:center;gap:5px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface2);font-size:11px;cursor:pointer}.workers-check{display:flex;align-items:center;gap:8px;font-size:12px}.workers-form-actions{display:flex;justify-content:flex-end;align-items:center;gap:7px;flex-wrap:wrap;padding-top:3px}.workers-form-actions .workers-inline-msg{margin-right:auto;max-width:420px}
.dark .workers-card,.dark .workers-worker-cell,.dark .workers-cal-head.worker-col,.dark .workers-tabs button,.dark .workers-secondary,.dark .workers-icon-btn,.dark .workers-exception-form input,.dark .workers-exception-form select,.dark .workers-modal,.dark .workers-modal-head,.dark .workers-adjustment{background:var(--surface)}.dark .workers-avatar{background:linear-gradient(145deg,#263245,#1d2735);color:#e5ebf4}
@media(max-width:1100px){.workers-dashboard-grid,.workers-payroll-grid{grid-template-columns:1fr}.workers-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.workers-bottom-grid{grid-template-columns:1fr}.workers-data-grid{grid-template-columns:220px minmax(0,1fr)}.workers-doc-grid{grid-template-columns:1fr 1fr}.workers-rate-cards,.workers-pay-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.workers-route{gap:10px}.workers-head{display:grid}.workers-head>.workers-primary{width:100%}.workers-title-row h1{font-size:24px}.workers-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.workers-tabs button{padding:0 6px;font-size:11px}.workers-card{padding:10px}.workers-card-head{display:grid}.workers-head-actions{display:grid;grid-template-columns:1fr 1fr}.workers-head-actions button{width:100%}.workers-dashboard-grid,.workers-bottom-grid,.workers-data-grid,.workers-payroll-grid{grid-template-columns:1fr}.workers-summary{grid-template-columns:1fr 1fr}.workers-month-controls{width:100%}.workers-month-controls b{flex:1}.workers-calendar-grid{grid-template-columns:150px repeat(var(--workers-days),48px);min-width:max-content}.workers-worker-cell{padding:6px}.workers-worker-copy>b{font-size:10px}.workers-avatar{width:30px;height:30px}.workers-profile-meta{grid-template-columns:1fr}.workers-info-item:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.workers-info-item:last-child{border-bottom:0}.workers-doc-grid{grid-template-columns:1fr}.workers-exception-form{grid-template-columns:1fr}.workers-exception-form .workers-primary{grid-column:1;width:100%}.workers-pay-kpis,.workers-rate-cards{grid-template-columns:1fr 1fr}.workers-modal-bg{padding:8px;place-items:end center}.workers-modal{max-height:94vh;border-radius:16px 16px 0 0}.workers-form{grid-template-columns:1fr}.workers-field.wide,.workers-weekdays.wide,.workers-check.wide,.workers-form-actions{grid-column:auto}.workers-form-actions{display:grid;grid-template-columns:1fr 1fr}.workers-form-actions .workers-inline-msg{grid-column:1/-1;margin-right:0}.workers-form-actions button{width:100%}.workers-field input,.workers-field select,.workers-field textarea,.workers-adjustment{font-size:16px}}
@media(max-width:480px){.workers-summary,.workers-pay-kpis,.workers-rate-cards{grid-template-columns:1fr}.workers-head-actions{grid-template-columns:1fr}.workers-tabs{grid-template-columns:1fr}.workers-profile-head{align-items:flex-start}.workers-profile-head .workers-avatar{width:50px;height:50px}.workers-info-item{grid-template-columns:105px minmax(0,1fr)}.workers-form-actions{grid-template-columns:1fr}}
