:root{color-scheme:light;--bg: #f4f5f7;--card: #ffffff;--text: #1c2330;--muted: #6b7280;--accent: #2563eb;--accent-hover: #1d4ed8;--danger: #dc2626;--border: #e2e5ea}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.45}#root{max-width:560px;margin:0 auto;padding:16px}h1{font-size:22px;margin:8px 0 4px}h2{font-size:17px;margin:24px 0 10px}.subtitle{color:var(--muted);margin:0 0 20px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:12px}label{display:block;font-size:13px;color:var(--muted);margin:12px 0 4px}input,select{width:100%;padding:10px 12px;font-size:15px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text)}input:focus,select:focus{outline:2px solid rgba(37,99,235,.35);border-color:var(--accent)}.coords{display:flex;gap:8px}.coords>div{flex:1}button{display:inline-block;width:100%;margin-top:16px;padding:12px;font-size:15px;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:8px;cursor:pointer}button:hover:not(:disabled){background:var(--accent-hover)}button:disabled{opacity:.55;cursor:default}button.secondary{background:transparent;color:var(--accent);border:1px solid var(--accent)}button.secondary:hover:not(:disabled){background:#2563eb14}button.danger{background:transparent;color:var(--danger);border:1px solid var(--danger);width:auto;margin-top:8px;padding:6px 12px;font-size:13px}button.danger:hover:not(:disabled){background:#dc262614}.error{background:#fef2f2;border:1px solid #fecaca;color:var(--danger);border-radius:8px;padding:10px 12px;margin-top:12px;font-size:14px}.dev-hint{margin-top:8px;font-size:13px;color:var(--muted)}.dev-hint code{background:#eef2ff;color:var(--accent);padding:2px 6px;border-radius:4px}.header-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.logout{width:auto;margin:0;padding:6px 12px;font-size:13px;background:transparent;color:var(--muted);border:1px solid var(--border)}.ride-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.ride-addr{font-weight:600}.ride-meta{color:var(--muted);font-size:13px;margin-top:4px}.ride-price{font-weight:700;white-space:nowrap}.chip{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;background:#eef2ff;color:var(--accent)}.chip.done{background:#ecfdf5;color:#059669}.chip.cancelled{background:#f3f4f6;color:var(--muted)}.empty{color:var(--muted);text-align:center;padding:24px 0}.mode-switch{display:flex;gap:8px;margin-top:4px}.mode-switch button{margin-top:0;background:#eef2ff;color:var(--accent);font-weight:600}.mode-switch button.active{background:var(--accent);color:#fff}.mode-switch button:hover:not(:disabled):not(.active){background:#e0e7ff}.hint{margin-top:6px;font-size:13px;color:var(--muted)}.chip.scheduled{background:#fff7ed;color:#c2410c}.confirm-title{font-weight:700;font-size:16px;margin-bottom:8px}.confirm-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--border);font-size:14px}.confirm-row span{color:var(--muted);white-space:nowrap}.confirm-row b{text-align:right}.confirm-note{margin-top:10px;font-size:13px;color:var(--muted)}.confirm-price{font-size:24px;font-weight:700;margin-top:12px}.warning{background:#fffbeb;border:1px solid #fde68a;color:#b45309;border-radius:8px;padding:10px 12px;margin-top:12px;font-size:14px;font-weight:600}.trip-switch{margin-bottom:12px}.group-leg{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.group-actions{display:flex;gap:8px;flex-wrap:wrap}button.small{width:auto;margin-top:8px;padding:6px 12px;font-size:13px}.card:target{border-color:var(--accent);box-shadow:0 0 0 2px #2563eb40}.chip.discount{background:#ecfdf5;color:#059669;white-space:nowrap;align-self:flex-start}.offer-price{display:flex;align-items:baseline;gap:10px;margin-top:10px}.offer-price .confirm-price{margin-top:0}.price-old{color:var(--muted);font-size:14px}.route-match{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.route-match .confirm-title{margin-bottom:0}.driver-box{margin-top:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#f8fafc}.driver-name{font-weight:700;font-size:15px}.driver-vehicle{margin-top:2px;font-size:14px;color:var(--muted)}.driver-plate{margin-top:4px;display:inline-block;padding:2px 10px;border:1px solid var(--border);border-radius:6px;background:#fff;font-weight:700;letter-spacing:1px}.ride-meta.stage{margin-top:8px;font-weight:600}.no-driver-box{margin-top:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff7ed}.map-address-fields{margin-bottom:8px}.map-section{position:relative}.active-point-toggle{display:flex;gap:8px;margin-bottom:8px}.active-point-toggle button{flex:1;margin-top:0;padding:8px;font-size:14px}.active-point-toggle button.active{background:var(--accent-hover)}.geo-search{position:relative;margin-bottom:8px}.geo-search input{margin-top:0}.suggestions{position:absolute;z-index:1000;left:0;right:0;top:100%;max-height:220px;overflow-y:auto;background:#fff;border:1px solid var(--border);border-radius:8px;margin:4px 0 0;padding:0;list-style:none;box-shadow:0 4px 12px #00000014}.suggestions li{padding:10px 12px;font-size:14px;cursor:pointer;border-bottom:1px solid var(--border)}.suggestions li:last-child{border-bottom:none}.suggestions li:hover{background:#f8fafc}.map-container{width:100%;height:40vh;min-height:320px;max-height:420px;border-radius:12px;border:1px solid var(--border);background:#e5e7eb}.map-fallback{width:100%;height:40vh;min-height:320px;max-height:420px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-radius:12px;border:1px solid var(--border);background:#f8fafc;color:var(--muted);padding:16px}.find-btn{width:auto;margin-top:8px;padding:6px 12px;font-size:13px}.locate-btn{margin-top:8px;padding:8px;font-size:14px}.geo-price{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:10px;padding:10px 12px;background:#f8fafc;border-radius:8px;font-size:14px;color:var(--muted)}.geo-price .price{margin-left:auto;font-size:18px;font-weight:700;color:var(--text)}.geo-price .warning{color:#b45309;font-size:12px}.custom-marker{background:transparent;border:none}
