:root{color-scheme:light;--ink:#16352f;--muted:#64776f;--green:#176b50;--line:#dbe5df;--bg:#f2f6f2}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #d6a343;outline-offset:3px}a{color:var(--green)}.site-header{min-height:88px;background:#143c32;color:#fff;display:flex;align-items:center;gap:32px;padding:18px max(24px,calc((100% - 1200px)/2))}.brand{color:white;text-decoration:none;font-size:23px;font-weight:750;letter-spacing:-1px;line-height:1.2}.brand>span{color:#d9bb7a}.brand>small{display:block;letter-spacing:2px;font-size:8px;margin-top:6px;color:#c0d4c7}.header-services{font-size:12px;color:#cfddd3;flex:1;text-align:center}.header-link{color:#e3eae4;font-size:12px;text-decoration:none}main{max-width:1200px;margin:0 auto;padding:40px 24px 55px;min-height:calc(100vh - 160px)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(27px,3.8vw,42px);letter-spacing:-1.5px;line-height:1.16;margin-bottom:14px}h2{font-size:21px;letter-spacing:-.4px;margin-bottom:12px}h3{font-size:16px;margin-bottom:9px}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;color:var(--green);margin-bottom:16px}.muted,.field-note{color:var(--muted)}.field-note,.privacy-note{font-size:12px;margin:10px 0 20px}.privacy-note{margin:16px 0 0;color:var(--muted)}.primary,.secondary,.text-button,.document-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--line);border-radius:8px;padding:11px 16px;text-decoration:none;background:#fff;color:var(--ink);font-size:13px;font-weight:600;min-height:42px}.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover{background:#10583f}.secondary:hover,.document-button:hover{background:#edf4ee}.text-button{background:none;border-color:transparent;color:var(--green);padding-left:0}.wide{width:100%;justify-content:space-between}.login-shell{display:grid;grid-template-columns:1fr 440px;gap:80px;align-items:center;min-height:610px}.login-intro{max-width:520px}.login-intro>p:not(.eyebrow){font-size:17px;color:var(--muted);line-height:1.7}.login-intro ul{list-style:none;padding:0;margin:30px 0 0;font-size:14px}.login-intro li{margin:13px 0;padding-left:28px;position:relative}.login-intro li:before{content:'✓';position:absolute;left:0;color:var(--green);font-weight:700}.login-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 14px 45px #16352f08;padding:36px}.login-card>p{font-size:13px;color:var(--muted)}.small-icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#e8f2eb;color:var(--green);font-size:25px;margin-bottom:24px}.login-card label{display:block;font-size:12px;font-weight:600;margin:22px 0 8px}input{border:1px solid #cbd9d1;border-radius:8px;padding:11px 12px;background:#fff;color:var(--ink);min-width:0}.login-card input{width:100%;height:48px}#portal-code{font-size:23px;letter-spacing:8px;text-align:center;margin-bottom:16px}.mail-sent{border:1px solid #cce1d2;border-radius:9px;background:#f0f7f1;padding:16px;overflow-wrap:anywhere}.mail-sent p{font-size:12px;margin:6px 0 0}[role=alert]{color:#9e3930;font-size:13px;overflow-wrap:anywhere;margin:14px 0 0}.dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:28px}.dashboard-head h1{font-size:34px}.dashboard-head p{margin-bottom:0}.account-email{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toolbar{display:flex;align-items:center;gap:15px;justify-content:space-between;padding:13px;background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:24px}.filter-tabs{display:flex;gap:4px}.filter-tabs button{border:0;padding:10px 15px;border-radius:7px;background:none;color:var(--muted);font-size:12px;font-weight:600}.filter-tabs button[aria-pressed=true]{background:#e8f2eb;color:#165a43}.search-field{min-width:180px;max-width:290px;flex:1}.search-field input{width:100%;font-size:12px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:25px 0 14px}.section-heading h2{margin:0}.section-heading p{margin:0;font-size:12px;color:var(--muted)}.ride-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ride-card{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;min-width:0}.ride-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #edf2ee}.badge{display:inline-block;border-radius:5px;background:#f0f4ef;color:#4c6657;padding:4px 7px;font-size:10px;font-weight:600}.badge.city{background:#e4f0e7;color:#287048}.reference{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.ride-body{padding:20px}.ride-time{font-size:12px;font-weight:600;color:#7b694b;margin-bottom:17px}.route-points{display:grid;gap:15px;position:relative;margin:0 0 20px}.route-points:before{content:'';position:absolute;left:4px;top:10px;bottom:11px;border-left:1px dashed #94ad9d}.route-point{padding-left:23px;position:relative;font-size:14px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.route-point:before{content:'';position:absolute;left:0;top:7px;width:9px;height:9px;background:#fff;border:2px solid #52826a;border-radius:50%}.route-point:last-child:before{background:#316e50;border-radius:2px}.route-point small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-bottom:2px}.ride-bottom{display:flex;justify-content:space-between;gap:15px;align-items:end;border-top:1px solid #edf2ee;padding-top:16px}.price{font-size:23px;letter-spacing:-.7px;font-weight:700;white-space:nowrap}.price small{display:block;font-size:10px;letter-spacing:0;color:var(--muted);font-weight:400}.payment-caption{font-size:11px;color:var(--muted);margin-top:3px}.paid{color:var(--green)}.ride-status{font-size:11px;color:#526e5e;margin:14px 0 0}.empty{background:#fff;border:1px dashed #cbd9d0;border-radius:12px;padding:30px;color:var(--muted);grid-column:1/-1}.doc-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.doc-list li{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:10px;min-width:0}.doc-list span{font-size:13px;overflow-wrap:anywhere}.doc-list small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.document-button{font-size:11px;white-space:nowrap}.pager{display:flex;gap:12px;align-items:center;margin-top:16px}.pager span{font-size:12px;color:var(--muted)}.detail-head{margin:12px 0 24px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.detail-head h1{font-size:31px;margin:12px 0 8px}.detail-head p{font-size:12px;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(275px,1fr);gap:20px;align-items:start}.detail-main,.detail-side{display:grid;gap:20px;min-width:0}.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:23px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px}.panel-head h2{margin:0;font-size:17px}.leg-time{font-size:12px;font-weight:600;color:#7e6945;margin:12px 0 16px}.map{height:290px;border-radius:9px;overflow:hidden;background:#edf2ed;border:1px solid var(--line);position:relative;margin-top:18px}.map-message{padding:22px;font-size:12px;color:var(--muted)}.map-note{font-size:11px;color:var(--muted);margin:9px 0 0}.map-note a{float:right}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:0}.facts div{min-width:0}.facts dt{font-size:10px;color:var(--muted);margin-bottom:4px}.facts dd{margin:0;font-size:13px;overflow-wrap:anywhere;white-space:pre-wrap}.facts .full{grid-column:1/-1}.money-lines{display:grid;gap:10px;margin:0}.money-lines div{display:flex;justify-content:space-between;gap:18px;font-size:13px}.money-lines dt{color:var(--muted)}.money-lines dd{margin:0;text-align:right;font-weight:600}.money-lines .total{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:3px}.money-lines .total dd{font-size:25px;color:var(--ink)}.payment-note{border-radius:8px;background:#f4f6ef;padding:11px;font-size:11px;margin:15px 0 0;color:#68745b}.timeline{list-style:none;padding:0;margin:0}.timeline li{border-left:1px solid #d8e2da;padding:0 0 16px 18px;font-size:12px;position:relative}.timeline li:before{content:'';width:7px;height:7px;border-radius:50%;background:#618773;position:absolute;left:-4px;top:6px}.timeline small{display:block;color:var(--muted);font-size:10px}.note{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.detail-documents{display:grid;gap:9px}.detail-documents button{justify-content:space-between;width:100%}.loading{padding:45px 0;color:var(--muted)}footer{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;padding:22px;background:#e9f0e9;color:#6c7c70;font-size:10px}footer a{color:#526b59}#notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);padding:14px 22px;border-radius:10px;background:#143c32;color:#fff;z-index:50;max-width:90vw;font-size:13px}
@media(max-width:950px){.login-shell{grid-template-columns:1fr 390px;gap:35px}.header-services{display:none}.header-link{margin-left:auto}.detail-grid{grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr)}.panel{padding:18px}}
@media(max-width:720px){main{padding:28px 18px 40px}.site-header{padding:16px 18px;min-height:78px}.login-shell{display:flex;flex-direction:column;gap:24px;min-height:0;align-items:stretch}.login-intro{max-width:none}.login-intro h1{font-size:30px}.login-intro>p:not(.eyebrow){font-size:14px}.login-intro ul{display:none}.login-card{padding:25px}.small-icon{display:none}.dashboard-head{align-items:flex-start;flex-wrap:wrap}.dashboard-head h1{font-size:29px}.toolbar{align-items:stretch;flex-direction:column}.filter-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.filter-tabs button{padding:10px 6px;font-size:11px}.search-field{max-width:none}.ride-grid,.detail-grid{grid-template-columns:1fr}.detail-head{flex-wrap:wrap}.detail-head h1{font-size:27px}.section-heading{align-items:flex-start;flex-direction:column;gap:5px}.doc-list li{padding:13px;flex-wrap:wrap}.doc-list li>span{flex:1 1 180px}.map{height:260px}.header-link{font-size:11px}.brand{font-size:20px}footer{gap:12px;font-size:9px}.actions button,.actions a{font-size:12px}.detail-side,.detail-main{display:contents}}
@media print{.site-header,.actions,.toolbar,.pager,footer,button,.text-button,.map{display:none!important}body{background:white}main{padding:0;max-width:none}.detail-grid{display:block}.panel{break-inside:avoid;margin-bottom:14px;border-color:#aaa}.detail-main,.detail-side{display:block}.detail-head{margin-top:0}}

.map .work-google-map{height:100%;width:100%}.map .work-map-note{position:absolute;left:12px;right:12px;bottom:10px;padding:8px;background:#fffffff0;border-radius:7px;font-size:11px}.map .work-map-note:empty{display:none}.map .work-route-credit{font-size:9px;background:#fff;padding:3px}.map-note{display:flow-root}

.settings label{display:block;font-size:12px;margin-bottom:14px}.settings input:not([type=checkbox]),.settings select{display:block;width:100%;margin-top:6px}.settings input[type=checkbox]{margin-right:8px}.settings button{margin:5px 7px 5px 0;max-width:100%}.settings details{padding:10px 0}.settings summary{cursor:pointer;font-size:13px;font-weight:600}.settings p{font-size:12px}.settings .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:420px){.settings .form-grid{grid-template-columns:1fr}}

.portal-embedded .site-header,.portal-embedded>footer{display:none}.portal-embedded main{padding:24px 16px 30px;min-height:100vh}.portal-embedded .login-shell{min-height:0}.portal-embedded .login-intro h1{font-size:27px}.portal-embedded .login-intro>p:not(.eyebrow){font-size:13px}.portal-embedded .login-intro .eyebrow{margin-bottom:10px}.portal-embedded .login-card{padding:22px}.portal-embedded input{font-size:16px}

@media(max-width:720px){.filter-tabs button{overflow-wrap:anywhere;hyphens:auto}.detail-side>.panel:first-child{order:-1}}
