@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=DM+Serif+Display:ital@0;1&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}:root{--navy: #0D1B2A;--navy-mid: #17263A;--navy-card: #0A1628;--teal: #CC5A1F;--teal-mid: #FF7A35;--teal-light: #FFF0E8;--teal-dim: #B87040;--white: #FFFFFF;--off-white: #F7F9F8;--gray-100: #F1F5F2;--gray-300: #C8D8D2;--gray-500: #64748B;--gray-700: #334155;--amber: #BA7517;--amber-light:#FAEEDA;--red: #E24B4A;--red-light: #FCEBEB;--blue: #185FA5;--blue-light: #E6F1FB;--font-display: "DM Serif Display", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 16px rgba(0,0,0,.12);--shadow-lg: 0 8px 32px rgba(0,0,0,.18);--transition: .18s ease}html,body,#root{height:100%}body{font-family:var(--font-body);background:var(--navy);color:var(--white);-webkit-font-smoothing:antialiased;overflow-x:hidden}.app{min-height:100vh;display:flex;flex-direction:column}.screen{min-height:100vh;display:flex;flex-direction:column;padding:0 20px;max-width:480px;margin:0 auto;width:100%}.display{font-family:var(--font-display);font-size:2.4rem;line-height:1.15}.headline{font-size:1.5rem;font-weight:600;line-height:1.25}.subhead{font-size:1rem;font-weight:500}.body{font-size:.9375rem;line-height:1.6}.caption{font-size:.8125rem;color:var(--teal-dim)}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:15px 20px;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.9375rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .12s ease,box-shadow .15s ease;letter-spacing:.01em}.btn-primary{background:transparent;color:var(--teal);border:1.5px solid var(--teal)}.btn-primary:hover:not(:disabled){background:var(--teal);color:var(--white);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){transform:scale(.97)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--teal-dim);border:1.5px solid rgba(255,255,255,.15)}.btn-ghost:hover:not(:disabled){background:#ffffff12;border-color:#ffffff4d;color:var(--white)}.btn-ghost:active:not(:disabled){transform:scale(.97)}.btn-outline{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.2)}.btn-outline:hover{border-color:var(--teal);color:var(--teal-light)}.btn-sm{padding:10px 16px;font-size:.875rem;width:auto}.btn-ol-green{background:#fff;border:1.5px solid #FF7A35;color:#ff7a35;transition:background .15s ease,color .15s ease,transform .12s ease;cursor:pointer}.btn-ol-green:hover:not(:disabled){background:#ff7a35;color:#fff}.btn-ol-green:active:not(:disabled){transform:scale(.95)}.btn-ol-purple{background:#ede9fb;border:1.5px solid #7C6CD0;color:#7c6cd0;transition:background .15s ease,color .15s ease,transform .12s ease;cursor:pointer}.btn-ol-purple:hover:not(:disabled){background:#7c6cd0;color:#fff}.btn-ol-purple:active:not(:disabled){transform:scale(.95)}.btn-ol-purple-dashed{background:#ede9fb;border:1.5px dashed #7C6CD0;color:#7c6cd0;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .12s ease;cursor:pointer}.btn-ol-purple-dashed:hover:not(:disabled){background:#7c6cd0;color:#fff;border-color:#7c6cd0;border-style:solid}.btn-ol-purple-dashed:active:not(:disabled){transform:scale(.95)}.btn-ol-red{background:#fee2e2;border:1.5px solid #EF4444;color:#ef4444;transition:background .15s ease,color .15s ease,transform .12s ease;cursor:pointer}.btn-ol-red:hover:not(:disabled){background:#ef4444;color:#fff}.btn-ol-red:active:not(:disabled){transform:scale(.95)}.btn-ol-neutral{background:#fff;border:1.5px solid #ECEEF2;color:#8e95a3;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .12s ease;cursor:pointer}.btn-ol-neutral:hover:not(:disabled){background:#f5f7fa;border-color:#c8cdd8;color:#1a1d23}.btn-ol-neutral:active:not(:disabled){transform:scale(.95)}.btn-log-service{background:#fff;border:1.5px solid #FF7A35;border-radius:999px;color:#ff7a35;cursor:pointer;font-family:DM Sans,system-ui,sans-serif;font-size:.78rem;font-weight:700;padding:5px 13px;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background .15s ease,color .15s ease,transform .12s ease}.btn-log-service:hover{background:#ff7a35;color:#fff}.btn-log-service:active{transform:scale(.95)}.btn-got-this-done{width:100%;padding:11px 16px;border-radius:10px;border:none;background:#ff7a35;color:#fff;font-family:DM Sans,system-ui,sans-serif;font-size:.9rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:background .15s ease,transform .12s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;letter-spacing:.01em}.btn-got-this-done:hover{background:#e86520}.btn-got-this-done:active{transform:scale(.95)}.btn-log-pill-orange{background:transparent;border:1.5px solid #FF7A35;border-radius:10px;color:#ff7a35;font-family:DM Sans,system-ui,sans-serif;font-size:.8rem;font-weight:700;padding:9px 16px;cursor:pointer;display:flex;width:100%;align-items:center;justify-content:center;gap:5px;transition:background .15s ease,color .15s ease,transform .12s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;letter-spacing:.01em;box-sizing:border-box}.btn-log-pill-orange:hover{background:#ff7a35;color:#fff}.btn-log-pill-orange:active{transform:scale(.95)}.btn-log-pill-purple{background:transparent;border:1.5px solid #7C6CD0;border-radius:10px;color:#7c6cd0;font-family:DM Sans,system-ui,sans-serif;font-size:.8rem;font-weight:700;padding:9px 16px;cursor:pointer;display:flex;width:100%;align-items:center;justify-content:center;gap:5px;transition:background .15s ease,color .15s ease,transform .12s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;letter-spacing:.01em;box-sizing:border-box}.btn-log-pill-purple:hover{background:#7c6cd0;color:#fff}.btn-log-pill-purple:active{transform:scale(.95)}.btn-add-vehicle{background:#fff;border:1.5px dashed #ECEEF2;color:#8e95a3;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .12s ease;cursor:pointer}.btn-add-vehicle:hover{background:#fff0e8;border-color:#ff7a35;color:#ff7a35}.btn-add-vehicle:active{transform:scale(.97)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--teal-dim)}.field input,.field select,.field textarea{background:var(--navy-mid);border:1.5px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:var(--white);font-family:var(--font-body);font-size:.9375rem;padding:12px 14px;transition:border-color var(--transition);width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}.field textarea{resize:vertical;min-height:80px}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--teal)}.field input::placeholder,.field textarea::placeholder{color:#ffffff40}.field select option{background:var(--navy)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.chip-group{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:8px 14px;border-radius:999px;border:1.5px solid rgba(255,255,255,.12);background:transparent;color:var(--gray-300);font-family:var(--font-body);font-size:.875rem;cursor:pointer;transition:all var(--transition)}.chip:hover{border-color:#ffffff4d;color:var(--white)}.chip.selected{background:var(--teal-light);border-color:var(--teal);color:var(--teal)}.chip.skip.selected{background:var(--amber-light);border-color:var(--amber);color:var(--amber)}.card{background:var(--navy-mid);border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-lg);overflow:hidden}.progress-dots{display:flex;gap:6px;align-items:center}.progress-dot{width:6px;height:6px;border-radius:50%;background:#ffffff26;transition:all .25s ease}.progress-dot.active{background:var(--teal);width:20px;border-radius:3px}.progress-dot.done{background:var(--teal-mid)}.note{font-size:.8125rem;padding:10px 14px;border-radius:var(--radius-sm);background:#ffffff0a;color:var(--teal-dim);line-height:1.5;border-left:2px solid transparent}.note.warn{border-left-color:var(--amber);color:#c8a064;background:#ba751714}.note.info{border-left-color:var(--teal);color:var(--teal-dim);background:#0f6e5614}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes logBounce{0%{transform:scale(1)}30%{transform:scale(.92)}60%{transform:scale(1.08)}80%{transform:scale(.97)}to{transform:scale(1)}}.fade-up{animation:fadeUp .4s ease both}.fade-in{animation:fadeIn .3s ease both}.fade-up:nth-child(1){animation-delay:.05s}.fade-up:nth-child(2){animation-delay:.1s}.fade-up:nth-child(3){animation-delay:.15s}.fade-up:nth-child(4){animation-delay:.2s}.fade-up:nth-child(5){animation-delay:.25s}.fade-up:nth-child(6){animation-delay:.3s}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:flex-end;justify-content:center;z-index:100;animation:fadeIn .2s ease both;padding:0}.modal-sheet{background:#fff;border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;padding:24px 20px 40px;animation:slideUp .3s ease both;border-top:1px solid #ECEEF2;color:#1a1d23}.modal-handle{width:40px;height:4px;background:#eceef2;border-radius:2px;margin:0 auto 24px}.modal-sheet h3,.modal-sheet h2,.modal-sheet p{color:#1a1d23}.modal-sheet .caption,.modal-sheet .field label{color:#8e95a3}.modal-sheet .field input,.modal-sheet .field select,.modal-sheet .field textarea{background:#f5f7fa;border:1.5px solid #ECEEF2;color:#1a1d23}.modal-sheet .field input::placeholder,.modal-sheet .field textarea::placeholder{color:#b0b8c4}.modal-sheet .field input:focus,.modal-sheet .field select:focus,.modal-sheet .field textarea:focus{border-color:#ff7a35}.modal-sheet .chip{border-color:#eceef2;color:#8e95a3;background:#f5f7fa}.modal-sheet .chip:hover{border-color:#ff7a35;color:#ff7a35;background:#fff0e8}.modal-sheet .chip.selected{background:#fff0e8;border-color:#ff7a35;color:#cc5a1f}.modal-sheet .btn-ghost{color:#8e95a3;border-color:#eceef2;background:transparent}.modal-sheet .btn-ghost:hover{background:#f5f7fa;border-color:#c8cdd8;color:#1a1d23}.modal-sheet .note.warn{background:#ba75170f}.modal-sheet .note.info{background:#ff7a350f;border-left-color:#ff7a35;color:#cc5a1f}.chat-container{display:flex;flex-direction:column;gap:12px;padding:0 0 16px}.chat-bubble{max-width:85%;padding:12px 16px;border-radius:18px;font-size:.9375rem;line-height:1.5;animation:fadeUp .3s ease both}.chat-bubble.ai{background:var(--navy-mid);border:1px solid rgba(255,255,255,.08);border-bottom-left-radius:4px;align-self:flex-start}.chat-bubble.user{background:var(--teal);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.chat-bubble.typing{background:var(--navy-mid);border:1px solid rgba(255,255,255,.08);border-bottom-left-radius:4px;align-self:flex-start;display:flex;gap:4px;align-items:center;padding:14px 18px}.typing-dot{width:6px;height:6px;border-radius:50%;background:var(--teal-dim);animation:typingBounce 1.2s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.history-panel{border-top:1px solid rgba(255,255,255,.06);background:#0000002e;padding:14px 14px 16px}.history-empty{font-size:.8125rem;color:var(--teal-dim);text-align:center;padding:10px 0 4px;line-height:1.5}.timeline{display:flex;flex-direction:column;gap:0;position:relative}.timeline-entry{display:flex;gap:12px;position:relative}.timeline-entry:not(:last-child) .timeline-dot:after{content:"";position:absolute;left:50%;top:14px;transform:translate(-50%);width:1.5px;height:calc(100% + 2px);background:#ffffff1a}.timeline-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:4px;position:relative}.timeline-content{flex:1;padding-bottom:16px;min-width:0}.timeline-entry:last-child .timeline-content{padding-bottom:4px}.timeline-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.timeline-date{font-size:.8125rem;font-weight:600;color:var(--white)}.timeline-mileage{font-size:.75rem;color:var(--teal-dim);background:#0f6e561f;padding:1px 6px;border-radius:4px}.timeline-cost{font-size:.75rem;color:var(--teal-dim);margin-left:auto}.timeline-brand{font-size:.8125rem;font-weight:500;color:var(--gray-300);margin-bottom:3px}.timeline-notes{font-size:.78rem;color:var(--teal-dim);line-height:1.45;font-style:italic}.history-toggle:hover{color:var(--teal-mid)!important}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}
