:root{--brand-primary: #f59e0b;--color-primary: #f59e0b;--brand-primary-dark: #d97706;--brand-primary-light: #fbbf24;--brand-ink: #121826;--brand-ink-muted: #3d4a5c;--brand-ink-subtle: #64748b;--brand-surface: #f3f5f8;--surface-console: #e8ecf1;--asphalt: #1a2332;--border-subtle: #d8dee8;--border-strong: #b8c2d0;--white: #ffffff;--radius: 16px;--radius-sm: 12px;--font: "Source Sans 3", system-ui, sans-serif;--font-display: "Outfit", "Source Sans 3", system-ui, sans-serif;--nav-h: 64px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.3, .64, 1);--duration-fast: .14s;--duration: .22s;--duration-slow: .48s;--shadow-sm: 0 1px 2px rgba(18, 24, 38, .05);--shadow-md: 0 10px 28px rgba(18, 24, 38, .1);--focus-ring: 0 0 0 3px color-mix(in srgb, var(--brand-primary) 30%, transparent)}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;min-height:100dvh;height:auto}html{overflow-x:hidden}body{font-family:var(--font);color:var(--brand-ink);background:#0f1419;-webkit-font-smoothing:antialiased;line-height:1.45;overflow-x:hidden;-webkit-tap-highlight-color:transparent}html.is-standalone,html.is-app-mode{overscroll-behavior-y:none}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}h1,h2,h3{margin:0 0 .35rem;font-family:var(--font-display);letter-spacing:-.03em;font-weight:700}p{margin:0 0 .6rem;color:var(--brand-ink-muted)}.app{position:relative;min-height:100%;min-height:100dvh;display:flex;flex-direction:column;max-width:480px;margin:0 auto;background:var(--brand-surface);overflow-x:hidden;overflow-y:visible}.app-glow{pointer-events:none;position:absolute;inset:0 0 auto;height:280px;background:radial-gradient(ellipse 90% 80% at 10% -10%,color-mix(in srgb,var(--brand-primary) 38%,transparent),transparent 55%),radial-gradient(ellipse 70% 60% at 95% 10%,color-mix(in srgb,var(--asphalt) 18%,transparent),transparent 50%);z-index:0;animation:pwa-glow 8s var(--ease-out) infinite alternate}.app-header,.app-main,.bottom-nav{position:relative;z-index:1}.app-header{padding:calc(.95rem + var(--safe-top)) calc(1.15rem + var(--safe-right)) .65rem calc(1.15rem + var(--safe-left));display:flex;align-items:center;justify-content:space-between;gap:.75rem;position:sticky;top:0;z-index:15;background:color-mix(in srgb,var(--brand-surface) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.header-brand{display:flex;align-items:center;gap:.7rem;min-width:0;flex:1 1 auto}.header-text{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.header-logo{width:40px;height:40px;border-radius:12px;object-fit:contain;flex-shrink:0;background:#0f172a;box-shadow:var(--shadow-sm)}.header-mark{width:40px;height:40px;border-radius:12px;flex-shrink:0;background:linear-gradient(145deg,var(--brand-primary-light),var(--brand-primary-dark));box-shadow:0 4px 14px color-mix(in srgb,var(--brand-primary) 40%,transparent)}.app-header strong,.app-header .header-title{font-family:var(--font-display);font-size:1.05rem;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.header-user{font-size:.78rem;color:var(--brand-ink-subtle);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-icon-wrap{position:relative;display:inline-flex}.nav-badge{position:absolute;top:-6px;right:-10px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#dc2626;color:#fff;font-size:.62rem;font-weight:800;line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--brand-surface)}.notif-toast{position:sticky;top:0;z-index:30;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;margin:0;padding:.85rem 1.1rem;border:0;border-bottom:1px solid color-mix(in srgb,var(--brand-primary) 35%,var(--border-subtle));background:linear-gradient(135deg,#fff7ed,#fff);color:var(--brand-ink);text-align:left;cursor:pointer;animation:pwa-fade-up .32s var(--ease-out) both}.notif-toast strong{font-family:var(--font-display);font-size:.92rem}.notif-toast span{font-size:.85rem;color:var(--brand-ink-muted);line-height:1.35}.notif-toast em{margin-top:.2rem;font-style:normal;font-size:.75rem;font-weight:700;color:var(--brand-primary-dark)}.app-main{flex:1;padding:.35rem calc(1.15rem + var(--safe-right)) calc(var(--nav-h) + var(--safe-bottom) + 1.4rem) calc(1.15rem + var(--safe-left));animation:pwa-page-enter var(--duration-slow) var(--ease-out) both;-webkit-overflow-scrolling:touch}.bottom-nav{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:min(480px,100%);height:auto;min-height:var(--nav-h);display:grid;grid-template-columns:repeat(5,1fr);background:color-mix(in srgb,var(--white) 92%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid color-mix(in srgb,var(--border-subtle) 80%,transparent);box-shadow:0 -10px 30px #12182612;padding:.45rem .35rem calc(.45rem + var(--safe-bottom));z-index:20}.bottom-nav a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.18rem;padding:.25rem .1rem;font-size:.66rem;font-weight:700;letter-spacing:-.01em;line-height:1.15;color:var(--brand-ink-subtle);border-radius:14px;transition:color var(--duration-fast) var(--ease-out),background var(--duration) var(--ease-out),transform var(--duration-fast) var(--ease-spring)}.bottom-nav a svg{flex-shrink:0;opacity:.75}.bottom-nav a.active svg{opacity:1}.btn-sair{width:auto!important;min-width:0;flex:0 0 auto;padding:.4rem .75rem;font-size:.8rem;border-radius:999px;white-space:nowrap}.field-hint{font-size:.75rem;color:var(--brand-ink-subtle);line-height:1.35}.bottom-nav a:before{content:"";position:absolute;top:4px;width:16px;height:3px;border-radius:999px;background:var(--brand-primary);opacity:0;transform:scaleX(.35);transition:opacity var(--duration) var(--ease-out),transform var(--duration) var(--ease-spring)}.bottom-nav a:hover{color:var(--brand-ink);background:color-mix(in srgb,var(--brand-primary) 8%,transparent)}.bottom-nav a:active{transform:scale(.96)}.bottom-nav a.active{color:var(--brand-primary-dark);background:color-mix(in srgb,var(--brand-primary) 14%,white)}.bottom-nav a.active:before{opacity:1;transform:scaleX(1)}.card{background:var(--white);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:1.05rem 1.1rem;margin-bottom:.75rem;box-shadow:var(--shadow-sm);transition:border-color var(--duration) var(--ease-out),box-shadow var(--duration) var(--ease-out),transform var(--duration) var(--ease-out)}.list-link .card:hover{border-color:color-mix(in srgb,var(--brand-primary) 45%,var(--border-subtle));box-shadow:var(--shadow-md);transform:translateY(-2px)}.list-link .card:active{transform:translateY(0)}.card h2{font-size:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.82rem 1rem;border-radius:var(--radius-sm);border:1px solid transparent;font-weight:700;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-spring)}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-primary{background:linear-gradient(180deg,var(--brand-primary-light),var(--brand-primary));color:#1c1917;border-color:var(--brand-primary-dark);box-shadow:0 1px #ffffff59 inset,0 6px 16px color-mix(in srgb,var(--brand-primary) 35%,transparent)}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,var(--brand-primary),var(--brand-primary-dark));color:#fff}.btn-primary:disabled{opacity:.6;cursor:default}.btn-ghost{background:transparent;border-color:var(--border-subtle);color:var(--brand-ink)}.btn-ghost:hover:not(:disabled){border-color:color-mix(in srgb,var(--brand-primary) 40%,var(--border-subtle));background:color-mix(in srgb,var(--brand-primary) 8%,#fff)}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.85rem}.field label{font-size:.78rem;font-weight:600;color:var(--brand-ink-muted)}.field input,.field textarea,.field select{padding:.78rem .9rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--white);font-size:16px;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.field input:hover,.field textarea:hover,.field select:hover{border-color:var(--border-strong)}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--brand-primary);box-shadow:var(--focus-ring)}.badge{display:inline-flex;padding:.2rem .6rem;border-radius:999px;font-size:.7rem;font-weight:700;background:#fef3c7;color:#92400e}.slot-grid{display:flex;flex-wrap:wrap;gap:.45rem}.slot-chip{min-height:40px;min-width:4.5rem;padding:.35rem .7rem;border-radius:10px;border:1px solid var(--border-subtle, #e2e8f0);background:#fff;color:var(--brand-ink);font-weight:600;font-size:.9rem;cursor:pointer}.slot-chip.is-active{border-color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 18%,white);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-primary) 25%,transparent)}.appointment-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}.appointment-actions .btn{width:auto;min-width:8.5rem;padding:.55rem .9rem;font-size:.88rem}.workshop-pick-label{margin:0 0 .65rem;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--brand-ink-muted)}.workshop-pick-list,.workshop-account-list{list-style:none;margin:0 0 .85rem;padding:0;display:flex;flex-direction:column;gap:.55rem}.workshop-pick-card,.workshop-account-item{width:100%;display:flex;align-items:center;gap:.75rem;text-align:left;padding:.85rem .9rem;border-radius:12px;border:1px solid var(--border-subtle, #e2e8f0);background:#fff;color:var(--brand-ink);cursor:pointer;transition:border-color .2s ease,transform .2s ease,background .2s ease}.workshop-pick-card:hover:not(:disabled),.workshop-account-item:hover:not(:disabled){border-color:var(--pick-accent, var(--brand-primary));transform:translateY(-1px);background:color-mix(in srgb,var(--pick-accent, var(--brand-primary)) 6%,#fff)}.workshop-account-item.is-active{border-color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 10%,#fff);cursor:default}.workshop-pick-avatar{width:2.4rem;height:2.4rem;border-radius:10px;display:grid;place-items:center;flex-shrink:0;font-weight:800;font-family:var(--font-display, inherit);background:color-mix(in srgb,var(--pick-accent, var(--brand-primary)) 18%,#fff);color:var(--brand-ink)}.workshop-pick-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.workshop-pick-text strong{font-size:.98rem}.workshop-pick-text small{color:var(--brand-ink-muted);font-size:.82rem}.workshop-pick-chevron{color:var(--brand-ink-muted);font-size:1.1rem}.workshop-account-badge{font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:.25rem .45rem;border-radius:6px;background:color-mix(in srgb,var(--brand-primary) 22%,#fff);color:var(--brand-ink)}.workshop-account h2{margin:0 0 .4rem;font-size:1rem}.workshop-leave-btn{margin-top:.35rem;width:100%;color:#b91c1c;border-color:color-mix(in srgb,#b91c1c 28%,var(--border-subtle))}.workshop-leave-btn:hover:not(:disabled){background:#fef2f2;border-color:#b91c1c}.workshop-leave-hint{margin:.55rem 0 0;font-size:.8rem}.workshop-card h2{margin:0 0 .65rem;font-size:1rem}.workshop-address{display:flex;flex-direction:column;gap:.2rem;font-style:normal;line-height:1.45;margin-bottom:1rem}.workshop-actions{display:flex;flex-wrap:wrap;gap:.5rem}.workshop-contact{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.workshop-contact li{display:flex;flex-direction:column;gap:.15rem}.workshop-contact span{font-size:.75rem;color:var(--brand-ink-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.workshop-contact a{color:var(--brand-ink);font-weight:600;text-decoration:none}.workshop-footnote{margin-top:1rem;font-size:.82rem}.badge.green{background:#dcfce7;color:#166534}.badge.blue{background:#e0f2fe;color:#075985}.badge.red{background:#fee2e2;color:#991b1b}.alert{padding:.8rem .95rem;border-radius:var(--radius-sm);border:1px solid #fcd34d;background:#fffbeb;color:#92400e;font-size:.88rem;margin-bottom:.85rem;animation:pwa-fade-up .32s var(--ease-out) both}.alert.error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.muted{color:var(--brand-ink-muted);font-size:.88rem}.list-link{display:block}.empty-state{text-align:center;padding:2rem 1.15rem;border-radius:var(--radius);background:radial-gradient(ellipse 70% 70% at 50% 0%,color-mix(in srgb,var(--brand-primary) 14%,transparent),transparent),var(--white);border:1px solid var(--border-subtle);animation:pwa-fade-up var(--duration-slow) var(--ease-out) both}.empty-state strong{display:block;font-family:var(--font-display);font-size:1.05rem;margin-bottom:.35rem;color:var(--brand-ink)}.empty-state .empty-mark{width:48px;height:48px;margin:0 auto .75rem;border-radius:14px;background:linear-gradient(145deg,color-mix(in srgb,var(--brand-primary) 35%,#fff),color-mix(in srgb,var(--brand-primary) 12%,#fff));border:1px solid color-mix(in srgb,var(--brand-primary) 28%,var(--border-subtle));position:relative}.empty-state .empty-mark:after{content:"";position:absolute;inset:14px 12px;border-radius:4px;border:2px dashed color-mix(in srgb,var(--brand-primary-dark) 50%,transparent)}.home-hero{margin:.15rem 0 1.1rem;animation:pwa-fade-up .52s var(--ease-out) both}.home-hero h1{font-size:clamp(1.85rem,7vw,2.25rem);line-height:1.05;margin-bottom:.35rem}.home-hero h1 span{color:var(--brand-primary-dark)}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin-bottom:1.35rem;animation:pwa-fade-up .56s 60ms var(--ease-out) both}.quick-action{display:flex;flex-direction:column;gap:.15rem;padding:.85rem .65rem;border-radius:var(--radius-sm);background:var(--asphalt);color:#f8fafc;min-height:78px;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration) var(--ease-out);box-shadow:var(--shadow-sm)}.quick-action strong{font-family:var(--font-display);font-size:.82rem;letter-spacing:-.02em}.quick-action span{font-size:.7rem;color:color-mix(in srgb,#fff 62%,transparent);line-height:1.25}.quick-action:hover{transform:translateY(-2px);box-shadow:0 10px 22px #1218262e}.quick-action:nth-child(2){background:linear-gradient(160deg,#243044,var(--asphalt))}.quick-action:nth-child(3){background:linear-gradient(160deg,color-mix(in srgb,var(--brand-primary-dark) 55%,var(--asphalt)),var(--asphalt))}.section-head{margin-bottom:.65rem}.section-head h2{font-size:1.05rem;margin:0}.section-head p{margin:.15rem 0 0;font-size:.85rem}.vehicle-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.vehicle-list li{animation:pwa-fade-up .48s var(--ease-out) both}.vehicle-card{display:grid;grid-template-columns:auto 1fr auto;gap:.85rem;align-items:center;padding:.95rem 1rem;border-radius:var(--radius);background:var(--white);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease-spring),border-color var(--duration) var(--ease-out),box-shadow var(--duration) var(--ease-out)}.vehicle-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--brand-primary) 40%,var(--border-subtle));box-shadow:var(--shadow-md)}.vehicle-plate{font-family:var(--font-display);font-weight:800;font-size:.92rem;letter-spacing:.06em;padding:.55rem .65rem;border-radius:10px;background:linear-gradient(180deg,#f8fafc,#e8edf4);border:1px solid var(--border-strong);color:var(--brand-ink);min-width:6.4rem;text-align:center}.vehicle-meta{display:flex;flex-direction:column;gap:.1rem;min-width:0}.vehicle-meta strong{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vehicle-meta span{font-size:.8rem;color:var(--brand-ink-subtle)}.vehicle-go{font-size:1.15rem;color:var(--brand-primary-dark);font-weight:700}.skeleton-stack{display:flex;flex-direction:column;gap:.65rem}.skeleton-card{height:76px;border-radius:var(--radius);background:linear-gradient(90deg,#e8ecf1 25%,#f4f6f9,#e8ecf1 75%);background-size:200% 100%;animation:pwa-shimmer 1.2s linear infinite}.push-panel{display:flex;flex-direction:column;gap:.85rem;padding:1.1rem 1.15rem;margin-bottom:1rem;border-radius:var(--radius);background:linear-gradient(135deg,color-mix(in srgb,var(--brand-primary) 16%,#fff),#fff 55%),var(--white);border:1px solid color-mix(in srgb,var(--brand-primary) 28%,var(--border-subtle));box-shadow:var(--shadow-sm);animation:pwa-fade-up .48s var(--ease-out) both}.push-panel.is-on{background:linear-gradient(135deg,#ecfdf5,#fff 60%);border-color:#86efac}.push-panel h2{font-size:1.05rem;margin:0 0 .25rem}.push-panel p{margin:0;font-size:.9rem}.push-panel-msg{margin:0;font-size:.82rem;color:var(--brand-ink-muted)}.menu-list{display:flex;flex-direction:column;gap:.45rem;animation:pwa-fade-up .52s 70ms var(--ease-out) both}.menu-row{display:grid;grid-template-columns:auto 1fr auto;gap:.85rem;align-items:center;padding:.95rem 1rem;border-radius:var(--radius);background:var(--white);border:1px solid var(--border-subtle);transition:transform var(--duration-fast) var(--ease-spring),border-color var(--duration) var(--ease-out),box-shadow var(--duration) var(--ease-out)}.menu-row:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--brand-primary) 35%,var(--border-subtle));box-shadow:var(--shadow-md)}.menu-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand-primary) 14%,#fff);color:var(--brand-primary-dark)}.menu-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.menu-text strong{font-family:var(--font-display);font-size:.98rem}.menu-text small{font-size:.8rem;color:var(--brand-ink-subtle)}.menu-chevron{color:var(--brand-primary-dark);font-weight:700}.login-wrap{position:relative;min-height:100%;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:calc(2rem + var(--safe-top)) calc(1.35rem + var(--safe-right)) calc(2.5rem + var(--safe-bottom)) calc(1.35rem + var(--safe-left));max-width:440px;margin:0 auto;overflow:hidden;background:radial-gradient(ellipse 100% 55% at 20% 0%,color-mix(in srgb,var(--brand-primary) 32%,transparent),transparent 55%),radial-gradient(ellipse 70% 40% at 100% 90%,color-mix(in srgb,var(--asphalt) 12%,transparent),transparent 50%),linear-gradient(165deg,#fff 0%,var(--brand-surface) 55%,#fff7ed 100%)}.login-atmosphere{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(color-mix(in srgb,var(--brand-primary) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--brand-primary) 7%,transparent) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 20%,transparent 75%);animation:pwa-grid 28s linear infinite;opacity:.85}.login-content{position:relative;z-index:1;animation:pwa-fade-up .7s var(--ease-out) both}.login-wrap .brand{font-size:1.5rem;font-weight:800;margin-bottom:.25rem}.login-wrap .brand-row{display:flex;align-items:center;gap:.85rem;margin-bottom:.65rem}.login-wrap .brand-logo{width:52px;height:52px;border-radius:14px;object-fit:contain;flex-shrink:0;background:#0f172a;box-shadow:var(--shadow-md);animation:pwa-soft-pulse 4.5s var(--ease-out) infinite}.login-wrap .brand-mark{width:52px;height:52px;border-radius:14px;background:linear-gradient(145deg,var(--brand-primary-light),var(--brand-primary-dark));flex-shrink:0;box-shadow:0 8px 22px color-mix(in srgb,var(--brand-primary) 40%,transparent);animation:pwa-soft-pulse 4.5s var(--ease-out) infinite}.login-wrap .brand-title{font-family:var(--font-display);font-size:clamp(1.65rem,6vw,2rem);font-weight:800;letter-spacing:-.04em;line-height:1.05}.login-wrap .brand span{color:var(--brand-primary-dark)}.login-wrap .brand-company{font-size:.85rem;font-weight:500;color:var(--brand-ink-muted);margin-top:.15rem}.login-lead{margin:0 0 1.35rem;max-width:28ch;font-size:.98rem;line-height:1.5;color:var(--brand-ink-muted);animation:pwa-fade-up .7s 80ms var(--ease-out) both}.login-form{animation:pwa-fade-up .7s .14s var(--ease-out) both}.otp-row{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:end}.otp-row .field{margin-bottom:0}@keyframes pwa-page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pwa-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pwa-grid{0%{transform:translateY(0)}to{transform:translateY(48px)}}@keyframes pwa-soft-pulse{0%,to{box-shadow:0 8px 22px color-mix(in srgb,var(--brand-primary) 35%,transparent)}50%{box-shadow:0 10px 28px color-mix(in srgb,var(--brand-primary) 48%,transparent)}}@keyframes pwa-glow{0%{opacity:.85;transform:translateY(0)}to{opacity:1;transform:translateY(6px)}}@keyframes pwa-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.offline-banner{position:sticky;top:0;z-index:25;margin:0;padding:.55rem 1rem;text-align:center;font-size:.8rem;font-weight:700;letter-spacing:-.01em;color:#78350f;background:#fef3c7;border-bottom:1px solid #fcd34d}.page-hero{margin-bottom:1rem}.page-kicker{margin:0 0 .25rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-primary-dark)}.page-lead{margin:0;color:var(--brand-ink-muted);font-size:.95rem}.next-step{font-size:.82rem;font-weight:600;color:var(--brand-ink);line-height:1.35}.card-soft{background:color-mix(in srgb,var(--brand-primary) 7%,var(--white));border-color:color-mix(in srgb,var(--brand-primary) 28%,var(--border-subtle))}.page{display:flex;flex-direction:column;gap:.15rem}@media(prefers-reduced-motion:reduce){.app-main,.app-glow,.login-atmosphere,.login-content,.login-lead,.login-form,.login-wrap .brand-logo,.login-wrap .brand-mark,.alert,.empty-state,.home-hero,.quick-actions,.vehicle-list li,.push-panel,.menu-list,.skeleton-card{animation:none!important}.btn:hover:not(:disabled),.list-link .card:hover,.vehicle-card:hover,.menu-row:hover,.quick-action:hover,.bottom-nav a:active{transform:none}}.install-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:.75rem 1.1rem;border-bottom:1px solid color-mix(in srgb,var(--brand-primary) 28%,var(--border-subtle));background:color-mix(in srgb,var(--brand-primary) 12%,#fff);position:relative;z-index:12}html.keyboard-open .install-banner{display:none}.install-banner-copy{flex:1 1 220px;min-width:0}.install-banner-copy strong{display:block;font-family:var(--font-display);font-size:.92rem;margin-bottom:.15rem}.install-banner-copy p{margin:0;font-size:.82rem;color:var(--brand-ink-muted);line-height:1.35}.install-banner-help{margin-top:.45rem!important;color:var(--brand-ink)!important;font-weight:600}.install-banner-actions{display:flex;flex-wrap:wrap;gap:.45rem}.install-banner-btn{width:auto;padding:.5rem .9rem;font-size:.82rem}:root{--keyboard-inset: 0px}.page--chat{display:flex;flex-direction:column;gap:.65rem;min-height:0;height:calc(100dvh - 7.5rem - var(--nav-h) - var(--safe-bottom) - var(--safe-top))}.page--chat .chat-page-hero{flex-shrink:0;margin-bottom:0}.page--chat .chat-page-hero .page-lead{margin-bottom:0}.page--chat .chat-panel{flex:1;min-height:0;display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden}.page--chat .chat-messages{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:.5rem;padding:.85rem;min-height:0}.page--chat .chat-bubble{max-width:85%;padding:.55rem .75rem;border-radius:12px;border:1px solid var(--border-subtle);font-size:.875rem;background:var(--surface-console)}.page--chat .chat-bubble--out{align-self:flex-end;background:color-mix(in srgb,var(--brand-primary) 22%,white)}.page--chat .chat-bubble--in{align-self:flex-start}.page--chat .chat-bubble__time{font-size:.7rem;margin-top:4px}.page--chat .chat-composer{display:grid;grid-template-columns:1fr auto;gap:.5rem;padding:.65rem .75rem;padding-bottom:calc(.65rem + var(--keyboard-inset));border-top:1px solid var(--border-subtle);background:var(--white);flex-shrink:0}.page--chat .chat-composer input{min-height:44px;padding:.65rem .75rem;border-radius:10px;border:1px solid var(--border-subtle);background:var(--white);color:var(--brand-ink);font:inherit}.page--chat .chat-composer .btn{width:auto;min-height:44px}html.keyboard-open .bottom-nav{transform:translate(-50%,110%);pointer-events:none}html.is-chat-route .app-main{padding-bottom:calc(var(--nav-h) + var(--safe-bottom) + .5rem)}html.is-chat-route.keyboard-open .app-main{padding-bottom:.35rem}html.is-chat-route.keyboard-open .page--chat{height:calc(100dvh - 5.5rem - var(--safe-top) - var(--keyboard-inset))}.signature-pad-wrap{display:grid;gap:.45rem;width:100%}.signature-pad{width:100%;height:auto;aspect-ratio:16 / 7;min-height:160px;max-height:240px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#fff;touch-action:none;cursor:crosshair;display:block;-webkit-user-select:none;user-select:none}.signature-pad-hint{margin:0;font-size:.82rem}.signature-pad-actions{display:flex;flex-wrap:wrap;gap:.55rem}.signature-pad-actions .btn{min-height:48px;flex:1 1 140px;justify-content:center}
