@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans+Condensed:wght@600;700&family=IBM+Plex+Sans:wght@400;500;600&display=swap";
.app{--bg:#0e0e0f;--surface:#191919;--surface-2:#222223;--line:#2c2c2e;--line-soft:#232325;--text:#f2f2f0;--text-dim:#a2a2a0;--text-faint:#6e6e6c;--accent:#e2582a;--accent-dim:#7a2f16;--danger:#d8543f;--sans:"IBM Plex Sans", system-ui, sans-serif;--cond:"IBM Plex Sans Condensed", "IBM Plex Sans", sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--tabbar:calc(58px + env(safe-area-inset-bottom,0px));background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--sans);-webkit-tap-highlight-color:transparent;font-size:15px;line-height:1.5}.app *,.app :before,.app :after{box-sizing:border-box}.topbar{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#0e0e0feb;align-items:center;gap:6px;height:60px;padding:0 24px;display:flex;position:sticky;top:0}.topbar-brand{font-family:var(--cond);color:var(--text);white-space:nowrap;margin-right:22px;font-size:18px;font-weight:700;text-decoration:none}.topbar-brand em{color:var(--accent);font-style:normal}.topbar-links{gap:2px;display:flex}.topbar-link{min-height:44px;color:var(--text-dim);white-space:nowrap;border-radius:8px;align-items:center;padding:0 14px;font-size:14px;text-decoration:none;transition:background .12s,color .12s;display:flex}.topbar-link:hover{background:var(--surface);color:var(--text)}.topbar-link[data-active=true]{background:var(--surface-2);color:var(--text)}.topbar-user{align-items:center;gap:12px;margin-left:auto;display:flex}.topbar-email{font-family:var(--mono);color:var(--text-faint);font-size:11.5px}.mobilebar{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#0e0e0ff0;align-items:center;gap:10px;height:52px;padding:0 16px;display:none;position:sticky;top:0}.mobilebar-brand{font-family:var(--cond);color:var(--text);font-size:17px;font-weight:700;text-decoration:none}.mobilebar-brand em{color:var(--accent);font-style:normal}.mobilebar-action{margin-left:auto}.tabbar{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);background:#121213f5;display:none;position:fixed;bottom:0;left:0;right:0}.tabbar-inner{display:flex}.tab{min-height:58px;color:var(--text-faint);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:7px 2px 6px;font-size:10.5px;text-decoration:none;display:flex}.tab svg{stroke-width:1.7px;width:22px;height:22px}.tab[data-active=true]{color:var(--accent)}.tab:active{background:var(--surface)}.page{max-width:1180px;margin:0 auto;padding:34px 24px 80px}.page-head{flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:28px;display:flex}.page-title{font-family:var(--cond);letter-spacing:-.01em;margin:0;font-size:34px;font-weight:700}.page-actions{gap:10px;margin-left:auto;display:flex}.btn{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--text);font-family:var(--sans);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 18px;font-size:15px;font-weight:500;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--surface-2);border-color:#3a3a3c}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:#cf4d22;border-color:#cf4d22}.btn-ghost{color:var(--text-dim);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface);color:var(--text)}.btn-small{min-height:38px;padding:0 13px;font-size:14px}.fab{right:16px;bottom:calc(var(--tabbar) + 16px);z-index:25;background:var(--accent);color:#fff;border:none;border-radius:28px;justify-content:center;align-items:center;width:56px;height:56px;text-decoration:none;display:none;position:fixed;box-shadow:0 6px 20px #00000073}.fab svg{stroke-width:2px;width:26px;height:26px}.rides{grid-template-columns:repeat(auto-fill,minmax(266px,1fr));gap:20px;display:grid}.ride-card{background:var(--surface);border:1px solid var(--line-soft);color:inherit;border-radius:14px;text-decoration:none;transition:border-color .14s,transform .14s;display:block;overflow:hidden}.ride-card:hover{border-color:var(--accent-dim);transform:translateY(-2px)}.ride-card:active{border-color:var(--accent-dim)}.ride-photo{aspect-ratio:16/10;object-fit:cover;background:var(--surface-2);width:100%;display:block}.ride-photo-empty{aspect-ratio:16/10;background:var(--surface-2);width:100%;color:var(--text-faint);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;justify-content:center;align-items:center;font-size:11px;display:flex}.ride-body{padding:14px 16px 16px}.ride-model{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 5px;font-size:10.5px}.ride-name{font-family:var(--cond);margin:0;font-size:23px;font-weight:700;line-height:1.05}.ride-meta{border-top:1px solid var(--line-soft);font-family:var(--mono);color:var(--text-dim);gap:14px;margin:12px 0 0;padding-top:12px;font-size:11.5px;display:flex}.ride-meta span{white-space:nowrap}.ride-meta .warn{color:var(--danger)}.empty-state{border:1px dashed var(--line);text-align:center;border-radius:14px;padding:56px 28px}.empty-state h2{font-family:var(--cond);margin:0 0 8px;font-size:22px;font-weight:700}.empty-state p{color:var(--text-dim);max-width:44ch;margin:0 auto 20px}.field{margin-bottom:18px}.field label{font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--text-faint);margin-bottom:7px;font-size:10px;display:block}.field input,.field select,.field textarea{background:var(--bg);border:1px solid var(--line);width:100%;min-height:48px;color:var(--text);font-family:var(--sans);border-radius:10px;padding:12px 14px;font-size:16px}.field textarea{resize:vertical;min-height:96px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none}.field-hint{color:var(--text-faint);margin:6px 0 0;font-size:13px}.form-error{color:#f0b6a6;background:#2a1512;border:1px solid #5c2a1e;border-radius:10px;margin-bottom:16px;padding:11px 14px;font-size:14px}.login{justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;width:100%;max-width:380px;padding:34px 30px 30px}.login-brand{font-family:var(--cond);margin:0 0 4px;font-size:25px;font-weight:700}.login-brand em{color:var(--accent);font-style:normal}.login-sub{color:var(--text-dim);margin:0 0 26px;font-size:14px}.login-card .btn{width:100%;margin-top:8px}@media (max-width:860px){.topbar{display:none}.mobilebar{display:flex}.tabbar{display:block}.fab{display:flex}.page{padding:20px 14px calc(var(--tabbar) + 28px)}.page-title{font-size:27px}.page-head{margin-bottom:20px}.page-actions{display:none}.rides{grid-template-columns:1fr;gap:14px}}@media (prefers-reduced-motion:reduce){.app *{transition:none!important}}
