:root{--bg:#f4f6f8;--text:#17212b;--muted:#71808f;--line:#e5e9ee;--accent:#0f6b58;--soft:#eaf5f1;--shadow:0 8px 28px rgba(20,35,45,.06)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a,button,input,select{font:inherit}a{text-decoration:none;color:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{width:250px;background:#10231f;color:#e9f2ef;display:flex;flex-direction:column;padding:24px 16px;position:fixed;inset:0 auto 0 0}.brand{display:flex;align-items:center;gap:11px;padding:4px 10px 30px}.brand-mark{width:38px;height:38px;border-radius:10px;background:#d7efe8;color:#123f35;display:grid;place-items:center;font-weight:900;font-size:20px}.brand strong{display:block;font-size:18px}.brand span{display:block;font-size:11px;color:#9eb4ae;margin-top:2px}.nav-item{height:43px;border-radius:9px;display:flex;align-items:center;gap:13px;padding:0 12px;color:#b9cbc6;font-size:14px}.nav-item.active,.nav-item:hover{background:#1a3932;color:white}.nav-item.active{box-shadow:inset 3px 0 #80c9b5}.nav-section{font-size:10px;letter-spacing:1.3px;color:#6f8880;margin:24px 12px 7px}.sidebar-footer{margin-top:auto;border-top:1px solid #294039;padding:17px 10px;display:flex;align-items:center;gap:9px;font-size:11px}.sidebar-footer span,.sidebar-footer strong{display:block}.sidebar-footer span{color:#77928a;margin-top:3px}.status-dot{width:8px;height:8px;border-radius:50%;background:#5fc69c}.main{margin-left:250px;flex:1 1}.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);justify-content:flex-end;padding:0 34px}.top-actions,.topbar{display:flex;align-items:center}.top-actions{gap:15px}.icon-button{border:0;background:#f6f8f9;width:38px;height:38px;color:#55636e;position:relative}.notification i{position:absolute;width:6px;height:6px;background:#d15b4f;border-radius:50%;right:9px;top:8px}.user-chip{display:flex;align-items:center;gap:10px;padding-left:8px}.avatar{width:37px;height:37px;border-radius:50%;background:#dceee9;color:#155b4b;display:grid;place-items:center;font-size:12px;font-weight:800}.avatar.big{width:64px;height:64px;font-size:18px}.user-chip span,.user-chip strong{display:block;font-size:12px}.user-chip span{color:var(--muted);margin-top:2px}.mobile-brand{display:none}.content{padding:34px;max-width:1500px;margin:auto}.hero,.page-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:1.3px;color:#7b8a94;font-weight:700;margin:0 0 8px}.hero h1,.page-header h1{font-size:30px;line-height:1.1;margin:0 0 8px;letter-spacing:-.7px}.subtle{margin:0;color:var(--muted);font-size:14px}.primary{border:0;background:var(--accent);color:white;border-radius:9px;padding:11px 17px;font-weight:700;cursor:pointer;box-shadow:0 5px 14px rgba(15,107,88,.18)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:15px;gap:15px;margin-bottom:18px}.stat-grid.three{grid-template-columns:repeat(3,1fr)}.stat-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;gap:15px;box-shadow:var(--shadow)}.stat-number{font-size:28px;font-weight:800;color:var(--accent)}.stat-card span,.stat-card strong{display:block}.stat-card strong{font-size:13px}.stat-card span{font-size:11px;color:var(--muted);margin-top:3px}.dashboard-grid{display:grid;grid-template-columns:1.7fr 1fr;grid-gap:18px;gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:21px}.panel.large{min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.panel-head h2{font-size:15px;margin:0 0 4px}.panel-head p{color:var(--muted);margin:0}.panel-head a,.text-button{font-size:11px;color:var(--accent);font-weight:700;border:0;background:none;cursor:pointer}.list-row,.request-row,.work-row{display:flex;align-items:center;gap:13px;padding:14px 0;border-top:1px solid #edf0f2}.time{font-size:11px;color:#8a98a3;width:40px}.announcement-icon,.work-icon{width:34px;height:34px;border-radius:9px;background:var(--soft);color:var(--accent);display:grid;place-items:center}.work-info{flex:1 1}.work-info span,.work-info strong{display:block}.work-info strong{font-size:13px}.work-info span{font-size:11px;color:var(--muted);margin-top:3px}.pill{font-size:10px;font-weight:700;padding:5px 8px;border-radius:20px;white-space:nowrap}.progress{background:#eaf5f1;color:#17735f}.assigned{background:#edf1f8;color:#526b8e}.pending,.review{background:#fff4dc;color:#986c17}.approved,.paid{background:#e8f5ec;color:#277447}.quick-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px}.quick-grid a{border:1px solid var(--line);background:#fafbfb;border-radius:9px;padding:17px 8px;cursor:pointer;color:var(--text);font-size:18px;text-align:center}.quick-grid span{display:block;font-size:10px;font-weight:700;margin-top:8px}.announcement{display:flex;gap:12px;padding:13px 0;border-top:1px solid #edf0f2}.announcement p,.announcement small{font-size:11px;color:var(--muted);line-height:1.5;margin:4px 0}.announcement small{font-size:10px}.two-col{grid-template-columns:1.5fr 1fr;grid-gap:18px;gap:18px}.profile-hero{display:flex;gap:15px;align-items:center;padding-bottom:22px;border-bottom:1px solid var(--line)}.profile-hero h2{margin:0 0 5px;font-size:19px}.profile-hero p{margin:0 0 8px;color:var(--muted);font-size:12px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;padding-top:22px}.detail-grid label,.detail-grid strong{display:block}.detail-grid label{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:#8b98a1;margin-bottom:5px}.detail-grid strong,.list-row{font-size:12px}.list-row{justify-content:space-between}.table{width:100%}.table-row{display:grid;grid-template-columns:1.4fr 1fr .7fr 1fr;grid-gap:12px;gap:12px;align-items:center;padding:14px 4px;border-top:1px solid #edf0f2;font-size:12px}.table-head{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:#87949e;font-weight:700;border-top:0}.admin-grid,.document-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.admin-card,.doc-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:var(--shadow)}.doc-card{display:grid;grid-template-columns:auto 1fr auto;grid-gap:12px;gap:12px;align-items:center}.admin-icon,.doc-icon{width:40px;height:40px;border-radius:10px;background:var(--soft);display:grid;place-items:center}.doc-card small,.doc-card span,.doc-card strong{display:block}.doc-card strong{font-size:13px}.doc-card small,.doc-card span{font-size:10px;color:var(--muted);margin-top:4px}.announcement-list{display:grid;grid-gap:15px;gap:15px}.announcement-card{display:flex;gap:15px}.announcement-card h2{font-size:16px;margin:5px 0}.announcement-card p{font-size:12px;color:var(--muted);margin:0;line-height:1.6}.post-meta{font-size:10px;color:var(--accent);font-weight:700}.search-row{display:flex;gap:10px;margin-bottom:16px}.search-row input,.search-row select{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#fff;font-size:12px}.search-row input{flex:1 1}.employee-cell{display:flex;align-items:center;gap:9px}.mini-avatar{width:28px;height:28px;background:#dceee9;color:#155b4b;font-size:9px}.job-row{display:flex;align-items:center;gap:15px;padding:15px 0;border-top:1px solid #edf0f2}.job-row>div{flex:1 1}.job-row small,.job-row span,.job-row strong{display:block}.job-row small{color:#8b98a1}.job-row strong{font-size:13px;margin:3px 0}.job-row>div span{font-size:11px;color:var(--muted)}.admin-grid{grid-template-columns:repeat(3,1fr)}.admin-card h2{font-size:14px;margin:13px 0 6px}.admin-card p{font-size:11px;color:var(--muted);line-height:1.5;min-height:34px}.admin-card>span{display:block;font-size:10px;color:var(--accent);font-weight:700;margin:10px 0}.admin-card .text-button{padding:0}@media(max-width:1000px){.sidebar{width:215px}.main{margin-left:215px}.stat-grid{grid-template-columns:1fr 1fr}.dashboard-grid,.two-col{grid-template-columns:1fr}.admin-grid,.document-grid{grid-template-columns:1fr 1fr}.content{padding:24px}}@media(max-width:650px){.sidebar{display:none}.main{margin-left:0}.mobile-brand{display:block;font-weight:800;margin-right:auto}.topbar{padding:0 15px}.user-chip div:last-child{display:none}.content{padding:18px}.hero,.page-header{align-items:flex-start;gap:15px;flex-direction:column}.hero h1,.page-header h1{font-size:25px}.stat-grid,.stat-grid.three{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:14px}.panel{padding:16px}.admin-grid,.document-grid{grid-template-columns:1fr}.table{overflow-x:auto}.table-row{min-width:650px}.search-row{flex-direction:column}}.logout-button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 11px;font-size:11px;color:#596772;cursor:pointer}.login-page{min-height:100vh;background:linear-gradient(135deg,#10231f,#183d34);display:grid;place-items:center;padding:20px}.login-card{width:min(430px,100%);background:#fff;border-radius:18px;padding:38px;box-shadow:0 24px 80px rgba(0,0,0,.2)}.login-brand{display:flex;align-items:center;gap:11px;margin-bottom:38px}.login-brand strong{display:block;font-size:19px}.login-brand span{display:block;font-size:11px;color:var(--muted);margin-top:2px}.login-title h1{font-size:29px;margin:0 0 7px}.login-title>p:last-child{font-size:13px;color:var(--muted);margin:0 0 24px}.login-card form label{display:block;font-size:11px;font-weight:700;margin-bottom:15px}.login-card input{display:block;width:100%;margin-top:7px;border:1px solid #dce2e6;border-radius:9px;padding:12px;background:#fbfcfc;outline:none;font-size:13px}.login-button{width:100%;margin-top:5px}.login-error{background:#fff0ee;color:#a43e32;border:1px solid #f3d2cd;padding:10px;border-radius:8px;font-size:11px;margin-bottom:13px}.demo-note{margin-top:22px;padding:12px;background:#f5f8f7;border-radius:9px;text-align:center}.demo-note span,.demo-note strong{display:block}.demo-note strong{font-size:10px;color:var(--accent)}.demo-note span{font-size:10px;color:var(--muted);margin-top:4px}.directory-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.directory-toolbar h2{font-size:15px;margin:0 0 4px}.directory-toolbar p{font-size:11px;color:var(--muted);margin:0}.directory-count{font-size:11px;font-weight:700;color:var(--accent);background:var(--soft);padding:8px 10px;border-radius:20px}.department-strip{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-bottom:18px}.department-chip{background:#f8faf9;border:1px solid var(--line);border-radius:9px;padding:12px;display:flex;justify-content:space-between;align-items:center}.department-chip strong{font-size:11px}.department-chip span{font-size:11px;color:var(--accent);font-weight:800}.employee-table-head,.employee-table-row{grid-template-columns:1.5fr 1.4fr .9fr 1fr .8fr}.employee-table-row{color:var(--text);cursor:pointer}.employee-table-row:hover{background:#f8fbfa}.employee-cell small{display:block;font-size:9px;color:var(--muted);margin-top:2px}.breadcrumb{margin-bottom:14px}.breadcrumb a{color:var(--accent);font-weight:700}.employee-profile-header{margin-bottom:18px}.employee-profile-header .profile-hero{border:0;padding:0}.employee-profile-header h1{font-size:25px;margin:2px 0 5px}.employee-profile-header .profile-hero p:not(.eyebrow){font-size:12px;color:var(--muted);margin:0 0 8px}.detail-grid.single{grid-template-columns:1fr}.employee-detail-grid{align-items:start}.list-row span strong{font-size:11px}.list-row span small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.empty-state{margin:0;padding:12px 0}@media(max-width:850px){.department-strip{grid-template-columns:1fr 1fr}.employee-table-head,.employee-table-row{min-width:850px}}.leave-action-bar{display:flex;align-items:center;gap:14px;margin:0 0 18px}.leave-action-bar span{font-size:11px;color:var(--muted)}.leave-table{grid-template-columns:1.2fr 1fr .5fr .8fr 1fr}.inline-button{display:inline-block;margin-top:12px}.approval-panel{margin-top:18px}.approval-list{display:grid;grid-gap:12px;gap:12px}.approval-card{display:flex;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:10px;padding:16px;background:#fbfcfc}.approval-person{display:flex;align-items:center;gap:10px}.approval-person small,.approval-person strong{display:block}.approval-person small{font-size:9px;color:var(--muted);margin-top:3px}.mini-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--accent);font-size:10px;font-weight:800}.approval-details{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));grid-gap:16px;gap:16px;margin-top:14px}.approval-details span{font-size:10px;color:var(--muted)}.approval-details b{display:block;color:var(--text);font-size:9px;margin-bottom:3px;text-transform:uppercase;letter-spacing:.5px}.approval-buttons{display:flex;align-items:center;gap:8px}.secondary{background:white;color:var(--text);border-radius:9px;padding:10px 14px;font-weight:700;cursor:pointer}.modal-backdrop{position:fixed;inset:0;background:rgba(10,25,21,.45);display:grid;place-items:center;padding:20px;z-index:100}.modal{width:min(600px,100%);background:#fff;border-radius:15px;padding:22px;box-shadow:0 25px 80px rgba(0,0,0,.25)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.modal-head h2{margin:0;font-size:20px}.modal-close{border:0;background:#f1f3f4;width:32px;height:32px;border-radius:8px;font-size:20px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:15px;gap:15px}.form-grid label{font-size:11px;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;margin-top:7px;border:1px solid #dce2e6;border-radius:9px;padding:11px;background:#fbfcfc;outline:none;font-size:12px}.form-grid textarea{min-height:90px;resize:vertical}.form-grid .full{grid-column:1/-1}.form-error{background:#fff0ee;color:#a43e32;border:1px solid #f3d2cd;padding:10px;border-radius:8px;font-size:11px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}@media(max-width:850px){.approval-card{flex-direction:column}.approval-details{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.leave-table{min-width:760px}}.expense-action-bar{display:flex;align-items:center;gap:14px;margin:0 0 18px}.expense-action-bar span{font-size:11px;color:var(--muted)}.expense-table{grid-template-columns:1.2fr 1fr 1fr .8fr .9fr}.expense-approval-banner{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#f4f8f6;border:1px solid #dbe9e3;border-radius:10px;padding:14px 16px;margin-bottom:18px}.expense-approval-banner span,.expense-approval-banner strong{display:block}.expense-approval-banner strong{font-size:12px}.expense-approval-banner span{font-size:10px;color:var(--muted);margin-top:3px}.expense-approval-list{display:grid;grid-gap:12px;gap:12px}.expense-approval-card{display:flex;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:10px;padding:16px;background:#fbfcfc}.expense-details{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));grid-gap:16px;gap:16px;margin-top:14px}.expense-details span{font-size:10px;color:var(--muted)}.expense-details b{display:block;color:var(--text);font-size:9px;margin-bottom:3px;text-transform:uppercase;letter-spacing:.5px}.expense-details a{color:var(--accent);font-weight:700}.expense-description{font-size:11px;color:var(--muted);margin:12px 0 0}.expense-claim-main{min-width:0}@media(max-width:850px){.expense-approval-card{flex-direction:column}.expense-details{grid-template-columns:1fr 1fr}.expense-table{min-width:650px}}.operations-action-bar{display:flex;align-items:center;gap:14px;margin:0 0 18px}.operations-action-bar span{font-size:11px;color:var(--muted)}.jobs-table{grid-template-columns:1fr 1.25fr 1fr 1.25fr .8fr 1fr}.job-row{color:var(--text)}.job-row:hover{background:#f8fbfa}.job-row small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.priority{font-size:9px;font-weight:800;padding:4px 7px;border-radius:12px;background:#eef2f1}.priority.high,.priority.urgent{background:#fff0ee;color:#a43e32}.priority.low{background:#f2f4f5;color:#66727a}.priority.urgent{font-weight:900}.job-hero{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.job-hero h1{font-size:25px;margin:2px 0 5px}.job-hero p:not(.eyebrow){font-size:12px;color:var(--muted);margin:0}.job-hero-meta{display:flex;gap:8px;align-items:center}.job-description{border-top:1px solid var(--line);margin-top:18px;padding-top:15px;color:var(--muted);font-size:11px;line-height:1.6}.report-card{border:1px solid var(--line);border-radius:9px;padding:12px;margin-bottom:9px}.report-card small,.report-card strong{display:block}.report-card small{font-size:9px;color:var(--muted);margin-top:3px}.report-card p{font-size:11px;line-height:1.5;margin:10px 0 0}.control-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.control-grid label,.report-form label{display:block;font-size:10px;font-weight:700}.control-grid select,.report-form select,.report-form textarea{display:block;width:100%;margin-top:6px;border:1px solid #dce2e6;border-radius:8px;padding:10px;background:#fbfcfc;font-size:11px}.small-button{margin-top:8px}.report-form{display:grid;grid-template-columns:180px 1fr auto;grid-gap:12px;gap:12px;align-items:end;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.report-form textarea{min-height:75px;resize:vertical}.report-form .report-summary{font-weight:700}.report-form .primary{height:38px}.job-actions .panel-head{padding-bottom:14px}@media(max-width:850px){.jobs-table{min-width:900px}.job-hero{flex-direction:column;gap:12px}.control-grid,.report-form{grid-template-columns:1fr}.report-form .primary{width:max-content}}.field-job-list{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}.field-job-card{display:block;border:1px solid var(--line);border-radius:11px;padding:16px;color:var(--text);transition:.15s}.field-job-card:hover{background:#f8fbfa;border-color:#cddbd6}.field-job-top{display:flex;justify-content:space-between;align-items:center}.field-job-card h3{font-size:17px;margin:10px 0 4px}.field-job-card p{font-size:11px;color:var(--muted);margin:0}.field-job-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:9px;color:var(--muted)}.field-job-hero{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.field-job-hero h1{font-size:25px;margin:2px 0 5px}.field-job-hero p:not(.eyebrow){font-size:12px;color:var(--muted);margin:0}.field-checklist{display:grid;grid-gap:10px;gap:10px}.field-checklist>div{display:grid;grid-template-columns:30px 1fr;grid-column-gap:10px;column-gap:10px;padding:11px;border:1px solid var(--line);border-radius:8px}.field-checklist span{grid-row:span 2;font-size:10px;font-weight:800;color:var(--accent)}.field-checklist strong{font-size:11px}.field-checklist small{font-size:9px;color:var(--muted);margin-top:3px}.field-actions .panel-head{padding-bottom:15px}.field-status-control{display:flex;align-items:end;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--line)}.field-status-control label{font-size:10px;font-weight:700;flex:1 1}.field-status-control select{display:block;width:100%;margin-top:6px;border:1px solid #dce2e6;border-radius:8px;padding:10px;background:#fbfcfc;font-size:11px}.field-form{padding-top:16px;margin-top:16px;border-top:1px solid var(--line)}.field-form h3{font-size:12px;margin:0 0 12px}.field-form .primary{margin-top:10px}@media(max-width:850px){.field-job-list{grid-template-columns:1fr}.field-job-hero{flex-direction:column;gap:12px}.field-status-control{align-items:stretch;flex-direction:column}}.site-table{grid-template-columns:2fr 1.2fr 1fr 1.2fr}.joint-table{grid-template-columns:1.3fr 1.3fr 1.2fr .8fr 1fr 1.3fr}.stat-grid.four{grid-template-columns:repeat(4,1fr)}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:18px}.tab{border:0;background:transparent;padding:10px 14px;font-size:11px;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent}.tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:800}.inline-form{margin:18px 0}.mini-list{margin-top:18px;border-top:1px solid var(--line)}.mini-row{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid var(--line);font-size:10px}.mini-row span{color:var(--muted)}.subsection{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.subsection h3{font-size:12px;margin:0 0 12px}.decision-box{display:grid;grid-gap:12px;gap:12px}.decision-box label{font-size:10px;font-weight:700}.decision-box input,.decision-box select,.decision-box textarea{display:block;width:100%;margin-top:6px}.save-msg{display:inline-block;margin-left:10px;font-size:10px;color:#237a58;font-weight:700}.breadcrumb{margin-bottom:12px}.breadcrumb a{font-size:11px;color:var(--muted)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.page-header h1{margin:4px 0 5px;font-size:27px}.page-header p{margin:0;color:var(--muted);font-size:12px}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.two-col>.panel:last-child{grid-column:1/-1}@media(max-width:900px){.stat-grid.four{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.joint-table,.site-table{grid-template-columns:1fr 1fr}.joint-table span:nth-child(n+4),.site-table span:nth-child(n+3){display:none}}.wide-modal{width:min(820px,100%);max-height:90vh;overflow:auto}.role-section{border-top:1px solid var(--line);padding-top:14px}.role-section>strong{font-size:11px}.field-help{font-size:10px;color:var(--muted);margin:5px 0 10px}.check-grid,.engineer-picker{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-top:10px}.check-item{display:flex!important;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;padding:10px;background:#fbfcfc;font-size:10px!important;font-weight:600!important}.check-item input{width:auto!important;margin:0!important}.check-item small{display:block;color:var(--muted);font-size:8px;margin-top:2px}.work-package-list{display:grid;grid-gap:8px;gap:8px}.work-package{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:9px;padding:11px 12px}.work-package strong{font-size:11px;text-transform:capitalize}.team-role{margin-top:14px}.team-role h3{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin:0 0 4px}.team-role:first-child{margin-top:0}@media(max-width:850px){.check-grid,.engineer-picker{grid-template-columns:1fr 1fr}}.access-layout{display:grid;grid-template-columns:320px 1fr;grid-gap:18px;gap:18px}.access-user-list{display:grid;grid-gap:5px;gap:5px}.access-user{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:1px solid transparent;background:#fff;border-radius:9px;padding:10px;cursor:pointer}.access-user.selected,.access-user:hover{background:var(--soft);border-color:#cfe4dc}.access-user small,.access-user strong{display:block}.access-user strong{font-size:12px}.access-user small{font-size:10px;color:var(--muted);margin-top:3px}.permission-group{border-top:1px solid var(--line);padding:16px 0}.permission-group h3{font-size:12px;margin:0 0 9px}.permission-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #f0f2f3}.permission-row:first-of-type{border-top:0}.permission-row small,.permission-row strong{display:block}.permission-row strong{font-size:11px}.permission-row small{font-size:9px;color:var(--muted);margin-top:3px}.permission-actions{display:flex;align-items:center;gap:5px;flex-shrink:0}.access-toggle,.secondary-button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:700;cursor:pointer}.access-toggle.on{background:#e8f5ec;color:#277447}.access-toggle.off{background:#fff0ee;color:#a43e32}.access-toggle:disabled{opacity:.5;cursor:not-allowed}.inline-notice{background:#eaf5f1;color:#17604f;border:1px solid #cde6dc;border-radius:8px;padding:10px 12px;font-size:11px;margin:0 0 14px}.planning-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.planning-toolbar>div{display:flex;gap:7px}.visual-board{overflow:hidden}.whereabouts-scroll{overflow-x:auto}.whereabouts-grid{min-width:920px;display:grid;grid-template-columns:190px repeat(5,minmax(145px,1fr));border:1px solid var(--line);border-radius:10px;overflow:hidden}.whereabouts-row{display:contents}.whereabouts-cell{min-height:72px;padding:9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;background:#fff}.whereabouts-cell.board-head{min-height:auto;background:#f4f7f6;text-transform:uppercase;letter-spacing:.6px;font-weight:800;color:#71808f}.engineer-name{background:#fbfcfc}.engineer-name small,.engineer-name strong,.whereabouts-cell small,.whereabouts-cell strong{display:block}.engineer-name strong{font-size:11px}.engineer-name small,.whereabouts-cell small{font-size:9px;color:var(--muted);margin-top:4px}.whereabouts-cell.filled{background:#f0f8f5}.whereabouts-cell.empty{background:#fff}.planning-cell-button{width:100%;height:100%;min-height:52px;border:0;background:transparent;text-align:left;cursor:pointer;color:var(--text);padding:0}.planning-cell-button:hover{background:#e7f3ef}.planning-editor{display:grid;grid-gap:4px;gap:4px}.planning-editor input,.planning-editor select{width:100%;border:1px solid var(--line);border-radius:6px;padding:5px;font-size:9px;background:#fff}.planning-editor>div{display:flex;gap:5px;align-items:center}.planning-editor .primary{padding:6px 8px;font-size:9px}.my-week-list{display:grid;grid-gap:0;gap:0}.week-item{display:flex;gap:10px;padding:10px 0;border-top:1px solid #edf0f2}.week-date{width:68px;font-size:10px;color:var(--accent);font-weight:800}.week-item small,.week-item strong{display:block}.week-item strong{font-size:11px}.week-item small{font-size:9px;color:var(--muted);margin-top:3px}.stayaway-panel{margin-top:18px}.stayaway-card{border:1px solid var(--line);border-radius:9px;padding:14px;background:#fafbfb}.stayaway-card small,.stayaway-card span,.stayaway-card strong{display:block}.stayaway-card strong{font-size:12px}.stayaway-card span{font-size:10px;margin-top:5px}.stayaway-card small{font-size:10px;color:var(--muted);margin-top:7px}.work-pack-link{margin-top:10px;color:var(--accent);font-size:10px;font-weight:800}.stayaway-mini{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.stayaway-mini div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;font-size:10px}@media(max-width:900px){.access-layout{grid-template-columns:1fr}.whereabouts-grid{min-width:800px}}@media(max-width:650px){.planning-toolbar{align-items:stretch;flex-direction:column}.planning-toolbar>div{width:100%}.planning-toolbar button{flex:1 1}.permission-row{align-items:flex-start;flex-direction:column}.permission-actions{width:100%}.permission-actions button{flex:1 1}.stayaway-card{margin-bottom:8px}}.conflict-cell{background:#fff3ee!important;border:1px solid #e8b9ae!important}.conflict-warning{color:#a43e32!important;font-weight:800!important}.site-board{min-width:980px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.site-board-head{display:grid;grid-template-columns:250px repeat(5,minmax(140px,1fr));background:#f4f7f6;text-transform:uppercase;letter-spacing:.6px;font-size:9px;font-weight:800;color:#71808f}.site-board-head>div{padding:10px;border-right:1px solid var(--line)}.site-board-group{border-top:1px solid var(--line)}.site-board-title{padding:11px 12px;background:#fbfcfc;border-bottom:1px solid var(--line)}.site-board-title small,.site-board-title strong{display:block}.site-board-title strong{font-size:11px}.site-board-title small{font-size:9px;color:var(--muted);margin-top:3px}.site-engineer-row{display:grid;grid-template-columns:250px repeat(5,minmax(140px,1fr))}.site-engineer-name{padding:9px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.site-engineer-name small,.site-engineer-name strong{display:block}.site-engineer-name strong{font-size:10px}.site-engineer-name small{font-size:8px;color:var(--muted);margin-top:3px}.site-board-note{padding:8px 12px;font-size:9px;color:var(--muted);background:#fafcfc}.planning-add-bar{display:grid;grid-template-columns:1.2fr .8fr .9fr 1.2fr 1fr auto;grid-gap:7px;gap:7px;padding:12px;background:#f7faf9;border-top:1px solid var(--line)}.planning-add-bar input,.planning-add-bar select{border:1px solid var(--line);border-radius:7px;padding:8px;font-size:9px;background:#fff}.planning-add-bar .primary{font-size:9px}.notification-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:11px}.notification-list{display:grid;grid-gap:0;gap:0}.notification-card{display:flex;gap:12px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:#fff;padding:14px;cursor:pointer}.notification-card:last-child{border-bottom:0}.notification-card.unread{background:#f4faf7}.notification-card strong{font-size:11px}.notification-card p{font-size:10px;color:var(--muted);margin:4px 0}.notification-card small{font-size:8px;color:var(--muted)}.notification-dot{font-size:10px;color:var(--accent);padding-top:2px}.top-actions .notification{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.top-actions .notification:visited{color:inherit}@media(max-width:900px){.planning-add-bar{grid-template-columns:1fr 1fr}.site-board{min-width:900px}}.planning-board-shell{display:grid;grid-gap:14px;gap:14px}.planning-toolbar-v2{margin-bottom:0}.planning-toolbar-actions{display:flex;align-items:center;gap:8px}.planning-range{font-size:10px;color:var(--muted);font-weight:700}.visual-board-v2{padding:0;overflow:hidden}.whereabouts-banner{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line);background:#fbfcfc}.board-kicker{font-size:9px;font-weight:900;letter-spacing:1.2px;color:var(--muted)}.whereabouts-banner h2{margin:4px 0 2px;font-size:22px}.whereabouts-banner p{margin:0;font-size:10px;color:var(--muted)}.board-count{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:70px;height:62px;border-radius:12px;background:#eef6f2;border:1px solid #d7e9e2}.board-count strong{font-size:22px}.board-count span{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}.whereabouts-site-grid{display:grid;grid-template-columns:repeat(4,minmax(230px,1fr));grid-gap:10px;gap:10px;padding:12px;background:#f7f8f8;align-items:start}.whereabouts-site-card{background:#fff;border:1px solid #cfd7d5;border-radius:8px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.03)}.site-card-topline{display:flex;justify-content:space-between;align-items:center;padding:7px 9px;background:#f1f4f3;color:#6e7c79;font-size:8px;font-weight:900;letter-spacing:.7px}.site-card-icon{font-size:10px}.site-card-heading{padding:12px 12px 8px;text-align:center;border-bottom:1px solid #edf0ef}.site-card-heading h3{font-size:13px;margin:0 0 3px;text-transform:uppercase}.site-card-heading>strong{display:block;font-size:15px}.site-job-number{font-size:8px;color:var(--muted);margin-top:4px}.site-card-details{padding:9px 12px;border-bottom:1px solid #edf0ef;display:grid;grid-gap:7px;gap:7px}.site-card-details div{display:grid;grid-gap:2px;gap:2px}.site-card-details span{font-size:7px;color:var(--muted);font-weight:900;letter-spacing:.7px}.site-card-details strong{font-size:9px;line-height:1.35}.site-card-engineers{padding:9px 10px 10px}.site-card-section-title{display:flex;justify-content:space-between;font-size:8px;font-weight:900;color:var(--muted);letter-spacing:.7px;margin-bottom:7px}.site-card-section-title span{background:#e8f2ef;color:#2c6756;border-radius:999px;padding:2px 6px}.site-engineer-pill{display:grid;grid-template-columns:1fr auto auto;grid-gap:6px;gap:6px;padding:7px 8px;margin-top:5px;background:#edf3f7;border:1px solid #cbd9e2;border-radius:8px}.site-engineer-pill small,.site-engineer-pill strong{display:block}.site-engineer-pill strong{font-size:9px}.site-engineer-pill small{font-size:7px;color:var(--muted);margin-top:2px}.day-badge{font-size:7px;font-weight:900;color:#8b3430;background:#fff7f5;border:1px solid #ead1cc;border-radius:5px;padding:4px 5px;white-space:nowrap}.allocation-remove{border:0;background:#fff0ee;color:#a43e32;border-radius:5px;width:20px;height:20px;cursor:pointer;font-weight:900}.site-card-empty{font-size:9px;color:var(--muted);padding:6px 2px}.site-card-stayaway{margin:0 10px 10px;padding:7px 8px;border-radius:6px;background:#fff7e9;border:1px solid #efd7a8;color:#795a20;font-size:8px;font-weight:800}.planning-editor-v2{padding:14px;background:#f4f8f6;border-bottom:1px solid var(--line)}.editor-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.editor-title strong{font-size:9px;letter-spacing:.7px}.editor-title span{font-size:8px;color:var(--muted)}.editor-grid{display:grid;grid-template-columns:1.1fr 1.2fr .8fr 1fr .8fr 1.3fr;grid-gap:7px;gap:7px}.editor-grid label{font-size:8px;font-weight:800;color:#5e6b68}.editor-grid input,.editor-grid select{display:block;width:100%;margin-top:4px;border:1px solid var(--line);border-radius:6px;padding:7px;font-size:9px;background:#fff}.editor-days{display:flex;align-items:center;gap:5px;margin:10px 0}.editor-days>span{font-size:8px;font-weight:900;color:var(--muted);margin-right:3px}.day-toggle{border:1px solid var(--line);background:#fff;border-radius:6px;padding:5px 8px;font-size:8px;font-weight:900;cursor:pointer}.day-toggle small{display:block;font-size:7px;color:var(--muted);font-weight:600}.day-toggle.selected{background:#dfeee8;border-color:#a9cdbf;color:#1d5d4b}.planning-toolbar-v2 .primary,.planning-toolbar-v2 .secondary-button{white-space:nowrap}@media(max-width:1150px){.whereabouts-site-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}.editor-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.whereabouts-site-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.planning-toolbar-v2{align-items:stretch;flex-direction:column}.planning-toolbar-actions{flex-wrap:wrap}.editor-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.whereabouts-site-grid{grid-template-columns:1fr}.whereabouts-banner{align-items:flex-start}.board-count{min-width:58px;height:52px}.editor-grid{grid-template-columns:1fr}.editor-days{flex-wrap:wrap}}.site-first-step{background:#fff;border:1px solid #dce5e1;border-radius:9px;padding:11px;margin-top:8px}.step-title{display:flex;align-items:center;gap:7px;margin-bottom:8px}.step-title b{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#e1eee9;color:#1d5d4b;font-size:9px}.step-title strong{font-size:9px;letter-spacing:.3px}.step-title span{color:var(--muted)}.step-title .secondary-button,.step-title span{margin-left:auto;font-size:8px}.site-first-select,.site-first-step>select{width:100%;border:1px solid var(--line);border-radius:6px;padding:8px;font-size:9px;background:#fff}.site-create-grid{grid-template-columns:1fr 1fr auto}.editor-action{display:flex;align-items:end}.editor-action .primary{height:31px;white-space:nowrap}.editor-help{display:block;color:var(--muted);font-size:8px;margin-top:6px}.engineer-picker{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));grid-gap:6px;gap:6px;max-height:210px;overflow:auto}.engineer-check{display:flex;align-items:center;gap:7px;border:1px solid #dce5e1;border-radius:7px;padding:7px;background:#fafcfc;cursor:pointer}.engineer-check.selected{background:#eaf4f0;border-color:#a9cdbf}.engineer-check input{accent-color:#2d6b59}.engineer-check small,.engineer-check strong{display:block}.engineer-check strong{font-size:8px}.engineer-check small{font-size:7px;color:var(--muted);margin-top:2px}.editor-extra-grid{grid-template-columns:.8fr 1.8fr auto;margin-top:8px}.site-card-details small{display:block;font-size:7px;color:var(--muted);line-height:1.35;margin-top:2px}@media(max-width:900px){.engineer-picker{grid-template-columns:repeat(2,minmax(150px,1fr))}.editor-extra-grid,.site-create-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.editor-extra-grid,.engineer-picker,.site-create-grid{grid-template-columns:1fr}.editor-action{align-items:stretch}.editor-action .primary{width:100%}}.locator-shell{display:grid;grid-gap:16px;gap:16px}.locator-search{padding:20px}.locator-badge{font-size:8px;font-weight:900;letter-spacing:.8px;color:#2b6b59;background:#eaf5f1;border:1px solid #cde6dc;padding:6px 8px;border-radius:999px}.locator-form{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:10px;gap:10px}.locator-form label{font-size:9px;font-weight:800;color:#5f6c68}.locator-form input,.locator-form select{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:7px;padding:9px;font-size:10px;background:#fff}.locator-action{display:flex;align-items:end}.locator-action .primary{width:100%;height:36px}.locator-summary{display:flex;justify-content:space-between;gap:20px;background:#123b34;color:#fff;border-radius:12px;padding:18px 20px;box-shadow:var(--shadow)}.locator-summary-main h2{margin:3px 0;font-size:20px}.locator-summary-main p{margin:0 0 5px;font-size:10px;opacity:.85}.locator-summary-main small{font-size:8px;opacity:.7}.locator-metrics{display:flex;gap:10px;align-items:center}.locator-metrics div{min-width:90px;padding:10px 12px;border:1px solid rgba(255,255,255,.15);border-radius:9px;background:rgba(255,255,255,.06);text-align:center}.locator-metrics span,.locator-metrics strong{display:block}.locator-metrics strong{font-size:18px}.locator-metrics span{font-size:8px;opacity:.75;margin-top:2px}.locator-filters{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.filter{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 9px;font-size:8px;font-weight:800;cursor:pointer}.filter.active{background:#eaf5f1;border-color:#acd1c3;color:#1e624f}.locator-list{display:grid;grid-gap:8px;gap:8px}.locator-card{display:grid;grid-template-columns:30px 1.3fr 1fr 1.3fr auto;grid-gap:10px;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fff}.locator-card.is-leave{background:#fff8f7;border-color:#ecd2cd}.locator-card.is-planned{background:#fffaf0;border-color:#ead9b7}.locator-rank{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#edf4f1;color:#1f604f;font-size:9px;font-weight:900}.locator-distance span,.locator-distance strong,.locator-person span,.locator-person strong{display:block}.locator-person strong{font-size:11px}.locator-person span{font-size:8px;color:var(--muted);margin-top:3px}.locator-distance strong{font-size:10px}.locator-distance span{font-size:8px;color:var(--muted);margin-top:3px}.locator-status{display:flex;gap:4px;flex-wrap:wrap}.status-chip{font-size:7px;font-weight:900;border-radius:999px;padding:5px 7px;white-space:nowrap}.status-chip.good{background:#e7f5eb;color:#267346}.status-chip.danger{background:#fdebea;color:#9a3b35}.status-chip.warning{background:#fff1d9;color:#8a641d}.status-chip.away{background:#fff5e2;color:#795a20}.status-chip.neutral{background:#eef1f3;color:#5e6a72}.locator-actions{display:flex;gap:5px}.locator-actions a{font-size:8px;padding:8px 10px;text-decoration:none;white-space:nowrap}.disabled-link{opacity:.45;pointer-events:none}.locator-actions .primary{font-size:8px;padding:8px 10px;white-space:nowrap}@media(max-width:1050px){.locator-form{grid-template-columns:1fr 1fr}.locator-card{grid-template-columns:30px 1fr 1fr}.locator-actions,.locator-status{grid-column:2/-1}}@media(max-width:700px){.locator-form{grid-template-columns:1fr}.locator-summary{flex-direction:column}.locator-metrics{display:grid;grid-template-columns:repeat(3,1fr)}.locator-card{grid-template-columns:30px 1fr}.locator-actions,.locator-distance,.locator-status{grid-column:2}.locator-filters{justify-content:flex-start}}.locator-team-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0;padding:10px 12px;border:1px solid #d6e6df;border-radius:9px;background:#f4faf7}.locator-team-toolbar>div:first-child span,.locator-team-toolbar>div:first-child strong{display:block}.locator-team-toolbar strong{font-size:10px;color:#1f604f}.locator-team-toolbar span{font-size:8px;color:var(--muted);margin-top:2px}.locator-team-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.locator-team-actions a{font-size:8px;padding:8px 10px;text-decoration:none;white-space:nowrap}.locator-select{display:grid;place-items:center;width:25px;height:25px;color:#aab6b2;font-size:10px}.locator-select input{width:17px;height:17px;accent-color:#2d6b59;cursor:pointer}.locator-card{grid-template-columns:30px 30px 1.3fr 1fr 1.3fr auto}.locator-card.is-selected{border-color:#8fc2af;background:#f3faf7;box-shadow:0 0 0 2px rgba(45,107,89,.08)}@media(max-width:1050px){.locator-card{grid-template-columns:30px 30px 1fr 1fr}.locator-actions,.locator-status{grid-column:3/-1}}@media(max-width:700px){.locator-team-toolbar{align-items:flex-start;flex-direction:column}.locator-card{grid-template-columns:30px 30px 1fr}.locator-actions,.locator-distance,.locator-status{grid-column:3}.locator-team-actions{width:100%}}.locator-conflicts,.locator-team-config{margin:16px 0;padding:18px;border:1px solid var(--border,#dfe3e8);border-radius:14px;background:var(--panel,#fff)}.team-config-list{display:grid;grid-gap:10px;gap:10px}.team-config-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto auto;grid-gap:14px;gap:14px;align-items:center;padding:12px;border:1px solid var(--border,#e3e7eb);border-radius:12px;background:#fafbfc}.team-config-row>div:first-child{display:flex;flex-direction:column;gap:3px}.team-config-row small{color:#68727d}.team-config-days{display:flex;gap:5px}.team-config-days .day-toggle{min-width:48px}.stayaway-toggle{white-space:nowrap;font-size:13px}.conflict-list{display:grid;grid-gap:8px;gap:8px}.conflict-item{display:grid;grid-template-columns:180px 1fr;grid-gap:4px 12px;gap:4px 12px;padding:12px;border-left:4px solid #d33;border-radius:8px;background:#fff4f4}.conflict-item small{grid-column:1/-1;color:#5d6670}.override-row{gap:8px;margin-top:14px;font-size:13px}.locator-conflicts.clear{border-color:#a9d8b2;background:#f4fbf5}.conflict-success{padding:10px;border-radius:8px;color:#256b35}.locator-conflicts.has-conflicts{border-color:#e6b2b2;background:#fffafa}@media(max-width:900px){.team-config-row{grid-template-columns:1fr}.team-config-days{flex-wrap:wrap}.conflict-item{grid-template-columns:1fr}}.override-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.override-row input[type=text],.override-row>input:not([type]){min-width:280px}.whereabouts-scroller-wrap{background:#f7f8f8;border-top:1px solid var(--line);padding:0 12px 12px}.whereabouts-scroller-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 2px;font-size:8px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}.whereabouts-scroller-toolbar>div{display:flex;gap:5px}.whereabouts-scroller-toolbar .secondary-button{min-width:30px;padding:5px 8px;font-size:10px;line-height:1}.whereabouts-site-scroll{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 10px;scrollbar-width:thin;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:pan-y;scroll-behavior:smooth}.whereabouts-site-scroll.dragging{cursor:-webkit-grabbing;cursor:grabbing;scroll-behavior:auto}.whereabouts-site-scroll .whereabouts-site-card{flex:0 0 285px;width:285px}.whereabouts-site-scroll::-webkit-scrollbar{height:8px}.whereabouts-site-scroll::-webkit-scrollbar-thumb{background:#c7d0cd;border-radius:999px}.whereabouts-site-scroll::-webkit-scrollbar-track{background:#edf1ef;border-radius:999px}@media(max-width:650px){.whereabouts-site-scroll .whereabouts-site-card{flex-basis:270px;width:270px}.whereabouts-scroller-toolbar{padding-top:7px}}.employee-pay-workspace{overflow:hidden}.employee-pay-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:4px 0 16px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#f8fbfa}.employee-pay-heading h3{margin:0;font-size:18px}.employee-pay-heading span{display:block;margin-top:4px;color:var(--muted);font-size:10px}.employee-pay-kpis{display:flex;gap:10px}.employee-pay-kpis>div{min-width:92px;padding:9px 11px;border:1px solid #dfe9e5;border-radius:9px;background:#fff}.employee-pay-kpis small,.employee-pay-kpis strong{display:block}.employee-pay-kpis small{font-size:8px;color:var(--muted);text-transform:uppercase}.employee-pay-kpis strong{font-size:12px;margin-top:3px}.employee-pay-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);margin:0 -21px 18px;padding:0 21px}.employee-pay-tabs button{border:0;background:transparent;color:#68757d;padding:11px 12px;font-size:10px;font-weight:800;white-space:nowrap;border-bottom:3px solid transparent;cursor:pointer}.employee-pay-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.workspace-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.panel.inset,.workspace-grid>.panel{box-shadow:none}.panel.inset{background:#fbfcfc}.quick-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.quick-actions button{font-size:9px}.workspace-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px}.workspace-footer small,.workspace-footer strong{display:block}.workspace-footer strong{font-size:11px}.workspace-footer small{font-size:9px;color:var(--muted);margin-top:4px}.workspace-footer .primary{white-space:nowrap}.deduction-table{grid-template-columns:.8fr 1.4fr .8fr .7fr}.overtime-table{grid-template-columns:1.2fr .8fr 1fr 1fr}.stay-table{grid-template-columns:1.4fr 1fr 1fr .6fr 1fr}.expense-table{grid-template-columns:1fr .9fr 1.5fr .8fr .8fr}.history-table{grid-template-columns:1fr .8fr .8fr 1fr 1fr .8fr .8fr}.empty-state{padding:18px 4px;font-size:10px}.account-toolbar select{min-width:320px}.form-success{margin:0 0 14px}@media(max-width:900px){.employee-pay-heading{align-items:flex-start;flex-direction:column}.employee-pay-kpis{width:100%}.employee-pay-kpis>div{flex:1 1}.workspace-grid{grid-template-columns:1fr}.workspace-footer{align-items:flex-start;flex-direction:column}.account-toolbar select{width:100%;min-width:0}}@media(max-width:650px){.employee-pay-tabs{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.employee-pay-kpis{display:grid;grid-template-columns:repeat(3,1fr)}.employee-pay-kpis>div{min-width:0}.quick-actions{grid-template-columns:1fr}.workspace-footer .primary{width:100%}}.deduction-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0;border-bottom:1px solid #ddd;padding-bottom:8px}.deduction-tabs button{border:0;background:transparent;padding:10px 14px;border-radius:8px;cursor:pointer;font-weight:700}.deduction-tabs button.active{background:#111;color:#fff}.payslip-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:24px;overflow:auto}.payslip-modal{background:#fff;max-width:980px;width:100%;border-radius:14px;padding:18px;box-shadow:0 20px 60px rgba(0,0,0,.25)}.payslip-actions{display:flex;justify-content:flex-end;gap:8px;margin-bottom:14px}.payslip{border:1px solid #d8d8d8;padding:28px;background:#fff;color:#171717}.payslip header,.payslip-employee,.payslip-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px;border-bottom:1px solid #ddd;padding-bottom:16px;margin-bottom:18px}.payslip h1{margin:0 0 6px;font-size:28px}.payslip h3{font-size:13px;letter-spacing:.08em;margin:0 0 10px;border-bottom:2px solid #222;padding-bottom:7px}.payslip-employee>div,.payslip-meta{display:flex;flex-direction:column;gap:4px;font-size:13px}.payslip-row{display:flex;justify-content:space-between;gap:20px;padding:6px 0;border-bottom:1px dotted #ccc;font-size:14px}.payslip-row.strong{font-weight:800;border-top:2px solid #222;border-bottom:2px solid #222;margin-top:5px}.payslip-ytd{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}.payslip-ytd span{display:flex;justify-content:space-between;gap:10px;padding:9px;border:1px solid #ddd;font-size:12px}@media(max-width:760px){.payslip header,.payslip-employee,.payslip-grid{grid-template-columns:1fr}.payslip-ytd{grid-template-columns:1fr 1fr}.payslip-overlay{padding:8px}.payslip-modal{padding:10px}}@media print{body>:not(.payslip-overlay){display:none!important}.payslip-overlay{position:static;background:#fff;padding:0}.payslip-modal{box-shadow:none;max-width:none;padding:0}.payslip-actions{display:none}.payslip{border:0}}:root{--bg:#f5f6f5;--panel:#fff;--panel-soft:#f8faf9;--text:#18231f;--muted:#74807b;--line:#e3e8e5;--accent:#14745e;--accent-dark:#0e5647;--soft:#e9f4ef;--shadow:0 14px 40px rgba(19,34,28,.055);--radius:18px}.sidebar{background:linear-gradient(180deg,#10201c,#0b1714);border-right:1px solid rgba(255,255,255,.035)}.brand{padding-bottom:32px}.brand-mark{border-radius:12px;background:#dcefe8;color:#16483d;box-shadow:0 6px 18px rgba(0,0,0,.12)}.brand span{color:#8fa69f}.nav-item{border-radius:11px;height:44px;margin:3px 0;font-weight:560;transition:background .18s ease,color .18s ease,transform .18s ease}.nav-item:hover{transform:translateX(2px);background:#18342d}.nav-item.active{background:#1b3932;box-shadow:inset 2px 0 #8ed2bd}.nav-icon{width:17px;text-align:center;opacity:.92}.nav-section{margin-top:26px}.sidebar-footer{border-top-color:#20352f;padding:15px 8px 4px;position:relative}.footer-avatar{width:34px;height:34px;border-radius:50%;background:#1c3932;color:#bfe3d7;display:grid;place-items:center;font-size:10px;font-weight:800}.online-dot{width:7px;height:7px;border-radius:50%;background:#5ecb9f;position:absolute;left:34px;bottom:7px;border:2px solid #0d1916}.topbar{height:78px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:0 38px}.icon-button{border-radius:12px;background:#f5f7f6;width:40px;height:40px}.logout-button{border-radius:10px;padding:9px 13px}.content{max-width:1600px;padding:38px}.dashboard-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin:0 0 24px}.dashboard-hero h1{font-size:34px;line-height:1.05;letter-spacing:-1.2px;margin:0 0 9px}.dashboard-hero .subtle{font-size:14px}.wave{font-size:.85em}.assignment-actions,.hero-actions{display:flex;gap:9px;align-items:center}.primary,.secondary{border-radius:11px;padding:11px 16px;font-size:12px;font-weight:750;transition:transform .18s ease,box-shadow .18s ease}.primary:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(15,107,88,.2)}.secondary{color:#44524d}.date-chip,.secondary{background:#fff;border:1px solid var(--line)}.date-chip{font-size:11px;font-weight:750;padding:10px 13px;border-radius:999px;color:#607069}.stat-grid.ops-stats{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.stat-grid.engineer-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat-card{border-radius:16px;padding:17px 18px;min-height:90px;box-shadow:none;gap:12px;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;inset:auto -15px -20px auto;width:58px;height:58px;border-radius:50%;background:rgba(20,116,94,.035)}.stat-number{font-size:25px}.stat-card.stat-blue .stat-number{color:#38729b}.stat-card.stat-amber .stat-number{color:#b37a18}.stat-card.stat-violet .stat-number{color:#725aa0}.stat-card.stat-danger .stat-number{color:#b34b46}.ops-grid{display:grid;grid-gap:16px;gap:16px}.top-grid{grid-template-columns:minmax(0,1.7fr) minmax(300px,.82fr);margin-bottom:16px}.bottom-grid{grid-template-columns:1.25fr .9fr .95fr}.panel{border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.panel-head h2{font-size:17px;letter-spacing:-.25px}.panel-head p{font-size:11px;line-height:1.45}.panel-head .eyebrow{margin-bottom:6px}.command-panel{min-height:405px}.site-list{border-top:1px solid var(--line)}.site-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;align-items:center;grid-gap:14px;gap:14px;padding:16px 0;border-bottom:1px solid #eef1ef}.site-index{font-size:10px;color:#8a9791;font-weight:800}.site-row-main span,.site-row-main strong{display:block}.site-row-main strong{font-size:13px}.site-row-main span,.site-row-meta span{font-size:10px;color:var(--muted);margin-top:3px}.site-row-meta{text-align:right}.site-row-meta b{font-size:14px}.site-row-meta span{display:block}.side-stack{display:grid;grid-gap:16px;gap:16px}.compact-panel{padding:20px;min-height:194px}.availability-list>div{display:grid;grid-template-columns:10px 1fr auto;grid-gap:10px;gap:10px;align-items:center;padding:8px 0;font-size:12px}.availability-list b{font-size:13px}.status-bullet{width:7px;height:7px;border-radius:50%;display:inline-block}.status-bullet.working{background:#31a47d}.status-bullet.leave{background:#d7a23c}.status-bullet.stay{background:#8468ba}.status-bullet.neutral{background:#a9b3af}.status-bullet.danger{background:#cf645d}.attention-panel{border-color:#efd8d5}.clear-state{display:flex;gap:12px;align-items:center;padding-top:10px}.clear-state>span{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#eaf5f0;color:#16745e;font-weight:900}.clear-state small,.clear-state strong{display:block}.clear-state strong{font-size:12px}.clear-state small{font-size:10px;color:var(--muted);margin-top:3px}.conflict-list>div{display:flex;gap:9px;align-items:flex-start;padding:7px 0}.conflict-list small,.conflict-list strong{display:block}.conflict-list strong{font-size:11px}.conflict-list small{font-size:9px;color:var(--muted);margin-top:2px}.stay-list{border-top:1px solid var(--line)}.stay-row{display:grid;grid-template-columns:32px minmax(130px,.9fr) minmax(150px,1.2fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #eef1ef}.stay-accommodation span,.stay-accommodation strong,.stay-main span,.stay-main strong{display:block}.stay-accommodation strong,.stay-main strong{font-size:11px}.stay-accommodation span,.stay-main span{font-size:9px;color:var(--muted);margin-top:3px}.stay-pill{background:#f0ecf8;color:#70549c}.approval-stack{display:grid;grid-gap:8px;gap:8px}.approval-stack a{display:grid;grid-template-columns:35px 1fr auto;align-items:center;grid-gap:10px;gap:10px;border:1px solid var(--line);border-radius:13px;padding:11px;transition:background .18s ease,border-color .18s ease}.approval-stack a:hover{background:#fafcfb;border-color:#d6e4de}.approval-icon{width:33px;height:33px;border-radius:10px;display:grid;place-items:center;font-weight:800}.approval-icon.amber{background:#fff4dc;color:#a87416}.approval-icon.blue{background:#eaf2f8;color:#47749a}.approval-icon.emerald{background:#eaf5f0;color:#17745e}.approval-stack small,.approval-stack strong{display:block}.approval-stack strong{font-size:11px}.approval-stack small{font-size:9px;color:var(--muted);margin-top:2px}.approval-stack b{font-size:12px}.activity-list>div{display:grid;grid-template-columns:8px 1fr auto;grid-gap:9px;gap:9px;padding:8px 0;align-items:start}.activity-dot{width:6px;height:6px;border-radius:50%;background:#79b6a3;margin-top:5px}.activity-list strong{font-size:10px}.activity-list p,.activity-list time{font-size:9px;color:var(--muted);margin:2px 0 0}.activity-list time{white-space:nowrap}.assignment-hero{background:linear-gradient(135deg,#12352c,#184c3f);border-radius:22px;color:#f4fbf8;padding:28px 30px;display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:16px;box-shadow:0 16px 34px rgba(16,56,45,.14)}.assignment-copy .eyebrow{color:#a6d3c3}.assignment-copy h2{font-size:26px;letter-spacing:-.7px;margin:0 0 5px}.assignment-copy>p:not(.eyebrow){margin:0;color:#bed5cd;font-size:12px}.assignment-tags{display:flex;gap:7px;margin-top:14px}.assignment-hero .secondary{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.16);color:#f5fbf8}.engineer-grid{gap:16px}.schedule-list{border-top:1px solid var(--line)}.schedule-row{display:grid;grid-template-columns:48px 1fr auto;align-items:center;grid-gap:13px;gap:13px;padding:12px 0;border-bottom:1px solid #eef1ef}.schedule-date{width:42px;height:42px;border-radius:12px;background:#eef6f2;color:#27735f;display:grid;place-items:center;align-content:center}.schedule-date strong{font-size:8px;text-transform:uppercase}.schedule-date span{font-size:15px;font-weight:800}.schedule-row span,.schedule-row strong{display:block}.schedule-row strong{font-size:12px}.schedule-row span{font-size:10px;color:var(--muted);margin-top:3px}.schedule-row .row-arrow{font-size:17px;color:#8aa49b}.premium-quick a{padding:14px 10px;text-align:left;min-height:104px;border-radius:14px}.premium-quick a>span{font-size:18px;margin:0}.premium-quick b,.premium-quick small{display:block}.premium-quick b{font-size:10px;margin-top:13px}.premium-quick small{font-size:9px;color:var(--muted);margin-top:4px;line-height:1.35}.next-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.next-card{border:1px solid var(--line);border-radius:15px;padding:17px;background:var(--panel-soft)}.next-icon{width:34px;height:34px;border-radius:10px;background:#eaf5f0;color:#17745e;display:grid;place-items:center;margin-bottom:14px}.next-card small,.next-card strong{display:block}.next-card small{font-size:8px;color:#87938e;letter-spacing:.6px;font-weight:800}.next-card strong{font-size:13px;margin-top:6px}.next-card p{font-size:10px;color:var(--muted);line-height:1.5;margin:6px 0 0}.account-summary>div{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-top:1px solid #eef1ef}.account-summary span{font-size:10px;color:var(--muted)}.account-summary strong{font-size:11px;text-align:right}.empty-state{padding:24px 0;color:var(--muted);font-size:11px}@media(max-width:1250px){.stat-grid.ops-stats{grid-template-columns:repeat(3,1fr)}.bottom-grid{grid-template-columns:1fr 1fr}.bottom-grid>.panel:last-child{grid-column:1/-1}}@media(max-width:1000px){.top-grid{grid-template-columns:1fr}.side-stack{grid-template-columns:1fr 1fr}.stat-grid.engineer-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.content{padding:22px 16px}.assignment-hero,.dashboard-hero{align-items:flex-start;flex-direction:column}.dashboard-hero h1{font-size:29px}.assignment-actions,.hero-actions{width:100%}.hero-actions>*{flex:1 1;text-align:center}.stat-grid.engineer-stats,.stat-grid.ops-stats{grid-template-columns:1fr 1fr}.bottom-grid,.side-stack{grid-template-columns:1fr}.bottom-grid>.panel:last-child{grid-column:auto}.site-row{grid-template-columns:30px 1fr auto}.site-row .pill{display:none}.stay-row{grid-template-columns:32px 1fr auto}.stay-accommodation{display:none}.next-grid{grid-template-columns:1fr}.assignment-hero{padding:24px}.assignment-actions>*{flex:1 1;text-align:center}.topbar{padding:0 16px}.user-chip{display:none}}.stat-card{display:flex;align-items:center;justify-content:space-between}.stat-copy{position:relative;z-index:2}.sparkline{width:92px;height:34px;opacity:.9}.stat-emerald .sparkline{color:#31a47d}.stat-blue .sparkline{color:#4d84ab}.stat-amber .sparkline{color:#c7942d}.stat-violet .sparkline{color:#8468ba}.stat-danger .sparkline{color:#cf645d}.availability-visual{display:grid;grid-template-columns:120px 1fr;align-items:center;grid-gap:10px;gap:10px}.donut{width:112px;height:112px}.donut-total{font-size:23px;font-weight:800;fill:#17241f}.donut-label{font-size:8px;font-weight:800;letter-spacing:1px;fill:#8a9791}.avatar-stack{display:flex;align-items:center;padding-left:4px}.site-avatar{width:27px;height:27px;margin-left:-6px;border:2px solid white;border-radius:50%;display:grid;place-items:center;background:#dce9e4;color:#2c6858;font-size:8px;font-weight:800;box-shadow:0 2px 5px rgba(20,40,32,.08)}.site-avatar:nth-child(2n){background:#e9edf6;color:#566d9b}.site-avatar:nth-child(3n){background:#f4e9dc;color:#9b7048}.site-avatar.more{background:#263b34;color:#fff}.site-row{grid-template-columns:40px minmax(0,1fr) auto auto auto}.announcement-banner{margin-top:16px;border-radius:22px;padding:25px 28px;background:linear-gradient(135deg,#11251f,#1a3e34);color:#f4fbf8;display:grid;grid-template-columns:48px 1fr auto;grid-gap:17px;gap:17px;align-items:center;box-shadow:0 18px 35px rgba(15,49,40,.12)}.announcement-banner .announcement-mark{width:46px;height:46px;border-radius:15px;background:#d9f1e7;color:#175f4e;display:grid;place-items:center;font-weight:900;font-size:18px}.announcement-banner .eyebrow{color:#9fcdbd;margin-bottom:5px}.announcement-banner h2{font-size:18px;margin:0 0 5px}.announcement-banner p:not(.eyebrow){margin:0;color:#bfd7ce;font-size:11px}.announcement-banner a{color:#fff;font-size:11px;font-weight:800;white-space:nowrap}@media(max-width:1000px){.availability-visual{grid-template-columns:110px 1fr}.announcement-banner{grid-template-columns:48px 1fr}.announcement-banner a{grid-column:2}}@media(max-width:760px){.sparkline{width:64px}.site-row{grid-template-columns:30px 1fr auto auto}.avatar-stack{display:none}.availability-visual{grid-template-columns:1fr}.donut-wrap{justify-self:center}.announcement-banner{grid-template-columns:1fr;padding:22px}.announcement-banner a{grid-column:auto}}.engineer-command-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(340px,.85fr);grid-gap:16px;gap:16px;margin-bottom:16px}.engineer-today-card{background:linear-gradient(135deg,#12352c,#195040);border-radius:22px;color:#f4fbf8;padding:29px 31px;display:flex;justify-content:space-between;gap:22px;align-items:center;box-shadow:0 16px 34px rgba(16,56,45,.14)}.engineer-today-card .eyebrow{color:#a6d3c3}.engineer-today-card h2{font-size:26px;letter-spacing:-.7px;margin:0 0 5px}.engineer-today-card>div>p:not(.eyebrow){margin:0;color:#bed5cd;font-size:12px}.today-action{display:grid;grid-gap:10px;gap:10px;justify-items:end}.today-action span{font-size:10px;color:#b8d2c9}.engineer-mini-summary{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}.engineer-mini-summary>div{min-height:76px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:12px 14px;display:grid;grid-template-columns:35px 1fr;grid-column-gap:10px;column-gap:10px;align-items:center;box-shadow:var(--shadow)}.mini-summary-icon{grid-row:1/3;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#eaf5f0;color:#17745e;font-weight:800}.mini-summary-icon.violet{background:#f0ecf8;color:#70549c}.mini-summary-icon.amber{background:#fff4dc;color:#a87416}.engineer-mini-summary b{font-size:15px}.engineer-mini-summary small{font-size:9px;color:var(--muted)}.engineer-main-grid{grid-template-columns:1.25fr .75fr}.personal-panel{min-width:0}.accommodation-panel,.pay-card{min-height:205px}.personal-stay{display:grid;grid-template-columns:48px 1fr;grid-gap:13px;gap:13px;align-items:start;border-top:1px solid var(--line);padding-top:17px}.stay-status-mark{width:42px;height:42px;border-radius:13px;background:#f0ecf8;color:#70549c;display:grid;place-items:center;font-size:18px}.personal-stay small,.personal-stay span,.personal-stay strong{display:block}.personal-stay strong{font-size:13px}.personal-stay span{font-size:10px;color:var(--muted);line-height:1.45;margin-top:4px}.personal-stay small{font-size:9px;color:#5d786f;margin-top:8px}.personal-empty{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:20px}.personal-empty>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#eaf5f0;color:#17745e;font-weight:900}.personal-empty small,.personal-empty strong{display:block}.personal-empty strong{font-size:11px}.personal-empty small{font-size:9px;color:var(--muted);margin-top:4px;line-height:1.45}.leave-preview{border-top:1px solid var(--line);padding-top:16px}.leave-preview small,.leave-preview span,.leave-preview strong{display:block}.leave-preview strong{font-size:13px;margin-top:11px}.leave-preview span{font-size:10px;color:var(--muted);margin-top:4px}.leave-preview small{font-size:9px;color:#7d8d86;margin-top:10px}.leave-state{display:inline-flex;padding:5px 8px;border-radius:20px;font-size:9px;font-weight:800;text-transform:capitalize}.leave-state.approved{background:#e8f5ec;color:#277447}.leave-state.pending{background:#fff4dc;color:#986c17}.pay-preview{border-top:1px solid var(--line);padding-top:16px}.pay-preview>div:first-child span,.pay-preview>div:first-child strong{display:block}.pay-preview>div:first-child span{font-size:9px;letter-spacing:.8px;color:#8b9792;font-weight:800}.pay-preview>div:first-child strong{font-size:27px;letter-spacing:-.7px;margin-top:4px;color:#175f4e}.pay-lines{display:grid;grid-gap:5px;gap:5px;margin-top:12px}.pay-lines p{display:flex;justify-content:space-between;margin:0;font-size:9px;color:var(--muted)}.pay-lines b{color:#44534d}.pay-preview>.pill{margin-top:12px;display:inline-block}.pay-card .panel-head{margin-bottom:10px}@media(max-width:1100px){.engineer-command-grid{grid-template-columns:1fr}.engineer-mini-summary{grid-template-columns:repeat(3,1fr)}.engineer-main-grid{grid-template-columns:1fr 1fr}.engineer-main-grid>.large{grid-column:1/-1}}@media(max-width:760px){.engineer-today-card{padding:24px;align-items:flex-start;flex-direction:column}.today-action{width:100%;justify-items:stretch}.today-action .primary{text-align:center}.engineer-mini-summary{grid-template-columns:1fr 1fr}.engineer-main-grid{grid-template-columns:1fr}.engineer-main-grid>.large{grid-column:auto}.engineer-today-card h2{font-size:22px}}.locator-v2{display:grid;grid-gap:16px;gap:16px}.locator-v2-head{display:flex;justify-content:space-between;align-items:end;padding:2px 2px 8px}.locator-v2-head h2{font-size:30px;letter-spacing:-1px;margin:5px 0}.locator-v2-head p{margin:0;color:var(--muted);font-size:12px}.locator-v2-count{display:grid;grid-template-columns:auto auto;grid-gap:4px 8px;gap:4px 8px;align-items:center;padding:10px 15px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.locator-v2-count b{font-size:22px;color:#17634f}.locator-v2-count span{font-size:9px;color:var(--muted)}.locator-v2-search{display:grid;grid-template-columns:1fr auto;grid-gap:14px;gap:14px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.locator-site-fields{display:grid;grid-template-columns:1.25fr 1fr .75fr 1.4fr;grid-gap:8px;gap:8px}.locator-v2-search label{font-size:8px;font-weight:900;color:#6f7d78;text-transform:uppercase;letter-spacing:.55px}.locator-v2-search input,.locator-v2-search select{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:10px;background:#fbfcfb;padding:10px;font-size:10px;color:#27342f}.locator-v2-dates{display:flex;align-items:end;gap:8px}.locator-v2-dates label{min-width:122px}.locator-v2-dates .primary{height:39px;white-space:nowrap}.date-arrow{padding-bottom:12px;color:#8a9792}.locator-v2-metrics{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}.locator-v2-metrics>div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px 16px;box-shadow:var(--shadow)}.locator-v2-metrics b,.locator-v2-metrics span{display:block}.locator-v2-metrics b{font-size:23px;color:#22332d}.locator-v2-metrics span{font-size:9px;color:var(--muted);margin-top:4px}.locator-v2-workspace{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(370px,.92fr);grid-gap:16px;gap:16px;align-items:stretch}.locator-v2-map,.locator-v2-results{border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:var(--shadow);overflow:hidden}.locator-v2-toolbar{display:flex;justify-content:space-between;gap:14px;padding:17px;border-bottom:1px solid var(--line);align-items:center}.locator-v2-toolbar h3{font-size:15px;margin:0}.locator-v2-toolbar p{margin:4px 0 0;font-size:9px;color:var(--muted)}.locator-v2-filter-row{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.locator-v2-list{display:grid;max-height:560px;overflow:auto}.locator-v2-person{display:grid;grid-template-columns:42px minmax(0,1fr) 112px auto;grid-gap:11px;gap:11px;align-items:center;padding:13px 16px;border-bottom:1px solid #edf0ef;transition:.18s}.locator-v2-person:hover{background:#fafcfb}.locator-v2-person.chosen{background:#f1faf6;box-shadow:inset 3px 0 #24755f}.locator-v2-person.blocked{background:#fffaf7;opacity:.82}.locator-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e7f3ed;color:#1d6b57;font-size:11px;font-weight:900}.locator-avatar.small{width:32px;height:32px;font-size:9px}.locator-v2-person-main{min-width:0}.locator-v2-person-main span,.locator-v2-person-main strong{display:block}.locator-v2-person-main strong{font-size:11px}.locator-v2-person-main>div:first-child span{font-size:8px;color:var(--muted);margin-top:3px}.locator-skills{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.locator-skills span{font-size:7px;padding:4px 6px;border-radius:6px;background:#f0f3f2;color:#66736e}.locator-skills .stay-tag{background:#f3effa;color:#70559a}.locator-v2-status b,.locator-v2-status small{display:block}.locator-v2-status b{font-size:9px}.locator-v2-status small{font-size:7px;color:var(--muted);margin-top:4px}.locator-v2-status .good{color:#1f7655}.locator-v2-status .warn{color:#a06d17}.locator-v2-status .bad{color:#b34840}.locator-v2-actions{display:flex;gap:5px}.icon-button{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;text-decoration:none;color:#53635d}.locator-v2-actions .primary,.locator-v2-actions .secondary-button{font-size:8px;padding:8px 10px}.locator-v2-map{min-height:480px;display:flex;flex-direction:column;background:#f6faf8}.map-top{padding:17px;border-bottom:1px solid var(--line);background:#fff}.map-top .eyebrow,.map-top b,.map-top small{display:block}.map-top b{font-size:13px;margin-top:5px}.map-top small{font-size:9px;color:var(--muted);margin-top:3px}.map-canvas{position:relative;flex:1 1;min-height:330px;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(59,134,107,.18),transparent 25%),linear-gradient(135deg,#e8f1ec,#f6f4ea 45%,#e7f1ee)}.map-canvas:after,.map-canvas:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(22deg,transparent 0 38px,rgba(95,133,113,.13) 39px 41px,transparent 42px 85px);opacity:.65}.map-canvas:after{transform:rotate(90deg);opacity:.32}.map-ring{position:absolute;border:1px solid rgba(35,105,83,.23);border-radius:50%;left:50%;top:52%;transform:translate(-50%,-50%)}.ring-a{width:210px;height:210px}.ring-b{width:360px;height:360px}.site-pin{left:50%;top:52%;transform:translate(-50%,-50%);width:48px;height:48px;place-items:center;background:#16644f;color:#fff;font-size:22px;box-shadow:0 8px 25px rgba(19,87,68,.25)}.map-person,.site-pin{position:absolute;z-index:2;border-radius:50%;display:grid}.map-person{width:38px;height:38px;place-items:center;background:#fff;border:2px solid #8bbca9;color:#17634f;font-size:9px;font-weight:900;box-shadow:0 5px 14px rgba(28,54,44,.12)}.map-person.p0{left:18%;top:25%}.map-person.p1{right:16%;top:23%}.map-person.p2{left:22%;bottom:18%}.map-person.p3{right:20%;bottom:22%}.map-person.p4{left:40%;top:11%}.map-person.p5{right:38%;bottom:9%}.map-site-label{position:absolute;z-index:3;left:50%;top:calc(52% + 35px);transform:translateX(-50%);padding:6px 9px;border-radius:8px;font-weight:800;box-shadow:var(--shadow);white-space:nowrap}.map-legend,.map-site-label{background:#fff;font-size:8px}.map-legend{display:flex;gap:13px;padding:10px 14px;border-top:1px solid var(--line);color:#62706b}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px}.good-dot{background:#278060}.amber-dot{background:#b78325}.red-dot{background:#c14d46}.map-footer{display:flex;justify-content:space-between;padding:12px 14px;background:#f8fbf9;border-top:1px solid var(--line)}.map-footer strong{font-size:10px;color:#1b664f}.map-footer span{font-size:9px;color:var(--muted)}.selected-drawer{border:1px solid #cfe0d8;border-radius:19px;background:#fff;box-shadow:0 14px 34px rgba(30,57,47,.08);overflow:hidden}.selected-drawer-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 17px;background:linear-gradient(90deg,#f1faf6,#fff)}.selected-drawer-head h3{margin:4px 0 0;font-size:15px}.selected-drawer-head h3 small{font-size:9px;color:var(--muted);font-weight:500}.selected-drawer-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.drawer-toggle{border:0;background:#eaf5f0;color:#1e664f;border-radius:10px;padding:9px 11px;font-size:8px;font-weight:900;cursor:pointer}.drawer-toggle b{font-size:12px;margin-left:4px}.selected-chip-strip{display:flex;gap:7px;align-items:center;overflow-x:auto;padding:11px 16px;border-top:1px solid #edf1ef;border-bottom:1px solid #edf1ef;white-space:nowrap}.selected-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 7px 5px 5px;font-size:8px;font-weight:800;cursor:pointer}.selected-chip.active{border-color:#72ad98;background:#eff8f4}.selected-chip>span{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#e6f2ed;color:#1c6b56;font-size:7px}.selected-chip>b{font-size:13px;color:#8b9893;margin-left:1px}.add-more{flex:0 0 auto;border:1px dashed #99b8aa;background:#f7fbf9;color:#1e674f;border-radius:999px;padding:8px 10px;font-size:8px;font-weight:900;cursor:pointer}.selected-empty{font-size:9px;color:var(--muted);padding:4px 0}.assignment-editor-grid{display:flex;gap:10px;overflow-x:auto;padding:14px 16px;background:#fbfcfb}.assignment-editor{flex:0 0 min(410px,92vw);border:1px solid #e0e6e3;border-radius:15px;padding:13px;background:#fff;cursor:pointer;transition:.18s}.assignment-editor.active{border-color:#70ad97;box-shadow:0 0 0 2px rgba(45,110,89,.08)}.assignment-editor-head{display:grid;grid-template-columns:32px 1fr 24px;grid-gap:8px;gap:8px;align-items:center}.assignment-editor-head small,.assignment-editor-head strong{display:block}.assignment-editor-head strong{font-size:10px}.assignment-editor-head small{font-size:8px;color:var(--muted);margin-top:3px}.remove-x{border:0;background:transparent;font-size:17px;color:#87948f;cursor:pointer}.required-days{margin-top:12px}.required-days>span{display:block;font-size:7px;text-transform:uppercase;letter-spacing:.6px;font-weight:900;color:#81908a;margin-bottom:6px}.required-days>div{display:flex;gap:4px;overflow-x:auto}.required-day{min-width:40px;border:1px solid #e0e6e3;border-radius:8px;background:#fff;padding:6px 4px;cursor:pointer}.required-day b,.required-day small{display:block}.required-day b{font-size:7px}.required-day small{font-size:8px;color:#8a9792;margin-top:2px}.required-day.selected{background:#eaf6f0;border-color:#86b9a6;color:#17664f}.required-day.selected small{color:#27755f}.assignment-switches{display:grid;grid-template-columns:1.2fr 1fr;grid-gap:10px;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid #edf0ef}.assignment-switches label{display:flex;align-items:center;gap:6px;font-size:8px;font-weight:800}.assignment-switches label span{margin-right:auto}.assignment-switches input{display:none}.assignment-switches i{width:28px;height:16px;border-radius:999px;background:#d9e0dd;position:relative}.assignment-switches i:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:#fff;left:2px;top:2px;transition:.18s}.assignment-switches input:checked+i{background:#22765d}.assignment-switches input:checked+i:after{left:14px}.assignment-switches label>b{font-size:8px;color:#587068}.accommodation-state{border-left:1px solid #edf0ef;padding-left:10px}.accommodation-state b,.accommodation-state span{display:block}.accommodation-state span{font-size:7px;color:#82908b}.accommodation-state b{font-size:8px;margin-top:4px;color:#1f6c55}.selected-drawer-footer{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-top:1px solid var(--line);background:#fff}.selected-drawer-footer>div{display:flex;gap:8px;align-items:center}.conflict-count{font-size:8px;font-weight:900}.conflict-count.clear{color:#287352}.conflict-count.has{color:#b04741}.selected-drawer.compact .selected-chip-strip{border-bottom:0}@media(max-width:1200px){.locator-site-fields{grid-template-columns:1fr 1fr}.locator-v2-search{grid-template-columns:1fr}.locator-v2-dates{justify-content:flex-start}.locator-v2-workspace{grid-template-columns:1fr}.locator-v2-map{min-height:380px}.map-canvas{min-height:280px}}@media(max-width:800px){.locator-v2-head,.locator-v2-toolbar,.selected-drawer-head{align-items:flex-start;flex-direction:column}.locator-v2-metrics{grid-template-columns:1fr 1fr}.locator-v2-person{grid-template-columns:42px 1fr auto}.locator-v2-status{grid-column:2}.locator-v2-actions{grid-column:3;grid-row:1/3}.locator-v2-filter-row{justify-content:flex-start}.locator-v2-dates{flex-wrap:wrap}.selected-drawer-footer{align-items:stretch;flex-direction:column;gap:10px}.selected-drawer-footer .primary{width:100%}}@media(max-width:560px){.locator-v2-head h2{font-size:24px}.locator-site-fields,.locator-v2-search{grid-template-columns:1fr}.locator-v2-dates{display:grid;grid-template-columns:1fr 16px 1fr}.locator-v2-dates .primary{grid-column:1/-1}.locator-v2-person{grid-template-columns:38px 1fr}.locator-v2-actions{grid-column:2;grid-row:auto}.locator-v2-status{grid-column:2}.assignment-switches{grid-template-columns:1fr}.accommodation-state{border-left:0;border-top:1px solid #edf0ef;padding:8px 0 0}.selected-drawer-actions{width:100%}.selected-drawer-actions>*{flex:1 1}.locator-v2-count{display:none}}.site-card-heading{position:relative}.site-delete{margin-left:auto;border:1px solid rgba(190,50,50,.25);background:#fff4f4;color:#b42318;border-radius:10px;padding:7px 10px;font-size:12px;font-weight:700;cursor:pointer}.site-delete:hover{background:#ffe7e7}.site-delete:disabled{opacity:.5;cursor:not-allowed}.site-engineer-pill{display:flex;align-items:center;gap:8px}.engineer-stayaway{font-size:11px;font-weight:700;color:#6d4cc2;background:#f0eaff;border-radius:999px;padding:4px 7px;white-space:nowrap}.allocation-remove{margin-left:auto}.required-day.unavailable{opacity:.45;cursor:not-allowed;text-decoration:line-through}.assignment-feasibility-warning{margin:8px 0;padding:9px 10px;border-radius:10px;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.28);font-size:12px;line-height:1.35;color:#b7791f}.site-engineer-pill .day-badge{max-width:230px;white-space:normal}.leave-table-v2{grid-template-columns:1.2fr 1fr .5fr .8fr 1fr .8fr}.leave-cancel{border:1px solid #e8b9b4;background:#fff6f5;color:#b13d35;border-radius:8px;padding:7px 10px;font-size:10px;font-weight:800;cursor:pointer}.leave-cancel:disabled{opacity:.55;cursor:not-allowed}.leave-action-muted{font-size:9px;color:var(--muted)}.leave-list-error{margin-bottom:10px}.locator-score{min-width:54px;text-align:center;border-left:1px solid var(--line);padding-left:8px}.locator-score b,.locator-score span{display:block}.locator-score b{font-size:15px;color:var(--accent)}.locator-score span{font-size:7px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}@media(max-width:850px){.leave-table-v2{min-width:900px}}