@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Poppins:wght@500;600;700&display=swap";
:root{--bg:#edf8fd;--bg-deep:#d9ecf5;--surface:#fffffff0;--surface-strong:#fff;--surface-muted:#f2f9fcf5;--surface-panel:#f8fcfef5;--surface-raised:#fffffffa;--surface-subtle:#e4f0f6d1;--surface-line:#ffffffb3;--surface-shadow:0 22px 50px #13465e14;--line:#1a86b529;--line-strong:#1a86b54d;--text:#103142;--text-main:#103142;--text-muted:#5a8192;--accent:#ef482c;--accent-soft:#ef482c24;--highlight:#39b7ea;--highlight-soft:#39b7ea24;--success-bg:#0e67311f;--success-line:#23c25338;--success-text:#0f7b39;--shadow-lg:0 28px 60px #13465e1f;--shadow-md:0 18px 34px #13465e14;--radius-lg:24px;--radius-md:16px;--radius-sm:10px;--motion-fast:.18s;--motion-base:.26s;--motion-slow:.36s;--motion-ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body{background:radial-gradient(circle at top left, #39b7ea2e, transparent 24%), radial-gradient(circle at bottom right, #16b34c1f, transparent 20%), linear-gradient(180deg, #ffffff57, transparent 16%), linear-gradient(180deg, var(--bg) 0%, var(--bg-deep) 100%);min-height:100%;color:var(--text);margin:0;padding:0;font-family:Inter,Aptos,Segoe UI Variable,sans-serif}html{scroll-behavior:smooth}body{position:relative}a{color:inherit;text-decoration:none}h1,h2,h3{letter-spacing:-.02em;text-transform:none;margin-top:0;font-family:Poppins,Inter,sans-serif}p{margin-top:0}ul{margin:0;padding-left:1.1rem}.site-shell{min-height:100vh;position:relative;overflow-x:clip}.site-glow{z-index:0;filter:blur(24px);pointer-events:none;opacity:.62;border-radius:999px;width:32rem;height:32rem;position:fixed}.site-glow-left{background:#39b7ea1f;top:-12rem;left:-8rem}.site-glow-right{background:#16b34c14;top:8rem;right:-10rem}.app-header{z-index:30;padding:18px 24px 0;position:sticky;top:0}.app-header__inner{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#fffffff7,#f0f7faf2),linear-gradient(90deg,#39b7ea0d,#16b34c08);border:1px solid #58c5f31f;border-radius:999px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px 24px;max-width:min(1720px,100vw - 24px);margin:0 auto;padding:14px 16px;display:flex;box-shadow:0 16px 34px #13465e1a}.brand{flex:420px;align-items:center;gap:14px;min-width:0;display:inline-flex}.brand-mark{flex:none;width:132px;height:78px;display:block;position:relative}.brand-mark--image{background:linear-gradient(#f8fdfffa,#e4f4fbf0);border:1px solid #39b7ea2e;border-radius:18px;overflow:hidden;box-shadow:inset 0 1px #ffffffd1,0 8px 18px #13465e1f}.brand-mark__image{object-fit:contain;object-position:center;position:absolute;inset:0;transform:scale(1.08)}.brand-copy{gap:3px;min-width:0;display:grid}.brand-copy strong{color:#14384a;letter-spacing:0;text-transform:none;white-space:nowrap;font-family:Poppins,Inter,sans-serif;font-size:clamp(1.04rem,.92rem + .5vw,1.55rem)}.brand-copy span{color:#487688d1;font-size:clamp(.88rem,.82rem + .18vw,1rem)}.nav{flex-wrap:wrap;flex:auto;justify-content:center;gap:8px;min-width:0;display:flex}.header-session{flex:none;align-items:center;gap:12px;margin-left:auto;display:flex}.header-session__meta{text-align:right;gap:2px;display:grid}.header-session__meta strong{color:#14384a;font-family:Poppins,Inter,sans-serif;font-size:.92rem;font-weight:600}.header-session__meta span{color:#487688d1;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}.nav__link{color:#103142c2;transition:transform var(--motion-base) var(--motion-ease), color var(--motion-base) var(--motion-ease), background-color var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease), border-color var(--motion-base) var(--motion-ease);border:1px solid #0000;border-radius:999px;padding:10px 14px;font-size:.92rem;font-weight:700}.nav__link:hover{color:var(--text-main);background:#1031420d;border-color:#58c5f324;transform:translateY(-1px)}.nav__link--active{color:#fff;background:linear-gradient(135deg,#ef482c,#ff6b3d);box-shadow:0 14px 24px #ef482c2e}.site-main{z-index:1;animation:page-enter var(--motion-slow) var(--motion-ease);padding-bottom:48px;position:relative}.site-main--display-only{z-index:auto;padding-bottom:0;animation:none}.site-shell:has(.login-screen) .app-header{display:none}.site-shell:has(.login-screen) .site-main{min-height:100vh;padding-bottom:0}.container{max-width:1480px;margin:0 auto;padding:28px 24px 40px}.container--wide{max-width:min(1720px,100vw - 24px)}.page-shell--calendar.container--wide,.page-shell--calendar-day.container--wide{max-width:min(2200px,100vw - clamp(20px,2vw,40px));padding-left:clamp(18px,1.8vw,32px);padding-right:clamp(18px,1.8vw,32px)}.page-shell{opacity:0;animation:page-shell-settle var(--motion-base) var(--motion-ease) both;will-change:transform, opacity}.page-shell--home{animation-duration:var(--motion-slow)}.page-shell--calendar,.page-shell--calendar-day{animation-name:page-shell-glide;animation-duration:var(--motion-slow)}.page-shell--calendar-day{min-height:calc(100vh - 108px);overflow:visible}.page-shell--jobs,.page-shell--employees,.page-shell--crews{animation-delay:40ms}.card{background:linear-gradient(180deg, var(--surface-raised), var(--surface-panel));border-radius:var(--radius-lg);box-shadow:var(--surface-shadow);transition:transform var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease), background-color var(--motion-base) var(--motion-ease), border-color var(--motion-base) var(--motion-ease);border:1px solid #58c5f31f;padding:22px;position:relative}.card:before{display:none}.grid{gap:18px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;padding:18px 0 12px;display:flex}.page-header h1{margin-bottom:6px;font-size:clamp(1.8rem,3.2vw,2.4rem);line-height:1.02}.small{color:var(--text-muted);font-size:.96rem;line-height:1.55}.login-screen{place-items:center;min-height:100vh;padding:40px 24px;display:grid}.login-screen--worker{background:radial-gradient(circle at top,#39b7ea1f,#0000 30%),linear-gradient(#f5fafdfa,#e9f3f8f5);padding:24px 16px}.login-screen__window{background:linear-gradient(#fffffffa,#f2f9fcf5),linear-gradient(135deg,#39b7ea0d,#16b34c08);border:1px solid #58c5f324;border-radius:28px;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:stretch;gap:22px;width:min(100%,980px);padding:22px;display:grid;box-shadow:0 28px 60px #13465e24,inset 0 1px #fffc}.worker-login-card{background:linear-gradient(#fffffffc,#f4f9fcf7);border:1px solid #58c5f324;border-radius:1.75rem;gap:1.15rem;width:min(100%,24rem);padding:1.4rem;display:grid;box-shadow:0 24px 48px #13465e1f,inset 0 1px #ffffffd1}.worker-login-card__copy{text-align:center;gap:.45rem;display:grid}.worker-login-card__eyebrow{width:fit-content;color:var(--highlight);letter-spacing:.08em;text-transform:uppercase;background:#39b7ea1a;border-radius:999px;justify-self:center;padding:.45rem .75rem;font-size:.74rem;font-weight:800;display:inline-flex}.worker-login-card__copy h1{margin-bottom:0;font-size:clamp(2rem,10vw,2.8rem);line-height:.95}.worker-login-card__copy p{color:var(--text-muted);margin:0;font-size:.96rem;line-height:1.5}.login-screen__panel{color:#f2fbff;background:linear-gradient(160deg,#113649f5,#154f68f0),radial-gradient(circle at 100% 0,#39b7ea3d,#0000 30%);border-radius:24px;align-content:space-between;gap:28px;padding:18px;display:grid}.login-screen__form{background:linear-gradient(#fffffffa,#f7fbfdf5);border:1px solid #58c5f31f;border-radius:24px;align-content:center;padding:22px;display:grid}.login-screen__copy{gap:10px;margin-bottom:0;display:grid}.login-screen__eyebrow{color:#f2fbffd6;letter-spacing:.08em;text-transform:uppercase;background:#ffffff24;border-radius:999px;width:fit-content;padding:6px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.login-screen__copy h1{margin-bottom:0;font-size:clamp(1.9rem,3vw,2.35rem);line-height:1}.login-screen__copy p{color:#f2fbffc2;margin-bottom:0;line-height:1.55}.login-screen__highlights{gap:14px;display:grid}.login-screen__highlight{border-top:1px solid #ffffff1f;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:14px 0 0;display:grid}.login-screen__highlight:first-child{border-top:0;padding-top:0}.login-screen__highlight strong{margin-bottom:4px;font-family:Poppins,Inter,sans-serif;font-size:.98rem;display:block}.login-screen__highlight p{color:#f2fbffad;margin:0;font-size:.92rem;line-height:1.5}.login-screen__highlight-dot{background:linear-gradient(135deg,#ff8a66,#39b7ea);border-radius:999px;width:10px;height:10px;margin-top:.35rem;box-shadow:0 0 0 6px #ffffff0f}.hero-panel{color:#103142;background:linear-gradient(120deg,#f0fafffa,#dff1f8f0),linear-gradient(45deg,#39b7ea38,#0000 36%),radial-gradient(circle at 0 100%,#16b34c24,#0000 34%),radial-gradient(circle at 100% 0,#ef482c14,#0000 36%);align-content:center;gap:18px;min-height:320px;display:grid}.eyebrow{color:#20759a;letter-spacing:.08em;text-transform:uppercase;background:#39b7ea24;border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:8px 12px;font-size:.78rem;font-weight:800;display:inline-flex}.hero-panel h1{margin-bottom:0;font-size:clamp(2.4rem,5vw,4rem);line-height:.9}.hero-panel .small{color:#487688e6;max-width:50rem;font-size:1.02rem}.hero-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.hero-stat{border-radius:var(--radius-md);background:#ffffffa3;border:1px solid #58c5f329;padding:14px 16px}.hero-stat strong,.stat-card strong{margin-bottom:4px;font-size:1.8rem;line-height:1;display:block}.hero-stat span,.stat-card span{color:inherit;opacity:.82;font-size:.9rem}.home-shell{gap:18px;display:grid}.home-intro{gap:20px;display:grid}.home-intro--management{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:start;gap:24px}.home-intro__copy{gap:12px;display:grid}.home-intro__copy h1{margin-bottom:0;font-size:clamp(2.2rem,4vw,3.6rem);line-height:.92}.home-intro__lead{max-width:44rem}.home-intro__metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.home-intro__metric{background:linear-gradient(#eff6faf0,#f8fcfefa);border:1px solid #58c5f31f;border-radius:18px;align-content:start;gap:6px;padding:16px;display:grid}.home-intro__metric span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700}.home-intro__metric strong{color:var(--text-main);font-size:clamp(1.7rem,1.25rem + .8vw,2.4rem);line-height:1}.home-intro__metric p{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.45}.home-quick-actions{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;display:grid}.action-list{gap:14px;display:grid}.action-card{border:1px solid var(--line);transition:transform var(--motion-base) var(--motion-ease), border-color var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease);background:linear-gradient(#fcfefffa,#f1f8fcfa);border-radius:18px;gap:6px;padding:18px;display:grid;box-shadow:inset 0 1px #ffffffdb,0 10px 22px #13465e0a}.action-card:hover{border-color:#39b7ea47;transform:translateY(-2px);box-shadow:0 16px 28px #13465e14}.action-card strong{color:var(--text);letter-spacing:0;text-transform:none;font-family:Poppins,Inter,sans-serif}.action-card--metric strong{font-size:2rem;line-height:1}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;display:grid}.stat-card{background:linear-gradient(#fafdfffa,#f0f7fbfa);border:1px solid #58c5f31f;border-radius:22px;gap:10px;padding:20px;display:grid;box-shadow:0 12px 26px #13465e0d}.stat-kicker{color:var(--highlight);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}table{border-collapse:separate;border-spacing:0;width:100%}tbody tr{transition:transform var(--motion-base) var(--motion-ease), background-color var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease)}tbody tr:hover{background:#ffffff38}th,td{text-align:left;vertical-align:top;padding:12px 10px}thead th{z-index:1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(#fbfcfd94,#f8fafc70);font-size:.78rem;font-weight:800;position:sticky;top:0}tbody td{border-bottom:1px solid #13465e0b}tbody tr:last-child td{border-bottom:0}.badge{background:var(--accent-soft);color:#c73f29;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:.78rem;font-weight:800;display:inline-flex}.badge--job-category{border:1px solid #0000;box-shadow:inset 0 1px #ffffff57}.badge--contract{color:#4f7196;background:#6890b833;border-color:#6890b83d}.badge--change-order{color:#94661c;background:#e5b55838;border-color:#e5b5583d}.badge--t-and-m{color:#1f7f78;background:#48bab033;border-color:#48bab038}.badge--maintenance{color:#4f8443;background:#7ebf6833;border-color:#7ebf6838}.badge--truck-driver{color:#925535;background:#d58d5c38;border-color:#d58d5c3d}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.login-form--worker{grid-template-columns:1fr;gap:.95rem}.login-form--worker label{color:var(--text-muted);text-align:center;gap:.55rem;font-size:.86rem}.login-form--worker input{letter-spacing:.22em;text-align:center;border-radius:1rem;min-height:3.9rem;padding:.9rem 1rem;font-size:1.8rem;font-weight:800}.login-form--worker .button{border-radius:1rem;justify-content:center;width:100%;min-height:3.75rem;font-size:1rem}.form-grid label{color:var(--text);gap:7px;font-size:.9rem;font-weight:700;display:grid}.form-grid__section-title{letter-spacing:.12em;text-transform:uppercase;color:#14384a8a;border-top:1px solid #14384a14;margin:8px 0 -2px;padding-top:6px;font-size:.74rem;font-weight:800}.form-grid input,.form-grid select,.form-grid textarea{width:100%;font:inherit;color:var(--text);transition:border-color var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease), transform var(--motion-base) var(--motion-ease), background-color var(--motion-base) var(--motion-ease);background:#fffffff5;border:1px solid #58c5f32e;border-radius:14px;padding:12px 14px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#39b7ea85;outline:none;transform:translateY(-1px);box-shadow:0 0 0 4px #39b7ea29}.checkbox-field{background:#ffffffb3;border-radius:14px;align-items:center;gap:10px;min-height:44px;padding:10px 12px;font-size:.88rem;font-weight:700;box-shadow:inset 0 0 0 1px #14384a0f;display:flex!important}.checkbox-field input{accent-color:#ef482c;width:18px;height:18px;box-shadow:none;margin:0;transform:none}.button{color:#f9fdff;letter-spacing:.01em;cursor:pointer;width:fit-content;transition:transform var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease), filter var(--motion-base) var(--motion-ease), background-color var(--motion-base) var(--motion-ease), color var(--motion-base) var(--motion-ease), opacity var(--motion-base) var(--motion-ease);background:linear-gradient(135deg,#ef482c,#ff6b3d);border:1px solid #0000;border-radius:14px;padding:12px 16px;font-weight:800;box-shadow:0 0 24px #13465e14}.button:hover{filter:saturate(1.05);transform:translateY(-1px);box-shadow:0 0 28px #13465e1a}.button-secondary{color:#14384a;background:linear-gradient(#fffffff0,#f2f7faf5);border:1px solid #58c5f31f;box-shadow:0 10px 18px #13465e0d}.button-transparent{color:var(--text-muted);box-shadow:none;background:0 0;border:1px solid #0000}.button-transparent:hover:not(:disabled){color:var(--text-main);box-shadow:none;background:#14384a0a;border-color:#14384a14}.button-danger{color:#b23f31;background:#d754411f;box-shadow:inset 0 0 0 1px #d7544124}.button-danger:hover{color:#9b3427;background:#d754412e}.button.is-active,.button-secondary.is-active{color:#b13a22;background:#ef482c1f;box-shadow:inset 0 0 0 1px #ef482c24}.button-row{flex-wrap:wrap;gap:12px;display:flex}.button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.span-2{grid-column:span 2}.span-full{grid-column:1/-1}.stack-sm{gap:4px;display:grid}.stack-md{gap:12px;display:grid}.section-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.notice{color:var(--text);animation:notice-settle var(--motion-base) var(--motion-ease);box-shadow:inset 4px 0 0 var(--accent), 0 0 22px #13465e0a;background:#ffffffc2;border:0;border-radius:14px;padding:12px 14px;font-size:.9rem;font-weight:700}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.table-wrap{scrollbar-width:none;-ms-overflow-style:none;background:linear-gradient(#fcfefffa,#f3f8fbf5);border:1px solid #58c5f31a;border-radius:18px;overflow-x:auto;box-shadow:0 14px 28px #13465e0d}.table-wrap::-webkit-scrollbar{width:0;height:0}.fc .fc-scroller::-webkit-scrollbar{width:0;height:0}.muted-card{background:#f8fafca8;margin-top:16px}.selected-schedule-event{box-shadow:inset 0 0 0 2px #39b7ea}.calendar-layout{grid-template-columns:minmax(0,1fr) clamp(280px,20vw,340px);align-items:start;gap:20px;display:grid}.calendar-layout--focused{grid-template-columns:minmax(0,1fr)}.calendar-sidebar{align-content:start;gap:16px;max-height:calc(100vh - 118px);padding-right:6px;display:grid;overflow-y:auto}.calendar-sidebar__filters{gap:16px;display:grid}.calendar-sidebar__filters-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.calendar-filter-grid{gap:12px;display:grid}.calendar-filter{color:var(--text-main);gap:6px;font-size:.84rem;font-weight:600;display:grid}.calendar-filter input,.calendar-filter select{width:100%}.calendar-filter-summary{flex-wrap:wrap;gap:8px;display:flex}.calendar-filter-summary span{color:#20759a;background:#58c5f31f;border-radius:999px;align-items:center;padding:6px 10px;font-size:.75rem;display:inline-flex}.calendar-sidebar__hero,.calendar-sidebar__section{gap:16px;display:grid}.calendar-sidebar__holiday-banner{color:#89620f;background:#fff7e5f2;border:1px solid #f1b42d38;border-radius:16px;padding:12px 14px;font-size:.86rem;line-height:1.45}.calendar-sidebar__section--collapsible{gap:0;padding:0;overflow:hidden}.calendar-sidebar__toggle{color:inherit;text-align:left;cursor:pointer;transition:transform var(--motion-base) var(--motion-ease), color var(--motion-base) var(--motion-ease), background-color var(--motion-base) var(--motion-ease);background:0 0;border:0;justify-content:space-between;align-items:center;gap:14px;padding:20px 22px;display:flex}.calendar-sidebar__toggle:after{content:"+";color:var(--text-muted);flex:none;font-size:1.4rem;font-weight:500}.calendar-sidebar__toggle[aria-expanded=true]:after{content:"−"}.calendar-sidebar__content{opacity:0;pointer-events:none;max-height:0;transition:max-height var(--motion-slow) var(--motion-ease), opacity var(--motion-base) var(--motion-ease), transform var(--motion-base) var(--motion-ease), padding var(--motion-base) var(--motion-ease);gap:14px;padding:0 22px;display:grid;overflow:hidden;transform:translateY(-8px)}.calendar-sidebar__content.is-open{opacity:1;pointer-events:auto;max-height:1400px;padding:0 22px 22px;transform:translateY(0)}.calendar-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.calendar-stat{color:#fff;background:linear-gradient(#57cbf5f5,#259ac9eb);border-radius:18px;gap:4px;padding:14px;display:grid}.calendar-stat strong{font-size:1.5rem;line-height:1}.calendar-stat span{color:#ffffffd1;font-size:.82rem}.calendar-main{min-width:0;max-height:calc(100vh - 118px);padding-right:6px;overflow-y:auto}.calendar-main__shell{position:relative}.calendar-main__notice{margin-bottom:14px}.calendar-glance{background:linear-gradient(#ffffffd6,#f8fcfeb3),radial-gradient(circle at 50% 0,#58c5f32e,#0000 62%);border:1px solid #58c5f329;border-radius:999px;align-items:center;gap:10px;width:min(430px,100%);margin:0 auto;padding:7px 10px;display:flex;box-shadow:0 10px 22px #10314212}.calendar-glance__title{white-space:nowrap;letter-spacing:.08em;text-transform:uppercase;color:#10314294;font-size:.62rem;font-weight:800}.calendar-glance__stats{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.calendar-glance__stat{color:var(--text-main);background:#ffffffb8;border-radius:999px;justify-content:center;align-items:baseline;gap:4px;padding:4px 7px;display:flex}.calendar-glance__stat strong{font-size:.94rem;line-height:1}.calendar-glance__stat span{color:#103142a3;text-align:center;white-space:nowrap;font-size:.64rem}.calendar-main,.calendar-sidebar{-ms-overflow-style:none}.calendar-main{scrollbar-width:none}.calendar-sidebar{scrollbar-width:thin;scrollbar-color:#58c5f347 transparent}.calendar-main::-webkit-scrollbar{width:0;height:0}.calendar-sidebar::-webkit-scrollbar{width:10px}.calendar-sidebar::-webkit-scrollbar-track{background:0 0}.calendar-sidebar::-webkit-scrollbar-thumb{background:#58c5f33d padding-box padding-box;border:2px solid #0000;border-radius:999px}.workspace-shell{gap:20px;display:grid}.workspace-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,.82fr);align-items:start;gap:24px;display:grid}.workspace-main,.workspace-rail{gap:18px;display:grid}.calendar-sidebar>.card,.workspace-rail>.card,.crews-sidebar>.card{transition:transform var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease), background-color var(--motion-base) var(--motion-ease), border-color var(--motion-base) var(--motion-ease);background:linear-gradient(#f8fcfefa,#f0f7fbf5);border:1px solid #58c5f31f;box-shadow:0 14px 32px #0f172a0d}.calendar-sidebar>.card:hover,.calendar-sidebar>.card:focus-within,.workspace-rail>.card:hover,.workspace-rail>.card:focus-within,.crews-sidebar>.card:hover,.crews-sidebar>.card:focus-within{background:linear-gradient(#fff,#f4f9fcfa);border-color:#39b7ea33;box-shadow:0 18px 38px #0f172a14}.workspace-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.workspace-strip__item{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffc2;border:0;gap:6px;padding:18px 20px;display:grid;box-shadow:0 0 28px #0f172a0d}.workspace-strip__item strong{font-size:1.78rem;line-height:1}.workspace-strip__label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:800}.workspace-panel{gap:16px;display:grid}.workspace-panel__eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:800}.workspace-table tbody tr[data-selected=true]{background:#ef482c14}.workspace-table tbody tr[data-selected=true]:hover{background:#ef482c1f}.workspace-table tbody tr[data-selectable=true]{cursor:pointer}.workspace-table tbody tr[data-selectable=true]:not([data-selected=true]):hover{background:#39b7ea14}.workspace-table tbody tr[data-selectable=true]:focus-visible{outline-offset:-2px;outline:2px solid #39b7ea59}.workspace-inspector{gap:12px;display:grid}.workspace-inspector__meta{gap:8px;display:grid}.workspace-inspector__row{border-top:1px solid #10314214;justify-content:space-between;gap:16px;padding:10px 0;display:flex}.workspace-inspector__row:first-child{border-top:0;padding-top:0}.workspace-inspector__row span:first-child{color:var(--text-muted)}.workspace-helper{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffa8;border:0;padding:16px 18px;box-shadow:0 0 22px #0f172a09}.jobs-layout{grid-template-columns:minmax(0,1.5fr) minmax(300px,.82fr);align-items:start;gap:24px;display:grid}.jobs-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.jobs-summary__item{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform var(--motion-base) var(--motion-ease);background:#ffffffc2;border:0;gap:6px;padding:18px 20px;display:grid;box-shadow:0 0 28px #0f172a0d}.jobs-summary__item:hover{transform:translateY(-2px);box-shadow:0 10px 30px #0f172a14}.jobs-summary__item strong{font-size:1.78rem;line-height:1}.jobs-summary__label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.74rem;font-weight:800}.job-site-groups{gap:14px;display:grid}.job-site-group{transition:transform var(--motion-base) var(--motion-ease), border-color var(--motion-base) var(--motion-ease), background-color var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease);background:#ffffffb8;border:1px solid #58c5f329;border-radius:20px;overflow:hidden}.job-site-group:hover,.job-site-group:focus-within{background:#f7fcffe6;border-color:#39b7ea47;transform:translateY(-1px);box-shadow:0 14px 28px #0f172a0d}.job-site-group__toggle,.job-item__toggle{width:100%;color:inherit;text-align:left;cursor:pointer;transition:transform var(--motion-base) var(--motion-ease), color var(--motion-base) var(--motion-ease), background-color var(--motion-base) var(--motion-ease);background:0 0;border:0}.job-site-group__toggle{justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.job-site-group__toggle:after,.job-item__toggle:after{content:"+";color:#0f6f94;background:#58c5f31f;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;display:inline-flex}.job-site-group__toggle[aria-expanded=true]:after,.job-item__toggle[aria-expanded=true]:after{content:"-"}.job-site-group__heading,.job-item__title{gap:4px;display:grid}.job-item__progress{color:#0f6f94;letter-spacing:.02em;vertical-align:middle;background:#39b7ea24;border-radius:999px;margin-left:10px;padding:4px 8px;font-family:Inter,Aptos,Segoe UI Variable,sans-serif;font-size:.8rem;font-weight:700;display:inline-block}.job-site-group__heading small,.job-item__title small,.job-site-group__meta .small{color:#103142ad}.job-site-group__content{opacity:0;pointer-events:none;max-height:0;transition:max-height var(--motion-slow) var(--motion-ease), opacity var(--motion-base) var(--motion-ease), transform var(--motion-base) var(--motion-ease), padding var(--motion-base) var(--motion-ease);gap:14px;padding:0 20px;display:grid;overflow:hidden;transform:translateY(-8px)}.job-site-group__content.is-open{opacity:1;pointer-events:auto;max-height:2200px;padding:0 20px 18px;transform:translateY(0)}.job-site-group__meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.job-site-group__jobs{gap:10px;display:grid}.job-site-inline-form{background:#ffffff9e;border-radius:14px;padding:16px 18px;box-shadow:inset 0 0 0 1px #58c5f31f}.job-item{--job-item-border:#58c5f324;--job-item-border-strong:#39b7ea42;--job-item-surface:#f6fcffd1;--job-item-surface-hover:#fafdfff5;--job-item-progress-track:#39b7ea1f;--job-item-progress-track-border:#39b7ea29;--job-item-progress-fill-start:#39b7ea;--job-item-progress-fill-end:#1aa4d6;--job-item-detail-surface:#ffffffe0;--job-item-detail-border:#58c5f31f;border:1px solid var(--job-item-border);background:var(--job-item-surface);transition:transform var(--motion-base) var(--motion-ease), border-color var(--motion-base) var(--motion-ease), background-color var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease);border-radius:16px;overflow:hidden}.job-item:hover,.job-item:focus-within{border-color:var(--job-item-border-strong);background:var(--job-item-surface-hover);transform:translateY(-1px);box-shadow:0 12px 24px #0f172a0b}.job-item--contract{--job-item-border:#6890b838;--job-item-border-strong:#547aa057;--job-item-surface:linear-gradient(180deg, #e9f2faeb, #d9e6f2d1);--job-item-surface-hover:linear-gradient(180deg, #edf5fcfa, #dfeaf5eb);--job-item-progress-track:#6890b829;--job-item-progress-track-border:#6890b82e;--job-item-progress-fill-start:#6c94bb;--job-item-progress-fill-end:#4d7198;--job-item-detail-surface:#f7fbffeb;--job-item-detail-border:#6890b824}.job-item--change-order{--job-item-border:#e5b5583d;--job-item-border-strong:#b5842957;--job-item-surface:linear-gradient(180deg, #fcf5dfeb, #f6ebc8d1);--job-item-surface-hover:linear-gradient(180deg, #fef8e7fa, #f9efd1eb);--job-item-progress-track:#e5b55829;--job-item-progress-track-border:#b584292e;--job-item-progress-fill-start:#d8a144;--job-item-progress-fill-end:#95691f;--job-item-detail-surface:#fffaeeeb;--job-item-detail-border:#e5b55824}.job-item--t-and-m{--job-item-border:#48bab03d;--job-item-border-strong:#1f7f7957;--job-item-surface:linear-gradient(180deg, #e1f7f4eb, #ccede9d1);--job-item-surface-hover:linear-gradient(180deg, #e8faf7fa, #d5f1edeb);--job-item-progress-track:#48bab029;--job-item-progress-track-border:#1f7f792e;--job-item-progress-fill-start:#48bab0;--job-item-progress-fill-end:#1f7f79;--job-item-detail-surface:#f4fdfceb;--job-item-detail-border:#48bab024}.job-item--maintenance{--job-item-border:#7ebf683d;--job-item-border-strong:#4f833d57;--job-item-surface:linear-gradient(180deg, #ecf8e5eb, #d8edccd1);--job-item-surface-hover:linear-gradient(180deg, #f1fbebfa, #dff2d4eb);--job-item-progress-track:#7ebf6829;--job-item-progress-track-border:#4f833d2e;--job-item-progress-fill-start:#7ebf68;--job-item-progress-fill-end:#4e8541;--job-item-detail-surface:#f8fdf5eb;--job-item-detail-border:#7ebf6824}.job-item--truck-driver{--job-item-border:#d58d5c3d;--job-item-border-strong:#a35f3057;--job-item-surface:linear-gradient(180deg, #fbefe5eb, #f3dfcdd1);--job-item-surface-hover:linear-gradient(180deg, #fdf4ecfa, #f6e5d6eb);--job-item-progress-track:#d58d5c29;--job-item-progress-track-border:#a35f302e;--job-item-progress-fill-start:#d58d5c;--job-item-progress-fill-end:#925434;--job-item-detail-surface:#fff7f0eb;--job-item-detail-border:#d58d5c24}.job-item__toggle{justify-content:space-between;align-items:start;gap:12px;padding:14px 16px;display:flex}.job-item__badges{align-items:center;gap:8px;display:flex}.job-item__content{opacity:0;pointer-events:none;max-height:0;transition:max-height var(--motion-slow) var(--motion-ease), opacity var(--motion-base) var(--motion-ease), transform var(--motion-base) var(--motion-ease), padding var(--motion-base) var(--motion-ease);gap:14px;padding:0 16px;display:grid;overflow:hidden;transform:translateY(-6px)}.job-item__content.is-open{opacity:1;pointer-events:auto;max-height:1200px;padding:0 16px 16px;transform:translateY(0)}.job-item__progress-bar{background:var(--job-item-progress-track);border:1px solid var(--job-item-progress-track-border);border-radius:999px;width:100%;height:10px;overflow:hidden}.job-item__progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--job-item-progress-fill-start), var(--job-item-progress-fill-end));height:100%;transition:width var(--motion-fast) var(--motion-ease)}.job-item__details{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.job-item__details div{background:var(--job-item-detail-surface);border:1px solid var(--job-item-detail-border);border-radius:14px;padding:12px 14px}.job-item__details dt{text-transform:uppercase;letter-spacing:.08em;color:#10314294;margin:0 0 4px;font-size:.72rem}.job-item__details dd{margin:0;font-weight:600}.jobs-main{align-content:start;gap:18px;min-width:0;max-height:calc(100vh - 118px);padding-right:0;display:grid;overflow-y:auto}.jobs-main__hero,.jobs-sidebar__hero,.jobs-sidebar__section{gap:16px;display:grid}.jobs-sidebar__section--collapsible{gap:0;overflow:hidden}.jobs-sidebar__toggle{text-align:left;width:100%;color:inherit;cursor:pointer;transition:transform var(--motion-base) var(--motion-ease), color var(--motion-base) var(--motion-ease), background-color var(--motion-base) var(--motion-ease);background:0 0;border:0;justify-content:space-between;align-items:center;padding:0;display:flex}.jobs-sidebar__toggle span{gap:0;display:grid}.jobs-sidebar__toggle:after{content:"+";color:#0f6f94;background:#58c5f31f;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;display:inline-flex}.jobs-sidebar__toggle[aria-expanded=true]:after{content:"-"}.jobs-sidebar__content{opacity:0;pointer-events:none;max-height:0;transition:max-height var(--motion-slow) var(--motion-ease), opacity var(--motion-base) var(--motion-ease), transform var(--motion-base) var(--motion-ease), padding var(--motion-base) var(--motion-ease);gap:14px;padding-top:0;display:grid;overflow:hidden;transform:translateY(-8px)}.jobs-sidebar__content.is-open{opacity:1;pointer-events:auto;max-height:3200px;padding-top:16px;padding-bottom:8px;transform:translateY(0)}.jobs-sidebar{align-content:start;gap:18px;max-height:calc(100vh - 118px);padding-right:0;display:grid;position:sticky;top:96px;overflow-y:auto}.jobs-main,.jobs-sidebar{scrollbar-width:none;-ms-overflow-style:none}.jobs-main::-webkit-scrollbar{width:0;height:0}.jobs-sidebar::-webkit-scrollbar{width:0;height:0}.employees-layout{grid-template-columns:minmax(0,1.5fr) minmax(300px,.82fr);align-items:start;gap:24px;display:grid}.employees-main{align-content:start;gap:18px;min-width:0;max-height:calc(100vh - 118px);padding-right:0;display:grid;overflow-y:auto}.employees-main__hero,.employees-sidebar__section{gap:16px;display:grid}.employees-sidebar__section--collapsible{gap:0;overflow:hidden}.employees-sidebar__toggle{text-align:left;width:100%;color:inherit;cursor:pointer;transition:transform var(--motion-base) var(--motion-ease), color var(--motion-base) var(--motion-ease), background-color var(--motion-base) var(--motion-ease);background:0 0;border:0;justify-content:space-between;align-items:center;padding:0;display:flex}.employees-sidebar__toggle span{gap:0;display:grid}.employees-sidebar__toggle:after{content:"+";color:#0f6f94;background:#58c5f31f;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;display:inline-flex}.employees-sidebar__toggle[aria-expanded=true]:after{content:"-"}.employees-sidebar__content{opacity:0;pointer-events:none;max-height:0;transition:max-height var(--motion-slow) var(--motion-ease), opacity var(--motion-base) var(--motion-ease), transform var(--motion-base) var(--motion-ease), padding var(--motion-base) var(--motion-ease);gap:14px;padding-top:0;display:grid;overflow:hidden;transform:translateY(-8px)}.employees-sidebar__content.is-open{opacity:1;pointer-events:auto;max-height:1400px;padding-top:16px;transform:translateY(0)}.employees-sidebar{align-content:start;gap:18px;max-height:calc(100vh - 118px);padding-right:0;display:grid;position:sticky;top:96px;overflow-y:auto}.employees-main,.employees-sidebar{scrollbar-width:none;-ms-overflow-style:none}.employees-main::-webkit-scrollbar{width:0;height:0}.employees-sidebar::-webkit-scrollbar{width:0;height:0}.crews-layout{grid-template-columns:minmax(0,1.5fr) minmax(300px,.82fr);align-items:start;gap:24px;display:grid}.crews-main{align-content:start;gap:18px;min-width:0;max-height:calc(100vh - 118px);padding-right:0;display:grid;overflow-y:auto}.crews-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.crews-summary__item{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffc2;border:0;gap:6px;padding:18px 20px;display:grid;box-shadow:0 0 28px #0f172a0d}.crews-summary__item strong{font-size:1.78rem;line-height:1}.crews-sidebar,.crews-sidebar__section{gap:16px;display:grid}.crews-sidebar__section{transition:transform var(--motion-base) var(--motion-ease), border-color var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease)}.crews-sidebar__section--collapsible{gap:0;overflow:hidden}.crews-sidebar__toggle{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:0;display:flex}.crews-sidebar__toggle span{gap:0;display:grid}.crews-sidebar__toggle:after{content:"+";color:#0f6f94;background:#58c5f31f;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;font-weight:700;display:inline-flex}.crews-sidebar__toggle[aria-expanded=true]:after{content:"-"}.crews-sidebar__content{opacity:0;pointer-events:none;max-height:0;transition:max-height var(--motion-slow) var(--motion-ease), opacity var(--motion-base) var(--motion-ease), transform var(--motion-base) var(--motion-ease), padding-top var(--motion-base) var(--motion-ease);gap:14px;padding-top:0;display:grid;overflow:hidden;transform:translateY(-8px)}.crews-sidebar__content.is-open{opacity:1;pointer-events:auto;max-height:720px;padding-top:16px;transform:translateY(0)}.crews-sidebar__section:hover{transform:translateY(-2px)}.crews-sidebar{align-content:start;max-height:calc(100vh - 118px);padding-right:0;position:sticky;top:96px;overflow-y:auto}.crews-main,.crews-sidebar{scrollbar-width:none;-ms-overflow-style:none}.crews-main::-webkit-scrollbar{width:0;height:0}.crews-sidebar::-webkit-scrollbar{width:0;height:0}.employees-archive{gap:14px;display:grid}.employees-archive summary{cursor:pointer;color:var(--text);transition:transform var(--motion-base) var(--motion-ease), color var(--motion-base) var(--motion-ease);justify-content:space-between;align-items:center;gap:12px;font-family:Poppins,Inter,sans-serif;font-weight:600;list-style:none;display:flex}.employees-archive summary:hover{transform:translate(2px)}.employees-archive summary::-webkit-details-marker{display:none}.employees-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.employees-summary__item{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffc2;border:0;gap:6px;padding:18px 20px;display:grid;box-shadow:0 0 28px #0f172a0d}.employees-summary__item strong{font-size:1.78rem;line-height:1}.employees-summary__item span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:800}.employee-name-cell,.employee-cert-summary,.employee-profile-meta,.employee-intake-history,.employee-intake-panel{gap:6px;display:grid}.employee-profile-grid{grid-template-columns:1fr;align-items:start;gap:18px;display:grid}.employee-profile-section{align-content:start;gap:16px;display:grid}.employee-dialog{width:min(1120px,100vw - 32px);max-height:calc(100vh - 32px)}.employee-edit-section{gap:14px;padding:18px;display:grid}.employee-edit-section--collapsible{gap:0;padding:0;overflow:hidden}.employee-edit-section__toggle{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex}.employee-edit-section__toggle span{color:var(--text-main);font-size:1rem;font-weight:700}.employee-edit-section__toggle:after{content:"+";width:28px;height:28px;color:var(--text-muted);background:#58c5f31f;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:1.1rem;display:inline-flex}.employee-edit-section__toggle[aria-expanded=true]:after{content:"−"}.employee-edit-section__content{padding:0 18px 18px}.employee-edit-section__actions{justify-content:flex-end;display:flex}.employee-edit-section__header{gap:0;display:grid}.employee-edit-section__header h3{color:var(--text-main);margin:0}.employee-edit-section__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.employee-edit-section__grid label{gap:7px;display:grid}.employee-profile-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.employee-profile-meta__item{background:#ffffffe6;border:1px solid #58c5f324;border-radius:14px;gap:4px;padding:12px 14px;display:grid}.employee-profile-meta__item .small{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem}.employee-profile-meta strong,.employee-cert-summary strong{color:var(--text);font-family:Poppins,Inter,sans-serif;font-size:.98rem}.employee-directory-table thead th{padding:12px 14px}.employee-directory-table tbody td{vertical-align:middle;padding:10px 14px}.employee-directory-table tbody tr{cursor:pointer}.employee-directory-table .employee-name-cell,.employee-directory-table .employee-cert-summary{gap:2px}.employee-directory-table .employee-name-cell strong,.employee-directory-table .employee-cert-summary strong{font-size:.96rem}.employee-certification-card{padding:18px}.employee-intake-history__item{background:#ffffffd6;border:1px solid #58c5f31f;border-radius:14px;gap:8px;padding:12px 14px;display:grid}.employee-intake-history__status{gap:2px;display:grid}.employee-intake-history__message{color:var(--text-muted)}.employee-intake-history{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.employee-intake-panel input[readonly]{background:#fffffff5}.employee-intake-actions{justify-content:flex-start;display:flex}.employee-dialog__header-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.page-shell--employee-intake{padding-block:clamp(20px,3vw,40px)}.page-shell--mobile-intake{padding-block:14px 24px;padding-inline:12px}.employee-intake-card{width:min(100%,920px);margin-inline:auto}.employee-intake-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.employee-intake-toolbar__hint{color:var(--text-muted)}.employee-intake-language-toggle{background:#0f172a0d;border:1px solid #0f172a14;border-radius:999px;align-items:center;gap:4px;padding:4px;display:inline-flex}.employee-intake-language-toggle__button{color:var(--text-muted);font:inherit;cursor:pointer;transition:background-color var(--motion-base) var(--motion-ease), color var(--motion-base) var(--motion-ease), transform var(--motion-base) var(--motion-ease);background:0 0;border:0;border-radius:999px;padding:8px 12px;font-weight:700}.employee-intake-language-toggle__button.is-active{color:var(--text);background:#fff;box-shadow:0 10px 24px #0f172a14}.employee-intake-stepper{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.employee-intake-stepper__item{color:var(--text-muted);align-items:center;gap:8px;font-size:.88rem;font-weight:700;display:inline-flex}.employee-intake-stepper__item.is-active{color:var(--text)}.employee-intake-stepper__item.is-complete{color:#0f9f6e}.employee-intake-stepper__dot{background:#0f172a29;border-radius:999px;width:10px;height:10px}.employee-intake-stepper__item.is-active .employee-intake-stepper__dot{background:#ef482c}.employee-intake-stepper__item.is-complete .employee-intake-stepper__dot{background:#0f9f6e}.employee-intake-card__header{align-items:flex-end}.employee-intake-form{gap:16px}.employee-intake-form__section{display:contents}.employee-intake-form__certifications{margin-top:10px}.employee-intake-form__required-cards{gap:12px}.employee-intake-nfc{justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.employee-intake-nfc__copy{gap:2px;display:grid}.employee-intake-nfc__copy strong{color:var(--text);font-size:.88rem}.employee-intake-form__required-cards .muted-card{border-radius:20px}.employee-intake-form__section-header{margin-bottom:10px}.employee-intake-form__actions{margin-top:8px}.users-workspace{grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);align-items:start}.users-sidebar{position:sticky;top:110px}.users-toggle{align-items:center;gap:10px;font-weight:600;display:flex}.users-toggle input{width:18px;height:18px}.user-table__identity{gap:4px;display:grid}.status-pill--admin{color:#b33a24;background:#ef482c1f}.status-pill--dispatcher{color:#0b5c97;background:#0f84d31f}.status-pill--viewer{color:#4b5b73;background:#64748b1f}.availability-list{gap:10px;display:grid}.availability-list__item{background:#f3fbfedb;border:1px solid #58c5f324;border-radius:16px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.calendar-stage{--calendar-sticky-weekday-offset:72px;background:linear-gradient(#fafdfffa,#f1f7fbfa);padding:clamp(22px,1.8vw,34px)}.calendar-stage__header{z-index:30;background:linear-gradient(#fafdff,#f5fafd);border-bottom:1px solid #58c5f31f;grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr);align-items:center;gap:18px;margin-bottom:18px;padding:6px 0 10px;display:grid;position:sticky;top:0;box-shadow:0 10px 18px #0f172a0a}.calendar-stage__month-title{text-align:center;justify-self:center}.calendar-stage__month-nav{min-width:min(150px,100%)}.calendar-stage__month-nav--previous{justify-self:start}.calendar-stage__month-nav--next{justify-self:end}.calendar-stage__legend{grid-template-columns:minmax(150px,1fr) auto minmax(260px,1fr);align-items:center;gap:10px 16px;display:grid}.calendar-stage__legend--top{margin-bottom:14px}.calendar-stage__legend-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.calendar-stage__legend-group--categories{justify-content:flex-end;gap:8px 12px}.calendar-stage__legend-label{letter-spacing:.08em;text-transform:uppercase;color:#10314280;align-items:center;min-height:18px;font-size:.68rem;font-weight:700;display:inline-flex}.scheduler-board__header{align-items:center}.scheduler-board__controls{flex-wrap:wrap;gap:8px;display:flex}.scheduler-board{background:linear-gradient(#f7fbfdfa,#ecf4f8fa);border:1px solid #58c5f31f;border-radius:24px;gap:clamp(10px,1vh,16px);padding:clamp(14px,1.4vw,22px);display:grid;box-shadow:0 16px 28px #0f172a0d}.scheduler-board__weekday-row,.scheduler-week__days{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.scheduler-board__weekday-row{top:var(--calendar-sticky-weekday-offset);z-index:29;background:#f7fbfd;border-bottom:1px solid #58c5f31f;padding-top:6px;position:sticky;box-shadow:0 10px 16px #0f172a0a}.scheduler-board__weekday{letter-spacing:.06em;text-transform:uppercase;color:#5d8396;text-align:center;padding:0 0 8px;font-size:.78rem;font-weight:800}.scheduler-board__weeks{gap:clamp(10px,1vh,16px);display:grid}.scheduler-week{--scheduler-lane-height:clamp(30px, 2vh, 38px);gap:0;display:grid;position:relative}.scheduler-week__days{z-index:0;position:relative}.scheduler-day{min-height:calc(clamp(68px, 8vh, 106px) + (var(--scheduler-lane-count,1) * var(--scheduler-lane-height)));color:var(--text);text-align:left;transition:background-color var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease), border-color var(--motion-base) var(--motion-ease);background:linear-gradient(#f8fcfef0,#ebf6fbf0);border:1px solid #58c5f31f;border-right-width:0;padding:8px;position:relative}.scheduler-day--has-history{padding-bottom:24px}.scheduler-day:last-child{border-right-width:1px}.scheduler-day--outside{color:#7b96a4;background:linear-gradient(#f4f8fbb8,#eef4f8b8)}.scheduler-day--weekend{background:linear-gradient(#f1f7faeb,#e9f2f7eb)}.scheduler-day--holiday{box-shadow:inset 0 0 0 1px #f1b42d47}.scheduler-day--today{box-shadow:inset 0 0 0 2px #39b7ea40}.scheduler-day--drop-target{background:linear-gradient(#ddf5fffa,#ceeffafa);box-shadow:inset 0 0 0 2px #39b7ea47}.scheduler-day__number{z-index:2;color:#5a8192;background:#fffc;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;font-size:.72rem;font-weight:800;display:inline-flex;position:absolute;top:6px;left:6px}.scheduler-day__history{z-index:2;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:4px;display:flex;position:absolute;bottom:6px;left:6px;right:6px}.scheduler-day__history-badge{letter-spacing:.01em;color:#f8fbfd;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:14px;padding:0 4px;font-size:.58rem;font-weight:800;line-height:1;display:inline-flex;box-shadow:0 2px 6px #0f172a1f}.scheduler-day__history-badge--planned_only{background:#7c8d99}.scheduler-day__history-badge--completed_as_planned{background:#4f9d63}.scheduler-day__history-badge--completed_with_changes{background:#3f88c8}.scheduler-day__history-badge--unplanned_work_performed{background:#d28a39}.scheduler-day__history-badge--planned_but_not_executed{background:#c45a4f}.scheduler-week__bars{pointer-events:none;z-index:1;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;position:absolute;inset:44px 0 6px}.scheduler-bar{min-height:28px;max-height:calc(var(--scheduler-lane-height) - 2px);color:#fff;text-align:left;pointer-events:auto;cursor:grab;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:transform var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease), filter var(--motion-base) var(--motion-ease);border:1px solid #0000;border-radius:6px;align-content:center;gap:1px;padding:3px 5px;display:grid;position:absolute;overflow:hidden}.scheduler-bar:hover{transform:translateY(-1px)}.scheduler-bar--assigned{color:#f7fbff;background:linear-gradient(#597b969e,#496780b8);border-color:#49678038;box-shadow:0 8px 16px #49678014}.scheduler-bar--placeholder{color:#4b6683;background:linear-gradient(#e3ecf4b3,#d8e4ef9e);border-style:dashed;border-color:#597b962e;box-shadow:0 8px 16px #4967800d}.scheduler-bar--urgent{box-shadow:0 0 0 1px #ef482c29,0 8px 16px #ef482c14}.scheduler-bar--contract.scheduler-bar--placeholder{color:#4d7198;background:linear-gradient(#ddebf8cc,#cee0f0b8);border-color:#6890b833}.scheduler-bar--contract.scheduler-bar--assigned{background:linear-gradient(#759dc5d1,#547aa0e6);border-color:#547aa042;box-shadow:0 8px 16px #547aa01f}.scheduler-bar--change_order.scheduler-bar--placeholder{color:#95691f;background:linear-gradient(#faf0d2d1,#f4e4babd);border-color:#e5b55833}.scheduler-bar--change_order.scheduler-bar--assigned{background:linear-gradient(#e7b95bd6,#c29031e6);border-color:#b5842942;box-shadow:0 8px 16px #b584291f}.scheduler-bar--t_and_m.scheduler-bar--placeholder{color:#1f7f79;background:linear-gradient(#d5f2efcc,#c1e8e4b8);border-color:#48bab033}.scheduler-bar--t_and_m.scheduler-bar--assigned{background:linear-gradient(#4fbeb5d1,#238d84e6);border-color:#1f7f7942;box-shadow:0 8px 16px #1f7f791f}.scheduler-bar--maintenance.scheduler-bar--placeholder{color:#4e8541;background:linear-gradient(#e1f4d6cc,#cee8c2b8);border-color:#7ebf6833}.scheduler-bar--maintenance.scheduler-bar--assigned{background:linear-gradient(#81c36ad1,#569142e6);border-color:#4f833d42;box-shadow:0 8px 16px #4f833d1f}.scheduler-bar--truck_and_driver.scheduler-bar--placeholder{color:#925434;background:linear-gradient(#f8e5d6d1,#efd5bfbd);border-color:#d58d5c33}.scheduler-bar--truck_and_driver.scheduler-bar--assigned{background:linear-gradient(#da925dd6,#b06a39e6);border-color:#a35f3042;box-shadow:0 8px 16px #a35f301f}.scheduler-bar--canceled{color:#7f1d1d;background:repeating-linear-gradient(135deg,#ffffff42 0 5px,#0000 5px 10px),linear-gradient(#ffe5e5f2,#f4bcbce6);border-style:dashed;border-color:#ab2d2d6b;box-shadow:0 8px 16px #ab2d2d1a}.scheduler-bar--canceled:hover{box-shadow:0 10px 18px #ab2d2d24}.scheduler-bar--canceled .scheduler-bar__title,.scheduler-bar--canceled .scheduler-bar__meta{-webkit-text-decoration:line-through #7f1d1db8;text-decoration:line-through #7f1d1db8;text-decoration-thickness:2px}.scheduler-bar--canceled .scheduler-bar__meta{color:#8f2424;font-weight:800}.scheduler-bar--start{border-top-left-radius:6px;border-bottom-left-radius:6px}.scheduler-bar--end{border-top-right-radius:6px;border-bottom-right-radius:6px}.scheduler-bar:not(.scheduler-bar--start){border-top-left-radius:2px;border-bottom-left-radius:2px}.scheduler-bar:not(.scheduler-bar--end){border-top-right-radius:2px;border-bottom-right-radius:2px}.scheduler-bar--selected{box-shadow:inset 0 0 0 2px #ffffff80,0 0 0 2px #39b7ea}.scheduler-bar__title{letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:.7rem;font-weight:800;line-height:1.02;display:block;overflow:hidden}.scheduler-bar__meta{opacity:.74;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;-webkit-user-select:none;user-select:none;margin-top:1px;font-size:.56rem;line-height:1;display:block;overflow:hidden}.tv-display-shell{z-index:120;min-height:100vh;color:var(--ink);background:#eef6f8;grid-template-rows:auto minmax(0,1fr);gap:clamp(8px,1.2vh,16px);padding:clamp(10px,1.6vh,22px);display:grid;position:fixed;inset:0;overflow:hidden}.tv-display-header{grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);align-items:end;gap:clamp(10px,1.4vw,22px);display:grid}.tv-display-header__label{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:clamp(.68rem,.8vw,.9rem);font-weight:900;display:block}.tv-display-header h1{letter-spacing:0;margin-bottom:0;font-size:clamp(1.8rem,3.1vw,4.1rem);line-height:.98}.tv-display-header__note{color:var(--muted);margin:10px 0 0;font-weight:800}.tv-display-stats{grid-template-columns:repeat(2,minmax(0,1fr));justify-self:end;gap:clamp(6px,.9vw,12px);width:min(68vw,860px);display:grid}.tv-display-stats div{background:#ffffffb8;border-radius:6px;gap:4px;min-width:0;padding:clamp(8px,1.2vh,14px) clamp(10px,1.2vw,18px);display:grid}.tv-display-stats span{color:var(--muted);letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:clamp(.7rem,1vw,.95rem);font-weight:900;overflow:hidden}.tv-display-stats strong{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.2rem,1.8vw,2.2rem);line-height:1;overflow:hidden}.tv-calendar-frame{background:#fffffff0;border-radius:16px;min-height:0;overflow:hidden;box-shadow:0 0 36px #0f172a14}.tv-calendar-board{border-radius:16px;grid-template-rows:auto minmax(0,1fr);gap:10px;height:100%;padding:18px;display:grid}.tv-calendar-board__header{grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:18px;display:grid}.tv-calendar-board__header h2{letter-spacing:0;margin-bottom:0;font-size:clamp(1.9rem,2.6vw,3.1rem);line-height:1}.tv-calendar-board__legend{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.tv-calendar-frame .calendar-chip,.tv-calendar-frame .calendar-glance__title{font-size:clamp(.68rem,.8vw,.9rem)}.tv-scheduler-board{gap:8px;height:100%;overflow:hidden}.tv-calendar-frame .scheduler-board__weekday-row{position:static}.tv-calendar-frame .scheduler-board__weekday{padding-bottom:6px;font-size:clamp(.85rem,1vw,1.08rem)}.tv-calendar-frame .scheduler-board__weeks{gap:8px;height:100%}.tv-calendar-frame .scheduler-week{--scheduler-lane-height:clamp(32px, 3.25vh, 45px);min-height:0}.tv-calendar-frame .scheduler-day{min-height:0;padding:8px}.tv-calendar-frame .scheduler-day__number{font-size:clamp(.95rem,1.15vw,1.32rem)}.tv-calendar-frame .scheduler-week__bars{top:34px}.tv-calendar-frame .scheduler-bar{cursor:default;border-radius:8px;min-height:30px;padding:6px 9px}.tv-calendar-frame .scheduler-bar:hover{transform:none}.tv-calendar-frame .scheduler-bar__title{font-size:clamp(.82rem,.94vw,1.05rem);line-height:1.08}.tv-calendar-frame .scheduler-bar__meta{font-size:clamp(.68rem,.78vw,.9rem);line-height:1.05}.tv-daily-frame{background:#ffffffb8;border-radius:8px;grid-template-rows:auto minmax(0,1fr);gap:clamp(6px,1vh,14px);min-height:0;padding:clamp(8px,1.2vh,18px);display:grid;overflow:hidden}.tv-daily-header{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.tv-daily-header h2{letter-spacing:0;margin-bottom:2px;font-size:clamp(1.2rem,1.7vw,2.2rem)}.tv-daily-header span,.tv-daily-updated{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:clamp(.7rem,.82vw,.98rem);font-weight:900}.tv-daily-grid{scrollbar-width:none;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);align-content:start;gap:clamp(6px,.8vh,12px);height:100%;min-height:0;padding-right:0;display:grid;overflow:hidden}.tv-daily-grid::-webkit-scrollbar{width:0;height:0}.tv-daily-job{background:#ffffffb3;border:1px solid #547aa02e;border-left:4px solid #547aa094;border-radius:6px;grid-template-columns:minmax(0,1fr) clamp(48px,4.2vw,64px);gap:clamp(6px,.7vw,10px);min-height:0;padding:clamp(10px,1.2vh,16px);display:grid}.tv-daily-job--awaiting-crew{background:#ffffffb3;border-left-color:#547aa094}.tv-daily-job--contract{background:#f4f8fbe0;border-left-color:#547aa09e}.tv-daily-job--change_order{background:#f8f6fbe0;border-left-color:#7e63a694}.tv-daily-job--t_and_m{background:#faf9f4e0;border-left-color:#8e7f5994}.tv-daily-job--maintenance{background:#f5faf7e0;border-left-color:#52846b94}.tv-daily-job--truck_and_driver{background:#fbf7f4e6;border-left-color:#a16f4c9e}.tv-daily-job__time{color:var(--ink);text-align:center;font-size:clamp(.68rem,.86vw,1rem);font-weight:900;line-height:1;display:block}.tv-daily-job__main{grid-template-rows:auto auto minmax(0,1fr);gap:clamp(5px,.72vh,8px);min-width:0;min-height:0;display:grid}.tv-daily-job__title-row{grid-template-columns:minmax(0,1fr);align-items:start;gap:0;min-width:0;display:grid}.tv-daily-job__site-card,.tv-daily-job__description-card{background:#ffffff80;border:1px solid #547aa021;border-radius:5px;min-width:0;display:grid}.tv-daily-job__site-card{gap:1px;padding:5px 6px}.tv-daily-job__description-card{gap:2px;padding:5px 6px}.tv-daily-job h3{letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;margin-bottom:1px;font-size:clamp(.95rem,1.35vw,1.7rem);line-height:1.05;overflow:hidden}.tv-daily-job p{color:var(--muted);text-overflow:ellipsis;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:0;font-size:clamp(.74rem,.9vw,1.08rem);font-weight:800;line-height:1.15;display:-webkit-box;overflow:hidden}.tv-daily-job__site-card span,.tv-daily-job__description-card span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.6rem,.7vw,.82rem);font-weight:800;line-height:1.08;overflow:hidden}.tv-daily-job__truck{color:var(--muted);letter-spacing:.06em;text-align:right;text-transform:uppercase;white-space:nowrap;font-size:clamp(.58rem,.68vw,.78rem);font-weight:900;line-height:1;display:block}.tv-daily-job__truck--yes{color:var(--ink)}.tv-daily-job__rail{grid-template-rows:auto minmax(0,1fr) auto;align-self:stretch;justify-items:end;min-width:0;display:grid}.tv-daily-job__rail .tv-daily-job__truck{grid-row:1}.tv-daily-job__rail .tv-daily-job__time{grid-row:3}.tv-daily-job__workers{color:#103142c7;grid-template-columns:repeat(2,max-content);place-content:start;align-items:start;gap:8px;min-height:0;font-size:clamp(.62rem,.72vw,.86rem);font-weight:800;line-height:1.25;display:grid;overflow:hidden}.tv-daily-job__workers ul{grid-auto-rows:max-content;align-content:start;align-items:start;gap:3px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.tv-daily-job__workers li{text-overflow:ellipsis;white-space:nowrap;max-width:clamp(72px,6.8vw,110px);line-height:1;overflow:hidden}.tv-daily-job__empty,.tv-daily-empty{color:var(--muted);font-weight:900}.tv-daily-empty{background:#ffffffad;border-radius:16px;place-items:center;font-size:clamp(1.4rem,2vw,2.4rem);display:grid}@media (max-height:760px) and (orientation:landscape){.tv-display-header{grid-template-columns:minmax(230px,.62fr) minmax(0,1.38fr)}.tv-daily-header{display:none}.tv-daily-frame{grid-template-rows:minmax(0,1fr)}}@media (max-width:900px),(orientation:portrait){.tv-display-shell{grid-template-rows:auto minmax(0,1fr);position:fixed}.tv-display-header{grid-template-columns:1fr}.tv-display-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tv-daily-grid{grid-template-columns:1fr;grid-auto-rows:minmax(96px,auto);overflow:auto}}.tv-access-shell{place-items:center;min-height:calc(100vh - 160px);padding:24px;display:grid}.tv-access-card{background:#ffffffe6;border-radius:22px;gap:22px;width:min(680px,100%);padding:clamp(24px,4vw,42px);display:grid;box-shadow:0 0 42px #0f172a14}.tv-access-card__copy{gap:8px;display:grid}.tv-access-card__copy span{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:900}.tv-access-card__copy h1,.tv-access-generator h2{margin-bottom:0}.tv-access-card__copy p{color:var(--muted);margin-bottom:0;line-height:1.55}.tv-access-form{gap:14px;display:grid}.tv-access-form label{gap:8px;font-weight:800;display:grid}.tv-access-form input{width:100%;color:var(--ink);font:inherit;letter-spacing:.16em;text-align:center;background:#fff;border:1px solid #0f172a1f;border-radius:16px;padding:18px 20px;font-size:clamp(2rem,7vw,4.4rem);font-weight:900}.tv-access-generator{border-top:1px solid #0f172a14;gap:14px;padding-top:18px;display:grid}.tv-access-code{background:#ff6f4c1a;border-radius:16px;justify-items:center;gap:4px;padding:18px;display:grid}.tv-access-code span,.tv-access-code small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-weight:800}.tv-access-code strong{color:var(--ink);letter-spacing:.14em;font-size:clamp(2.4rem,8vw,5rem);line-height:1}.calendar-chip{letter-spacing:.04em;text-transform:uppercase;transition:transform var(--motion-base) var(--motion-ease), background-color var(--motion-base) var(--motion-ease), color var(--motion-base) var(--motion-ease);border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:.7rem;font-weight:700;display:inline-flex}.calendar-chip--assigned{color:#20759a;background:#39b7ea24}.calendar-chip--placeholder{color:#168b3e;background:#16b34c24}.calendar-chip--canceled{color:#8f2424;background:#ab2d2d1f}.calendar-swatch{color:#103142a8;align-items:center;gap:6px;font-size:.72rem;font-weight:600;display:inline-flex}.calendar-swatch__dot{border:1px solid #0000;border-radius:999px;width:10px;height:10px;box-shadow:inset 0 1px #ffffff5c}.calendar-swatch__dot--contract{background:#ddebf8f0;border-color:#6890b838}.calendar-swatch__dot--change_order{background:#faf0d2f0;border-color:#e5b5583d}.calendar-swatch__dot--t_and_m{background:#d5f2eff0;border-color:#48bab03d}.calendar-swatch__dot--maintenance{background:#e1f4d6f0;border-color:#7ebf683d}.calendar-swatch__dot--truck_and_driver{background:#f8e5d6f0;border-color:#d58d5c3d}.calendar-list{gap:10px;display:grid}.calendar-list__item{text-align:left;width:100%;color:var(--text);transition:transform var(--motion-base) var(--motion-ease), border-color var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease), background-color var(--motion-base) var(--motion-ease);background:#ffffffd1;border:1px solid #58c5f31f;border-radius:18px;gap:6px;padding:14px 15px;display:grid}.calendar-list__item:not(:disabled){cursor:pointer}.calendar-list__item:not(:disabled):hover{border-color:#39b7ea57;transform:translateY(-1px);box-shadow:0 12px 22px #13465e24}.calendar-list__item:disabled{opacity:1}.calendar-list__item--static{cursor:default}.calendar-list__item--draggable{cursor:grab}.calendar-list__item--dragging{opacity:.58;transform:scale(.985)}.calendar-list__title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.calendar-list__item strong,.calendar-empty strong{letter-spacing:0;text-transform:none;font-family:Poppins,Inter,sans-serif}.calendar-empty{color:var(--text-muted);background:#f0faffbd;border:1px dashed #58c5f333;border-radius:18px;gap:6px;padding:16px;display:grid}.status-pill{letter-spacing:.04em;text-transform:uppercase;transition:transform var(--motion-base) var(--motion-ease), background-color var(--motion-base) var(--motion-ease), color var(--motion-base) var(--motion-ease);border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:.74rem;font-weight:800;display:inline-flex}.status-pill--backlog,.status-pill--available{color:#168b3e;background:#16b34c29}.status-pill--scheduled,.status-pill--active,.status-pill--busy{color:#c73f29;background:#ef482c24}.status-pill--unavailable{color:#4b5563;background:#6b728029}.status-pill--reduced,.status-pill--warning{color:#91660f;background:#f1b42d29}.status-pill--danger{color:#c73f29;background:#ef482c24}.status-pill--calm{color:#20759a;background:#39b7ea1a}.status-pill--holiday{color:#7b5a10;background:#89620f1f}.status-pill--complete,.status-pill--archived{color:#20759a;background:#39b7ea1a}.dispatch-page{height:auto;min-height:calc(100vh - 120px);animation:calendar-day-enter var(--motion-slow) var(--motion-ease);gap:16px;display:grid}.dispatch-page__notice{margin-bottom:-4px}.dispatch-page__sheet{background:linear-gradient(#fffffffb,#f8f9fbf7);border:1px solid #11182714;border-radius:28px;grid-template-rows:auto auto auto auto;gap:clamp(10px,.9vw,14px);min-height:clamp(760px,100vh - 120px,1220px);padding:clamp(18px,1.6vw,26px);display:grid;overflow:visible;box-shadow:0 20px 48px #0f172a1a,inset 0 1px #ffffffd1}.dispatch-page__header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:18px;display:grid}.dispatch-page__header-left{justify-content:flex-start;display:flex}.dispatch-page__title-block{text-align:center;justify-items:center;gap:8px;display:grid}.dispatch-page__title-meta{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:inline-flex}.dispatch-page__title-meta-left,.dispatch-page__title-meta-right{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.dispatch-page__status-pill{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:0 10px;font-size:.7rem;font-weight:800;display:inline-flex}.dispatch-page__status-pill--draft{color:#5d6b75;background:#7c8d9924}.dispatch-page__status-pill--active{color:#2f7641;background:#4f9d6324}.dispatch-page__status-pill--closed{color:#9a4239;background:#c45a4f24}.dispatch-page__status-note{color:#525252b8;font-size:.76rem}.dispatch-page__lifecycle-button{min-width:0}.dispatch-page__eyebrow{letter-spacing:.2em;text-transform:uppercase;color:#737373e0;font-size:.75rem;font-weight:700}.dispatch-page__title-row{align-items:flex-end;gap:12px;display:flex}.dispatch-page__day-number{color:#171717;font-family:Poppins,Inter,sans-serif;font-size:clamp(3rem,3.4vw,4rem);font-weight:600;line-height:.92}.dispatch-page__date-copy{color:#404040;padding-bottom:4px;font-family:Poppins,Inter,sans-serif;font-size:clamp(1.45rem,1.1rem + .8vw,2rem);font-weight:500}.dispatch-page__header-right{justify-items:end;gap:10px;display:grid}.dispatch-page__actions{justify-items:end;gap:6px;display:grid}.dispatch-page__rail{align-self:stretch;min-height:100%;display:block;position:relative}.dispatch-page__rail-inner{overscroll-behavior:contain;z-index:4;align-content:start;gap:0;max-height:calc(100vh - 148px);display:grid;position:sticky;top:128px;overflow-y:auto}.dispatch-page__nav-button{min-width:124px}.dispatch-page__escape-hint{color:#525252b8;font-size:.82rem}.dispatch-page__escape-hint--rail{text-align:right;white-space:nowrap;position:absolute;top:-18px;right:2px}.dispatch-page__print-button{min-width:0;padding-inline:6px}.dispatch-page__info-grid{grid-template-columns:repeat(auto-fit,minmax(140px,180px));justify-content:center;gap:8px;width:fit-content;max-width:100%;margin:0 auto;display:grid}.dispatch-page__meta-strip{gap:2px;display:grid}.dispatch-page__info-card{background:#fafafa;border:1px solid #17171714;border-radius:18px;padding:10px 12px;box-shadow:inset 0 1px #ffffffe6}.dispatch-page__info-label{text-transform:uppercase;letter-spacing:.14em;color:#737373d6;font-size:.68rem}.dispatch-page__info-value{color:#262626;margin-top:6px;font-weight:600}.dispatch-page__legend{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 10px;width:100%;margin:0 auto;padding:0;display:flex}.dispatch-page__legend-label{letter-spacing:.12em;text-transform:uppercase;color:#525252b8;font-size:.62rem;font-weight:700}.dispatch-page__legend-item{color:#262626d6;align-items:center;gap:5px;font-size:.7rem;font-weight:600;display:inline-flex}.dispatch-page__legend-swatch{border-radius:2px;width:12px;height:6px;box-shadow:inset 0 0 0 1px #17171714}.dispatch-page__legend-swatch--foreman{background:linear-gradient(#fff2d6 0%,#ffe7b0 100%)}.dispatch-page__legend-swatch--carpenter{background:linear-gradient(#e8f5ff 0%,#d7edff 100%)}.dispatch-page__legend-swatch--flagger{background:linear-gradient(#fff3f0 0%,#ffe3dd 100%)}.dispatch-page__legend-swatch--laborer{background:linear-gradient(#effbf4 0%,#dff6e8 100%)}.dispatch-page__table-wrap{background:#fff;border:1px solid #17171724;border-radius:0;height:auto;min-height:0;max-height:none;overflow:visible}@media (min-width:1680px){.dispatch-page__info-grid{grid-template-columns:repeat(auto-fit,minmax(150px,190px))}.dispatch-page__table{min-width:0}}.dispatch-page__content-grid{grid-template-columns:minmax(0,1fr) 220px;align-items:stretch;gap:10px;min-height:0;display:grid}.dispatch-page__table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:760px;font-size:.94rem}.dispatch-page__table th:first-child,.dispatch-page__table td:first-child{width:20%}.dispatch-page__table th:nth-child(2),.dispatch-page__table td:nth-child(2){width:34%}.dispatch-page__table th:nth-child(3),.dispatch-page__table td:nth-child(3){width:46%}.dispatch-page__table th{color:#525252eb;text-align:left;background:#fafafa;font-size:.8rem;font-weight:600}.dispatch-page__table th,.dispatch-page__table td{vertical-align:top;border-bottom:1px solid #1717171f;border-right:1px solid #1717171f;padding:16px}.dispatch-page__table th:last-child,.dispatch-page__table td:last-child{border-right:0}.dispatch-page__table-row{height:84px}.dispatch-page__table-row:hover{background:#fafafae6}.dispatch-page__table-row--awaiting-crew{background:linear-gradient(90deg,#1fb56b1a 0 6px,#0000 6px),#f4fbf7b8}.dispatch-page__table-row--awaiting-crew:hover{background:linear-gradient(90deg,#1fb56b29 0 6px,#0000 6px),#eef9f2eb}.dispatch-page__table-row--blank td{color:#a3a3a3cc}.dispatch-page__table-row--empty td{background:#fafafae6}.dispatch-page__workers{gap:6px;display:grid}.dispatch-page__workers--cell{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:4px 6px;min-height:42px}.dispatch-page__workers--cell>.dispatch-page__drop-hint{grid-column:1/-1}.dispatch-page__workers--stacked{gap:8px}.dispatch-page__workers--rail{gap:4px}.dispatch-page__worker-cell{min-height:64px;transition:background-color var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease), transform var(--motion-base) var(--motion-ease)}.dispatch-page__worker-cell--active{background:#39b7ea14;box-shadow:inset 0 0 0 2px #39b7ea38}.dispatch-page__worker-chip{color:#262626;width:100%;min-height:24px;transition:transform var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease), background-color var(--motion-base) var(--motion-ease), opacity var(--motion-base) var(--motion-ease);background:#fafafa;border-radius:8px;justify-content:space-between;align-items:center;gap:6px;padding:4px 6px;font-size:.76rem;line-height:1.1;display:flex;box-shadow:inset 0 0 0 1px #17171714}.dispatch-page__worker-chip--foreman{color:#7a4b00;background:linear-gradient(#fff2d6 0%,#ffe7b0 100%);padding-right:18px;position:relative;box-shadow:inset 0 0 0 1px #b2720738}.dispatch-page__worker-chip--foreman:before{content:"★";color:#b27207f2;font-size:.68rem;line-height:1;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.dispatch-page__worker-chip--carpenter{color:#0f4f87;background:linear-gradient(#e8f5ff 0%,#d7edff 100%);box-shadow:inset 0 0 0 1px #2473bc33}.dispatch-page__worker-chip--flagger{color:#9d3a28;background:linear-gradient(#fff3f0 0%,#ffe3dd 100%);box-shadow:inset 0 0 0 1px #d7563c2e}.dispatch-page__worker-chip--laborer{color:#256548;background:linear-gradient(#effbf4 0%,#dff6e8 100%);box-shadow:inset 0 0 0 1px #2e8a5929}.dispatch-page__worker-chip--draggable{cursor:grab}.dispatch-page__worker-chip--draggable:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #17171714,0 8px 18px #0f172a14}.dispatch-page__worker-chip--draggable:active{cursor:grabbing}.dispatch-page__worker-chip--dragging{opacity:.44;transform:scale(.98)}.dispatch-page__worker-chip small,.dispatch-page__worker-detail{color:#103142ad;text-transform:capitalize;font-size:.62rem;font-weight:600}.dispatch-page__notes-cell{gap:6px;display:grid}.dispatch-page__site-cell{transition:background-color var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease)}.dispatch-page__site-card{gap:3px;display:grid}.dispatch-page__site-name{color:#171717;font-family:Poppins,Inter,sans-serif;font-size:.92rem;line-height:1.16}.dispatch-page__site-address,.dispatch-page__site-customer{overflow-wrap:anywhere;font-size:.78rem;line-height:1.28}.dispatch-page__site-address{color:#404040d1}.dispatch-page__site-customer{color:#525252b8}.dispatch-page__site-cell--interactive{cursor:pointer}.dispatch-page__site-cell--interactive:hover{background:#39b7ea0f;box-shadow:inset 0 0 0 1px #39b7ea1f}.dispatch-page__notes-cell strong{letter-spacing:0;text-transform:none;color:#171717;font-family:Poppins,Inter,sans-serif;font-size:.96rem}.dispatch-page__notes-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.dispatch-page__task-input{min-width:0;font:inherit;color:#171717;transition:border-color var(--motion-base) var(--motion-ease), background-color var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease);background:0 0;border:1px solid #0000;border-radius:8px;flex:220px;margin:-2px -6px;padding:2px 6px;font-family:Poppins,Inter,sans-serif;font-size:1rem;font-weight:600;line-height:1.2}.dispatch-page__task-input:hover{background:#17171708}.dispatch-page__task-input:focus{background:#fffffff5;border-color:#39b7ea3d;outline:none;box-shadow:0 0 0 3px #39b7ea1f}.dispatch-page__task-input:disabled{opacity:.72}.dispatch-page__task-flags{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.dispatch-page__remove-dispatch-job{color:#9b3326;min-height:28px;padding:4px 8px;font-size:.72rem}.dispatch-page__outcome-control{color:#262626d1;align-items:center;gap:6px;font-size:.72rem;font-weight:700;display:inline-flex}.dispatch-page__start-time-control{color:#262626d1;align-items:center;gap:2px;font-size:.72rem;font-weight:700;display:inline-flex}.dispatch-page__outcome-control select,.dispatch-page__start-time-control input,.dispatch-page__start-time-control select{color:#171717;min-height:28px;font:inherit;background:#ffffffeb;border:1px solid #1717171f;border-radius:999px;padding:2px 24px 2px 10px}.dispatch-page__start-time-control input{width:82px;padding-right:8px}.dispatch-page__start-time-control--site{justify-self:start;align-items:center;gap:4px;width:auto;margin-top:5px;display:flex}.dispatch-page__start-time-control--site span{color:#525252c7;text-align:right}.dispatch-page__start-time-control--site input{text-align:left;background:0 0;border-color:#0000;width:82px;min-height:26px;padding:0 2px}.dispatch-page__table-row--canceled td{background:#f46f580f}.dispatch-page__task-flags-label{color:#171717;font-family:Poppins,Inter,sans-serif;font-size:.78rem;font-weight:700}.dispatch-page__task-flag{color:#262626e0;letter-spacing:.02em;transition:background-color var(--motion-base) var(--motion-ease), border-color var(--motion-base) var(--motion-ease), color var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease);background:#1717170a;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:4px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.dispatch-page__task-flag--active{box-shadow:inset 0 1px #ffffff73}.dispatch-page__task-flag--load{color:#8f532f;background:#d58d5c29;border-color:#d58d5c3d}.dispatch-page__task-flag--empty{color:#1d7397;background:#39b7ea24;border-color:#39b7ea3d}.dispatch-page__task-flag input{margin:0}.dispatch-page__notes-cell span{color:#404040c7}.dispatch-page__status-tag{letter-spacing:.08em;text-transform:uppercase;color:#1a7c4a;background:#1fb56b1f;border-radius:999px;align-items:center;padding:4px 10px;font-size:.7rem;font-weight:700;display:inline-flex;box-shadow:inset 0 0 0 1px #1fb56b29}.dispatch-page__status-tag--scheduled{color:#146f92;background:#39b7ea1f;box-shadow:inset 0 0 0 1px #39b7ea2e}.dispatch-page__notes-editor{gap:10px;display:grid}.dispatch-page__notes-input{resize:vertical;min-height:80px;font:inherit;color:#262626;transition:border-color var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease), background-color var(--motion-base) var(--motion-ease);background:#fafafaf5;border:1px solid #1717171f;border-radius:14px;padding:12px 14px}.dispatch-page__notes-input:focus{background:#fff;border-color:#39b7ea85;outline:none;box-shadow:0 0 0 4px #39b7ea1f}.dispatch-page__notes-status{color:#404040b8;font-size:.78rem}.dispatch-page__footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-self:end;gap:8px;display:grid}.dispatch-page__footer-card{max-height:108px;transition:background-color var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease), transform var(--motion-base) var(--motion-ease);background:#fafafa;border:1px solid #17171714;border-radius:18px;padding:8px;overflow:auto}.dispatch-page__footer-card--dropzone{min-height:56px}.dispatch-page__footer-card--active{background:#f4fbfe;box-shadow:inset 0 0 0 2px #39b7ea2e}.dispatch-page__footer-title{text-transform:uppercase;letter-spacing:.12em;color:#525252db;margin-bottom:6px;font-size:.64rem;font-weight:700}.dispatch-page__footer-list{color:#262626e0;gap:4px;margin:0;padding-left:14px;font-size:.8rem;display:grid}.dispatch-page__drop-hint{color:#525252b8;text-align:center;border:1px dashed #17171724;border-radius:10px;place-items:center;min-height:48px;padding:8px;font-size:.75rem;display:grid}.dispatch-page__rail-card{align-self:stretch;min-height:0;max-height:none;padding:8px;overflow:auto}.calendar-job-category-picker{gap:10px;display:grid}.calendar-job-category-picker__label{color:var(--text-main);font-size:.82rem;font-weight:700}.calendar-job-category-picker__options{flex-wrap:wrap;gap:8px;display:flex}.calendar-job-category-picker__option{min-height:40px;color:var(--text-muted);cursor:pointer;background:#f8fcfeeb;border:1px solid #58c5f324;border-radius:999px;justify-content:center;align-items:center;padding:8px 14px;font-size:.82rem;font-weight:700;transition:background .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s;display:inline-flex;position:relative}.calendar-job-category-picker__option input{opacity:0;pointer-events:none;position:absolute;inset:0}.calendar-job-category-picker__option.is-selected{color:var(--text-main);background:#58c5f324;border-color:#39b7ea47;box-shadow:0 0 0 2px #39b7ea1f}.calendar-job-category-picker__option:hover{color:var(--text-main);border-color:#39b7ea38;transform:translateY(-1px)}.calendar-job-category-picker__option--contract{color:#4d7198;background:linear-gradient(#ddebf8ad,#cee0f094);border-color:#6890b82e}.calendar-job-category-picker__option--contract.is-selected{color:#395778;background:linear-gradient(#ddebf8f0,#cee0f0e0);border-color:#547aa047;box-shadow:0 0 0 2px #547aa01f}.calendar-job-category-picker__option--change_order{color:#95691f;background:linear-gradient(#faf0d2b3,#f4e4ba99);border-color:#e5b5582e}.calendar-job-category-picker__option--change_order.is-selected{color:#7c5514;background:linear-gradient(#faf0d2f2,#f4e4bae6);border-color:#b5842942;box-shadow:0 0 0 2px #b584291f}.calendar-job-category-picker__option--t_and_m{color:#1f7f79;background:linear-gradient(#d5f2efad,#c1e8e494);border-color:#48bab02e}.calendar-job-category-picker__option--t_and_m.is-selected{color:#165f5b;background:linear-gradient(#d5f2eff0,#c1e8e4e0);border-color:#1f7f7942;box-shadow:0 0 0 2px #1f7f791f}.calendar-job-category-picker__option--maintenance{color:#4e8541;background:linear-gradient(#e1f4d6ad,#cee8c294);border-color:#7ebf682e}.calendar-job-category-picker__option--maintenance.is-selected{color:#3d6932;background:linear-gradient(#e1f4d6f0,#cee8c2e0);border-color:#4f833d42;box-shadow:0 0 0 2px #4f833d1f}.calendar-job-category-picker__option--truck_and_driver{color:#925434;background:linear-gradient(#f8e5d6b3,#efd5bf99);border-color:#d58d5c2e}.calendar-job-category-picker__option--truck_and_driver.is-selected{color:#704024;background:linear-gradient(#f8e5d6f2,#efd5bfe6);border-color:#a35f3042;box-shadow:0 0 0 2px #a35f301f}.dispatch-page__footer-card .dispatch-page__workers{gap:4px}.dispatch-page__footer-card .dispatch-page__worker-chip{border-radius:10px;padding:6px 8px;font-size:.78rem}.dispatch-page__rail-card .dispatch-page__worker-chip{border-radius:8px;padding:5px 7px;font-size:.72rem}.dispatch-page__footer-card .dispatch-page__worker-detail{font-size:.66rem}@keyframes page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes page-shell-settle{0%{opacity:0;transform:translateY(14px)scale(.992)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes page-shell-glide{0%{opacity:0;transform:translate(14px)translateY(8px)scale(.992)}to{opacity:1;transform:translate(0)translateY(0)scale(1)}}@keyframes calendar-day-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes notice-settle{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes overlay-fade{0%{opacity:0}to{opacity:1}}@keyframes overlay-backdrop-in{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}}@keyframes dialog-settle{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.calendar-overlay{z-index:60;animation:overlay-fade var(--motion-base) var(--motion-ease);place-items:center;padding:28px;display:grid;position:fixed;inset:0}.calendar-overlay__backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:overlay-backdrop-in var(--motion-base) var(--motion-ease);background:#10314247;position:absolute;inset:0}.calendar-dialog{z-index:1;transform-origin:top;width:min(760px,100vw - 32px);max-height:calc(100vh - 48px);animation:dialog-settle var(--motion-slow) var(--motion-ease);position:relative;overflow:auto}.calendar-dialog__summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.calendar-dialog__summary-item{background:#f8fcfef5;border:1px solid #58c5f329;border-radius:16px;gap:4px;padding:12px 14px;display:grid}.calendar-dialog__summary-item span{text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);font-size:.73rem}.calendar-dialog__summary-item strong{color:var(--text-main);font-size:.98rem}.calendar-dialog__hint{color:#28694a;background:#effaf3eb;border:1px solid #1fb56b2e;border-radius:14px;padding:12px 14px;font-size:.84rem;line-height:1.45}.calendar-dialog__hint--warning{color:#835313;background:#fff7def0;border-color:#d69e2e38}.calendar-job-option--open{color:#172033}.calendar-job-option--scheduled{color:#2626266b}.calendar-dialog__availability{background:#fafdfff5;border:1px solid #58c5f32e;border-radius:18px;gap:12px;padding:14px 16px;display:grid}.calendar-dialog__availability-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.calendar-dialog__availability-header strong{color:var(--text-main);font-size:.95rem;display:block}.calendar-dialog__availability-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.calendar-dialog__availability-item{color:var(--text);background:#fffffffa;border:1px solid #58c5f324;border-radius:16px;gap:6px;padding:12px 14px;display:grid}.calendar-dialog__availability-item--selected{box-shadow:0 0 0 2px #39b7ea33}.calendar-dialog__availability-item--available{background:#effaf3f0;border-color:#1fb56b2e}.calendar-dialog__availability-item--reduced{background:#fff8e9f0;border-color:#f1b42d3d}.calendar-dialog__availability-item--busy,.calendar-dialog__availability-item--unavailable,.calendar-dialog__availability-item--holiday{background:#f9fafbf5;border-color:#6b72802e}.calendar-dialog__availability-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.calendar-dialog__availability-title-row strong{color:var(--text-main)}.calendar-dialog__availability-item span{color:var(--text-muted);font-size:.82rem;line-height:1.45}.schedule-event--assigned{box-shadow:inset 0 0 0 2px #39b7ea24}.schedule-event--placeholder{opacity:.98}.schedule-event--urgent{box-shadow:inset 0 0 0 2px #ef482c2e}.schedule-event--today{transform:translateY(-1px)}.schedule-event-card{gap:2px;display:grid}.schedule-event-card--continuation{min-height:0}.schedule-event-card__title{letter-spacing:.01em;font-weight:800}.schedule-event-card__meta{opacity:.86;font-size:.74rem;line-height:1.2}.fc{--fc-border-color:#58c5f324;--fc-button-bg-color:#0b81b5;--fc-button-border-color:#0b81b5;--fc-button-hover-bg-color:#0f96cf;--fc-button-hover-border-color:#0f96cf;--fc-button-active-bg-color:#39b7ea;--fc-button-active-border-color:#39b7ea;--fc-today-bg-color:#39b7ea1a}.fc .fc-scroller{scrollbar-width:none;-ms-overflow-style:none}.fc .fc-toolbar{gap:14px;margin-bottom:1.25rem}.fc .fc-toolbar-title{letter-spacing:-.02em;font-family:Poppins,Inter,sans-serif;font-size:clamp(1.45rem,1.05rem + .9vw,2rem)}.fc .fc-button{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;font-weight:800}.fc .fc-col-header-cell-cushion{color:#5a8192;letter-spacing:.08em;text-transform:uppercase;padding:10px 6px;font-size:.78rem;font-weight:800}.fc .fc-daygrid-day-number{color:#5a8192;padding:8px 10px 0;font-weight:700}.fc .fc-daygrid-day-frame{background:linear-gradient(#fbfdfffa,#f1f7fbfa);min-height:clamp(124px,12vw,170px)}.fc .fc-daygrid-day--backlog-target .fc-daygrid-day-frame{background:linear-gradient(#e4f7fffa,#d6f0fafa);box-shadow:inset 0 0 0 2px #39b7ea38}.fc .fc-day-sat .fc-daygrid-day-frame,.fc .fc-day-sun .fc-daygrid-day-frame{background:linear-gradient(#f5f9fbfa,#edf3f7fa)}.fc .fc-daygrid-day-events{margin-top:8px}.fc .fc-event{border-width:2px;border-radius:14px;min-height:40px;padding:7px 9px;font-size:clamp(.8rem,.72rem + .18vw,.92rem);font-weight:800;line-height:1.15;box-shadow:0 8px 16px #13465e1f}.fc .fc-daygrid-block-event .fc-event-time,.fc .fc-daygrid-block-event .fc-event-title{padding:0}.fc .fc-event-title{letter-spacing:.01em;text-wrap:balance;font-weight:800}.fc .schedule-event--assigned{color:#fff!important;background:linear-gradient(#39b7eaf2,#1484b7f2)!important;border-color:#1175a3fa!important}.fc .schedule-event--assigned.schedule-event--continued{min-height:28px}.fc .schedule-event--assigned.schedule-event--continued-start{border-radius:12px 2px 2px 12px}.fc .schedule-event--assigned.schedule-event--continued-middle{box-shadow:none;border-radius:2px}.fc .schedule-event--assigned.schedule-event--continued-end{border-radius:2px 12px 12px 2px}.fc .schedule-event--assigned.schedule-event--continued:not(.schedule-event--continued-start){padding:4px 6px}.fc .schedule-event--placeholder{box-shadow:none;color:#136440!important;background:linear-gradient(#effaf2fa,#e1f6e8fa)!important;border-style:dashed!important;border-color:#1fb56be6!important}.fc .schedule-event--urgent{box-shadow:0 10px 18px #ef482c24;color:#a13421!important;background:linear-gradient(#fff2f0fa,#ffe8e4fa)!important;border-color:#ef482cf2!important}.fc .schedule-event--today.schedule-event--assigned{box-shadow:inset 0 0 0 2px #ffffff3d,0 12px 20px #13465e29}.fc .schedule-event--today.schedule-event--placeholder,.fc .schedule-event--today.schedule-event--urgent{box-shadow:inset 0 0 0 2px #fff6,0 10px 18px #13465e1a}@media (max-width:1100px){.calendar-layout{grid-template-columns:minmax(0,1fr) minmax(280px,320px)}.calendar-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-sidebar__filters-header{flex-direction:column;align-items:stretch}.calendar-dialog__summary,.calendar-dialog__availability-grid{grid-template-columns:1fr}}@media (max-width:960px){.workspace-grid{grid-template-columns:1fr}.workspace-strip,.crews-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-filter-grid{grid-template-columns:1fr}}@media (max-width:860px){.app-header{padding:14px 16px 0}.app-header__inner{border-radius:28px}.nav{justify-content:flex-start;width:100%}.brand-mark{width:112px;height:68px}.header-session{justify-content:space-between;width:100%}.container{padding:22px 16px 32px}.login-screen{padding:20px 16px}.login-screen__window{border-radius:24px;grid-template-columns:1fr;gap:16px;padding:18px}.login-screen__panel,.login-screen__form{padding:20px}.home-intro--management,.home-intro__metrics{grid-template-columns:1fr}.page-header{padding:20px}.calendar-layout,.jobs-layout{grid-template-columns:1fr}.jobs-summary,.workspace-strip,.crews-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.employees-summary,.employee-profile-grid,.employee-profile-meta,.employee-intake-history,.employee-edit-section__grid{grid-template-columns:1fr}.employee-dialog__header-actions{justify-content:space-between;width:100%}.employees-layout,.crews-layout{grid-template-columns:1fr}.calendar-sidebar,.jobs-sidebar,.employees-sidebar,.crews-sidebar{max-height:none;padding-right:0;overflow:visible}.calendar-stage__header{grid-template-columns:1fr;gap:10px}.calendar-stage__month-nav,.calendar-stage__month-title{justify-self:stretch}.calendar-stage__month-nav{min-width:0}.calendar-glance{border-radius:22px;width:100%;margin-left:0}.calendar-stage__legend,.calendar-glance__stats{grid-template-columns:1fr}.calendar-stage{padding:20px}.calendar-stage .fc{padding:12px}.calendar-main,.jobs-main{max-height:none;padding-right:0;overflow:visible}.jobs-summary,.workspace-strip,.crews-summary{grid-template-columns:1fr}.employee-intake-history__item{gap:6px}.page-shell--employee-intake{padding-block:18px 28px}.employee-intake-toolbar{flex-direction:column;align-items:stretch;margin-bottom:14px}.users-workspace{grid-template-columns:1fr}.users-sidebar{position:static}.employee-intake-language-toggle{align-self:flex-end}.employee-intake-stepper{justify-content:space-between;gap:8px;width:100%}.employee-intake-stepper__item{font-size:.74rem}.employee-intake-card{border-radius:24px;padding:20px 18px}.employee-intake-card__header{gap:10px;margin-bottom:18px}.employee-intake-card__header h1{font-size:clamp(1.65rem,7vw,2.1rem)}.employee-intake-form{gap:12px}.employee-intake-form__section{display:none}.employee-intake-form__section.is-visible{gap:12px;display:grid}.employee-intake-form input,.employee-intake-form select,.employee-intake-form textarea{border-radius:16px;min-height:48px;padding:13px 14px;font-size:16px}.employee-intake-form__required-cards .muted-card,.employee-intake-form .muted-card{border-radius:18px;padding:14px}.employee-intake-form__section-header{gap:8px}.employee-intake-form .button-row{flex-direction:column;align-items:stretch}.employee-intake-form .button,.employee-intake-form .button-secondary{justify-content:center;width:100%}.employee-intake-nfc{flex-direction:column;align-items:stretch}.employee-intake-form__actions{gap:10px}.job-site-group__meta,.job-item__toggle{flex-direction:column;align-items:stretch}.job-item__details{grid-template-columns:1fr}.employees-main,.crews-main{max-height:none;padding-right:0;overflow:visible}}@media (max-width:720px){.page-shell--calendar-day{height:auto;overflow:visible}.dispatch-page{height:auto;min-height:auto}.dispatch-page__sheet{grid-template-rows:auto;height:auto;min-height:auto;overflow:visible}.dispatch-page__table-wrap{max-height:none}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.section-header,.page-header{flex-direction:column}.nav__link{padding:9px 12px;font-size:.88rem}.login-screen__panel,.login-screen__form{padding:18px 16px}.hero-stats,.stats-grid,.home-quick-actions,.calendar-stat-grid,.dispatch-page__info-grid,.dispatch-page__footer-grid{grid-template-columns:1fr}.dispatch-page__meta-strip{gap:4px}.dispatch-page__content-grid,.dispatch-page__header{grid-template-columns:1fr}.dispatch-page__header-left,.dispatch-page__header-right,.dispatch-page__rail,.dispatch-page__actions,.dispatch-page__title-row{place-items:stretch stretch}.dispatch-page__title-row{flex-direction:column}.dispatch-page__title-meta{justify-content:center;width:100%}.dispatch-page__title-meta-left,.dispatch-page__title-meta-right{justify-content:center}.dispatch-page__header-left{justify-content:stretch}.dispatch-page__nav-button{width:100%}.dispatch-page__escape-hint--rail{text-align:left;margin-bottom:4px;position:static}.dispatch-page__rail,.dispatch-page__rail-inner{min-height:0!important}.dispatch-page__rail-inner{position:relative;top:auto}.calendar-overlay{padding:16px}}@page{size:landscape;margin:.2in}@media print{html,body{background:#fff!important}body{color:#000;-webkit-print-color-adjust:exact;print-color-adjust:exact}.app-header,.page-shell,.dispatch-page__notice,.dispatch-page__escape-hint,.dispatch-page__print-button,.button,.notice{box-shadow:none!important}.app-header,.dispatch-page__header-left,.dispatch-page__actions .button-secondary:not(.dispatch-page__print-button),.dispatch-page__lifecycle-button,.dispatch-page__escape-hint{display:none!important}.container,.container--wide,.page-shell,.page-shell--calendar-day{width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}.dispatch-page{zoom:.7;gap:0;height:auto!important;min-height:0!important;animation:none!important}.dispatch-page__sheet{box-shadow:none;border:0;border-radius:0;gap:6px;padding:0;background:#fff!important;grid-template-rows:auto!important;height:auto!important;min-height:0!important;overflow:visible!important}.dispatch-page__header{border-bottom:1px solid #00000038;align-items:flex-end;gap:6px;padding-bottom:4px}.dispatch-page__header-right{display:none}.dispatch-page__title-block{gap:4px;width:100%}.dispatch-page__title-row{align-items:stretch;gap:0}.dispatch-page__day-number{border:1px solid #0000002e;place-items:center;min-width:56px;padding:6px 10px;font-size:1.55rem;display:grid;background:#f3f4f6!important}.dispatch-page__date-copy{color:#000;border-top:1px solid #0000002e;border-bottom:1px solid #0000002e;border-right:1px solid #0000002e;flex:1;align-items:center;min-height:56px;padding:6px 10px;font-size:.92rem;display:flex;background:#f8f8f8!important}.dispatch-page__eyebrow{letter-spacing:.14em;color:#000000a6;border:1px solid #00000024;align-items:center;width:fit-content;padding:2px 6px;font-size:.56rem;font-weight:700;display:inline-flex;background:#f5f5f5!important}.dispatch-page__info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.dispatch-page__meta-strip{gap:2px}.dispatch-page__info-card,.dispatch-page__footer-card{box-shadow:none;break-inside:avoid;border:1px solid #00000024;border-radius:0;padding:5px 7px;background:#fff!important}.dispatch-page__table-wrap{border:1px solid #0000002e;overflow:visible;height:auto!important;max-height:none!important}.dispatch-page__table{table-layout:fixed;min-width:0;font-size:.66rem}.dispatch-page__table th:first-child,.dispatch-page__table td:first-child{width:24%}.dispatch-page__table th:nth-child(2),.dispatch-page__table td:nth-child(2){width:36%}.dispatch-page__table th:nth-child(3),.dispatch-page__table td:nth-child(3){width:40%}.dispatch-page__table th,.dispatch-page__table td{border-color:#0000002e;padding:4px 6px}.dispatch-page__table-row{height:auto}.dispatch-page__table-row--blank{display:none}.dispatch-page__table-row:hover,.dispatch-page__table-row--awaiting-crew,.dispatch-page__table-row--awaiting-crew:hover,.dispatch-page__table-row--empty td{background:#fff!important}.dispatch-page__worker-cell,.dispatch-page__worker-cell--active{min-height:0;padding:0;box-shadow:none!important;background:0 0!important}.dispatch-page__workers{gap:2px}.dispatch-page__workers--cell{grid-template-columns:repeat(2,minmax(0,1fr))}.dispatch-page__worker-chip{break-inside:avoid;border-radius:5px;padding:3px 5px;font-size:.6rem;box-shadow:inset 0 0 0 1px #0000001f}.dispatch-page__worker-chip--foreman{padding-right:14px}.dispatch-page__worker-chip--foreman:before{font-size:.52rem;right:4px}.dispatch-page__worker-chip--draggable{cursor:default}.dispatch-page__drop-hint{color:#000000a6;border-style:solid;border-color:#0000001f;min-height:0;padding:4px;font-size:.58rem}.dispatch-page__notes-editor{gap:2px}.dispatch-page__notes-input{border-color:#00000024;border-radius:0;min-height:32px;padding:4px 6px;box-shadow:none!important;background:#fff!important}.dispatch-page__notes-actions{display:none}.dispatch-page__footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-self:auto;gap:4px}.dispatch-page__content-grid{grid-template-columns:minmax(0,1fr) 152px;gap:4px}.dispatch-page__footer-title{margin-bottom:4px;font-size:.56rem}.dispatch-page__footer-list{gap:2px;padding-left:12px;font-size:.58rem}.dispatch-page__info-label{font-size:.5rem}.dispatch-page__info-value{margin-top:2px;font-size:.64rem}.dispatch-page__notes-cell strong{font-size:.68rem}.dispatch-page__notes-cell span{font-size:.58rem}.dispatch-page__site-name{font-size:.72rem}.dispatch-page__site-address,.dispatch-page__site-customer{font-size:.58rem;line-height:1.18}.dispatch-page__task-input{margin:0 -4px;padding:0 4px;font-size:.7rem;box-shadow:none!important;background:0 0!important;border-color:#0000!important}.dispatch-page__task-flags{gap:4px}.dispatch-page__task-flags-label{font-size:.58rem}.dispatch-page__task-flag{gap:3px;padding:2px 5px;font-size:.54rem}.dispatch-page__notes-status{font-size:.54rem}a[href]:after{content:none!important}}.signature-pad{gap:.75rem;display:grid}.signature-pad__canvas{touch-action:none;background:linear-gradient(#fffffffa,#f8fafcf5);border:1px dashed #0f172a3d;border-radius:1rem;width:100%;min-height:180px}.signature-pad__canvas.is-disabled{opacity:.6}.signature-pad__actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.worker-time-minimal{align-items:center;min-height:calc(100vh - 160px);display:grid}.worker-time-minimal__camera-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.worker-time-minimal__surface{background:linear-gradient(#fffffffa,#f2f8fbf5),radial-gradient(circle at top,#39b7ea14,#0000 40%);border:1px solid #58c5f324;border-radius:1.75rem;gap:1rem;padding:1.2rem;display:grid;box-shadow:0 22px 46px #13465e1a}.worker-time-minimal__surface.is-clocked-in{background:linear-gradient(#fff9f7fa,#fbf3f0f5),radial-gradient(circle at top,#ef482c14,#0000 40%);border-color:#ef482c29}.worker-time-minimal__site{gap:.35rem;display:grid}.worker-time-minimal__label{color:var(--highlight);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}.worker-time-minimal__site strong{color:var(--text);font-family:Poppins,Inter,sans-serif;font-size:clamp(1.9rem,9vw,2.8rem);line-height:.96}.worker-time-minimal__site p{color:var(--text-muted);margin:0;font-size:1rem;line-height:1.55}.worker-time-minimal__notice{margin:0}.worker-time-minimal__action{border-radius:1.2rem;justify-content:center;width:100%;min-height:4rem;font-size:1.08rem}.worker-time-minimal__action--clockout{box-shadow:0 14px 28px #ef482c29}.worker-time-minimal__confirmation{z-index:80;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#07212d94;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.worker-time-minimal__confirmation-card{text-align:center;background:linear-gradient(#fffffffc,#f4f9fcfa),radial-gradient(circle at top,#39b7ea14,#0000 42%);border:1px solid #58c5f329;border-radius:1.75rem;justify-items:center;gap:.75rem;width:min(100%,24rem);padding:1.6rem 1.3rem;display:grid;box-shadow:0 28px 56px #07212d38}.worker-time-minimal__confirmation-mark{color:#0f7b39;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(135deg,#15854e2e,#39b7ea2e);border-radius:999px;justify-content:center;align-items:center;min-width:5.5rem;min-height:5.5rem;padding:.75rem;font-size:.95rem;font-weight:800;display:inline-flex}.worker-time-minimal__confirmation-card strong{color:var(--text);font-family:Poppins,Inter,sans-serif;font-size:1.7rem;line-height:.98}.worker-time-minimal__confirmation-card p{color:var(--text-muted);margin:0;font-size:1rem;line-height:1.5}.worker-time-minimal__confirmation-button{justify-content:center;width:100%;margin-top:.15rem}.employee-worker-access{margin-top:1rem}@media (max-width:860px){.worker-time-minimal{align-items:start;min-height:calc(100vh - 120px)}.worker-time-minimal__surface{margin-top:.25rem}}@media (min-width:860px){.worker-time-minimal{justify-items:center}.worker-time-minimal__surface{width:min(100%,34rem);padding:1.5rem}}
