.vehicle-label {font-size:14px;color:#526570;margin-top:6px}
#riderPortal{padding:16px;min-height:100dvh}.rider-portal-card{box-sizing:border-box;max-width:520px;width:100%;margin:20px auto}.rider-order button{min-height:52px;width:100%;font-size:17px}.rider-order span{font-size:20px;line-height:1.4;overflow-wrap:anywhere}.rider-portal-card button{touch-action:manipulation}#riderConnection{font-size:13px;color:#62747d}
.order-cash{display:block;margin:6px 0;color:#344f60!important;font-weight:600}.order-cash button{border:1px solid #cbd7df;background:#f4f8fa;color:#173241;border-radius:6px;padding:5px 8px;cursor:pointer}
body:not(.shop-authenticated) .app-shell{display:none!important}
#roleGate[hidden],.role-form[hidden]{display:none!important}
#roleGate{overflow:auto}#portalError{color:#ad263a;font-size:14px}
.role-back-link{display:inline-block;margin-bottom:24px;color:#657881;font-size:13px;font-weight:700;text-decoration:none}.role-back-link:hover{color:#405a00}.role-intro{color:#687a83;margin:8px 0 0;line-height:1.5}
.invite-box{padding:14px;border-top:1px solid #dce5e9;display:flex;gap:8px;flex-wrap:wrap}.invite-box small,.invite-box strong{display:block;width:100%}.invite-box strong{font-family:monospace;letter-spacing:1px}.invite-box button,#portalAccountActions button{border:1px solid #dce5e9;border-radius:7px;background:#f5f8fa;padding:7px;cursor:pointer}
.rider-summary{margin:24px 0;padding:20px;border:1px solid #dce5e9;border-radius:12px;background:#f8fafb}.rider-summary h2{font-size:20px;color:#173241;margin:0 0 12px}.rider-summary>p:first-of-type{font-size:22px;font-weight:800;color:#49601d}.rider-summary ul{list-style:none;padding:0;margin:16px 0}.rider-summary li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #dce5e9}.rider-summary li span{display:block;font-size:13px;color:#62747d;margin-top:4px;overflow-wrap:anywhere}.rider-summary time{font-size:13px;white-space:nowrap;color:#49601d}.rider-summary-empty,.rider-summary>small{font-size:12px;line-height:1.5;color:#62747d}
.rider-portal-mode .app-shell{display:none!important}
#roleGate{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:24px;background:#eef3f5}
.role-card,.rider-portal-card{width:min(480px,100%);background:#fff;border:1px solid #dce5e9;border-radius:18px;padding:30px;box-shadow:0 18px 60px #16344818}.role-brand{font-weight:900;letter-spacing:.08em;color:#071a29}.role-brand span{color:#a7ca06}.role-kicker{margin:38px 0 8px;color:#89a30d;font-size:11px;font-weight:800;letter-spacing:.16em}.role-card h1,.rider-portal-card h1{margin:0;color:#071a29;font-size:30px}.role-lead{color:#687a83;line-height:1.5}.role-actions{display:grid;gap:10px;margin:24px 0}.role-actions button{display:grid;grid-template-columns:42px 1fr;text-align:left;column-gap:12px;padding:15px;border:1px solid #dce5e9;border-radius:12px;background:#fbfcfc;cursor:pointer}.role-actions button:hover{border-color:#a7ca06;background:#f8ffe9}.role-actions span{grid-row:span 2;display:grid;place-items:center;font-size:25px;color:#799313}.role-actions strong{color:#183241}.role-actions small,.role-form small{color:#778991}.role-form{display:grid;gap:11px}.role-form label{display:grid;gap:6px;color:#4d626d;font-size:12px;font-weight:700}.role-form input,.role-form select{height:43px;border:1px solid #dce5e9;border-radius:8px;padding:0 11px;font-size:14px}.role-submit{min-height:46px;border:0;border-radius:8px;background:#ccf42c;color:#163000;font-weight:800;cursor:pointer}.role-note{font-size:12px;color:#8a989f}.rider-portal-card{margin:8vh auto}.rider-status-card{display:flex;gap:11px;padding:14px;background:#f8ffe4;border:1px solid #d9eca5;border-radius:10px}.rider-status-card small{display:block;color:#7a8c58;margin-top:3px}.rider-live-dot{width:11px;height:11px;border-radius:50%;background:#b9c3c8;margin-top:4px}.rider-empty{margin:22px 0;padding:28px;text-align:center;background:#f7fafb;border-radius:10px;color:#71828a}.rider-logout{border:1px solid #dce5e9;background:white;padding:10px 14px;border-radius:8px;color:#62747d;cursor:pointer}
.shop-login-intro{margin:0 0 5px;color:#647982;font-size:14px;line-height:1.45}
.shop-registration-guide{padding:16px 17px;border:1px solid #d8e8ad;border-radius:14px;background:#f9fde9;color:#203332}
.shop-registration-guide strong{display:block;font-size:14px}
.shop-registration-guide ol{margin:11px 0;padding-left:19px;display:grid;gap:6px;color:#43565a;font-size:12px;line-height:1.45}
.shop-registration-guide small{display:block;line-height:1.45}
.shop-login-options{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;margin:2px 0 7px}
.role-form .remember-email{display:flex;align-items:center;gap:8px;color:#405761;font-size:12px;cursor:pointer}
.role-form .remember-email input{width:17px;height:17px;margin:0;accent-color:#8cab00}
.role-form .recovery-link{width:auto;padding:8px 10px;border:1px solid #d7e5e5;border-radius:9px;background:#f4f9f8;color:#326474;font-size:12px;font-weight:800;cursor:pointer}
.role-form .recovery-link:hover{color:#1d4650;border-color:#94bdba;background:#eaf5f1}
.role-form .shop-switch-mode{display:block;padding:9px 0;text-align:center;color:#2e5d65;font-size:13px;font-weight:800;text-decoration:none}
.role-form .shop-switch-mode:hover{text-decoration:underline}
#portalLogin .role-submit{display:flex;align-items:center;justify-content:center;gap:12px;min-height:50px;border-radius:11px;font-size:15px}
#portalLogin .role-submit:hover{filter:brightness(.97)}
.table-cell small.return-time{color:#344f60;font-weight:600;margin-top:5px;line-height:1.4}
.identity-pin{position:relative}
.identity-pin .identity-label{display:none;position:absolute;bottom:40px;left:0;white-space:nowrap;pointer-events:none;z-index:1000}
.leaflet-marker-icon:hover,.leaflet-marker-icon:focus{z-index:10000!important}
.leaflet-marker-icon:hover .identity-label,.leaflet-marker-icon:focus .identity-label,.leaflet-marker-icon:focus-within .identity-label{display:block}
.map-eta{position:absolute;top:36px;left:15px;transform:translateX(-50%);white-space:nowrap;background:#ffffffed;color:#183044;border:1px solid #dbe3ea;border-radius:6px;padding:3px 6px;font-size:11px;font-weight:650;box-shadow:0 1px 4px #0002;pointer-events:none}
.pizza-shop-symbol{display:grid;place-items:center;width:38px;height:38px;font-size:30px;filter:drop-shadow(0 2px 2px #0005)}
.business-modal{max-width:540px}
.business-icons{border:0;margin:20px 0 0;padding:0}
.business-icon-grid{display:flex;flex-wrap:wrap;gap:9px;margin-top:9px}
.business-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--border,#d7e0e5);border-radius:12px;background:#fff;font-size:25px;cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}
.business-icon:hover{transform:translateY(-2px);border-color:#f15a24}
.business-icon.is-selected{border:2px solid #f15a24;background:#fff4ee;box-shadow:0 0 0 3px #f15a2420}
.password-input{display:grid;grid-template-columns:1fr auto;gap:8px}.password-input input{width:100%;min-width:0}.password-input button{border:1px solid #dce5e9;border-radius:8px;background:#f7fafb;padding:0 13px;color:#405762;font-weight:700;cursor:pointer}.password-input button:hover{border-color:#a7ca06;background:#f8ffe9}
.address-suggestions{border:1px solid #dbe3ea;border-radius:12px;background:white;box-shadow:0 8px 22px #18344b12;margin-top:6px;max-height:235px;overflow:auto}
.address-suggestions[hidden]{display:none}.suggestion-heading{padding:10px 14px;font-size:10px;font-weight:700;letter-spacing:.12em;color:#657785;background:#f5f8fa}
.address-suggestions button{display:block;width:100%;text-align:left;border:0;border-top:1px solid #edf1f4;background:white;padding:11px 14px;cursor:pointer}.address-suggestions button:hover,.address-suggestions button:focus{background:#eef5ff}.address-suggestions small{display:block;color:#687887;margin-top:3px}.address-message{font-size:13px;color:#4b6172;line-height:1.5}
.identity-pin{display:flex;align-items:center;gap:7px;width:max-content}.identity-symbol{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--rider-color);border:3px solid white;color:white;font-size:12px;font-weight:800;box-shadow:0 1px 5px #0005;flex-shrink:0}.identity-label{background:white;border-left:3px solid var(--rider-color);padding:5px 8px;border-radius:5px;box-shadow:0 1px 5px #0002;color:#183044}.identity-label strong{font-size:12px}.identity-label small{display:block;font-size:10px}.delivery-identity .identity-symbol{border-radius:6px;background:white;color:var(--rider-color);border-color:var(--rider-color);font-size:21px}.delivery-identity .identity-label{border-left-style:dashed}
.rider-card__person {flex-wrap:wrap}
.estimate-box {background:#f3f8e8;border:1px solid #cad8a8;border-radius:10px;padding:16px;margin-top:18px}
.estimate-box p {font-size:16px;line-height:1.5}
.estimate-box small {font-size:13px;color:#53604b;display:block;line-height:1.5}
.map-instruction {padding:0 20px;font-size:14px;color:#51616c}
.map-pin__label small {display:block;font-size:12px;margin-top:3px;font-weight:500}
.map-pin__label {font-size:14px}
.progress-order {display:block;margin:8px 0;padding:8px;border:1px solid #acbe6c;border-radius:6px;background:#f4ffdb;color:#253512;font-size:14px}
.analysis-panel {overflow:auto;padding:18px}
.analysis-table {width:100%;border-collapse:collapse;font-size:16px;text-align:left}
.analysis-table th,.analysis-table td {padding:16px;border-bottom:1px solid #dce5e9}
.analysis-table tfoot {background:#eff8dd}
.card-action {font-size:14px}
@media(max-width:620px){.sidebar{display:flex;position:static;width:100%;padding:10px}.sidebar>.brand-lockup,.sidebar-bottom,.session-card{display:none}.main-nav{display:flex;flex-wrap:wrap;margin:0}.main-nav .nav-item span:not(.nav-icon){display:inline}.nav-item{width:auto;padding:8px}.app-shell{display:block}.main-content{width:100%}.table-row>.table-cell:nth-child(2){display:block}.table-row{grid-template-columns:1fr 1fr}.analysis-table{min-width:560px}}
.rider-order{display:grid;gap:8px;margin:18px 0;padding:18px;border:1px solid #dce5e9;border-radius:12px;background:#fbfcfc}.rider-order span{color:#334f60}.rider-order small{color:#75868d}.rider-order button{border:0;border-radius:7px;padding:10px;background:#ccf42c;color:#163000;font-weight:800;margin-right:7px;cursor:pointer}
