:root{--navy:#073c54;--ink:#123e51;--muted:#6d8490;--teal:#008e9e;--cyan:#7fe1e0;--border:#dce7eb;--paper:#f3f6f7;--shadow:0 6px 24px #0b435307;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer;border:0}button:disabled{opacity:.45;cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #00b5c2;outline-offset:4px}input:focus,select:focus{outline:2px solid var(--teal);outline-offset:1px}button,.upload-button{min-height:48px;border-radius:12px;font-weight:650}.shellnav{width:236px;position:fixed;inset:0 auto 0 0;padding:32px 22px;background-color:var(--navy);background-image:radial-gradient(circle at 1px 1px,#ffffff09 1px,transparent 1.4px);background-size:19px 19px;color:white;display:flex;flex-direction:column;z-index:10}.brand-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.brand{display:flex;align-items:center;gap:8px;text-decoration:none;font-size:32px;font-weight:760;letter-spacing:-2px}.brand-mark{display:grid;place-items:center;background:var(--cyan);color:var(--navy);width:36px;height:36px;border-radius:13px;font-size:32px;letter-spacing:0}.brand-dot{color:var(--cyan);margin-left:-8px}.icon-button{display:grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;font-size:19px;border:1px solid #ffffff40;border-radius:50%;background:transparent;color:inherit}.icon-button:hover{background:#ffffff15}.workspace-label{font-size:9px;letter-spacing:2px;color:#b3d1d8;margin:28px 4px 24px;font-weight:650}nav{display:grid;gap:8px}nav button{display:flex;gap:12px;align-items:center;text-align:left;background:transparent;color:#c3d7df;padding:13px 14px;font-size:14px;white-space:nowrap}nav button.active{background:#ffffff12;color:var(--cyan)}nav button.active:before{content:'';position:absolute;left:0;width:3px;height:25px;border-radius:4px;background:var(--cyan)}.nav-icon{font-size:19px;width:24px;text-align:center}.nav-foot{margin-top:auto;padding:24px 6px 2px}.nav-foot .eyebrow{color:#a5c6cf;font-size:8px}.nav-foot p{color:#e5f0f3;font-size:17px;margin:12px 0 22px}.nav-foot small{font-size:10px;color:#a4c6ce}main{margin-left:236px;padding:0 36px;max-width:1750px}.topbar{min-height:76px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px}.breadcrumb{font-size:9px;letter-spacing:1.5px;white-space:nowrap}.breadcrumb span{color:#acbec6;margin:0 11px}.breadcrumb b{font-weight:550}.topbar-actions{display:flex;gap:18px;align-items:center}.text-button{padding:7px 2px;background:transparent;color:var(--teal);font-size:12px;min-height:44px}.connection{font-size:10px;padding:8px 10px;background:#e5f2ef;color:#297c6a;border-radius:30px;white-space:nowrap}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:32px 0 25px}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:700;color:var(--muted)}h1{font-size:38px;letter-spacing:-1.5px;line-height:1.12;margin:10px 0 12px;font-weight:700}h1>span{color:var(--teal)}h2{font-size:18px;letter-spacing:-.4px;margin:7px 0 0;font-weight:650}p{font-size:13px;line-height:1.65;color:var(--muted);margin:0}.date-pill{border:1px solid var(--border);border-radius:30px;padding:10px 14px;font-size:12px;white-space:nowrap;text-transform:capitalize}.panel,.service-card{background:white;border:1px solid var(--border);border-radius:19px;box-shadow:var(--shadow)}.panel{padding:24px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.panel-heading h2{margin-top:6px}.panel-heading>h2{margin:0}.pill{font-size:10px;white-space:nowrap;border-radius:30px;background:#edf3f5;color:#5b7784;padding:7px 10px;font-weight:550}.pill.valid{background:#e3f4ed;color:#228260}.pill.draft{background:#fff3d7;color:#997126}.service-card>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;padding:18px 22px;font-size:13px}.service-card>summary::-webkit-details-marker{display:none}.service-card>summary>span{font-size:11px;color:var(--muted);text-align:right}.service-card>summary>span:after{content:'⌄';margin-left:12px;color:var(--teal)}.setup{display:grid;grid-template-columns:1.1fr 1.15fr 1.5fr 1fr 1fr;gap:12px;padding:0 22px 18px}label{display:flex;flex-direction:column;gap:9px;font-size:11px;font-weight:600;color:#597480;min-width:0}input,select{width:100%;max-width:100%;min-width:0;min-height:48px;border:1px solid var(--border);border-radius:10px;background:#f7fafb;color:var(--ink);padding:11px 12px;font-size:14px;line-height:1.4}input[type=date]{display:block;max-inline-size:100%;text-align:left;appearance:none;-webkit-appearance:none}input::-webkit-date-and-time-value{text-align:left;min-width:0}input::placeholder{color:#96a6ac}select{padding-right:26px}.service-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 22px 13px;color:var(--muted);font-size:10px}.service-tools .text-button{font-size:10px;min-height:35px}.subnote{font-size:10px;line-height:1.6;color:var(--muted);margin:14px 0 20px}.workspace{display:grid;grid-template-columns:minmax(210px,.72fr) minmax(0,1.8fr);gap:22px;align-items:start}.triplist{padding:22px 16px}.triplist .panel-heading{padding:0 5px}.trips{display:grid;gap:7px;max-height:580px;overflow:auto;scrollbar-width:thin;padding:1px 2px 4px}.trip{width:100%;padding:13px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;color:var(--ink);background:#f4f8f9;border:1px solid transparent}.trip.active{background:#e4f4f4;border-color:#85cfcf}.trip .time{font-size:20px;letter-spacing:-.7px;font-weight:650}.trip small{font-size:10px;display:block;margin-top:5px;color:var(--muted);font-weight:450}.status-dot{color:#a9bdc5;font-size:16px}.status-dot.valid{color:#269776}.status-dot.draft{color:#bf932b}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;padding:12px 18px;font-size:12px;line-height:1.4}.primary{background:var(--navy);color:white;border:1px solid var(--navy)}.primary:hover{background:#0d526c}.secondary{background:white;color:var(--ink);border:1px solid var(--border)}.secondary:hover{background:#f4f8f9}.wide{width:100%;margin-top:15px}.counter{padding:26px 28px;border-top:3px solid var(--teal)}.countertop{display:flex;align-items:center;justify-content:space-between;gap:12px}.routehead{display:flex;justify-content:space-between;align-items:center;margin:22px 0 28px;gap:15px}.bigtime{font-size:60px;font-variant-numeric:tabular-nums;letter-spacing:-3px;font-weight:700;line-height:1.1}.routehead h2{font-size:22px;margin:8px 0}.routehead p{font-size:11px}.route-art{width:95px;height:95px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:#eef7f6}.route-art svg{width:70px;fill:none;stroke:#61b6b4;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.section-label{font-size:9px;letter-spacing:1.3px;display:flex;justify-content:space-between;padding:16px 0;border-top:1px solid var(--border);color:#68828c;font-weight:650}.section-label span{font-size:9px;letter-spacing:0;font-weight:450}.stop{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #e9eff1;padding:19px 0}.stoplabel{display:flex;align-items:center;gap:10px}.stopbadge{display:grid;place-items:center;width:25px;height:25px;flex-shrink:0;border-radius:50%;color:var(--teal);background:#e7f4f2;font-size:10px}.stopname{font-size:16px;font-weight:650}.stopname small{display:block;font-size:10px;font-weight:450;color:var(--muted);margin-top:6px;line-height:1.5}.stepper{display:flex;align-items:center;gap:6px;flex-shrink:0}.stepper button{width:52px;height:52px;min-height:52px;background:#eff4f5;color:var(--ink);font-size:26px;border-radius:13px}.stepper .plus{background:var(--cyan);color:var(--navy)}.stepper input{width:62px;min-height:52px;padding:2px;text-align:center;border:0;background:none;font-size:28px;font-weight:650;appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}.trip-total{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:22px 0 15px;padding:18px;border-radius:13px;background:#edf6f5;font-size:13px;font-weight:650}.trip-total small{display:block;font-size:9px;font-weight:450;color:#6d8a8d;margin-top:5px}.trip-total strong{font-size:35px;line-height:1;white-space:nowrap}.trip-total strong small{display:inline;font-size:10px}.note-details summary{font-size:11px;cursor:pointer;min-height:34px;color:var(--muted)}.note-details input{margin-bottom:12px}.counter-actions{display:flex;justify-content:space-between;gap:10px;margin-top:12px}.counter-actions .primary{flex:1}.save-state{text-align:center;font-size:10px;color:#578c7c;margin-top:13px}.under-counter{font-size:10px;padding:14px 6px}.notice{padding:14px 18px;border:1px solid #b7ded8;border-radius:12px;background:#eaf7f3;color:#276d5e;font-size:12px;line-height:1.6;position:sticky;top:10px;z-index:15;margin-top:18px;box-shadow:0 4px 20px #073c5409}.demo-banner{margin-top:18px;padding:10px 16px;background:#fff3d7;color:#8c6525;border-radius:12px;font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:10px}.demo-banner .text-button{color:#8c6525}.button-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spaced{margin-top:20px}.filters{display:flex;align-items:end;gap:13px;flex-wrap:wrap;padding:18px;margin-bottom:22px}.filters label{flex:1;min-width:120px}.filters .text-button{padding:10px;font-size:11px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.metric{border:1px solid var(--border);border-radius:17px;background:white;padding:22px;position:relative;overflow:hidden}.metric:first-child{background:var(--navy);color:white;border-color:var(--navy);background-image:radial-gradient(circle at 100% 100%,#ffffff0a 0 30%,transparent 30% 40%,#ffffff06 40% 60%,transparent 60%)}.metric span{font-size:11px;color:var(--muted)}.metric:first-child span{color:#bbd7dd}.metric strong{display:block;font-size:38px;letter-spacing:-1.5px;margin:14px 0 10px;font-weight:650}.metric small{font-size:9px;color:var(--muted)}.metric:first-child small{color:#a9d0d7}.statsgrid{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;margin-bottom:22px}.muted{color:var(--muted);font-size:10px}.bar{margin:22px 0}.barhead{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:10px}.barhead b{font-size:11px;font-weight:550}.track{height:8px;border-radius:10px;overflow:hidden;background:#edf3f4}.track i{display:block;background:#32aaaa;height:100%;border-radius:10px}.directionrow{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid var(--border)}.directionrow:last-child{border:0}.directionrow span{font-size:12px}.directionrow strong{font-size:32px;letter-spacing:-1px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left;white-space:nowrap}th{background:#f4f8f9;font-size:9px;font-weight:650;color:#6c8490;padding:13px 12px}td{padding:16px 12px;border-bottom:1px solid #e8eff1}td small{display:block;font-size:10px;margin-top:5px;color:var(--muted)}td button{min-height:40px;font-size:11px;padding:8px 12px}.history-cards{display:none}.empty{text-align:center;padding:35px 14px;color:var(--muted);font-size:12px;line-height:1.7}.collection-note{display:flex;align-items:center;gap:15px;background:#e6f2f2;border:1px solid #c7e3e0;border-radius:15px;padding:17px 20px;margin-bottom:20px}.collection-note b{font-size:12px}.collection-note p{font-size:11px;margin-top:4px}.collection-note .secondary{margin-left:auto;white-space:nowrap}.transfer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px}.transfer-card{display:flex;flex-direction:column;align-items:start}.step-number{font-size:11px;border:1px solid #b8dcda;color:var(--teal);padding:9px 11px;border-radius:11px;margin-bottom:18px}.transfer-card h2{margin-bottom:15px}.transfer-card p{font-size:12px;margin-bottom:22px}.transfer-card button,.transfer-card .upload-button{margin-top:auto}.upload-button{position:relative;overflow:hidden;cursor:pointer;text-align:center}.upload-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.import-item{display:flex;justify-content:space-between;gap:15px;padding:15px 0;border-bottom:1px solid var(--border);font-size:12px}.import-item p{font-size:10px}.prototype-note{background:#fff5dc;border:1px solid #f0dfb6;border-radius:14px;padding:17px 20px;margin-bottom:22px}.prototype-note b{color:#8b6e31;font-size:12px}.prototype-note p{color:#8b7950;font-size:11px;margin-top:6px}.fleet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.vehicle-field{background:#f5f9fa;border-radius:13px;padding:15px}.vehicle-num{font-size:11px;margin-bottom:15px;color:var(--teal)}.vehicle-field label+label{margin-top:13px}.vehicle-field input{background:white}.settings-panel{margin-top:22px}.schedule-selects{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:500px;margin-bottom:22px}.schedule-rows{display:grid;gap:10px;max-width:650px;margin-bottom:18px}.schedule-row{display:grid;grid-template-columns:1fr 1.5fr 44px;gap:12px;align-items:end}.schedule-row .icon-button{border-color:var(--border);color:#9a6262;border-radius:10px;font-size:20px}.space-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:20px}.space-links a{display:block;padding:24px;background:#eff5f6;border:1px solid var(--border);border-radius:16px;font-weight:650;text-decoration:none;font-size:18px}.space-links a:hover{border-color:var(--teal)}.space-links span{display:block;font-size:12px;font-weight:400;line-height:1.7;margin-top:14px;color:var(--muted)}footer{padding:25px 0;margin-top:35px;display:flex;gap:18px;align-items:center;border-top:1px solid var(--border);font-size:9px;color:var(--muted)}.footer-brand{font-size:22px;letter-spacing:-1px;font-weight:750;color:var(--ink)}footer a{margin-left:auto;font-size:10px}dialog{border:1px solid var(--border);border-radius:22px;padding:26px;max-width:480px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);color:var(--ink);box-shadow:0 25px 80px #062e4430}dialog::backdrop{background:#052e4580}dialog h2{font-size:25px;margin:10px 0 15px}dialog p{font-size:12px}dialog label{margin-top:17px}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.dialog-top h2{margin:0}.dialog-top .icon-button{color:var(--muted);border-color:var(--border);font-weight:400}.help-text{margin-top:24px}.help-text summary{font-size:13px;font-weight:600;cursor:pointer;min-height:40px}.help-text p{margin:0 0 15px}.help-text b{color:var(--ink)}#editError{color:#a14b38;margin-top:15px}.tour-dialog{margin:0;padding:0;border:0;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;overflow:hidden;background:transparent;box-shadow:none;border-radius:0}.tour-dialog::backdrop{background:transparent}.tour-dialog>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.tour-card{position:absolute;width:340px;max-width:calc(100vw - 28px);background:white;border:1px solid var(--border);border-radius:18px;padding:23px;box-shadow:0 15px 60px #082e4530}.tour-card h2{font-size:22px}.tour-card .button-row{justify-content:space-between}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.portal{margin:0 auto;max-width:1100px;padding:45px 24px}.portal h1{font-size:48px;margin-top:40px}.portal .space-links{margin:35px 0}.portal .brand{color:var(--navy)}[hidden]{display:none!important}
@media(min-width:1550px){main{padding:0 55px}.workspace{grid-template-columns:280px 1fr}}
@media(max-width:1199px){.shellnav{position:relative;width:100%;padding:20px 25px 0;display:block}.brand-row .brand{font-size:30px}.workspace-label{position:absolute;left:175px;top:37px;margin:0;font-size:9px}.nav-foot{display:none}nav{display:flex;margin-top:19px;gap:15px}nav button{position:relative;border-radius:0;min-height:54px;padding:12px 5px;color:#c4dbe1;font-size:13px;justify-content:center;gap:9px;border-bottom:3px solid transparent}nav button.active{background:none;color:var(--cyan);border-bottom-color:var(--cyan)}nav button.active:before{display:none}main{margin:0;padding:0 25px;max-width:none}.topbar{min-height:61px}.page-heading{margin-top:26px}.setup{grid-template-columns:1fr 1fr 1.3fr}.setup label:nth-child(4),.setup label:nth-child(5){grid-row:2}.setup label:nth-child(5){grid-column:2 / 4}.workspace{grid-template-columns:minmax(210px,.65fr) minmax(0,1.6fr)}.bigtime{font-size:57px}.transfer-grid{gap:13px}.transfer-card{padding:20px}.metrics{gap:12px}.metric{padding:19px}}
@media(min-width:640px) and (max-width:899px){.workspace{grid-template-columns:1fr}.triplist{padding:17px 20px}.triplist .panel-heading{margin-bottom:15px}.trips{display:flex;overflow-x:auto;scroll-snap-type:x proximity;max-height:none;padding-bottom:8px}.trip{flex:0 0 137px;scroll-snap-align:start}.triplist>.wide{margin-top:8px;min-height:42px}.counter{padding:26px}.transfer-grid{grid-template-columns:1fr}.transfer-card{display:block}.transfer-card p{margin-bottom:15px}.fleet-grid{grid-template-columns:1fr 1fr}.space-links{grid-template-columns:1fr}.metric{padding:17px}.metric strong{font-size:33px}}
@media(max-width:639px){.shellnav{padding:15px 17px 0}.brand-row .brand{font-size:28px}.brand-mark{width:32px;height:32px;font-size:29px;border-radius:11px}.workspace-label{position:static;margin:15px 0 0;font-size:8px;letter-spacing:1.5px}nav{gap:12px;margin-top:8px;overflow:auto}nav button{font-size:12px;gap:7px;min-height:49px;flex:1}.nav-icon{font-size:17px;width:20px}main{padding:0 15px}.topbar{min-height:59px;gap:8px}.breadcrumb{font-size:8px;letter-spacing:.7px}.breadcrumb span{margin:0 6px}.topbar-actions{gap:7px}.topbar-actions .text-button{font-size:10px;max-width:85px;text-align:right;line-height:1.4}.connection{font-size:0;padding:0;background:transparent;min-width:9px}.connection:before{content:'●';font-size:11px;color:#438f7e}.page-heading{display:block;margin:25px 0 20px}h1{font-size:32px;letter-spacing:-1.2px}.page-heading p{font-size:12px}.eyebrow{font-size:8px;letter-spacing:1.5px}.date-pill{display:none}.service-card{border-radius:15px}.service-card>summary{padding:16px;align-items:start;flex-direction:column;gap:8px;font-size:12px}.service-card>summary>span{text-align:left;font-size:10px}.setup{grid-template-columns:minmax(0,1fr);padding:0 16px 16px;gap:15px}.setup label:nth-child(n){grid-row:auto;grid-column:auto}label{font-size:11px}input,select{min-height:50px;font-size:16px;padding:12px}.service-tools{padding:0 16px 12px;align-items:start;flex-direction:column;gap:2px}.subnote{font-size:9px;margin:12px 0 16px}.workspace{display:flex;flex-direction:column;gap:16px}.workspace>*{width:100%;min-width:0}.triplist{padding:17px 14px;border-radius:15px}.panel-heading{margin-bottom:16px}h2{font-size:17px}.trips{display:flex;overflow:auto;max-height:none;scroll-snap-type:x proximity;padding-bottom:7px}.trip{flex:0 0 124px;padding:12px 10px;scroll-snap-align:start}.trip .time{font-size:21px}.trip small{font-size:9px}.triplist>.wide{margin-top:9px;min-height:42px;font-size:11px}.counter{padding:20px 16px;border-radius:17px}.countertop .eyebrow{font-size:8px}.countertop .pill{font-size:9px}.routehead{margin:20px 0 23px;gap:10px}.bigtime{font-size:54px}.routehead h2{font-size:19px}.route-art{width:66px;height:66px}.route-art svg{width:49px}.section-label{font-size:8px;letter-spacing:.8px}.section-label span{font-size:8px}.stop{padding:17px 0;gap:8px}.stopbadge{display:none}.stopname{font-size:14px}.stopname small{font-size:9px;max-width:120px}.stepper{gap:2px}.stepper button{width:48px;height:50px;min-height:50px;border-radius:11px}.stepper input{width:45px;font-size:25px;padding:0}.trip-total{padding:16px 13px;font-size:12px}.trip-total strong{font-size:32px}.trip-total strong small{font-size:9px}.counter-actions{position:sticky;bottom:10px;padding:8px;background:#ffffffed;border:1px solid #e5eff0;border-radius:14px;box-shadow:0 5px 24px #073c5412;margin:14px -8px 0}.counter-actions button{font-size:11px;padding:11px 10px}.counter-actions .secondary{min-width:98px}.save-state{font-size:9px}.button-row{gap:8px}.page-heading>.button-row{margin-top:18px}.page-heading>.button-row>button{flex:1;min-height:46px;padding:10px;font-size:11px}.panel{padding:18px;border-radius:15px}.filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:15px}.filters label{min-width:0}.filters input,.filters select{font-size:14px;min-height:47px;padding:9px}.filters button{align-self:end}.metrics{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.metric{padding:17px;border-radius:14px}.metric strong{font-size:34px;margin:13px 0 8px}.metric span{font-size:10px}.metric small{font-size:8px}.statsgrid{grid-template-columns:1fr;gap:16px;margin-bottom:16px}.tablewrap{display:none}.history-cards{display:grid;gap:10px}.history-card{border:1px solid var(--border);border-radius:13px;padding:14px}.history-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.history-card-top strong{font-size:20px}.history-card p{font-size:10px;margin-top:8px}.history-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;font-size:11px}.history-card button{min-height:40px;padding:8px 11px;font-size:11px}.history-card .pill{font-size:9px}.collection-note{padding:15px;gap:10px;flex-wrap:wrap}.collection-note .secondary{width:100%;margin:3px 0 0;font-size:11px}.collection-note p{font-size:10px}.transfer-grid{grid-template-columns:1fr;gap:15px}.transfer-card{display:block}.transfer-card p{font-size:12px;margin-bottom:16px}.transfer-card h2{font-size:20px}.step-number{margin-bottom:14px;display:inline-block}.upload-button{width:100%}.fleet-grid{grid-template-columns:1fr}.schedule-row{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 38px;gap:7px}.schedule-row input,.schedule-row select{font-size:13px;min-height:46px;padding:8px}.schedule-row .icon-button{width:38px;min-width:38px;height:46px;border-radius:9px}.schedule-selects{gap:10px}.schedule-row label{font-size:10px}.space-links{grid-template-columns:1fr}.notice{top:6px;font-size:11px;padding:12px 14px}.prototype-note{padding:15px}.prototype-note p{font-size:10px}.import-item{font-size:11px}.import-item p{font-size:9px}.demo-banner{font-size:10px}.demo-banner .text-button{font-size:10px;white-space:nowrap}footer{gap:11px;flex-wrap:wrap;font-size:8px;margin-top:28px}.footer-brand{font-size:20px}footer a{font-size:9px}.tour-card{padding:20px}.tour-card h2{font-size:21px}.portal{padding:30px 20px}.portal h1{font-size:38px}.portal .space-links{margin-top:25px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

@media(min-width:640px) and (max-width:899px){.filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.filters label{min-width:0}.filters input,.filters select{font-size:13px}}
@media(max-width:639px){nav button{flex-direction:column;gap:4px;font-size:11px;padding:9px 4px;min-height:62px}.nav-icon{font-size:18px}}

/* Avancement tactile du service. */
.service-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 24px;background:#e8f3f2;border:1px solid #c4dfdd;border-radius:18px;padding:23px 25px;margin:0 0 24px}.progress-intro h2{font-size:21px;margin:8px 0}.progress-intro p{font-size:11px}.progress-numbers{display:flex;align-items:center;gap:25px}.progress-numbers>div:not(.progress-ring){display:flex;flex-direction:column;gap:5px;text-align:center}.progress-numbers strong{font-size:36px;line-height:1;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-1px}.progress-numbers span{font-size:10px;color:var(--muted)}.remaining-count strong{color:var(--teal)}.progress-ring{--progress:0%;width:66px;height:66px;border-radius:50%;background:conic-gradient(var(--teal) var(--progress),#cce1df 0);display:grid;place-items:center;position:relative}.progress-ring:before{content:'';position:absolute;inset:6px;border-radius:50%;background:#e8f3f2}.progress-ring span{z-index:1;color:var(--ink);font-weight:700;font-size:12px}.service-timing{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;border-top:1px solid #c9dfdc;padding-top:14px;font-size:11px;line-height:1.6;color:#5b7d7e}.service-timing>span:last-child{font-weight:600;color:var(--ink)}.trip-navigation{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px}.trip-navigation button{min-width:110px;font-size:11px;min-height:46px;padding:10px 13px}.trip-navigation>span{font-size:10px;color:var(--muted);white-space:nowrap}.trip-navigation button:disabled{opacity:.35}.routehead{touch-action:pan-y pinch-zoom;user-select:none}.routehead:focus-visible{outline:2px solid var(--teal);outline-offset:6px;border-radius:12px}.swipe-hint{text-align:center;font-size:10px;color:var(--muted);margin:-12px 0 18px}.complete-banner{padding:13px;background:#e4f4ed;color:#277c60;border:1px solid #b6dccc;border-radius:12px;font-size:12px;margin-bottom:17px}.counter{scroll-margin-top:78px}
@media(max-width:899px){.service-progress{padding:20px;gap:16px}.progress-intro h2{font-size:19px}.progress-numbers{gap:20px}.progress-numbers strong{font-size:32px}.progress-ring{width:60px;height:60px}}
@media(max-width:639px){.service-progress{grid-template-columns:1fr;gap:18px;padding:19px 17px;border-radius:15px;margin-bottom:17px}.progress-intro h2{font-size:20px}.progress-intro p{font-size:10px}.progress-numbers{justify-content:space-around;gap:20px}.progress-numbers strong{font-size:37px}.progress-numbers span{font-size:10px}.progress-ring{width:66px;height:66px}.service-timing{flex-direction:column;gap:4px;padding-top:12px;font-size:10px}.trip-navigation{gap:7px;margin-top:17px}.trip-navigation button{min-width:90px;min-height:48px;padding:10px 9px;font-size:10px}.trip-navigation>span{font-size:9px}.swipe-hint{font-size:9px}.counter{scroll-margin-top:77px}.countertop .eyebrow{font-size:10px;letter-spacing:.7px}}
/* Repères visuels propres aux versions Patron et Administration. */
body[data-mode="manager"]{--teal:#187c92;--cyan:#0f6079;--paper:#f3f9fb}body[data-mode="manager"] .shellnav{background-color:#c5f0f4;color:#124f66;background-image:radial-gradient(circle at 1px 1px,#10607b12 1px,transparent 1.4px)}body[data-mode="manager"] .brand-mark{background:#7fe1e0;color:#124f66}body[data-mode="manager"] .brand-dot{color:#147c94}body[data-mode="manager"] .shellnav .icon-button{border-color:#17617e35}body[data-mode="manager"] nav button{color:#3b7083}body[data-mode="manager"] nav button.active{color:#0b5169;background:#ffffff70}body[data-mode="manager"] .workspace-label,body[data-mode="manager"] .nav-foot p,body[data-mode="manager"] .nav-foot small,body[data-mode="manager"] .nav-foot .eyebrow{color:#3f788b}body[data-mode="manager"] .metric:first-child{background-color:#d4f0f4;color:#124f66;border-color:#b8dfe8}body[data-mode="manager"] .metric:first-child span,body[data-mode="manager"] .metric:first-child small{color:#468093}body[data-mode="manager"] .primary{background:#176b87;border-color:#176b87}
body[data-mode="admin"]{--navy:#762d3b;--ink:#542e38;--muted:#8b747d;--teal:#b24656;--cyan:#ffd4cc;--paper:#faf5f5;--border:#eadde0}body[data-mode="admin"] .track i{background:#bd6470}body[data-mode="admin"] .route-art{background:#fae9e8}body[data-mode="admin"] .route-art svg{stroke:#bd6470}body[data-mode="admin"] .collection-note{background:#f7e9eb;border-color:#e7cdd2}body[data-mode="admin"] .primary:hover{background:#923c4c}
/* Huit places à bord ; le surplus est une information séparée. */
textarea{font:inherit;width:100%;min-width:0;min-height:80px;border:1px solid var(--border);border-radius:10px;padding:12px;background:#fff;color:var(--ink);resize:vertical;font-size:14px}textarea:focus{outline:2px solid var(--teal);outline-offset:1px}.optional{font-size:10px;font-weight:400;line-height:1.5;color:#8e7746;margin-top:-4px}.surplus-panel{padding:19px;background:#fff7e5;border:1px solid #ead39c;border-left:4px solid #bd862a;border-radius:14px;margin:18px 0}.surplus-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.surplus-heading .eyebrow{color:#92702f;font-size:8px}.surplus-heading h3{font-size:19px;margin:7px 0 0;color:#806020;letter-spacing:-.4px}.surplus-panel p{color:#8d7547;font-size:11px;margin:8px 0}.surplus-panel label{margin-top:17px;color:#826935}.surplus-panel .text-button{color:#967648;font-size:10px;margin-top:8px;text-decoration:underline}.surplus-icon{display:grid;place-items:center;width:31px;height:31px;border:1px solid #cda756;border-radius:50%;font-weight:700;color:#a87724}.capacity-warning{padding:12px;border-radius:10px;background:#fff0e7;color:#a05731;font-size:11px;line-height:1.6;margin:14px 0}.surplus-overview{padding:16px 20px;border:1px solid #ead39c;border-radius:13px;background:#fff7e5;color:#896830;font-size:12px;line-height:1.7;margin-bottom:22px}.trip-surplus{white-space:normal;min-width:165px;max-width:300px;padding:10px 12px;border-radius:10px;background:#fff7e5;border:1px solid #eadab6;font-size:10px;line-height:1.6;color:#8b6c30}.trip-surplus b,.trip-surplus span{display:block}.trip-surplus p{font-size:11px;color:#82652e;margin-top:6px;white-space:pre-wrap;overflow-wrap:anywhere}.history-note{font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;max-width:280px;margin-top:8px}.history-card>.trip-surplus{margin-top:12px;max-width:none}.surplus-checkbox{flex-direction:row;align-items:center;gap:10px}.surplus-checkbox input{width:21px;min-height:21px}.counter-top-actions{display:flex;align-items:center;gap:12px}.counter-top-actions>button{min-height:42px;font-size:10px;padding:9px 12px}.focus-toolbar,.focus-notice{display:none}.focus-mode{overflow:hidden}.focus-mode .shellnav,.focus-mode .topbar,.focus-mode #drive>.page-heading,.focus-mode .service-card,.focus-mode #scheduleNote,.focus-mode .service-progress,.focus-mode .triplist,.focus-mode .under-counter,.focus-mode main>footer,.focus-mode #notice{display:none!important}.focus-mode main{margin:0;padding:0;max-width:none}.focus-mode .workspace{display:block}.focus-mode .counter{position:fixed;inset:0;z-index:70;overflow-y:auto;overscroll-behavior:contain;width:100%;height:100dvh;max-width:none;border:0;border-radius:0;background:#f9fcfc;padding:0 max(22px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));scroll-margin:0;box-shadow:none}.focus-toolbar{align-items:center;justify-content:space-between;gap:20px}.focus-mode .focus-toolbar{display:flex;position:sticky;top:0;z-index:5;padding:18px 0 14px;background:#f9fcfcf5;border-bottom:1px solid var(--border)}.focus-toolbar>div{display:flex;align-items:center;gap:18px}.focus-toolbar strong{font-size:14px}.focus-toolbar>div>span:last-child{font-size:12px;color:var(--muted)}.focus-toolbar .secondary{min-width:110px;min-height:48px;font-size:12px}.focus-mode .focus-notice:not([hidden]){display:block;background:#e6f3f1;border:1px solid #badad3;color:#347568;border-radius:10px;padding:12px;font-size:12px;margin-top:13px}.focus-mode .countertop{margin-top:20px}.focus-mode #focusToggle{display:none}.focus-mode .countertop>.eyebrow{font-size:13px;font-weight:700;letter-spacing:.6px}.focus-mode .route-art{display:none}.focus-mode .routehead{margin:22px 0 16px}.focus-mode .bigtime{font-size:66px}.focus-mode .routehead h2{font-size:25px}.focus-mode .trip-navigation{margin-top:15px}.focus-mode .trip-navigation button{min-width:145px;min-height:55px;font-size:15px}.focus-mode .trip-navigation>span{font-size:13px}.focus-mode .section-label{font-size:11px}.focus-mode .section-label span{font-size:10px}.focus-mode .stepper button{width:78px;height:76px;font-size:35px;border-radius:17px}.focus-mode .stepper input{width:78px;height:76px;font-size:38px}.focus-mode .stop{padding:17px 0}.focus-mode .stopname{font-size:21px}.focus-mode .stopname small{font-size:11px}.focus-mode .stopbadge{width:31px;height:31px;font-size:13px}.focus-mode .trip-total{padding:23px;font-size:16px}.focus-mode .trip-total strong{font-size:47px}.focus-mode .trip-total small{font-size:11px}.focus-mode .trip-total strong small{font-size:12px}.focus-mode .counter-actions{position:sticky;bottom:0;padding:12px 0;background:#f9fcfcf5;border:0;box-shadow:none;margin:16px 0 0}.focus-mode .counter-actions button{font-size:15px;min-height:63px}.focus-mode .save-state{font-size:11px}.focus-mode .surplus-panel{margin-top:16px}.focus-mode .surplus-panel input,.focus-mode .surplus-panel textarea{font-size:17px;min-height:53px}
@media(min-width:900px){.focus-mode .counting-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:30px;align-items:start}.focus-mode .count-aside{border-left:1px solid var(--border);padding-left:30px}.focus-mode .trip-total{margin-top:0}.focus-mode .stop{min-height:105px}}
@media(max-width:639px){.countertop{align-items:start;gap:12px;flex-wrap:wrap}.counter-top-actions{gap:8px}.counter-top-actions>button{font-size:10px;min-height:43px;padding:9px}.surplus-panel{padding:16px 13px}.surplus-panel h3{font-size:18px}.surplus-panel input,.surplus-panel textarea{font-size:16px}.surplus-panel .optional{font-size:9px}.trip-surplus{min-width:0}.focus-mode .counter{padding:0 max(15px,env(safe-area-inset-right)) max(15px,env(safe-area-inset-bottom)) max(15px,env(safe-area-inset-left))}.focus-toolbar>div{display:flex;flex-direction:column;align-items:start;gap:5px}.focus-toolbar .eyebrow{font-size:8px}.focus-toolbar strong{font-size:12px}.focus-toolbar>div>span:last-child{font-size:10px}.focus-toolbar .secondary{min-width:91px;font-size:11px}.focus-mode .countertop>.eyebrow{font-size:11px}.focus-mode .trip-navigation button{min-width:95px;font-size:12px;min-height:51px}.focus-mode .trip-navigation>span{font-size:10px}.focus-mode .bigtime{font-size:60px}.focus-mode .routehead h2{font-size:23px}.focus-mode .stepper button{width:64px;height:65px;font-size:32px}.focus-mode .stepper input{width:53px;height:65px;font-size:34px}.focus-mode .stopname{font-size:16px}.focus-mode .stopname small{font-size:9px;max-width:100px}.focus-mode .trip-total{padding:18px 15px;font-size:13px}.focus-mode .trip-total strong{font-size:39px}.focus-mode .trip-total strong small{font-size:10px}.focus-mode .counter-actions button{font-size:12px;min-height:58px}.focus-mode .save-state{font-size:10px}}

#clearSurplus{display:flex;width:100%;min-height:48px;margin-top:16px;border-color:#d1ae69;background:#fffaf0;color:#826126;font-size:12px;font-weight:650;text-decoration:none}#clearSurplus:hover{background:#fff0cf}.focus-mode #clearSurplus{min-height:54px;font-size:14px}

.prototype-footer{display:block;font-size:12px}.footer-credit{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.prototype-spaces{margin-top:20px;padding:22px;border:1px solid var(--border);border-radius:18px;background:#fff}.prototype-spaces>p{margin:0 0 16px;font-size:10px;letter-spacing:1.5px;font-weight:750;color:var(--muted)}.prototype-space-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.prototype-space-buttons a{display:flex;flex-direction:column;justify-content:center;gap:8px;min-height:82px;margin:0;padding:16px;border:2px solid transparent;border-radius:12px;text-decoration:none;font-size:14px;font-weight:700}.prototype-space-buttons a span{font-size:11px;font-weight:400;line-height:1.5}.space-driver{background:#073c54;color:#fff}.space-manager{background:#d8f5f5;color:#123e51}.space-admin{background:#9f283a;color:#fff}.prototype-space-buttons a[aria-current="page"]{border-color:currentColor;outline:2px solid var(--paper);outline-offset:-5px}.prototype-spaces>small{display:block;margin-top:16px;font-size:11px;line-height:1.6;color:var(--muted)}@media(max-width:650px){.prototype-spaces{padding:16px}.prototype-space-buttons{grid-template-columns:1fr}.prototype-space-buttons a{min-height:72px}}

.sync-panel{margin:0 0 24px;border:1px solid var(--border);border-radius:15px;background:#fff}.sync-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;cursor:pointer;list-style:none}.sync-panel>summary::-webkit-details-marker{display:none}.sync-panel summary b{font-size:13px}.sync-panel summary small{display:block;margin-top:5px;font-size:11px;color:var(--muted);line-height:1.6}.sync-content{padding:0 20px 20px;border-top:1px solid var(--border)}.sync-content p,.sync-content>small{font-size:12px;line-height:1.7;color:var(--muted)}.sync-content form{display:flex;gap:12px;align-items:end;margin-bottom:16px}.sync-content label{display:block;flex:1;font-size:12px;font-weight:650}.sync-content input{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid var(--border);border-radius:10px;font-size:16px;background:#f7fafb;color:var(--ink)}.sync-content button{padding:12px 16px}.sync-content #syncCodes label{margin:14px 0}.sync-content #syncCodes input{font-size:12px}.sync-content .button-row{flex-wrap:wrap}
.kevo-intro{position:fixed;inset:0;z-index:200;display:grid;place-items:center;color:#e1fcff;overflow:hidden}.intro-curtain{position:absolute;inset-block:0;width:50.5%;background:radial-gradient(ellipse at 90% 20%,#38798888,transparent 60%),linear-gradient(145deg,#06394f,#082735);backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);transition:transform .65s cubic-bezier(.65,0,.25,1);border:1px solid #ffffff1c}.curtain-left{left:0}.curtain-right{right:0;background:radial-gradient(ellipse at 10% 70%,#2c8c9b66,transparent 65%),linear-gradient(145deg,#06394f,#082735)}.intro-signature{position:relative;width:min(76vw,360px);text-align:center;transition:opacity .28s,transform .5s}.intro-signature svg{display:block;width:100%;filter:drop-shadow(0 0 12px #9aeff655)}.intro-signature>span{display:block;font-size:11px;letter-spacing:2.5px;margin-top:14px;color:#bce9ed;opacity:0;animation:intro-caption .5s .8s forwards}.ink-stroke{stroke-dasharray:500;stroke-dashoffset:500;animation:kevo-write 1s .05s ease forwards}.ink-two{animation-delay:.22s}.ink-three{animation-delay:.4s}.ink-four{animation-delay:.58s}#skipIntro{position:absolute;bottom:max(35px,env(safe-area-inset-bottom));right:24px;min-height:44px;background:#ffffff0d;border:1px solid #ffffff30;color:#ceebee;padding:9px 16px;font-size:11px}.opening{pointer-events:none}.opening .curtain-left{transform:translateX(-101%)}.opening .curtain-right{transform:translateX(101%)}.opening .intro-signature{opacity:0;transform:scale(1.03)}.opening #skipIntro{opacity:0}@keyframes kevo-write{to{stroke-dashoffset:0}}@keyframes intro-caption{to{opacity:1}}@media(max-width:650px){.sync-content form{display:block}.sync-content form button{width:100%;margin-top:12px}}@media(prefers-reduced-motion:reduce){.kevo-intro{display:none}.intro-curtain,.intro-signature{transition:none}.ink-stroke{animation:none}}

/* The launch layer covers the large Safari viewport, including safe areas. */
html.intro-active,html.intro-active body{overflow:hidden;background:#07384a;overscroll-behavior:none}
.kevo-intro{inset:0 0 auto;isolation:isolate;width:100%;height:100vh;height:100lvh;min-height:100dvh;margin:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.intro-curtain{inset-block:-3px;border:0;width:calc(50% + 3px)}
.intro-signature{transform:scale(.9);transition:transform .7s cubic-bezier(.22,.7,.2,1),opacity .5s ease;will-change:transform,opacity}
.opening .intro-signature{transform:scale(1.85);opacity:0}
#skipIntro{display:grid;place-items:center;bottom:max(18px,env(safe-area-inset-bottom));right:max(18px,env(safe-area-inset-right));width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;font-size:19px;color:#b6dfe4;opacity:.45}
#skipIntro:hover,#skipIntro:focus-visible{opacity:1;background:#ffffff12}
@media(prefers-reduced-motion:reduce){html.intro-active,html.intro-active body{overflow:auto;background:var(--paper)}.intro-signature{transition:none}}
