/* Syncro People interaction patterns, adapted for Fatigue-owned routes. */
.more-btn {display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 13px;border:1px solid var(--fm-line);border-radius:10px;background:#fff;font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap;box-shadow:0 2px 4px #0f172a05}
.more-btn:hover {background:#f3f7e5;border-color:var(--fm-green)}
.worker-actions {display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.worker-actions form {margin:0}
.drawer-open {overflow:hidden}
.fm-drawer {position:fixed;inset:0 0 0 auto;margin:0;width:min(760px,100vw);height:100dvh;max-height:100dvh;max-width:100vw;padding:0;border:0;border-left:1px solid var(--fm-line);background:var(--fm-bg);color:var(--fm-ink);box-shadow:-18px 0 50px #0f172a26;overflow:hidden;display:flex;flex-direction:column}
.fm-drawer:not([open]){display:none}
.fm-drawer::backdrop {background:#0f172a66}
.fm-drawer[open] {animation:fm-drawer-enter .18s ease-out}
.fm-drawer-head {position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;background:#fff;border-bottom:1px solid var(--fm-line)}
.fm-drawer-identity{min-width:0}
.fm-drawer-head h2 {margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px}
.fm-drawer-sub{margin:4px 0 0;color:var(--fm-slate);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fm-drawer-head-actions{display:flex;align-items:center;gap:8px}
.fm-drawer-danger{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border:0;border-radius:13px;color:#fff;background:#dc2626;box-shadow:0 10px 24px rgba(220,38,38,.22);cursor:pointer}
.fm-drawer-danger:hover{background:#b91c1c}.fm-drawer-danger[hidden]{display:none}.fm-drawer-danger svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fm-drawer-close {width:40px;height:40px;flex:0 0 40px;border:1px solid var(--fm-line);border-radius:10px;background:#fff;font-size:26px;cursor:pointer}
.fm-drawer-body {padding:24px;overflow:auto;overflow-wrap:anywhere;flex:1 1 auto}
.fm-drawer-body>.panel {margin-top:0}
.fm-drawer-body form>.button {margin-top:18px}
.fm-drawer-body .panel {box-shadow:none}
.worker-editor{overflow:hidden}
.worker-tabs{display:flex;align-items:center;gap:18px;overflow-x:auto;padding:0 18px;border-bottom:1px solid var(--fm-line);white-space:nowrap}
.worker-tabs a,.worker-tabs strong{display:block;padding:14px 0 10px;border-bottom:2px solid transparent;color:var(--fm-ink);font-size:13px;font-weight:850;text-decoration:none}
.worker-tabs a:hover{color:#a75800}.worker-tabs strong{color:#c26700;border-bottom-color:#f59e0b}
.worker-editor-form{max-width:none!important}
.worker-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.worker-editor-grid>.field:last-child{grid-column:1/2}
.worker-editor-grid small{display:block;margin-top:6px;color:var(--fm-slate);font-size:11px;line-height:1.4}
.worker-editor-note{margin:4px 0 0!important}
.worker-editor-footer{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}
.worker-editor-footer .button{margin:0}
.fm-drawer-body .worker-editor{border-radius:16px}
.fm-drawer-body .worker-editor>.consequence-form{display:none}
.native-mobile-nav a.is-active {background:#fff0ce;color:#5f3400}
@keyframes fm-drawer-enter {from{transform:translateX(32px);opacity:.5}to{transform:translateX(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.fm-drawer[open]{animation:none}}
@media(max-width:600px){.fm-drawer-body{padding:12px}.fm-drawer-head{padding:14px 16px}.worker-actions{min-width:100px}.worker-editor-grid{grid-template-columns:1fr}.worker-editor-grid>.field:last-child{grid-column:auto}.worker-tabs{gap:15px;padding:0 14px}.fm-drawer-danger,.fm-drawer-close{width:40px;height:40px;flex-basis:40px}}
@media(max-width:900px){.portal-sidebar{display:none}.portal-shell{display:block}.native-mobile-nav{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px}.native-mobile-nav a{padding:8px 10px;border-radius:8px;text-decoration:none;font-size:12px;font-weight:750}}

/* Workforce follows the established Syncro People layout while retaining Fatigue routes and data. */
.people-panel{overflow:visible}
.people-panel>.people-toolbar{display:grid;grid-template-columns:minmax(16rem,1fr) auto auto auto;align-items:center;gap:12px;max-width:none;margin:0;padding:18px;border-bottom:1px solid var(--fm-line)}
.people-toolbar-title{grid-column:1/-1;display:flex;align-items:center;gap:10px;font-size:15px}
.people-count{display:inline-grid;place-items:center;min-width:25px;height:25px;padding:0 7px;border:1px solid #e1e6ed;border-radius:99px;color:var(--fm-slate);background:#fff;font-size:11px;font-weight:850}
.people-search{display:flex;min-width:0;height:46px;border:1px solid #d6dde7;border-radius:12px;background:#fff;transition:border-color .15s,box-shadow .15s}
.people-search:focus-within{border-color:var(--fm-focus);box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.people-search input{min-width:0;min-height:44px;border:0;border-radius:12px;padding:0 14px;background:transparent;font-style:italic;box-shadow:none}
.people-search input:focus{border:0;box-shadow:none}
.people-search button{width:72px;border:0;border-radius:0 11px 11px 0;color:var(--fm-slate);background:transparent;font-size:11px;font-weight:850;cursor:pointer}
.people-search button:hover{color:var(--fm-ink);background:#f8fafc}
.people-filter{position:relative}
.people-filter summary{display:grid;place-items:center;width:46px;height:46px;border-radius:11px;color:#704300;background:#f7b84b;font-size:24px;font-weight:900;cursor:pointer;list-style:none}
.people-filter summary::-webkit-details-marker{display:none}
.people-filter[open] summary{box-shadow:0 0 0 3px rgba(245,158,11,.18)}
.people-filter>div{position:absolute;z-index:5;right:0;top:54px;width:220px;padding:14px;border:1px solid var(--fm-line);border-radius:12px;background:#fff;box-shadow:0 18px 40px rgba(15,23,42,.16)}
.people-filter label{display:block;margin:0 0 6px;font-size:12px;font-weight:800}
.people-filter select{min-height:42px}
.people-filter .button{width:100%;min-height:40px;margin-top:10px}
.people-import,.people-add{display:inline-flex;align-items:center;justify-content:center;height:46px;border-radius:11px;color:#3f2d12;font-weight:850;text-decoration:none;white-space:nowrap}
.people-import{padding:0 20px;background:#f7b84b}
.people-add{width:46px;color:#18330a;background:var(--fm-green);font-size:25px}
.people-import:hover,.people-add:hover{filter:brightness(.96)}
.people-result-note{margin:0!important;padding:10px 18px;border-bottom:1px solid var(--fm-line);color:var(--fm-slate);font-size:11px}
.people-table{font-size:13px}
.people-table th{height:44px;padding:10px 16px;background:#fbfcf7;font-size:10px}
.people-table td{height:78px;padding:14px 16px}
.people-table th:nth-child(1){width:40%}.people-table th:nth-child(2){width:20%}.people-table th:nth-child(3){width:25%}.people-table th:last-child{width:15%;text-align:right}
.people-table td:last-child{text-align:right}
.worker-identity{display:flex;align-items:center;gap:13px;min-width:0}
.worker-identity>span:last-child{display:flex;align-items:center;gap:8px;min-width:0}
.attendance-workspace{max-width:1000px}.attendance-workspace-body{padding:24px}.attendance-workspace h2{font-size:18px;margin:0 0 10px}.attendance-workspace p{font-size:13px;line-height:1.6;color:var(--fm-slate)}.attendance-page-identity{padding-bottom:22px}.attendance-page-identity p{margin:0}.fm-drawer .attendance-page-identity,.fm-drawer .attendance-page-back{display:none}.attendance-overview{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px;background:#f7f9fc;border:1px solid var(--fm-line);border-radius:12px}.attendance-overview p{margin:0}.attendance-overview .attendance-label{font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.attendance-overview .more-btn{flex-shrink:0;min-height:40px}.attendance-context{margin:16px 0 22px}.attendance-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 24px}.attendance-metrics>.panel{margin:0;padding:18px;border:1px solid var(--fm-line);border-radius:12px;min-width:0;background:#fff}.attendance-metrics h2{font-size:15px}.attendance-metrics>.panel>p,.attendance-workspace-body>section.panel>p{margin:0 0 12px}.attendance-metrics p:last-child{margin-bottom:0}.attendance-workspace-body>section.panel{padding:0;border:0;border-top:1px solid var(--fm-line);border-radius:0;padding-top:22px;box-shadow:none}.attendance-workspace .data-table{min-width:540px}.attendance-workspace .table-scroll{max-width:100%;overflow-x:auto}.attendance-workspace .data-table th,.attendance-workspace .data-table td{font-size:12px;padding:12px 10px}.attendance-workspace .alert{color:#8a3c22}.attendance-workspace ul{padding-left:20px;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
@media(max-width:600px){.attendance-workspace-body{padding:16px}.attendance-metrics{grid-template-columns:1fr}.attendance-overview{padding:16px;flex-wrap:wrap}.attendance-overview h2{font-size:17px}.attendance-metrics>.panel{padding:16px}}
.worker-identity strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.worker-avatar{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border:1px solid #dce8ba;border-radius:50%;color:#243142;background:#f7fae9;font-size:14px;font-weight:900}
.worker-state{display:inline-flex;padding:3px 7px;border-radius:99px;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.03em}
.worker-state-active{color:#467717;background:#edf8e2}.worker-state-inactive{color:#687386;background:#edf1f5}
.people-empty{text-align:center!important;color:var(--fm-slate);padding:34px!important}
.people-table .more-btn{min-height:40px;border-color:#344054;border-radius:12px;padding:8px 14px}
@media(max-width:760px){
 .people-panel>.people-toolbar{grid-template-columns:1fr auto;gap:9px;padding:14px}
 .people-toolbar-title{grid-column:1/-1}.people-search{grid-column:1}.people-import{grid-column:1;padding:0 12px}.people-add{grid-column:2}
 .people-filter{position:relative;right:auto;margin-top:0}.people-filter summary{width:46px;height:46px}.people-filter>div{top:54px}
 .people-table th:nth-child(3),.people-table td:nth-child(3){display:none}
 .people-table{table-layout:fixed}.people-table th:nth-child(1){width:48%}.people-table th:nth-child(2){width:19%}.people-table th:last-child{width:33%}
 .people-table td{height:70px;padding:10px}.worker-avatar{width:34px;height:34px;flex-basis:34px}.worker-identity{gap:8px}.worker-identity>span:last-child{display:block;overflow:hidden}.worker-state{margin-top:4px}.people-table .more-btn{padding:7px 9px}
}
