:root{color:#102b27;font-synthesis:none;background:#f4f6f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}.center{text-align:center;color:#54706b;place-content:center;min-height:100vh;display:grid}.spinner{border:4px solid #dbe5e3;border-top-color:#0057d9;border-radius:50%;width:40px;height:40px;margin:auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-shell{background:#0046b9;grid-template-columns:1.1fr .9fr;min-height:100vh;display:grid}.brand-panel{color:#fff;flex-direction:column;justify-content:center;padding:10vw;display:flex}.brand-panel h1{margin:16px 0 4px;font-size:64px}.brand-panel p{opacity:.8;font-size:20px}.road-mark{font-size:48px}.auth-card{background:#fff;border-radius:28px;width:min(460px,100% - 48px);margin:auto;padding:44px;box-shadow:0 30px 80px #001f5d55}.auth-card h2,.form-card h2{margin:8px 0 28px;font-size:30px}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:#176e61;font-size:12px;font-weight:800}label{flex-direction:column;gap:8px;margin-bottom:18px;font-size:14px;font-weight:700;display:flex}input,select{color:#102b27;background:#fff;border:1px solid #d6dfdd;border-radius:12px;outline:none;width:100%;padding:13px 14px}input:focus,select:focus{border-color:#0057d9;box-shadow:0 0 0 3px #0057d91a}.primary,.secondary{border:0;border-radius:12px;padding:14px 22px;font-weight:800}.primary{color:#fff;background:#0057d9}.secondary{color:#0046b9;background:#eaf1ff}.auth-card .primary{width:100%;margin-top:8px}.link-button{color:#0057d9;background:0 0;border:0;width:100%;margin-top:18px;font-weight:700}.form-message{color:#982727;background:#fff0f0;border-radius:10px;padding:12px 14px}.success-message{color:#176e61;background:#e9f8f1;border-radius:10px;padding:12px 14px}.page{min-height:100vh;padding:48px}.narrow{place-items:center;display:grid}.app-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}aside{color:#fff;background:#003f9e;flex-direction:column;padding:28px 18px;display:flex}.logo{padding:8px 12px 32px;font-size:21px}.logo strong{margin-left:8px}nav{gap:6px;display:grid}nav button,.sign-out{text-align:left;color:#ffffffb8;background:0 0;border:0;border-radius:10px;padding:12px 14px;font-weight:700}nav button.active{color:#fff;background:#ffffff1d}nav button:disabled{cursor:not-allowed;opacity:.42}.sign-out{margin-top:auto}.workspace{width:100%;max-width:1500px;padding:36px 44px}.workspace header{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.workspace h1{margin:6px 0;font-size:34px}.user-pill{color:#54706b;background:#fff;border:1px solid #e0e7e6;border-radius:999px;padding:10px 14px}.form-card{background:#fff;border:1px solid #e2e8e7;border-radius:20px;max-width:1050px;padding:30px;box-shadow:0 8px 30px #173f3820}.form-card.compact{width:100%;max-width:800px}.section-heading{justify-content:space-between;display:flex}.grid{gap:0 18px;display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.address-grid{grid-template-columns:1fr 2fr 1fr}.address-grid .wide{grid-column:span 2}.input-action{grid-template-columns:1fr auto;display:grid}.input-action input{border-radius:12px 0 0 12px}.input-action button{color:#0046b9;background:#eaf1ff;border:0;border-radius:0 12px 12px 0;padding:0 14px;font-weight:800}.form-footer{color:#66807b;justify-content:space-between;align-items:center;margin-top:8px;display:flex}.summary{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.summary div{background:#fff;border:1px solid #e2e8e7;border-radius:16px;flex-direction:column;gap:8px;padding:20px;display:flex}.summary span{color:#66807b}.summary strong{font-size:30px}.muted{color:#66807b}.page-title{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.page-title h2{margin:6px 0;font-size:34px}.page-title p{color:#66807b;margin:0}.team-form{max-width:none;margin-bottom:22px}.team-form h3{margin-top:0}.button-row{gap:10px;display:flex}.button-row.right{justify-content:flex-end}.invite-result{background:#f3f7ff;border-radius:14px;grid-template-columns:1fr 2fr auto;align-items:center;gap:14px;margin-bottom:15px;padding:15px;display:grid}.invite-result div{flex-direction:column;display:flex}.invite-result span{color:#66807b;font-size:12px}.table-card{background:#fff;border:1px solid #e2e8e7;border-radius:18px;margin-bottom:20px;overflow:hidden}.table-heading{border-bottom:1px solid #edf1f0;justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.table-heading h3{margin:0}.table-heading span{color:#66807b}.responsive-table{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #edf1f0;padding:16px 22px}th{text-transform:uppercase;letter-spacing:.08em;color:#66807b;font-size:12px}tr:last-child td{border-bottom:0}.role{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.role-admin{color:#5b34a4;background:#eee8ff}.role-supervisor{color:#0046b9;background:#eaf1ff}.role-driver{color:#176e61;background:#e9f8f1}.status-dot{color:#25a66f}.padded{padding:18px 22px}.invite-gate{text-align:center}.invite-gate p{color:#66807b;line-height:1.6}.invite-gate .button-row{justify-content:center}.invite-icon{margin-bottom:12px;font-size:42px}@media (width<=900px){.auth-shell{grid-template-columns:1fr}.brand-panel{text-align:center;padding:44px 24px}.brand-panel h1{font-size:42px}.app-shell{grid-template-columns:1fr}aside{display:none}.workspace{padding:24px}.grid.two,.grid.three,.address-grid,.summary{grid-template-columns:1fr}.address-grid .wide{grid-column:auto}.workspace header,.page-title{flex-direction:column;align-items:flex-start;gap:12px}.user-pill{max-width:100%;overflow:hidden}.form-footer{flex-direction:column;align-items:stretch;gap:14px}.invite-result{grid-template-columns:1fr}.page{padding:20px}}.header-actions{align-items:center;gap:12px;display:flex}.company-picker{width:auto;min-width:180px;max-width:320px}.overview-card .button-row{margin-top:24px}.route-form{max-width:none;margin-bottom:24px}.route-form>h3{margin-top:0}.route-form-heading{justify-content:space-between;align-items:end;gap:16px;margin:12px 0 16px;display:flex}.route-form-heading h3{margin:0 0 4px}.route-form-heading p{color:#66807b;margin:0}.route-form-heading select{width:250px}.route-form-heading .button-row{align-items:center}.new-stops{gap:12px;display:grid}.new-stop{background:#f8fafb;border:1px solid #e2e8e7;border-radius:14px;grid-template-columns:42px minmax(0,1fr) 38px;gap:14px;padding:18px;display:grid}.stop-sequence,.detail-stop-number{color:#0046b9;background:#eaf1ff;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.new-stop-fields label:last-child{margin-bottom:0}.checkbox-label{flex-direction:row;align-items:center;font-size:13px;display:flex}.checkbox-label input{width:auto}.stop-actions{align-content:start;gap:8px;display:grid}.icon-button{color:#0046b9;background:#eaf1ff;border:0;border-radius:8px;width:34px;height:34px;font-size:20px}.icon-button.danger{color:#a73737;background:#fff0f0}.icon-button:disabled{opacity:.35;cursor:not-allowed}.route-layout{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.route-list{gap:10px;display:grid}.route-list-item{text-align:left;color:#102b27;background:#fff;border:1px solid #e2e8e7;border-radius:14px;width:100%;padding:16px}.route-list-item.selected{border-color:#0057d9;box-shadow:0 0 0 2px #0057d91a}.route-list-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.route-list-top strong{font-size:16px}.route-list-sub{color:#66807b;margin:6px 0 14px;font-size:13px;display:block}.route-list-item small{color:#66807b}.route-status{white-space:nowrap;color:#60716e;background:#eff3f4;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800;display:inline-block}.status-assigned,.status-in_progress,.stop-arrived{color:#0046b9;background:#eaf1ff}.status-completed,.stop-delivered{color:#176e61;background:#e9f8f1}.status-cancelled,.stop-refused{color:#982727;background:#fff0f0}.route-progress{background:#e4ecea;border-radius:999px;height:7px;margin-bottom:5px;overflow:hidden}.route-progress span{background:#0057d9;border-radius:999px;height:100%;transition:width .2s;display:block}.route-details{background:#fff;border:1px solid #e2e8e7;border-radius:18px;min-height:250px;overflow:hidden}.detail-header{border-bottom:1px solid #edf1f0;justify-content:space-between;align-items:center;padding:24px;display:flex}.detail-header h3{margin:6px 0;font-size:26px}.detail-header p{color:#66807b;margin:0}.detail-count{color:#0046b9;font-size:26px;font-weight:800}.detail-progress{padding:18px 24px}.detail-progress small{color:#66807b}.assignment-box{background:#f7faff;border-radius:14px;margin:0 24px 22px;padding:18px}.assignment-box h4{margin:0 0 14px}.assignment-box p{color:#66807b;margin:10px 0 0;font-size:12px}.detail-stops{padding:0 24px 24px}.detail-stops h4{margin:0 0 10px}.detail-stop{border-top:1px solid #edf1f0;gap:14px;padding:16px 0;display:flex}.detail-stop-number.done{color:#176e61;background:#e9f8f1}.detail-stop p{color:#66807b;margin:4px 0 8px}.detail-stop small{color:#66807b}.empty-state{text-align:center;background:#fff;border:1px dashed #cddad7;border-radius:18px;padding:64px 24px}.empty-state>span{color:#7da0b4;font-size:40px}.empty-state h3{margin:8px 0}.empty-state p{color:#66807b}.routes-page .success-message,.routes-page .form-message{margin-bottom:20px}@media (width<=1050px){.route-layout{grid-template-columns:1fr}.route-list{grid-template-columns:repeat(2,minmax(0,1fr))}.route-form-heading{flex-direction:column;align-items:start}}@media (width<=640px){.header-actions{flex-direction:column;align-items:stretch;width:100%}.company-picker{width:100%;max-width:none}.route-list{grid-template-columns:1fr}.route-form-heading .button-row{flex-direction:column;align-items:stretch;width:100%}.route-form-heading select{width:100%}.new-stop{grid-template-columns:34px minmax(0,1fr);gap:8px;padding:12px}.stop-actions{grid-column:2;display:flex}.detail-header{padding:18px}.detail-progress,.detail-stops{padding-left:18px;padding-right:18px}.assignment-box{margin-left:18px;margin-right:18px}}.detail-stop-content{flex:1;min-width:0}.transfer-area{margin-top:10px}.text-action{color:#0057d9;background:0 0;border:0;padding:3px 0;font-size:13px;font-weight:800}.transfer-form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.transfer-form select{width:min(100%,320px)}.transfer-form .primary,.transfer-form .secondary{padding:12px 16px}.staging-banner{z-index:1000;text-align:center;color:#182b35;letter-spacing:.02em;background:#f9c74f;padding:8px 16px;font-size:13px;font-weight:800;position:sticky;top:0}.pending-invites-heading{flex-direction:column;align-items:flex-start;gap:8px}.pending-invites-heading span{font-size:13px}.pending-invite-link{grid-template-columns:minmax(160px,1fr) auto;align-items:center;gap:8px;min-width:300px;max-width:480px;display:grid}.pending-invite-link input{min-width:0;padding:10px;font-size:12px}.pending-invite-link .secondary{white-space:nowrap;padding:10px 12px}.pending-invite-link small{color:#54706b;grid-column:1/-1}.pending-invite-link .invite-link-error{color:#982727}.invite-expired{color:#982727;margin-top:5px;display:block}.workspace{min-width:0}.team-access-note{margin:0 0 22px;line-height:1.6}.button-link{text-align:center;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.invite-gate .eyebrow{margin-top:16px;display:block}.invite-gate .user-pill{overflow-wrap:anywhere;max-width:100%;display:inline-block}.invite-gate .button-row{flex-wrap:wrap}.invite-steps{text-align:left;color:#54706b;padding-left:24px;line-height:1.6}.invite-steps li+li{margin-top:8px}.invite-footer{margin-top:22px}.invite-app-link{min-width:0;margin-top:16px;font-size:12px}.invite-gate .form-message{color:#982727}.workspace header{gap:20px}.header-actions{min-width:0;max-width:100%}.header-actions .user-pill{overflow-wrap:anywhere;min-width:0;max-width:28rem}.team-member-groups{min-width:0}.team-member-card .table-heading{flex-wrap:wrap;gap:12px}.team-member-subtitle{color:#66807b;margin:6px 0 0;font-size:13px}.team-members-table table{table-layout:fixed}.team-members-table th:first-child{width:40%}.team-members-table td{overflow-wrap:anywhere}.team-member-status{color:#8c9795}.team-member-status.is-active{color:#25a66f}.team-members-table .role{white-space:nowrap;display:inline-block}@media (width<=1100px){.team-members-table{overflow:visible}.team-members-table table,.team-members-table tbody{display:block}.team-members-table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.team-members-table tbody tr{border-bottom:1px solid #edf1f0;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px 22px;display:grid}.team-members-table tbody tr:last-child{border-bottom:0}.team-members-table td{border:0;min-width:0;padding:0;display:block}.team-members-table td:before{content:attr(data-label);letter-spacing:.08em;text-transform:uppercase;color:#66807b;margin-bottom:6px;font-size:12px;font-weight:700;display:block}.team-members-table .team-member-name,.team-members-table .team-member-contact{grid-column:1/-1}}@media (width<=900px){.pending-invites-table{overflow:visible}.pending-invites-table table,.pending-invites-table tbody{display:block}.pending-invites-table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pending-invites-table tbody tr{border-bottom:1px solid #edf1f0;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px 22px;display:grid}.pending-invites-table tbody tr:last-child{border-bottom:0}.pending-invites-table td{overflow-wrap:anywhere;border:0;min-width:0;padding:0;display:block}.pending-invites-table td:before{content:attr(data-label);letter-spacing:.08em;text-transform:uppercase;color:#66807b;margin-bottom:6px;font-size:12px;font-weight:700;display:block}.pending-invites-table .pending-invite-wide{grid-column:1/-1}.pending-invite-link{grid-template-columns:minmax(0,1fr) auto;min-width:0;max-width:none}}.recovery-card{align-self:center;min-width:0;margin-top:48px;margin-bottom:48px}.auth-card .forgot-password{width:auto;margin:-4px 0 16px auto;padding:6px 0;display:block}.auth-card .forgot-password:focus-visible{outline-offset:3px;border-radius:4px;outline:3px solid #7af}.recovery-card h2{overflow-wrap:anywhere;margin-bottom:16px}.recovery-description,.recovery-staging-note,.recovery-checking p{color:#54706b;font-size:14px;line-height:1.6}.recovery-description{margin:0 0 24px}.recovery-card .form-message,.recovery-card .success-message{overflow-wrap:anywhere;font-size:14px;line-height:1.6}.recovery-staging-note{background:#f3f7ff;border-radius:10px;padding:12px 14px}.recovery-staging-note a{color:#0046b9;text-underline-offset:3px;font-weight:700}.recovery-card button:disabled{cursor:not-allowed;opacity:.6}.recovery-card button:focus-visible,.recovery-staging-note a:focus-visible{outline-offset:3px;outline:3px solid #7af}.recovery-checking{text-align:center;padding:12px 0}.recovery-checking .spinner{display:block}@media (width<=900px){.recovery-card{margin-top:0;margin-bottom:32px}.recovery-shell .brand-panel{padding:32px 24px}.recovery-shell .brand-panel p{margin-bottom:0}}@media (width<=480px){.recovery-card{width:calc(100% - 32px);padding:28px 24px}.recovery-card h2{font-size:26px}.recovery-shell .brand-panel h1{font-size:36px}.recovery-shell .brand-panel p{font-size:16px}}@media (prefers-reduced-motion:reduce){.recovery-checking .spinner{animation:none}}.mobile-panel-nav{display:none}.panel-back-row{align-items:center;gap:20px;margin-bottom:20px;display:flex}.panel-back-row button{min-height:44px}.account-settings dl{margin:0 0 24px}.account-settings dt{color:#66807b;margin-top:18px;font-size:13px}.account-settings dd{overflow-wrap:anywhere;margin:6px 0;font-weight:700}.account-settings p{line-height:1.6}.desktop-panel-nav button:focus-visible,.mobile-panel-nav button:focus-visible{outline-offset:-3px;outline:3px solid #7af}@media (width<=900px){.app-shell{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}.mobile-panel-nav{z-index:900;padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #d6dfdd;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 18px #173f3810}.mobile-panel-nav button{text-align:center;color:#54706b;background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:56px;padding:6px 4px;font-size:13px;font-weight:700;display:flex}.mobile-panel-nav button>span{font-size:23px;line-height:1.1}.mobile-panel-nav button.active{color:#0046b9;background:#eaf1ff}.mobile-panel-nav button:disabled{opacity:.4}.workspace h1{overflow-wrap:anywhere;font-size:28px}.workspace .form-card h2{overflow-wrap:anywhere;font-size:26px}.panel-back-row{justify-content:space-between;gap:12px}}@media (width<=480px){.workspace{padding:20px 16px}.workspace .form-card{padding:24px 20px}.workspace .button-row{flex-wrap:wrap}.workspace header{margin-bottom:24px}}
