
/* AfriFlex product design system — shared across authentication and workspaces. */
:root,[data-theme="light"]{color-scheme:light;--canvas:#f4f6fa;--surface:#fff;--surface-raised:#fff;--surface-soft:#eef2f9;--field:#fbfcff;--text:#1b2b45;--subtle:#5e6e86;--stroke:#dfe6f0;--accent:#365bd2;--accent-soft:#eaf0ff;--action:#365bd2;--on-action:#fff;--sidebar:#14243e;--sidebar-text:#c4d0e6;--sidebar-active:#dce7ff;--sidebar-active-text:#173669;--hero:#eaf0fc;--hero-stroke:#dce5f8;--shadow:0 8px 30px #233d6b07;--shadow-high:0 22px 80px #12223f24;--danger:#b43c4a;--danger-soft:#fff1f2;--green:var(--action);--ink:var(--text);--muted:var(--subtle);--line:var(--stroke);--bg:var(--canvas)}
[data-theme="blue"]{color-scheme:dark;--canvas:#080f20;--surface:#101c31;--surface-raised:#17253d;--surface-soft:#192942;--field:#0c172a;--text:#edf3ff;--subtle:#a5b5cf;--stroke:#293a55;--accent:#a6c6ff;--accent-soft:#1e365a;--action:#547ef2;--on-action:#fff;--sidebar:#0b1529;--sidebar-text:#acbcd7;--sidebar-active:#244374;--sidebar-active-text:#e8f1ff;--hero:#142b4d;--hero-stroke:#294b76;--shadow:0 8px 30px #00000018;--shadow-high:0 22px 80px #00000070;--danger:#ffabb5;--danger-soft:#361e30}
[data-theme="purple"]{color-scheme:dark;--canvas:#100b1d;--surface:#1d142d;--surface-raised:#291d3d;--surface-soft:#302144;--field:#160f24;--text:#f5eeff;--subtle:#bcb0d2;--stroke:#46325b;--accent:#d5b5ff;--accent-soft:#382451;--action:#9b70e3;--on-action:#fff;--sidebar:#160d26;--sidebar-text:#c3b2dc;--sidebar-active:#493063;--sidebar-active-text:#f0e2ff;--hero:#302044;--hero-stroke:#583b70;--shadow:0 8px 30px #00000020;--shadow-high:0 22px 80px #00000070;--danger:#ffb0c5;--danger-soft:#3b1e36}
html{background:var(--canvas);scroll-padding-top:100px}body,.worker-mode,.login-body{background:var(--canvas);color:var(--text);-webkit-font-smoothing:antialiased}body{font-size:14px;line-height:1.5}h1,h2,h3,.worker-mode h1,.worker-mode h2,.worker-mode h3{color:var(--text)}p,small,.worker-mode p{color:var(--subtle)}a{color:var(--accent)}button{background:var(--surface);border-color:var(--stroke);color:var(--text);min-height:42px;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s}button:hover{background:var(--surface-soft);border-color:var(--accent)}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}input,select,textarea{background:var(--field);border:1px solid var(--stroke);color:var(--text);font-size:16px!important;border-radius:9px}input::placeholder,textarea::placeholder{color:var(--subtle);opacity:.8}.primary,button.primary,.worker-mode .w-primary,.auth-submit{background:var(--action);color:var(--on-action);border-color:var(--action);border-radius:9px;box-shadow:0 4px 10px color-mix(in srgb,var(--action) 15%,transparent)}button.primary:hover,.worker-mode .w-primary:hover,.auth-submit:hover{background:color-mix(in srgb,var(--action) 85%,white);border-color:var(--action)}.eyebrow,.worker-mode .eyebrow{color:var(--accent);font-size:10px;letter-spacing:1.8px;font-weight:700}
/* Management workspace */
body:not(.worker-mode):not(.login-body)>aside{background:var(--sidebar);border:0;width:240px;padding:30px 18px}body:not(.worker-mode) aside .brand{font-size:28px;letter-spacing:-1.1px;margin:0 10px 32px;color:#f2f6ff}body:not(.worker-mode) aside .brand span{color:#f2f6ff}body:not(.worker-mode) aside .workspace{background:#ffffff06;border:1px solid #ffffff17;border-radius:11px;color:var(--sidebar-text);padding:13px}body:not(.worker-mode) aside small,body:not(.worker-mode) aside .nav-label,body:not(.worker-mode) aside .help p{color:var(--sidebar-text)}body:not(.worker-mode) aside nav button{color:var(--sidebar-text);padding:13px;border-radius:9px;margin:5px 0;font-size:13px}body:not(.worker-mode) aside nav button.active,body:not(.worker-mode) aside nav button.active:hover{background:var(--sidebar-active);color:var(--sidebar-active-text)}body:not(.worker-mode) aside nav button:hover{background:#ffffff0b;color:#fff}body:not(.worker-mode) aside .help{border:1px solid #ffffff17;background:#ffffff06;border-radius:11px;color:var(--sidebar-text)}body:not(.worker-mode) aside .help button{border-color:#ffffff24;background:#ffffff0b;color:#fff}body:not(.worker-mode) aside .person{color:var(--sidebar-text);align-items:center}body:not(.worker-mode) aside .person a{color:#d2e2ff;font-size:11px}.person>i,.header-right>i{background:var(--accent-soft);color:var(--accent);font-weight:700}body:not(.worker-mode) .shell{margin-left:240px}body:not(.worker-mode) header{height:82px;background:var(--surface);border-color:var(--stroke);padding:0 38px}#breadcrumb{color:var(--subtle)}#breadcrumb span{color:var(--subtle)}.header-right{gap:10px}.header-right button{border-radius:9px;font-size:12px;min-height:38px}body:not(.worker-mode) #main{max-width:1520px;padding:38px}body:not(.worker-mode) .title-row{margin-bottom:32px;align-items:center}body:not(.worker-mode) h1{font-size:36px;font-weight:750;letter-spacing:-1.5px;line-height:1.2}body:not(.worker-mode) .title-row p{font-size:13px;margin-top:12px;max-width:560px}.title-row .actions{flex-wrap:wrap;justify-content:flex-end}.title-row .actions button{padding:11px 17px;font-size:12px}.metrics{gap:18px;margin-bottom:26px}.card,body:not(.worker-mode) .card{background:var(--surface);border:1px solid var(--stroke);border-radius:15px;padding:24px;box-shadow:var(--shadow)}.dashboard-link{position:relative;overflow:hidden;min-height:184px;gap:12px;padding:24px!important}.dashboard-link:after{content:'';position:absolute;width:58px;height:58px;right:-23px;top:-23px;border:12px solid var(--accent-soft);border-radius:50%;pointer-events:none}.dashboard-link:hover{background:var(--surface-raised);border-color:var(--accent);box-shadow:var(--shadow-high)}.dashboard-link .metric-top,.metric-top{font-size:12px;font-weight:500;color:var(--subtle)}.dashboard-link .metric-value,body:not(.worker-mode) .metric-value{font-size:40px;line-height:1.1;letter-spacing:-1.8px;color:var(--text);margin:0;font-weight:650}.metric-description{font-size:11px;color:var(--subtle);line-height:1.6;margin-top:auto}.metric-description b{color:var(--accent)}.admin-attention{position:relative;background:var(--hero);border:1px solid var(--hero-stroke);padding:30px 32px;border-radius:15px;gap:30px;margin:26px 0}.admin-attention h2{font-size:25px;letter-spacing:-.8px;margin:12px 0 10px}.admin-attention p{color:var(--subtle);font-size:13px;max-width:620px}.admin-attention .primary{white-space:nowrap}.bottom-grid{gap:24px}.card-head{gap:16px;margin-bottom:18px}.card-head h2,.card>h2{font-size:18px;letter-spacing:-.6px}.card-head p{color:var(--subtle);font-size:12px}.card-head button{color:var(--accent);background:transparent;white-space:nowrap;font-size:12px}.table-wrap{border-radius:9px}table{font-size:12px;margin-top:10px}table th{color:var(--subtle);font-size:9px;font-weight:600;letter-spacing:1px;border-color:var(--stroke);padding:14px 12px;background:var(--surface-soft)}table td{padding:17px 12px!important;border-color:var(--stroke);color:var(--text);vertical-align:middle}table td small{color:var(--subtle);font-size:11px;line-height:1.6}tbody tr:hover{background:var(--surface-soft)}.record-link{font-size:13px;color:var(--accent);text-decoration:none;min-height:36px;padding:5px 0;background:transparent;border:0}.record-link:hover{color:var(--accent);text-decoration:underline;background:transparent}.pill,.worker-mode .w-status,.worker-mode .w-status.confirmed{color:var(--accent);background:var(--accent-soft);border:1px solid var(--stroke);padding:5px 9px;border-radius:6px;font-size:10px}.toolbar{gap:14px;align-items:center;margin-bottom:22px}.toolbar input{padding:13px 15px;border-radius:9px;min-height:47px;background:var(--field);border-color:var(--stroke);color:var(--text)}.toolbar label,.activity-search{color:var(--subtle)}.toolbar select,.activity-search input{background:var(--field);border-color:var(--stroke);color:var(--text);border-radius:8px}.activity-link{border-color:var(--stroke);border-radius:6px;color:var(--text);padding:16px 6px;gap:14px;box-shadow:none}.activity-link:hover{background:var(--surface-soft)}.activity-link b{color:var(--accent)}.activity-link small{color:var(--subtle)}.activity-link .activity-dot{background:var(--accent);box-shadow:0 0 0 5px var(--accent-soft)}.interest-row{background:transparent;border:0}.interest-row>span:first-child{color:var(--text)}.interest-track{background:var(--surface-soft)}.interest-track>span{background:var(--accent)}.interest-row:hover{background:var(--surface-soft)}.report-scope,.detail-empty{color:var(--subtle)}footer{background:transparent;color:var(--subtle);border-color:var(--stroke);font-size:11px;padding:28px 38px}.job h2{font-size:20px;letter-spacing:-.6px}.job .rate{color:var(--text);font-size:27px;margin:20px 0}.job .rate small{font-size:11px;color:var(--subtle)}.jobs{gap:22px}.job .actions{flex-wrap:wrap}.job .actions button{font-size:11px;padding:9px 13px}
/* Overlays and data entry */
dialog,#modal{background:var(--surface);color:var(--text);border:1px solid var(--stroke);border-radius:19px;box-shadow:var(--shadow-high);padding:30px;max-width:min(680px,calc(100vw - 28px));width:100%;max-height:88dvh}dialog::backdrop{background:#0309189c;backdrop-filter:blur(6px)}dialog h2{font-size:25px;letter-spacing:-.8px;color:var(--text);line-height:1.3}dialog h3{font-size:16px;color:var(--text);margin-top:25px}dialog p{color:var(--subtle)}dialog .job-editor label,.worker-mode .w-form label{color:var(--text);font-size:12px;margin:14px 0}dialog .job-editor input,dialog .job-editor select,.worker-mode .w-form input,.worker-mode .w-form select{background:var(--field);color:var(--text);border:1px solid var(--stroke);border-radius:9px;font-size:16px!important;min-height:49px;padding:12px;margin-top:7px}dialog .actions{margin-top:25px;flex-wrap:wrap}.detail-grid>div{border-color:var(--stroke);padding:17px 0}.detail-grid dt{color:var(--subtle);font-size:11px}.detail-grid dd{color:var(--text);font-size:14px}.detail-records button{background:var(--field);border-color:var(--stroke);color:var(--text);border-radius:9px}.detail-records button:hover{background:var(--accent-soft)}.detail-records span{color:var(--subtle)}.danger-button{color:var(--danger)!important;background:var(--danger-soft)!important;border-color:color-mix(in srgb,var(--danger) 35%,var(--stroke))!important}#post-error,#profile-save-error,#delete-job-error,#filter-error{color:var(--danger)}#toast,.worker-mode #toast{background:var(--text);color:var(--canvas);box-shadow:var(--shadow-high);border-radius:12px}
/* Worker workspace */
.worker-mode .worker-layout{background:var(--canvas);max-width:1160px}.worker-mode .worker-top{padding-top:30px;padding-bottom:20px}.worker-mode .w-brand .af-symbol{background:var(--accent-soft);color:var(--accent);border:1px solid var(--stroke);border-radius:12px}.worker-mode .w-brand .af-symbol span{color:var(--accent)}.worker-mode .af-wordmark,.worker-mode .w-brand .af-wordmark{color:var(--text);font-weight:750}.worker-mode .af-wordmark small{color:var(--subtle)}.worker-mode .w-tools button{background:var(--surface);border-color:var(--stroke);border-radius:10px}.worker-mode .w-tools svg{color:var(--text)}.worker-mode .w-context,.worker-mode .w-context a,.worker-mode .w-context button{color:var(--subtle)}.worker-mode .w-context button{background:transparent;border:0}.worker-mode .bottom-nav{background:color-mix(in srgb,var(--canvas) 95%,transparent);border-color:var(--stroke);gap:8px;padding:10px 0}.worker-mode .bottom-nav button{color:var(--subtle);border-radius:8px;padding:12px 18px;background:transparent}.worker-mode .bottom-nav button.selected{background:var(--accent-soft);color:var(--accent)}.worker-mode .bottom-nav button:hover{background:var(--surface-soft)}.worker-mode .w-content{padding-top:36px}.worker-mode .desk-heading{padding:20px 0 36px}.worker-mode .desk-heading h1{font-family:Manrope,sans-serif;font-size:46px;font-weight:650;letter-spacing:-2px;line-height:1.16;margin-top:17px}.desk-orbit{border-color:var(--stroke);background:radial-gradient(circle,var(--accent-soft),transparent 65%)}.desk-orbit:before{border-color:var(--stroke)}.desk-orbit b{color:var(--accent);font-family:Manrope,sans-serif;font-weight:500}.desk-orbit i{background:var(--accent);border-color:var(--canvas)}.desk-stats{border-color:var(--stroke);padding:24px 0;margin-bottom:34px}.desk-stats>div{border-color:var(--stroke)}.desk-stats strong{font-size:33px;color:var(--text)}.desk-stats span{color:var(--subtle)}.desk-next{background:var(--surface);border-color:var(--stroke);border-radius:15px;padding:28px;box-shadow:var(--shadow)}.desk-next>h2{font-size:24px;letter-spacing:-.8px}.desk-empty>span{background:var(--accent-soft);color:var(--accent)}.desk-note{background:var(--hero);border:1px solid var(--hero-stroke);border-radius:15px;padding:30px}.desk-note h2{font-family:Manrope,sans-serif;font-size:30px;font-weight:600;letter-spacing:-1px}.desk-note button{background:var(--action);color:var(--on-action);border-radius:9px}.note-lines{border-color:var(--accent);opacity:.15}.worker-mode .w-card,.worker-mode .w-job{background:var(--surface);border-color:var(--stroke);border-radius:15px;box-shadow:var(--shadow)}.worker-mode .w-job{padding:26px;transition:border-color .16s,box-shadow .16s}.worker-mode .w-job:hover{background:var(--surface-raised);border-color:var(--accent);box-shadow:var(--shadow-high)}.opportunity-sector{background:var(--accent-soft);color:var(--accent);border-radius:5px;padding:6px 10px}.opportunity-date{color:var(--subtle)}.worker-mode .job-heading h2{font-size:22px;letter-spacing:-.8px;color:var(--text)}.worker-mode .job-heading p,.opportunity-location,.opportunity-location span{color:var(--subtle)}.opportunity-footer{border-color:var(--stroke)}.worker-mode .shift-rate{font-size:29px;color:var(--text)}.worker-mode .shift-rate span,.worker-mode .shift-rate small{color:var(--subtle)}.opportunity-arrow{border-color:var(--stroke);color:var(--accent);background:var(--accent-soft)}.worker-mode .w-search{background:var(--field);border-color:var(--stroke);color:var(--text);border-radius:9px}.worker-mode .w-filter{background:var(--accent-soft);color:var(--accent);border:1px solid var(--stroke);border-radius:9px}.worker-mode .w-result{color:var(--subtle)}.worker-mode .w-tabs button{background:var(--surface);border-color:var(--stroke);color:var(--subtle);border-radius:8px}.worker-mode .w-tabs button.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.worker-mode .w-booking{background:var(--surface);border-color:var(--stroke);border-radius:15px}.worker-mode .booking-actions{background:var(--surface)}.account-banner{border-color:var(--stroke)}.account-monogram{background:var(--accent-soft);color:var(--accent);border-radius:17px;border:1px solid var(--stroke);font:600 30px Manrope}.account-grid h2{font-size:23px;letter-spacing:-.7px}.worker-mode .w-text,.worker-mode .w-section-head button{background:transparent;color:var(--accent);border:0}.worker-mode .w-outline{background:transparent;color:var(--accent);border-color:var(--stroke)}.earnings-summary{background:var(--hero);color:var(--text);border:1px solid var(--hero-stroke);border-radius:15px}.earnings-summary>div+div{background:var(--surface-soft)}.earnings-summary strong{color:var(--accent);font-family:Manrope,sans-serif;font-size:34px}.earnings-summary small,.earnings-steps span{color:var(--subtle)}.earnings-steps li::marker{color:var(--accent)}.activity-note{border-color:var(--stroke)}.profile-setup>h1{font-family:Manrope,sans-serif;font-weight:650;letter-spacing:-1.2px}.worker-mode .w-form{background:var(--surface);border-color:var(--stroke);border-radius:15px;padding:28px}#profile-age{color:var(--subtle)}
/* Authentication */
.auth-layout{background:var(--canvas)}.auth-story{background:radial-gradient(ellipse at 90% 0%,#39599055,transparent 70%),#14243e;border-radius:23px;position:relative}.auth-story h1{font-family:Manrope,sans-serif;font-size:58px;font-weight:550;line-height:1.12;letter-spacing:-2.5px;color:#f4f7ff}.auth-story h1 em{color:#b7ceff;font-style:normal}.auth-story p{color:#b3c3df}.auth-story .auth-brand{color:#f4f7ff}.auth-kicker,.auth-story .story-footer{color:#b3c3df}.shift-illustration{background:#ffffff08;border-color:#ffffff22;border-radius:15px}.illustration-icon{background:#d4e3ff;color:#173569;border-radius:12px}.illustration-tag{color:#d5e4ff;background:#ffffff0b;border-color:#ffffff25}.auth-panel h2{font-size:36px;font-weight:650;letter-spacing:-1.5px;color:var(--text)}.auth-panel>p,.auth-topline,.role-caption,.auth-security{color:var(--subtle)}#email-auth label{color:var(--text);font-size:12px}#email-auth input{background:var(--field);color:var(--text);border-color:var(--stroke);border-radius:9px;box-shadow:none;font-size:16px!important}.password-wrap button{background:transparent;color:var(--subtle);border:0;box-shadow:none}.google-button{background:var(--surface);color:var(--text);border-color:var(--stroke);border-radius:9px}.google-button:hover{background:var(--surface-soft)}.auth-divider{color:var(--subtle)}.auth-divider:before,.auth-divider:after{background:var(--stroke)}.auth-link,.auth-switch button{color:var(--accent)}.auth-switch,.auth-permissions{color:var(--subtle)}.auth-notice{background:var(--surface-soft);border:1px solid var(--stroke);color:var(--text);border-radius:10px}.auth-security{border-color:var(--stroke)}.auth-story .story-benefits i{background:#d4e3ff;color:#173569}.auth-story .story-benefits{color:#bfcee5}[data-theme="purple"] .auth-story{background:radial-gradient(ellipse at top right,#6d438955,transparent 70%),#20112f}[data-theme="purple"] .auth-story h1 em{color:#d8b8ff}[data-theme="purple"] .auth-story p,[data-theme="purple"] .story-benefits{color:#c7b2d9}
/* Appearance picker: deliberately compact, keyboard and touch accessible. */
.appearance-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 39px;width:39px;height:39px;min-height:39px;padding:9px!important;background:var(--surface)!important;border:1px solid var(--stroke)!important;color:var(--text)!important;border-radius:11px!important;box-shadow:none!important}.appearance-toggle svg{width:19px!important;height:19px!important;color:var(--text)!important}.auth-story>.appearance-toggle{position:absolute;top:34px;right:30px;background:#ffffff10!important;color:#fff!important;border-color:#ffffff30!important}.auth-story>.appearance-toggle svg{color:#fff!important}.appearance-panel{position:fixed;z-index:10000;width:288px;max-width:calc(100vw - 24px);padding:10px;background:var(--surface-raised);border:1px solid var(--stroke);border-radius:17px;box-shadow:var(--shadow-high);color:var(--text)}.appearance-panel[hidden]{display:none!important}.appearance-heading{padding:10px 11px 15px}.appearance-heading>b{font:650 18px Manrope,sans-serif;letter-spacing:-.5px;display:block}.appearance-heading>span{display:block;font-size:11px;color:var(--subtle);margin-top:5px}.appearance-panel [role="radio"]{display:flex;align-items:center;gap:12px;width:100%;padding:13px 10px;text-align:left;border:1px solid transparent;background:transparent;border-radius:11px;margin:3px 0;color:var(--text);min-height:65px}.appearance-panel [role="radio"]:hover{background:var(--surface-soft)}.appearance-panel [role="radio"][aria-checked="true"]{background:var(--accent-soft);border-color:var(--stroke)}.appearance-panel [role="radio"] b{font-size:12px;font-weight:600}.appearance-panel [role="radio"] small{font-size:10px;color:var(--subtle);margin-top:5px}.appearance-swatch{display:flex;gap:2px;width:37px;height:37px;padding:7px;border-radius:9px;border:1px solid #ffffff20;flex-shrink:0;overflow:hidden;align-items:flex-end}.appearance-swatch i{width:6px;border-radius:2px;display:block;height:16px;background:#365bd2}.appearance-swatch i:nth-child(2){height:23px;opacity:.6}.appearance-swatch i:nth-child(3){height:11px;opacity:.4}.swatch-light{background:#f4f6fa}.swatch-blue{background:#0a1428}.swatch-blue i{background:#9ebfff}.swatch-purple{background:#1b1129}.swatch-purple i{background:#d7b4ff}.appearance-check{margin-left:auto;color:var(--accent);visibility:hidden;font-size:15px}.appearance-panel [aria-checked="true"] .appearance-check{visibility:visible}
@media(min-width:1500px){body:not(.worker-mode) #main{padding:46px}.metrics{gap:22px}.dashboard-link{padding:28px!important}}
@media(max-width:1000px) and (min-width:701px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-grid{grid-template-columns:1fr}body:not(.worker-mode) #main{padding:28px}.admin-attention{padding:24px}.title-row .actions{max-width:220px}.header-right{gap:7px}}
@media(max-width:700px){body:not(.worker-mode):not(.login-body)>aside{position:relative;inset:auto;width:100%;padding:18px 18px 0;display:block}body:not(.worker-mode) aside .brand{font-size:26px;margin:0 0 16px}body:not(.worker-mode) aside .brand>svg{width:32px;height:32px}body:not(.worker-mode) aside .workspace,body:not(.worker-mode) aside .nav-label,body:not(.worker-mode) aside .side-bottom{display:none}body:not(.worker-mode) aside nav{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;padding:0 0 12px}body:not(.worker-mode) aside nav::-webkit-scrollbar{display:none}body:not(.worker-mode) aside nav button{flex:0 0 auto;width:auto;margin:0;padding:11px 14px;min-height:43px;font-size:12px}body:not(.worker-mode) aside nav button>span{display:none}body:not(.worker-mode) aside nav em{font-size:9px}body:not(.worker-mode) .shell{margin-left:0}body:not(.worker-mode) header{height:auto;min-height:69px;padding:13px 18px;gap:10px}#breadcrumb{font-size:10px;white-space:nowrap}#breadcrumb span{margin:0 5px}.header-right{gap:6px}.header-right button{font-size:10px;min-height:36px;padding:8px 10px}.header-right>i{display:none}.header-right .appearance-toggle{width:35px;height:35px;min-height:35px;flex-basis:35px}body:not(.worker-mode) #main{padding:27px 18px 35px}body:not(.worker-mode) h1{font-size:30px;letter-spacing:-1.3px}body:not(.worker-mode) .title-row{display:block;margin-bottom:25px}.title-row p{font-size:12px!important;line-height:1.7}.title-row .actions{justify-content:flex-start;margin-top:19px}.title-row .actions button{min-height:42px;padding:10px 15px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:22px}.dashboard-link{min-height:164px;gap:13px;padding:18px!important;border-radius:13px}.dashboard-link .metric-top{font-size:11px;line-height:1.5}.dashboard-link .metric-value,body:not(.worker-mode) .metric-value{font-size:34px;letter-spacing:-1.5px}.metric-description{font-size:10px;line-height:1.6}.admin-attention{padding:23px;border-radius:14px;margin:22px 0}.admin-attention h2{font-size:22px;line-height:1.3}.admin-attention p{font-size:12px}.bottom-grid{grid-template-columns:1fr;gap:19px}.card,body:not(.worker-mode) .card{padding:20px}.card-head{align-items:flex-start;gap:12px}.card-head h2{font-size:17px}.card-head button{font-size:10px;white-space:normal;max-width:90px}table{font-size:12px;min-width:440px}table th{font-size:8px}table td{padding:14px 10px!important}.record-link{font-size:12px}.toolbar{gap:10px}.toolbar input{width:100%}.toolbar label{flex:1;min-width:120px}.jobs{grid-template-columns:1fr}.job .actions{gap:8px}.job .actions button{padding:9px 12px}footer{padding:24px 18px;font-size:10px;flex-wrap:wrap;gap:8px}dialog,#modal{padding:23px;border-radius:16px;max-width:calc(100vw - 24px);max-height:89dvh}dialog h2{font-size:23px}.detail-grid{grid-template-columns:1fr}.worker-mode .worker-top{padding:23px 18px 16px;gap:12px}.worker-mode .w-brand{font-size:25px;gap:8px}.worker-mode .w-brand .af-symbol{width:38px;height:40px;font-size:25px}.worker-mode .af-wordmark small{font-size:6px;letter-spacing:1.4px}.worker-mode .w-tools{gap:5px}.worker-mode .w-tools button{padding:8px;min-width:32px;min-height:35px}.worker-mode .w-tools svg{width:16px;height:16px}.worker-mode .w-tools .appearance-toggle{flex-basis:33px;width:33px;height:35px;min-height:35px;padding:7px!important}.worker-mode .w-context{padding:0 18px 17px;font-size:9px}.worker-mode .bottom-nav{margin:0 18px;gap:3px}.worker-mode .bottom-nav button{padding:12px 3px;font-size:10px}.worker-mode .w-content{padding:27px 18px 50px}.worker-mode .desk-heading h1{font-size:35px;letter-spacing:-1.7px}.worker-mode .desk-heading p{font-size:13px;line-height:1.8}.desk-stats{padding:22px 0}.desk-stats strong{font-size:29px}.desk-stats span{font-size:10px}.desk-next,.desk-note{padding:23px}.desk-next>h2{font-size:23px}.desk-note h2{font-size:28px;letter-spacing:-1px}.worker-mode .w-job{padding:23px}.worker-mode .job-heading h2{font-size:21px}.worker-mode .shift-rate{font-size:27px}.account-monogram{border-radius:13px}.worker-mode .account-banner h1{font-size:27px}.worker-mode .w-form{padding:22px}.earnings-summary strong{font-size:29px}.auth-story{border-radius:0;padding:23px 24px;background:#14243e}.auth-story>.appearance-toggle{top:23px;right:23px;width:36px;height:36px;min-height:36px}.auth-brand{max-width:calc(100% - 42px)}.auth-brand small{display:none}.auth-story .story-benefits{font-size:9px;gap:15px;margin-top:18px}.auth-story .story-benefits i{width:24px;height:24px;font-size:11px}.auth-panel{padding:32px 24px;max-width:490px}.auth-panel h2{font-size:31px;letter-spacing:-1.3px;line-height:1.2}.auth-panel>p{line-height:1.8}.auth-security{line-height:1.7}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Contain dense tables on small screens and keep decorative details behind text. */
.card{min-width:0}.bottom-grid{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}.table-wrap{max-width:100%;width:100%;overflow-x:auto}.dashboard-link>*{position:relative;z-index:1}.dashboard-link:after{opacity:.45}.auth-divider span{background:var(--canvas);color:var(--subtle)}.brand svg rect{fill:var(--accent-soft)}.brand svg path{fill:var(--accent)}nav em{background:var(--accent-soft);color:var(--accent)}
@media(max-width:1000px){.bottom-grid{grid-template-columns:minmax(0,1fr)}}

dialog .job-editor textarea{display:block;width:100%;padding:12px;margin-top:7px;background:var(--field);color:var(--text);border:1px solid var(--stroke);border-radius:9px;font:inherit;font-size:16px!important;resize:vertical}.job-instructions{white-space:pre-line}.opportunity-sector{white-space:normal;line-height:1.5}

.time-card{padding:23px;border-top:1px solid var(--stroke);background:var(--surface);border-radius:0 0 14px 14px}.time-heading{display:flex;justify-content:space-between;gap:12px;color:var(--text);font-size:13px}.time-heading>span{font-size:11px;color:var(--accent)}.time-totals{display:flex;gap:28px;justify-content:space-between;margin:23px 0 17px}.time-totals strong{display:block;font-size:27px;font-variant-numeric:tabular-nums;color:var(--text);letter-spacing:-1px}.time-totals small{font-size:10px;color:var(--subtle)}.time-card progress{width:100%;height:8px;accent-color:var(--action);display:block;margin:18px 0 23px}.time-card>p{font-size:11px;line-height:1.7;color:var(--subtle)}.time-card .w-text{font-size:11px;display:block;margin-top:6px}.time-history-row{padding:17px;background:var(--field);border:1px solid var(--stroke);border-radius:8px;font-size:12px}.time-history-row span{display:block;margin-top:9px;color:var(--subtle)}.admin-time-detail{border-top:1px solid var(--stroke);margin-top:24px;padding-top:12px}.time-heading+div{min-width:0}@media(max-width:600px){.time-totals strong{font-size:23px}.time-totals{gap:12px}.time-heading{flex-wrap:wrap}}

#mode[hidden]{display:none!important}

/* Load after design-system.css. Preserves the app's existing theme tokens and behaviour. */
html{scroll-padding-top:88px}body{overflow-wrap:break-word}*,*:before,*:after{box-sizing:border-box}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
body:not(.worker-mode):not(.login-body)>aside{width:224px;padding:28px 16px}body:not(.worker-mode) .shell{margin-left:224px}body:not(.worker-mode) #main{padding:30px 32px;max-width:1440px;margin:auto}body:not(.worker-mode) header{height:72px;padding:0 32px}body:not(.worker-mode) h1{font-size:30px;line-height:1.2;letter-spacing:-1.1px;margin:8px 0}.eyebrow{font-size:10px;letter-spacing:1.3px}body:not(.worker-mode) .title-row{gap:20px;margin-bottom:24px}body:not(.worker-mode) .title-row p{margin-top:8px;line-height:1.6;max-width:560px}.title-row .actions{gap:8px}.title-row .actions button{min-height:42px;padding:10px 14px;font-size:12px}.metrics{gap:14px;margin-bottom:20px}.dashboard-link{min-height:126px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;justify-content:flex-start;padding:19px!important;gap:12px;border-radius:12px}.dashboard-link:after{display:none}.dashboard-link .metric-top{font-size:12px;line-height:1.4}.dashboard-link .metric-value,body:not(.worker-mode) .metric-value{font-size:32px;letter-spacing:-1px;line-height:1;margin:0}.metric-description{font-size:11px;line-height:1.5;margin-top:2px}.card,body:not(.worker-mode) .card{border-radius:14px;padding:22px;box-shadow:none}.card-head{margin-bottom:14px}.card-head h2,.card>h2{font-size:17px;letter-spacing:-.4px}.card-head p{font-size:12px;line-height:1.5;margin:6px 0 0}.admin-attention{border-radius:14px;padding:24px;margin:20px 0;gap:24px;display:flex;justify-content:space-between;align-items:center}.admin-attention h2{font-size:21px;margin:9px 0;letter-spacing:-.5px}.admin-attention p{font-size:13px;line-height:1.6;margin:0;max-width:560px}.admin-attention button{font-size:12px;min-height:44px}.bottom-grid{gap:20px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.toolbar{gap:12px;align-items:center;margin-bottom:18px}.toolbar input{min-width:0;min-height:46px;padding:12px 14px;font-size:16px!important}.toolbar>span{font-size:12px;color:var(--subtle);white-space:nowrap}.toolbar label{font-size:12px;display:grid;gap:7px;min-width:0}.toolbar select{font-size:14px!important;min-height:44px;width:100%}.table-wrap{max-width:100%;overflow:auto}table{width:100%;font-size:12px}table th{font-size:10px;letter-spacing:.5px;padding:12px}table td{padding:14px 12px!important}.record-link{font-size:13px;line-height:1.5;min-height:40px}.detail-empty{font-size:13px;line-height:1.6;padding:22px 0}.jobs{gap:18px}.job h2{font-size:20px;line-height:1.35;margin:18px 0 7px}.job>p{font-size:13px;line-height:1.6;margin:8px 0}.job .rate{font-size:28px;margin:20px 0}.job .rate small{font-size:12px;line-height:1.5;margin-top:5px}.job .actions{display:flex;gap:8px;border-top:1px solid var(--stroke);padding-top:16px;margin-top:18px;align-items:center}.job .actions>*{flex:1;min-height:42px;padding:9px 8px!important;font-size:12px!important;width:auto!important;margin:0!important}.danger-button{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--stroke));background:var(--danger-soft)}.af-mobile-brand,.af-nav-more,.af-more-panel{display:none}footer{padding:22px 32px;font-size:11px}.appearance-panel{z-index:110!important}.af-notice{font-size:12px;color:var(--subtle)}
@media(max-width:1050px){.bottom-grid{grid-template-columns:minmax(0,1fr)}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-attention{gap:20px}.title-row .actions{max-width:230px}}
@media(max-width:760px){
html{scroll-padding-top:84px}
body:not(.worker-mode):not(.login-body)>aside{position:fixed!important;inset:auto 0 0!important;width:100%!important;height:calc(70px + env(safe-area-inset-bottom,0px));padding:6px 12px calc(6px + env(safe-area-inset-bottom,0px))!important;display:block;background:var(--surface)!important;border-top:1px solid var(--stroke);z-index:70;box-shadow:0 -5px 25px #00000008}
body:not(.worker-mode) aside>.brand,body:not(.worker-mode) aside>.workspace,body:not(.worker-mode) aside>.nav-label,body:not(.worker-mode) aside>.side-bottom{display:none!important}
body:not(.worker-mode) aside nav{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;overflow:visible!important;padding:0!important;height:58px}
body:not(.worker-mode) aside nav button{display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:56px;width:100%;margin:0;padding:6px 2px!important;border-radius:10px;font-size:10px!important;line-height:1.35;color:var(--subtle);background:transparent;border:0;white-space:nowrap}
body:not(.worker-mode) aside nav button>span:first-child{display:flex!important;width:20px;height:20px;align-items:center;justify-content:center;font-size:18px;color:inherit}body:not(.worker-mode) aside nav button svg{width:20px;height:20px;display:block}body:not(.worker-mode) aside nav button em{display:none}
body:not(.worker-mode) aside nav button.active{background:var(--accent-soft)!important;color:var(--accent)!important}
body:not(.worker-mode) aside nav button[data-nav="Analytics"],body:not(.worker-mode) aside nav button[data-nav="Payments"],body:not(.worker-mode) aside nav button[data-nav="Activity log"]{display:none!important}
body:not(.worker-mode) aside nav .af-nav-more{display:flex!important}
.af-more-panel:not([hidden]){display:grid;position:fixed;bottom:calc(84px + env(safe-area-inset-bottom,0px));right:16px;width:min(268px,calc(100vw - 32px));padding:8px;gap:3px;z-index:90;border:1px solid var(--stroke);border-radius:15px;background:var(--surface-raised);box-shadow:var(--shadow-high)}.af-more-panel button{min-height:46px;text-align:left;background:transparent;border:0;padding:12px 14px;color:var(--text);font-size:14px}.af-more-panel button:hover{background:var(--accent-soft)}
body:not(.worker-mode) .shell{margin-left:0!important;padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
body:not(.worker-mode) .shell>header{position:sticky;top:0;z-index:60;min-height:64px;height:auto;padding:12px 18px!important;gap:12px;background:var(--canvas);border-bottom:1px solid var(--stroke)}#breadcrumb{display:none!important}
.af-mobile-brand{display:flex;align-items:center;gap:9px;min-width:0;color:var(--text);font:750 21px/1.1 Manrope,system-ui;letter-spacing:-.8px;text-decoration:none;white-space:nowrap}.af-mobile-brand svg{width:29px;height:29px;flex-shrink:0}.af-mobile-brand .dot{color:var(--accent)}.header-right{gap:7px;flex-shrink:0}.header-right #mode{font-size:10px;min-height:38px;padding:8px 10px;max-width:112px;line-height:1.35}.header-right #notifications{min-height:38px;font-size:10px;padding:8px 10px}.header-right .appearance-toggle{width:38px!important;height:38px!important;min-height:38px!important;flex-basis:38px!important}.header-right>i,.header-right .demo{display:none!important}
body:not(.worker-mode) #main{padding:23px 18px 24px!important;max-width:640px}
body:not(.worker-mode) h1{font-size:26px!important;line-height:1.18;letter-spacing:-.9px;margin:7px 0 0!important}body:not(.worker-mode) .title-row{display:block!important;margin-bottom:21px!important}.title-row .eyebrow{display:none}body:not(.worker-mode) .title-row p{font-size:13px!important;line-height:1.6!important;margin:8px 0 0!important;max-width:380px}.title-row .actions{justify-content:flex-start;max-width:none;margin-top:16px;gap:8px}.title-row .actions button{min-height:42px;padding:10px 14px;font-size:12px}
.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.dashboard-link{min-height:108px!important;gap:10px!important;padding:16px!important;border-radius:12px!important;text-align:left}.dashboard-link .metric-top{font-size:11px!important;line-height:1.35}.dashboard-link .metric-value,body:not(.worker-mode) .metric-value{font-size:30px!important;letter-spacing:-1px}.dashboard-link .metric-description{font-size:10px;line-height:1.45;margin-top:0;display:none}.dashboard-link .metric-top:after{content:'↗';margin-left:6px;color:var(--accent);font-size:12px}
.admin-attention{display:block;padding:21px;margin:18px 0;border-radius:13px}.admin-attention .eyebrow{display:none}.admin-attention h2{font-size:19px;line-height:1.35;margin:0 0 8px}.admin-attention p{font-size:12px}.admin-attention>.primary{margin-top:16px;font-size:12px;width:100%;min-height:44px}
.card,body:not(.worker-mode) .card{padding:18px;border-radius:14px}.bottom-grid{grid-template-columns:minmax(0,1fr);gap:16px}.card-head{align-items:center;gap:12px;margin-bottom:14px}.card-head h2,.card>h2{font-size:16px;line-height:1.35;letter-spacing:-.4px}.card-head p{font-size:11px!important;line-height:1.5}.card-head button{max-width:110px;min-height:40px;padding:5px 0;font-size:11px;white-space:normal}.card-head>label{font-size:11px}.card-head select{font-size:12px!important;min-height:40px;max-width:130px}
.toolbar{flex-wrap:wrap;gap:10px;margin-bottom:15px}.toolbar>input{flex:1 1 100%;width:100%;min-height:46px;padding:12px;font-size:16px!important}.toolbar>span{font-size:11px}.toolbar>label{flex:1 1 120px;min-width:0;font-size:11px;gap:7px}.toolbar select{font-size:14px!important;min-height:44px}.toolbar:has(label)>span{flex-basis:100%}
/* Preserve every field and action instead of clipping desktop tables. */
.table-wrap{overflow:visible!important;border-radius:0!important}table.af-responsive-table{min-width:0!important;width:100%!important;display:block;margin:0;border:0}table.af-responsive-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}table.af-responsive-table tbody{display:grid;gap:12px;width:100%}table.af-responsive-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:16px;row-gap:13px;padding:16px 0;border-bottom:1px solid var(--stroke);width:100%;background:transparent!important}table.af-responsive-table tr:last-child{border-bottom:0;padding-bottom:2px}table.af-responsive-table td{padding:0!important;min-width:0;width:auto;border:0!important;font-size:13px;line-height:1.5;overflow-wrap:anywhere;display:block}table.af-responsive-table td:before{content:attr(data-col);display:block;font-size:10px;color:var(--subtle);line-height:1.5;letter-spacing:0;margin-bottom:4px;text-transform:none}table.af-responsive-table td:first-child{grid-column:1/-1}table.af-responsive-table td:first-child:before{display:none}table.af-responsive-table td:first-child .record-link{font-size:15px;font-weight:650;min-height:32px;padding:0}table.af-responsive-table td small{font-size:12px!important;line-height:1.5;margin-top:3px;word-break:normal}table.af-responsive-table td .record-link{font-size:12px;min-height:40px;line-height:1.5;display:block;padding:8px 0 0}table.af-responsive-table td .pill{font-size:10px;display:inline-block;padding:5px 8px}table.af-responsive-table td[colspan]{grid-column:1/-1}table.af-responsive-table td[colspan]:before{display:none}table.af-responsive-table tr:has(td[colspan]){padding:8px 0;border:0}
.detail-empty{padding:28px 8px;text-align:center;font-size:13px;line-height:1.7}.detail-empty h2{font-size:19px}.detail-empty p{font-size:13px}.detail-empty b{font-size:18px}.jobs{grid-template-columns:minmax(0,1fr);gap:15px}.job{padding:20px!important}.job h2{font-size:21px;margin:17px 0 7px;letter-spacing:-.6px}.job>p{font-size:12px;line-height:1.6;margin:7px 0}.job .rate{font-size:29px;line-height:1.2;margin:20px 0}.job .rate small{font-size:11px!important;margin-top:7px;line-height:1.6}.job .actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:18px;padding-top:14px}.job .actions button{min-height:42px;font-size:11px!important;border-radius:8px}.job .actions .record-link{border:1px solid var(--stroke);text-align:center;background:var(--accent-soft);color:var(--accent);padding:10px 5px!important}.job .actions .danger-button{padding:10px 5px!important}.job .pill{font-size:10px}
.activity-link{padding:14px 0;gap:12px;min-height:60px}.activity-link>span{min-width:0;font-size:12px;line-height:1.6}.activity-link small{font-size:10px}.activity-search{display:grid;gap:8px}.activity-search input{width:100%;min-height:44px}.interest-row{padding:12px 0}.interest-row>span:first-child{font-size:13px}.report-scope{font-size:11px!important;line-height:1.7}.detail-grid{grid-template-columns:minmax(0,1fr)!important;gap:16px}.detail-grid dd{overflow-wrap:anywhere}.detail-records button{width:100%;text-align:left;min-height:52px}dialog,#modal{width:calc(100% - 24px);max-width:520px;max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border-radius:18px}dialog h2{font-size:23px;line-height:1.25;letter-spacing:-.6px}dialog label{font-size:12px}dialog input,dialog select,dialog textarea{font-size:16px!important;min-height:46px}dialog form{gap:15px}dialog .actions{gap:8px;flex-wrap:wrap}dialog .actions button{flex:1;min-height:44px}#toast{bottom:calc(87px + env(safe-area-inset-bottom,0px));z-index:120;max-width:calc(100% - 32px);font-size:12px;line-height:1.5;padding:14px 18px}#sync-status{display:none}footer{padding:22px 18px;margin:0;font-size:10px}footer>span{display:none!important}
}
@media(max-width:390px){.header-right #mode{max-width:92px;font-size:9px;padding:7px}.af-mobile-brand{font-size:19px;gap:6px}.af-mobile-brand svg{width:26px;height:26px}.header-right{gap:5px}.header-right #notifications{font-size:9px;padding:7px}body:not(.worker-mode) .shell>header{padding:12px 14px!important}.metrics .dashboard-link{padding:14px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media(max-width:760px){.af-mobile-brand>span{color:var(--text)!important}.af-mobile-brand .dot{color:var(--accent)!important}.af-mobile-brand svg rect{fill:var(--accent-soft)}.af-mobile-brand svg path{fill:var(--accent)}}

@media(max-width:760px){body:not(.worker-mode) aside nav button[data-nav]:not([data-nav="Overview"]):not([data-nav="Workers"]):not([data-nav="Jobs"]):not([data-nav="Bookings"]){display:none!important}}

.business-register{margin-top:20px;margin-bottom:20px}.business-costs{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin:20px 0}.business-costs>div{padding:16px;background:var(--surface-soft);border-radius:10px}.business-costs strong{display:block;font-size:23px;color:var(--text);margin:8px 0}.business-costs small{font-size:12px;line-height:1.6}.business-register table{min-width:0}.business-register td{max-width:240px;overflow-wrap:anywhere}.job-editor [hidden]{display:none!important}.business-costs+.report-scope{font-size:12px;line-height:1.7}
