/* Workforce is an additive desktop module. Inherits CRM typography and motion preference. */
.workforce { min-width:0; --wf-line:#344156; --wf-muted:#a1afc2; }
.workforce fieldset { border:0; padding:0; margin:0; min-width:0; }
.workforce form { margin:0; }.workforce [hidden] { display:none!important; }
.workforce .form-error:empty { display:none; }.workforce textarea { min-height:90px; }
.wf-card { margin-block:22px; }.wf-card .card-head h2 { margin:0; font-size:21px; }
.wf-notice { padding:14px 17px; border:1px solid #344b66; border-radius:11px; background:#182738; color:#bed0e6; line-height:1.65; margin:16px 0; }
.wf-empty { padding:30px 20px; border:1px dashed #3b4c64; border-radius:12px; color:var(--wf-muted); line-height:1.7; }
.workforce [data-workforce-form="contacts"] .form-grid+button { margin-top:18px; }
.workforce [data-workforce-form="team-filter"] fieldset { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end; }
.workforce [data-workforce-form="team-filter"] .field { margin:0; }
.workforce [data-workforce-form="team-filter"] .form-error { grid-column:1/-1; }
.wf-passport { padding:30px; border:1px solid #405574; border-radius:18px; background:linear-gradient(115deg,#1d3047,#18202d); }
.wf-passport-hero { display:flex; align-items:center; gap:24px; }.wf-passport-hero h2 { font-size:30px; margin:8px 0; }.wf-passport-hero p { color:#a6bad2; margin:6px 0 14px; }
.wf-avatar { width:86px;height:86px; flex:none; display:grid;place-items:center;border:1px solid #5f91d8;background:#263e60;border-radius:24px;color:#c5dcff;font-size:32px;font-weight:700; }
.wf-facts { display:grid;grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; margin:26px 0 0; padding-top:22px;border-top:1px solid #3a4b61; }.wf-facts dt { color:#a9bdd4; font-size:12px; }.wf-facts dd { margin:8px 0 0; overflow-wrap:anywhere; }
.wf-status { display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid #46546a;background:#202b3a;border-radius:9px;font-size:12px;line-height:1.4; }
.wf-status i { width:6px;height:6px;border-radius:50%;background:currentColor; }.wf-active,.wf-approved { color:#81dfb8;border-color:#346c5b;background:#1a352e; }.wf-afk,.wf-returned { color:#f0c17e;border-color:#735c38;background:#362e23; }.wf-submitted { color:#9cbdff;border-color:#4e6b9f;background:#23334e; }.wf-unknown { color:#bdc4ce;background:#272c34; }
.wf-disclosure { border-top:1px solid #344156;padding:18px 0; }.wf-disclosure summary { cursor:pointer; padding:7px 0; }.wf-disclosure form { margin-top:20px;max-width:620px; }.wf-secret { display:block;max-width:620px;overflow-wrap:anywhere;padding:18px;background:#172b27;border:1px solid #41816c;border-radius:10px;margin-top:15px;user-select:all; }
.wf-team-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px; }.wf-team-card { padding:23px;background:#192331;border:1px solid #36465d;border-radius:15px;display:flex;align-items:flex-start;flex-direction:column;gap:20px; }.wf-team-card h3 { margin:12px 0 6px;font-size:19px; }.wf-team-card p { margin:0;color:var(--wf-muted); }.wf-role-code { color:#91b7ff;font-size:12px;font-weight:700;letter-spacing:1px; }
.wf-team-shift { font-size:12px;line-height:1.7; }
.wf-week-toolbar,.wf-schedule-summary { display:flex;align-items:center;justify-content:space-between;gap:20px;background:#1a2636;border:1px solid #3d526d;padding:22px;border-radius:14px; }.wf-week-toolbar h2,.wf-schedule-summary h2 { margin:7px 0;font-size:24px; }.wf-week-toolbar form fieldset { display:flex;align-items:end;gap:12px; }.wf-week-toolbar .field { margin:0; }.wf-week-toolbar .form-error { max-width:220px; }.wf-schedule-summary { margin-top:20px; }.wf-schedule-summary p { color:var(--wf-muted);font-size:13px;line-height:1.7; }
.wf-seven-days { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #36495f;border-radius:10px;overflow:hidden;margin:15px 0; }.wf-day-summary { display:flex;flex-direction:column;gap:11px;padding:16px 10px;background:#20344a;border-right:1px solid #3a506b;min-width:0; }.wf-day-summary:last-child { border-right:0; }.wf-day-summary strong { font-size:12px;text-transform:uppercase; }.wf-day-summary span { font-size:12px;overflow-wrap:anywhere; }.wf-day-summary.is-off { background:#19222f;color:#a6b4c7; }
.wf-plan-row { padding:15px 0;border-bottom:1px solid #344156; }.wf-plan-row:last-child { border-bottom:0; }.wf-day-editor { display:flex;flex-direction:column;gap:12px;margin:22px 0; }.wf-day-edit { display:grid;grid-template-columns:90px 130px minmax(110px,1fr) minmax(110px,1fr) 170px;align-items:center;gap:15px;padding:16px;border:1px solid #344a65;border-radius:11px;background:#172334; }.wf-day-edit .field { margin:0; }.wf-day-edit .field>span { font-size:12px; }.wf-day-edit .check { font-size:12px; }.wf-day-edit input[type=time] { min-width:0; }
.wf-wish-card { padding:22px 0;border-bottom:1px solid #3b4a61; }.wf-wish-card:last-child { border-bottom:0; }.wf-wish-heading { display:flex;align-items:center;justify-content:space-between;gap:18px; }.wf-wish-heading h3 { margin:0 0 6px; }.wf-wish-heading small { color:var(--wf-muted); }.wf-wish-card form fieldset { display:grid;grid-template-columns:210px 1fr auto;gap:16px;align-items:end; }.wf-wish-card form textarea { min-height:45px; }.wf-wish-card form .form-error { grid-column:1/-1; }
.wf-shift-hero { display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:30px;border:1px solid #41628e;border-radius:16px;background:linear-gradient(115deg,#213a59,#182330); }.wf-shift-hero .eyebrow { display:block;margin-bottom:18px; }.wf-clock { display:block;font-size:46px;letter-spacing:1px;line-height:1.3;margin:17px 0;font-variant-numeric:tabular-nums; }.wf-shift-controls { align-self:center; }.wf-shift-controls p { color:#b7c8df;font-size:13px;line-height:1.8; }
.wf-metric-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:20px 0; }.wf-metric-grid>div { padding:20px;border:1px solid #3c4e66;border-radius:11px;background:#182536; }.wf-metric-grid strong { display:block;font-size:30px;color:#a9c8ff; }.wf-metric-grid span { display:block;font-size:12px;color:#b4c3d7;line-height:1.7;margin-top:9px; }.wf-metrics-list { display:grid;gap:13px; }.wf-metrics-list dt { color:#a5b6ce;font-size:12px; }.wf-metrics-list dd { margin:4px 0; }
.wf-settle { position:fixed;right:25px;bottom:77px;z-index:1900;display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:460px;border:1px solid #596a82;background:#1a2635;padding:13px 17px;border-radius:13px;box-shadow:0 8px 28px #0005;font-size:12px; }.wf-settle p:empty { display:none; }
.workforce .btn,.workforce summary,.wf-team-card { transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,transform 180ms ease; }.wf-team-card:hover { border-color:#668cc1;transform:translateY(-2px); }
@media(max-width:1250px){.wf-team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.wf-day-edit { grid-template-columns:75px 110px 1fr 1fr; }.wf-day-edit>.check:last-child { grid-column:3/-1; }.wf-week-toolbar { align-items:flex-start;flex-direction:column; }.wf-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }.wf-wish-card form fieldset { grid-template-columns:1fr 1fr; }.wf-metric-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }}
@media(prefers-reduced-motion:reduce){.workforce *,.workforce *::before,.workforce *::after,.wf-settle { animation:none!important;transition:none!important; }}
