@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600&display=swap";*{margin:0;padding:0}:root{--ink:#1a1a1a;--paper:#f7f6f3;--signal:#0a2540;--signal-dark:#081c30;--signal-tint:#e7ecf1;--line:#e2dfd9;--muted:#6b6f73;--success:#1d8a4c;--danger:#c93a3a;--radius:14px;--ryvo-bg:#050b18;--ryvo-bg-glow:#0f2a5c;--ryvo-blue:#0758ff;--ryvo-blue-light:#1768ff;--ryvo-text-dark:#06142b}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}body{background:var(--ink);color:var(--ink);-webkit-tap-highlight-color:transparent;font-family:Inter,-apple-system,sans-serif}h1,h2,h3{letter-spacing:-.02em;font-family:Space Grotesk,sans-serif}button{cursor:pointer;font-family:inherit}input{font-family:inherit}.auth-screen{background:var(--ryvo-bg);background-image:radial-gradient(circle at 50% 0%, var(--ryvo-bg-glow) 0%, var(--ryvo-bg) 60%);height:100dvh;padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));justify-content:center;align-items:center;display:flex}.auth-card{border-radius:var(--radius);background:#fff;width:100%;max-width:380px;max-height:100%;padding:32px 24px;overflow-y:auto}.auth-card h1{color:var(--ryvo-text-dark);margin:0 0 4px;font-size:28px}.subtitle{color:var(--muted);margin:0 0 24px;font-size:14px}.tab-row{background:#ece9e3;border-radius:10px;margin-bottom:20px;padding:4px;display:flex}.tab{color:var(--muted);background:0 0;border:none;border-radius:8px;flex:1;padding:10px;font-size:14px;font-weight:600}.tab.active{background:linear-gradient(135deg, var(--ryvo-blue), var(--ryvo-blue-light));color:#fff}.role-toggle{gap:10px;margin-bottom:20px;display:flex}.role-btn{border:2px solid var(--line);border-radius:var(--radius);color:var(--ink);background:0 0;flex:1;padding:14px 8px;font-size:14px;font-weight:600}.role-btn.active{border-color:var(--ryvo-blue);background:#0758ff14}.auth-card form{flex-direction:column;gap:12px;display:flex}.auth-card input{border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:14px;font-size:16px}.auth-card input:focus{border-color:var(--ryvo-blue);outline:none}.password-field-wrap{display:flex;position:relative}.password-field-wrap input{width:100%;padding-right:44px}.forgot-password-link{text-align:right;align-self:flex-end;margin:-6px 0 0}.password-toggle-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:8px;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.primary-btn{background:var(--signal);color:#fff;border:none;border-radius:10px;margin-top:6px;padding:16px;font-size:16px;font-weight:600;transition:background .15s,transform .1s}.primary-btn:hover:not(:disabled){background:var(--signal-dark)}.primary-btn:active:not(:disabled){transform:scale(.98)}.primary-btn:disabled{color:#9a968d;background:#d8d4cc}.primary-btn.pending,.primary-btn.pending:hover,.primary-btn.pending:active{color:#9a968d;background:#d8d4cc;transform:none}.auth-card .primary-btn{background:linear-gradient(135deg, var(--ryvo-blue), var(--ryvo-blue-light))}.auth-card .primary-btn:hover:not(:disabled){background:var(--ryvo-blue)}.primary-btn:focus-visible,.secondary-btn:focus-visible,.role-btn:focus-visible,.tab:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.auth-card .primary-btn:focus-visible,.auth-card .role-btn:focus-visible,.auth-card .tab:focus-visible{outline-color:var(--ryvo-blue)}.secondary-btn{color:var(--ink);border:1.5px solid var(--line);background:0 0;border-radius:10px;padding:14px;font-size:15px;font-weight:600}.link-btn{color:var(--muted);background:0 0;border:none;padding:8px;font-size:14px;text-decoration:underline}.error-text{color:var(--danger);margin:0;font-size:13px}.screen{background:var(--paper);height:100dvh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);flex-direction:column;display:flex}.top-bar{padding:max(14px, env(safe-area-inset-top)) 18px 14px;background:var(--ink);color:var(--paper);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.top-bar.top-bar-with-earnings{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:8px;display:grid}.top-bar.top-bar-with-earnings .top-bar-greeting{grid-column:1}.top-bar.top-bar-with-earnings .top-bar-earnings-wrap{grid-column:2;justify-self:center}.top-bar .link-btn{color:#c9c6bf}.rating-badge{color:var(--muted);margin-left:8px;font-size:13px;font-weight:500}.top-bar .rating-badge{color:#c9c6bf}.rating-badge-button{cursor:pointer;background:0 0;border:none;padding:0}.testing-mode-badge{background:var(--danger);color:#fff;letter-spacing:.02em;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:700}.hamburger-menu-wrap{flex-shrink:0;position:relative}.hamburger-btn{color:var(--paper);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;display:flex}.dropdown-backdrop{z-index:100;position:fixed;inset:0}.hamburger-dropdown{z-index:101;background:var(--paper);border-radius:10px;flex-direction:column;min-width:180px;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 4px 16px #00000040}.hamburger-dropdown-item{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;padding:14px 16px;font-family:inherit;font-size:15px}.hamburger-dropdown-item:not(:last-child){border-bottom:1px solid var(--line)}.hamburger-dropdown-item:hover{background:var(--signal-tint)}.map-container{background:#dadada;flex:1;min-height:0;position:relative}.map-view-root{touch-action:none;position:relative}.map-loading{height:100%;color:var(--muted);justify-content:center;align-items:center;display:flex}.map-fare-badge{z-index:5;background:var(--signal);color:#fff;border:1.5px solid #fff;border-radius:10px;flex-direction:column;gap:2px;padding:8px 12px;font-size:14px;line-height:1.4;display:flex;position:absolute;top:12px;left:12px;box-shadow:0 2px 8px #0003}.map-fare-badge-label,.map-fare-badge-value{font-weight:500}.map-fare-badge-label-gold,.map-fare-badge-value-gold{color:#ffc94d}.top-bar-greeting{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.top-bar-earnings-wrap{flex-shrink:0;position:relative}.top-bar-earnings-chip{background:var(--muted);color:#fff;cursor:pointer;white-space:nowrap;border:1.5px solid #fff;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;display:flex}.top-bar-earnings-amount{white-space:nowrap;align-items:center;font-size:13px;font-weight:600;display:flex}.top-bar-earnings-eye{color:#ffffffa6;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:flex}.top-bar-earnings-eye:hover,.top-bar-earnings-eye:focus-visible{color:#fff}.top-bar-earnings-dropdown{z-index:101;background:var(--paper);width:min(84vw,260px);max-width:calc(100vw - 24px);color:var(--signal);border:1.5px solid var(--signal);border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;display:flex;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000040}.top-bar-earnings-row{justify-content:space-between;align-items:baseline;gap:10px;font-size:14px;display:flex}.top-bar-earnings-row-bullet{gap:14px}.top-bar-earnings-row-qp{align-items:center}.top-bar-earnings-label{color:var(--signal);font-weight:500}.top-bar-earnings-value{color:var(--signal);white-space:nowrap;font-weight:700}.top-bar-earnings-label-stacked{flex-direction:column;align-items:center;gap:2px;display:flex}.top-bar-earnings-label-qp{align-items:flex-start;gap:4px;display:flex}.top-bar-earnings-qp-bullet{flex-shrink:0}.top-bar-earnings-label-strong{font-weight:700}.top-bar-earnings-qp-rate{font-size:12px}.top-bar-earnings-note{color:var(--muted);font-size:12px}.top-bar-earnings-section-title{border-top:2px solid var(--signal);color:var(--signal);text-align:center;text-transform:uppercase;letter-spacing:.02em;margin-top:4px;margin-bottom:2px;padding-top:10px;font-size:15px;font-weight:700}.map-fare-badge-rate{color:#ffc94d;font-weight:700}.map-fare-badge-suspended,.map-fare-badge-error{color:#ff9d9d;font-weight:600}.rating-warning-banner{background:var(--danger);color:#fff;flex-shrink:0;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;line-height:1.4;display:flex}.rating-warning-banner-dismiss{color:#fff;opacity:.85;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:20px;line-height:1}.rating-warning-banner-dismiss:hover,.rating-warning-banner-dismiss:focus-visible{opacity:1}.quality-status-change-notification{background:var(--signal);color:#fff;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;line-height:1.4;display:flex}.quality-status-change-notification-text p{margin:0 0 4px}.quality-status-change-notification-text p:last-child{margin-bottom:0}.quality-status-change-notification-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.quality-status-change-notification-actions .link-btn{color:#fff;padding:4px 6px}.quality-status-change-notification-dismiss{color:#fff;opacity:.85;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:20px;line-height:1}.quality-status-change-notification-dismiss:hover,.quality-status-change-notification-dismiss:focus-visible{opacity:1}.nav-banner{z-index:5;background:var(--signal);color:#fff;border-radius:12px;position:absolute;top:12px;left:12px;right:12px;overflow:hidden;box-shadow:0 4px 16px #00000040}.nav-banner-current{align-items:center;width:100%;display:flex}.nav-banner-main-btn{min-width:0;color:inherit;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:10px;padding:14px 16px;font-family:inherit;display:flex}.nav-banner-voice-btn{color:inherit;background:0 0;border:none;flex-shrink:0;padding:10px 14px 10px 0;font-size:18px;line-height:1}.nav-banner-instruction{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:15px;font-weight:600;overflow:hidden}.nav-banner-stats{flex-direction:column;align-items:flex-end;gap:1px;display:flex}.nav-banner-distance{color:#a9c2db;white-space:nowrap;font-size:14px;font-weight:600}.nav-banner-eta{color:#7d9cb8;white-space:nowrap;font-size:11px;font-weight:500}.nav-banner-caret{color:#a9c2db;font-size:12px;transition:transform .15s}.nav-banner-caret.open{transform:rotate(180deg)}.nav-banner-list{border-top:1px solid #ffffff26;max-height:240px;margin:0;padding:4px 0 8px;list-style:none;overflow-y:auto}.nav-banner-list li{justify-content:space-between;gap:10px;padding:10px 16px;font-size:14px;display:flex}.nav-banner-list li.current{background:#ffffff14;font-weight:600}.nav-banner-list-instruction{flex:1}.nav-banner-list-distance{color:#a9c2db;white-space:nowrap}.recenter-btn{z-index:5;width:40px;height:40px;color:var(--signal);background:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:132px;right:12px;box-shadow:0 2px 8px #0000004d}.recenter-btn:active{background:var(--paper)}.bottom-panel{background:var(--paper);border-top:1px solid var(--line);padding:18px 18px max(18px, env(safe-area-inset-bottom));border-radius:20px 20px 0 0;flex-direction:column;flex-shrink:0;gap:10px;max-height:100%;display:flex;overflow-y:auto;box-shadow:0 -4px 20px #00000014}.address-input{border:1.5px solid var(--line);background:#fff;border-radius:10px;width:100%;padding:14px;font-size:16px}.address-input:focus{border-color:var(--signal);outline:none}.address-input:disabled{color:var(--muted);background:var(--paper)}.address-suggestion-main{color:var(--ink);font-size:15px}.address-suggestion-secondary{color:var(--muted);font-size:13px}.where-to-btn{background:var(--signal);color:#fff;border:none;border-radius:999px;justify-content:center;align-self:center;align-items:center;gap:10px;margin:0 auto;padding:16px 28px;font-size:16px;font-weight:600;display:flex;box-shadow:0 2px 10px #00000026}.where-to-btn:active{background:var(--signal-dark)}.trip-summary-box{border:1.5px solid var(--line);background:#fff;border-radius:10px;align-items:flex-start;gap:6px;padding:12px 8px 12px 14px;display:flex}.trip-summary-text{text-align:left;background:0 0;border:none;flex:1;min-width:0;padding:0}.trip-summary-text:active{opacity:.7}.trip-summary-icons{flex-shrink:0;align-self:center;align-items:center;gap:2px;display:flex}.trip-summary-icon-btn{width:30px;height:30px;color:var(--muted);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.trip-summary-icon-btn:active{background:var(--signal-tint);color:var(--ink)}.trip-summary-add-stop-btn{height:30px;color:var(--signal);white-space:nowrap;background:0 0;border:none;border-radius:15px;flex-shrink:0;align-items:center;padding:0 10px 0 8px;font-family:inherit;font-size:13px;font-weight:600;display:flex}.trip-summary-add-stop-btn:active{background:var(--signal-tint)}.address-overlay{z-index:150;background:var(--paper);padding:max(14px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));flex-direction:column;display:flex;position:fixed;inset:0}.address-overlay-header{flex-shrink:0;align-items:center;gap:12px;margin-bottom:16px;display:flex}.address-overlay-header h2{margin:0;font-size:18px}.address-overlay-close{color:var(--ink);background:0 0;border:none;padding:6px;display:flex}.address-overlay-add-stop-btn{color:var(--signal);white-space:nowrap;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:6px 2px;font-family:inherit;font-size:14px;font-weight:600}.address-overlay-add-stop-btn:active{color:var(--signal-dark)}.address-overlay-fields{flex-shrink:0;align-items:stretch;gap:10px;display:flex}.address-overlay-connector{flex-direction:column;flex-shrink:0;align-items:center;width:14px;padding:22px 0;display:flex}.address-overlay-dot{background:var(--signal);border-radius:50%;flex-shrink:0;width:9px;height:9px}.address-overlay-stop-dot{border:1.5px solid var(--ink);background:var(--paper);border-radius:50%;flex-shrink:0;width:7px;height:7px}.address-overlay-line{background:var(--line);flex:1;width:1.5px;margin:4px 0}.address-overlay-square{background:var(--ink);flex-shrink:0;width:9px;height:9px}.address-overlay-inputs{flex-direction:column;flex:1;min-width:0;margin-bottom:14px;display:flex}.address-overlay-input-divider{height:8px}.address-overlay-input-row{align-items:center;gap:2px;display:flex}.address-overlay-input-row-dragging{z-index:5;background:var(--paper);border-radius:10px;position:relative;box-shadow:0 4px 14px #0000002e}.address-overlay-input-wrap{flex:1;min-width:0;display:flex;position:relative}.address-overlay-input-wrap .address-overlay-input{padding-right:36px}.address-overlay-drag-handle{width:32px;height:44px;color:var(--muted);touch-action:none;cursor:grab;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.address-overlay-drag-handle:disabled{opacity:.3;cursor:default}.address-overlay-input.active{border-color:var(--signal);background:var(--signal-tint)}.address-overlay-clear-btn{background:var(--line);width:26px;height:26px;color:var(--ink);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;line-height:1;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.address-overlay-clear-btn:active{background:#d8d4cc}.address-overlay-done-wrap{flex-shrink:0;justify-content:center;margin-bottom:14px;display:flex}.address-overlay-done-btn{background:var(--signal);color:#fff;border:none;border-radius:20px;padding:10px 32px;font-family:inherit;font-size:15px;font-weight:600}.address-overlay-done-btn:active{background:var(--signal-dark)}.address-overlay-chips{flex-shrink:0;gap:8px;margin:14px 0;display:flex}.address-overlay-list{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.address-overlay-list-item{text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;width:100%;padding:12px 6px;font-family:inherit;display:flex}.address-overlay-list-item:active{background:var(--signal-tint)}.address-overlay-list-icon{text-align:center;flex-shrink:0;width:22px;font-size:18px}.address-overlay-list-text{flex-direction:column;display:flex}.address-overlay-empty-hint{color:var(--muted);margin:0 0 8px 6px;font-size:14px}.hint-text{color:var(--muted);text-align:center;margin:0;font-size:13px}.decline-btn-group{flex-direction:column;flex:1;gap:4px;display:flex}.decline-btn-group .secondary-btn{width:100%}.decline-subtitle{color:var(--muted);text-align:center;margin:0;font-size:11px}.fare-estimate{text-align:center;text-align:center;margin:4px 0;font-size:18px;font-weight:600}.fare-estimate-row{justify-content:center;align-items:center;gap:4px;display:flex}.fare-estimate-row .fare-estimate{margin:0}.trip-request-summary{margin-bottom:4px}.fare-estimate-amount{margin:0}.fare-estimate-detail{color:var(--muted);margin:2px 0 0;font-size:14px;font-weight:500}.status-banner{text-align:center;background:var(--signal-tint);color:var(--signal-dark);border-radius:10px;margin:0;padding:12px;font-size:15px;font-weight:600}.status-banner-searching{animation:2.4s ease-in-out infinite status-banner-pulse}@keyframes status-banner-pulse{0%,to{opacity:1}50%{opacity:.6}}.ride-request-card{border:1.5px solid var(--line);border-radius:var(--radius);background:#fff;padding:16px}.ride-request-card p{margin:0 0 10px;font-weight:600}.ride-request-card .address-line{color:var(--muted);margin-bottom:4px;font-size:14px;font-weight:500}.ride-request-card .address-line+p:not(.address-line){margin-top:6px}.address-line{color:var(--muted);margin:0;font-size:14px;font-weight:500}.place-lines{margin-bottom:14px}.place-name{color:var(--ink);margin:0 0 2px;font-size:15px;font-weight:700}.place-icon{color:var(--ink);font-weight:700}.ride-request-header-row{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.ride-request-header-row .place-lines{flex:1;min-width:0;margin:0}.ride-request-stops-badge{color:#fff;white-space:nowrap;cursor:pointer;background:#0a2540;border:none;border-radius:12px;flex-shrink:0;align-items:center;margin-top:1px;padding:4px 12px;font-family:inherit;font-size:14px;font-weight:700;display:inline-flex}.ride-request-stops-badge:active{background:#051a30}.trip-request-stops-badge-expanded{z-index:101;position:relative}.ride-request-stops-badge-static{cursor:default}.button-row{align-items:center;gap:10px;display:flex}.button-row .primary-btn,.button-row .secondary-btn{flex:1;margin-top:0}.button-row .cancel-ride-icon-btn{flex-shrink:0;margin:0}.go-offline-btn{justify-content:center;align-items:center;display:flex}.collapsible-panel-toggle{cursor:pointer;touch-action:none;background:0 0;border:none;flex-direction:column;align-items:center;gap:6px;width:100%;padding:6px 0 8px;font-family:inherit;display:flex}.collapsible-panel-handle{background:var(--muted);opacity:.5;border-radius:2px;flex-shrink:0;width:36px;height:4px}.collapsible-panel-toggle-row{text-align:center;justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.collapsible-panel-summary{color:var(--ink);flex-direction:column;align-items:center;gap:2px;font-size:14px;font-weight:600;display:flex}.collapsible-panel-summary .place-lines{margin-bottom:0}.collapsible-panel-body{max-height:260px;overflow-y:auto}.cancel-ride-icon-btn{border:1px solid var(--line);background:#fff;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin:4px auto 0;padding:0;display:flex}.cancel-ride-icon-btn:active{background:var(--paper)}.accept-ride-btn{position:relative;overflow:hidden}.accept-ride-sweep{background:var(--signal-tint);width:0%;animation:15s linear forwards accept-ride-sweep;position:absolute;top:0;bottom:0;left:0}.accept-ride-label{z-index:1;color:#fff;animation:15s linear forwards accept-ride-label-contrast;position:relative}@keyframes accept-ride-sweep{0%{width:0%}to{width:100%}}@keyframes accept-ride-label-contrast{0%,45%{color:#fff}55%,to{color:var(--signal-dark)}}.modal-overlay{z-index:100;background:#14171a99;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--paper);border-radius:var(--radius);width:100%;max-width:380px;max-height:100%;padding:24px;overflow-y:auto}.modal-card h3{margin:0 0 8px;font-size:20px}.modal-subtitle{color:var(--muted);margin:0 0 18px;font-size:14px;line-height:1.5}.payment-details-breakdown{margin-bottom:4px}.payment-details-row{justify-content:space-between;align-items:baseline;gap:10px;padding:6px 0;font-size:15px;display:flex}.payment-details-sublabel{color:var(--muted);font-size:13px}.payment-details-divider{border-top:1px solid var(--line);margin:8px 0}.payment-details-headline{color:var(--signal);margin-bottom:14px;font-size:19px;font-weight:700}.payment-details-explanation{color:var(--muted);margin:0 0 18px;font-size:14px;line-height:1.5}.payment-details-explanation ul{margin:6px 0 0;padding-left:20px}.payment-details-explanation li{margin:2px 0}.help-modal-card{max-width:460px}.help-accordion{margin:4px 0 18px}.help-section{border-bottom:1px solid var(--line)}.help-section:first-child{border-top:1px solid var(--line)}.help-section-toggle{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;padding:14px 2px;font-size:15px;font-weight:600;display:flex}.help-section-caret{color:var(--muted);font-size:18px;line-height:1}.help-section-body{padding:0 2px 14px}.help-section-body .payment-details-explanation:last-child{margin-bottom:0}.help-subheading{color:var(--ink);margin:14px 0 4px;font-size:14px;font-weight:700}.help-subheading:first-child{margin-top:0}.help-definition-list{margin:0 0 14px}.help-definition-item{margin:0 0 10px}.help-definition-item dt{color:var(--ink);margin:0 0 2px;font-size:14px;font-weight:600}.help-definition-item dd{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.quality-progress-section{border:1px solid var(--line);border-radius:10px;margin-bottom:14px;padding:14px}.quality-progress-section h4{margin:0 0 8px;font-size:15px}.quality-progress-section-emphasized{border-color:var(--signal);background:var(--signal-tint)}.quality-progress-bar-track{background:var(--line);border-radius:5px;height:8px;margin:6px 0 10px;overflow:hidden}.quality-progress-bar-fill{background:var(--muted);border-radius:5px;height:100%}.quality-progress-bar-track-emphasized{background:#d7dee8}.quality-progress-bar-fill-emphasized{background:var(--signal)}.quality-progress-credit-table{border-collapse:collapse;width:100%;color:var(--muted);font-size:13px}.quality-progress-credit-table td{padding:3px 0}.quality-progress-credit-table td:last-child{text-align:right;font-weight:600}.top-bar-icon-group{flex-shrink:0;align-items:center;gap:4px;display:flex}.top-bar.top-bar-with-earnings .top-bar-icon-group{grid-column:3;justify-self:end}.inbox-icon-wrap{flex-shrink:0;position:relative}.inbox-icon-btn{color:var(--paper);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;display:flex;position:relative}.inbox-unread-badge{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:-2px;right:-2px}.quality-history-list{flex-direction:column;margin:4px 0 12px;display:flex}.quality-history-entry{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:none;align-items:flex-start;gap:8px;padding:12px 0;font-family:inherit;font-size:14px;display:flex}.quality-history-entry:not(:last-child){border-bottom:1px solid var(--line)}.quality-history-entry-unread{font-weight:700}.quality-history-unread-dot{background:var(--signal);border-radius:999px;flex-shrink:0;width:8px;height:8px;margin-top:5px}.quality-history-entry-status{color:var(--muted);margin:-8px 0 8px;font-size:12px}.quality-history-entry-error{color:var(--danger);margin:-8px 0 8px;font-size:12px}.card-element-wrapper{border:1.5px solid var(--line);background:#fff;border-radius:10px;margin-bottom:14px;padding:14px}.section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:16px 0 8px;font-size:13px;font-weight:600}.tip-options{border-radius:10px;gap:8px;display:flex}.tip-options.error{outline:2px solid var(--danger);outline-offset:6px;margin-bottom:12px}.tip-btn{border:1.5px solid var(--line);color:var(--muted);background:#fff;border-radius:10px;flex:1;padding:10px 6px;font-size:14px;font-weight:600}.tip-btn.active{border-color:var(--signal);color:var(--ink);background:var(--signal-tint)}.tip-custom-input{border:1.5px solid var(--line);background:#fff;border-radius:10px;width:100%;margin-top:8px;padding:12px;font-size:16px}.tip-preview{text-align:center;margin:8px 0 0;font-weight:600}.star-row{gap:2px;display:flex}.star-row.large{border-radius:10px;justify-content:center;gap:6px;margin:12px 0 20px}.star-row.large.error{outline:2px solid var(--danger);outline-offset:6px}.star-btn{color:var(--line);background:0 0;border:none;padding:2px;font-size:20px;line-height:1}.star-row.large .star-btn{font-size:34px}.star-btn.filled{color:var(--signal)}.reason-chips{flex-wrap:wrap;gap:8px;display:flex}.reason-chips.error{outline:2px solid var(--danger);outline-offset:6px;margin-bottom:12px}.chip-btn{border:1.5px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600}.chip-btn.active{border-color:var(--signal);color:var(--ink);background:var(--signal-tint)}.loading-screen{background:var(--ink);height:100dvh;color:var(--paper);justify-content:center;align-items:center;font-family:Space Grotesk,sans-serif;display:flex}@media (prefers-reduced-motion:reduce){*{transition:none!important}}@media (height<=500px){.auth-card{padding:16px 24px}.auth-card h1{margin-bottom:2px;font-size:22px}.subtitle,.tab-row,.role-toggle{margin-bottom:12px}.auth-card form{gap:8px}}.admin-screen{background:var(--paper);height:100dvh;color:var(--ink);font-family:Space Grotesk,sans-serif;display:flex}.admin-sidebar{background:var(--signal);color:#fff;flex-direction:column;flex-shrink:0;width:220px;padding:20px 0;display:flex}.admin-sidebar-header{border-bottom:1px solid #ffffff1f;margin-bottom:12px;padding:0 20px 20px}.admin-sidebar-title{font-size:18px;font-weight:700}.admin-sidebar-user{opacity:.7;margin-top:4px;font-size:13px}.admin-nav{flex-direction:column;flex:1;gap:2px;display:flex}.admin-nav-item{text-align:left;color:#ffffffbf;font:inherit;cursor:pointer;background:0 0;border:none;padding:12px 20px;font-size:14px}.admin-nav-item:hover{color:#fff;background:#ffffff0f}.admin-nav-item.active{color:#fff;background:#ffffff1a;border-left:3px solid #fff;padding-left:17px;font-weight:600}.admin-sidebar-signout{border-radius:var(--radius);color:#fff;font:inherit;cursor:pointer;background:#ffffff14;border:none;margin:12px 20px 0;padding:10px;font-size:14px}.admin-sidebar-signout:hover{background:#ffffff26}.admin-content{flex:1;padding:32px 40px;overflow-y:auto}.admin-content h2{margin:0 0 8px;font-size:22px}.admin-placeholder{color:var(--muted)}.admin-panel{margin-top:16px}.admin-panel-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.admin-panel-subtitle{color:var(--muted);margin:0;font-size:14px}.admin-panel-note{color:var(--muted);margin:-6px 0 16px;font-size:13px}.admin-refresh-btn{background:var(--signal);color:#fff;border-radius:var(--radius);font:inherit;cursor:pointer;border:none;padding:8px 16px;font-size:14px}.admin-refresh-btn:hover:not(:disabled){background:var(--signal-dark)}.admin-refresh-btn:disabled{opacity:.6;cursor:default}.admin-table{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.admin-table-row{text-align:left;grid-template-columns:2fr 1fr 1fr 1fr;align-items:center;gap:12px;padding:12px 16px;display:grid}.admin-table-6col .admin-table-row{grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr}.admin-table-head{background:var(--signal-tint);color:var(--muted);font-size:13px;font-weight:600}.admin-table-row-clickable{border:none;border-top:1px solid var(--line);width:100%;font:inherit;color:var(--ink);cursor:pointer;background:0 0;font-size:14px}.admin-table-row-clickable:hover{background:var(--signal-tint)}.status-pill{border-radius:999px;width:fit-content;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.status-pill.online{color:var(--success);background:#1d8a4c1f}.status-pill.offline{color:var(--muted);background:#6b6f731f}.status-pill.idle{color:var(--success);background:#1d8a4c1f}.status-pill.en-route{color:#8a6300;background:#b8860b24}.status-pill.in-trip{color:var(--danger);background:#c93a3a1f}.admin-table-actions{flex-direction:column;align-items:flex-start;display:flex}.admin-row-action-btn{border:1.5px solid var(--line);color:var(--signal);cursor:pointer;background:0 0;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600}.admin-row-action-btn:hover{background:var(--signal-tint)}.admin-row-action-btn.disabled-look{color:var(--muted);border-color:var(--line);cursor:not-allowed}.admin-row-action-btn.disabled-look:hover{background:0 0}.admin-row-blocked-note{color:var(--danger);max-width:160px;margin:4px 0 0;font-size:12px}.ims-list{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.ims-list-item{text-align:left;border:1.5px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:10px;padding:12px 14px;font-size:14px}.ims-list-item:hover{border-color:var(--signal);background:var(--signal-tint)}.ims-preview{color:var(--ink);margin:0 0 14px;font-size:15px;font-style:italic;line-height:1.5}.ims-sent-note{color:var(--success);margin:0 0 14px;font-weight:600}.ims-back-btn{width:100%;margin-top:8px}.ims-cancel-btn{margin:12px auto 0;display:block}.admin-feedback-detail{border-top:1px solid var(--line);background:var(--paper);flex-direction:column;gap:12px;padding:12px 16px 16px;display:flex}.admin-feedback-item{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding-bottom:12px;display:flex}.admin-feedback-item:last-child{border-bottom:none;padding-bottom:0}.admin-feedback-meta{color:var(--muted);gap:12px;font-size:13px;display:flex}.admin-feedback-note{color:var(--ink);margin:0;font-size:14px;font-style:italic}.admin-table-controls{gap:12px;margin-bottom:12px;display:flex}.admin-search-input,.admin-status-select{border:1px solid var(--line);border-radius:var(--radius);font:inherit;color:var(--ink);background:var(--paper);padding:8px 12px;font-size:14px}.admin-search-input{flex:1}.admin-status-select{flex:none}.admin-sort-header{font:inherit;font-size:inherit;font-weight:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:flex}.admin-sort-arrow{font-size:10px}.tip-celebration-banner{text-align:center;background:linear-gradient(120deg,#ff6b6b,#ffd166,#06d6a0,#118ab2) 0 0/300% 300%;flex-shrink:0;justify-content:center;align-items:center;height:25vh;min-height:130px;max-height:220px;padding:16px 28px;animation:3s infinite tip-celebration-gradient;display:flex;position:relative;overflow:hidden}@keyframes tip-celebration-gradient{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.tip-celebration-text{z-index:1;color:#fff;text-shadow:0 2px 6px #00000040;margin:0;font-family:Space Grotesk,sans-serif;font-size:22px;font-weight:700;line-height:1.3;position:relative}.tip-celebration-confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.tip-celebration-confetti-piece{border-radius:2px;animation-name:tip-celebration-fall;animation-timing-function:ease-in;animation-fill-mode:forwards;position:absolute;top:-10%}@keyframes tip-celebration-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{transform:translateY(260px) rotate(var(--rotate-end,360deg));opacity:0}}@media (prefers-reduced-motion:reduce){.tip-celebration-banner{background-position:0%;animation:none}.tip-celebration-confetti-piece{display:none}}.instant-message-banner{z-index:10;background:#fff;border-radius:18px;width:min(92vw,420px);max-width:calc(100vw - 32px);padding:18px 24px;position:fixed;top:96px;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #0003}.instant-message-banner.below-nav{top:calc(env(safe-area-inset-top,0px) + 156px)}.instant-message-banner.below-earnings-badge{top:calc(env(safe-area-inset-top,0px) + 160px)}.instant-message-banner-text{color:var(--signal);text-align:center;margin:0;font-family:Space Grotesk,sans-serif;font-size:17px;font-weight:600;line-height:1.4}.beta-chip{letter-spacing:.02em;white-space:nowrap;opacity:.85;border:1px solid;border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:600;display:inline-block}.top-bar>.beta-chip{margin:0 8px}.payment-testing-only,.beta-note{opacity:.8;margin:4px 0;font-size:.8rem}.ride-request-badges{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.ride-request-badges:empty{display:none}.passenger-badge{gap:6px}.passenger-selector{margin:10px 0 12px}.passenger-selector-label{color:var(--ink);margin:0 0 8px;font-size:14px;font-weight:600}.passenger-chip{min-width:52px;padding:10px 16px;font-size:16px}.passenger-chip:disabled{opacity:.55}.passenger-selector-note{color:var(--muted);margin:8px 0 0;font-size:12px}.passenger-detail-row{margin:6px 0}.waiting-timer-bar{flex-shrink:0;padding:0 12px}.waiting-timer-bar-main{width:100%;font:inherit;cursor:pointer;border:none;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;gap:10px;padding:9px 14px;font-size:14px;font-weight:700;display:flex}.waiting-timer-bar-grace .waiting-timer-bar-main{color:#202124;background:#e8eaed}.waiting-timer-bar-paid .waiting-timer-bar-main{color:#fff;background:#1e8e5a}.waiting-timer-bar-clock{font-variant-numeric:tabular-nums}.waiting-timer-bar-info{color:#3c4043;background:#f4f5f6;margin:0;padding:8px 14px;font-size:13px}.passenger-badge-button{cursor:pointer;border:none;font-family:inherit}.trip-summary{margin-bottom:8px}.trip-summary-heading{letter-spacing:.02em;color:var(--ink);margin:10px 0 2px;font-size:14px;font-weight:700}.trip-summary-heading-normal{letter-spacing:0;font-size:15px}.trip-summary-sub{padding-left:14px;font-size:14px}.trip-summary-bold{font-weight:700}.trip-summary-bold+.payment-details-divider+.trip-summary-bold{font-size:15px}.waiting-pill-wrap{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;display:flex}.waiting-pill{font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;border:none;border-radius:999px;padding:7px 16px;font-size:14px;font-weight:700}.waiting-pill-grace{background:var(--signal);color:#fff}.waiting-pill-paid{color:#fff;background:#1e8e5a;align-items:center;gap:10px;display:inline-flex}.waiting-pill-divider{background:#ffffffd9;align-self:stretch;width:1px;margin:2px 0}.waiting-pill-chip{color:#1e8e5a;background:#fff;border-radius:999px;padding:2px 10px;font-weight:800}.waiting-pill-note{cursor:default}.waiting-pill-info{text-align:center;color:#3c4043;background:#f4f5f6;border-radius:10px;max-width:320px;margin:0;padding:8px 12px;font-size:13px}.share-disclosure{border-top:1px solid #d9dce0;margin-top:10px}.share-disclosure-toggle{width:100%;font:inherit;letter-spacing:.02em;color:var(--signal);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:10px 0 6px;font-size:12px;font-weight:600;display:flex}.share-disclosure-body{color:#6b6f76;overflow-wrap:anywhere;text-align:justify;-webkit-hyphens:auto;hyphens:auto;margin:0 0 8px;font-size:11.5px;line-height:1.5}.demo-controls{z-index:40;background:#0a2540eb;border-radius:12px;flex-direction:column;align-items:stretch;gap:6px;padding:8px;display:flex;position:fixed;top:172px;right:8px;box-shadow:0 2px 10px #0000004d}.demo-controls-title{letter-spacing:.12em;color:#9fb4c9;text-align:center;font-size:10px;font-weight:700}.demo-controls-btn{min-width:120px;min-height:44px;color:var(--signal);font:inherit;cursor:pointer;background:#fff;border:none;border-radius:10px;padding:0 12px;font-size:14px;font-weight:700}.demo-controls-btn:disabled{opacity:.6}.demo-controls-msg{color:#cfe0f1;text-align:center;max-width:140px;font-size:11px}.demo-start-list{flex-direction:column;gap:8px;margin-top:8px;display:flex}.demo-start-btn{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;min-height:52px;display:flex}.demo-start-sub{opacity:.85;font-size:12px;font-weight:400}.approval-list{flex-direction:column;gap:6px;margin:0 0 16px;display:flex}.approval-row{border:1px solid #d9dce0;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.approval-row-name{flex:140px;font-weight:600}.approval-pill{color:#3c4043;background:#e8eaed;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.approval-pill-ok{color:#14633d;background:#d9f2e4}.approval-pill-no{color:#8a4b00;background:#fde7c8}.approval-banner{color:#5c3200;background:#fde7c8;border-radius:10px;margin:8px 12px;padding:10px 12px;font-size:14px}.add-user-form{flex-direction:column;gap:12px;max-width:420px;display:flex}.add-user-form label{flex-direction:column;gap:4px;font-size:14px;font-weight:600;display:flex}.add-user-form input[type=email],.add-user-form input[type=text],.add-user-form select{font:inherit;border:1px solid #c9cdd2;border-radius:8px;padding:10px}.add-user-check{align-items:center;flex-direction:row!important;gap:8px!important}.temp-password{letter-spacing:.04em;-webkit-user-select:all;user-select:all;background:#fff;border-radius:6px;padding:2px 8px;font-size:16px;font-weight:700}.safe-pickup-card{z-index:45;color:#06142b;background:#fff;border:1px solid #d9dce0;border-radius:14px;max-width:420px;margin:0 auto;padding:14px 16px;position:fixed;top:72px;left:12px;right:12px;box-shadow:0 6px 24px #00000047}.safe-pickup-text{margin:0 0 10px;font-size:15px;font-weight:600;line-height:1.4}.safe-pickup-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.safe-pickup-mute{cursor:pointer;background:#f4f5f6;border:1px solid #c9cdd2;border-radius:10px;min-width:44px;min-height:44px;font-size:20px}.safe-pickup-ok{background:var(--signal);color:#fff;min-width:88px;min-height:44px;font:inherit;cursor:pointer;border:none;border-radius:10px;font-size:16px;font-weight:700}.outside-area-overlay{z-index:300}.outside-area-card{text-align:center}.account-actions{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.account-delete-btn{color:#9b1c1c;border-color:#e5b4b4}.account-delete-confirm{flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.temp-password-actions{gap:8px;margin-top:6px;display:flex}.deactivated-section{border-top:1px solid #d9dce0;margin-top:10px;padding-top:8px}.deactivated-section summary{cursor:pointer;color:#5f6368;margin-bottom:6px;font-size:14px;font-weight:600}.trip-data-range{flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0;display:flex}.trip-data-range label{align-items:center;gap:6px;font-size:14px;display:inline-flex}.trip-data-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:12px;display:grid}.trip-data-stat{background:#fff;border:1px solid #ddd;border-radius:8px;padding:12px}.trip-data-stat-value{font-size:22px;font-weight:700}.trip-data-stat-label{color:#666;margin-top:2px;font-size:12px}
