:root{
  color-scheme:light;
  --ink:#153a3e;--muted:#64797b;--teal:#073e46;--teal-2:#0b5961;--green:#218064;--gold:#e9a51a;
  --paper:#f5f8f7;--surface:#fff;--line:#e1eae7;--soft:#edf5f2;--warning:#fff5de;--danger:#a8443b;
  --shadow:0 12px 32px rgba(15,58,62,.08);font-family:Inter,"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink)
}
.empty-state[role="alert"]{border-color:#efc8c3;border-left:5px solid var(--danger);background:#fff8f7;color:#772e29}
.activity-history-item h4{overflow-wrap:anywhere}
.activity-history-item .card-head>div{min-width:0}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);font-size:15px;line-height:1.5;min-height:100vh}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:var(--teal-2)}
[hidden]{display:none!important}
.skip-link{position:absolute;left:-999px;top:8px;background:var(--surface);padding:12px;z-index:20}
.skip-link:focus{left:8px}
.topbar{height:72px;padding:0 clamp(16px,4vw,52px);background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}
.brand{display:flex;align-items:center;width:168px;height:62px}.brand img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}
.topbar-right{display:flex;align-items:center;gap:12px}.region-pill,.status-badge,.account-chip{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 12px;background:var(--soft);font-size:13px;color:var(--teal);font-weight:650}.status-dot{width:8px;height:8px;background:var(--green);border-radius:50%;box-shadow:0 0 0 4px #21806418}.account-chip{background:#f4f1e9;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.main-content{width:min(1120px,100%);margin:0 auto;padding:28px clamp(14px,4vw,34px) 44px;min-height:calc(100vh - 130px)}
.auth-shell{max-width:980px;margin:14px auto 30px}.auth-brandline{display:flex;justify-content:space-between;align-items:center;margin:0 0 14px}.eyebrow{font-size:11px;letter-spacing:.12em;color:#728184;font-weight:800;margin:0 0 8px}.auth-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.78fr);gap:16px;align-items:stretch}
.auth-card,.auth-aside,.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.auth-card{padding:clamp(22px,4vw,38px)}.auth-card h1{font-size:clamp(26px,4vw,34px);letter-spacing:-.04em;line-height:1.12;margin:4px 0 10px}.auth-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#fff5de;color:#a96f00;font-size:23px;margin-bottom:20px}.subcopy{margin:0;color:var(--muted);max-width:62ch}.auth-aside{background:linear-gradient(145deg,#0a454d,#0d6263);color:white;padding:clamp(24px,4vw,38px);display:flex;flex-direction:column}.aside-mark{width:48px;height:48px;border-radius:16px;background:#ffffff1a;display:grid;place-items:center;font-size:21px}.auth-aside h2{font-size:24px;line-height:1.2;margin:25px 0 10px;letter-spacing:-.03em}.auth-aside p{color:#d9ebea;margin:0}.auth-aside ul{list-style:none;padding:0;margin:24px 0;display:grid;gap:13px}.auth-aside li{padding-left:24px;position:relative;color:#f2f8f7}.auth-aside li::before{content:"✓";position:absolute;left:0;color:#f1bd4a;font-weight:900}.aside-foot{margin-top:auto;padding-top:16px;border-top:1px solid #ffffff2b;font-size:13px;color:#d9ebea}.aside-foot span{color:#f1bd4a;font-size:10px;margin-right:5px}
.form-stack{display:grid;gap:14px;margin-top:20px}.field{display:grid;gap:6px}.field>span{font-size:13px;font-weight:700;color:#304f52}.field input,.field select,.field textarea{width:100%;border:1px solid #cedbd8;border-radius:10px;background:#fff;color:var(--ink);min-height:48px;padding:11px 13px;outline:none}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #21806422}.field small{color:var(--muted);font-size:12px}.auth-note{font-size:12px;color:var(--muted);margin:18px 0 0}.auth-access-note{padding:12px 14px;border-radius:11px;background:#fff1ef;border:1px solid #efc7c2;color:#8b302a;font-size:13px;font-weight:650;margin:16px 0 0}
.button{border:1px solid transparent;border-radius:10px;min-height:44px;padding:10px 15px;font-weight:750;transition:background .15s,transform .15s;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.button:active{transform:translateY(1px)}.button:disabled{opacity:.55;cursor:not-allowed}.button-primary{background:var(--teal);color:white}.button-primary:hover{background:var(--teal-2)}.button-outline{background:white;color:var(--teal);border-color:#c8d8d4}.button-outline:hover{background:var(--soft)}.button-quiet{background:transparent;color:var(--teal);border-color:var(--line)}.button-danger{background:#fff1ef;color:var(--danger);border-color:#f1d0cb}.button-small{min-height:38px;padding:7px 10px;font-size:13px}.button-wide{width:100%;min-height:50px}
.workspace{padding-top:6px}.welcome-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 20px}.welcome-row h1{font-size:clamp(26px,4vw,36px);line-height:1.1;letter-spacing:-.04em;margin:0 0 8px}.workspace-date{white-space:nowrap;margin-top:12px}.role-nav{display:flex;gap:8px;overflow-x:auto;padding:5px 0 13px;margin:0 0 15px;scrollbar-width:thin}.role-nav button{flex:0 0 auto;min-height:44px;border:1px solid var(--line);border-radius:999px;padding:9px 15px;background:white;color:#486164;font-weight:700}.role-nav button[aria-current="page"]{background:var(--teal);color:white;border-color:var(--teal)}.role-nav button:focus-visible,.button:focus-visible{outline:3px solid #e9a51a;outline-offset:2px}
.notice{padding:12px 15px;border-radius:12px;background:var(--warning);color:#70520d;border:1px solid #f4dfad;margin:0 0 17px;font-size:13px}.panel-content{display:grid;gap:17px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin:0 0 2px}.panel-heading h2{font-size:22px;line-height:1.2;margin:0;letter-spacing:-.025em}.panel-heading p{margin:5px 0 0;color:var(--muted)}.panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card{padding:20px;min-width:0}.card h3{font-size:17px;margin:0 0 12px;letter-spacing:-.02em}.card p{color:var(--muted)}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:13px}.card-head h3{margin:0}.card-head p{margin:4px 0 0}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric{padding:17px;border:1px solid var(--line);border-radius:14px;background:#fff}.metric strong{display:block;font-size:24px;letter-spacing:-.04em;color:var(--teal);line-height:1.15}.metric span{display:block;font-size:12px;color:var(--muted);margin-top:5px}.list-stack{display:grid;gap:10px}.list-item{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;gap:12px;align-items:flex-start;justify-content:space-between;min-width:0}.list-main{min-width:0}.list-main strong{display:block;overflow-wrap:anywhere}.list-main p{margin:4px 0;color:var(--muted);font-size:13px}.list-meta{display:block;color:#708183;font-size:12px;margin-top:6px;overflow-wrap:anywhere}.list-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.status-pill{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border-radius:999px;background:#edf5f2;color:#1c6b54;font-size:11px;font-weight:800;white-space:nowrap}.status-pill.pending{background:#fff4da;color:#865d0e}.status-pill.off{background:#f1f3f3;color:#687779}.empty-state{padding:22px;text-align:center;border:1px dashed #c9d9d5;border-radius:13px;color:var(--muted)}.empty-state strong{display:block;color:var(--ink);margin-bottom:4px}.stack{display:grid;gap:13px}.inline-form{display:flex;gap:9px;align-items:end;flex-wrap:wrap}.inline-form .field{flex:1 1 190px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.section-sep{border:0;border-top:1px solid var(--line);margin:18px 0}.small-copy{font-size:12px;color:var(--muted);margin:5px 0}.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:520px}th,td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:10px;color:#718183;letter-spacing:.09em;text-transform:uppercase}td{font-size:13px}.checkbox-row{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:#53696b}.checkbox-row input{width:20px;height:20px;flex:0 0 auto;margin:1px 0 0;accent-color:var(--green)}.location-card{background:linear-gradient(150deg,#f2f8f5,#fff);border-color:#d9e9e2}.location-surface{min-height:128px;border:1px dashed #bed6cc;border-radius:13px;background-color:#eef7f2;background-image:linear-gradient(32deg,transparent 45%,#d8e7df 46%,#d8e7df 48%,transparent 49%),linear-gradient(143deg,transparent 46%,#d8e7df 47%,#d8e7df 49%,transparent 50%);background-size:58px 58px;display:grid;place-items:center;text-align:center;padding:15px}.location-marker{width:18px;height:18px;border:5px solid white;border-radius:50%;background:var(--gold);box-shadow:0 1px 12px #123a4060;margin:0 auto 9px}.location-surface strong{display:block}.location-surface small{color:var(--muted)}.location-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.error-text{color:#a3312b;font-size:13px;margin:0}.success-text{color:#1b6c52;font-size:13px;margin:0}.role-hint{padding:12px 14px;background:#f4f7f6;border-radius:11px;color:#53696b;font-size:13px}.form-error{margin:10px 0 0;color:var(--danger);font-size:13px}.consent-note{padding:11px 12px;background:#f3f6f5;border-radius:10px;font-size:12px;color:#526769}.user-list{display:grid;gap:8px}.user-row{display:grid;grid-template-columns:minmax(0,1fr) 160px auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.billing-callout{padding:14px;border-radius:12px;background:#f1f7f4;border:1px solid #d6e8df}.billing-callout strong{color:var(--teal)}.toggle-row{display:flex;align-items:center;gap:10px}.toggle-row input{width:20px;height:20px;accent-color:var(--green)}
.site-footer{min-height:58px;padding:15px clamp(16px,4vw,52px);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;color:#718183;font-size:12px;background:var(--surface)}.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%,15px);opacity:0;pointer-events:none;z-index:30;max-width:min(92vw,480px);padding:12px 16px;background:#173d41;color:white;border-radius:12px;box-shadow:var(--shadow);transition:all .18s}.toast.show{opacity:1;transform:translate(-50%,0)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1080px){.main-content{padding-top:34px}}
@media(max-width:760px){.main-content{padding-top:20px}.auth-grid{grid-template-columns:1fr}.auth-aside{min-height:230px}.auth-aside h2{margin-top:16px}.auth-aside ul{margin:15px 0}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-grid{grid-template-columns:1fr}}
@media(max-width:560px){body{font-size:14px}.topbar{height:62px;padding:0 13px}.brand{width:142px;height:55px}.region-pill{display:none}.topbar-right{gap:7px}.account-chip{max-width:130px;font-size:11px;padding:7px 9px}.button{min-height:44px}.button-quiet{font-size:12px;padding:7px 10px}.main-content{padding:18px 12px 32px;min-height:calc(100vh - 120px)}.auth-shell{margin-top:4px}.auth-brandline{gap:10px}.auth-brandline .status-badge{font-size:11px;padding:6px 9px}.auth-card{padding:21px 17px}.auth-aside{padding:21px 18px}.auth-aside h2{font-size:21px}.welcome-row{display:grid;gap:9px}.welcome-row h1{font-size:27px}.workspace-date{margin:0;justify-self:start}.role-nav{margin-left:-12px;margin-right:-12px;padding:5px 12px 12px}.role-nav button{font-size:12px;padding:8px 12px}.card{padding:16px;border-radius:15px}.panel-heading h2{font-size:20px}.metric{padding:13px}.metric strong{font-size:21px}.list-item{display:grid}.list-actions{width:100%}.list-actions .button{flex:1}.inline-form{display:grid;grid-template-columns:1fr;width:100%}.inline-form .field{width:100%}.form-row{grid-template-columns:1fr}.user-row{grid-template-columns:1fr;gap:7px}.user-row .button{width:100%}.site-footer{display:grid;gap:4px;text-align:center;padding:12px}.location-controls .button{flex:1}.table-wrap{margin:0 -2px}th,td{padding:9px 7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.local-mode-pill{display:inline-flex;align-items:center;border:1px solid #f0dba7;border-radius:999px;padding:7px 10px;background:#fff7e5;color:#74540e;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.auth-legal{margin:11px 0 0;font-size:12px;line-height:1.55;color:var(--muted)}.auth-legal a{font-weight:700}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:7px 14px}.footer-links a{color:#526b6d;text-decoration:underline;text-underline-offset:2px}.footer-links a:focus-visible,.auth-legal a:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:3px}
.rating-fieldset{border:0;padding:0;margin:0}.rating-fieldset legend{font-size:13px;font-weight:700;color:#304f52;margin-bottom:7px}.rating-picker{display:flex;gap:5px}.star-option{position:relative;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;color:#b8c2bf;background:#fff;cursor:pointer;font-size:23px}.star-option:has(input:checked){color:#d99808;background:#fff7e5;border-color:#edcf82}.star-option:focus-within{outline:3px solid #e9a51a;outline-offset:2px}.star-option input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.form-feedback{margin:0;font-size:13px}.form-feedback[role="alert"]{color:var(--danger)}.form-feedback[data-kind="success"]{color:var(--green)}
@media(max-width:560px){.local-mode-pill{font-size:9px;padding:6px 7px}.topbar-right{gap:5px}}
.notification-center{position:fixed;z-index:100;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);display:grid;gap:8px;width:min(94vw,480px);pointer-events:none}.notification{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #b7d3c9;border-left:5px solid var(--green);border-radius:13px;background:#fff;color:var(--ink);box-shadow:0 8px 28px #153a3e24;pointer-events:auto}.notification p{margin:0;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.notification-info{border-left-color:var(--teal-2)}.notification-success{border-left-color:var(--green)}.notification-warning{border-color:#f1ddb1;border-left-color:var(--gold);background:#fffaf0;color:#654a0b}.notification-error{border-color:#efc8c3;border-left-color:var(--danger);background:#fff8f7;color:#772e29}.notification-close{flex:0 0 44px;min-width:44px;min-height:44px;border:0;border-radius:9px;background:transparent;color:inherit;font-size:24px;line-height:1}.notification-close:hover{background:#0000000a}.notification-close:focus-visible,.confirm-dialog button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.confirm-dialog{width:min(92vw,460px);max-width:460px;padding:0;border:0;border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 24px 90px #0b33385c}.confirm-dialog::backdrop{background:#0c2f33a6}.confirm-dialog-card{padding:clamp(20px,5vw,28px)}.confirm-dialog h2{margin:0 0 9px;font-size:21px;letter-spacing:-.02em}.confirm-dialog p{margin:0;color:var(--muted);line-height:1.55}.dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:9px;margin-top:22px}
.driver-state-card{border-left:4px solid var(--teal-2)}.driver-state-card[data-state="vacant"]{border-left-color:var(--green)}.driver-state-card[data-state="occupied"]{border-left-color:var(--gold)}.driver-state-card[data-state="unapproved"],.driver-state-card[data-state="awaiting_location"]{border-left-color:var(--danger)}.driver-state-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.dispatch-offer{padding:10px 12px;border:1px solid #f1ddb1;background:#fffaf0;border-radius:11px;color:#654a0b;font-size:13px}.fleet-units{display:grid;gap:9px}.fleet-unit{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}.fleet-unit strong{display:block}.fleet-unit .list-meta{margin-top:3px}.pickup-manual{border:1px dashed #c9d9d5;border-radius:11px;padding:11px 13px}.pickup-manual summary{cursor:pointer;color:var(--teal);font-size:13px;font-weight:700}.pickup-manual[open] summary{margin-bottom:11px}.pickup-feedback{min-height:18px}
@media(max-width:560px){.notification-center{width:calc(100vw - 20px)}.notification{padding:11px 12px}.dialog-actions{display:grid;grid-template-columns:1fr}.dialog-actions .button{width:100%}}
.driver-activity{scroll-margin-top:74px}.driver-activity h2{margin:0;font-size:20px}.activity-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:10px;align-items:end}.activity-filters .field select{min-height:46px}.activity-filters>.button{min-height:46px}.activity-period-note,.activity-export-note{margin:0;font-size:11px}.activity-export-note{color:#657a7c}.activity-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.activity-metric{display:grid;align-content:start;gap:5px;min-height:75px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fbfdfc}.activity-metric span{color:var(--muted);font-size:11px;line-height:1.3}.activity-metric strong{color:var(--teal);font-size:18px;line-height:1.2;overflow-wrap:anywhere}.activity-comparison{margin:0;padding:9px 11px;border-radius:10px;background:#f4f7f6}.activity-details{border-top:1px solid var(--line);padding-top:11px}.activity-details>summary{display:flex;align-items:center;min-height:44px;cursor:pointer;color:var(--teal);font-size:13px;font-weight:750}.activity-details[open]>summary{margin-bottom:13px}.activity-chart,.membership-summary,.activity-history{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.activity-chart h3,.membership-summary h3,.activity-history h3{font-size:16px;margin:0 0 10px}.activity-daily-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.activity-daily-list li{display:grid;grid-template-columns:minmax(88px,130px) minmax(50px,1fr) 28px;gap:10px;align-items:center;font-size:12px;color:#52696b}.activity-daily-list progress{width:100%;height:12px;accent-color:var(--green)}.activity-daily-list strong{text-align:right;color:var(--teal)}.membership-summary{display:grid;gap:10px}.membership-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.membership-values>div{display:grid;gap:4px;padding:10px;border-radius:10px;background:#f5f8f7}.membership-values span{font-size:11px;color:var(--muted)}.membership-values strong{font-size:15px;color:var(--teal);overflow-wrap:anywhere}.activity-history-list{display:grid;gap:8px}.activity-history-item{padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}.activity-history-item h4{font-size:14px;margin:0}.activity-route{margin:6px 0;color:#304f52;font-size:13px;overflow-wrap:anywhere}.activity-record-meta{display:flex;flex-wrap:wrap;gap:5px 12px;color:var(--muted);font-size:11px}.activity-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.activity-pagination span{font-size:12px;color:var(--muted)}.membership-summary .billing-callout{margin:0}.driver-activity .inline-feedback{padding:13px;border:1px solid #efc8c3;border-radius:11px;background:#fff8f7;color:#772e29}.driver-activity .inline-feedback p{margin:5px 0 10px;font-size:13px}
@media(max-width:760px){.activity-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-filters{grid-template-columns:1fr 1fr}.activity-filters>.button{grid-column:1/-1;width:100%}}
@media(max-width:420px){.activity-metrics{gap:6px}.activity-metric{padding:9px;min-height:70px}.activity-metric strong{font-size:16px}.activity-filters{grid-template-columns:1fr}.activity-filters>.button{grid-column:auto}.activity-daily-list li{grid-template-columns:80px minmax(45px,1fr) 24px;gap:7px}.membership-values{grid-template-columns:1fr}}

.notification-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:48px;min-height:44px;padding:8px 12px;flex:0 0 auto}.notification-bell{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.notification-count{position:absolute;top:-3px;right:-4px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 4px;border:2px solid var(--surface);border-radius:999px;background:var(--danger);color:#fff;font-size:10px;line-height:1;font-weight:800}.notification-count[data-unknown="true"]{background:var(--gold);color:#342700}.notifications-dialog{width:min(94vw,620px);max-width:620px;max-height:min(88dvh,760px);padding:0;border:0;border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 24px 90px #0b33385c;overflow:hidden}.notifications-dialog::backdrop{background:#0c2f33a6}.notifications-dialog-card{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:12px;max-height:min(88dvh,760px);padding:clamp(17px,4vw,25px);min-height:0}.notifications-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.notifications-dialog-head h2{margin:0;font-size:23px;letter-spacing:-.025em}.notifications-dialog-head .eyebrow{margin:0 0 4px}.notifications-dialog-head .small-copy{max-width:480px;margin:5px 0 0;line-height:1.45}.notifications-close{width:44px;height:44px;min-width:44px;padding:0;font-size:22px;line-height:1;flex:0 0 auto}.notifications-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:11px;background:#f4f7f6}.notifications-toolbar p{margin:0;line-height:1.5}.notifications-toolbar .button{min-height:44px;flex:0 0 auto}.notifications-inbox-content{display:grid;align-content:start;gap:10px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1px}.inbox-list{display:grid;gap:9px}.inbox-item{display:grid;gap:10px;padding:13px;border-radius:12px}.inbox-item-copy{min-width:0}.inbox-item-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.inbox-item-heading>div{min-width:0}.inbox-category{display:block;color:#647b7c;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.inbox-item-copy h3{margin:2px 0 4px;color:var(--ink);font-size:15px;line-height:1.3;overflow-wrap:anywhere}.inbox-item-copy p{margin:0;color:inherit;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.inbox-facts{display:grid;gap:4px;margin-top:8px;font-size:12px;line-height:1.4}.inbox-item-actions{display:flex;flex-wrap:wrap;gap:8px}.inbox-item-actions .button,.inbox-item>a.button,.inbox-error>.button{min-height:44px}.inbox-error{display:flex;align-items:flex-start;gap:12px}.inbox-error>div{flex:1;min-width:0}.inbox-error strong{display:block}.inbox-error p{margin:4px 0 0;font-size:12px;line-height:1.4}.inbox-error>.button{flex:0 0 auto}.driver-membership-reminders h2{margin:0;font-size:18px}.driver-membership-reminders>.list-stack{gap:8px}.driver-membership-item>a{justify-self:start}.driver-membership-unavailable{line-height:1.5}.driver-membership-unavailable p{margin:4px 0}.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:4px 6px;border:0;background:transparent;color:var(--teal);font:inherit;font-weight:750;text-decoration:underline;cursor:pointer}.button-link:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:5px}#driver-charges{scroll-margin-top:78px}
@media(max-width:560px){.notification-button{width:44px;min-width:44px;height:44px;padding:8px}.notification-button-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.notifications-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:15px}.notifications-dialog-card{max-height:calc(100dvh - 16px);padding:16px 13px;gap:10px}.notifications-dialog-head h2{font-size:21px}.notifications-toolbar{display:grid;grid-template-columns:1fr;align-items:stretch}.notifications-toolbar .button{width:100%}.inbox-item{padding:12px}.inbox-item-actions{display:grid;grid-template-columns:1fr}.inbox-item-actions .button{width:100%}.inbox-error{display:grid;grid-template-columns:1fr}.inbox-error>.button{width:100%}.driver-membership-item>a{width:100%}.topbar{gap:5px}.brand{width:114px;height:53px;flex:0 0 114px}.topbar-right{min-width:0;gap:3px}.local-mode-pill{font-size:8px;padding:5px 5px;white-space:nowrap}.account-chip{max-width:66px;flex:0 1 66px;padding:6px 6px;font-size:10px}.topbar-right>#logout-button{min-height:40px;padding:6px 7px;font-size:10px;white-space:nowrap}}
@media(max-width:400px){.brand{width:106px;flex-basis:106px}.topbar-right{gap:2px}.account-chip{max-width:54px;flex-basis:54px}.local-mode-pill{font-size:7px;padding:5px 4px}.topbar-right>#logout-button{padding:6px 5px;font-size:9px}}

/* Pulido de marca, zonas seguras y controles de toque. */
.topbar{height:auto;min-height:calc(72px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(clamp(16px,4vw,52px),env(safe-area-inset-right)) 0 max(clamp(16px,4vw,52px),env(safe-area-inset-left))}
.brand{flex:0 0 auto;min-width:0}
.brand img{max-width:100%;height:auto;aspect-ratio:84/31;object-fit:cover;object-position:center top}
.button-small{min-height:44px}
.footer-links a{display:inline-flex;align-items:center;min-height:44px;padding:3px 2px}
.site-footer{padding-left:max(clamp(16px,4vw,52px),env(safe-area-inset-left));padding-right:max(clamp(16px,4vw,52px),env(safe-area-inset-right));padding-bottom:max(15px,env(safe-area-inset-bottom))}
.main-content{padding-left:max(clamp(14px,4vw,34px),env(safe-area-inset-left));padding-right:max(clamp(14px,4vw,34px),env(safe-area-inset-right))}
.skip-link{top:calc(8px + env(safe-area-inset-top))}
.skip-link:focus{left:max(8px,env(safe-area-inset-left))}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.notification-center{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 8px)}
@media(min-width:561px) and (max-width:1000px){
  .brand{width:142px;height:56px}
  .topbar-right{min-width:0;gap:8px}
  .region-pill,.account-chip{display:none}
  .topbar-right>#logout-button{white-space:nowrap}
}
@media(max-width:560px){
  .topbar{min-height:calc(62px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(13px,env(safe-area-inset-right)) 0 max(13px,env(safe-area-inset-left))}
  .brand{height:44px}
  .account-chip{display:none}
  .local-mode-pill{font-size:9px;padding:6px 7px}
  .topbar-right>#logout-button{min-height:44px;padding:7px 8px;font-size:11px}
  .main-content{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
  .site-footer{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(12px,env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Iconografía de interfaz: un mismo trazo, escala y alineación en todos los perfiles. */
.ui-icon{display:inline-block;width:20px;height:20px;flex:0 0 auto;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.button>.ui-icon,.button-link>.ui-icon{width:18px;height:18px}
.auth-icon{width:58px;height:58px;margin-bottom:24px;border:1px solid #d6e7df;border-radius:18px;background:linear-gradient(145deg,#f1f8f4,#e5f0eb);color:var(--teal);box-shadow:inset 0 1px 0 #ffffffc9,0 5px 12px #073e4605}
.auth-icon .ui-icon{width:28px;height:28px}
.aside-mark{width:52px;height:52px;border:1px solid #ffffff2b;border-radius:16px;background:#ffffff0d;color:#f4c56e}
.aside-mark .ui-icon{width:26px;height:26px}
.auth-aside li{display:flex;align-items:flex-start;gap:11px;padding-left:0}
.auth-aside li::before{content:none}
.auth-feature-icon{display:inline-flex;flex:0 0 22px;align-items:center;justify-content:center;min-height:22px;margin-top:1px;color:#f4c56e}
.auth-feature-icon .ui-icon{width:18px;height:18px}
.auth-aside li>span:last-child{min-width:0}
.aside-foot{display:flex;align-items:center;gap:8px}
.aside-foot .ui-icon{width:15px;height:15px;color:#f4c56e}
.role-nav{gap:9px;padding-bottom:15px}
.role-nav button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 17px;border-color:#dce7e3;font-size:13px;font-weight:650;letter-spacing:-.01em;line-height:1.3;box-shadow:0 1px 2px #073e4603;transition:background .16s,border-color .16s,color .16s}
.role-nav button>.ui-icon{width:19px;height:19px;color:#527474}
.role-nav button[aria-current="page"]{border-color:var(--teal);background:var(--teal);box-shadow:0 3px 9px #073e4614}
.role-nav button[aria-current="page"]>.ui-icon{color:#f2c66f}
.notification-symbol{display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;margin-top:1px}
.notification-symbol .ui-icon{width:20px;height:20px}
.notification>p{flex:1;min-width:0}
.notification-close,.notifications-close{display:inline-grid;place-items:center}
.notification-close .ui-icon,.notifications-close .ui-icon{width:18px;height:18px}
.star-option{width:44px;height:44px;border-radius:12px;color:#64797b}
.star-option:has(input:checked){color:#a96f00;background:#fff7e5}
.star-option:focus-within,.role-nav button:focus-visible,.notification-close:focus-visible,.notifications-close:focus-visible{outline-color:#a96f00}
.star-option .ui-icon{width:24px;height:24px;fill:currentColor;stroke-width:1.2}
.trip-route .route-line{display:flex;align-items:flex-start;gap:8px;min-width:0}
.trip-route .route-line>.ui-icon{width:17px;height:17px;margin-top:3px;color:#6f8c89}
.trip-route .route-line>span{min-width:0;overflow-wrap:anywhere}
.route-separator{display:inline-flex;align-items:center;vertical-align:middle;margin:0 4px;color:#7a9290}
.route-separator .ui-icon{width:16px;height:16px}
@media(hover:hover){.role-nav button:not([aria-current="page"]):hover{background:#f0f6f3;border-color:#bacfc6;color:var(--teal)}.star-option:hover{border-color:#d6bd81;background:#fffbf2}}
@media(max-width:560px){.role-nav{gap:7px}.role-nav button{gap:8px;padding:10px 14px;font-size:12px}.role-nav button>.ui-icon{width:18px;height:18px}#logout-button .ui-icon{display:none}.auth-icon{width:54px;height:54px;margin-bottom:21px;border-radius:17px}.auth-icon .ui-icon{width:27px;height:27px}}
.agenda-state { display: grid; gap: .45rem; border-inline-start: 3px solid var(--teal-2); }
.agenda-state p { margin: 0; line-height: 1.5; }
.agenda-state[data-attention="true"] { border-color: #a27816; background: #fff6de; color: #5e470a; }
.agenda-state .list-actions { margin-top: .3rem; }
.confirm-dialog .field { margin-block: .9rem; }
