:root{--touch-size:64px;--bg:#fff;--surface:#f6faea;--surface-alt:#eef6e8;--text:#1f2937;--muted:#5d6b72;--border:#dce8d7;--primary:#2e7d32;--tab-selected:#2e7d32;--primary-text:#fff;--secondary-text:#244b2b;--success:#2e7d32;--danger:#dc2626;--alert:#f59e0b;--action:#a3c9a8;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-width:280px;color:var(--text);margin:0}main{width:100%;max-width:none;padding:.5rem .5rem calc(7rem + env(safe-area-inset-bottom));margin:0}.app-header{border-bottom:0;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 0 .7rem;display:flex}.app-title{letter-spacing:-.02em;margin:.35rem 0;font-size:1.25rem;line-height:1.2}.app-header h1{margin-top:.35rem}.account-bar{color:#486357;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.connection-dot{background:#9b5300;border-radius:50%;width:.65rem;height:.65rem}.connection-dot.online{background:#2b8a57}.compact{min-height:var(--touch-size);padding:.75rem 1rem;font-size:1rem}.account-menu{position:relative}.avatar-button{width:var(--touch-size);height:var(--touch-size);min-height:var(--touch-size);color:#fff;background:#193e30;border:2px solid #d8e7d8;border-radius:50%;place-items:center;padding:0;font-weight:750;display:grid}.account-flyout{z-index:10;background:#fff;border:1px solid #d9dfd6;border-radius:.8rem;min-width:220px;padding:.9rem;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 12px 30px #142c272e}.account-flyout .secondary{text-align:left;width:100%;margin-top:.5rem;display:block}.account-email{overflow-wrap:anywhere;margin:0;font-weight:650}.bottom-nav{z-index:20;padding:.35rem .5rem calc(.85rem + env(safe-area-inset-bottom));box-shadow:none;background:#fffffff5;border:1px solid #e8e0d6;border-radius:0;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:.25rem;display:grid;position:fixed;bottom:0;left:0;right:0}.tab{min-width:0;min-height:var(--touch-size);color:#64736b;white-space:normal;text-align:center;background:0 0;border:0;border-radius:.65rem;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.3rem .2rem;font-size:.8rem;line-height:1.1;display:flex}.tab-icon{width:22px;height:22px}.tab-icon-wrap{display:inline-flex;position:relative}.notification-badge{color:#fff;background:#c04732;border-radius:999px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:.62rem;font-weight:750;line-height:1;display:grid;position:absolute;top:-7px;right:-10px}.tab.active{color:var(--tab-selected);background:0 0;font-weight:700}.eyebrow{color:#486357;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:700}h1{letter-spacing:-.045em;overflow-wrap:anywhere;margin:1rem 0;font-size:clamp(2.25rem,7vw,3.75rem);line-height:1.08}.intro{color:#486357;max-width:34rem;font-size:1.15rem;line-height:1.6}.panel{border:1px solid var(--border);background:var(--surface);border-radius:.75rem;margin-top:1rem;padding:clamp(1rem,4vw,1.75rem);box-shadow:0 8px 24px #2b30320f}.panel.recording{box-shadow:none;background:0 0;border:0;margin-top:1rem;padding:1rem;padding-inline:0}.split-panel{box-shadow:none;background:0 0;border:0;padding:0}.panel-section-title{background:0 0;margin-bottom:1rem;padding:0 0 1rem}.panel-section-title hr{border:0;border-top:1px solid var(--border);margin:.75rem 0 0}.panel-section-content{border:1px solid var(--border);background:var(--surface-alt);border-radius:.75rem;padding:1rem}.panel-section-title h2{margin:0}.badge{color:#304c36;background:#e7eee4;border-radius:2rem;padding:.4rem .75rem;font-size:.8rem;font-weight:650;display:inline-block}h2{letter-spacing:-.025em;margin:1.25rem 0 .75rem;font-size:1.6rem}p{line-height:1.65}.detail{color:#54625c;font-size:.95rem}footer{color:#54625c;margin-top:2rem;font-size:.8rem}button{font:inherit;min-height:var(--touch-size);min-width:var(--touch-size);touch-action:manipulation;background:var(--primary);color:var(--primary-text);border:1px solid var(--primary);cursor:pointer;white-space:nowrap;border-radius:.75rem;padding:.65rem 1rem;font-size:1rem}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{background:var(--surface);color:var(--secondary-text);border-color:var(--border)}button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #9b5300}.actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.actions h2{flex:15rem}.panel>.actions h2{flex-basis:100%;margin-bottom:.25rem}.action-row{flex-wrap:wrap;gap:.75rem;width:100%;display:flex}.notice,.error,.external{color:#563600;background:#fff3d5;border-radius:.5rem;padding:1rem}.toast{z-index:50;justify-content:space-between;align-items:center;gap:1rem;width:min(28rem,100vw - 2rem);display:flex;position:fixed;top:1rem;right:1rem;box-shadow:0 10px 28px #142c2733}.toast-close{min-height:var(--touch-size);width:var(--touch-size);flex:0 0 var(--touch-size);color:inherit;background:0 0;border:0;padding:0;font-size:1.4rem}.notification-list{padding:0;list-style:none}.notification-list li{border-bottom:1px solid #d9dfd6;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 0;display:flex}.notification-list li.notification-info{background:#edf8f3;border-left:4px solid #2f7d69;padding-left:.8rem}.notification-list li.notification-warn{background:#fff8e6;border-left:4px solid #b7791f;padding-left:.8rem}.notification-list li.notification-error{background:#fff0ed;border-left:4px solid #b6422d;padding-left:.8rem}.notification-list time{color:#54625c;margin-top:.25rem;font-size:.8rem;display:block}.ride-list{padding:0;list-style:none}.ride-list li{border-bottom:1px solid #d9dfd6;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.ride-list li.selected{background:#f0f7f1;border-radius:10px;padding-inline:.75rem}.ride-list li span{color:#54625c;margin-top:.25rem;font-size:.9rem;display:block}.native-header-title{align-items:center;gap:.75rem;min-width:0;display:flex}.native-header-title .compact{min-width:112px;min-height:var(--touch-size);padding-inline:1rem;font-size:1rem}.native-header-title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.active-marker{color:var(--success);font-weight:700}.back-button{min-height:var(--touch-size);white-space:nowrap;padding:.4rem .65rem}.back-button:first-letter{font-size:1.5rem;line-height:0}.screen-title{text-align:center;min-width:0}.screen-title h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;overflow:hidden}.screen-title span{color:#54625c;margin-top:.15rem;font-size:.78rem;display:block}.screen-status{color:#2b8a57;font-size:1.1rem}@media (width<=640px){.ride-list li{flex-direction:column;align-items:stretch}.ride-list li .actions{width:100%}.ride-list li .actions button{flex:1}}.error{color:#842b1c;background:#ffe8e4}.external{border:2px solid #a76600;margin-block:1rem}.external li{margin-bottom:.75rem}.book-list,.costs{padding:0;list-style:none}.book-list li{border:1px solid var(--border);background:var(--surface-alt);border-radius:.75rem;align-items:center;gap:1rem;margin-block:.75rem;padding:.75rem;display:flex}.book-actions{flex:none;gap:.5rem;margin-top:0;display:flex}.danger{border-color:#d9a39a;color:var(--danger)!important}.book{white-space:normal;overflow-wrap:anywhere;text-align:left;width:100%;min-width:0;color:var(--text);background:0 0;border:0;flex:1;gap:.4rem;display:grid}.book-list li .book{background:0 0}.book span,.detail{font-size:.9rem}.segments{padding-left:1.5rem}.segments>li,.costs>li{border-bottom:1px solid #d9dfd6;padding:1rem 0}h4{margin:.75rem 0;font-size:1.1rem}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}summary{cursor:pointer;min-height:var(--touch-size);padding-block:.75rem}details>button{margin:.4rem}a{color:#245d40;overflow-wrap:anywhere}label{gap:.5rem;margin-block:1rem;display:grid}input{font:inherit;min-height:var(--touch-size);border:1px solid #7e9386;border-radius:.5rem;max-width:100%;padding:.65rem}input:focus-visible{outline-offset:4px;outline:3px solid #9b5300}.prepared-plan{border-top:1px solid #d9dfd6;padding-block:.5rem}select{font:inherit;width:100%;min-height:var(--touch-size);color:#142c27;background:#fff;border:1px solid #7e9386;border-radius:.5rem;padding:.65rem}.check{align-items:center;gap:.75rem;line-height:1.5;display:flex}.check input{flex:0 0 24px;width:24px;height:24px;min-height:24px}.recording-title-card{background:0 0;margin-bottom:1rem;padding:0 0 1rem}.recording-title-card h2{margin:0}.recording-title-card hr{border:0;border-top:1px solid var(--border);margin:.75rem 0 0}.panel>h2:first-child{border-bottom:1px solid var(--border);margin-top:0;padding-bottom:.75rem}.panel>.actions:has(>h2){border-bottom:1px solid var(--border);padding-bottom:.75rem}.recording-stop{border:1px solid var(--border);background:var(--surface-alt);border-radius:.75rem;margin-block:1rem;padding:1rem}.route-link{min-width:var(--touch-size);min-height:var(--touch-size);white-space:nowrap;touch-action:manipulation;border:1px solid var(--border);border-radius:.75rem;justify-content:center;align-items:center;margin:.25rem 0 .5rem;padding:.65rem 1rem;text-decoration:none;display:inline-flex}.ride-header-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.recording>button,.recording-stop .recording-controls{width:100%}.finish-button{width:100%;min-height:64px;margin-top:1rem;font-size:1.1rem}.recording-stop .recording-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.recording-stop .recording-controls button,.recording>button{width:100%;min-height:64px;font-size:1.1rem}.recording .actions button{min-height:var(--touch-size)}.recording-controls button{min-width:120px;min-height:64px;font-size:1.15rem;font-weight:650}.arrival-action{background:var(--success);border-color:var(--success)}.departure-action{background:var(--action);border-color:var(--action);color:#193e30}.correction{margin-block:.5rem}@media (width<=640px){.app-header{display:block}.account-bar{justify-content:flex-start;margin-top:.75rem}}@media (prefers-color-scheme:dark){:root{--tab-selected:#a3c9a8;--bg:#0f1f17;--surface:#182a22;--surface-alt:#20352b;--text:#e5efe8;--muted:#b6c8bc;--border:#385344;--primary:#2e7d32;--primary-text:#fff;--secondary-text:#e5efe8;--success:#22c55e;--danger:#ff8f83;--alert:#f59e0b;--action:#a3c9a8}.app-header{border-color:var(--border)}.account-flyout,.panel,.book{background:var(--surface);color:var(--text);border-color:var(--border)}button.secondary{background:var(--surface);color:var(--secondary-text);border-color:#53666c}.bottom-nav{border-color:var(--border);background:#1b2225f5;box-shadow:0 10px 30px #00000059}.tab{color:#aab9b8}.tab.active{color:var(--tab-selected);background:0 0}.detail,.book span,footer,.ride-list li span{color:var(--muted)}.notice{color:#ffe6a8;background:#4b3b1e}.error{color:#ffd4cc;background:#4b2522}.notification-list li.notification-info{background:#1e3932}.notification-list li.notification-warn{background:#40351d}.notification-list li.notification-error{background:#452522}a{color:#8fc9ff}}.info-button{width:24px;min-width:24px;height:24px;min-height:24px;color:var(--secondary-text);vertical-align:middle;background:0 0;border:1px solid #7e9386;border-radius:50%;place-items:center;padding:0;font-size:.85rem;font-weight:700;display:inline-grid}.info-popover{margin:-.25rem 0 1rem}.ride-list{gap:.75rem;padding:0;display:grid}.ride-list li{cursor:pointer;border:1px solid var(--border);background:var(--surface-alt);border-radius:.75rem;padding:1rem;list-style:none}.ride-list li:nth-child(2n){background:var(--surface)}.ride-list li .actions{flex:16rem;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ride-list li .actions button{width:100%;min-height:var(--touch-size)}.theme-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.theme-selected{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}:root[data-theme=dark]{--tab-selected:#a3c9a8;--bg:#0f1f17;--surface:#182a22;--surface-alt:#20352b;--text:#e5efe8;--muted:#b6c8bc;--border:#385344;--primary:#2e7d32;--primary-text:#fff;--secondary-text:#e5efe8;--success:#22c55e;--danger:#ff8f83;--alert:#f59e0b;--action:#a3c9a8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark] body{background:var(--bg);color:var(--text)}:root[data-theme=dark] .account-bar,:root[data-theme=dark] .eyebrow,:root[data-theme=dark] .intro{color:var(--muted)}:root[data-theme=dark] .account-flyout,:root[data-theme=dark] .panel,:root[data-theme=dark] .book{background:var(--surface);color:var(--text);border-color:var(--border)}:root[data-theme=dark] .tab{color:var(--muted)}:root[data-theme=dark] .tab.active{color:var(--tab-selected);background:0 0}:root[data-theme=dark] .theme-selected{color:#fff;background:#2e7d32;border-color:#2e7d32}:root[data-theme=dark] .detail,:root[data-theme=dark] footer,:root[data-theme=dark] .ride-list li span{color:var(--muted)}:root[data-theme=dark] select,:root[data-theme=dark] input{background:var(--surface);color:var(--text);border-color:var(--border)}.settings-panel{box-shadow:none;background:0 0;border:0;padding:0}.settings-section{border:1px solid var(--border);background:var(--surface-alt);border-radius:.75rem;margin-top:1rem;padding:1rem}.action-row>button,.action-row>.route-link,.ride-header-actions>button,.ride-header-actions>.route-link{flex:12rem}@media (width<=480px){.theme-options{grid-template-columns:1fr}.book-list li{flex-wrap:wrap}.book-actions{width:100%}.book-actions button{flex:1}}.ride-list .export-action{grid-column:1/-1}
