@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{--bg:#f4f6f9;--surface:#fff;--surface-2:#f0f2f5;--fg:#0f1923;--fg-2:#374151;--muted:#6b7280;--border:#e5e7eb;--border-2:#d1d5db;--accent:#1a3a5c;--accent-light:#ebf0f7;--green:#00a550;--green-light:#e6f7ee;--amber:#d97706;--amber-light:#fef3c7;--red:#dc2626;--red-light:#fee2e2;--blue:#2563eb;--blue-light:#eff6ff;--purple:#7c3aed;--purple-light:#f5f3ff;--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", monospace;--radius-sm:8px;--radius:12px;--radius-lg:16px;--shadow-sm:0 1px 3px #00000014;--shadow:0 2px 8px #0000001a;--shadow-lg:0 4px 20px #0000001f;--topbar-h:56px;--bottom-nav-h:64px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:var(--font-body);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;overscroll-behavior:none}.app-shell{background:var(--bg);flex-direction:column;max-width:480px;height:100%;margin:0 auto;display:flex;position:relative}.page-content{padding-bottom:calc(var(--bottom-nav-h) + 16px);-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.page-content.no-bottom-nav{padding-bottom:16px}.topbar{height:var(--topbar-h);background:var(--accent);z-index:50;flex-shrink:0;align-items:center;gap:12px;padding:0 16px;display:flex;position:sticky;top:0}.topbar-back{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff26;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;display:flex}.topbar-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:16px;font-weight:600;overflow:hidden}.topbar-action{color:#fff;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:#fff3;border:none;border-radius:20px;padding:6px 14px;font-size:13px;font-weight:600}.topbar-action:disabled{opacity:.4;cursor:not-allowed}.logo-header{border-bottom:3px solid var(--green);background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.bottom-nav{height:var(--bottom-nav-h);background:var(--surface);border-top:1px solid var(--border);z-index:50;flex-shrink:0;align-items:center;display:flex;position:sticky;bottom:0}.bottom-nav-item{cursor:pointer;-webkit-tap-highlight-color:transparent;color:var(--muted);font-size:10px;font-weight:500;font-family:var(--font-body);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 4px;transition:color .15s;display:flex}.bottom-nav-item.active{color:var(--accent)}.bottom-nav-item svg{width:22px;height:22px}.fab{bottom:calc(var(--bottom-nav-h) + 16px);background:var(--green);color:#fff;cursor:pointer;width:56px;height:56px;box-shadow:var(--shadow-lg);z-index:40;-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:28px;transition:transform .15s,box-shadow .15s;display:flex;position:fixed;right:max(16px,50vw - 224px)}.fab:active{transform:scale(.94)}.card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}.card-pressable{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:box-shadow .15s,transform .1s}.card-pressable:active{box-shadow:none;transform:scale(.985)}.status-badge{letter-spacing:.02em;border-radius:20px;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.section-header{background:var(--surface);cursor:pointer;-webkit-tap-highlight-color:transparent;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.section-title{color:var(--fg);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.field-row{border-bottom:1px solid var(--border);background:var(--surface);cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:center;gap:12px;min-height:56px;padding:12px 16px;transition:background .1s;display:flex}.field-row:active{background:var(--surface-2)}.field-row:last-child{border-bottom:none}.field-label{color:var(--fg-2);flex:1;font-size:13px;line-height:1.4}.field-indicator{border-radius:50%;flex-shrink:0;width:10px;height:10px}.chip-group{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1.5px solid var(--border-2);background:var(--surface);cursor:pointer;-webkit-tap-highlight-color:transparent;color:var(--fg-2);font-size:13px;font-weight:500;font-family:var(--font-body);border-radius:20px;padding:8px 14px;transition:all .15s}.chip.active-sans{border-color:var(--green);background:var(--green-light);color:var(--green)}.chip.active-avec{border-color:var(--amber);background:var(--amber-light);color:var(--amber)}.chip.active-na{border-color:var(--muted);background:var(--surface-2);color:var(--muted)}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.form-input,.form-textarea,.form-select{border:1.5px solid var(--border-2);border-radius:var(--radius-sm);width:100%;font-size:15px;font-family:var(--font-body);color:var(--fg);background:var(--surface);-webkit-appearance:none;outline:none;padding:12px 14px;transition:border-color .15s}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--accent)}.form-input.mono{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase}.form-textarea{resize:none;min-height:80px;line-height:1.5}.form-input.error,.form-textarea.error{border-color:var(--red)}.form-hint{color:var(--muted);font-size:11px}.form-error{color:var(--red);font-size:11px}.btn{border-radius:var(--radius-sm);font-size:15px;font-weight:600;font-family:var(--font-body);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:13px 20px;transition:opacity .15s,transform .1s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);color:#fff;width:100%}.btn-green{background:var(--green);color:#fff;width:100%}.btn-secondary{background:var(--surface-2);color:var(--fg);border:1.5px solid var(--border-2);width:100%}.btn-danger{background:var(--red-light);color:var(--red);width:100%}.btn-sm{width:auto;min-height:36px;padding:8px 14px;font-size:13px}.progress-bar-track{background:var(--border);border-radius:2px;height:4px;overflow:hidden}.progress-bar-fill{background:var(--green);border-radius:2px;height:100%;transition:width .3s}.photo-grid{flex-wrap:wrap;gap:8px;display:flex}.photo-thumb{border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--border);width:80px;height:80px}.photo-add-btn{border-radius:var(--radius-sm);border:2px dashed var(--border-2);background:var(--surface-2);cursor:pointer;width:80px;height:80px;color:var(--muted);-webkit-tap-highlight-color:transparent;font-size:11px;font-weight:500;font-family:var(--font-body);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.sig-pad-wrap{border:2px dashed var(--border-2);border-radius:var(--radius-sm);background:#fafafa;position:relative;overflow:hidden}.sig-pad-wrap.signed{border-style:solid;border-color:var(--green)}.sig-pad-canvas{touch-action:none;width:100%;display:block}.sig-pad-label{color:var(--border-2);pointer-events:none;text-align:center;font-size:13px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.reserve-card{background:var(--surface);border-radius:var(--radius);border:1.5px solid var(--amber);margin-bottom:12px;overflow:hidden}.reserve-card.levee{border-color:var(--green)}.pv-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);margin-bottom:10px;display:flex;overflow:hidden}.pv-card-stripe{flex-shrink:0;width:5px}.pv-card-body{flex:1;padding:12px 14px}.vin-display{font-family:var(--font-mono);letter-spacing:.08em;color:var(--muted);font-size:12px}.empty-state{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.empty-state svg{opacity:.4}.empty-state h3{color:var(--fg-2);font-size:16px}.empty-state p{font-size:13px;line-height:1.5}.alert{border-radius:var(--radius-sm);align-items:flex-start;gap:10px;padding:12px 16px;font-size:13px;font-weight:500;line-height:1.4;display:flex}.alert-amber{background:var(--amber-light);color:#92400e;border:1px solid #fcd34d}.alert-red{background:var(--red-light);color:#991b1b;border:1px solid #fca5a5}.alert-green{background:var(--green-light);color:#065f46;border:1px solid #6ee7b7}.alert-blue{background:var(--blue-light);color:#1e40af;border:1px solid #93c5fd}.divider{background:var(--border);height:1px;margin:0}.scroll-section{flex-direction:column;gap:12px;padding:16px;display:flex}.info-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 0;font-size:13px;display:flex}.info-row:last-child{border-bottom:none}.info-row-label{color:var(--muted);flex-shrink:0}.info-row-value{color:var(--fg);text-align:right;font-weight:500}.tab-bar{background:var(--surface);border-bottom:1px solid var(--border);scrollbar-width:none;gap:0;padding:0 16px;display:flex;overflow-x:auto}.tab-bar::-webkit-scrollbar{display:none}.tab-item{color:var(--muted);cursor:pointer;white-space:nowrap;font-size:13px;font-weight:500;font-family:var(--font-body);-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-bottom:2px solid #0000;padding:12px 16px;transition:color .15s}.tab-item.active{color:var(--accent);border-bottom-color:var(--accent)}.search-bar{background:var(--surface);border:1.5px solid var(--border-2);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:10px 14px;display:flex}.search-bar input{font-size:15px;font-family:var(--font-body);color:var(--fg);background:0 0;border:none;outline:none;flex:1}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2.5px solid var(--border-2);border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite spin}.locked-badge{background:var(--surface-2);color:var(--muted);border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:500;display:inline-flex}
