nav:is(.portal-dock,.app-bottom-navigation){box-sizing:border-box;width:100%;padding:8px max(8px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));border:0;border-top:1px solid color-mix(in srgb, var(--md-sys-color-outline-variant) 45%, transparent);background:var(--md-sys-color-surface-container-low);box-shadow:none;border-radius:0;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:4px;display:grid}nav:is(.portal-dock,.app-bottom-navigation)>button{box-sizing:border-box;min-width:0;min-height:56px;color:color-mix(in srgb, var(--md-sys-color-on-surface-variant) 82%, var(--md-sys-color-surface-container-low));font:inherit;box-shadow:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:4px;margin:0;padding:7px 2px 5px;transition:color .16s,background-color .16s;display:flex;position:relative}nav:is(.portal-dock,.app-bottom-navigation)>button>:is(.portal-dock__pill,.app-nav-item__icon){width:24px;max-width:none;height:24px;color:inherit;background:0 0;border-radius:0;flex:none;place-items:center;animation:none;display:grid;transform:none}nav:is(.portal-dock,.app-bottom-navigation)>button>:is(.portal-dock__label,.app-nav-item__label){max-width:100%;color:inherit;letter-spacing:0;text-align:center;white-space:normal;overflow-wrap:anywhere;text-overflow:clip;font-size:.6875rem;font-weight:500;line-height:1.25;overflow:visible}nav:is(.portal-dock,.app-bottom-navigation)>button.is-active{color:var(--md-sys-color-primary);background:color-mix(in srgb, var(--md-sys-color-primary) 9%, var(--md-sys-color-surface-container-low))}nav:is(.portal-dock,.app-bottom-navigation)>button.is-active:before{content:"";background:currentColor;border-radius:2px;width:16px;height:2px;position:absolute;top:0;left:calc(50% - 8px)}nav:is(.portal-dock,.app-bottom-navigation)>button:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:-2px}@media (hover:hover){nav:is(.portal-dock,.app-bottom-navigation)>button:hover{color:var(--md-sys-color-primary);background:color-mix(in srgb, var(--md-sys-color-primary) 9%, var(--md-sys-color-surface-container-low))}}nav:is(.portal-dock,.app-bottom-navigation)>button:active{background:var(--md-sys-color-state-layer);transform:none}@media (width<=359px){nav:is(.portal-dock,.app-bottom-navigation){padding-inline:max(4px, env(safe-area-inset-left)) max(4px, env(safe-area-inset-right));gap:2px}}@media (prefers-reduced-motion:reduce){nav:is(.portal-dock,.app-bottom-navigation)>button{transition:none}}@media (forced-colors:active){nav:is(.portal-dock,.app-bottom-navigation){border-top:1px solid canvastext}nav:is(.portal-dock,.app-bottom-navigation)>button.is-active{outline-offset:-2px;outline:2px solid highlight}}nav:is(.portal-dock,.app-bottom-navigation)>button.is-active>:is(.portal-dock__pill,.app-nav-item__icon){color:inherit;background:0 0}@media (width>=1024px){nav.app-bottom-navigation{display:none}}@media print{nav:is(.portal-dock,.app-bottom-navigation){display:none!important}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-main:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--portal-size-11:.6875rem;--portal-size-12:.75rem;--portal-size-13:.8125rem;--portal-size-14:.875rem;--portal-size-16:1rem;--portal-size-18:1.125rem;--portal-size-20:1.25rem;--portal-size-22:1.375rem;--portal-size-28:1.75rem;--portal-size-32:2rem;--portal-size-45:2.8125rem;--portal-line-tight:1.15;--portal-line-normal:1.25;--portal-line-loose:1.45;--md-sys-color-primary:#cfbdfe;--md-sys-color-on-primary:#36275d;--md-sys-color-primary-container:#4d3d75;--md-sys-color-on-primary-container:#e9ddff;--md-sys-color-secondary:#cbc2db;--md-sys-color-on-secondary:#332d41;--md-sys-color-secondary-container:#4a4458;--md-sys-color-on-secondary-container:#e8def8;--md-sys-color-tertiary:#efb8c8;--md-sys-color-on-tertiary:#4a2532;--md-sys-color-tertiary-container:#633b48;--md-sys-color-on-tertiary-container:#ffd9e3;--md-sys-color-error:#ffb4ab;--md-sys-color-on-error:#690005;--md-sys-color-error-container:#93000a;--md-sys-color-on-error-container:#ffdad6;--md-sys-color-success:#88d982;--md-sys-color-on-success:#003909;--md-sys-color-success-container:#005312;--md-sys-color-on-success-container:#a3f69c;--md-sys-color-warning:#ffb86e;--md-sys-color-on-warning:#492900;--md-sys-color-warning-container:#693c00;--md-sys-color-on-warning-container:#ffdcbd;--md-sys-color-background:#141218;--md-sys-color-on-background:#e6e0e9;--md-sys-color-surface:#141218;--md-sys-color-surface-container-lowest:#0f0d13;--md-sys-color-surface-container-low:#1d1b20;--md-sys-color-surface-container:#211f24;--md-sys-color-surface-container-high:#2b292f;--md-sys-color-surface-container-highest:#36343a;--md-sys-color-on-surface:#e6e0e9;--md-sys-color-on-surface-variant:#cac4cf;--md-sys-color-outline:#948f99;--md-sys-color-outline-variant:#49454e;--md-sys-color-scrim:#000;--md-sys-color-state-layer:#cfbdfe1f;--md-sys-color-focus-ring:var(--md-sys-color-primary);--md-sys-shape-corner-extra-small:4px;--md-sys-shape-corner-small:8px;--md-sys-shape-corner-medium:12px;--md-sys-shape-corner-large:16px;--md-sys-shape-corner-2xl:28px;--md-sys-shape-corner-full:999px;font-family:var(--font-main);color:var(--md-sys-color-on-background);background:var(--md-sys-color-background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--md-sys-color-primary:#65558f;--md-sys-color-on-primary:#fff;--md-sys-color-primary-container:#e9ddff;--md-sys-color-on-primary-container:#4d3d75;--md-sys-color-secondary:#625b71;--md-sys-color-on-secondary:#fff;--md-sys-color-secondary-container:#e8def8;--md-sys-color-on-secondary-container:#4a4458;--md-sys-color-tertiary:#7e5260;--md-sys-color-on-tertiary:#fff;--md-sys-color-tertiary-container:#ffd9e3;--md-sys-color-on-tertiary-container:#633b48;--md-sys-color-error:#ba1a1a;--md-sys-color-on-error:#fff;--md-sys-color-error-container:#ffdad6;--md-sys-color-on-error-container:#93000a;--md-sys-color-success:#1b6d24;--md-sys-color-on-success:#fff;--md-sys-color-success-container:#a3f69c;--md-sys-color-on-success-container:#002204;--md-sys-color-warning:#7e4900;--md-sys-color-on-warning:#fff;--md-sys-color-warning-container:#ffdcbd;--md-sys-color-on-warning-container:#2c1600;--md-sys-color-background:#fdf7ff;--md-sys-color-on-background:#1d1b20;--md-sys-color-surface:#fdf7ff;--md-sys-color-surface-container-lowest:#fff;--md-sys-color-surface-container-low:#f8f2fa;--md-sys-color-surface-container:#f2ecf4;--md-sys-color-surface-container-high:#ece6ee;--md-sys-color-surface-container-highest:#e6e0e9;--md-sys-color-on-surface:#1d1b20;--md-sys-color-on-surface-variant:#49454e;--md-sys-color-outline:#7a757f;--md-sys-color-outline-variant:#cac4cf;--md-sys-color-state-layer:#65558f1f}}*{box-sizing:border-box}html,body,#root{min-height:100%}body{min-width:320px;min-height:100vh;color:var(--md-sys-color-on-background);background:var(--md-sys-color-background);font-family:var(--font-main);font-variant-numeric:tabular-nums;margin:0}button,input,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;border:0}button:disabled{cursor:not-allowed;opacity:.38}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--md-sys-color-focus-ring);outline-offset:2px}h1,h2,h3,p{margin-top:0}h1{color:var(--md-sys-color-on-background);font-size:var(--portal-size-28);font-weight:700;line-height:var(--portal-line-tight);letter-spacing:-.02em;margin-bottom:6px}h2{color:var(--md-sys-color-on-surface);font-size:var(--portal-size-22);font-weight:700;line-height:var(--portal-line-tight);letter-spacing:-.02em;margin-bottom:8px}h3{color:var(--md-sys-color-on-surface);font-size:var(--portal-size-16);font-weight:600;line-height:var(--portal-line-tight);letter-spacing:-.005em;margin-bottom:6px}p{color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-14);line-height:var(--portal-line-loose);letter-spacing:.01em}.portal-shell{min-height:100vh;position:relative}.portal-shell:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(125% 55% at 50% -10%, color-mix(in srgb, var(--md-sys-color-primary) 15%, transparent), transparent 62%), radial-gradient(80% 45% at 100% 4%, color-mix(in srgb, var(--md-sys-color-primary) 7%, transparent), transparent 60%);position:fixed;inset:0}.portal-app,.portal-auth-layout{z-index:1;position:relative}.portal-app{min-height:100vh;padding:16px 14px 92px}.portal-auth-layout{place-items:center;min-height:100vh;padding:20px;display:grid}.portal-auth-notice{border-radius:var(--md-sys-shape-corner-medium,12px);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-high);width:min(100%,420px);color:var(--md-sys-color-on-surface);font-size:var(--portal-size-14);line-height:var(--portal-line-loose);text-align:center;margin:0 0 16px;padding:12px 14px}.portal-main,.portal-header,.portal-scenario-switcher{width:min(100%,1120px);margin-inline:auto}.portal-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.portal-header__brand{align-items:center;gap:10px;min-width:0;display:flex}.portal-logo{border-radius:var(--md-sys-shape-corner-medium);width:38px;height:38px;color:var(--md-sys-color-on-primary);background:linear-gradient(140deg, var(--md-sys-color-primary), color-mix(in srgb, var(--md-sys-color-primary) 62%, #fff));box-shadow:0 6px 16px color-mix(in srgb, var(--md-sys-color-primary) 38%, transparent);flex:none;place-items:center;display:grid}.portal-header__brand h1{font-size:var(--portal-size-22);letter-spacing:-.01em;margin:0}.portal-header__tagline{color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-12);letter-spacing:.02em;margin-top:1px;font-weight:600;display:block}@media (width<=900px){.portal-header{z-index:30;margin-bottom:6px;padding:8px 0;transition:background .22s,box-shadow .22s,-webkit-backdrop-filter .22s,backdrop-filter .22s;position:sticky;top:0}:root[data-scrolled] .portal-header{background:color-mix(in srgb, var(--md-sys-color-surface-container) 82%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);backdrop-filter:saturate(1.4)blur(14px);border-radius:0 0 18px 18px;box-shadow:0 6px 20px #00000024}}@media (prefers-reduced-motion:reduce){.portal-header{transition:none}}.portal-header>div:first-child{min-width:0}.portal-kicker{color:var(--md-sys-color-primary);font-size:var(--portal-size-12);letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;font-weight:600;display:inline-flex}.portal-kicker--icon{letter-spacing:.1em;align-items:center;gap:9px}.portal-kicker__ico{border-radius:var(--md-sys-shape-corner-small);width:28px;height:28px;color:var(--md-sys-color-primary);background:color-mix(in srgb, var(--md-sys-color-primary) 16%, transparent);place-items:center;display:grid}.portal-kicker--icon.is-alert{color:var(--md-sys-color-error)}.portal-kicker--icon.is-alert .portal-kicker__ico{color:var(--md-sys-color-error);background:color-mix(in srgb, var(--md-sys-color-error) 16%, transparent)}.portal-kicker--icon.is-warn{color:var(--md-sys-color-warning)}.portal-kicker--icon.is-warn .portal-kicker__ico{color:var(--md-sys-color-warning);background:color-mix(in srgb, var(--md-sys-color-warning) 16%, transparent)}.portal-login-card,.portal-panel,.portal-approval-card,.portal-timeline,.portal-decision-log,.portal-confirm-sheet,.portal-empty-state,.portal-error-state{border:1px solid color-mix(in srgb, var(--md-sys-color-outline-variant) 45%, transparent);background:var(--md-sys-color-surface-container-high);box-shadow:inset 0 1px #ffffff08,0 6px 18px #00000052}.portal-header-card{border:1px solid color-mix(in srgb, var(--md-sys-color-outline-variant) 45%, transparent);background:var(--md-sys-color-surface-container-high)}.portal-login-wrap{flex-direction:column;gap:18px;width:min(100%,480px);display:flex}.portal-login-brand{align-items:center;gap:12px;padding-inline:4px;display:flex}.portal-login-brand strong{color:var(--md-sys-color-on-background);font-size:var(--portal-size-22);letter-spacing:-.01em;font-weight:800;line-height:var(--portal-line-tight);display:block}.portal-login-brand>div>span{color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-12);letter-spacing:.02em;margin-top:1px;font-weight:600;display:block}.portal-login-card{border-radius:var(--md-sys-shape-corner-2xl);width:100%;padding:26px 22px}.portal-panel,.portal-approval-card,.portal-timeline,.portal-empty-state,.portal-error-state{border-radius:var(--md-sys-shape-corner-2xl);padding:16px}.portal-panel-wide{min-height:192px}.portal-header-card{border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-surface-container-high);min-width:132px;padding:9px 15px}.portal-header-card span{color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-11);letter-spacing:.04em;margin-bottom:2px;font-weight:600;display:block}.portal-header-card b{color:var(--md-sys-color-on-surface);font-size:var(--portal-size-16);font-weight:700}button.portal-header-card{text-align:left;cursor:pointer}.portal-account-wrap{position:relative}.portal-account-menu{z-index:41;border-radius:var(--md-sys-shape-corner-large);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-high);transform-origin:0 0;width:min(272px,86vw);padding:8px;animation:.15s ease-out portal-pop-in;position:absolute;top:calc(100% + 8px);left:0;right:auto;box-shadow:0 12px 32px #00000047}@media (width>=861px){.portal-account-menu{transform-origin:100% 0;left:auto;right:0}}.portal-account-menu__head{border-bottom:1px solid var(--md-sys-color-outline-variant);margin-bottom:6px;padding:6px 10px 10px}.portal-account-menu__head span{color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-11);letter-spacing:.04em;text-transform:uppercase;margin-bottom:3px;font-weight:600;display:block}.portal-account-menu__head b{color:var(--md-sys-color-on-surface);font-size:var(--portal-size-16);font-weight:700}.portal-account-menu__phone{color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-12);margin-top:3px;font-style:normal;font-weight:600;display:block}.portal-form__optional{color:var(--md-sys-color-outline);font-weight:500}.portal-profile-overlay{z-index:50;background:var(--md-sys-color-background);place-items:center;padding:20px;animation:.16s ease-out portal-pop-in;display:grid;position:fixed;inset:0;overflow-y:auto}.portal-account-menu__item,.portal-account-menu__logout{border-radius:var(--md-sys-shape-corner-medium,12px);width:100%;min-height:48px;font-size:var(--portal-size-14);text-align:left;background:0 0;align-items:center;padding:0 10px;font-weight:600;transition:background .15s;display:flex}.portal-account-menu__item{color:var(--md-sys-color-on-surface)}.portal-account-menu__item:hover{background:var(--md-sys-color-state-layer)}.portal-account-menu__logout{color:var(--md-sys-color-error)}.portal-account-menu__logout:hover{background:color-mix(in srgb, var(--md-sys-color-error) 12%, transparent)}.portal-header-right{align-items:center;gap:10px;display:flex}.portal-bell-wrap{position:relative}.portal-bell{border-radius:var(--md-sys-shape-corner-full);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-high);width:48px;height:48px;color:var(--md-sys-color-on-surface);cursor:pointer;place-items:center;display:grid;position:relative}.portal-bell:hover{background:var(--md-sys-color-surface-container-highest,var(--md-sys-color-surface-container-high))}.portal-bell__badge{background:var(--md-sys-color-error);min-width:18px;height:18px;color:var(--md-sys-color-on-primary);font-size:var(--portal-size-11);border-radius:999px;place-items:center;padding:0 4px;font-weight:700;display:grid;position:absolute;top:-2px;right:-2px}.portal-notif-scrim{z-index:40;cursor:default;background:0 0;border:0;position:fixed;inset:0}.portal-notif-panel{z-index:41;border-radius:var(--md-sys-shape-corner-large);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-high);transform-origin:0 0;width:min(320px,88vw);max-height:60vh;padding:8px;animation:.15s ease-out portal-pop-in;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto;box-shadow:0 12px 32px #00000047}.portal-notif-empty{color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-13);margin:0;padding:12px}.portal-notif-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.portal-notif{border:none;border-left:3px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium,12px);text-align:left;cursor:pointer;background:0 0;flex-direction:column;gap:2px;width:100%;padding:10px 12px;display:flex}.portal-notif:hover{background:var(--md-sys-color-surface-container-highest,var(--md-sys-color-surface-container-high))}.portal-notif.is-overdue{border-left-color:var(--md-sys-color-error)}.portal-notif.is-soon{border-left-color:var(--md-sys-color-warning)}.portal-notif__title{color:var(--md-sys-color-on-surface);font-size:var(--portal-size-13);font-weight:600}.portal-notif__sub{color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-12)}.portal-form{gap:14px;margin-top:22px;display:grid}.portal-form label{color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-13);gap:8px;font-weight:600;display:grid}.portal-form input,.portal-confirm-sheet__note textarea{border:1px solid var(--md-sys-color-outline);width:100%;color:var(--md-sys-color-on-surface);background:var(--md-sys-color-surface-container-lowest);outline:none}.portal-form input{border-radius:var(--md-sys-shape-corner-large);height:52px;padding:0 16px}.portal-code-input{letter-spacing:.4em;font-variant-numeric:tabular-nums;font-weight:600}.portal-confirm-sheet__note textarea{resize:vertical;border-radius:var(--md-sys-shape-corner-large);min-height:86px;padding:12px 14px}.portal-legal-actions{text-align:left;gap:14px;display:grid}.portal-legal-actions label{cursor:pointer;color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-13);flex-direction:row;align-items:flex-start;gap:10px;font-weight:500;display:flex}.portal-legal-actions input[type=checkbox]{width:22px;height:22px;accent-color:var(--md-sys-color-primary);cursor:pointer;border-radius:6px;flex:none;margin:1px 0 0;padding:0}.portal-legal-actions span{line-height:var(--portal-line-loose)}.portal-legal-actions a{color:var(--md-sys-color-primary);font-weight:600}.portal-form input:focus,.portal-confirm-sheet__note textarea:focus{border-color:var(--md-sys-color-primary);box-shadow:0 0 0 3px var(--md-sys-color-state-layer)}.portal-form button,.portal-approval-actions button,.portal-confirm-sheet__actions button{border-radius:var(--md-sys-shape-corner-full);min-height:48px;color:var(--md-sys-color-on-primary);background:var(--md-sys-color-primary);font-size:var(--portal-size-14);letter-spacing:.01em;padding:0 20px;font-weight:600;transition:filter .15s}.portal-form button:hover:not(:disabled),.portal-approval-actions button:hover,.portal-confirm-sheet__actions button:hover{filter:brightness(1.05)}.portal-button-secondary{color:var(--md-sys-color-primary)!important;border:1px solid var(--md-sys-color-outline)!important;background:0 0!important}.portal-message{color:var(--md-sys-color-primary);font-size:var(--portal-size-13);margin:14px 0 0}.portal-error{color:var(--md-sys-color-error);font-size:var(--portal-size-13);margin:14px 0 0}.portal-grid{grid-template-columns:minmax(0,1.8fr) minmax(260px,.8fr);gap:14px;display:grid}.portal-greeting{color:var(--md-sys-color-on-surface);font-size:var(--portal-size-20);letter-spacing:-.01em;font-weight:700;line-height:var(--portal-line-tight);grid-column:1/-1;margin:0 0 2px}.portal-metrics{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:8px;margin-top:16px;display:grid}.portal-metrics div,.portal-timeline div,.portal-decision-log__list div,.portal-approval-summary__grid div{border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface-container-high);padding:12px}.portal-metrics span,.portal-approval-summary__grid span{color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-11);letter-spacing:.02em;text-transform:uppercase;margin-bottom:6px;font-weight:600;display:block}.portal-metrics strong,.portal-approval-summary__grid strong{color:var(--md-sys-color-primary);font-size:var(--portal-size-20);letter-spacing:-.02em;font-weight:700;display:block}.portal-approval-summary__grid span,.portal-metrics span{min-height:2.4em}.portal-metrics div.is-good{border-left:3px solid var(--md-sys-color-success);background:color-mix(in srgb, var(--md-sys-color-success) 7%, var(--md-sys-color-surface-container-high))}.portal-metrics div.is-good strong{color:var(--md-sys-color-success)}.portal-metrics div.is-warn{border-left:3px solid var(--md-sys-color-warning);background:color-mix(in srgb, var(--md-sys-color-warning) 7%, var(--md-sys-color-surface-container-high))}.portal-metrics div.is-warn strong{color:var(--md-sys-color-warning)}@property --health-value{syntax:"<number>";inherits:false;initial-value:0}@keyframes portal-ring-fill{0%{--health-value:0}}.portal-health,.portal-garage-car__health{animation:.9s cubic-bezier(.2,.7,.1,1) portal-ring-fill}.portal-health{--ring-r:59.4px;--ring-cap:13.2px;width:132px;height:132px;color:var(--md-sys-color-primary);background:radial-gradient(closest-side, var(--md-sys-color-surface-container-high) 80%, transparent 81%), conic-gradient(currentColor calc(var(--health-value,0) * 1%), color-mix(in srgb, var(--md-sys-color-outline-variant) 55%, transparent) 0);border:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;margin:14px 0;display:flex;position:relative}.portal-health:before,.portal-health:after,.portal-garage-car__health:before,.portal-garage-car__health:after,.portal-garage-summary__ring:before,.portal-garage-summary__ring:after{content:"";width:var(--ring-cap);height:var(--ring-cap);background:currentColor;border-radius:50%;position:absolute;top:50%;left:50%}.portal-health:before,.portal-garage-car__health:before,.portal-garage-summary__ring:before{transform:translate(-50%, -50%) translateY(calc(-1 * var(--ring-r)))}.portal-health:after,.portal-garage-car__health:after,.portal-garage-summary__ring:after{transform:translate(-50%, -50%) rotate(calc(var(--health-value,0) * 3.6deg)) translateY(calc(-1 * var(--ring-r)))}.portal-health:not([style*=--health-value]):before,.portal-health:not([style*=--health-value]):after,.portal-garage-summary__ring:not([style*=--health-value]):before,.portal-garage-summary__ring:not([style*=--health-value]):after{display:none}.portal-health b{font-size:var(--portal-size-45);letter-spacing:-.04em;color:var(--md-sys-color-on-surface);font-weight:800;line-height:1}.portal-health small{font-size:var(--portal-size-12);letter-spacing:.04em;text-transform:uppercase;color:var(--md-sys-color-on-surface-variant);margin-top:3px;font-weight:600;line-height:1}.portal-health__state{font-size:var(--portal-size-11);letter-spacing:.01em;color:var(--md-sys-color-on-surface);margin-top:5px;font-weight:700;line-height:1}.portal-car-hero.is-critical .portal-health__state{color:var(--md-sys-color-error)}.portal-car-hero.is-attention .portal-health__state{color:var(--md-sys-color-warning)}.portal-car-hero.is-stable .portal-health__state{color:var(--md-sys-color-success)}.portal-car-switch{border-radius:var(--md-sys-shape-corner-full,999px);background:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant);scrollbar-width:none;gap:4px;padding:4px;display:flex;overflow-x:auto}.portal-car-switch::-webkit-scrollbar{display:none}.portal-car-switch button{border-radius:var(--md-sys-shape-corner-full,999px);color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-13);white-space:nowrap;background:0 0;flex:none;align-items:center;gap:7px;padding:9px 14px;font-weight:600;display:inline-flex}.portal-car-switch button.is-active{color:var(--md-sys-color-on-primary-container);background:var(--md-sys-color-primary-container);font-weight:700}.portal-car-hero{--hero-accent:var(--md-sys-color-primary);background:radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--hero-accent) 20%, transparent), transparent 60%), linear-gradient(180deg, color-mix(in srgb, var(--hero-accent) 7%, var(--md-sys-color-surface-container-high)), var(--md-sys-color-surface-container-high));position:relative;overflow:hidden}.portal-car-hero:before{content:"";background:var(--hero-accent);opacity:.85;height:3px;position:absolute;inset:0 0 auto}.portal-car-hero.is-critical{--hero-accent:var(--md-sys-color-error)}.portal-car-hero.is-attention{--hero-accent:var(--md-sys-color-warning)}.portal-car-hero.is-stable{--hero-accent:var(--md-sys-color-primary)}.portal-car-hero.is-unknown{--hero-accent:var(--md-sys-color-outline)}.portal-car-hero__top{justify-content:space-between;align-items:center;gap:14px;display:flex}.portal-car-hero__id{min-width:0}@media (width<=480px){.portal-health{--ring-r:46.8px;--ring-cap:10.4px;width:104px;height:104px;margin:10px 0}}.portal-car-hero__id h2{font-size:var(--portal-size-28);letter-spacing:-.02em;font-weight:800;line-height:var(--portal-line-tight);color:var(--md-sys-color-on-surface);overflow-wrap:anywhere;min-width:0;margin:2px 0 8px}.portal-panel-wide>h2{overflow-wrap:anywhere;min-width:0}.portal-car-hero__meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.portal-car-hero__meta-item{font-size:var(--portal-size-13);color:var(--md-sys-color-on-surface-variant);font-weight:600}.portal-plate{border-radius:var(--md-sys-shape-corner-extra-small);color:#16181d;font-family:SF Mono,ui-monospace,Roboto Mono,Cascadia Code,monospace;font-size:var(--portal-size-14);letter-spacing:.08em;text-transform:uppercase;background:#f4f5f7;border:1px solid #00000040;align-items:center;padding:3px 10px;font-weight:700;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff80}.portal-car-hero .portal-health{--ring-r:46.8px;--ring-cap:10.4px;flex:none;width:104px;height:104px;margin:0}.portal-car-hero .portal-health b{font-size:var(--portal-size-32)}.portal-car-hero__status{border-radius:var(--md-sys-shape-corner-large,16px);background:color-mix(in srgb, var(--hero-accent) 9%, var(--md-sys-color-surface-container-high));border:1px solid color-mix(in srgb, var(--hero-accent) 28%, transparent);align-items:flex-start;gap:9px;margin-top:12px;padding:10px 12px;display:flex}.portal-status-dot{background:var(--hero-accent);width:10px;height:10px;box-shadow:0 0 0 4px color-mix(in srgb, var(--hero-accent) 22%, transparent);border-radius:50%;flex:none;margin-top:5px}.portal-car-hero__status strong{font-size:var(--portal-size-16);letter-spacing:-.01em;color:var(--md-sys-color-on-surface);font-weight:700;display:block}.portal-car-hero.is-critical .portal-car-hero__status strong{color:var(--md-sys-color-error)}.portal-car-hero.is-attention .portal-car-hero__status strong{color:var(--md-sys-color-warning)}.portal-car-hero__status p{font-size:var(--portal-size-13);line-height:var(--portal-line-loose);color:var(--md-sys-color-on-surface-variant);margin:4px 0 0}.portal-car-hero.is-critical .portal-health{color:var(--md-sys-color-error)}.portal-car-hero.is-attention .portal-health{color:var(--md-sys-color-warning)}.portal-car-hero.is-stable .portal-health{color:var(--md-sys-color-primary)}.portal-car-hero.is-unknown .portal-health{color:var(--md-sys-color-outline)}.portal-health-why{margin-top:14px}.portal-health-why__title{font-size:var(--portal-size-12);letter-spacing:.03em;text-transform:uppercase;color:var(--md-sys-color-on-surface-variant);margin:0;font-weight:700}.portal-health-factors{flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.portal-health-factor{border-radius:var(--md-sys-shape-corner-medium,12px);background:var(--md-sys-color-surface-container-high);border-left:3px solid var(--md-sys-color-outline-variant);flex-direction:column;flex:140px;gap:3px;padding:11px 13px;display:flex}.portal-health-factor span{font-size:var(--portal-size-11);letter-spacing:.02em;text-transform:uppercase;color:var(--md-sys-color-on-surface-variant);min-height:2.4em;font-weight:600}.portal-health-factor b{font-size:var(--portal-size-16);font-weight:700;line-height:var(--portal-line-normal);color:var(--md-sys-color-on-surface)}.portal-health-factor.is-good{border-left-color:var(--md-sys-color-primary)}.portal-health-factor.is-warn{border-left-color:var(--md-sys-color-warning)}.portal-health-factor.is-alert{border-left-color:var(--md-sys-color-error);background:color-mix(in srgb, var(--md-sys-color-error) 10%, var(--md-sys-color-surface-container-high))}.portal-health-factor.is-alert b{color:var(--md-sys-color-error)}.portal-systems{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.portal-system-chip{border-radius:var(--md-sys-shape-corner-medium,12px);border-left:3px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-high);flex-direction:column;gap:2px;padding:8px 12px;display:inline-flex}.portal-system-chip b{font-size:var(--portal-size-13);color:var(--md-sys-color-on-surface);font-weight:700}.portal-system-chip small{font-size:var(--portal-size-11);letter-spacing:.02em;text-transform:uppercase;color:var(--md-sys-color-on-surface-variant);font-weight:600}.portal-system-chip.is-alert{border-left-color:var(--md-sys-color-error);background:color-mix(in srgb, var(--md-sys-color-error) 10%, var(--md-sys-color-surface-container-high))}.portal-system-chip.is-alert small{color:var(--md-sys-color-error)}.portal-system-chip.is-warn{border-left-color:var(--md-sys-color-warning);background:color-mix(in srgb, var(--md-sys-color-warning) 8%, var(--md-sys-color-surface-container-high))}.portal-progress{margin:12px 0 4px}.portal-progress__head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.portal-progress__head span{font-size:var(--portal-size-13);color:var(--md-sys-color-on-surface-variant);font-weight:600}.portal-progress__head b{font-size:var(--portal-size-14);color:var(--md-sys-color-on-surface);font-weight:700}.portal-progress__track{background:color-mix(in srgb, var(--md-sys-color-outline-variant) 55%, transparent);border-radius:999px;height:8px;overflow:hidden}.portal-progress__track i{background:var(--md-sys-color-primary);border-radius:999px;height:100%;transition:width .6s cubic-bezier(.2,.7,.1,1);display:block}.portal-progress__hint{font-size:var(--portal-size-13);color:var(--md-sys-color-primary);margin:8px 0 0;font-weight:600}.portal-section-heading{margin-bottom:16px}.portal-approval-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.portal-card-topline,.portal-approval-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.portal-card-topline{color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-13);margin-bottom:14px;font-weight:600}.portal-urgency{border-radius:var(--md-sys-shape-corner-full);color:var(--md-sys-color-on-surface-variant);background:var(--md-sys-color-surface-container-highest);font-size:var(--portal-size-12);border:0;padding:5px 12px;font-weight:600}.portal-urgency.is-critical{color:var(--md-sys-color-on-error-container);background:var(--md-sys-color-error-container)}.portal-urgency.is-recommended{color:var(--md-sys-color-on-primary-container);background:var(--md-sys-color-primary-container)}.portal-urgency.is-optional{color:var(--md-sys-color-on-secondary-container);background:var(--md-sys-color-secondary-container)}.portal-approval-card.is-approved{border-left:4px solid var(--md-sys-color-success)}.portal-approval-card.is-declined{opacity:.62}.portal-cost-breakdown{border-radius:var(--md-sys-shape-corner-medium,12px);background:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant);margin-top:12px}.portal-cost-breakdown>summary{cursor:pointer;font-size:var(--portal-size-13);color:var(--md-sys-color-primary);padding:10px 12px;font-weight:600;list-style:none}.portal-cost-breakdown>summary::-webkit-details-marker{display:none}.portal-cost-breakdown>summary:after{content:"＋";float:right;color:var(--md-sys-color-on-surface-variant);font-weight:700}.portal-cost-breakdown[open]>summary:after{content:"－"}.portal-cost-breakdown ul{margin:0;padding:0 12px 10px;list-style:none}.portal-cost-breakdown li{font-size:var(--portal-size-13);color:var(--md-sys-color-on-surface-variant);border-top:1px solid color-mix(in srgb, var(--md-sys-color-outline-variant) 55%, transparent);justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;display:flex}.portal-cost-breakdown li b{color:var(--md-sys-color-on-surface);font-weight:700}.portal-cost-breakdown li.is-total{color:var(--md-sys-color-on-surface);margin-top:2px;font-weight:700}.portal-cost-breakdown li.is-total b{color:var(--md-sys-color-primary)}.portal-approval-footer{flex-direction:column;align-items:stretch;gap:10px;margin-top:18px}.portal-approval-footer>strong{min-width:0;color:var(--md-sys-color-on-surface);font-size:var(--portal-size-13);font-weight:700}.portal-approval-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px;display:flex}.portal-approval-actions button{min-height:40px;font-size:var(--portal-size-13);flex:none;padding:0 16px}.portal-approval-actions button.is-secondary{color:var(--md-sys-color-on-secondary-container);background:var(--md-sys-color-secondary-container)}.portal-timeline,.portal-decision-log__list{gap:10px;display:grid}.portal-timeline{padding-left:26px;position:relative}.portal-timeline:before{content:"";background:var(--md-sys-color-outline-variant);border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:7px}.portal-timeline>div{position:relative}.portal-timeline>div:before{content:"";background:var(--md-sys-color-outline);width:12px;height:12px;box-shadow:0 0 0 3px var(--md-sys-color-surface-container-high);border-radius:50%;position:absolute;top:18px;left:-25px}.portal-timeline>div.is-repair:before{background:var(--md-sys-color-primary)}.portal-timeline>div.is-maintenance:before{background:var(--md-sys-color-success)}.portal-timeline>div.is-diagnostic:before{background:var(--md-sys-color-on-surface)}.portal-timeline>div.is-recommendation:before{background:var(--md-sys-color-warning)}.portal-timeline span,.portal-decision-log__list span{color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-13)}.portal-timeline b{color:var(--md-sys-color-primary);font-size:var(--portal-size-11);letter-spacing:.04em;text-transform:uppercase;margin-bottom:3px;font-weight:700;display:block}.portal-decision-log__list strong{color:var(--md-sys-color-on-surface);font-size:var(--portal-size-13);font-weight:700;display:block}.portal-timeline__tag{font-size:var(--portal-size-11);vertical-align:baseline;background:var(--md-sys-color-surface-container-highest,var(--md-sys-color-surface-container-high));color:var(--md-sys-color-on-surface-variant);border-radius:999px;margin-right:6px;padding:1px 7px;font-style:normal;font-weight:700;display:inline-block}.portal-timeline__source{background:color-mix(in srgb, var(--md-sys-color-primary) 12%, transparent);color:var(--md-sys-color-primary);font-size:var(--portal-size-11);border-radius:999px;align-items:center;gap:4px;margin-top:6px;padding:2px 9px;font-weight:600;display:inline-flex}.portal-timeline__source:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.portal-timeline>div>span:not(.portal-timeline__source){display:block}.portal-garage-car__service{font-size:var(--portal-size-12);color:var(--md-sys-color-on-surface-variant);margin:8px 0 0;font-weight:600}.portal-timeline__tag.is-repair{color:var(--md-sys-color-primary)}.portal-timeline__tag.is-maintenance{color:var(--md-sys-color-success)}.portal-timeline__tag.is-diagnostic{color:var(--md-sys-color-on-surface)}.portal-timeline__tag.is-recommendation{color:var(--md-sys-color-warning)}.portal-decision-log__list em{border-left:2px solid var(--md-sys-color-primary);color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-12);font-style:normal;line-height:var(--portal-line-normal);margin-top:4px;padding-left:10px;display:block}.portal-decision-log__list b{color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-11);opacity:.75;font-weight:600}.portal-scenario-switcher,.portal-approval-modes,.portal-note-presets{scrollbar-width:none;gap:8px;padding-bottom:10px;display:flex;overflow-x:auto}.portal-scenario-switcher::-webkit-scrollbar{display:none}.portal-approval-modes::-webkit-scrollbar{display:none}.portal-note-presets::-webkit-scrollbar{display:none}.portal-scenario-switcher{margin-bottom:16px}.portal-note-presets{flex-wrap:wrap;padding-bottom:0;overflow-x:visible}.portal-scenario-switcher button,.portal-approval-modes button,.portal-note-presets button{border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-full);min-height:40px;color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-13);white-space:nowrap;background:0 0;flex:none;padding:0 16px;font-weight:600}.portal-scenario-switcher button.is-active,.portal-approval-modes button.is-active{color:var(--md-sys-color-on-secondary-container);background:var(--md-sys-color-secondary-container);border-color:#0000}.portal-approval-modes{flex-wrap:wrap;margin-bottom:14px;padding-bottom:0;overflow-x:visible}.portal-approval-modes button{align-items:center;gap:8px;display:inline-flex}.portal-approval-modes b{border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-surface-container-highest);min-width:22px;min-height:22px;font-size:var(--portal-size-11);place-items:center;font-weight:700;display:grid}.portal-approval-modes button.is-active b{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.portal-approval-summary{gap:12px;margin-bottom:14px;display:grid}.portal-approval-summary__lead{color:var(--md-sys-color-on-surface);font-size:var(--portal-size-15);margin:0;font-weight:600;line-height:1.4}.portal-approval-summary__lead b{color:var(--md-sys-color-primary);font-weight:700}.portal-my-requests{margin:4px 0 22px}.portal-approval-summary__grid{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:10px;display:grid}.portal-approval-summary__grid span{min-height:30px}.portal-approval-summary__grid div:nth-child(2) strong{color:var(--md-sys-color-success)}.portal-approval-summary__grid div:nth-child(3) strong{color:var(--md-sys-color-error)}.portal-approval-summary__grid b{color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-13);margin-top:2px;font-weight:600;display:block}.portal-approval-workspace{grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start;gap:14px;display:grid}.portal-decision-log{border-radius:var(--md-sys-shape-corner-2xl);padding:20px;position:sticky;top:16px}.portal-decision-log p{margin-bottom:0}body:has(.portal-confirm-backdrop) .portal-dock{display:none}.portal-confirm-backdrop{z-index:40;background:color-mix(in srgb, var(--md-sys-color-scrim) 55%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.portal-confirm-sheet{border-radius:var(--md-sys-shape-corner-2xl);background:var(--md-sys-color-surface-container-high);border-color:#0000;width:min(100%,520px);max-height:calc(100dvh - 32px);padding:22px;animation:.28s cubic-bezier(.05,.7,.1,1) portal-sheet-up;overflow-y:auto;box-shadow:0 12px 34px #00000052}@keyframes portal-sheet-up{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes portal-pop-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.portal-confirm-sheet__price{color:var(--md-sys-color-primary);font-size:var(--portal-size-32);letter-spacing:-.03em;margin:16px 0;font-weight:700}.portal-confirm-sheet__note{color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-13);gap:8px;margin-bottom:10px;font-weight:600;display:grid}.portal-note-counter{color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-11);text-align:right;opacity:.7;margin-bottom:14px;font-weight:600}.portal-confirm-sheet__actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.portal-confirm-sheet__error{color:var(--md-sys-color-error);font-size:var(--portal-size-13);margin:8px 0 0;font-weight:600}.portal-confirm-sheet__actions button:disabled{opacity:.6;cursor:default}.portal-empty-state,.portal-error-state{text-align:center;flex-direction:column;align-items:center;padding:32px 22px;display:flex}.portal-empty-state p,.portal-error-state p{max-width:34ch}.portal-state-dot{background:var(--md-sys-color-primary);border-radius:50%;width:10px;height:10px;margin-bottom:12px;display:inline-block}.portal-error-state .portal-state-dot{background:var(--md-sys-color-error)}.portal-empty-state__ico{width:52px;height:52px;color:var(--md-sys-color-primary);background:color-mix(in srgb, var(--md-sys-color-primary) 14%, transparent);border-radius:16px;place-items:center;margin-bottom:14px;display:grid}.portal-error-state__ico{width:52px;height:52px;color:var(--md-sys-color-error);background:color-mix(in srgb, var(--md-sys-color-error) 14%, transparent);border-radius:16px;place-items:center;margin-bottom:14px;display:grid}.portal-empty-state__action{margin-top:16px}.portal-empty-state p,.portal-error-state p{margin-bottom:0}.portal-error-state .portal-btn{margin-top:14px}.portal-skeleton{gap:16px;display:grid}.portal-skeleton div{border-radius:var(--md-sys-shape-corner-2xl);background:linear-gradient(90deg, var(--md-sys-color-surface-container), var(--md-sys-color-surface-container-highest), var(--md-sys-color-surface-container));background-size:240% 100%;animation:1.4s ease-in-out infinite portal-skeleton-pulse}.portal-skeleton__hero{min-height:300px}.portal-skeleton__panel{min-height:150px}.portal-skeleton__panel.is-short{min-height:96px}@keyframes portal-skeleton-pulse{0%{background-position:0%}to{background-position:240%}}@media (prefers-reduced-motion:reduce){.portal-skeleton div{animation:none}}.portal-dock{z-index:20;position:fixed;inset:auto 0 0}@media (width<=960px){.portal-approval-workspace{grid-template-columns:minmax(0,1fr)}.portal-decision-log{position:static}}@media (width<=860px){.portal-header{flex-direction:column;align-items:stretch}.portal-header-card{min-width:0}.portal-grid,.portal-approval-list,.portal-approval-summary{grid-template-columns:minmax(0,1fr)}.portal-metrics,.portal-approval-summary__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.portal-approval-footer{display:grid}.portal-approval-actions{justify-content:stretch}.portal-approval-actions button{flex:auto;min-width:max-content}}@media (width<=520px){.portal-confirm-backdrop{padding:12px}.portal-confirm-sheet__actions{grid-template-columns:minmax(0,1fr)}}.assistant-screen{flex-direction:column;flex:1;gap:12px;min-height:0;max-height:calc(100dvh - 236px);display:flex}.assistant-intro{border-radius:var(--md-sys-shape-corner-large,16px);background:radial-gradient(120% 120% at 0% 0%, color-mix(in srgb, var(--md-sys-color-primary) 14%, transparent), transparent 60%), var(--md-sys-color-surface-container-high);border:1px solid color-mix(in srgb, var(--md-sys-color-primary) 22%, transparent);align-items:flex-start;gap:12px;padding:14px;display:flex}.assistant-intro__ico{width:40px;height:40px;color:var(--md-sys-color-on-primary);background:linear-gradient(140deg, var(--md-sys-color-primary), color-mix(in srgb, var(--md-sys-color-primary) 62%, #fff));border-radius:12px;flex:none;place-items:center;display:grid}.assistant-intro__text strong{font-size:var(--portal-size-16);color:var(--md-sys-color-on-surface);font-weight:700;display:block}.assistant-intro__text span{font-size:var(--portal-size-13);line-height:var(--portal-line-loose);color:var(--md-sys-color-on-surface-variant);margin-top:3px;display:block}.assistant-thread{flex-direction:column;flex:1;gap:14px;min-height:0;padding:4px 2px 20px;scroll-padding-bottom:20px;display:flex;overflow-y:auto}.assistant-msg{flex-direction:column;gap:8px;max-width:92%;display:flex}.assistant-msg--user{align-self:flex-end;align-items:flex-end}.assistant-msg--assistant{align-self:flex-start}.assistant-bubble{font-size:var(--portal-size-14);line-height:var(--portal-line-loose);white-space:pre-line;background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:16px;padding:11px 14px}.assistant-msg--user .assistant-bubble{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border-color:#0000;border-bottom-right-radius:5px}.assistant-msg--assistant .assistant-bubble{border-bottom-left-radius:5px}.assistant-bubble strong{font-weight:700}.assistant-card{border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-left:3px solid var(--md-sys-color-primary);gap:10px;width:100%;padding:14px;display:grid}.assistant-card--high{border-left-color:var(--md-sys-color-error)}.assistant-card--medium{border-left-color:var(--md-sys-color-warning)}.assistant-card--low{border-left-color:var(--md-sys-color-success)}.assistant-card__ai{border-radius:var(--md-sys-shape-corner-medium);background:color-mix(in srgb, var(--md-sys-color-primary) 8%, var(--md-sys-color-surface-container-high));font-size:var(--portal-size-12);line-height:var(--portal-line-loose);color:var(--md-sys-color-on-surface-variant);align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.assistant-card__ai-badge{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-size:var(--portal-size-11);letter-spacing:.04em;border-radius:999px;flex:none;padding:1px 7px;font-weight:700}.assistant-card__head{justify-content:space-between;align-items:center;gap:10px;display:flex}.assistant-card__zone{font-size:var(--portal-size-16);color:var(--md-sys-color-on-surface);font-weight:700}.assistant-badge{font-size:var(--portal-size-11);white-space:nowrap;background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface-variant);border-radius:999px;padding:3px 9px;font-weight:600}.assistant-badge--high{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.assistant-badge--medium{background:var(--md-sys-color-warning-container);color:var(--md-sys-color-on-warning-container)}.assistant-badge--low{background:var(--md-sys-color-success-container);color:var(--md-sys-color-on-success-container)}.assistant-card__checks{font-size:var(--portal-size-13);color:var(--md-sys-color-on-surface-variant);gap:4px;margin:0;padding-left:18px;display:grid}.assistant-card__foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.assistant-card__service{font-size:var(--portal-size-12);color:var(--md-sys-color-on-surface-variant)}.assistant-card__booked{font-size:var(--portal-size-13);color:var(--md-sys-color-success);font-weight:600}.assistant-book{cursor:pointer;font-size:var(--portal-size-13);background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:0;border-radius:999px;padding:9px 16px;font-weight:600}.assistant-quick{flex-wrap:wrap;gap:8px;display:flex}.assistant-chip{background:var(--md-sys-color-surface-container-highest,var(--md-sys-color-surface-container-high));color:var(--md-sys-color-on-surface);font-size:var(--portal-size-13);cursor:pointer;border:none;border-radius:999px;padding:9px 14px;font-weight:600;transition:filter .15s}.assistant-chip:hover{filter:brightness(1.12)}.assistant-input{align-items:center;gap:8px;display:flex}.assistant-input input{min-width:0;height:46px;font-size:var(--portal-size-14);background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface);border:1px solid var(--md-sys-color-outline);border-radius:999px;flex:1;padding:0 16px}.assistant-input input:focus{border-color:var(--md-sys-color-primary);outline:none}.assistant-input button{cursor:pointer;width:46px;height:46px;font-size:var(--portal-size-20);background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:0;border-radius:50%;flex:none}.assistant-input button:disabled{opacity:.45;cursor:default}.assistant-note{font-size:var(--portal-size-11);color:var(--md-sys-color-on-surface-variant);text-align:center;margin:0}.assistant-vehicle{display:flex}.assistant-vehicle__chip{cursor:pointer;border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container);max-width:100%;color:var(--md-sys-color-on-surface);font-size:var(--portal-size-13);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-weight:600;display:inline-flex;overflow:hidden}.assistant-vehicle__chip:hover{background:var(--md-sys-color-surface-container-high)}.assistant-vehicle__chip.is-active{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-color:#0000}.assistant-vehicle__pick{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.assistant-vehicle__label{color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-12)}.assistant-vehicle__icon{flex:none;align-items:center;display:inline-flex}.assistant-vehicle__form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 64px auto;gap:6px;width:100%;display:grid}.assistant-vehicle__form input{min-width:0;font-size:var(--portal-size-13);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);border-radius:10px;padding:8px 10px}.assistant-vehicle__form input:focus{border-color:var(--md-sys-color-primary);outline:none}.assistant-vehicle__done{cursor:pointer;font-size:var(--portal-size-13);background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:none;border-radius:10px;padding:8px 12px;font-weight:600}.assistant-card__service-row{background:var(--md-sys-color-surface-container-highest);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 10px;display:flex}.assistant-card__service-row .assistant-card__service{font-size:var(--portal-size-13);color:var(--md-sys-color-on-surface);font-weight:600}.assistant-card__estimate{font-size:var(--portal-size-13);color:var(--md-sys-color-primary);white-space:nowrap;font-weight:700}.assistant-card__dtc{gap:6px;margin:0;padding:0;list-style:none;display:grid}.assistant-dtc{border-radius:var(--md-sys-shape-corner-medium);background:var(--md-sys-color-surface-container-highest);border-left:3px solid var(--md-sys-color-outline);align-items:center;gap:10px;padding:7px 10px;display:flex}.assistant-dtc--high{border-left-color:var(--md-sys-color-error)}.assistant-dtc--medium{border-left-color:var(--md-sys-color-warning)}.assistant-dtc--low{border-left-color:var(--md-sys-color-success)}.assistant-dtc__code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:700;font-size:var(--portal-size-13);color:var(--md-sys-color-primary);white-space:nowrap}.assistant-dtc__title{font-size:var(--portal-size-12);color:var(--md-sys-color-on-surface-variant);line-height:var(--portal-line-normal)}.assistant-bubble--typing{color:var(--md-sys-color-on-surface-variant);font-style:italic}.public-estimate{background:var(--md-sys-color-surface);justify-content:center;align-items:flex-start;min-height:100vh;padding:24px 16px;display:flex}.public-estimate__card{border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);flex-direction:column;gap:18px;width:100%;max-width:560px;padding:24px;display:flex}.public-estimate__head{flex-direction:column;gap:4px;display:flex}.public-estimate__logo{object-fit:contain;align-self:flex-start;max-width:200px;max-height:48px;margin-bottom:6px}.public-estimate__kicker{font-size:var(--portal-size-12);letter-spacing:.08em;text-transform:uppercase;color:var(--md-sys-color-primary);font-weight:700}.public-estimate__head h1{font-size:var(--portal-size-22);color:var(--md-sys-color-on-surface);margin:0}.public-estimate__muted{font-size:var(--portal-size-13);color:var(--md-sys-color-on-surface-variant);margin:0}.public-estimate__vehicle{font-weight:600;font-size:var(--portal-size-14);background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;display:flex}.public-estimate__plate{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--portal-size-12);border-radius:var(--md-sys-shape-corner-extra-small);background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);padding:2px 8px}.public-estimate__items{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.public-estimate__item{border-bottom:1px solid var(--md-sys-color-outline-variant);justify-content:space-between;align-items:baseline;gap:12px;padding:12px 0;display:flex}.public-estimate__item-main{flex-direction:column;gap:2px;min-width:0;display:flex}.public-estimate__item-name{font-size:var(--portal-size-14);color:var(--md-sys-color-on-surface)}.public-estimate__item-note{font-size:var(--portal-size-12);color:var(--md-sys-color-on-surface-variant)}.public-estimate__item-price{font-weight:700;font-size:var(--portal-size-14);white-space:nowrap;color:var(--md-sys-color-on-surface)}.public-estimate__totals{flex-direction:column;align-items:stretch;gap:8px;display:flex}.public-estimate__total-row{font-size:var(--portal-size-14);color:var(--md-sys-color-on-surface-variant);justify-content:space-between;display:flex}.public-estimate__total-row--grand{font-size:var(--portal-size-18);color:var(--md-sys-color-on-surface);font-weight:800}.public-estimate__badge{font-size:var(--portal-size-12);border-radius:999px;align-self:flex-start;padding:4px 12px;font-weight:700}.public-estimate__badge--paid{background:var(--md-sys-color-success-container);color:var(--md-sys-color-on-success-container)}.public-estimate__badge--partial{background:var(--md-sys-color-warning-container);color:var(--md-sys-color-on-warning-container)}.public-estimate__badge--unpaid{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.public-estimate__note{font-size:var(--portal-size-11);color:var(--md-sys-color-on-surface-variant);text-align:center;margin:0}.portal-offline{text-align:center;font-size:var(--portal-size-12);background:var(--md-sys-color-warning-container);color:var(--md-sys-color-on-warning-container);justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-weight:600;display:flex}.portal-offline__dot{background:var(--md-sys-color-on-warning-container);opacity:.8;border-radius:50%;flex:none;width:8px;height:8px;animation:1.6s ease-in-out infinite portal-offline-pulse}@keyframes portal-offline-pulse{0%,to{opacity:.35}50%{opacity:.9}}.mat-ripple-ink{opacity:.22;pointer-events:none;background:currentColor;border-radius:50%;animation:.58s cubic-bezier(.2,.6,.3,1) forwards mat-ripple;position:absolute;transform:scale(0)}@keyframes mat-ripple{to{opacity:0;transform:scale(1)}}.ptr-indicator{z-index:55;background:var(--md-sys-color-surface-container-highest);width:40px;height:40px;box-shadow:0 4px 16px #00000038, 0 0 0 1px var(--md-sys-color-outline-variant);transform-origin:50%;pointer-events:none;will-change:transform, opacity;border-radius:50%;place-items:center;display:grid;position:fixed;top:-46px;left:50%}.ptr-indicator:not(.is-dragging){transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s}.ptr-spinner{place-items:center;width:22px;height:22px;display:grid}.ptr-indicator svg{display:block}.ptr-track{fill:none;stroke:var(--md-sys-color-outline-variant);stroke-width:2.5px}.ptr-arc{fill:none;stroke:var(--md-sys-color-primary);stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:57;transform-origin:50%;transform:rotate(-90deg)}.ptr-indicator.is-refreshing .ptr-spinner{animation:.9s linear infinite ptr-spin}.ptr-indicator.is-refreshing .ptr-arc{animation:1.4s ease-in-out infinite ptr-sweep}@keyframes ptr-spin{to{transform:rotate(360deg)}}@keyframes ptr-sweep{0%{stroke-dashoffset:52px}50%{stroke-dashoffset:14px}to{stroke-dashoffset:52px}}.portal-screen{animation:.22s both portal-screen-in}@keyframes portal-screen-in{0%{opacity:0}to{opacity:1}}.portal-grid>*,.portal-timeline>*,.portal-approval-list>*,.portal-decision-log__list>*{animation:.44s cubic-bezier(.2,.8,.2,1) both portal-rise-in}.portal-grid>:first-child,.portal-timeline>:first-child,.portal-approval-list>:first-child,.portal-decision-log__list>:first-child{animation-delay:40ms}.portal-grid>:nth-child(2),.portal-timeline>:nth-child(2),.portal-approval-list>:nth-child(2),.portal-decision-log__list>:nth-child(2){animation-delay:90ms}.portal-grid>:nth-child(3),.portal-timeline>:nth-child(3),.portal-approval-list>:nth-child(3),.portal-decision-log__list>:nth-child(3){animation-delay:.14s}.portal-grid>:nth-child(4),.portal-timeline>:nth-child(4),.portal-approval-list>:nth-child(4),.portal-decision-log__list>:nth-child(4){animation-delay:.19s}.portal-grid>:nth-child(n+5),.portal-timeline>:nth-child(n+5),.portal-approval-list>:nth-child(n+5),.portal-decision-log__list>:nth-child(n+5){animation-delay:.23s}@keyframes portal-rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.portal-dock button,.portal-approval-actions button,.portal-approval-card,.portal-home-cta,.portal-tab{transition:transform .12s cubic-bezier(.2,.8,.2,1),filter .15s,background .18s}.portal-dock button:active,.portal-approval-actions button:active,.portal-home-cta:active,.portal-tab:active{transform:scale(.96)}@media (prefers-reduced-motion:reduce){.ptr-indicator.is-refreshing .ptr-spinner{animation-duration:1.6s}.ptr-indicator.is-refreshing .ptr-arc{stroke-dashoffset:28px;animation:none}.portal-screen,.portal-grid>*,.portal-timeline>*,.portal-approval-list>*,.portal-confirm-sheet,.portal-notif-panel,.portal-health,.portal-garage-car__health,.portal-decision-log__list>*{animation:none}.portal-dock button:active,.portal-approval-actions button:active,.portal-home-cta:active,.portal-tab:active{transform:none}.portal-progress__track i{transition:none}}.portal-main{padding-bottom:calc(var(--portal-dock-height,calc(73px + env(safe-area-inset-bottom))) + 16px)}.portal-main--assistant{padding-bottom:var(--portal-dock-height,calc(73px + env(safe-area-inset-bottom)))}@media (pointer:coarse){button,summary,select,[role=button],input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]){min-height:48px!important}}@media print{.portal-dock,.portal-fab,.portal-header__actions,.portal-confirm-sheet,[role=dialog],[aria-modal=true]{display:none!important}:root,body{color:#000!important;background:#fff!important}.portal-card,.portal-header-card,.assistant-card{break-inside:avoid;box-shadow:none!important;background:#fff!important;border:1px solid #999!important}.portal-timeline__item,.portal-repair-item,.portal-history__item{break-inside:avoid}}@media (forced-colors:active){.portal-card,.portal-header-card,.portal-chip,.portal-pill,[class*=-pill],[class*=-chip],button,input,select,textarea{border:1px solid buttontext}.is-selected,[aria-selected=true],[aria-current=page]{color:highlighttext;forced-color-adjust:none;background:highlight;border-color:highlight}:focus-visible{outline-offset:2px;outline:3px solid highlight}}.portal-garage{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.portal-garage-list{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@media (width>=720px){.portal-garage-list{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-garage-list__note{grid-column:auto}}.portal-garage-list__note{border:1px dashed var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-large);text-align:center;color:var(--md-sys-color-on-surface-variant);grid-column:1/-1;justify-items:center;gap:10px;margin-top:4px;padding:22px 20px;display:grid}.portal-garage-list__note-ico{color:var(--md-sys-color-primary);opacity:.85}.portal-garage-list__note p{max-width:42ch;font-size:var(--portal-size-13);line-height:var(--portal-line-loose);margin:0}.portal-garage-list__note-cta{margin-top:2px}.portal-garage-summary{text-align:left;border-radius:var(--md-sys-shape-corner-2xl);border:1px solid color-mix(in srgb, var(--md-sys-color-outline-variant) 45%, transparent);background:var(--md-sys-color-surface-container-high);align-items:center;gap:14px;width:100%;padding:14px 16px;display:flex;box-shadow:inset 0 1px #ffffff08,0 6px 18px #00000052}.portal-garage-summary:hover{background:var(--md-sys-color-surface-container-highest,var(--md-sys-color-surface-container-high))}.portal-garage-summary__ring{--ring-r:23.49px;--ring-cap:7.02px;width:54px;height:54px;color:var(--md-sys-color-outline);background:radial-gradient(closest-side, var(--md-sys-color-surface-container-high) 74%, transparent 75%), conic-gradient(currentColor calc(var(--health-value,0) * 1%), color-mix(in srgb, var(--md-sys-color-outline-variant) 55%, transparent) 0);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.portal-garage-summary.is-critical .portal-garage-summary__ring{color:var(--md-sys-color-error)}.portal-garage-summary.is-attention .portal-garage-summary__ring{color:var(--md-sys-color-warning)}.portal-garage-summary.is-stable .portal-garage-summary__ring{color:var(--md-sys-color-primary)}.portal-garage-summary__ring b{font-size:var(--portal-size-18);letter-spacing:-.03em;color:var(--md-sys-color-on-surface);font-weight:800}.portal-garage-summary__ring.is-empty{border:1px dashed color-mix(in srgb, var(--md-sys-color-outline) 55%, transparent);color:var(--md-sys-color-outline);background:0 0}.portal-garage-summary__ring.is-empty:before,.portal-garage-summary__ring.is-empty:after{content:none}.portal-garage-summary__body{flex:auto;gap:4px;min-width:0;display:grid}.portal-garage-summary__body strong{font-size:var(--portal-size-18);letter-spacing:-.01em;color:var(--md-sys-color-on-surface);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.portal-garage-summary__meta{font-size:var(--portal-size-13);color:var(--md-sys-color-on-surface-variant);flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;display:flex}.portal-garage-summary__status{font-size:var(--portal-size-13);color:var(--md-sys-color-on-surface-variant);align-items:center;gap:7px;font-weight:700;display:inline-flex}.portal-garage-summary__status:before{content:"";background:var(--md-sys-color-outline);border-radius:50%;width:8px;height:8px}.portal-garage-summary__status.is-critical{color:var(--md-sys-color-error)}.portal-garage-summary__status.is-critical:before{background:var(--md-sys-color-error)}.portal-garage-summary__status.is-attention{color:var(--md-sys-color-warning)}.portal-garage-summary__status.is-attention:before{background:var(--md-sys-color-warning)}.portal-garage-summary__status.is-stable{color:var(--md-sys-color-primary)}.portal-garage-summary__status.is-stable:before{background:var(--md-sys-color-primary)}.portal-garage-summary__chevron{color:var(--md-sys-color-on-surface-variant);flex:none}.portal-plate--sm{font-size:var(--portal-size-12);border-radius:var(--md-sys-shape-corner-extra-small);padding:2px 8px}.portal-garage-detail{gap:12px;display:grid}.portal-back{border-radius:var(--md-sys-shape-corner-full,999px);background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);font-size:var(--portal-size-13);align-self:start;align-items:center;gap:4px;padding:8px 14px 8px 8px;font-weight:700;display:inline-flex}.portal-back:hover{background:var(--md-sys-color-surface-container-highest,var(--md-sys-color-surface-container-high))}.portal-back__ico{transform:rotate(180deg)}.portal-rec__book{border-radius:var(--md-sys-shape-corner-full,999px);background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-size:var(--portal-size-13);margin-top:10px;padding:8px 16px;font-weight:700}.portal-rec__book:hover{filter:brightness(1.06)}.portal-booking__car{border-radius:var(--md-sys-shape-corner-full,999px);background:color-mix(in srgb, var(--md-sys-color-primary) 12%, var(--md-sys-color-surface-container-high));color:var(--md-sys-color-on-surface);font-size:var(--portal-size-14);align-items:center;gap:8px;margin:4px 0 14px;padding:8px 14px;font-weight:700;display:inline-flex}.portal-booking__field{margin-bottom:16px;display:block}.portal-booking__field>span{font-size:var(--portal-size-13);color:var(--md-sys-color-on-surface-variant);margin-bottom:8px;font-weight:600;display:block}.portal-booking__field textarea,.portal-booking__field input{box-sizing:border-box;border-radius:var(--md-sys-shape-corner-large,14px);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-high);width:100%;color:var(--md-sys-color-on-surface);font-size:var(--portal-size-14);resize:vertical;padding:12px 14px}.portal-booking__field textarea:focus,.portal-booking__field input:focus{border-color:var(--md-sys-color-primary);outline:none}.portal-booking__chips{flex-wrap:wrap;gap:8px;display:flex}.portal-booking__chips button{border-radius:var(--md-sys-shape-corner-full,999px);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-13);padding:9px 14px;font-weight:600}.portal-booking__chips button.is-active{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-color:#0000;font-weight:700}.portal-booking__chips button.is-full{opacity:.5;cursor:default;text-decoration:line-through}.portal-booking__done{text-align:center;justify-items:center;gap:8px;padding:8px 0;display:grid}.portal-booking__done-ico{border-radius:var(--md-sys-shape-corner-large);width:56px;height:56px;color:var(--md-sys-color-on-primary);background:linear-gradient(140deg, var(--md-sys-color-primary), color-mix(in srgb, var(--md-sys-color-primary) 62%, #fff));place-items:center;margin-bottom:4px;display:grid}.portal-booking__done .portal-btn{margin-top:10px}.portal-booking__loading{font-size:var(--portal-size-13);color:var(--md-sys-color-on-surface-variant);margin:0}.portal-booking__cities{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.portal-booking__cities button{border-radius:var(--md-sys-shape-corner-full,999px);border:1px solid var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-12);background:0 0;padding:7px 13px;font-weight:600}.portal-booking__cities button.is-active{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-color:#0000;font-weight:700}.portal-booking__geo{border-radius:var(--md-sys-shape-corner-full,999px);border:1px solid color-mix(in srgb, var(--md-sys-color-primary) 40%, var(--md-sys-color-outline-variant));background:color-mix(in srgb, var(--md-sys-color-primary) 10%, transparent);color:var(--md-sys-color-primary);font-size:var(--portal-size-12);align-items:center;gap:4px;padding:7px 13px;font-weight:700;display:inline-flex}.portal-booking__geo:disabled{opacity:.6}.portal-booking__services{gap:8px;display:grid}.portal-booking__service{text-align:left;border-radius:var(--md-sys-shape-corner-large,14px);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-high);gap:3px;padding:12px 14px;display:grid}.portal-booking__service.is-active{border-color:var(--md-sys-color-primary);background:color-mix(in srgb, var(--md-sys-color-primary) 10%, var(--md-sys-color-surface-container-high))}.portal-booking__service-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.portal-booking__service-head strong{font-size:var(--portal-size-14);color:var(--md-sys-color-on-surface);font-weight:700}.portal-booking__service-head em{font-style:normal;font-size:var(--portal-size-11);background:color-mix(in srgb, var(--md-sys-color-primary) 16%, transparent);color:var(--md-sys-color-primary);border-radius:999px;padding:1px 8px;font-weight:700}.portal-booking__service-addr{font-size:var(--portal-size-12);color:var(--md-sys-color-on-surface-variant)}.portal-booking__note{font-size:var(--portal-size-12);line-height:var(--portal-line-loose);color:var(--md-sys-color-on-surface-variant);margin:10px 0 0}.portal-garage-car{gap:12px;display:grid}.portal-garage-car__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.portal-garage-car__id{min-width:0}.portal-garage-car__id .portal-car-hero__meta{margin-top:8px}.portal-garage-car__mileage{color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-14);margin-top:6px}.portal-garage-car__issues{color:var(--md-sys-color-primary);font-size:var(--portal-size-13);margin-top:10px;font-weight:600}.portal-garage-car__recs{margin-top:12px}.portal-garage-car__recs-title{color:var(--md-sys-color-primary);font-size:var(--portal-size-13);margin:0 0 8px;font-weight:700}.portal-rec-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.portal-rec{border-bottom:1px solid var(--md-sys-color-outline-variant);background:0 0;grid-template-columns:1fr auto;align-items:center;gap:6px 10px;padding:14px 0;display:grid}.portal-rec-list>.portal-rec:first-child{padding-top:4px}.portal-rec-list>.portal-rec:last-child{border-bottom:none;padding-bottom:2px}.portal-rec__badge{font-size:var(--portal-size-11);letter-spacing:.02em;color:var(--md-sys-color-on-surface);background:var(--md-sys-color-surface-container-highest,var(--md-sys-color-surface-container-high));white-space:nowrap;border-radius:999px;grid-area:1/1;justify-self:start;padding:4px 12px;font-weight:700}.portal-rec.is-crit .portal-rec__badge,.portal-rec.is-overdue .portal-rec__badge{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.portal-rec.is-attn .portal-rec__badge,.portal-rec.is-soon .portal-rec__badge{background:var(--md-sys-color-warning-container);color:var(--md-sys-color-on-warning-container)}.portal-rec.is-warn .portal-rec__badge{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.portal-rec.is-active .portal-rec__badge{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.portal-rec__body{grid-area:2/1/auto/-1;min-width:0}.portal-rec__name{font-size:var(--portal-size-13);color:var(--md-sys-color-on-surface);margin:0;font-weight:600}.portal-rec__hint{font-size:var(--portal-size-12);color:var(--md-sys-color-on-surface-variant);margin:2px 0 0}.portal-rec__when{font-size:var(--portal-size-12);color:var(--md-sys-color-on-surface-variant);margin:4px 0 0}.portal-rec__when strong{color:var(--md-sys-color-on-surface);font-weight:600}.portal-rec__cost{font-size:var(--portal-size-13);color:var(--md-sys-color-on-surface);grid-area:1/2;justify-self:end;font-weight:700}.portal-garage-car__health{--ring-r:38.72px;--ring-cap:10.56px;width:88px;height:88px;color:var(--md-sys-color-primary);background:radial-gradient(closest-side, var(--md-sys-color-surface-container-high) 76%, transparent 77%), conic-gradient(currentColor calc(var(--health-value,0) * 1%), color-mix(in srgb, var(--md-sys-color-outline-variant) 55%, transparent) 0);border:none;border-radius:50%;flex-direction:column;flex:none;justify-content:center;align-items:center;display:flex;position:relative}.portal-garage-car__health b{font-size:var(--portal-size-28);letter-spacing:-.03em;color:var(--md-sys-color-on-surface);font-weight:800;line-height:1}.portal-garage-car__health span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.portal-garage-car__health.is-stable{color:var(--md-sys-color-primary)}.portal-garage-car__health.is-attention{color:var(--md-sys-color-warning)}.portal-garage-car__health.is-critical{color:var(--md-sys-color-error)}.portal-garage-car__health.is-unknown{color:var(--md-sys-color-outline)}.portal-garage-car__mileage-note{color:var(--md-sys-color-on-surface-variant);flex:1 0 100%;font-size:12px}.portal-garage-car__mileage-stale{color:var(--md-sys-color-warning,#b26a00);flex:1 0 100%;margin-top:2px;font-size:12px;font-weight:600}.portal-garage-car__mileage-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.portal-garage-car__empty{text-align:center;border-radius:var(--portal-radius-md,16px);background:var(--md-sys-color-surface-container-high);border:1px dashed var(--md-sys-color-outline-variant,var(--md-sys-color-outline));flex-direction:column;align-items:center;gap:8px;margin-top:20px;padding:24px 16px;display:flex}.portal-garage-car__empty-ico{color:var(--md-sys-color-primary);opacity:.9}.portal-garage-car__empty-title{font-size:var(--portal-size-16);color:var(--md-sys-color-on-surface);margin:4px 0 0;font-weight:700}.portal-garage-car__empty-text{max-width:34ch;font-size:var(--portal-size-13);color:var(--md-sys-color-on-surface-variant);margin:0}.portal-garage-car__empty-book{margin-top:8px}.portal-btn-inline{border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);font-size:var(--portal-size-13);cursor:pointer;border:none;flex:none;padding:8px 16px;font-weight:700;transition:filter .15s}.portal-btn-inline:hover{filter:brightness(1.08)}.portal-mileage-editor{flex-direction:column;gap:10px;margin-top:8px;display:flex}.portal-mileage-editor__field{color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-12);flex-direction:column;gap:4px;font-weight:600;display:flex}.portal-mileage-editor__field input{border-radius:var(--md-sys-shape-corner-medium,12px);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);font-size:var(--portal-size-16);padding:10px 12px;font-weight:600}.portal-mileage-editor__field input:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:1px}.portal-mileage-editor__error{color:var(--md-sys-color-error);font-size:var(--portal-size-13);margin:0;font-weight:600}.portal-mileage-editor__actions{justify-content:flex-end;gap:8px;display:flex}.portal-btn,.portal-btn-ghost{border-radius:var(--md-sys-shape-corner-large);font-size:var(--portal-size-14);cursor:pointer;padding:10px 16px;font-weight:600}.portal-btn{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:none}.portal-btn-ghost{border:1px solid var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface);background:0 0}.portal-btn:disabled,.portal-btn-ghost:disabled{opacity:.6;cursor:default}.portal-install{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px 12px;display:grid}.portal-install__ico{border-radius:var(--md-sys-shape-corner-medium);background:var(--md-sys-color-secondary-container);width:36px;height:36px;color:var(--md-sys-color-on-secondary-container);place-items:center;display:grid}.portal-install__body{min-width:0}.portal-install__body strong{font-size:15px;line-height:var(--portal-line-normal);color:var(--md-sys-color-on-surface);display:block}.portal-install__body p{color:var(--md-sys-color-on-surface-variant);font-size:13px;line-height:var(--portal-line-loose);margin:4px 0 0}.portal-install__actions{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.portal-install__note{color:var(--md-sys-color-error);font-size:12px;line-height:var(--portal-line-loose);margin:6px 0 0}.portal-rec__source{color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-11);margin:4px 0 0}.portal-approval-basis{color:var(--md-sys-color-on-surface-variant);font-size:var(--portal-size-12);margin:6px 0 0;line-height:1.45}.portal-pending{border:1px solid var(--md-sys-color-warning);background:var(--md-sys-color-surface-container-low);gap:8px;display:grid}.portal-pending>h2{overflow-wrap:anywhere;min-width:0;margin:0}.portal-pending__sum{color:var(--md-sys-color-on-surface);font-size:var(--portal-size-16);margin:0;font-weight:600}.portal-pending__cta{justify-self:stretch;min-height:44px}.portal-timeline-now{border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-large,18px);background:var(--md-sys-color-surface-container-low);gap:8px;margin-bottom:16px;padding:14px 16px;display:grid}.portal-timeline-now__title{color:var(--md-sys-color-on-surface);margin:0;font-weight:600}.portal-timeline-now ul{gap:4px;margin:0;padding-left:20px;display:grid}.portal-timeline-now small{color:var(--md-sys-color-on-surface-variant);font-size:12px}.portal-login-hint{color:var(--md-sys-color-on-surface-variant);font-size:12px;line-height:1.4;display:block}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}
