:root{--lime:#9BFE03;--lime-hover:#86DE00;--lime-soft:#EEFFD6;--lime-dark:#4F7900;--orange:#FF6B00;--orange-soft:#FFF0E6;--canvas:#F5F7F2;--surface:#fff;--subtle:#F0F2ED;--ink:#121212;--muted:#666B62;--tertiary:#8B9087;--line:#DDE1D8;--strong:#C9CEC4;--dark:#121212;--dark2:#202020;--danger:#C93434;--danger-soft:#FFE7E7;--warning:#9A6A00;--warning-soft:#FFF5D6;--success:#5C940D;--success-soft:#ECF8D8;--blue:#2563A8;--blue-soft:#E8F1FF;--r:16px;--pill:999px}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.portal-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.portal-header-inner{max-width:1120px;min-height:72px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px}.brand-link{display:inline-flex;align-items:center;gap:11px;min-width:0}.logo-mark{width:40px;height:40px;border-radius:50%;background:var(--orange);display:grid;place-items:center;flex:0 0 auto;color:#fff;font-weight:900;font-size:13px}.brand-copy{display:grid}.brand-copy strong{font-size:13px;line-height:1.2;text-transform:uppercase;white-space:nowrap}.brand-copy small{margin-top:3px;font-size:9px;color:var(--lime-dark);font-weight:850;letter-spacing:.75px;text-transform:uppercase}.header-actions{display:flex;align-items:center;gap:8px}.back-home,.header-btn{min-height:38px;display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--line);border-radius:var(--pill);background:#fff;color:var(--muted);font-size:11.5px;font-weight:750;cursor:pointer}.back-home:hover,.header-btn:hover{background:var(--subtle);color:var(--ink)}.rider-strip{background:#fff;border-bottom:1px solid var(--line)}.rider-strip-inner{max-width:1120px;margin:0 auto;padding:9px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.rider-identity{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.active-dot{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px var(--lime-soft)}.strip-status{color:var(--tertiary);font-size:9px;font-weight:850;letter-spacing:.6px}main{max-width:1120px;margin:0 auto;padding:28px 20px 70px}.loading{min-height:420px;display:grid;place-items:center;align-content:center;gap:13px;color:var(--muted)}.spinner{width:26px;height:26px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--orange);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-card{width:min(470px,100%);margin:24px auto;padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 18px 50px rgba(18,18,18,.07)}.auth-card .logo-mark{margin-bottom:18px}.kicker,.section-kicker{color:var(--lime-dark);font-size:9px;font-weight:900;letter-spacing:.8px;text-transform:uppercase}.auth-card h1{margin:7px 0 7px;font-size:28px;letter-spacing:-1px}.auth-card>p{margin:0 0 20px;color:var(--muted);font-size:13px;line-height:1.6}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;border:1px solid var(--line);border-radius:13px;background:var(--subtle);margin-bottom:18px}.tabs button{min-height:40px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:12px;font-weight:800;cursor:pointer}.tabs button.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(18,18,18,.06)}form{display:grid;gap:13px}.field{display:grid;gap:7px}.field label{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.65px}.field input,.field textarea{width:100%;min-height:47px;border:1px solid var(--strong);border-radius:12px;background:#fff;color:var(--ink);padding:10px 12px;outline:none;font-size:13px}.field textarea{min-height:88px;resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--lime-dark);box-shadow:0 0 0 3px var(--lime-soft)}.check{display:flex;align-items:center;gap:9px;color:var(--ink);font-size:12px;font-weight:700}.check input{width:18px;height:18px;accent-color:var(--lime-dark)}.button{min-height:47px;border-radius:12px;padding:0 16px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:850;cursor:pointer}.button.primary{background:var(--lime);border-color:#75C400;color:#263100}.button.primary:hover{background:var(--lime-hover)}.button.secondary:hover{background:var(--subtle)}.button.danger{background:var(--danger-soft);border-color:#f0c3c3;color:var(--danger)}.button:disabled{opacity:.5;cursor:not-allowed}.button-row{display:flex;gap:9px;flex-wrap:wrap}.button-row .button{flex:1}.message{padding:11px 12px;border-radius:11px;margin:0 0 14px;font-size:12px;line-height:1.5;background:var(--subtle);color:var(--muted)}.message.error{background:var(--danger-soft);color:var(--danger)}.message.success{background:var(--success-soft);color:var(--success)}.message.warning{background:var(--warning-soft);color:var(--warning)}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.page-heading h1{margin:4px 0;font-size:clamp(27px,4vw,37px);letter-spacing:-1.3px}.page-heading p{margin:0;color:var(--muted);font-size:13px}.approved-pill{padding:7px 10px;border-radius:var(--pill);background:var(--lime-soft);color:var(--lime-dark);font-size:9px;font-weight:900;letter-spacing:.55px}.run-summary{background:var(--dark);color:#fff;border:1px solid #282828;border-radius:22px;overflow:hidden;margin-bottom:18px;box-shadow:0 18px 45px rgba(18,18,18,.11)}.run-summary-top{display:grid;grid-template-columns:repeat(4,1fr)}.run-stat{padding:18px;text-align:center;border-right:1px solid #303030}.run-stat:last-child{border-right:0}.run-stat span{display:block;color:#828282;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.6px}.run-stat strong{display:block;margin-top:5px;font-size:21px}.run-stat strong.status{font-size:14px;color:var(--lime)}.route-intent{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-top:1px solid #303030;background:#1A1A1A}.route-intent-label{color:#777;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.65px}.route-intent h2{margin:5px 0 5px;font-size:21px;letter-spacing:-.5px}.route-intent p{margin:0;color:#999;font-size:11px;line-height:1.5}.route-icon{width:46px;height:46px;border-radius:14px;background:#292929;display:grid;place-items:center;color:var(--lime);font-weight:900}.schedule-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;margin-bottom:18px;background:#fff;border:1px solid var(--line);border-radius:14px}.schedule-strip div{min-width:0}.schedule-strip small{display:block;color:var(--tertiary);font-size:9px;font-weight:850;text-transform:uppercase}.schedule-strip strong{display:block;margin-top:4px;font-size:11px;line-height:1.45}.schedule-strip span{padding:6px 9px;border-radius:var(--pill);background:var(--subtle);color:var(--muted);font-size:9px;font-weight:800}.work-tabs{display:flex;gap:8px;margin-bottom:14px}.work-tabs button{min-height:40px;padding:0 16px;border:1px solid var(--line);border-radius:var(--pill);background:#fff;color:var(--muted);font-size:11px;font-weight:850;cursor:pointer}.work-tabs button.active{background:var(--ink);border-color:var(--ink);color:#fff}.jobs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(315px,1fr));gap:14px}.job-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 6px 20px rgba(18,18,18,.035)}.job-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.job-id{color:var(--orange);font-size:9px;font-weight:900;letter-spacing:.6px}.job-status{margin-top:4px;font-size:16px;font-weight:850}.job-pill{padding:5px 8px;border-radius:var(--pill);background:var(--subtle);color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase}.route-box{margin:14px 0;padding:13px;background:var(--subtle);border-radius:13px}.route-row{display:grid;grid-template-columns:18px 1fr;gap:8px}.route-row+.route-row{margin-top:11px}.route-dot{width:10px;height:10px;margin-top:4px;border-radius:50%;background:var(--lime-dark);box-shadow:0 0 0 3px var(--lime-soft)}.route-row.drop .route-dot{background:var(--orange);box-shadow:0 0 0 3px var(--orange-soft)}.route-row small{display:block;color:var(--tertiary);font-size:8px;font-weight:900;text-transform:uppercase}.route-row strong{display:block;margin-top:2px;font-size:12px;line-height:1.4}.job-meta{display:flex;justify-content:space-between;gap:14px;margin-bottom:12px;color:var(--muted);font-size:10px}.job-meta strong{color:var(--ink);font-size:12px}.job-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.job-actions .button.primary{grid-column:1/-1}.note{margin:10px 0;padding:10px 11px;border-radius:10px;background:var(--orange-soft);color:#8B4700;font-size:10px;line-height:1.5}.route-queue{margin:0 0 18px;padding:17px;background:#fff;border:1px solid var(--line);border-radius:16px}.route-queue-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.route-queue-head strong{font-size:13px}.route-queue-head span{font-size:9px;color:var(--tertiary);font-weight:800}.queue-list{display:grid;gap:8px}.queue-row{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;padding:10px;background:var(--subtle);border-radius:11px}.queue-num{width:28px;height:28px;border-radius:9px;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-size:10px;font-weight:900}.queue-row b{font-size:11px}.queue-row p{margin:3px 0 0;color:var(--muted);font-size:10px;line-height:1.4}.application-wrap{max-width:720px;margin:0 auto}.state-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.state-head h2{margin:5px 0 5px;font-size:26px;letter-spacing:-.8px}.state-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.badge{padding:7px 9px;border-radius:var(--pill);background:var(--subtle);color:var(--muted);font-size:9px;font-weight:900}.badge.pending{background:var(--warning-soft);color:var(--warning)}.badge.rejected{background:var(--danger-soft);color:var(--danger)}.app-card{padding:20px;background:#fff;border:1px solid var(--line);border-radius:18px}.application-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.application-grid .full{grid-column:1/-1}.summary-card{padding:18px;background:#fff;border:1px solid var(--line);border-radius:16px}.summary-card small{display:block;color:var(--tertiary);font-size:9px;font-weight:900;text-transform:uppercase}.summary-card strong{display:block;margin-top:5px;font-size:15px}.summary-card p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.native-note{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--subtle);color:var(--muted);font-size:10.5px;line-height:1.55}.empty{grid-column:1/-1;padding:42px 20px;border:1px dashed var(--strong);border-radius:18px;background:rgba(255,255,255,.5);text-align:center;color:var(--muted);font-size:12px}.toast-stack{position:fixed;right:18px;top:86px;z-index:100;display:grid;gap:8px;width:min(350px,calc(100vw - 36px))}.toast{padding:12px 14px;border-radius:13px;background:var(--dark);color:#fff;box-shadow:0 14px 40px rgba(0,0,0,.2);font-size:11px;line-height:1.5}.toast.success{border-left:4px solid var(--lime)}.toast.error{border-left:4px solid var(--danger)}footer{max-width:1120px;margin:0 auto;border-top:1px solid var(--line);min-height:90px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--tertiary);font-size:10px}@media(max-width:700px){.portal-header-inner{min-height:66px;padding:10px 14px}.brand-copy strong{font-size:11px}.brand-copy small{font-size:8px}.back-home span{display:none}.rider-strip-inner{padding:9px 14px}main{padding:22px 14px 60px}.auth-card{margin-top:14px;padding:22px 18px}.page-heading{align-items:flex-start;flex-direction:column}.run-summary-top{grid-template-columns:1fr 1fr}.run-stat:nth-child(2){border-right:0}.run-stat:nth-child(-n+2){border-bottom:1px solid #303030}.route-intent{align-items:flex-start}.jobs-grid{grid-template-columns:1fr}.application-grid{grid-template-columns:1fr}.application-grid .full{grid-column:1}.state-head{display:grid}.job-actions{grid-template-columns:1fr}.job-actions .button.primary{grid-column:1}.schedule-strip{align-items:flex-start;flex-direction:column}footer{padding:24px 14px;align-items:flex-start;flex-direction:column}}