@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@500;700&family=Inter:wght@400;500;600;700&display=swap";:root{--bg: #1c1f26;--surface: #262b36;--surface-2: #2f3542;--border: #3a4150;--accent: #f2a93b;--accent-dim: #7a5a24;--text: #f5f3ee;--muted: #9098a8;--positive: #6fcf97;--negative: #e85c4a}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg)}.app-shell{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text);width:100%;max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;position:relative}.app-shell.center{align-items:center;justify-content:center;padding:20px;padding-top:calc(20px + env(safe-area-inset-top))}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.topbar{display:flex;align-items:center;justify-content:space-between;padding:calc(16px + env(safe-area-inset-top)) 18px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.topbar-left{display:flex;align-items:center;gap:8px;font-weight:600}.switch-user{background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:6px 10px;border-radius:999px;font-size:13px;display:flex;align-items:center;gap:4px;cursor:pointer}.content{flex:1;overflow-y:auto;padding:20px 18px 90px}.pane h2{font-size:18px;margin:0 0 4px;font-weight:700}.pane h3{font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:22px 0 10px;font-weight:600}.muted{color:var(--muted);font-size:13px;margin:0 0 12px}.error-text{color:var(--negative);font-size:13px;margin:-6px 0 12px}.odo-tile{background:linear-gradient(180deg,#14161b,#0f1114);border:1px solid var(--border);border-radius:14px;padding:12px 16px;margin-bottom:10px;box-shadow:inset 0 2px 6px #00000080}.odo-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}.odo-display{font-family:JetBrains Mono,monospace;font-size:24px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.odo-unit{font-size:13px;color:var(--muted);margin-left:6px}.odo-sub{font-size:11px;color:var(--muted);margin-top:2px}input,select,textarea{width:100%;background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:10px;font-size:14px;margin-bottom:10px;font-family:inherit}textarea{resize:vertical}.km-input{font-family:JetBrains Mono,monospace;font-size:17px}.photo-capture{margin-bottom:12px}.hidden-input{display:none}.photo-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--surface-2);border:1px dashed var(--border);color:var(--text);padding:13px;border-radius:12px;font-size:14px;cursor:pointer}.photo-thumb{width:36px;height:36px;object-fit:cover;border-radius:8px}.primary-btn{width:100%;background:var(--accent);color:#241a08;border:none;padding:13px;border-radius:12px;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.primary-btn:disabled{opacity:.4;cursor:not-allowed}.primary-btn.small{padding:9px;font-size:13px;flex:1}.secondary-btn{flex:1;background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:9px;border-radius:12px;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}.form-btn-row{display:flex;gap:8px;margin-top:4px}.distance-preview{text-align:center;color:var(--positive);font-weight:600;margin:-2px 0 12px;font-size:13px}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:10px;color:var(--muted)}.checkbox-row input{width:auto;margin:0}.location-status{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin:-2px 0 12px}.link-btn{background:none;border:none;color:var(--accent);font-size:12px;cursor:pointer;padding:0;text-decoration:underline}.text-link-btn{display:block;width:100%;text-align:center;background:none;border:none;color:var(--muted);font-size:13px;padding:10px 0 0;cursor:pointer}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:28px 24px;text-align:center;width:100%;max-width:380px}.login-icon{color:var(--accent);margin-bottom:10px;display:flex;justify-content:center}.login-card h1{margin:0 0 6px;font-size:20px}.user-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.user-pick{background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:12px;border-radius:10px;font-weight:600;cursor:pointer}.add-user-row{display:flex;gap:8px}.add-user-row input{margin-bottom:0}.add-user-row button{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:0 14px;cursor:pointer}.week-strip{display:flex;align-items:center;gap:4px;margin-bottom:12px;overflow-x:auto}.day-chip{flex:1;min-width:38px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;color:var(--muted)}.day-chip.today{border-color:var(--accent-dim)}.day-chip.active{background:var(--accent);border-color:var(--accent);color:#241a08}.day-chip-wd{font-size:10px;text-transform:uppercase}.day-chip-num{font-size:14px;font-weight:700}.selected-date-label{font-size:13px;color:var(--muted);margin-bottom:10px}.booking-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.booking-item{display:flex;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px;align-items:center}.booking-time{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--accent);flex-shrink:0;min-width:84px}.booking-user{font-weight:600;font-size:14px}.booking-note{font-size:12px;color:var(--muted);margin-top:2px}.booking-body{flex:1}.booking-actions{display:flex;gap:2px;flex-shrink:0}.form-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.form-header-title{font-size:13px;font-weight:700}.booking-form{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px}.range-row{display:flex;align-items:flex-end;gap:8px;margin-bottom:4px}.range-col{flex:1;display:flex;flex-direction:column}.range-col input{margin-bottom:6px}.range-arrow{color:var(--muted);margin-bottom:20px;flex-shrink:0}.field-label{font-size:11px;color:var(--muted);margin-bottom:4px}.month-select{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin-bottom:14px}.month-chip{flex-shrink:0;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);padding:6px 12px;border-radius:999px;font-size:13px;cursor:pointer}.month-chip.active{background:var(--accent);color:#241a08;border-color:var(--accent);font-weight:700}.balance-list{display:flex;flex-direction:column;gap:8px}.balance-row{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px;display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px}.balance-name{font-weight:700;font-size:14px;flex:1;min-width:60px}.balance-details{font-size:12px}.balance-amount{font-weight:700;font-size:13px}.balance-amount.positive{color:var(--positive)}.balance-amount.negative{color:var(--negative)}.pay-toggle{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);padding:5px 10px;border-radius:999px;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:4px}.pay-toggle.paid{background:#6fcf9726;border-color:var(--positive);color:var(--positive)}.pay-link{background:var(--accent);color:#241a08;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:700;text-decoration:none}.open-trip-banner{background:var(--surface-2);border:1px solid var(--accent-dim);border-radius:10px;padding:10px 12px;margin-bottom:14px;display:flex;flex-direction:column;gap:5px;font-size:13px}.checklist{display:flex;flex-direction:column;gap:8px}.checklist-item{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;font-size:14px;cursor:pointer}.checklist-item input{width:auto;margin:0}.checklist-item .done{text-decoration:line-through;color:var(--muted)}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{display:flex;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.history-icon{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.history-icon.trip{background:#f2a93b26;color:var(--accent)}.history-icon.refuel{background:#6fcf9726;color:var(--positive)}.history-title{font-size:14px;font-weight:600}.history-sub{font-size:12px;color:var(--muted);margin-top:2px}.settings-user-list{display:flex;flex-direction:column;gap:8px}.settings-user-row{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:14px;font-weight:600}.icon-btn{background:none;border:none;cursor:pointer;padding:4px;border-radius:6px;color:var(--muted)}.icon-btn.danger:hover{color:var(--negative)}.tabbar{position:sticky;bottom:0;left:0;right:0;display:flex;background:var(--surface);border-top:1px solid var(--border);padding:7px 2px calc(7px + env(safe-area-inset-bottom))}.tabbar button{flex:1;background:none;border:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9.5px;padding:5px 0;cursor:pointer;border-radius:10px}.tabbar button.active{color:var(--accent)}
