*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,Segoe UI,system-ui,-apple-system,Roboto,Arial,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{color-scheme:light;--font-body:"Inter","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;--font-display:"Inter","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;--background:#e9edf1;--card:#fff;--card-sunken:#f3f5f8;--foreground:#12161c;--muted:rgba(18,24,33,.06);--muted-foreground:#556170;--accent:#eef1f5;--border:rgba(18,24,33,.12);--border-strong:rgba(18,24,33,.22);--color-background-light:#e9edf1;--color-background-dark:#090b0e;--color-card-light:#fff;--color-card-dark:#12161b;--color-modal-light:#fff;--color-modal-dark:#12161b;--a-200:255 226 222;--a-300:255 166 158;--a-400:240 86 74;--a-500:218 37 40;--a-600:184 24 30;--a-700:140 16 22;--primary:rgb(var(--a-500));--primary-glow:rgb(var(--a-500)/0.2);--color-accent-blue:rgb(var(--a-500));--on-primary:#fff;--gauge-ok:#17b26a;--gauge-warn:#f5a524;--gauge-bad:#f04438;--gauge-info:#2e90fa;--shadow-sm:0 1px 2px rgba(15,23,42,.06),0 2px 6px rgba(15,23,42,.05);--shadow-md:0 8px 24px -6px rgba(15,23,42,.16),0 2px 6px rgba(15,23,42,.06);--shadow-lg:0 24px 60px -12px rgba(15,23,42,.32);--edge-light:inset 0 1px 0 hsla(0,0%,100%,.7);--radius-sm:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--gap:clamp(0.75rem,0.5rem + 1vw,1.5rem);--page-pad:clamp(1rem,0.6rem + 1.6vw,2rem);--touch:2.75rem;--ease:cubic-bezier(0.2,0.8,0.2,1)}.dark{color-scheme:dark;--background:#090b0e;--card:#12161b;--card-sunken:#0d1014;--foreground:#eef1f5;--muted:hsla(0,0%,100%,.06);--muted-foreground:#97a3b3;--accent:#1a1f26;--border:hsla(0,0%,100%,.09);--border-strong:hsla(0,0%,100%,.18);--shadow-sm:0 1px 2px rgba(0,0,0,.5);--shadow-md:0 10px 30px -8px rgba(0,0,0,.7);--shadow-lg:0 30px 70px -12px rgba(0,0,0,.85);--edge-light:inset 0 1px 0 hsla(0,0%,100%,.06)}html[data-accent=racing]{--a-200:255 226 222;--a-300:255 166 158;--a-400:240 86 74;--a-500:218 37 40;--a-600:184 24 30;--a-700:140 16 22}html.dark[data-accent=racing]{--a-200:120 26 26;--a-300:255 130 120;--a-400:255 92 80;--a-500:255 68 56;--a-600:228 44 36;--a-700:170 28 24}html[data-accent=blue]{--a-200:214 232 255;--a-300:150 196 255;--a-400:60 140 250;--a-500:21 112 239;--a-600:16 88 200;--a-700:12 66 150}html.dark[data-accent=blue]{--a-200:20 50 100;--a-300:130 186 255;--a-400:84 160 255;--a-500:64 148 255;--a-600:40 120 235;--a-700:20 84 180}html[data-accent=indigo]{--a-200:228 224 255;--a-300:180 170 255;--a-400:130 110 245;--a-500:99 79 230;--a-600:78 58 200;--a-700:58 42 150}html.dark[data-accent=indigo]{--a-200:50 40 110;--a-300:176 164 255;--a-400:150 130 255;--a-500:132 112 255;--a-600:108 88 240;--a-700:80 62 190}html[data-accent=emerald]{--a-200:208 245 226;--a-300:130 224 178;--a-400:40 190 122;--a-500:12 160 100;--a-600:8 128 80;--a-700:6 96 62}html.dark[data-accent=emerald]{--a-200:12 70 46;--a-300:110 231 175;--a-400:52 211 140;--a-500:34 197 120;--a-600:20 170 100;--a-700:14 120 74}html[data-accent=rose]{--a-200:255 222 236;--a-300:250 160 200;--a-400:240 90 160;--a-500:219 39 119;--a-600:186 26 98;--a-700:140 18 74}html.dark[data-accent=rose]{--a-200:100 20 60;--a-300:255 150 200;--a-400:250 100 170;--a-500:244 72 150;--a-600:220 44 126;--a-700:170 28 96}html[data-accent=amber]{--a-200:255 238 204;--a-300:255 214 130;--a-400:245 170 30;--a-500:217 138 0;--a-600:176 108 0;--a-700:130 78 0}html.dark[data-accent=amber]{--a-200:90 60 0;--a-300:255 214 130;--a-400:255 190 60;--a-500:255 176 32;--a-600:234 150 10;--a-700:180 110 0}html[data-accent=amber]{--on-primary:#1a1200}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-size:1rem;line-height:1.5;color:var(--foreground);background-color:var(--background);background-image:radial-gradient(60rem 24rem at 80% -8rem,rgb(var(--a-500)/.1),transparent 70%),radial-gradient(40rem 20rem at 0 0,rgb(var(--a-500)/.05),transparent 70%);background-attachment:fixed;font-feature-settings:"cv11","ss01";font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-wrap:break-word;text-rendering:optimizeLegibility;transition:background-color .3s var(--ease),color .3s var(--ease)}.dark body{background-image:radial-gradient(60rem 26rem at 85% -10rem,rgb(var(--a-500)/.16),transparent 70%),radial-gradient(40rem 24rem at 0 0,rgb(var(--a-500)/.07),transparent 70%)}*{min-width:0}canvas,img,svg,video{max-width:100%}img{height:auto}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.2;letter-spacing:-.02em;text-wrap:balance}h1{font-size:clamp(1.5rem,1.25rem + 1.2vw,2.1rem)}h2{font-size:clamp(1.15rem,1.05rem + .6vw,1.45rem)}h3{font-size:clamp(1rem,.95rem + .3vw,1.15rem)}p{text-wrap:pretty}.compact-kpi-value,.sim-total,.tabular,.tco-total,[class*=text-3xl],[class*=text-4xl],[class*=text-5xl]{font-variant-numeric:tabular-nums}::-moz-selection{background:rgb(var(--a-500)/.28)}::selection{background:rgb(var(--a-500)/.28)}:focus-visible{outline:2px solid rgb(var(--a-500));outline-offset:2px;border-radius:.25rem}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:.6rem;height:.6rem}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:9999px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--hub-c0:#2563eb;--hub-c1:#ea580c;--hub-c2:#0d9488;--hub-c3:#c026d3;--hub-like:#e11d48;--hub-good:#0e9a58;--hub-bad:#d92d20}.dark{--hub-c0:#60a5fa;--hub-c1:#fb923c;--hub-c2:#2dd4bf;--hub-c3:#e879f9;--hub-like:#fb7185;--hub-good:#4ade9b;--hub-bad:#ff8a80}.container{width:100%}@media (min-width:30rem){.container{max-width:30rem}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.skip-link{position:fixed;left:1rem;top:-4rem;z-index:200;padding:.6rem 1rem;border-radius:var(--radius-md);background:rgb(var(--a-500));color:var(--on-primary);font-weight:700;transition:top .2s var(--ease)}.skip-link:focus{top:1rem}.app-main{width:100%;min-height:100dvh;padding:4.75rem var(--page-pad) calc(var(--page-pad) + env(safe-area-inset-bottom));position:relative;z-index:10}.app-content{width:100%;max-width:88rem;margin-inline:auto}@media (min-width:768px){.app-main{margin-left:16rem;width:calc(100% - 16rem);padding-top:var(--page-pad)}}:root{--mobile-bar-h:calc(3.5rem + env(safe-area-inset-top))}.mobile-bar{position:fixed;inset:0 0 auto 0;z-index:60;height:var(--mobile-bar-h);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.25rem;padding:env(safe-area-inset-top) .5rem 0;background:rgba(11,13,16,.86);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid hsla(0,0%,100%,.08);box-shadow:0 8px 24px -12px rgba(0,0,0,.6);color:#eef1f5;transform:translateY(0);transition:transform .3s var(--ease),box-shadow .3s var(--ease),background-color .3s;will-change:transform}.mobile-bar.is-hidden{transform:translateY(-100%);box-shadow:none}.mobile-bar.is-scrolled{background:rgba(11,13,16,.94)}.mobile-bar-brand{display:flex;align-items:center;padding-left:.25rem;min-width:0}.hamburger{position:relative;display:block;width:1.3rem;height:.95rem}.hamburger span{position:absolute;left:0;width:100%;height:.125rem;border-radius:9999px;background:currentColor;transition:transform .3s var(--ease),opacity .2s,top .3s var(--ease),width .3s var(--ease)}.hamburger span:first-child{top:0}.hamburger span:nth-child(2){top:calc(50% - .0625rem);width:70%}.hamburger span:nth-child(3){top:calc(100% - .125rem)}.mobile-menu-btn[aria-expanded=true] .hamburger span:first-child{top:calc(50% - .0625rem);transform:rotate(45deg)}.mobile-menu-btn[aria-expanded=true] .hamburger span:nth-child(2){opacity:0;transform:translateX(-.5rem)}.mobile-menu-btn[aria-expanded=true] .hamburger span:nth-child(3){top:calc(50% - .0625rem);transform:rotate(-45deg)}.mobile-menu-btn[aria-expanded=true]{background:rgb(var(--a-500)/.16);color:#fff}.mobile-bar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,rgb(var(--a-500)),rgb(var(--a-500)/.15) 60%,transparent)}.mobile-bar-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--touch);height:var(--touch);border-radius:var(--radius-md);color:#eef1f5;transition:background-color .2s,transform .15s var(--ease)}.mobile-bar-btn:hover{background:hsla(0,0%,100%,.08)}.mobile-bar-btn:active{transform:scale(.92)}.\!sidebar{--foreground:#eef1f5!important;--muted-foreground:#8b97a7!important;--muted:hsla(0,0%,100%,.06)!important;--accent:hsla(0,0%,100%,.06)!important;--border:hsla(0,0%,100%,.09)!important;--card:#12161b!important;color:var(--foreground)!important;background-color:#0a0c0f!important;background-image:linear-gradient(135deg,hsla(0,0%,100%,.025) 25%,transparent 0),linear-gradient(225deg,hsla(0,0%,100%,.025) 25%,transparent 0),linear-gradient(315deg,hsla(0,0%,100%,.025) 25%,transparent 0),linear-gradient(45deg,hsla(0,0%,100%,.025) 25%,transparent 0)!important;background-size:.5rem .5rem!important;border-right:1px solid hsla(0,0%,100%,.07)!important;box-shadow:8px 0 32px -16px rgba(0,0,0,.7)!important;width:min(19rem,86vw)!important;overscroll-behavior:contain!important;position:fixed!important;left:0!important;z-index:50!important;top:var(--mobile-bar-h)!important;height:calc(100dvh - var(--mobile-bar-h))!important;transform:translateX(-100%)!important;visibility:hidden!important;transition:transform .35s var(--ease),visibility 0s linear .35s!important}.sidebar{--foreground:#eef1f5;--muted-foreground:#8b97a7;--muted:hsla(0,0%,100%,.06);--accent:hsla(0,0%,100%,.06);--border:hsla(0,0%,100%,.09);--card:#12161b;color:var(--foreground);background-color:#0a0c0f;background-image:linear-gradient(135deg,hsla(0,0%,100%,.025) 25%,transparent 0),linear-gradient(225deg,hsla(0,0%,100%,.025) 25%,transparent 0),linear-gradient(315deg,hsla(0,0%,100%,.025) 25%,transparent 0),linear-gradient(45deg,hsla(0,0%,100%,.025) 25%,transparent 0);background-size:.5rem .5rem;border-right:1px solid hsla(0,0%,100%,.07);box-shadow:8px 0 32px -16px rgba(0,0,0,.7);width:min(19rem,86vw);overscroll-behavior:contain;position:fixed;left:0;z-index:50;top:var(--mobile-bar-h);height:calc(100dvh - var(--mobile-bar-h));transform:translateX(-100%);visibility:hidden;transition:transform .35s var(--ease),visibility 0s linear .35s}.\!sidebar.is-open{transform:translateX(0)!important;visibility:visible!important;transition:transform .35s var(--ease),visibility 0s!important}.sidebar.is-open{transform:translateX(0);visibility:visible;transition:transform .35s var(--ease),visibility 0s}.\!sidebar.is-dragging{transition:none!important}.sidebar.is-dragging{transition:none}@media (min-width:768px){.sidebar,.sidebar.is-open{width:16rem;top:0;height:100dvh;transform:none;visibility:visible;transition:none}.\!sidebar,.\!sidebar.is-open{width:16rem!important;top:0!important;height:100dvh!important;transform:none!important;visibility:visible!important;transition:none!important}}.\!sidebar:before{content:""!important;position:absolute!important;inset:0 0 auto 0!important;height:3px!important;background:linear-gradient(90deg,rgb(var(--a-500)),rgb(var(--a-400)) 40%,transparent)!important}.sidebar:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,rgb(var(--a-500)),rgb(var(--a-400)) 40%,transparent)}.sidebar-overlay{position:fixed;inset:var(--mobile-bar-h) 0 0 0;z-index:45;background:rgba(4,6,9,.6);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility 0s linear .35s}.sidebar-overlay.is-visible{opacity:1;visibility:visible;transition:opacity .35s var(--ease),visibility 0s}@media (min-width:768px){.sidebar-overlay{display:none}}@media (max-width:767.98px){.sidebar #searchTrigger,.sidebar .sidebar-nav-section,.sidebar .sidebar-profile-wrap{opacity:0;transform:translateX(-.75rem);transition:opacity .3s var(--ease),transform .35s var(--ease)}.sidebar.is-open #searchTrigger,.sidebar.is-open .sidebar-nav-section,.sidebar.is-open .sidebar-profile-wrap{opacity:1;transform:none}.sidebar.is-open #searchTrigger{transition-delay:.05s}.sidebar.is-open .sidebar-nav-section:first-child{transition-delay:.09s}.sidebar.is-open .sidebar-nav-section:nth-child(2){transition-delay:.13s}.sidebar.is-open .sidebar-nav-section:nth-child(3){transition-delay:.17s}.sidebar.is-open .sidebar-nav-section:nth-child(4){transition-delay:.21s}.sidebar.is-open .sidebar-nav-section:nth-child(5){transition-delay:.25s}.sidebar.is-open .sidebar-profile-wrap{transition-delay:.29s}.\!sidebar #searchTrigger,.\!sidebar .sidebar-nav-section,.\!sidebar .sidebar-profile-wrap{opacity:0!important;transform:translateX(-.75rem)!important;transition:opacity .3s var(--ease),transform .35s var(--ease)!important}.\!sidebar.is-open #searchTrigger,.\!sidebar.is-open .sidebar-nav-section,.\!sidebar.is-open .sidebar-profile-wrap{opacity:1!important;transform:none!important}.\!sidebar.is-open #searchTrigger{transition-delay:.05s!important}.\!sidebar.is-open .sidebar-nav-section:first-child{transition-delay:.09s!important}.\!sidebar.is-open .sidebar-nav-section:nth-child(2){transition-delay:.13s!important}.\!sidebar.is-open .sidebar-nav-section:nth-child(3){transition-delay:.17s!important}.\!sidebar.is-open .sidebar-nav-section:nth-child(4){transition-delay:.21s!important}.\!sidebar.is-open .sidebar-nav-section:nth-child(5){transition-delay:.25s!important}.\!sidebar.is-open .sidebar-profile-wrap{transition-delay:.29s!important}}.sidebar-scrollable{scrollbar-color:hsla(0,0%,100%,.18) transparent}.sidebar-nav{gap:.9rem}.sidebar-nav,.sidebar-nav-section{display:flex;flex-direction:column}.sidebar-nav-section{gap:.25rem}.sidebar-nav-toggle{width:100%;min-height:var(--touch);display:flex;align-items:center;gap:.6rem;padding:.35rem .5rem;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left;border-radius:var(--radius-md);-webkit-tap-highlight-color:transparent;transition:background-color .2s}.sidebar-nav-toggle:active,.sidebar-nav-toggle:hover{background:var(--muted)}.sidebar-nav-title-wrap{flex:1;display:flex;align-items:center;gap:.55rem}.sidebar-nav-count{min-width:1.35rem;height:1.35rem;padding:0 .35rem;display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;font-size:.7rem;font-weight:600;color:var(--muted-foreground);background:var(--muted);transition:opacity .2s}.sidebar-nav-toggle.is-open .sidebar-nav-count{opacity:0}.sidebar-nav-group-icon{width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.4rem;background:rgb(var(--a-500)/.14);color:rgb(var(--a-400));flex-shrink:0}.sidebar-nav-title{margin:0;font-family:var(--font-display);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}.sidebar-nav-chevron{display:inline-flex;color:var(--muted-foreground);transition:transform .3s var(--ease)}.sidebar-nav-toggle.is-open .sidebar-nav-title,.sidebar-nav-toggle:hover .sidebar-nav-title{color:var(--foreground)}.sidebar-nav-toggle.is-open .sidebar-nav-chevron{transform:rotate(180deg)}.sidebar-nav-list{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .3s var(--ease),opacity .25s var(--ease)}.sidebar-nav-list.is-open{grid-template-rows:1fr;opacity:1}.sidebar-nav-list-inner{overflow:hidden;display:flex;flex-direction:column;gap:.2rem;padding-left:.4rem;margin-left:.85rem;border-left:1px solid var(--border)}.sidebar-nav-list.is-open .sidebar-nav-list-inner{padding-top:.2rem}.sidebar-nav-list:not(.is-open) .nav-link{visibility:hidden;transition:visibility 0s linear .3s}.nav-link{position:relative;display:flex;align-items:center;gap:.75rem;min-height:var(--touch);padding:.5rem .85rem .5rem 1rem;border-radius:var(--radius-md);color:var(--muted-foreground);font-weight:600;letter-spacing:.01em;text-decoration:none;transition:background-color .2s,color .2s,transform .2s var(--ease)}.nav-link svg{flex-shrink:0;color:#6b7686;transition:color .2s}.nav-link:hover{background:var(--muted);color:var(--foreground)}.nav-link:active{transform:scale(.98)}.nav-link{-webkit-tap-highlight-color:transparent}.nav-link:hover svg{color:rgb(var(--a-400))}.nav-link.is-active{color:#fff;background:linear-gradient(90deg,rgb(var(--a-500)/.22),rgb(var(--a-500)/.04))}.nav-link.is-active svg{color:rgb(var(--a-400))}.nav-link.is-active:before{content:"";position:absolute;left:0;top:.4rem;bottom:.4rem;width:.2rem;border-radius:9999px;background:rgb(var(--a-500));box-shadow:0 0 12px rgb(var(--a-500)/.9)}.sidebar-profile-wrap{padding-top:1rem;padding-bottom:env(safe-area-inset-bottom)}.sidebar-profile{display:flex;align-items:center;gap:.25rem;padding:.35rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,.02))}.sidebar-profile-link{flex:1;min-width:0;display:flex;align-items:center;gap:.65rem;padding:.3rem;border-radius:var(--radius-md);color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:background-color .2s}.sidebar-profile-link:hover{background:var(--muted)}.sidebar-profile-avatar{position:relative;width:2.25rem;height:2.25rem;border-radius:.65rem;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--on-primary);background:linear-gradient(145deg,rgb(var(--a-400)),rgb(var(--a-600)));flex-shrink:0;box-shadow:0 6px 16px -6px rgb(var(--a-500)/.6)}.sidebar-profile-avatar-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:inherit}.sidebar-profile-status{position:absolute;right:-.15rem;bottom:-.15rem;width:.65rem;height:.65rem;border-radius:9999px;background:var(--gauge-ok);border:2px solid #0a0c0f}.sidebar-profile-meta{flex:1;min-width:0;display:flex;flex-direction:column}.sidebar-profile-name{display:flex;align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;color:var(--foreground);white-space:nowrap;overflow:hidden}.sidebar-profile-email{font-size:.72rem;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-role-pill{flex:none;padding:.05rem .35rem;border-radius:.3rem;font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:rgb(var(--a-500)/.16);color:rgb(var(--a-300));border:1px solid rgb(var(--a-500)/.35)}.sidebar-profile-actions{display:flex;flex:none}.sidebar-icon-btn{width:2.5rem;height:2.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--muted-foreground);-webkit-tap-highlight-color:transparent;transition:background-color .2s,color .2s,transform .15s var(--ease)}.sidebar-icon-btn:hover{background:var(--muted);color:var(--foreground)}.sidebar-icon-btn:active{transform:scale(.9)}.sidebar-icon-btn.is-danger:hover{background:rgba(240,68,56,.14);color:#ff7a70}.page-header{display:flex;flex-direction:column;align-items:stretch;gap:.9rem;position:relative}.page-header h1{display:flex;align-items:center;gap:.6rem;letter-spacing:0;font-weight:600}.page-header h1:before{content:"";flex:none;width:.9rem;height:1.4em;background:linear-gradient(rgb(var(--a-500)),rgb(var(--a-500))) 0 0 /.28rem 100% no-repeat,linear-gradient(rgb(var(--a-500)/.55),rgb(var(--a-500)/.55)) .5rem 0 /.28rem 100% no-repeat;border-radius:.1rem}@media (min-width:640px){.page-header{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}}.page-actions{display:flex;flex-direction:column-reverse;gap:.6rem}@media (min-width:40rem){.page-actions{flex-direction:row;align-items:center;flex-wrap:wrap}}.sidebar-shortcuts-btn{align-items:center;gap:.6rem;width:100%;margin-top:1rem;padding:.55rem .75rem;font-size:.82rem;color:var(--muted-foreground);border:1px dashed var(--border);border-radius:var(--radius-md);transition:color .15s,border-color .15s,background-color .15s}.sidebar-shortcuts-btn span{flex:1;text-align:left}.sidebar-shortcuts-btn:hover{color:var(--foreground);border-color:var(--border-strong);background:var(--muted)}.responsive-grid,.settings-sub-grid,.split-form-grid,.stats-grid-compact{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width:40rem){.responsive-grid,.split-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-sub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.kpi-grid-2,.kpi-grid-3,.kpi-grid-4{display:grid;gap:clamp(.6rem,.4rem + 1vw,1.5rem);grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-grid-3{grid-template-columns:1fr}.kpi-grid-4 .card{padding:.9rem}.kpi-grid-4 .card h2{white-space:nowrap;font-size:clamp(1.15rem,1rem + 1vw,1.5rem)}@media (min-width:30rem){.kpi-grid-3{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}}@media (min-width:48rem){.kpi-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:64rem){.kpi-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.card-compact-grid,.favorites-grid,.network-grid,.rutas-grid,.stats-filter,.vehicles-grid{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,17.5rem),1fr))}.favorites-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr))}.card-compact-grid,.stats-filter{grid-template-columns:repeat(auto-fit,minmax(min(100%,13.5rem),1fr))}.network-grid{grid-template-columns:1fr}@media (min-width:64rem){.network-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.vehicles-grid-premium{align-items:stretch}.docs-grid{display:grid;gap:var(--gap);grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:40rem){.docs-grid{grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr))}}.app-filter-bar,.card-row-responsive,.connection-item,.dashboard-hero,.list-item,.metric-list-item,.route-card-header,.rutas-freq-header,.stack-mobile,.summary-header,.value-pair{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.filter-select{width:100%}@media (min-width:40rem){.filter-select{width:auto;min-width:12rem}}.responsive-footer{display:flex;flex-direction:column-reverse;gap:.6rem;padding-top:1rem;margin-top:1.25rem;border-top:1px solid var(--border)}.responsive-footer>*{width:100%}@media (min-width:40rem){.responsive-footer{flex-direction:row;justify-content:flex-end}.responsive-footer>*{width:auto}}.brand-lockup{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none}.brand-wordmark{font-weight:700;letter-spacing:-.03em;color:var(--foreground);line-height:1}.brand-wordmark span{color:rgb(var(--a-500))}.\!sidebar .brand-wordmark{color:#fff!important}.mobile-bar .brand-wordmark,.sidebar .brand-wordmark{color:#fff}.mobile-bar .brand-wordmark span{color:rgb(var(--a-400))}.brand-sm .brand-wordmark{font-size:1.1rem}.brand-md .brand-wordmark{font-size:1.3rem}.brand-lg .brand-wordmark{font-size:1.9rem}.card{position:relative;background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:clamp(1rem,.85rem + .7vw,1.5rem);box-shadow:var(--shadow-sm),var(--edge-light);transition:border-color .25s var(--ease),box-shadow .25s var(--ease),transform .25s var(--ease)}.card:before{content:"";position:absolute;inset:0 1.25rem auto;height:1px;background:linear-gradient(90deg,transparent,rgb(var(--a-500)/.45),transparent);pointer-events:none;opacity:.7}.card:hover{border-color:var(--border-strong)}.record-card:after{content:"";position:absolute;left:0;top:.9rem;bottom:.9rem;width:.2rem;border-radius:0 9999px 9999px 0;background:rgb(var(--a-500));box-shadow:0 0 14px rgb(var(--a-500)/.55);opacity:.85}.record-card{padding-left:clamp(1.1rem,1rem + .8vw,1.6rem)}.premium-surface{background:linear-gradient(180deg,var(--card),var(--card-sunken));box-shadow:var(--shadow-sm),var(--edge-light)}.compact-kpi-card{padding:1rem 1.1rem;border-radius:var(--radius-lg);isolation:isolate;overflow:hidden}.compact-kpi-card:after{content:"";position:absolute;right:-1.2rem;bottom:-1.6rem;width:5.5rem;height:5.5rem;z-index:-1;background:repeating-conic-gradient(from 225deg,rgb(var(--a-500)/.4) 0 1.4deg,transparent 1.4deg 9deg);-webkit-mask-composite:source-in;-webkit-mask:radial-gradient(circle,transparent 56%,#000 58%,#000 74%,transparent 76%),conic-gradient(from 225deg,#000 0 270deg,transparent 270deg);mask:radial-gradient(circle,transparent 56%,#000 58%,#000 74%,transparent 76%),conic-gradient(from 225deg,#000 0 270deg,transparent 270deg);-webkit-mask-composite:source-in,xor;mask-composite:intersect;opacity:.55;pointer-events:none}.compact-kpi-row{display:flex;align-items:center;justify-content:space-between;gap:.85rem}.compact-kpi-icon{width:2.5rem;height:2.5rem;border-radius:.7rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.06)}.compact-kpi-label{margin:0 0 .3rem;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground);line-height:1.1}.compact-kpi-label,.compact-kpi-value{font-family:var(--font-display);font-weight:600;overflow-wrap:normal}.compact-kpi-value{margin:0;font-size:clamp(1.1rem,.95rem + .7vw,1.6rem);letter-spacing:-.02em;white-space:nowrap;line-height:1.05;letter-spacing:0;color:var(--foreground)}.compact-kpi-help{margin:.3rem 0 0;font-size:.78rem;color:var(--muted-foreground);line-height:1.3}.sim-total,.tco-total{font-family:var(--font-display);font-weight:600;line-height:1;letter-spacing:0}.sim-total{font-size:clamp(2rem,1.4rem + 3vw,3rem)}.tco-total{font-size:clamp(1.75rem,1.3rem + 2.4vw,2.5rem)}.app-chip,.app-tag-chip,.soft-chip,.user-meta-chip,.user-role-badge,.user-status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .6rem;border-radius:.4rem;border:1px solid var(--border);background:var(--accent);color:var(--foreground);font-family:var(--font-display);font-size:.82rem;font-weight:600;letter-spacing:0;line-height:1.15}.app-tag-chip{border-color:rgb(var(--a-500)/.3);background:rgb(var(--a-500)/.1);color:rgb(var(--a-600))}.dark .app-tag-chip{color:rgb(var(--a-300))}.user-status-badge.is-active{background:rgba(23,178,106,.12);color:#0e9a58;border-color:rgba(23,178,106,.3)}.user-status-badge.is-inactive{background:rgba(240,68,56,.1);color:#d92d20;border-color:rgba(240,68,56,.3)}.dark .user-status-badge.is-active{color:#4ade9b}.dark .user-status-badge.is-inactive{color:#ff8a80}.icon-action-btn{width:var(--touch);height:var(--touch);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--accent);border:1px solid var(--border);transition:background-color .2s,border-color .2s,transform .2s var(--ease)}.icon-action-btn:hover{border-color:var(--border-strong);background:var(--muted);transform:translateY(-1px)}.account-avatar-preview,.user-admin-avatar,.user-overview-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;font-family:var(--font-display);font-weight:600;color:var(--on-primary);background:linear-gradient(145deg,rgb(var(--a-400)),rgb(var(--a-600)));box-shadow:0 8px 20px -6px rgb(var(--a-500)/.55)}.user-admin-avatar{width:3rem;height:3rem;border-radius:.8rem;font-size:1.2rem}.user-overview-avatar{width:4.25rem;height:4.25rem;border-radius:1rem;font-size:1.6rem}.account-avatar-preview{width:5rem;height:5rem;border-radius:1.1rem;font-size:1.8rem}.account-avatar-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.account-avatar-row{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.account-card{min-height:100%}@media (min-width:40rem){.user-admin-card{justify-content:space-between}.account-avatar-row,.user-admin-card{flex-direction:row;align-items:center}}.spec-card{display:flex;flex-direction:column;gap:.25rem;padding:1rem;border-radius:var(--radius-lg);background:var(--card-sunken);border:1px solid var(--border);transition:border-color .2s,transform .2s var(--ease)}.spec-card:hover{border-color:rgb(var(--a-500)/.5);transform:translateY(-2px)}.spec-icon{width:2rem;height:2rem;margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;border-radius:.5rem;background:rgb(var(--a-500)/.14);color:rgb(var(--a-500))}.route-card,.vehicle-shell-card{transition:transform .3s var(--ease),border-color .25s,box-shadow .3s}.vehicle-shell-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:rgb(var(--a-500)/.45)}.vehicle-card-body{display:flex;flex-direction:column;gap:.75rem}.route-card-info{display:flex;align-items:center;gap:.75rem}.route-card-info h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-card-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:auto;padding-top:1rem;border-top:1px dashed var(--border-strong)}.connection-names{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;flex:1}.connection-meta{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.connection-item{padding:.75rem 0;border-bottom:1px dashed var(--border)}.connection-delete,.route-card-actions,.touch-actions{display:flex;align-items:center;gap:.25rem;transition:opacity .2s}@media (hover:hover) and (min-width:48rem){.connection-delete,.route-card-actions,.touch-actions{opacity:0}.card:hover .route-card-actions,.card:hover .touch-actions,.connection-delete:focus-within,.connection-item:hover .connection-delete,.group:hover .touch-actions,.route-card-actions:focus-within,.touch-actions:focus-within{opacity:1}}.sidebar-mini-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:.3rem .8rem;border-radius:.5rem;border:1px solid var(--border-strong);background:var(--accent);color:var(--foreground);font-family:var(--font-display);font-size:.9rem;font-weight:600;letter-spacing:0;text-decoration:none;transition:border-color .2s,background-color .2s,color .2s}.sidebar-mini-link:hover{border-color:rgb(var(--a-500)/.7);color:rgb(var(--a-500));background:rgb(var(--a-500)/.08)}.dashboard-list-row{position:relative;border-radius:var(--radius-md)}.dashboard-list-row:hover{background:var(--muted);box-shadow:inset 3px 0 0 rgb(var(--a-500))}.record-card-main{min-width:0;flex:1 1 auto}.record-card-side{flex-wrap:wrap;row-gap:.75rem}.connection-delete button,.record-card-side button,.route-card-actions button,.touch-actions button{min-width:2.5rem;min-height:2.5rem}@media (max-width:47.99rem){.record-card-side{width:100%}.record-card-side>div,.record-card-side>p{flex:0 1 auto}}@media (max-width:29.99rem){.record-card-side{gap:.75rem 1rem}.record-card-side>div.border-l{border-left:0;padding-left:0}}.public-vehicle-card{transition:border-color .25s,transform .25s var(--ease)}.public-vehicle-card:hover{border-color:rgb(var(--a-500)/.5);transform:translateY(-2px)}.doc-card-premium,.docs-grid-premium{position:relative}.sidebar-profile-wrap{margin-top:auto}.btn-danger,.btn-ghost,.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--touch);padding:.6rem 1.2rem;border-radius:var(--radius-md);font-family:var(--font-display);font-size:.925rem;font-weight:600;letter-spacing:0;line-height:1.1;text-decoration:none;cursor:pointer;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .18s var(--ease),box-shadow .25s var(--ease),background-color .2s,border-color .2s,filter .2s}.btn-danger:disabled,.btn-ghost:disabled,.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-primary{color:var(--on-primary);background:linear-gradient(180deg,rgb(var(--a-400)) 0,rgb(var(--a-500)) 52%,rgb(var(--a-600)) 100%);border:1px solid rgb(var(--a-600));box-shadow:0 8px 22px -6px rgb(var(--a-500)/.65),inset 0 1px 0 hsla(0,0%,100%,.32)}.btn-primary:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 12px 28px -6px rgb(var(--a-500)/.8),inset 0 1px 0 hsla(0,0%,100%,.36)}.btn-primary:active:not(:disabled){transform:translateY(1px);box-shadow:0 3px 8px -2px rgb(var(--a-500)/.6),inset 0 1px 2px rgba(0,0,0,.25)}.btn-secondary{color:var(--foreground);background:var(--accent);border:1px solid var(--border-strong)}.btn-secondary:hover:not(:disabled){border-color:rgb(var(--a-500)/.7);background:var(--muted);transform:translateY(-1px)}.btn-ghost{color:var(--muted-foreground);background:transparent;border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){color:var(--foreground);background:var(--muted)}.btn-danger{color:#fff;background:linear-gradient(180deg,#f97066,#d92d20);border:1px solid #b42318;box-shadow:0 8px 20px -6px rgba(217,45,32,.6)}.btn-danger:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.btn-danger:focus-visible,.btn-ghost:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible{outline:none;box-shadow:0 0 0 3px var(--card),0 0 0 5px rgb(var(--a-500))}@media (max-width:39.99rem){.network-card-header .btn-primary,.page-header .btn-primary,.page-header .btn-secondary,.responsive-footer .btn-primary,.responsive-footer .btn-secondary,.rutas-freq-header .btn-primary{width:100%}.shortcut-hint{display:none}}.form-label,label{display:block;margin-bottom:.4rem;font-size:.9rem;font-weight:600;color:var(--foreground)}.form-label{font-family:var(--font-display);font-size:.85rem;font-weight:600;letter-spacing:0;color:var(--muted-foreground)}.input-field{display:block;width:100%;min-height:var(--touch);padding:.65rem .95rem;font:inherit;font-size:1rem;font-weight:500;color:var(--foreground);background-color:var(--card-sunken);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:inset 0 1px 2px rgba(0,0,0,.06);transition:border-color .2s,box-shadow .2s,background-color .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input-field:hover{border-color:rgb(var(--a-500)/.45)}.input-field:focus{outline:none;border-color:rgb(var(--a-500));box-shadow:0 0 0 3px rgb(var(--a-500)/.22);background-color:var(--card)}.input-field::-moz-placeholder{color:var(--muted-foreground);opacity:.7;font-weight:400}.input-field::placeholder{color:var(--muted-foreground);opacity:.7;font-weight:400}.input-field:disabled{opacity:.55;cursor:not-allowed}.input-with-icon{padding-left:2.75rem}textarea.input-field{min-height:6rem;resize:vertical;line-height:1.5}select.input-field{cursor:pointer;padding-right:2.75rem;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%238b97a7' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;background-size:1.1rem}input[type=checkbox],input[type=radio],input[type=range]{accent-color:rgb(var(--a-500))}input[type=checkbox],input[type=radio]{width:1.15rem;height:1.15rem}input[type=file].input-field{padding:.5rem}input[type=file]::file-selector-button{margin-right:.75rem;padding:.4rem .8rem;border:0;border-radius:.5rem;background:rgb(var(--a-500));color:var(--on-primary);font-weight:700;cursor:pointer}.danger-input{max-width:100%;border-color:rgba(240,68,56,.5)}@media (min-width:40rem){.danger-input{max-width:24rem}}.input-field.cursor-pointer{-webkit-user-select:none;-moz-user-select:none;user-select:none}.calc-tabs,.rutas-tabs{display:flex;gap:.35rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity}.calc-tabs::-webkit-scrollbar,.rutas-tabs::-webkit-scrollbar{display:none}.calc-tabs{padding:.3rem;border-radius:var(--radius-md);background:var(--card-sunken)}.calc-tabs a,.rutas-tabs a{flex:0 0 auto;scroll-snap-align:start;min-height:2.5rem;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;letter-spacing:0;white-space:nowrap}@media (max-width:39.99rem){.calc-tabs a{flex:1 0 auto}}.shortcut-hint{padding:.1rem .4rem;border-radius:.3rem;background:var(--muted);border:1px solid var(--border);color:var(--muted-foreground);font:.72rem/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}@keyframes modalPop{0%{opacity:0;transform:translateY(1rem) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}@keyframes tick-in{0%{opacity:0;transform:scaleX(.4)}to{opacity:1;transform:scaleX(1)}}.app-modal-backdrop{background:rgba(4,6,9,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.app-modal-panel,.modal-card{position:relative;background-color:var(--card);border:1px solid var(--border-strong);border-radius:1.25rem 1.25rem 0 0;box-shadow:var(--shadow-lg);max-height:92dvh}.app-modal-panel:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;z-index:1;background:linear-gradient(90deg,rgb(var(--a-500)),rgb(var(--a-400)) 45%,transparent 90%)}@media (min-width:40rem){.app-modal-panel,.modal-card{border-radius:var(--radius-xl);max-height:88dvh}}.app-modal-header{background:linear-gradient(180deg,var(--card-sunken),var(--card))}.app-modal-body{background:var(--card);overscroll-behavior:contain}.app-modal-eyebrow{margin:0 0 .1rem;font-family:var(--font-display);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--a-500))}.app-modal-title{margin:0;font-size:clamp(1.25rem,1.1rem + .7vw,1.6rem);letter-spacing:0;line-height:1.1}.app-modal-close{width:var(--touch);height:var(--touch);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--accent);color:var(--muted-foreground);transition:color .2s,border-color .2s,transform .2s var(--ease)}.app-modal-close:hover{color:var(--foreground);border-color:var(--border-strong);transform:rotate(90deg)}.app-modal-form{display:flex;flex-direction:column;gap:1.25rem}.app-modal-footer{position:sticky;bottom:-1rem;z-index:2;background:var(--card);margin:1.25rem -1rem -1rem;padding:1rem;box-shadow:0 -.75rem 1rem -.9rem rgba(0,0,0,.22)}@media (min-width:40rem){.app-modal-footer{bottom:-1.25rem;margin:1.25rem -1.5rem -1.25rem;padding:1rem 1.5rem 1.25rem}}#searchModal{z-index:1000;background:rgba(4,6,9,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}#searchModal .search-container{background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-height:82dvh;display:flex;flex-direction:column}#searchInput{background:transparent;border:0;box-shadow:none;color:var(--foreground);font-size:1.1rem}#searchInput:focus{outline:none;box-shadow:none}#searchResults{overflow-y:auto;max-height:60dvh}.search-result-item{display:flex;align-items:center;gap:.9rem;margin:.2rem .4rem;padding:.7rem .85rem;border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s}.search-result-item.active,.search-result-item:hover{background:var(--muted);box-shadow:inset 3px 0 0 rgb(var(--a-500))}.search-result-item .icon-box{width:2.5rem;height:2.5rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:.65rem;background:var(--card-sunken);border:1px solid var(--border)}#vehicleDetailsOverlay{z-index:100}#vehicleDetailsPanel{z-index:101;transform:translateX(100%);transition:transform .4s var(--ease);background:var(--card);border-left:1px solid var(--border-strong);box-shadow:-20px 0 50px -20px rgba(0,0,0,.5)}#vehicleDetailsPanel.\!open{transform:translateX(0)!important}#vehicleDetailsPanel.open{transform:translateX(0)}.vd-header{position:relative;height:clamp(11rem,30vw,15rem);background:var(--card-sunken);overflow:hidden}.vd-header img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.vd-header-gradient{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,6,9,.9) 0,rgba(4,6,9,.25) 55%,transparent)}.vd-header-content{position:absolute;inset:auto 0 0 0;padding:1.25rem;z-index:10}.vd-close{position:absolute;top:.75rem;right:.75rem;z-index:20;width:var(--touch);height:var(--touch);display:flex;align-items:center;justify-content:center;border-radius:9999px;color:#fff;cursor:pointer;background:rgba(4,6,9,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background-color .2s,transform .2s var(--ease)}.vd-close:hover{background:rgba(4,6,9,.8);transform:scale(1.06)}@keyframes toastIn{0%{opacity:0;transform:translateY(.75rem) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast-stack{position:fixed;z-index:1200;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));width:min(24rem,calc(100vw - 2rem));display:flex;flex-direction:column;gap:.6rem;pointer-events:none}.\!toast{--toast-color:var(--gauge-ok)!important;position:relative!important;overflow:hidden!important;display:flex!important;align-items:flex-start!important;gap:.75rem!important;padding:.85rem .85rem .95rem 1rem!important;background:var(--card)!important;border:1px solid var(--border-strong)!important;border-left:.25rem solid var(--toast-color)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-lg)!important;pointer-events:auto!important;animation:toastIn .28s var(--ease) both!important;transition:opacity .25s,transform .25s var(--ease)!important}.toast{--toast-color:var(--gauge-ok);position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:.75rem;padding:.85rem .85rem .95rem 1rem;background:var(--card);border:1px solid var(--border-strong);border-left:.25rem solid var(--toast-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);pointer-events:auto;animation:toastIn .28s var(--ease) both;transition:opacity .25s,transform .25s var(--ease)}.\!toast.is-leaving{opacity:0!important;transform:translateX(1.5rem)!important}.toast.is-leaving{opacity:0;transform:translateX(1.5rem)}.toast-icon{flex:none;display:inline-flex;padding:.35rem;border-radius:9999px;color:var(--toast-color);background:color-mix(in srgb,var(--toast-color) 15%,transparent)}.toast-message{flex:1;margin:.3rem 0 0;font-size:.9rem;font-weight:500;line-height:1.35;color:var(--foreground);overflow-wrap:anywhere}.toast-action{flex:none;align-self:center;padding:.3rem .6rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;color:rgb(var(--a-500))}.toast-action:hover{background:var(--muted)}.toast-close{flex:none;display:inline-flex;padding:.35rem;border-radius:var(--radius-sm);color:var(--muted-foreground);transition:color .15s,background-color .15s}.toast-close:hover{color:var(--foreground);background:var(--muted)}.toast-progress{position:absolute;left:0;right:0;bottom:0;height:.15rem;background:var(--toast-color);opacity:.55;transform-origin:left;animation:toastProgress linear forwards}.\!toast.is-paused .toast-progress{animation-play-state:paused!important}.toast.is-paused .toast-progress{animation-play-state:paused}@media (max-width:39.99rem){.toast-stack{left:1rem;right:1rem;width:auto}}.ui-dialog-lock,.ui-dialog-lock body{overflow:hidden}.ui-dialog-overlay{position:fixed;inset:0;z-index:1100;display:flex;align-items:flex-end;justify-content:center;padding:0;opacity:0;transition:opacity .18s}.ui-dialog-overlay[hidden]{display:none}.ui-dialog-overlay.is-open{opacity:1}.ui-dialog-backdrop{position:absolute;inset:0;background:rgba(4,6,9,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.ui-dialog{position:relative;width:100%;max-width:28rem;display:flex;flex-direction:column;gap:1.1rem;padding:1.35rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom));background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-lg);transform:translateY(1rem);transition:transform .2s var(--ease)}.ui-dialog-overlay.is-open .ui-dialog{transform:translateY(0)}.ui-dialog-head{display:flex;gap:.9rem;align-items:flex-start}.ui-dialog-icon{flex:none;display:inline-flex;padding:.6rem;border-radius:var(--radius-md);color:rgb(var(--a-500));background:rgb(var(--a-500)/.12)}.ui-dialog-overlay.is-danger .ui-dialog-icon{color:var(--gauge-bad);background:color-mix(in srgb,var(--gauge-bad) 14%,transparent)}.ui-dialog-title{margin:.1rem 0 .3rem;font-size:1.1rem;font-weight:600;line-height:1.25;color:var(--foreground)}.ui-dialog-message{margin:0;font-size:.9rem;line-height:1.45;color:var(--muted-foreground)}.ui-dialog-require{display:flex;flex-direction:column;gap:.4rem;font-size:.82rem;color:var(--muted-foreground)}.ui-dialog-require[hidden]{display:none}.ui-dialog-actions{display:flex;flex-direction:column-reverse;gap:.6rem}.ui-dialog-actions>*{width:100%}@media (min-width:40rem){.ui-dialog-overlay{align-items:center;padding:1rem}.ui-dialog{border-radius:var(--radius-xl);padding:1.5rem;transform:scale(.96)}.ui-dialog-overlay.is-open .ui-dialog{transform:scale(1)}.ui-dialog-actions{flex-direction:row;justify-content:flex-end}.ui-dialog-actions>*{width:auto}}.is-busy{cursor:progress}.search-group-label{margin:.6rem .9rem .25rem;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .4rem;font-family:var(--font-body);font-weight:600;line-height:1;color:var(--foreground);background:var(--card-sunken);border:solid var(--border-strong);border-width:1px 1px .15rem;border-radius:.35rem}.kbd,.kbd-sep{font-size:.72rem}.kbd-sep{margin:0 .2rem;color:var(--muted-foreground)}.kbd-pending{position:fixed;z-index:1150;left:50%;bottom:1.5rem;display:flex;align-items:center;gap:.6rem;padding:.5rem .9rem;font-size:.85rem;color:var(--foreground);background:var(--card);border:1px solid var(--border-strong);border-radius:9999px;box-shadow:var(--shadow-md);opacity:0;transform:translate(-50%,.5rem);pointer-events:none;transition:opacity .15s,transform .15s var(--ease)}.kbd-pending.is-visible{opacity:1;transform:translate(-50%)}.shortcut-help{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width:40rem){.shortcut-help{grid-template-columns:1fr 1fr}}.shortcut-group-title{margin:0 0 .5rem;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--a-500))}.shortcut-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}.shortcut-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 0;font-size:.9rem;color:var(--foreground);border-bottom:1px solid var(--border)}.shortcut-row:last-child{border-bottom:0}.shortcut-keys{display:inline-flex;align-items:center;flex:none}.login-shell{--foreground:#eef1f5;--muted-foreground:#97a3b3;--card:#12161b;--card-sunken:#0c0f13;--accent:#1a1f26;--muted:hsla(0,0%,100%,.06);--border:hsla(0,0%,100%,.1);--border-strong:hsla(0,0%,100%,.2);color-scheme:dark;color:var(--foreground);position:relative;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.25rem;background-color:#07090b;background-image:radial-gradient(50rem 28rem at 50% 105%,rgb(var(--a-500)/.32),transparent 65%),radial-gradient(34rem 20rem at 12% -6%,rgb(var(--a-500)/.16),transparent 70%),linear-gradient(135deg,hsla(0,0%,100%,.022) 25%,transparent 25%),linear-gradient(225deg,hsla(0,0%,100%,.022) 25%,transparent 25%);background-size:auto,auto,.6rem .6rem,.6rem .6rem}.login-shell:before{left:50%;top:50%;width:min(62rem,150vw);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:repeating-conic-gradient(from 225deg,hsla(0,0%,100%,.1) 0 .5deg,transparent .5deg 6deg);-webkit-mask-composite:source-in;-webkit-mask:radial-gradient(circle,transparent 60%,#000 61%,#000 68%,transparent 69%),conic-gradient(from 225deg,#000 0 270deg,transparent 270deg);mask:radial-gradient(circle,transparent 60%,#000 61%,#000 68%,transparent 69%),conic-gradient(from 225deg,#000 0 270deg,transparent 270deg);-webkit-mask-composite:source-in,xor;mask-composite:intersect;opacity:.55}.login-shell:after,.login-shell:before{content:"";position:absolute;pointer-events:none}.login-shell:after{left:0;right:0;bottom:0;height:.75rem;background:conic-gradient(#fff 25%,#0b0d10 0 50%,#fff 0 75%,#0b0d10 0) 0 0 /1.5rem 1.5rem;opacity:.16;mask-image:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent)}.login-card{background:linear-gradient(180deg,rgba(24,29,36,.92),rgba(14,17,21,.94));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 30px 80px -20px rgba(0,0,0,.85),0 0 0 1px rgb(var(--a-500)/.18);overflow:hidden}.login-card:after{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,rgb(var(--a-500)),rgb(var(--a-400)) 45%,transparent)}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;padding:clamp(1.5rem,1rem + 3vw,3rem) 1.25rem;text-align:center;border:2px dashed var(--border-strong);border-radius:var(--radius-xl);background:var(--card-sunken);cursor:pointer;transition:border-color .25s,background-color .25s,transform .25s var(--ease)}.dropzone:hover{border-color:rgb(var(--a-500));background:rgb(var(--a-500)/.06)}.dropzone.dragover{border-color:rgb(var(--a-500));background:rgb(var(--a-500)/.14);transform:scale(1.01)}.doc-icon{width:3.5rem;height:3.5rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md)}.doc-icon-insurance{background:rgba(46,144,250,.14);color:#2e90fa;border:1px solid rgba(46,144,250,.3)}.doc-icon-receipt{background:rgba(23,178,106,.14);color:#17b26a;border:1px solid rgba(23,178,106,.3)}.doc-icon-manual{background:rgba(245,165,36,.14);color:#f5a524;border:1px solid rgba(245,165,36,.3)}.doc-icon-other{background:rgba(151,163,179,.14);color:#97a3b3;border:1px solid rgba(151,163,179,.3)}.doc-card{aspect-ratio:3/4;min-height:13rem;border-radius:var(--radius-md) 2.6rem var(--radius-md) var(--radius-md);background:var(--card);transition:transform .3s var(--ease),box-shadow .3s,border-color .25s}.doc-card:before{z-index:10;width:0;height:0;border-style:solid;border-width:0 2.6rem 2.6rem 0;border-color:transparent var(--background) transparent transparent}.doc-card:after,.doc-card:before{content:"";position:absolute;top:-1px;right:-1px}.doc-card:after{z-index:9;width:2.6rem;height:2.6rem;background:linear-gradient(225deg,transparent 50%,rgb(var(--a-500)/.35) 50%);border-bottom-left-radius:.6rem}.doc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:rgb(var(--a-500)/.5)}@media (max-width:39.99rem){.doc-card{aspect-ratio:auto;min-height:14rem}}.route-card-stats .text-2xl,.route-card-stats .text-xl{font-family:var(--font-display);font-weight:600}.stats-breakdown-grid{display:grid;gap:.75rem;grid-template-columns:1fr}@media (min-width:40rem){.stats-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}canvas{max-width:100%}.admin-eyebrow{margin:0 0 .2rem;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--a-500))}.admin-tabs{display:flex;gap:.35rem;padding:.3rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;background:var(--card-sunken);border:1px solid var(--border);border-radius:var(--radius-lg)}.admin-tabs::-webkit-scrollbar{display:none}.admin-tab{flex:1 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.6rem;padding:0 1rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;white-space:nowrap;color:var(--muted-foreground);transition:color .15s,background-color .15s,box-shadow .15s}.admin-tab:hover{color:var(--foreground);background:var(--muted)}.admin-tab.is-active{color:var(--foreground);background:var(--card);box-shadow:var(--shadow-sm),inset 0 -2px 0 rgb(var(--a-500))}.admin-tab-badge{min-width:1.25rem;height:1.25rem;padding:0 .35rem;display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;font-size:.7rem;font-weight:700;color:#fff;background:var(--gauge-bad)}.admin-kpi{display:flex;flex-direction:column;gap:.45rem;min-width:0;color:inherit;text-decoration:none}a.admin-kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.admin-kpi.is-warning{border-color:color-mix(in srgb,var(--gauge-warn) 55%,transparent)}.admin-kpi-label{display:inline-flex;align-items:center;gap:.45rem;font-size:.78rem;font-weight:600;letter-spacing:.02em;color:var(--muted-foreground)}.admin-kpi-label svg{color:rgb(var(--a-500));flex:none}.admin-kpi.is-warning .admin-kpi-label svg{color:var(--gauge-warn)}.admin-kpi-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem;font-size:clamp(1.6rem,1.3rem + 1.2vw,2.2rem);font-weight:700;line-height:1.05;color:var(--foreground);font-variant-numeric:tabular-nums}.admin-kpi-value small{font-size:.5em;font-weight:600;color:var(--muted-foreground)}.admin-kpi-help{font-size:.8rem;color:var(--muted-foreground);line-height:1.3}.admin-kpi-meter{display:block;height:.35rem;border-radius:9999px;background:var(--muted);overflow:hidden}.admin-kpi-meter>span{display:block;height:100%;border-radius:inherit;background:rgb(var(--a-500))}.admin-trend{display:inline-flex;align-items:center;padding:.15rem .45rem;border-radius:9999px;font-size:.72rem;font-weight:700;letter-spacing:0}.admin-trend.is-up{color:#0e9a58;background:rgba(23,178,106,.12)}.admin-trend.is-down{color:#d92d20;background:rgba(240,68,56,.1)}.admin-trend.is-flat{color:var(--muted-foreground);background:var(--muted)}.admin-trend.is-up:before{content:"▲ ";font-size:.8em}.admin-trend.is-down:before{content:"▼ ";font-size:.8em}.dark .admin-trend.is-up{color:#4ade9b}.dark .admin-trend.is-down{color:#ff8a80}.admin-section-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem}.admin-section-title{margin:0;font-size:1.1rem;font-weight:600;color:var(--foreground)}.admin-section-sub{margin:.2rem 0 0;font-size:.85rem;color:var(--muted-foreground);line-height:1.4}.admin-grid-2,.admin-grid-sidebar{display:grid;gap:clamp(1rem,.8rem + 1vw,1.5rem);grid-template-columns:minmax(0,1fr)}@media (min-width:64rem){.admin-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid-sidebar{grid-template-columns:minmax(0,1fr) minmax(16rem,22rem);align-items:start}}.admin-empty{display:flex;align-items:center;gap:.6rem;padding:1rem 1.1rem;border:1px dashed var(--border-strong);border-radius:var(--radius-md);font-size:.9rem;color:var(--muted-foreground)}.admin-empty.is-ok{border-style:solid;border-color:rgba(23,178,106,.3);background:rgba(23,178,106,.08);color:var(--foreground)}.admin-empty.is-ok svg{color:var(--gauge-ok)}.admin-empty.is-large{flex-direction:column;justify-content:center;text-align:center;padding:3rem 1rem;gap:.9rem}.admin-alert-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.6rem}.admin-alert{--alert-color:var(--gauge-info);display:flex;align-items:flex-start;flex-wrap:wrap;gap:.8rem;padding:.85rem 1rem;border:1px solid color-mix(in srgb,var(--alert-color) 30%,transparent);border-left:.25rem solid var(--alert-color);border-radius:var(--radius-md);background:color-mix(in srgb,var(--alert-color) 7%,transparent)}.admin-alert.is-critical{--alert-color:var(--gauge-bad)}.admin-alert.is-warning{--alert-color:var(--gauge-warn)}.admin-alert-icon{flex:none;display:inline-flex;padding:.35rem;border-radius:9999px;color:var(--alert-color);background:color-mix(in srgb,var(--alert-color) 15%,transparent)}.admin-alert-title{margin:0;font-size:.92rem;font-weight:600;color:var(--foreground)}.admin-alert-text{margin:.15rem 0 0;font-size:.85rem;color:var(--muted-foreground);line-height:1.4}.admin-alert-link{align-self:center}.admin-stat-strip{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:40rem){.admin-stat-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:80rem){.admin-stat-strip{grid-template-columns:repeat(6,minmax(0,1fr))}}.admin-stat{display:flex;flex-direction:column;gap:.25rem;min-width:0;padding-left:.8rem;border-left:2px solid var(--border)}.admin-stat-label{font-size:.75rem;font-weight:600;color:var(--muted-foreground)}.admin-stat-value{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;font-size:clamp(1.05rem,.95rem + .5vw,1.3rem);font-weight:700;color:var(--foreground);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.admin-chart-card{display:flex;flex-direction:column;gap:1rem;margin:0}.admin-chart-wrap{position:relative;height:clamp(12rem,9rem + 10vw,16rem)}.admin-data-table summary{cursor:pointer;font-size:.8rem;font-weight:600;color:var(--muted-foreground)}.admin-data-table summary:hover{color:var(--foreground)}.admin-data-table table{width:100%;margin-top:.6rem;border-collapse:collapse;font-size:.85rem}.admin-data-table td,.admin-data-table th{padding:.35rem .5rem;border-bottom:1px solid var(--border);text-align:left}.admin-data-table td:last-child,.admin-data-table th:last-child{text-align:right;font-variant-numeric:tabular-nums}.admin-rank-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.35rem}.admin-rank-item{display:flex;align-items:center;gap:.8rem;padding:.55rem .6rem;border-radius:var(--radius-md);color:inherit;text-decoration:none;transition:background-color .15s}.admin-rank-item:hover{background:var(--muted)}.admin-avatar-sm{width:2.25rem!important;height:2.25rem!important;border-radius:.6rem!important;font-size:.9rem!important}.admin-rank-name{display:flex;align-items:center;gap:.4rem;margin-bottom:.35rem;font-size:.9rem;font-weight:600;color:var(--foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-rank-bar{display:block;height:.3rem;border-radius:9999px;background:var(--muted);overflow:hidden}.admin-rank-bar>span{display:block;height:100%;min-width:.3rem;border-radius:inherit;background:rgb(var(--a-500))}.admin-rank-value{flex:none;text-align:right;font-size:.95rem;font-weight:700;color:var(--foreground);font-variant-numeric:tabular-nums}.admin-rank-value small{display:block;font-size:.72rem;font-weight:500;color:var(--muted-foreground)}.admin-timeline{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}.admin-timeline-item{position:relative;display:flex;gap:.85rem;padding-bottom:1rem}.admin-timeline-item:not(:last-child):before{content:"";position:absolute;left:1rem;top:2.25rem;bottom:.2rem;width:1px;background:var(--border)}.admin-timeline-icon{--tone:var(--muted-foreground);flex:none;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;color:var(--tone);background:color-mix(in srgb,var(--tone) 13%,var(--card));border:1px solid color-mix(in srgb,var(--tone) 25%,transparent)}.admin-timeline-icon.is-ok{--tone:var(--gauge-ok)}.admin-timeline-icon.is-warn{--tone:var(--gauge-warn)}.admin-timeline-icon.is-bad{--tone:var(--gauge-bad)}.admin-timeline-icon.is-info{--tone:var(--gauge-info)}.admin-timeline-body{flex:1;min-width:0;padding-top:.2rem}.admin-timeline-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem .75rem}.admin-timeline-title{margin:0;font-size:.9rem;font-weight:600;color:var(--foreground);overflow-wrap:anywhere}.admin-timeline-target{font-weight:500;color:var(--muted-foreground)}.admin-timeline-head time{flex:none;font-size:.78rem;color:var(--muted-foreground)}.admin-timeline-meta{margin:.15rem 0 0;font-size:.8rem;color:var(--muted-foreground);overflow-wrap:anywhere}.admin-timeline-meta a{color:var(--foreground);font-weight:500}.admin-timeline-meta a:hover{color:rgb(var(--a-500))}.admin-changes{margin-top:.45rem}.admin-changes summary{cursor:pointer;font-size:.78rem;font-weight:600;color:rgb(var(--a-500))}.admin-changes dl{margin:.45rem 0 0;padding:.6rem .75rem;display:grid;gap:.3rem;border-radius:var(--radius-sm);background:var(--card-sunken);border:1px solid var(--border)}.admin-changes dl>div{display:flex;flex-wrap:wrap;gap:.2rem .6rem;font-size:.8rem}.admin-changes dt{min-width:8rem;color:var(--muted-foreground)}.admin-changes dd{margin:0;color:var(--foreground);font-weight:500;overflow-wrap:anywhere}.admin-segments{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none;padding-bottom:.1rem}.admin-segments::-webkit-scrollbar{display:none}.admin-segment{flex:none;display:inline-flex;align-items:center;gap:.45rem;min-height:2.4rem;padding:0 .9rem;border:1px solid var(--border);border-radius:9999px;background:var(--card);font-size:.85rem;font-weight:600;color:var(--muted-foreground);transition:border-color .15s,color .15s,background-color .15s}.admin-segment span{padding:.05rem .45rem;border-radius:9999px;background:var(--muted);font-size:.75rem;color:var(--foreground)}.admin-segment:hover{color:var(--foreground);border-color:var(--border-strong)}.admin-segment.is-active{color:var(--foreground);border-color:rgb(var(--a-500));background:rgb(var(--a-500)/.08)}.admin-segment.is-active span{background:rgb(var(--a-500));color:var(--on-primary)}.admin-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.admin-search{position:relative;flex:1 1 16rem;min-width:0}.admin-search>svg{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--muted-foreground);pointer-events:none}.admin-search .input-field{padding-left:2.4rem;width:100%}.admin-filters .filter-select{flex:1 1 11rem;min-width:0;width:auto}.admin-date{display:flex;flex-direction:column;gap:.2rem;flex:1 1 9rem;min-width:0;font-size:.72rem;font-weight:600;color:var(--muted-foreground)}@media (max-width:39.99rem){.admin-filters>*{flex-basis:100%}}.admin-bulk-bar{position:sticky;top:.75rem;z-index:30;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .9rem;border:1px solid rgb(var(--a-500)/.45);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--card) 92%,rgb(var(--a-500)));box-shadow:var(--shadow-md);animation:fadeUp .2s var(--ease) both}.admin-bulk-bar[hidden]{display:none}.admin-bulk-count{margin:0;font-size:.9rem;color:var(--foreground)}.admin-bulk-actions{display:flex;flex-wrap:wrap;gap:.5rem}.admin-bulk-actions .btn-ghost,.admin-bulk-actions .btn-secondary{gap:.4rem;min-height:2.4rem;padding:0 .8rem;font-size:.85rem}@media (max-width:39.99rem){.admin-bulk-bar{top:auto;bottom:calc(.75rem + env(safe-area-inset-bottom));position:sticky}.admin-bulk-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-table-card{padding:0;overflow:visible}.admin-table-card.is-flat{border:0;box-shadow:none;background:transparent}.admin-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem}.admin-table th{padding:.75rem 1rem;text-align:left;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground);background:var(--card-sunken);border-bottom:1px solid var(--border)}.admin-table th:first-child{border-top-left-radius:var(--radius-lg)}.admin-table th:last-child{border-top-right-radius:var(--radius-lg)}.admin-table td{padding:.8rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--foreground)}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table tbody tr{transition:background-color .15s}.admin-table tbody tr:hover{background:var(--muted)}.admin-table tbody tr.is-selected{background:rgb(var(--a-500)/.07)}.admin-table tbody tr.is-inactive .admin-user-name,.admin-table tbody tr.is-inactive .user-admin-avatar{opacity:.6}.admin-table.is-dense td,.admin-table.is-dense th{padding:.5rem .75rem}.admin-table-card.is-flat .admin-table th{border-radius:0}.admin-col-check{width:2.75rem}.admin-col-check input,.admin-table input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:rgb(var(--a-500));cursor:pointer}.admin-col-actions{width:1%;white-space:nowrap;text-align:right}@media (max-width:63.99rem){.admin-table,.admin-table tbody,.admin-table td,.admin-table tr{display:block;width:100%}.admin-table thead{display:none}.admin-table tbody{display:flex;flex-direction:column;gap:.75rem}.admin-table-card{background:transparent;border:0;box-shadow:none}.admin-table-card:before{display:none}.admin-table tbody tr{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem;padding:1rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.admin-table td{padding:0;border:0;min-width:0}.admin-table td[data-label]:before{content:attr(data-label);display:block;margin-bottom:.15rem;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-foreground)}.admin-table td[data-label=Email],.admin-table td[data-label=Usuario]{grid-column:1/-1;padding-right:2rem}.admin-table td[data-label=Usuario]:before{display:none}.admin-table .admin-col-check{position:absolute;top:1rem;right:1rem;width:auto}.admin-table .admin-col-actions{grid-column:1/-1;text-align:left;padding-top:.6rem;border-top:1px solid var(--border)}.admin-table.is-dense tbody tr{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-table.is-dense td[data-label=Tabla]{grid-column:1/-1}.admin-table .text-right{text-align:left}}.admin-user-cell{display:flex;align-items:center;gap:.75rem;min-width:0;color:inherit;text-decoration:none}.admin-user-cell:hover .admin-user-name{color:rgb(var(--a-500))}.admin-user-name{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-weight:600;color:var(--foreground);transition:color .15s}.admin-user-name .user-meta-chip,.admin-user-name .user-role-badge{padding:.12rem .4rem;font-size:.7rem}.admin-user-email{display:block;font-size:.82rem;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-data-counts{display:inline-flex;gap:.75rem;font-variant-numeric:tabular-nums}.admin-data-counts>span{display:inline-flex;align-items:center;gap:.25rem;color:var(--foreground)}.admin-data-counts svg{color:var(--muted-foreground)}.admin-row-actions{display:inline-flex;align-items:center;gap:.35rem}.admin-row-actions .icon-action-btn{color:var(--muted-foreground)}.admin-row-actions .icon-action-btn:hover{color:var(--foreground)}.admin-menu{position:relative}.admin-menu>summary{list-style:none;cursor:pointer}.admin-menu>summary::-webkit-details-marker{display:none}.admin-menu[open]>summary{border-color:rgb(var(--a-500));color:var(--foreground)}.admin-menu-panel{position:absolute;right:0;top:calc(100% + .35rem);z-index:40;min-width:14rem;padding:.35rem;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:fadeUp .15s var(--ease) both}.admin-menu.opens-up .admin-menu-panel{top:auto;bottom:calc(100% + .35rem)}@media (max-width:63.99rem){.admin-menu-panel{right:auto;left:0}}.admin-menu-panel form{margin:0}.admin-menu-item{width:100%;display:flex;align-items:center;gap:.6rem;padding:.6rem .7rem;border-radius:var(--radius-sm);font-size:.88rem;font-weight:500;text-align:left;color:var(--foreground);transition:background-color .15s}.admin-menu-item:hover{background:var(--muted)}.admin-menu-item svg{color:var(--muted-foreground)}.admin-menu-item.is-ok svg{color:var(--gauge-ok)}.admin-menu-item.is-warn svg{color:var(--gauge-warn)}.admin-menu-item.is-danger,.admin-menu-item.is-danger svg{color:var(--gauge-bad)}.admin-menu-panel form:last-child{margin-top:.25rem;padding-top:.25rem;border-top:1px solid var(--border)}.admin-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.admin-per-page{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--muted-foreground)}.admin-per-page select{min-height:2.4rem;padding:0 .6rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--accent);color:var(--foreground);font-size:.85rem}.admin-back-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.88rem;font-weight:600;color:var(--muted-foreground)}.admin-back-link:hover{color:var(--foreground)}.admin-profile{display:flex;flex-direction:column;gap:1.25rem}.admin-profile-main{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1.1rem}.admin-profile-name{margin:0;font-size:clamp(1.3rem,1.1rem + .8vw,1.7rem);font-weight:700;color:var(--foreground);overflow-wrap:anywhere}.admin-profile-email{display:flex;align-items:center;gap:.3rem;margin:0 0 .9rem;color:var(--muted-foreground);overflow-wrap:anywhere}.admin-copy{display:inline-flex;padding:.3rem;border-radius:var(--radius-sm);color:var(--muted-foreground);transition:color .15s,background-color .15s}.admin-copy:hover{color:var(--foreground);background:var(--muted)}.admin-profile-facts{margin:0;display:grid;gap:.75rem 1.5rem;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}.admin-profile-facts dt{font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-foreground)}.admin-profile-facts dd{margin:.15rem 0 0;font-size:.9rem;font-weight:500;color:var(--foreground)}.admin-id{display:flex;align-items:center;gap:.2rem;font-size:.78rem!important;overflow-wrap:anywhere}.admin-action-bar{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:1rem;border-top:1px solid var(--border)}.admin-action-bar form{margin:0}.admin-bar-btn{gap:.4rem}.admin-bar-btn.is-danger{color:var(--gauge-bad)}.admin-bar-btn.is-danger:hover:not(:disabled){border-color:var(--gauge-bad)}@media (max-width:39.99rem){.admin-action-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-action-bar form .btn-secondary,.admin-action-bar>*{width:100%}}.admin-check-list,.admin-health-list,.admin-login-list,.admin-storage-list,.admin-vehicle-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}.admin-vehicle{display:flex;align-items:center;gap:.8rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.admin-vehicle:last-child{border-bottom:0}.admin-vehicle-icon{flex:none;display:inline-flex;padding:.55rem;border-radius:var(--radius-md);color:rgb(var(--a-500));background:rgb(var(--a-500)/.1)}.admin-vehicle-name{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;font-weight:600;color:var(--foreground)}.admin-vehicle-meta{margin:.1rem 0 0;font-size:.8rem;color:var(--muted-foreground)}.admin-vehicle-figures{flex:none;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.admin-vehicle-figures small{display:block;font-size:.75rem;font-weight:500;color:var(--muted-foreground)}.admin-check-list li{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.88rem;color:var(--foreground)}.admin-check-list li:last-child{border-bottom:0}.admin-check-list li span{flex:1}.admin-check-list li strong{font-size:.8rem}.admin-check-list li.is-on strong,.admin-check-list li.is-on svg{color:var(--gauge-ok)}.admin-check-list li.is-off strong,.admin-check-list li.is-off svg{color:var(--muted-foreground)}.admin-login-list li{display:flex;align-items:center;gap:.75rem;padding:.65rem 0;border-bottom:1px solid var(--border)}.admin-login-list li:last-child{border-bottom:0}.admin-login-name{margin:0;font-size:.9rem;font-weight:600;color:var(--foreground);overflow-wrap:anywhere}.admin-login-name a:hover{color:rgb(var(--a-500))}.admin-login-meta{margin:.1rem 0 0;overflow-wrap:anywhere}.admin-login-meta,.admin-login-time{font-size:.78rem;color:var(--muted-foreground)}.admin-login-time{flex:none}.admin-danger-zone{border-color:color-mix(in srgb,var(--gauge-bad) 40%,transparent);background:color-mix(in srgb,var(--gauge-bad) 5%,var(--card))}.admin-danger-zone .btn-danger{gap:.5rem}.admin-health-list li{display:flex;align-items:flex-start;gap:.7rem;padding:.65rem 0;border-bottom:1px solid var(--border)}.admin-health-list li:last-child{border-bottom:0}.admin-health-list li>svg{flex:none;margin-top:.15rem}.admin-health-list li.is-ok>svg{color:var(--gauge-ok)}.admin-health-list li.is-warn>svg{color:var(--gauge-warn)}.admin-health-label{margin:0;font-size:.9rem;font-weight:600;color:var(--foreground)}.admin-health-text{margin:.1rem 0 0;font-size:.82rem;color:var(--muted-foreground)}.admin-env-list{margin:0;display:flex;flex-direction:column}.admin-env-list>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;padding:.55rem 0;border-bottom:1px solid var(--border);font-size:.88rem}.admin-env-list>div:last-child{border-bottom:0}.admin-env-list dt{color:var(--muted-foreground)}.admin-env-list dd{margin:0;font-weight:600;color:var(--foreground);text-align:right;overflow-wrap:anywhere}.admin-storage-list{gap:.9rem}.admin-storage-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;margin-bottom:.35rem;font-size:.88rem;color:var(--foreground)}.admin-storage-head span:last-child{color:var(--muted-foreground);font-variant-numeric:tabular-nums}.admin-tip{display:flex;gap:.6rem;padding:.75rem .9rem;border-radius:var(--radius-md);background:var(--card-sunken);border:1px solid var(--border);font-size:.82rem;color:var(--muted-foreground)}.admin-tip svg{flex:none;margin-top:.1rem;color:var(--gauge-info)}.admin-tip p{margin:0}.admin-fieldset{margin:0;padding:0;border:0;display:flex;flex-direction:column;gap:.9rem;min-width:0}.admin-fieldset legend{margin-bottom:.75rem;padding:0;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--a-500))}.admin-field-hint{margin:0;font-size:.8rem;color:var(--muted-foreground);line-height:1.4}.admin-role-picker{display:grid;gap:.6rem;grid-template-columns:minmax(0,1fr)}@media (min-width:40rem){.admin-role-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-role-option{position:relative;cursor:pointer}.admin-role-option input{position:absolute;opacity:0;pointer-events:none}.admin-role-option>span{display:grid;grid-template-columns:auto 1fr;gap:.15rem .6rem;align-items:center;height:100%;padding:.8rem .9rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--card-sunken);transition:border-color .15s,background-color .15s,box-shadow .15s}.admin-role-option svg{color:var(--muted-foreground)}.admin-role-option strong{font-size:.92rem;color:var(--foreground)}.admin-role-option small{grid-column:2;font-size:.78rem;color:var(--muted-foreground)}.admin-role-option input:checked+span{border-color:rgb(var(--a-500));background:rgb(var(--a-500)/.08);box-shadow:0 0 0 1px rgb(var(--a-500))}.admin-role-option input:checked+span svg{color:rgb(var(--a-500))}.admin-role-option input:focus-visible+span{box-shadow:0 0 0 3px var(--card),0 0 0 5px rgb(var(--a-500))}.admin-toggle-grid{display:grid;gap:.35rem 1rem;grid-template-columns:minmax(0,1fr)}@media (min-width:40rem){.admin-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-switch{position:relative;display:flex;align-items:center;gap:.7rem;min-height:2.5rem;cursor:pointer;font-size:.9rem;color:var(--foreground)}.admin-switch[hidden]{display:none}.admin-switch input{position:absolute;opacity:0;width:1px;height:1px}.admin-switch small{color:var(--muted-foreground)}.admin-switch-track{position:relative;flex:none;width:2.5rem;height:1.4rem;border-radius:9999px;background:var(--border-strong);transition:background-color .2s}.admin-switch-track:after{content:"";position:absolute;top:.2rem;left:.2rem;width:1rem;height:1rem;border-radius:9999px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .2s var(--ease)}.admin-switch input:checked+.admin-switch-track{background:rgb(var(--a-500))}.admin-switch input:checked+.admin-switch-track:after{transform:translateX(1.1rem)}.admin-switch input:focus-visible+.admin-switch-track{box-shadow:0 0 0 3px var(--card),0 0 0 5px rgb(var(--a-500))}.admin-switch input:disabled+.admin-switch-track{opacity:.5}.admin-switch:has(input:disabled){cursor:not-allowed}.admin-password{display:flex;flex-direction:column;gap:.5rem}.admin-password-row{display:flex;gap:.4rem}.admin-password-row .input-field{flex:1;min-width:0}.admin-password-row .icon-action-btn{flex:none;color:var(--muted-foreground)}.admin-password-generate{flex:none;gap:.4rem}@media (max-width:39.99rem){.admin-password-row{flex-wrap:wrap}.admin-password-row .input-field{flex-basis:100%}.admin-password-generate{flex:1}}.admin-strength{display:flex;align-items:center;gap:.6rem}.admin-strength-bar{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:.25rem;max-width:12rem}.admin-strength-bar span{height:.3rem;border-radius:9999px;background:var(--border);transition:background-color .2s}.admin-strength-label{font-size:.78rem;font-weight:600;color:var(--muted-foreground)}.admin-strength[data-strength="1"] .admin-strength-bar span:nth-child(-n+1){background:var(--gauge-bad)}.admin-strength[data-strength="2"] .admin-strength-bar span:nth-child(-n+2){background:var(--gauge-warn)}.admin-strength[data-strength="3"] .admin-strength-bar span:nth-child(-n+3),.admin-strength[data-strength="4"] .admin-strength-bar span{background:var(--gauge-ok)}@keyframes pageEnter{0%{opacity:0;transform:translateY(.6rem)}to{opacity:1;transform:none}}.animate-in{animation:pageEnter .45s var(--ease) backwards}.animate-in>*{animation:pageEnter .5s var(--ease) backwards}.animate-in>:nth-child(2){animation-delay:.04s}.animate-in>:nth-child(3){animation-delay:.08s}.animate-in>:nth-child(4){animation-delay:.12s}.animate-in>:nth-child(5){animation-delay:.16s}.animate-in>:nth-child(n+6){animation-delay:.2s}.animate-in>.admin-bulk-bar{animation:none}.admin-segment,.admin-tab,.btn-danger,.btn-ghost,.btn-primary,.btn-secondary,.icon-action-btn{-webkit-tap-highlight-color:transparent}.btn-danger:active:not(:disabled),.btn-ghost:active:not(:disabled),.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled){transform:scale(.97)}.icon-action-btn:active{transform:scale(.92)}@media (hover:none){.card:hover{border-color:var(--border)}.record-card:active,a.admin-kpi:active{transform:scale(.99)}}@media (max-width:767.98px){.app-main{padding-top:calc(var(--mobile-bar-h) + 1rem)}.dark body,body{background-attachment:scroll}}@media (max-width:39.99rem){.page-header{padding:1rem!important;border-radius:var(--radius-lg)!important}.page-header h1.text-3xl{font-size:clamp(1.35rem,1.1rem + 2vw,1.6rem)}.page-header p{font-size:.9rem}.space-y-6>:not([hidden])~:not([hidden]){margin-top:1.1rem}.kpi-grid-3,.kpi-grid-4{gap:.6rem}.compact-kpi-card{padding:.85rem .95rem}}.ui-select{position:relative;width:100%}.ui-select-native{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.ui-select-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;text-align:left;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ui-select-button[aria-expanded=true]{border-color:rgb(var(--a-500));box-shadow:0 0 0 4px var(--primary-glow)}.ui-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select-chevron,.ui-select-value.is-placeholder{color:var(--muted-foreground)}.ui-select-chevron{flex:none;transition:transform .25s var(--ease)}.ui-select-button[aria-expanded=true] .ui-select-chevron{transform:rotate(180deg)}.ui-select-popover{position:fixed;z-index:1300;max-height:min(18rem,50vh);overflow-y:auto;overscroll-behavior:contain;padding:.3rem;background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);opacity:0;transform:translateY(-.35rem) scale(.98);transform-origin:top center;transition:opacity .16s var(--ease),transform .2s var(--ease)}.ui-select-popover.opens-up{transform-origin:bottom center;transform:translateY(.35rem) scale(.98)}.ui-select-popover.is-open{opacity:1;transform:none}.ui-select-sheet-overlay{position:fixed;inset:0;z-index:1300;background:rgba(4,6,9,.6);opacity:0;transition:opacity .25s var(--ease)}.ui-select-sheet-overlay.is-open{opacity:1}.ui-select-sheet{position:fixed;left:0;right:0;bottom:0;z-index:1301;max-height:75dvh;display:flex;flex-direction:column;background:var(--card);border-top:1px solid var(--border-strong);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-lg);padding-bottom:env(safe-area-inset-bottom);transform:translateY(100%);transition:transform .32s var(--ease);will-change:transform}.ui-select-sheet.is-open{transform:translateY(0)}.ui-select-sheet.is-dragging{transition:none}.ui-select-sheet-handle{width:2.5rem;height:.3rem;margin:.6rem auto .2rem;border-radius:9999px;background:var(--border-strong);flex:none}.ui-select-sheet-title{margin:0;padding:.5rem 1.25rem .75rem;font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground);border-bottom:1px solid var(--border);flex:none}.ui-select-sheet .ui-select-list{overflow-y:auto;overscroll-behavior:contain;padding:.4rem .6rem .8rem}.ui-select-list{margin:0;padding:0;list-style:none}.ui-select-option{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:2.5rem;padding:.55rem .75rem;border-radius:var(--radius-sm);font-size:.92rem;font-weight:500;color:var(--foreground);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .12s}.ui-select-sheet .ui-select-option{min-height:3.1rem;font-size:1rem;padding:.7rem .9rem;border-radius:var(--radius-md)}.ui-select-option.is-active,.ui-select-option:hover{background:var(--muted)}.ui-select-option:active{background:rgb(var(--a-500)/.12)}.ui-select-option[aria-selected=true]{color:rgb(var(--a-500));font-weight:600;background:rgb(var(--a-500)/.08)}.ui-select-option[aria-disabled=true]{opacity:.45;cursor:not-allowed}.ui-select-check{flex:none;opacity:0;transform:scale(.6);transition:opacity .15s,transform .2s var(--ease)}.ui-select-option[aria-selected=true] .ui-select-check{opacity:1;transform:none}.ui-select-lock{overflow:hidden}.\!sidebar .kbd{color:var(--foreground)!important;background:hsla(0,0%,100%,.08)!important;border-color:hsla(0,0%,100%,.16)!important}.sidebar .kbd{color:var(--foreground);background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.16)}@media (min-width:768px){.sidebar-profile .sidebar-role-pill{display:none}.sidebar-profile.is-admin .sidebar-profile-avatar{box-shadow:0 0 0 2px #0a0c0f,0 0 0 3.5px rgb(var(--a-400))}}.vehicle-hero{--s-ink:14 18 16;--s-2:var(--muted-foreground);--s-3:color-mix(in srgb, var(--foreground) 55%, transparent);--s-floor:.28;--s-drop:.3;--s-beam:.28}.dark .vehicle-hero{--s-ink:255 255 255;--s-floor:.8;--s-drop:.55;--s-beam:.28}@keyframes carIn{0%{opacity:0;transform:translate(1.5rem)scale(.97)}to{opacity:1;transform:none}}@keyframes floorIn{0%{opacity:0;transform:translate(-50%)scaleX(.6)}to{opacity:1;transform:translate(-50%)scaleX(1)}}.vehicle-hero{--hero-bg:var(--card);--floor:2.4rem;border-radius:var(--radius-xl);border:1px solid rgb(var(--s-ink) / .08);background:radial-gradient(120% 90% at 70% 0%, rgb(var(--a-500) / .16), transparent 60%), linear-gradient(160deg, var(--card) 0%, var(--background) 100%);box-shadow:var(--shadow-lg), inset 0 1px 0 rgb(var(--s-ink) / .06);color:var(--foreground);cursor:pointer;isolation:isolate;-webkit-tap-highlight-color:transparent;transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s;flex-wrap:wrap-reverse;display:flex;position:relative;overflow:hidden;container-type:inline-size}.vehicle-hero:before{content:"";z-index:3;background:linear-gradient(90deg, rgb(var(--a-500)), rgb(var(--a-400)) 40%, transparent 85%);height:3px;position:absolute;inset:0 0 auto}.vehicle-hero:hover{border-color:rgb(var(--s-ink) / .16);box-shadow:0 32px 70px -18px rgb(0 0 0/var(--s-drop)), inset 0 1px 0 rgb(var(--s-ink) / .08)}.vehicle-hero:active{transform:scale(.995)}.vehicle-hero:focus-visible{outline:3px solid rgb(var(--a-500));outline-offset:3px}.vehicle-hero-stage{height:clamp(11rem,52cqi,15.5rem);min-height:0;padding:1.5rem 1.25rem var(--floor);justify-content:center;align-items:flex-end;display:flex;position:relative}.vehicle-hero-stage:before{content:"";background:radial-gradient(closest-side, rgb(var(--a-500) / var(--s-beam)), rgb(var(--a-500) / .06) 60%, transparent);pointer-events:none;width:85%;height:85%;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)}.vehicle-hero-stage:after{content:"";height:calc(var(--floor) + .6rem);background:radial-gradient(60% 100% at 50% 0%, rgb(var(--s-ink) / .045), transparent 70%), linear-gradient(90deg, transparent, rgb(var(--s-ink) / .07) 50%, transparent) top / 100% 1px no-repeat;pointer-events:none;position:absolute;inset:auto 0 0}.vehicle-hero-img{z-index:2;object-fit:contain;width:auto;max-width:min(90%,31rem);height:auto;max-height:100%;filter:drop-shadow(0 .9rem .7rem rgb(0 0 0/var(--s-drop))) drop-shadow(0 .2rem .25rem rgb(0 0 0/var(--s-drop)));opacity:0;transition:transform .6s var(--ease);display:block;position:relative}.vehicle-hero-img.is-ready{animation:carIn .7s var(--ease) 50ms both}@media (scripting:none){.vehicle-hero-img{opacity:1}}.vehicle-hero-floor{z-index:1;left:50%;bottom:calc(var(--floor) - .7rem);background:radial-gradient(closest-side, rgb(0 0 0/var(--s-floor)), rgb(0 0 0/calc(var(--s-floor) * .45)) 55%, transparent);filter:blur(2px);width:min(76%,28rem);height:1.4rem;animation:floorIn .7s var(--ease) .1s both;transition:transform .6s var(--ease), opacity .6s;border-radius:50%;position:absolute;transform:translate(-50%)}@media (hover:hover){.vehicle-hero:hover .vehicle-hero-img.is-ready{transform:translateY(-.2rem)scale(1.03)}.vehicle-hero:hover .vehicle-hero-floor{opacity:.8;transform:translate(-50%)scaleX(.9)}}.vehicle-hero-stage[data-photo=photo]{padding:0}.vehicle-hero-stage[data-photo=photo]:before,.vehicle-hero-stage[data-photo=photo] .vehicle-hero-floor{display:none}.vehicle-hero-stage[data-photo=photo] .vehicle-hero-img{object-fit:cover;filter:none;width:100%;max-width:none;height:100%;max-height:none;position:absolute;inset:0}.vehicle-hero-stage[data-photo=photo]:after{z-index:3;background:linear-gradient(to top, var(--hero-bg), transparent 55%);height:100%}.vehicle-hero-info{z-index:2;flex-direction:column;justify-content:center;gap:.35rem;padding:0 clamp(1.25rem,1rem + 1.5vw,2.25rem) clamp(1.25rem,1rem + 1.5vw,2rem);display:flex;position:relative}.vehicle-hero-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--a-500));margin:0;font-size:.72rem;font-weight:600}.vehicle-hero-title{letter-spacing:-.025em;color:var(--foreground);text-wrap:balance;overflow-wrap:normal;word-break:normal;hyphens:manual;margin:0;font-size:clamp(1.6rem,1.2rem + 2vw,2.6rem);font-weight:700;line-height:1.05}.vehicle-hero-meta{color:var(--s-2);flex-wrap:wrap;align-items:center;gap:.35rem .6rem;margin-top:.2rem;font-size:.95rem;font-weight:500;display:flex}.vehicle-hero-meta>span:not(.vehicle-hero-chip)+span:not(.vehicle-hero-chip):before{content:"·";color:rgb(var(--s-ink) / .35);margin-right:.6rem}.vehicle-hero-chip{letter-spacing:.03em;color:var(--foreground);background:rgb(var(--a-500) / .28);border:1px solid rgb(var(--a-500) / .45);border-radius:.4rem;padding:.15rem .5rem;font-size:.75rem;font-weight:700}.vehicle-hero-cta{color:var(--foreground);background:rgb(var(--s-ink) / .08);border:1px solid rgb(var(--s-ink) / .12);transition:background-color .2s, gap .25s var(--ease);border-radius:9999px;align-self:flex-start;align-items:center;gap:.3rem;margin-top:.75rem;padding:.4rem .8rem;font-size:.82rem;font-weight:600;display:inline-flex}.vehicle-hero:hover .vehicle-hero-cta{background:rgb(var(--a-500) / .3);gap:.55rem}.vehicle-hero-info{flex:17rem;order:-1}.vehicle-hero-stage{flex:1.45 20rem}@container (width>=37rem){.vehicle-hero-info{padding:clamp(1.5rem,4cqi,2.75rem)}.vehicle-hero-stage{height:auto;min-height:17rem;padding:1.75rem 2rem var(--floor)}.vehicle-hero-stage[data-photo=photo]:after{background:linear-gradient(to right, var(--hero-bg), transparent 45%)}}@container (width>=60rem){.vehicle-hero-stage{min-height:19rem}}.hub-page{min-width:0}.hub-muted{font-weight:500}.hub-muted,.hub-unit{color:var(--muted-foreground)}.hub-unit{font-size:.6em;font-weight:600;letter-spacing:0}.hub-inline-link{color:rgb(var(--a-500));font-weight:600;text-decoration:none}.hub-inline-link:hover{text-decoration:underline}.dark .hub-inline-link{color:rgb(var(--a-300))}.hub-text-btn{display:inline-flex;align-items:center;gap:.25rem;min-height:2rem;padding:.2rem .35rem;font-size:.8rem;font-weight:600;color:var(--muted-foreground);border-radius:var(--radius-sm);background:transparent;transition:color .15s,background-color .15s}.hub-text-btn:hover{color:var(--foreground);background:var(--muted)}.hub-text-btn.is-danger:hover{color:var(--hub-bad);background:rgba(240,68,56,.1)}.hub-notice{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem .9rem;font-size:.875rem;line-height:1.45;color:var(--muted-foreground);background:var(--card-sunken);border:1px dashed var(--border-strong);border-radius:var(--radius-md)}.hub-notice>i,.hub-notice>svg{flex:none;margin-top:.1rem}.hub-alert{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;font-size:.9rem;line-height:1.45;color:var(--foreground);background:rgba(245,165,36,.12);border:1px solid rgba(245,165,36,.4);border-radius:var(--radius-lg)}.hub-alert>svg{flex:none;color:#b7791f;margin-top:.1rem}.dark .hub-alert>svg{color:#f5a524}.hub-counter{font-size:.75rem;color:var(--muted-foreground);font-variant-numeric:tabular-nums}.hub-check{display:flex;align-items:center;gap:.55rem;margin:0;font-size:.9rem;font-weight:500;cursor:pointer}.hub-status{display:inline-flex;align-items:center;padding:.1rem .45rem;margin-right:.35rem;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground);background:var(--muted);border-radius:.3rem}.hub-status.is-on{color:var(--hub-good);background:rgba(23,178,106,.14)}.hub-status.is-pending{color:#b7791f;background:rgba(245,165,36,.16)}.dark .hub-status.is-pending{color:#f5a524}.hub-status.is-blocked{color:var(--hub-bad);background:rgba(240,68,56,.12)}.hub-delta{font-weight:700;font-variant-numeric:tabular-nums}.hub-delta.is-good{color:var(--hub-good)}.hub-delta.is-bad{color:var(--hub-bad)}.hub-private-value{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted-foreground);font-weight:600}.compact-kpi-value.hub-private-value{font-size:1rem}.hub-subnav{display:flex;gap:.35rem;padding:.3rem;overflow-x:auto;scrollbar-width:none;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);scroll-snap-type:x proximity}.hub-subnav::-webkit-scrollbar{display:none}.hub-subnav-link{flex:0 0 auto;display:inline-flex;align-items:center;gap:.45rem;min-height:2.5rem;padding:.45rem .9rem;font-size:.9rem;font-weight:600;color:var(--muted-foreground);border-radius:var(--radius-sm);text-decoration:none;scroll-snap-align:start;transition:color .15s,background-color .15s}.hub-subnav-link:hover{color:var(--foreground);background:var(--muted)}.hub-subnav-link.is-active{color:var(--foreground);background:var(--background);box-shadow:var(--shadow-sm),inset 0 -2px 0 rgb(var(--a-500))}.hub-subnav-link.is-active svg{color:rgb(var(--a-500))}.hub-section{display:flex;flex-direction:column;gap:1rem;min-width:0}.hub-section-head{justify-content:space-between;gap:.5rem 1rem}.hub-section-head,.hub-section-title{display:flex;flex-wrap:wrap;align-items:center}.hub-section-title{gap:.5rem;margin:0 0 .25rem;font-size:clamp(1.05rem,.98rem + .35vw,1.25rem);font-weight:700;color:var(--foreground)}.hub-section-title>svg{color:rgb(var(--a-500));flex:none}.card>.hub-section-title{margin-bottom:1rem}.hub-section-note{font-size:.82rem;color:var(--muted-foreground)}.hub-section-link{font-size:.875rem;font-weight:600;color:rgb(var(--a-500));text-decoration:none}.hub-section-link:hover{text-decoration:underline}.hub-filters{display:flex;flex-direction:column;gap:.9rem}.hub-filters-main{display:grid;gap:.75rem;grid-template-columns:1fr}.hub-filter-search{position:relative}.hub-filter-search>i,.hub-filter-search>svg{position:absolute;left:.95rem;top:50%;transform:translateY(-50%);color:var(--muted-foreground);pointer-events:none}@media (min-width:40rem){.hub-filters-main{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.hub-filters-main{grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr))}}.hub-filters-more>summary{display:inline-flex;align-items:center;gap:.45rem;min-height:2.25rem;font-size:.875rem;font-weight:600;color:var(--muted-foreground);cursor:pointer;list-style:none}.hub-filters-more>summary::-webkit-details-marker{display:none}.hub-filters-more>summary:hover{color:var(--foreground)}.hub-filters-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));padding-top:.75rem}.hub-filters-grid .hub-check{grid-column:1/-1}@media (min-width:48rem){.hub-filters-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hub-filters-grid .hub-check{grid-column:span 2}}.hub-filters-bar{display:flex;flex-direction:column;gap:.75rem;padding-top:.75rem;border-top:1px dashed var(--border)}@media (min-width:48rem){.hub-filters-bar{flex-direction:row;align-items:center;justify-content:space-between}}.hub-filters-actions{display:flex;gap:.5rem;justify-content:flex-end}.hub-sort{display:flex;flex-wrap:wrap;gap:.35rem}.hub-sort-option{position:relative;margin:0;cursor:pointer}.hub-sort-option input{position:absolute;opacity:0;width:1px;height:1px}.hub-sort-option span{display:inline-flex;align-items:center;min-height:2.25rem;padding:.35rem .8rem;font-size:.85rem;font-weight:600;color:var(--muted-foreground);border:1px solid var(--border);border-radius:9999px;transition:color .15s,border-color .15s,background-color .15s}.hub-sort-option:hover span{color:var(--foreground);border-color:var(--border-strong)}.hub-sort-option input:checked+span,.hub-sort-option.is-active span{color:var(--on-primary);background:rgb(var(--a-500));border-color:rgb(var(--a-600))}.hub-sort-option input:focus-visible+span{box-shadow:0 0 0 3px rgb(var(--a-500)/.35)}.hub-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(11.5rem,1fr);gap:.75rem;margin:0;padding:0 0 .35rem;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}.hub-carousel-item{scroll-snap-align:start;min-width:0}@media (min-width:64rem){.hub-carousel{grid-auto-flow:row;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible}}.hub-top-card{position:relative;display:flex;flex-direction:column;height:100%;overflow:hidden;text-decoration:none;color:var(--foreground);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .25s var(--ease),border-color .25s,box-shadow .25s}.hub-top-card:hover{transform:translateY(-3px);border-color:rgb(var(--a-500)/.5);box-shadow:var(--shadow-md)}.hub-top-photo{width:100%;aspect-ratio:16/10;-o-object-fit:cover;object-fit:cover;background:var(--card-sunken)}.hub-top-photo.is-placeholder{display:flex;align-items:center;justify-content:center;color:var(--muted-foreground)}.hub-top-rank{position:absolute;top:.5rem;left:.5rem;z-index:1;padding:.15rem .5rem;font-size:.8rem;font-weight:800;color:#fff;background:rgb(var(--a-500));border-radius:.4rem;box-shadow:0 4px 12px -2px rgb(var(--a-500)/.6)}.hub-top-info{display:flex;flex-direction:column;gap:.2rem;padding:.7rem .8rem .8rem;min-width:0}.hub-top-info strong{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-top-info span{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--muted-foreground)}.hub-grid{display:grid;gap:var(--gap);grid-template-columns:1fr}@media (min-width:36rem){.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:72rem){.hub-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:100rem){.hub-grid:not(.hub-grid-compact){grid-template-columns:repeat(4,minmax(0,1fr))}}.hub-card{display:flex;flex-direction:column;padding:0;overflow:hidden;min-width:0}.hub-card:hover{border-color:rgb(var(--a-500)/.45);box-shadow:var(--shadow-md)}.hub-card-media{position:relative;display:block;overflow:hidden;background:var(--card-sunken)}.hub-card-photo{display:block;width:100%;aspect-ratio:16/10;-o-object-fit:cover;object-fit:cover;transition:transform .5s var(--ease)}.hub-card-photo.is-placeholder,.hub-compare-photo.is-placeholder,.hub-contact-photo.is-placeholder,.hub-hero-photo.is-placeholder,.hub-publish-photo.is-placeholder,.hub-ranking-photo.is-placeholder{display:flex;align-items:center;justify-content:center;color:var(--muted-foreground);background:repeating-linear-gradient(135deg,var(--card-sunken) 0 .75rem,var(--muted) .75rem 1.5rem)}.hub-card:hover .hub-card-photo:not(.is-placeholder){transform:scale(1.04)}.hub-sale-tag{position:absolute;top:.6rem;right:.6rem;display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .55rem;font-size:.75rem;font-weight:700;color:#fff;background:#0e9a58;border-radius:.4rem;box-shadow:0 6px 16px -4px rgba(0,0,0,.45)}.hub-sale-tag.is-large{top:.9rem;right:.9rem;font-size:.85rem;padding:.35rem .7rem}.hub-card-body{display:flex;flex-direction:column;gap:.75rem;padding:.95rem 1rem 1rem;flex:1;min-width:0}.hub-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.hub-card-title{margin:0;font-size:1.05rem;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.hub-card-title a{color:var(--foreground);text-decoration:none}.hub-card-title a:hover{color:rgb(var(--a-500))}.hub-card-meta{margin:.15rem 0 0;font-size:.82rem;color:var(--muted-foreground)}.hub-card-hint{display:flex;align-items:center;gap:.35rem;margin:.35rem 0 0;font-size:.78rem;color:var(--muted-foreground)}.hub-card-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.25rem;flex:none;max-width:45%}.hub-card-metric{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .6rem;min-height:1.75rem}.hub-card-metric-value{font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums}.hub-card-metric-value small{font-size:.75rem;font-weight:600;color:var(--muted-foreground)}.hub-card-metric .hub-delta{font-size:.82rem}.hub-verified-icon{color:#2e90fa;align-self:center}.hub-card-private{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--muted-foreground)}.hub-card-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto;padding-top:.75rem;border-top:1px dashed var(--border)}.hub-card-owner{display:inline-flex;align-items:center;gap:.45rem;min-width:0;flex:1 1 8rem;font-size:.82rem;color:var(--muted-foreground)}.hub-card-owner>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-card-actions{display:flex;align-items:center;gap:.25rem}.hub-compare-btn,.hub-count-link,.hub-like-btn{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-width:2.5rem;min-height:2.5rem;padding:.3rem .55rem;font-size:.85rem;font-weight:700;color:var(--muted-foreground);font-variant-numeric:tabular-nums;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);text-decoration:none;cursor:pointer;transition:color .15s,background-color .15s,border-color .15s,transform .15s var(--ease)}.hub-compare-btn:hover,.hub-count-link:hover,.hub-like-btn:hover:not(:disabled){color:var(--foreground);background:var(--muted)}.hub-like-btn:disabled{opacity:.55;cursor:not-allowed}.hub-like-btn.is-liked{color:var(--hub-like)}.hub-like-btn.is-liked svg{fill:currentColor}.hub-like-btn:active:not(:disabled){transform:scale(.92)}.hub-like-btn.is-popping svg{animation:hubPop .45s var(--ease)}.hub-like-btn.is-large{min-height:var(--touch);padding:.55rem 1rem;font-size:.95rem;border-color:var(--border-strong);background:var(--accent)}.hub-like-btn.is-large.is-liked{border-color:color-mix(in srgb,var(--hub-like) 55%,transparent);background:color-mix(in srgb,var(--hub-like) 12%,transparent)}@keyframes hubPop{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}.btn-secondary.is-active,.hub-follow-btn.is-active{border-color:rgb(var(--a-500)/.6);color:rgb(var(--a-600));background:rgb(var(--a-500)/.08)}.dark .btn-secondary.is-active,.dark .hub-follow-btn.is-active{color:rgb(var(--a-300))}.hub-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .55rem;font-size:.78rem;font-weight:700;color:var(--foreground);background:var(--accent);border:1px solid var(--border);border-radius:9999px}.hub-badge.is-compact{width:1.7rem;height:1.7rem;padding:0;justify-content:center}.dark .hub-badge-verified{color:#84caff}.dark .hub-badge-efficient{color:#4ade9b}.dark .hub-badge-kilometrador{color:#bda4ff}.dark .hub-badge-maintained{color:#f5c26b}.dark .hub-badge-veteran{color:#c0c8d4}.dark .hub-badge-favorite{color:#fb7185}.hub-badge-row{display:flex;flex-wrap:wrap;gap:.4rem}.hub-badge-legend{display:grid;gap:.75rem;margin:1rem 0 0;padding:0;list-style:none}.hub-badge-legend li{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;font-size:.875rem;color:var(--muted-foreground)}@media (min-width:48rem){.hub-badge-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}.hub-avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;overflow:hidden;font-weight:700;color:var(--on-primary);background:linear-gradient(145deg,rgb(var(--a-400)),rgb(var(--a-600)));border-radius:9999px}.hub-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.hub-avatar-stack{display:inline-flex}.hub-avatar-stack .hub-avatar{box-shadow:0 0 0 2px var(--card)}.hub-avatar-stack .hub-avatar+.hub-avatar{margin-left:-.45rem}.hub-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:clamp(1.5rem,1rem + 3vw,3rem) 1rem;text-align:center}.hub-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;margin-bottom:.25rem;color:rgb(var(--a-500));background:rgb(var(--a-500)/.12);border-radius:9999px}.hub-empty-title{margin:0;font-size:1.1rem;font-weight:700}.hub-empty-text{margin:0;max-width:34rem;font-size:.925rem;color:var(--muted-foreground);line-height:1.5}.hub-empty-action{margin-top:.5rem}.hub-load-more{display:flex;justify-content:center}.is-busy{opacity:.6}.hub-tray,.is-busy{pointer-events:none}.hub-tray{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:0 var(--page-pad) max(.75rem,env(safe-area-inset-bottom));animation:hubTrayIn .35s var(--ease)}.hub-tray[hidden]{display:none}@media (min-width:768px){.hub-tray{left:16rem}}@keyframes hubTrayIn{0%{transform:translateY(100%);opacity:0}to{transform:none;opacity:1}}.hub-tray-inner{pointer-events:auto;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem .75rem;max-width:64rem;margin:0 auto;padding:.7rem .8rem;background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.hub-tray-head{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--muted-foreground)}.hub-tray-head svg{color:rgb(var(--a-500))}.hub-tray-list{display:flex;gap:.4rem;flex:1 1 12rem;min-width:0;margin:0;padding:0;list-style:none;overflow-x:auto;scrollbar-width:none}.hub-tray-item{gap:.4rem;max-width:13rem;padding:.2rem .25rem .2rem .2rem;background:var(--card-sunken);border:1px solid var(--border)}.hub-tray-item,.hub-tray-thumb{display:inline-flex;align-items:center;flex:none;border-radius:9999px}.hub-tray-thumb{justify-content:center;width:1.9rem;height:1.9rem;-o-object-fit:cover;object-fit:cover;background:var(--muted);color:var(--muted-foreground)}.hub-tray-name{font-size:.8rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-tray-remove{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;flex:none;border-radius:9999px;color:var(--muted-foreground)}.hub-tray-remove:hover{color:var(--foreground);background:var(--muted)}.hub-tray-actions{display:flex;gap:.5rem;margin-left:auto}.hub-tray-actions .btn-primary.is-disabled{opacity:.5}@media (max-width:39.99rem){.hub-tray-actions{width:100%}.hub-tray-actions>*{flex:1}}body.has-hub-tray .app-content{padding-bottom:7.5rem}.hub-profile{display:flex;flex-direction:column;gap:var(--gap);min-width:0}.hub-hero{display:grid;grid-template-columns:1fr;overflow:hidden;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}@media (min-width:64rem){.hub-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}}.hub-hero-media{position:relative;min-height:12rem;background:#0c0f13}.hub-hero-photo{display:block;width:100%;height:100%;min-height:12rem;max-height:28rem;aspect-ratio:16/10;-o-object-fit:cover;object-fit:cover}@media (min-width:64rem){.hub-hero-photo{max-height:none;aspect-ratio:auto}}.hub-hero-info{display:flex;flex-direction:column;gap:.9rem;padding:clamp(1rem,.8rem + 1vw,1.75rem);min-width:0}.hub-hero-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.hub-back-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;color:var(--muted-foreground);text-decoration:none}.hub-back-link:hover{color:var(--foreground)}.hub-owner-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.78rem;font-weight:600;color:rgb(var(--a-600));background:rgb(var(--a-500)/.1);border-radius:9999px;text-decoration:none}.dark .hub-owner-pill{color:rgb(var(--a-300))}.hub-hero-title{margin:0;font-size:clamp(1.5rem,1.2rem + 1.5vw,2.25rem);font-weight:800;line-height:1.1;letter-spacing:-.01em;overflow-wrap:anywhere}.hub-hero-title span{color:var(--muted-foreground);font-weight:600}.hub-hero-meta{margin:0;font-size:.9rem;color:var(--muted-foreground);line-height:1.5}.hub-hero-owner{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.hub-hero-owner .min-w-0{flex:1 1 8rem}.hub-hero-owner-name{margin:0;font-weight:700}.hub-hero-owner-meta{margin:0;font-size:.8rem;color:var(--muted-foreground)}.hub-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.hub-hero-more{display:flex;gap:.35rem;margin-left:auto}@media (max-width:29.99rem){.hub-hero-actions>.btn-secondary,.hub-hero-actions>.hub-like-btn{flex:1 1 calc(50% - 0.5rem)}.hub-hero-more{margin-left:0}}.hub-likers{gap:.6rem;margin:0;font-size:.85rem;color:var(--muted-foreground)}.hub-likers,.hub-sale-banner{display:flex;align-items:center}.hub-sale-banner{flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;background:rgba(23,178,106,.1);border:1px solid rgba(23,178,106,.35);border-radius:var(--radius-md)}.hub-sale-label{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground)}.hub-sale-price{margin:0;font-size:1.4rem;font-weight:800;color:var(--hub-good)}.hub-profile-grid{display:grid;gap:var(--gap);grid-template-columns:1fr}@media (min-width:64rem){.hub-profile-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start}}.hub-profile-side{display:flex;flex-direction:column;gap:var(--gap);min-width:0}.hub-chart-card{min-width:0}.hub-chart-box{position:relative;height:clamp(14rem,12rem + 8vw,20rem)}.hub-chart-box.is-square{height:clamp(16rem,14rem + 10vw,22rem)}.hub-chart-box.is-short{height:clamp(10rem,9rem + 5vw,13rem);margin-top:1rem}.hub-chart-note{margin:.75rem 0 0;font-size:.8rem;color:var(--muted-foreground);line-height:1.45}.hub-chart-empty{display:flex;align-items:center;gap:.5rem;margin:0;padding:2.5rem 1rem;justify-content:center;color:var(--muted-foreground);font-size:.9rem;text-align:center}.hub-specs{display:grid;gap:0;margin:0}.hub-specs>div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px dashed var(--border);font-size:.9rem}.hub-specs>div:last-child{border-bottom:0}.hub-specs dt{color:var(--muted-foreground)}.hub-specs dd{margin:0;font-weight:600;text-align:right;overflow-wrap:anywhere}.hub-maint-list{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none}.hub-maint-list li{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;font-size:.875rem}.hub-maint-list strong{margin-left:auto;font-variant-numeric:tabular-nums}.hub-maint-meta{color:var(--muted-foreground)}.hub-maint-type{padding:.15rem .5rem;font-size:.75rem;font-weight:700;border-radius:.35rem;background:var(--muted)}.hub-maint-type.is-itv{color:#1570d6;background:rgba(46,144,250,.12)}.hub-maint-type.is-insurance{color:#7a4ce0;background:rgba(122,76,224,.12)}.hub-maint-type.is-revision{color:#0e9a58;background:rgba(23,178,106,.12)}.hub-maint-type.is-repair{color:#d92d20;background:rgba(240,68,56,.12)}.dark .hub-maint-type.is-itv{color:#84caff}.dark .hub-maint-type.is-insurance{color:#bda4ff}.dark .hub-maint-type.is-revision{color:#4ade9b}.dark .hub-maint-type.is-repair{color:#ff8a80}.hub-comments{scroll-margin-top:5rem}.hub-comment-form{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.25rem}.hub-comment-form-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.hub-replying{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;font-size:.85rem;color:var(--muted-foreground)}.hub-replying[hidden]{display:none}.hub-comments-empty{margin:0;padding:1rem 0;font-size:.9rem;color:var(--muted-foreground);text-align:center}.hub-comment-list{gap:1rem}.hub-comment-list,.hub-thread{display:flex;flex-direction:column}.hub-thread{gap:.75rem;padding-bottom:1rem;border-bottom:1px dashed var(--border)}.hub-thread:last-child{border-bottom:0;padding-bottom:0}.hub-comment{display:flex;gap:.7rem;min-width:0;scroll-margin-top:5rem}.hub-comment.is-reply{margin-left:clamp(1rem,.5rem + 3vw,2.75rem);padding-left:.85rem;border-left:2px solid var(--border)}.hub-comment-body{flex:1;min-width:0}.hub-comment-head{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin:0;font-size:.875rem}.hub-comment-head time{font-size:.78rem;color:var(--muted-foreground)}.hub-owner-tag{padding:.05rem .4rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--on-primary);background:rgb(var(--a-500));border-radius:.3rem}.hub-comment-text{margin:.3rem 0 0;font-size:.925rem;line-height:1.55;overflow-wrap:anywhere}.hub-comment-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem;margin-top:.25rem;margin-left:-.35rem}.hub-comment-actions form{display:inline;margin:0}.hub-report-reasons{gap:.6rem;border:0}.hub-collection-picker,.hub-report-reasons{display:flex;flex-direction:column;margin:0;padding:0}.hub-collection-picker{gap:.35rem;max-height:50vh;overflow-y:auto;list-style:none}.hub-collection-option{justify-content:flex-start;padding:.55rem .7rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card-sunken)}.hub-collection-option span:not(.soft-chip){flex:1;min-width:0;overflow-wrap:anywhere}.hub-collection-new{display:flex;gap:.5rem}.hub-collection-new .input-field{flex:1;min-width:0}.hub-contact-car{display:flex;align-items:center;gap:.85rem;padding:.6rem;background:var(--card-sunken);border:1px solid var(--border);border-radius:var(--radius-md)}.hub-contact-photo{width:4.5rem;height:3rem;flex:none;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-sm)}.hub-contact-car p{margin:0}.hub-following{display:grid;gap:var(--gap);grid-template-columns:1fr}@media (min-width:72rem){.hub-following{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);align-items:start}}.hub-timeline{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.hub-timeline-item{position:relative;display:flex;gap:.75rem;padding:0 0 1rem}.hub-timeline-item:not(:last-child):before{content:"";position:absolute;left:1rem;top:2.2rem;bottom:.2rem;width:1px;background:var(--border-strong)}.hub-timeline-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex:none;border-radius:9999px;background:var(--muted);color:var(--muted-foreground)}.hub-timeline-icon.is-maintenance{color:#b7791f;background:rgba(245,165,36,.16)}.hub-timeline-icon.is-refuel{color:#1570d6;background:rgba(46,144,250,.14)}.hub-timeline-icon.is-published{color:rgb(var(--a-500));background:rgb(var(--a-500)/.12)}.hub-timeline-body{min-width:0;padding-top:.2rem}.hub-timeline-body p{margin:0;font-size:.9rem;line-height:1.45;overflow-wrap:anywhere}.hub-timeline-body a{color:var(--foreground);text-decoration:none}.hub-timeline-body a:hover{color:rgb(var(--a-500))}.hub-timeline-body time{font-size:.78rem;color:var(--muted-foreground)}.hub-ranking-tabs svg{flex:none}.hub-ranking-filters{display:flex;flex-wrap:wrap;gap:.5rem}.hub-ranking-filters .ui-select,.hub-ranking-filters>select{flex:1 1 11rem;min-width:0}.hub-ranking-list{display:flex;flex-direction:column;gap:.4rem;margin:1rem 0 0;padding:0;list-style:none}.hub-ranking-row{display:grid;align-items:center;gap:.5rem .75rem;grid-template-columns:2rem minmax(0,1fr) auto;grid-template-areas:"pos car value" "pos badges cmp";padding:.6rem .7rem;background:var(--card-sunken);border:1px solid var(--border);border-radius:var(--radius-md)}@media (min-width:48rem){.hub-ranking-row{grid-template-columns:2.25rem minmax(0,1fr) auto auto auto;grid-template-areas:"pos car badges value cmp"}}.hub-ranking-pos{grid-area:pos;font-size:1.1rem;font-weight:800;text-align:center;color:var(--muted-foreground);font-variant-numeric:tabular-nums}.hub-ranking-row.is-pos-1 .hub-ranking-pos{color:#d4a017}.hub-ranking-row.is-pos-2 .hub-ranking-pos{color:#8c96a3}.hub-ranking-row.is-pos-3 .hub-ranking-pos{color:#b87333}.hub-ranking-row.is-podium{border-color:var(--border-strong)}.hub-ranking-car{grid-area:car;display:flex;align-items:center;gap:.7rem;min-width:0;color:var(--foreground);text-decoration:none}.hub-ranking-car:hover strong{color:rgb(var(--a-500))}.hub-ranking-car strong{font-size:.95rem}.hub-ranking-car strong,.hub-ranking-owner{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-ranking-owner{font-size:.78rem;color:var(--muted-foreground)}.hub-ranking-photo{width:3.5rem;height:2.4rem;flex:none;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-sm)}.hub-ranking-badges{grid-area:badges;display:flex;flex-wrap:wrap;gap:.25rem}.hub-ranking-value{grid-area:value;font-size:1rem;font-weight:800;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.hub-ranking-row .hub-compare-btn{grid-area:cmp;justify-self:end}.hub-bars{display:flex;flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none}.hub-bars li{display:grid;grid-template-columns:minmax(5.5rem,8rem) minmax(0,1fr) 2.5rem;align-items:center;gap:.75rem;font-size:.875rem}.hub-bars-value{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.hub-meter{width:100%;height:.7rem;border:0;border-radius:9999px;background:var(--muted);-moz-appearance:none;appearance:none;-webkit-appearance:none}.hub-meter::-webkit-meter-bar{background:var(--muted);border:0;border-radius:9999px;height:.7rem}.hub-meter::-webkit-meter-optimum-value{background:rgb(var(--a-500));border-radius:9999px}.hub-meter::-moz-meter-bar{background:rgb(var(--a-500));border-radius:9999px}.hub-compare{display:flex;flex-direction:column;gap:var(--gap);min-width:0}.hub-compare-letter{display:inline-flex;align-items:center;justify-content:center;flex:none;width:1.5rem;height:1.5rem;margin-right:.35rem;font-size:.75rem;font-weight:800;color:#fff;background:var(--col,var(--muted-foreground));border-radius:.35rem}.hub-compare-heads{position:sticky;top:0;z-index:20;display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr));padding:.5rem 0;background:var(--background)}@media (min-width:48rem){.hub-compare-heads[data-cols="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.hub-compare-heads[data-cols="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}}.hub-compare-head{position:relative;display:flex;align-items:center;gap:.55rem;min-width:0;padding:.5rem 2.25rem .5rem .5rem;background:var(--card);border:1px solid var(--border);border-top:3px solid var(--col);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.hub-compare-head .hub-compare-letter{position:absolute;top:.35rem;left:.35rem;z-index:1;margin:0}.hub-compare-photo{width:3.75rem;height:2.6rem;flex:none;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-sm)}.hub-compare-name{margin:0;font-size:.9rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-compare-name a{color:var(--foreground);text-decoration:none}.hub-compare-name a:hover{color:rgb(var(--a-500))}.hub-compare-sub{margin:0;font-size:.75rem;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-compare-remove{position:absolute;top:50%;right:.3rem;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:9999px;color:var(--muted-foreground)}.hub-compare-remove:hover{color:var(--foreground);background:var(--muted)}.hub-compare-picker{display:flex;flex-direction:column;gap:.35rem}.hub-compare-picker-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.5rem}.hub-vs{font-size:.8rem;font-weight:700;color:var(--muted-foreground)}@media (min-width:48rem){.hub-compare-picker{display:none}}@media (max-width:47.99rem){.hub-compare[data-show] [data-col]:not(.is-picked){display:none}}.hub-compare-charts{display:grid;gap:var(--gap);grid-template-columns:1fr}@media (min-width:64rem){.hub-compare-charts{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-compare-wide{grid-column:1/-1}}.hub-compare-table{display:flex;flex-direction:column}.hub-compare-row{display:grid;align-items:center;gap:.5rem;grid-template-columns:minmax(6.5rem,1.1fr) repeat(2,minmax(0,1fr));padding:.6rem 0;border-bottom:1px dashed var(--border);font-size:.875rem}.hub-compare-row:last-child{border-bottom:0}@media (min-width:48rem){.hub-compare-table[data-cols="3"] .hub-compare-row{grid-template-columns:minmax(9rem,1.2fr) repeat(3,minmax(0,1fr))}.hub-compare-table[data-cols="4"] .hub-compare-row{grid-template-columns:minmax(9rem,1.2fr) repeat(4,minmax(0,1fr))}}.hub-compare-row.is-head{position:sticky;top:0;font-weight:700;color:var(--muted-foreground)}.hub-compare-row.is-head .hub-compare-cell{display:flex;align-items:center;min-width:0;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-compare-label{color:var(--muted-foreground);font-weight:600}.hub-compare-cell{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.3rem;min-width:0;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.hub-compare-cell.is-winner{color:var(--col)}.hub-winner-icon{color:#d4a017;flex:none}.hub-own-list{display:flex;flex-wrap:wrap;gap:.5rem}.hub-own-chip{display:inline-flex;align-items:center;gap:.35rem;min-height:2.5rem;padding:.35rem .8rem;font-size:.875rem;font-weight:600;color:var(--foreground);background:var(--card-sunken);border:1px dashed var(--border-strong);border-radius:9999px;transition:border-color .15s,background-color .15s}.hub-own-chip:hover{border-color:rgb(var(--a-500));background:rgb(var(--a-500)/.06)}.hub-own-private{display:inline-flex;color:var(--muted-foreground)}.hub-compare-start{display:flex;flex-direction:column;gap:.5rem}.hub-collections{display:grid;gap:var(--gap);grid-template-columns:1fr}@media (min-width:64rem){.hub-collections{grid-template-columns:minmax(15rem,20rem) minmax(0,1fr);align-items:start}}.hub-collections-side{display:flex;flex-direction:column;gap:1rem}.hub-collections-main{display:flex;flex-direction:column;gap:var(--gap);min-width:0}.hub-collection-links{display:flex;flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none}.hub-collection-links a{display:flex;align-items:center;gap:.55rem;min-height:2.6rem;padding:.4rem .6rem;font-size:.9rem;font-weight:600;color:var(--muted-foreground);text-decoration:none;border-radius:var(--radius-sm)}.hub-collection-links a span:nth-child(2){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-collection-links a:hover{color:var(--foreground);background:var(--muted)}.hub-collection-links a.is-active{color:var(--foreground);background:rgb(var(--a-500)/.1);box-shadow:inset 3px 0 0 rgb(var(--a-500))}.hub-collection-head{display:flex;flex-direction:column;gap:.75rem}@media (min-width:48rem){.hub-collection-head{flex-direction:row;align-items:center;justify-content:space-between}}.hub-collection-rename{display:flex;gap:.5rem;flex:1;min-width:0}.hub-title-input{font-size:1.15rem;font-weight:700}.hub-collection-tools{display:flex;flex-wrap:wrap;gap:.5rem}.hub-collection-tools form{margin:0}.hub-collection-item{display:flex;flex-direction:column;gap:.25rem;min-width:0}.hub-collection-remove{display:flex;justify-content:center;margin:0}.hub-owner-widget .kpi-grid-4{margin-top:.25rem}.hub-stat{display:flex;flex-direction:column;gap:.15rem;padding:.75rem .9rem;background:var(--card-sunken);border:1px solid var(--border);border-radius:var(--radius-md)}.hub-stat-label{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground)}.hub-stat strong{font-size:1.5rem;font-variant-numeric:tabular-nums}.hub-publish-list{display:grid;gap:var(--gap);grid-template-columns:1fr}@media (min-width:80rem){.hub-publish-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.hub-publish-card{display:flex;flex-direction:column;gap:1rem;min-width:0}.hub-publish-card.is-public{border-color:rgba(23,178,106,.45)}.hub-publish-main{display:flex;align-items:center;gap:.9rem;min-width:0}.hub-publish-photo{width:6rem;height:4rem;flex:none;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-md)}.hub-publish-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.9rem 1.25rem;padding-top:.9rem;border-top:1px dashed var(--border)}.hub-price-field{flex:1 1 10rem;min-width:0}.hub-price-field[hidden]{display:none}.hub-publish-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-left:auto}.hub-switch{position:relative;display:flex;align-items:flex-start;gap:.7rem;margin:0;font-weight:600;cursor:pointer}.hub-switch input{position:absolute;opacity:0;width:1px;height:1px}.hub-switch-track{position:relative;flex:none;width:2.6rem;height:1.5rem;margin-top:.05rem;background:var(--border-strong);border-radius:9999px;transition:background-color .2s}.hub-switch-track:after{content:"";position:absolute;top:.1875rem;left:.1875rem;width:1.125rem;height:1.125rem;background:#fff;border-radius:9999px;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .2s var(--ease)}.hub-switch input:checked+.hub-switch-track{background:rgb(var(--a-500))}.hub-switch input:checked+.hub-switch-track:after{transform:translateX(1.1rem)}.hub-switch input:focus-visible+.hub-switch-track{box-shadow:0 0 0 3px rgb(var(--a-500)/.35)}.hub-switch small{display:block;margin-top:.15rem;font-size:.8rem;font-weight:400;color:var(--muted-foreground);line-height:1.4}.hub-prefs{display:flex;flex-direction:column;gap:1.1rem}.hub-prefs-privacy ul{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}.hub-prefs-privacy li{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .6rem;font-size:.8rem;color:var(--muted-foreground);background:var(--card-sunken);border:1px solid var(--border);border-radius:9999px}.hub-prefs-privacy li.is-on{color:var(--hub-good);border-color:rgba(23,178,106,.35)}.hub-inbox{display:grid;gap:var(--gap);grid-template-columns:1fr;min-width:0}@media (min-width:64rem){.hub-inbox{grid-template-columns:minmax(17rem,22rem) minmax(0,1fr);align-items:stretch}}@media (max-width:63.99rem){.hub-inbox.has-thread .hub-inbox-list,.hub-inbox:not(.has-thread) .hub-thread-panel{display:none}}@media (min-width:64rem){.hub-thread-back{display:none!important}}.hub-inbox-list{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;min-width:0}.hub-inbox-tabs{display:flex;gap:.25rem;overflow-x:auto;scrollbar-width:none}.hub-inbox-tabs a{flex:0 0 auto;display:inline-flex;align-items:center;gap:.35rem;min-height:2.25rem;padding:.3rem .7rem;font-size:.82rem;font-weight:600;color:var(--muted-foreground);text-decoration:none;border-radius:var(--radius-sm)}.hub-inbox-tabs a.is-active,.hub-inbox-tabs a:hover{color:var(--foreground);background:var(--muted)}.hub-inbox-tabs a.is-active{box-shadow:inset 0 -2px 0 rgb(var(--a-500))}.hub-count-pill,.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;font-size:.7rem;font-weight:800;color:#fff;background:rgb(var(--a-500));border-radius:9999px}.nav-badge{margin-left:auto}.nav-badge[hidden]{display:none}.hub-inbox-empty{margin:0;padding:1.5rem .5rem;font-size:.875rem;color:var(--muted-foreground);text-align:center;line-height:1.5}.hub-conversations{display:flex;flex-direction:column;gap:.2rem;margin:0;padding:0;list-style:none;max-height:70vh;overflow-y:auto}.hub-conversation{position:relative;display:flex;align-items:flex-start;gap:.65rem;padding:.6rem;color:var(--foreground);text-decoration:none;border-radius:var(--radius-md)}.hub-conversation:hover{background:var(--muted)}.hub-conversation.is-active{background:rgb(var(--a-500)/.1);box-shadow:inset 3px 0 0 rgb(var(--a-500))}.hub-conversation-body{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.hub-conversation-top{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.hub-conversation-top strong{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-conversation-top time{flex:none;font-size:.72rem;color:var(--muted-foreground)}.hub-conversation-car{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--muted-foreground)}.hub-conversation-last{font-size:.82rem;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-conversation.is-unread .hub-conversation-last{color:var(--foreground);font-weight:600}.hub-unread-dot{position:absolute;top:50%;right:.6rem;width:.55rem;height:.55rem;border-radius:9999px;background:rgb(var(--a-500))}.hub-blocked-list{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none}.hub-blocked-list li{display:flex;align-items:center;gap:.65rem}.hub-blocked-list small{display:block;font-size:.75rem;color:var(--muted-foreground)}.hub-blocked-list form{margin:0}.hub-thread-panel{display:flex;flex-direction:column;gap:.75rem;min-width:0;min-height:28rem;padding:.75rem}.hub-thread-placeholder{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--muted-foreground)}.hub-thread-head{display:flex;align-items:center;gap:.65rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.hub-thread-name{margin:0;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-thread-car{margin:0;font-size:.8rem;color:var(--muted-foreground)}.hub-thread-car a{color:inherit;font-weight:600}.hub-thread-car a:hover{color:rgb(var(--a-500))}.hub-menu{position:relative}.hub-menu>summary{list-style:none;cursor:pointer}.hub-menu>summary::-webkit-details-marker{display:none}.hub-menu-panel{position:absolute;right:0;top:calc(100% + .35rem);z-index:30;display:flex;flex-direction:column;min-width:11rem;padding:.35rem;background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.hub-menu-panel form{margin:0}.hub-menu-panel button{display:flex;align-items:center;gap:.5rem;width:100%;min-height:2.5rem;padding:.4rem .6rem;font-size:.875rem;font-weight:600;text-align:left;border-radius:var(--radius-sm)}.hub-menu-panel button:hover{background:var(--muted)}.hub-request-banner{display:flex;flex-direction:column;gap:.75rem;padding:.85rem 1rem;background:rgb(var(--a-500)/.07);border:1px solid rgb(var(--a-500)/.3);border-radius:var(--radius-md)}.hub-request-banner p{margin:0;font-size:.875rem;line-height:1.45}.hub-request-actions{display:flex;flex-wrap:wrap;gap:.5rem}.hub-request-actions form{margin:0}.hub-messages{display:flex;flex-direction:column;gap:.5rem;flex:1;min-height:12rem;max-height:60vh;margin:0;padding:.25rem;overflow-y:auto;list-style:none;overscroll-behavior:contain}.hub-message{align-self:flex-start;max-width:min(85%,36rem);padding:.55rem .8rem;background:var(--card-sunken);border:1px solid var(--border);border-radius:1rem 1rem 1rem .3rem}.hub-message.is-mine{align-self:flex-end;color:var(--on-primary);background:rgb(var(--a-500));border-color:rgb(var(--a-600));border-radius:1rem 1rem .3rem 1rem}.hub-message-text{margin:0;font-size:.925rem;line-height:1.45;overflow-wrap:anywhere;white-space:pre-line}.hub-message time{display:block;margin-top:.2rem;font-size:.68rem;opacity:.7;text-align:right}.hub-composer{display:flex;align-items:flex-end;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--border)}.hub-composer textarea{flex:1;min-width:0;min-height:var(--touch);max-height:10rem;resize:none}.hub-composer .btn-primary{flex:none;padding-inline:.9rem}.hub-segmented{display:inline-flex;gap:.25rem;padding:.25rem;background:var(--card-sunken);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap}.hub-segmented a{display:inline-flex;align-items:center;min-height:2.25rem;padding:.3rem .8rem;font-size:.85rem;font-weight:600;color:var(--muted-foreground);text-decoration:none;border-radius:var(--radius-sm)}.hub-segmented a.is-active{color:var(--foreground);background:var(--card);box-shadow:var(--shadow-sm)}.hub-reports{margin:0;padding:0;list-style:none}.hub-report,.hub-reports{display:flex;flex-direction:column;gap:.75rem}.hub-report{padding:.9rem 1rem;background:var(--card-sunken);border:1px solid var(--border);border-radius:var(--radius-md)}@media (min-width:64rem){.hub-report{flex-direction:row;align-items:flex-start;justify-content:space-between}}.hub-report-main{display:flex;flex-direction:column;gap:.35rem;min-width:0;flex:1}.hub-report-head{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin:0;font-size:.9rem}.hub-report-head time{font-size:.78rem;color:var(--muted-foreground)}.hub-report-meta,.hub-report-target{margin:0;font-size:.85rem;overflow-wrap:anywhere}.hub-report-meta{color:var(--muted-foreground);font-size:.78rem}.hub-report-excerpt{margin:.25rem 0;padding:.5rem .75rem;font-size:.875rem;line-height:1.5;border-left:3px solid var(--border-strong);background:var(--card);border-radius:0 var(--radius-sm) var(--radius-sm) 0;overflow-wrap:anywhere}.hub-report-details{display:flex;gap:.35rem;align-items:flex-start;margin:0;font-size:.85rem;color:var(--muted-foreground);overflow-wrap:anywhere}.hub-report-actions{display:flex;flex-wrap:wrap;gap:.5rem;flex:none}.hub-report-actions form{margin:0}@media (prefers-reduced-motion:reduce){.hub-like-btn.is-popping svg,.hub-tray{animation:none}.hub-card-photo,.hub-switch-track:after,.hub-top-card{transition:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.bottom-2{bottom:.5rem}.left-3{left:.75rem}.left-3\.5{left:.875rem}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.top-0{top:0}.top-1\/2{top:50%}.top-3{top:.75rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-\[100\]{z-index:100}.z-\[80\]{z-index:80}.z-\[81\]{z-index:81}.col-span-1{grid-column:span 1/span 1}.col-span-full{grid-column:1/-1}.m-0{margin:0}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.line-clamp-3{-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.max-h-\[92vh\]{max-height:92vh}.min-h-\[100px\]{min-height:100px}.min-h-\[2\.75rem\]{min-height:2.75rem}.min-h-\[260px\]{min-height:260px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px}.translate-y-6{--tw-translate-y:1.5rem}.-rotate-90,.translate-y-6{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate:-90deg}.rotate-90{--tw-rotate:90deg}.rotate-90,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-\[1\.75rem\]{border-top-left-radius:1.75rem;border-top-right-radius:1.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-t{border-top-width:1px}.border-t-4{border-top-width:4px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--primary\)\]{border-color:var(--primary)}.border-blue-500\/20{border-color:rgba(59,130,246,.2)}.border-blue-500\/30{border-color:rgba(59,130,246,.3)}.border-green-500\/20{border-color:rgba(34,197,94,.2)}.border-indigo-500\/10{border-color:rgb(var(--a-500)/.1)}.border-indigo-500\/50{border-color:rgb(var(--a-500)/.5)}.border-orange-500\/20{border-color:rgba(249,115,22,.2)}.border-purple-500\/20{border-color:rgb(var(--a-500)/.2)}.border-red-500\/20{border-color:rgba(239,68,68,.2)}.border-red-500\/30{border-color:rgba(239,68,68,.3)}.border-red-500\/50{border-color:rgba(239,68,68,.5)}.border-transparent{border-color:transparent}.border-white\/10{border-color:hsla(0,0%,100%,.1)}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.border-yellow-500\/20{border-color:rgba(234,179,8,.2)}.border-t-\[var\(--primary\)\]{border-top-color:var(--primary)}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--background\)\]{background-color:var(--background)}.bg-\[var\(--card\)\]{background-color:var(--card)}.bg-\[var\(--color-modal-light\)\]{background-color:var(--color-modal-light)}.bg-\[var\(--muted\)\]{background-color:var(--muted)}.bg-\[var\(--primary\)\]{background-color:var(--primary)}.bg-\[var\(--primary-glow\)\]{background-color:var(--primary-glow)}.bg-amber-500\/15{background-color:rgba(245,158,11,.15)}.bg-black\/30{background-color:rgba(0,0,0,.3)}.bg-black\/40{background-color:rgba(0,0,0,.4)}.bg-black\/60{background-color:rgba(0,0,0,.6)}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-500\/10{background-color:rgba(59,130,246,.1)}.bg-blue-500\/15{background-color:rgba(59,130,246,.15)}.bg-blue-500\/20{background-color:rgba(59,130,246,.2)}.bg-emerald-500\/10{background-color:rgba(16,185,129,.1)}.bg-emerald-500\/15{background-color:rgba(16,185,129,.15)}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-500\/15{background-color:rgba(34,197,94,.15)}.bg-green-500\/20{background-color:rgba(34,197,94,.2)}.bg-indigo-500\/10{background-color:rgb(var(--a-500)/.1)}.bg-indigo-500\/15{background-color:rgb(var(--a-500)/.15)}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-orange-500\/20{background-color:rgba(249,115,22,.2)}.bg-pink-500\/15{background-color:rgba(236,72,153,.15)}.bg-purple-500\/15{background-color:rgb(var(--a-500)/.15)}.bg-purple-500\/20{background-color:rgb(var(--a-500)/.2)}.bg-red-500\/10{background-color:rgba(239,68,68,.1)}.bg-red-500\/20{background-color:rgba(239,68,68,.2)}.bg-red-500\/5{background-color:rgba(239,68,68,.05)}.bg-red-500\/80{background-color:rgba(239,68,68,.8)}.bg-sky-500\/15{background-color:rgba(14,165,233,.15)}.bg-transparent{background-color:transparent}.bg-violet-500\/15{background-color:rgb(var(--a-500)/.15)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/20{background-color:hsla(0,0%,100%,.2)}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-yellow-500\/10{background-color:rgba(234,179,8,.1)}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-black\/90{--tw-gradient-from:rgba(0,0,0,.9) var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-500\/10{--tw-gradient-from:rgba(59,130,246,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-500\/10{--tw-gradient-from:rgba(34,197,94,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from:rgb(var(--a-500)/1) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--a-500)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-500\/10{--tw-gradient-from:rgb(var(--a-500)/0.1) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--a-500)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-500\/10{--tw-gradient-from:rgba(249,115,22,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,115,22,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-500\/10{--tw-gradient-from:rgb(var(--a-500)/0.1) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--a-500)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-black\/40{--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(0,0,0,.4) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-green-500{--tw-gradient-to:#22c55e var(--tw-gradient-to-position)}.to-green-500\/10{--tw-gradient-to:rgba(34,197,94,.1) var(--tw-gradient-to-position)}.to-purple-500\/10{--tw-gradient-to:rgb(var(--a-500)/0.1) var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to:rgb(var(--a-600)/1) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-4{padding-bottom:1rem}.pb-8{padding-bottom:2rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-9{padding-left:2.25rem}.pr-8{padding-right:2rem}.pt-1{padding-top:.25rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.pt-\[10vh\]{padding-top:10vh}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-\[rgb\(var\(--a-500\)\)\]{color:rgb(var(--a-500))}.text-\[var\(--foreground\)\]{color:var(--foreground)}.text-\[var\(--muted-foreground\)\]{color:var(--muted-foreground)}.text-\[var\(--primary\)\]{color:var(--primary)}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-cyan-500{--tw-text-opacity:1;color:rgb(6 182 212/var(--tw-text-opacity,1))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-foreground{color:var(--foreground)}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(var(--a-500)/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(var(--a-600)/var(--tw-text-opacity,1))}.text-muted-foreground{color:var(--muted-foreground)}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-pink-600{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:rgb(var(--a-500)/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:rgb(var(--a-600)/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.text-transparent{color:transparent}.text-violet-600{--tw-text-opacity:1;color:rgb(var(--a-600)/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/50{color:hsla(0,0%,100%,.5)}.text-white\/70{color:hsla(0,0%,100%,.7)}.text-white\/80{color:hsla(0,0%,100%,.8)}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.placeholder-\[var\(--muted-foreground\)\]::-moz-placeholder{color:var(--muted-foreground)}.placeholder-\[var\(--muted-foreground\)\]::placeholder{color:var(--muted-foreground)}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06))}.drop-shadow-md,.drop-shadow-sm{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,.05))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-md,.backdrop-blur-sm{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}@media (min-width:768px){.route-card-stats .md\:text-2xl{font-family:var(--font-display);font-weight:600}}.hover\:border-\[var\(--border\)\]:hover{border-color:var(--border)}.hover\:border-\[var\(--primary\)\]:hover{border-color:var(--primary)}.hover\:border-red-500\/50:hover{border-color:rgba(239,68,68,.5)}.hover\:bg-\[var\(--accent\)\]:hover{background-color:var(--accent)}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-indigo-500\/10:hover{background-color:rgb(var(--a-500)/.1)}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.hover\:bg-red-500\/10:hover{background-color:rgba(239,68,68,.1)}.hover\:bg-white\/40:hover{background-color:hsla(0,0%,100%,.4)}.hover\:text-\[var\(--foreground\)\]:hover{color:var(--foreground)}.hover\:text-indigo-600:hover{--tw-text-opacity:1;color:rgb(var(--a-600)/var(--tw-text-opacity,1))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-emerald-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity,1))}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--a-500)/var(--tw-ring-opacity,1))}.group:hover .group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.group:hover .group-hover\:scale-105,.group:hover .group-hover\:scale-110{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.group:hover .group-hover\:animate-bounce{animation:bounce 1s infinite}.group:hover .group-hover\:bg-\[var\(--background\)\]{background-color:var(--background)}.group:hover .group-hover\:bg-\[var\(--primary\)\]{background-color:var(--primary)}.group:hover .group-hover\:text-\[rgb\(var\(--a-400\)\)\]{color:rgb(var(--a-400))}.group:hover .group-hover\:text-\[var\(--primary\)\]{color:var(--primary)}.group:hover .group-hover\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}.dark\:border-yellow-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity,1))}.dark\:bg-\[var\(--color-modal-dark\)\]:is(.dark *){background-color:var(--color-modal-dark)}.dark\:bg-slate-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.dark\:bg-yellow-900\/20:is(.dark *){background-color:rgba(113,63,18,.2)}.dark\:from-indigo-500\/20:is(.dark *){--tw-gradient-from:rgb(var(--a-500)/0.2) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--a-500)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:to-purple-500\/20:is(.dark *){--tw-gradient-to:rgb(var(--a-500)/0.2) var(--tw-gradient-to-position)}.dark\:text-amber-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.dark\:text-indigo-400:is(.dark *){--tw-text-opacity:1;color:rgb(var(--a-400)/var(--tw-text-opacity,1))}.dark\:text-orange-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.dark\:text-pink-400:is(.dark *){--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity,1))}.dark\:text-purple-400:is(.dark *){--tw-text-opacity:1;color:rgb(var(--a-400)/var(--tw-text-opacity,1))}.dark\:text-sky-400:is(.dark *){--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.dark\:text-violet-400:is(.dark *){--tw-text-opacity:1;color:rgb(var(--a-400)/var(--tw-text-opacity,1))}.dark\:text-yellow-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.dark\:hover\:bg-blue-900\/20:hover:is(.dark *){background-color:rgba(30,58,138,.2)}.dark\:hover\:bg-red-500\/10:hover:is(.dark *){background-color:rgba(239,68,68,.1)}@media (min-width:640px){.sm\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.sm\:inline{display:inline}.sm\:max-h-\[88vh\]{max-height:88vh}.sm\:translate-y-0{--tw-translate-y:0px}.sm\:scale-100,.sm\:translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.sm\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:rounded-\[1\.75rem\]{border-radius:1.75rem}.sm\:p-4{padding:1rem}.sm\:p-9{padding:2.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:inline-block{display:inline-block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-80{height:20rem}.md\:w-56{width:14rem}.md\:w-72{width:18rem}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-end{justify-content:flex-end}.md\:justify-between{justify-content:space-between}.md\:border-t-0{border-top-width:0}.md\:p-8{padding:2rem}.md\:pt-0{padding-top:0}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-base{font-size:1rem;line-height:1.5rem}}@media (min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ui-select>.ui-select-native{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}
:root {
--ring: 0 0 0 1px var(--border);
--lift-1: 0 1px 2px rgb(15 23 42 / 0.05), 0 10px 24px -14px rgb(15 23 42 / 0.16);
--lift-2: 0 2px 4px rgb(15 23 42 / 0.06), 0 18px 36px -16px rgb(15 23 42 / 0.26);
--ease-out: cubic-bezier(0.22, 1, 0.36, 1);
--press: 0.96;
}
.dark {
--lift-1: 0 1px 2px rgb(0 0 0 / 0.5), 0 14px 30px -18px rgb(0 0 0 / 0.8);
--lift-2: 0 2px 4px rgb(0 0 0 / 0.5), 0 22px 44px -18px rgb(0 0 0 / 0.9);
}
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
h1, h2, h3, .ledger-figure { text-wrap: balance; }
p, li, .calc-panel p { text-wrap: pretty; }
.compact-kpi-value, .calc-result-value, .calc-stat strong, .ledger-figure, .ledger-row dd, .ledger-bar-value,
.activity-amount, .record-figure, table td, [data-tabular] { font-variant-numeric: tabular-nums; }
::selection { background: rgb(var(--a-500) / 0.28); color: inherit; }
:focus-visible { outline: 2px solid rgb(var(--a-500)); outline-offset: 2px; border-radius: 0.4rem; }
.input-field:focus-visible, .calc-input input:focus-visible { outline: none; }
* { scrollbar-width: thin; scrollbar-color: var(--border-strong) transparent; }
main img:not(.vehicle-hero-img):not(.no-outline) { outline: 1px solid oklch(0 0 0 / 0.1); outline-offset: -1px; }
.dark main img:not(.vehicle-hero-img):not(.no-outline) { outline-color: oklch(1 0 0 / 0.1); }
.card {
border: 0;
border-radius: 1rem;
box-shadow: var(--ring), var(--lift-1);
transition-property: box-shadow, transform;
transition-duration: 0.28s;
transition-timing-function: var(--ease-out);
}
.card::before, .compact-kpi-card::after, .record-card::after { display: none; }
.card:hover { border-color: transparent; }
a.card:hover, .record-card:hover, .vehicle-shell-card:hover { box-shadow: 0 0 0 1px var(--border-strong), var(--lift-2); }
.record-card, .card.record-card { padding-left: clamp(1rem, 0.9rem + 0.8vw, 1.5rem); border-color: transparent; }
.page-header.card, .page-header { border: 0 !important; box-shadow: var(--ring), var(--lift-1) !important; }
.page-header h1::before { display: none; }
.page-header h1 { padding-left: 0; font-weight: 700; letter-spacing: -0.025em; }
.btn-primary, .btn-secondary, .btn-ghost, .btn-danger, .icon-action-btn, .sidebar-mini-link {
transition-property: transform, box-shadow, background-color, border-color, color;
transition-duration: 0.18s;
transition-timing-function: var(--ease-out);
}
.btn-primary {
background: rgb(var(--a-500));
border-color: transparent;
box-shadow: 0 1px 2px rgb(var(--a-700) / 0.45), 0 8px 18px -8px rgb(var(--a-500) / 0.6), inset 0 1px 0 rgb(255 255 255 / 0.2);
}
.btn-primary:hover:not(:disabled) {
filter: none;
transform: none;
background: rgb(var(--a-400));
box-shadow: 0 1px 2px rgb(var(--a-700) / 0.45), 0 12px 24px -8px rgb(var(--a-500) / 0.7), inset 0 1px 0 rgb(255 255 255 / 0.26);
}
.btn-secondary { background: var(--card); border-color: transparent; box-shadow: var(--ring), 0 1px 2px rgb(15 23 42 / 0.05); }
.btn-secondary:hover:not(:disabled) { transform: none; border-color: transparent; background: var(--accent); box-shadow: 0 0 0 1px var(--border-strong), 0 1px 2px rgb(15 23 42 / 0.08); }
.btn-ghost:hover:not(:disabled), .btn-danger:hover:not(:disabled) { transform: none; }
.btn-primary:active:not(:disabled), .btn-secondary:active:not(:disabled), .btn-ghost:active:not(:disabled),
.btn-danger:active:not(:disabled), .sidebar-mini-link:active { transform: scale(var(--press)); }
.icon-action-btn:hover { transform: none; }
.icon-action-btn:active { transform: scale(var(--press)); }
.record-card-side button, .touch-actions button { position: relative; transition-property: transform, background-color, color; transition-duration: 0.16s; }
.record-card-side button:active, .touch-actions button:active { transform: scale(var(--press)); }
.is-loading { pointer-events: none; position: relative; color: transparent !important; }
.is-loading > * { visibility: hidden; }
.is-loading::after {
content: ''; position: absolute; inset: 0; margin: auto; width: 1.1rem; height: 1.1rem;
border: 2px solid rgb(255 255 255 / 0.4); border-top-color: #fff; border-radius: 50%;
animation: polishSpin 0.7s linear infinite;
}
.btn-secondary.is-loading::after { border-color: var(--border-strong); border-top-color: rgb(var(--a-500)); }
@keyframes polishSpin { to { transform: rotate(360deg); } }
.input-field { border-color: transparent; box-shadow: 0 0 0 1px var(--border-strong); transition-property: box-shadow, background-color; transition-duration: 0.18s; }
.input-field:hover { border-color: transparent; box-shadow: 0 0 0 1px rgb(var(--a-500) / 0.5); }
.input-field:focus { border-color: transparent; box-shadow: 0 0 0 1.5px rgb(var(--a-500)), 0 0 0 5px rgb(var(--a-500) / 0.16); }
.calc-tabs, .rutas-tabs { position: relative; }
.tab-indicator { position: absolute; left: 0; top: 0; pointer-events: none; will-change: transform, width; }
.calc-tabs.has-indicator { border-color: transparent; box-shadow: var(--ring); }
.calc-tabs.has-indicator a { position: relative; z-index: 1; }
.calc-tabs.has-indicator a.is-active { background: transparent; box-shadow: none; }
.calc-tabs.has-indicator .tab-indicator { background: var(--card); border-radius: 9999px; box-shadow: 0 0 0 1px var(--border), 0 1px 3px rgb(15 23 42 / 0.12); }
.rutas-tabs.has-indicator a { border-bottom-color: transparent !important; }
.rutas-tabs.has-indicator .tab-indicator { height: 2px; bottom: 0; top: auto; border-radius: 2px; background: rgb(var(--a-500)); }
.ledger {
display: grid; gap: 0; grid-template-columns: minmax(0, 1fr);
background: var(--card); border-radius: 1.25rem; overflow: hidden;
box-shadow: var(--ring), var(--lift-1);
}
@media (min-width: 60rem) { .ledger { grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); } }
.ledger-main { padding: clamp(1.1rem, 0.8rem + 1.4vw, 1.9rem); display: flex; flex-direction: column; gap: 1.25rem; min-width: 0; }
.ledger-label { margin: 0; font-size: 0.9rem; font-weight: 600; color: var(--muted-foreground); }
.ledger-figure { margin: 0.2rem 0 0; font-size: clamp(2.4rem, 1.7rem + 3.6vw, 4rem); font-weight: 700; letter-spacing: -0.035em; line-height: 1; color: var(--foreground); }
.ledger-figure small { font-size: 0.45em; font-weight: 600; letter-spacing: -0.01em; color: var(--muted-foreground); margin-left: 0.2em; }
.ledger-delta { margin: 0.55rem 0 0; display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.875rem; font-weight: 600; color: var(--muted-foreground); }
.ledger-delta.is-up { color: var(--gauge-bad); }
.ledger-delta.is-down { color: var(--gauge-ok); }
.ledger-bars { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: clamp(0.4rem, 0.2rem + 1vw, 0.9rem); align-items: end; height: 9rem; margin-top: auto; }
.ledger-bar { display: grid; grid-template-rows: minmax(0, 1fr) auto; gap: 0.4rem; height: 100%; min-width: 0; }
.ledger-bar-track { display: flex; align-items: flex-end; min-height: 0; }
.ledger-bar-fill { display: block; width: 100%; min-height: 0.25rem; border-radius: 0.5rem 0.5rem 0.25rem 0.25rem; background: var(--muted); transform-origin: bottom; }
.ledger-bar.is-current .ledger-bar-fill { background: rgb(var(--a-500)); box-shadow: 0 8px 18px -8px rgb(var(--a-500) / 0.7); }
.ledger-bar-label { font-size: 0.72rem; font-weight: 600; text-align: center; color: var(--muted-foreground); text-transform: capitalize; white-space: nowrap; }
.ledger-bar.is-current .ledger-bar-label { color: var(--foreground); }
.ledger-bar-value { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.ledger-side { margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); background: var(--card-sunken); }
@media (min-width: 60rem) { .ledger-side { grid-template-columns: minmax(0, 1fr); align-content: stretch; } }
.ledger-row { padding: clamp(0.9rem, 0.7rem + 0.8vw, 1.4rem) clamp(0.9rem, 0.7rem + 1vw, 1.6rem); display: flex; flex-direction: column; justify-content: center; gap: 0.25rem; min-width: 0; }
.ledger-row + .ledger-row { border-left: 1px solid var(--border); }
@media (min-width: 60rem) { .ledger-row + .ledger-row { border-left: 0; border-top: 1px solid var(--border); } }
.ledger-row dt { font-size: 0.82rem; font-weight: 600; color: var(--muted-foreground); }
.ledger-row dd { margin: 0; font-size: clamp(1.1rem, 0.9rem + 1vw, 1.65rem); font-weight: 650; letter-spacing: -0.02em; line-height: 1.1; color: var(--foreground); overflow-wrap: anywhere; }
.ledger-row dd small { font-size: 0.55em; font-weight: 600; color: var(--muted-foreground); letter-spacing: 0; margin-left: 0.15em; }
.activity-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.75rem 0.5rem; margin-inline: -0.5rem; border-radius: 0.75rem; transition-property: background-color; transition-duration: 0.15s; }
.activity-row + .activity-row { box-shadow: 0 -1px 0 var(--border); }
.activity-row:hover { background: var(--muted); box-shadow: none; }
.activity-row:hover + .activity-row { box-shadow: none; }
.activity-mark { width: 2.25rem; height: 2.25rem; border-radius: 0.6rem; display: grid; place-items: center; flex: none; }
.activity-mark.is-refueling { color: rgb(var(--a-500)); background: rgb(var(--a-500) / 0.12); }
.activity-mark.is-maintenance { color: var(--gauge-ok); background: rgb(23 178 106 / 0.12); }
.activity-mark.is-expense { color: var(--gauge-warn); background: rgb(245 165 36 / 0.14); }
.activity-amount { font-weight: 650; letter-spacing: -0.01em; }
.record-figure { font-size: 1.25rem; font-weight: 700; letter-spacing: -0.02em; }
.record-card .record-mark { width: 2.75rem; height: 2.75rem; border-radius: 0.8rem; display: grid; place-items: center; flex: none; color: rgb(var(--a-500)); background: rgb(var(--a-500) / 0.1); }
.record-card .record-actions button { border-radius: 0.6rem; }
.calc-result-value { font-variant-numeric: tabular-nums; }
@media (prefers-reduced-motion: reduce) {
.is-loading::after { animation-duration: 2s; }
}
.calc-grid .calc-panel { border: 0; box-shadow: var(--ring), var(--lift-1); }
.compact-kpi-icon { background: var(--muted) !important; color: var(--muted-foreground) !important; box-shadow: none; border-radius: 0.65rem; }
@media (max-width: 29.99rem) {
.ledger-row dd { font-size: 1rem; white-space: nowrap; }
.ledger-row dt { font-size: 0.75rem; }
}
:root {
--font-display: 'Bricolage Grotesque', 'Inter', 'Segoe UI', system-ui, sans-serif;
--background: #eeece7;
--card: #fffefb;
--card-sunken: #f5f3ee;
--foreground: #17130f;
--muted: rgba(23, 19, 15, 0.06);
--muted-foreground: #5f5850;
--accent: #f2f0eb;
--border: rgba(23, 19, 15, 0.1);
--border-strong: rgba(23, 19, 15, 0.2);
--color-background-light: #eeece7;
}
.dark {
--background: #0d0c0b;
--card: #161412;
--card-sunken: #100e0d;
--foreground: #f5f2ed;
--muted: rgba(255, 244, 230, 0.06);
--muted-foreground: #a8a096;
--accent: #1e1b18;
--border: rgba(255, 244, 230, 0.09);
--border-strong: rgba(255, 244, 230, 0.18);
}
body, .dark body { background-image: none; background-color: var(--background); font-feature-settings: 'cv11'; }
h1, h2, h3, h4, .page-header h1 { font-family: var(--font-display); font-weight: 700; letter-spacing: -0.028em; line-height: 1.08; }
h1, .page-header h1 { font-size: clamp(1.9rem, 1.4rem + 2.2vw, 3rem); }
h2 { font-size: clamp(1.25rem, 1.1rem + 0.8vw, 1.7rem); }
h3 { font-size: clamp(1.05rem, 1rem + 0.35vw, 1.25rem); }
[class*='text-3xl'], [class*='text-4xl'] { font-family: var(--font-display); letter-spacing: -0.03em; }
.btn-primary, .btn-secondary, .btn-ghost, .btn-danger, .sidebar-mini-link, .calc-tabs a { font-family: var(--font-display); letter-spacing: -0.005em; }
.page-header, .page-header.card {
background: transparent !important;
box-shadow: none !important;
border-radius: 0 !important;
padding: 0.25rem 0 0.75rem !important;
align-items: flex-end;
}
.page-header p { color: var(--muted-foreground); }
.page-header + * { margin-top: 0; }
[class*='bg-gradient-to']:not([class*='from-black']) { background-image: none !important; }
[class*='bg-blue-500/'], [class*='bg-purple-500/'], [class*='bg-indigo-500/'], [class*='bg-pink-500/'], [class*='bg-orange-500/'],
[class*='bg-cyan-500/'], [class*='bg-sky-500/'], [class*='bg-violet-500/'], [class*='bg-teal-500/'] { background-color: var(--muted) !important; }
[class*='text-blue-'], [class*='text-purple-'], [class*='text-indigo-'], [class*='text-pink-'], [class*='text-orange-'],
[class*='text-cyan-'], [class*='text-sky-'], [class*='text-violet-'], [class*='text-teal-'] { color: var(--muted-foreground) !important; }
[class*='border-blue-500/'], [class*='border-purple-500/'], [class*='border-green-500/'], [class*='border-orange-500/'], [class*='border-indigo-500/'] { border-color: var(--border) !important; }
.card.border-dashed { box-shadow: none; border: 1.5px dashed var(--border-strong); background: transparent; }
table { border-collapse: collapse; width: 100%; }
th { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--muted-foreground); text-align: left; }
th, td { padding: 0.7rem 0.9rem; }
tbody tr { box-shadow: 0 -1px 0 var(--border); }
tbody tr:hover { background: var(--muted); }
.soft-chip, .app-chip, .app-tag-chip, .user-meta-chip, .user-role-badge, .user-status-badge { border-color: transparent; background: var(--muted); border-radius: 9999px; font-family: var(--font-body); }
.app-tag-chip { background: rgb(var(--a-500) / 0.1); }
.sidebar::before { display: none; }
.sidebar .nav-link { border-radius: 0.65rem; transition-property: background-color, color; transition-duration: 0.15s; }
.sidebar .nav-link.active, .sidebar .nav-link.is-active, .sidebar .nav-link[aria-current='page'] { box-shadow: none; background: rgb(var(--a-500) / 0.14); }
.sidebar-nav-title { letter-spacing: 0.08em; }
.app-modal-panel::before { display: none; }
.app-modal-panel, .modal-card { border: 0; box-shadow: var(--ring), var(--lift-2); border-radius: 1.25rem; }
.app-modal-header { background: var(--card); }
select.input-field { background-color: var(--card-sunken); }
:root { --t-fast: 0.16s; --t-base: 0.28s; }
a.card, .vehicle-shell-card, .route-card, .public-vehicle-card, .spec-card, .hub-post, .hub-card, .doc-card-premium, .record-card, .admin-kpi {
transition-property: transform, box-shadow, background-color;
transition-duration: var(--t-base);
transition-timing-function: var(--ease-out);
}
@media (hover: hover) {
a.card:hover, .vehicle-shell-card:hover, .route-card:hover, .public-vehicle-card:hover, .spec-card:hover, .hub-post:hover, .hub-card:hover,
.doc-card-premium:hover, .record-card:hover, a.admin-kpi:hover { transform: translateY(-2px); }
}
a.card:active, .vehicle-shell-card:active, .route-card:active, .public-vehicle-card:active, .record-card:active { transform: scale(0.985); }
.nav-link, .sidebar-nav-toggle, .hub-subnav a, .hub-chip, .hub-pill, .hub-filter-chip, .soft-chip, .admin-tab, .admin-segment, .page-actions > * {
transition-property: background-color, color, box-shadow, transform;
transition-duration: var(--t-fast);
transition-timing-function: var(--ease-out);
}
.nav-link:active, .hub-subnav a:active, .hub-chip:active, .hub-pill:active, .admin-tab:active, .admin-segment:active { transform: scale(0.97); }
.icon-action-btn svg, .record-actions svg, .touch-actions svg { transition: transform var(--t-fast) var(--ease-out); }
.icon-action-btn:hover svg, .record-actions button:hover svg { transform: scale(1.1); }
tbody tr, .activity-row, .connection-item, .dashboard-list-row { transition: background-color var(--t-fast) var(--ease-out); }
.page-header a:not([class*='btn']):not([class*='card']), .card p a { text-underline-offset: 0.2em; transition: color var(--t-fast) var(--ease-out); }
@media (prefers-reduced-motion: reduce) {
a.card:hover, .vehicle-shell-card:hover, .route-card:hover, .record-card:hover { transform: none; }
a.card:active, .nav-link:active, .record-card:active { transform: none; }
}
.admin-seal { display: inline-flex; align-items: center; gap: 0.3rem; vertical-align: middle; margin-left: 0.4rem; padding: 0.12rem 0.55rem 0.12rem 0.38rem; border-radius: 9999px; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; line-height: 1.4; white-space: nowrap; color: #92400e; background: linear-gradient(135deg, rgb(252 211 77 / 0.5), rgb(245 158 11 / 0.16)); box-shadow: inset 0 0 0 1px rgb(217 119 6 / 0.4), inset 0 1px 0 rgb(255 255 255 / 0.55), 0 1px 3px rgb(180 83 9 / 0.2); backdrop-filter: blur(6px); }
.admin-seal.is-icon { gap: 0; padding: 0.18rem; }
.admin-seal svg { flex: none; }
:root[data-theme="dark"] .admin-seal, .dark .admin-seal { color: #fcd34d; background: linear-gradient(135deg, rgb(251 191 36 / 0.28), rgb(245 158 11 / 0.08)); box-shadow: inset 0 0 0 1px rgb(251 191 36 / 0.35), inset 0 1px 0 rgb(255 255 255 / 0.12), 0 1px 3px rgb(0 0 0 / 0.35); }
.user-menu-head .admin-seal { align-self: flex-start; margin: 0.35rem 0 0.1rem; color: #92400e; font-size: 0.68rem; overflow: visible; text-overflow: clip; }
.user-menu-head .admin-seal span { font-size: inherit; color: inherit; }
:root[data-theme="dark"] .user-menu-head .admin-seal, .dark .user-menu-head .admin-seal { color: #fcd34d; }
#vehicleDetailsOverlay { backdrop-filter: none !important; background: rgb(0 0 0 / 0.45) !important; transition: opacity 0.3s var(--ease-out-expo) !important; }
#vehicleDetailsPanel { transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1); will-change: transform; }
#vehicleDetailsPanel:not(.open) { transition-duration: 0.32s; transition-timing-function: cubic-bezier(0.4, 0, 1, 1); }
#vehicleDetailsPanel > * { opacity: 0; transform: translateY(10px); transition: opacity 0.35s var(--ease-out-expo), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1); }
#vehicleDetailsPanel.open > * { opacity: 1; transform: none; transition-delay: 0.12s; }
#vehicleDetailsPanel.open > *:nth-child(n+2) { transition-delay: 0.18s; }
@media (max-width: 40rem) {
#vehicleDetailsPanel { top: auto; right: 0; bottom: 0; left: 0; height: auto; max-height: 92dvh; max-width: none; border-left: 0; border-radius: 1.5rem 1.5rem 0 0; transform: translateY(100%); overscroll-behavior: contain; }
#vehicleDetailsPanel.open { transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
#vehicleDetailsOverlay { transition: opacity 0.25s var(--ease-out-expo) !important; }
#vehicleDetailsPanel { transform: none !important; opacity: 0; transition: opacity 0.3s var(--ease-out-expo) !important; }
#vehicleDetailsPanel.open { opacity: 1; }
#vehicleDetailsPanel > * { opacity: 1; transform: none; transition: none !important; }
}
.legal-foot { width: 100%; display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.25rem; align-items: center; padding: 2.5rem 0 1.5rem; font-size: .8rem; color: var(--muted-foreground); }
.legal-foot a { color: inherit; text-decoration: none; }
.legal-foot a:hover { text-decoration: underline; text-underline-offset: 3px; }
.user-status-badge.is-online { color: #15803d; background: rgb(34 197 94 / 0.14); }
.user-status-badge.is-online::before { content: ''; display: inline-block; width: 0.45rem; height: 0.45rem; margin-right: 0.35rem; border-radius: 50%; background: #22c55e; vertical-align: 0.08em; animation: live-pulse 1.8s ease-out infinite; }
.user-status-badge.is-offline { color: var(--muted-foreground); background: var(--muted); }
.user-status-badge.is-inactive { color: #b42318; background: rgb(240 68 56 / 0.12); }
.dark .user-status-badge.is-online { color: #4ade80; }
.dark .user-status-badge.is-inactive { color: #f97066; }
.live-dot { display: inline-block; width: 0.55rem; height: 0.55rem; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 0 rgb(34 197 94 / 0.55); animation: live-pulse 1.8s ease-out infinite; }
@keyframes live-pulse { 70% { box-shadow: 0 0 0 0.45rem rgb(34 197 94 / 0); } 100% { box-shadow: 0 0 0 0 rgb(34 197 94 / 0); } }
@media (prefers-reduced-motion: reduce) { .live-dot, .user-status-badge.is-online::before { animation: none; } }
@media (hover: none) and (pointer: coarse) {
input:not([type="checkbox"], [type="radio"], [type="range"], [type="color"], [type="file"], [type="submit"], [type="button"], [type="reset"], [type="image"]), select, textarea { font-size: 16px !important; }
}
.rail-search {
width: 100%; margin-bottom: 0.6rem;
display: flex; align-items: center; gap: 0.7rem;
min-height: 2.6rem; padding: 0 0.85rem;
border-radius: 0.75rem;
color: var(--muted-foreground); font-size: 0.9rem;
background: var(--muted);
box-shadow: inset 0 0 0 1px var(--border);
transition-property: background-color, color, box-shadow;
transition-duration: 0.16s;
}
.rail-search:hover { background: rgba(255, 255, 255, 0.09); color: var(--foreground); }
.rail-add {
width: 100%;
display: flex; align-items: center; gap: 0.6rem;
min-height: 2.6rem; padding: 0 0.85rem;
border-radius: 0.75rem;
color: #fff; font-family: var(--font-display); font-weight: 700; font-size: 0.92rem;
background: rgb(var(--a-500));
box-shadow: 0 1px 2px rgb(var(--a-700) / 0.5), 0 8px 18px -8px rgb(var(--a-500) / 0.7), inset 0 1px 0 rgb(255 255 255 / 0.2);
transition-property: transform, background-color, box-shadow;
transition-duration: 0.18s;
transition-timing-function: var(--ease-out);
}
.rail-add > span { flex: 1; text-align: left; }
.rail-add .kbd { color: #fff; background: rgb(0 0 0 / 0.18); border-color: rgb(255 255 255 / 0.22); }
.rail-add:hover { background: rgb(var(--a-400)); }
.rail-add:active { transform: scale(var(--press)); }
.rail-nav { position: relative; display: flex; flex-direction: column; gap: 0.2rem; margin-top: 1.4rem; }
.rail-indicator {
position: absolute; inset: 0 0 auto 0; height: 2.75rem;
border-radius: 0.75rem;
background: rgb(var(--a-500) / 0.16);
box-shadow: inset 0 0 0 1px rgb(var(--a-500) / 0.22);
opacity: 0; pointer-events: none; will-change: transform, height;
}
.rail-indicator.is-ready { opacity: 1; }
.rail-link {
position: relative; z-index: 1;
display: flex; align-items: center; gap: 0.8rem;
min-height: 2.75rem; padding: 0 0.9rem;
border-radius: 0.75rem;
color: var(--muted-foreground);
font-family: var(--font-display); font-weight: 600; font-size: 0.97rem; letter-spacing: -0.005em;
text-decoration: none;
transition-property: color, background-color, transform;
transition-duration: 0.16s;
transition-timing-function: var(--ease-out);
-webkit-tap-highlight-color: transparent;
}
.rail-link svg { flex: none; transition: transform 0.22s var(--ease-out), color 0.16s; }
.rail-link:hover { color: var(--foreground); background: var(--muted); }
.rail-link:hover svg { transform: translateX(2px); }
.rail-link:active { transform: scale(0.98); }
.rail-link.is-active { color: #fff; background: transparent; }
.rail-link.is-active svg { color: rgb(var(--a-400)); }
.rail-link.is-active:hover svg { transform: none; }
.rail-label { flex: 1; }
.nav-badge {
display: inline-flex; align-items: center; justify-content: center;
min-width: 1.25rem; height: 1.25rem; padding: 0 0.35rem;
border-radius: 9999px;
font-size: 0.7rem; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums;
color: #fff; background: rgb(var(--a-500));
}
.user-trigger {
width: 100%;
display: flex; align-items: center; gap: 0.65rem;
padding: 0.45rem; border-radius: 0.85rem; text-align: left;
color: var(--foreground);
background: var(--muted);
box-shadow: inset 0 0 0 1px var(--border);
transition-property: background-color, box-shadow;
transition-duration: 0.16s;
-webkit-tap-highlight-color: transparent;
}
.user-trigger:hover, .user-trigger[aria-expanded='true'] { background: rgba(255, 255, 255, 0.1); }
.user-trigger.is-active { box-shadow: inset 0 0 0 1px rgb(var(--a-500) / 0.5); }
.user-trigger.is-admin .sidebar-profile-avatar { box-shadow: 0 0 0 2px #0a0c0f, 0 0 0 3.5px rgb(var(--a-400)); }
.user-trigger-chevron { flex: none; color: var(--muted-foreground); transition: transform 0.25s var(--ease-out); }
.user-trigger[aria-expanded='true'] .user-trigger-chevron { transform: rotate(180deg); }
.user-chip { font-family: var(--font-display); font-weight: 700; font-size: 0.95rem; }
.user-chip > span, .user-chip-img { width: 2.1rem; height: 2.1rem; border-radius: 0.65rem; display: grid; place-items: center; background: rgb(var(--a-500)); color: #fff; object-fit: cover; }
.user-menu {
position: fixed; z-index: 1400;
display: flex; flex-direction: column; gap: 0.1rem;
min-width: 14rem; max-width: calc(100vw - 1rem);
padding: 0.4rem;
border-radius: 1rem;
background: var(--card);
box-shadow: 0 0 0 1px var(--border-strong), 0 2px 4px rgb(0 0 0 / 0.08), 0 24px 48px -16px rgb(0 0 0 / 0.45);
will-change: transform, opacity;
}
.user-menu[hidden] { display: none; }
.user-menu-head { display: flex; flex-direction: column; padding: 0.55rem 0.7rem 0.65rem; gap: 0.1rem; }
.user-menu-head strong { font-family: var(--font-display); font-size: 0.95rem; color: var(--foreground); }
.user-menu-head span { font-size: 0.78rem; color: var(--muted-foreground); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-menu-item {
display: flex; align-items: center; gap: 0.7rem;
min-height: 2.6rem; padding: 0 0.7rem; width: 100%;
border-radius: 0.65rem; text-align: left;
font-size: 0.92rem; font-weight: 600; color: var(--foreground); text-decoration: none;
transition-property: background-color, color; transition-duration: 0.12s;
}
.user-menu-item svg { color: var(--muted-foreground); flex: none; }
.user-menu-item > span { flex: 1; }
.user-menu-item:hover, .user-menu-item:focus-visible { background: var(--muted); outline: none; }
.user-menu-item.is-active { color: rgb(var(--a-500)); }
.user-menu-item.is-active svg { color: rgb(var(--a-500)); }
.user-menu-item.is-danger, .user-menu-item.is-danger svg { color: var(--gauge-bad); }
.user-menu-item.is-danger:hover { background: rgb(240 68 56 / 0.1); }
.user-menu-sep { height: 1px; margin: 0.3rem 0.5rem; background: var(--border); }
.user-menu-item .kbd { color: var(--muted-foreground); }
.section-tabs {
position: relative;
display: flex; gap: 0.2rem;
width: fit-content; max-width: 100%;
margin-bottom: clamp(1rem, 0.8rem + 1vw, 1.75rem);
padding: 0.3rem;
border-radius: 9999px;
background: var(--card-sunken);
box-shadow: inset 0 0 0 1px var(--border);
overflow-x: auto; scrollbar-width: none;
}
.section-tabs::-webkit-scrollbar { display: none; }
.section-tabs a {
position: relative; z-index: 1; flex: none;
display: inline-flex; align-items: center; gap: 0.5rem;
min-height: 2.5rem; padding: 0 1rem;
border-radius: 9999px;
font-family: var(--font-display); font-weight: 600; font-size: 0.92rem; letter-spacing: -0.005em;
color: var(--muted-foreground); text-decoration: none; white-space: nowrap;
transition-property: color, transform; transition-duration: 0.16s; transition-timing-function: var(--ease-out);
}
.section-tabs a:hover { color: var(--foreground); }
.section-tabs a:active { transform: scale(var(--press)); }
.section-tabs a.is-active { color: var(--foreground); }
.section-tabs a.is-active svg { color: rgb(var(--a-500)); }
.section-tabs .tab-indicator { background: var(--card); border-radius: 9999px; box-shadow: 0 0 0 1px var(--border), 0 1px 3px rgb(15 23 42 / 0.12); }
.section-tabs:not(.has-indicator) a.is-active { background: var(--card); box-shadow: 0 0 0 1px var(--border), 0 1px 3px rgb(15 23 42 / 0.12); }
.quick-add-grid { display: grid; gap: 0.6rem; }
@media (min-width: 40rem) { .quick-add-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.quick-add-item {
display: flex; align-items: center; gap: 0.9rem;
padding: 0.85rem 1rem; border-radius: 1rem;
background: var(--card-sunken); box-shadow: inset 0 0 0 1px var(--border);
color: var(--foreground); text-decoration: none;
transition-property: transform, box-shadow, background-color; transition-duration: 0.18s; transition-timing-function: var(--ease-out);
}
.quick-add-item:hover { background: var(--card); box-shadow: 0 0 0 1px rgb(var(--a-500) / 0.55), var(--lift-1); }
.quick-add-item:active { transform: scale(var(--press)); }
.quick-add-icon { width: 2.6rem; height: 2.6rem; border-radius: 0.75rem; display: grid; place-items: center; flex: none; color: rgb(var(--a-500)); background: rgb(var(--a-500) / 0.12); }
.quick-add-text { display: flex; flex-direction: column; min-width: 0; }
.quick-add-text strong { font-family: var(--font-display); font-size: 1rem; }
.quick-add-text small { font-size: 0.8rem; color: var(--muted-foreground); }
.mobile-bar { grid-template-columns: 1fr auto auto; }
.mobile-bar.is-hidden { transform: none; }
.bottom-nav {
position: fixed; inset: auto 0 0 0; z-index: 60;
display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr);
padding: 0.25rem 0.25rem calc(0.25rem + env(safe-area-inset-bottom));
background: rgba(11, 13, 16, 0.92);
-webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px);
box-shadow: 0 -1px 0 rgba(255, 255, 255, 0.08), 0 -12px 24px -16px rgba(0, 0, 0, 0.6);
}
.bottom-nav-link {
position: relative;
display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.2rem;
min-height: 3.4rem; border-radius: 0.8rem;
color: #8b97a7; font-size: 0.66rem; font-weight: 600; text-decoration: none;
transition-property: color, transform; transition-duration: 0.16s; transition-timing-function: var(--ease-out);
-webkit-tap-highlight-color: transparent;
}
.bottom-nav-link::before {
content: ''; position: absolute; top: 0; left: 30%; right: 30%; height: 2px; border-radius: 0 0 2px 2px;
background: rgb(var(--a-400)); transform: scaleX(0); transition: transform 0.3s var(--ease-out);
}
.bottom-nav-link:active { transform: scale(0.94); }
.bottom-nav-link.is-active { color: #fff; }
.bottom-nav-link.is-active svg { color: rgb(var(--a-400)); }
.bottom-nav-link.is-active::before { transform: scaleX(1); }
.bottom-nav .nav-badge { position: absolute; top: 0.35rem; left: calc(50% + 0.45rem); min-width: 1.05rem; height: 1.05rem; font-size: 0.62rem; }
@media (max-width: 29.99rem) {
.section-tabs a { padding: 0 0.8rem; gap: 0.4rem; font-size: 0.88rem; }
}
@media (max-width: 767.98px) {
.app-main { padding-bottom: calc(6rem + env(safe-area-inset-bottom)); }
}
@media (min-width: 768px) {
.bottom-nav { display: none; }
}
@media (prefers-reduced-motion: reduce) {
.rail-link:hover svg { transform: none; }
.bottom-nav-link:active, .rail-link:active { transform: none; }
}
.bottom-nav-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: center; }
.bottom-nav-5 .bottom-nav-link { background: none; border: 0; font-family: inherit; cursor: pointer; }
.bottom-nav-add { position: relative; display: grid; place-items: center; min-height: 3.4rem; text-decoration: none; -webkit-tap-highlight-color: transparent; }
.bottom-nav-add span {
display: grid; place-items: center; width: 3.3rem; height: 3.3rem; margin-top: -1.1rem; border-radius: 1.15rem; color: #fff;
background: rgb(var(--a-500));
box-shadow: 0 0 0 4px rgba(11, 13, 16, 0.92), 0 2px 4px rgb(var(--a-700) / 0.5), 0 12px 24px -8px rgb(var(--a-500) / 0.8), inset 0 1px 0 rgb(255 255 255 / 0.22);
transition: transform 0.18s var(--ease-out);
}
.bottom-nav-add:active span { transform: scale(var(--press)); }
html.more-lock { overflow: hidden; }
.more-sheet { position: fixed; inset: 0; z-index: 1500; display: grid; align-items: end; }
.more-sheet[hidden] { display: none; }
.more-sheet-backdrop { position: absolute; inset: 0; background: rgb(12 14 18 / 0.5); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.more-sheet-panel { position: relative; padding: 0.4rem 1rem calc(1rem + env(safe-area-inset-bottom)); background: var(--card); color: var(--foreground); border-radius: 1.6rem 1.6rem 0 0; box-shadow: 0 -1px 0 var(--border), 0 -24px 60px -20px rgb(0 0 0 / 0.45); outline: none; max-height: 88dvh; overflow-y: auto; }
.more-sheet-grab { display: grid; place-items: center; padding: 0.35rem 0 0.7rem; touch-action: none; }
.more-sheet-grab span { width: 2.5rem; height: 0.3rem; border-radius: 9999px; background: var(--border-strong); }
.more-sheet-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; }
.more-tile { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.4rem; min-height: 5.2rem; border-radius: 1.1rem; font-size: 0.82rem; font-weight: 650; text-align: center; background: var(--card-sunken); box-shadow: inset 0 0 0 1px var(--border); color: var(--foreground); transition: scale 0.16s var(--ease-out); }
.more-tile svg { color: rgb(var(--a-500)); }
.more-tile:active { scale: var(--press); }
.more-tile .nav-badge { position: absolute; top: 0.5rem; right: 0.6rem; min-width: 1.1rem; height: 1.1rem; font-size: 0.65rem; font-style: normal; }
.more-sheet-list { display: grid; margin-top: 0.7rem; border-top: 1px solid var(--border); }
.more-sheet-list a { display: flex; align-items: center; gap: 0.7rem; min-height: 3rem; padding: 0 0.4rem; font-size: 0.92rem; font-weight: 600; color: var(--foreground); border-bottom: 1px solid var(--border); }
.more-sheet-list a:last-child { border-bottom: 0; }
.more-sheet-list svg { color: var(--muted-foreground); }
.more-sheet-list .is-danger { color: var(--gauge-bad); }
.user-menu-form, .more-sheet-form { margin: 0; }
.user-menu-form .user-menu-item, .more-sheet-form button { border: 0; background: none; cursor: pointer; font-family: inherit; }
.more-sheet-form button { display: flex; align-items: center; gap: 0.7rem; width: 100%; min-height: 3rem; padding: 0 0.4rem; font-size: 0.92rem; font-weight: 600; text-align: left; }
@media (min-width: 768px) { .more-sheet { display: none; } }
@media (prefers-reduced-motion: reduce) { .more-sheet-backdrop { -webkit-backdrop-filter: none; backdrop-filter: none; } }
@keyframes toastInTop { from { opacity: 0; transform: translateY(-0.75rem); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 767.98px) {
.toast-stack { top: calc(4rem + env(safe-area-inset-top)); bottom: auto; right: 0.75rem; left: 0.75rem; width: auto; z-index: 1300; gap: 0.45rem; }
.toast { padding: 0.6rem 0.7rem 0.7rem 0.8rem; animation-name: toastInTop; box-shadow: 0 10px 28px -12px rgb(0 0 0 / 0.45); }
.toast.is-leaving { transform: translateY(-0.75rem); }
.toast-message { margin-top: 0.2rem; font-size: 0.86rem; }
.toast-icon { padding: 0.25rem; }
}
@media (prefers-reduced-motion: reduce) { .toast { animation: none; } }
.toast-error { --toast-color: var(--gauge-bad); }
.toast-warning { --toast-color: var(--gauge-warn); }
.toast-info { --toast-color: var(--gauge-info); }
.bottom-nav-pill { position: absolute; left: 0; top: 0; width: 3.4rem; height: 2rem; border-radius: 999px; background: rgb(var(--a-500) / 0.2); box-shadow: inset 0 0 0 1px rgb(var(--a-500) / 0.28), 0 6px 16px -8px rgb(var(--a-500) / 0.7); opacity: 0; pointer-events: none; will-change: transform; }
.bottom-nav-pill.is-ready { opacity: 1; }
.bottom-nav.has-pill .bottom-nav-link::before { display: none; }
.bottom-nav.has-pill .bottom-nav-link.is-active svg { color: #fff; }
.bottom-nav-link:active svg { transform: scale(0.9); }
.bottom-nav-link svg { transition: transform 0.18s var(--ease-out), color 0.16s; }
.fuel-mark {
width: 2.5rem; height: 2.5rem; flex: none; border-radius: 0.75rem;
display: grid; place-items: center;
font-family: var(--font-display); font-weight: 700; font-size: 1.05rem;
color: rgb(var(--a-500)); background: rgb(var(--a-500) / 0.12);
}
.fuel-logo {
--s: 2.75rem;
position: relative; flex: none; display: grid; place-items: center; overflow: hidden;
width: var(--s); height: var(--s); border-radius: 50%;
font-family: var(--font-display); font-weight: 700; font-size: calc(var(--s) * 0.36); letter-spacing: 0.02em; line-height: 1;
color: hsl(var(--h) 38% 30%); background: hsl(var(--h) 42% 90%);
box-shadow: 0 1px 2px rgb(15 23 42 / 0.1);
}
.fuel-logo.is-xs { --s: 1.5rem; font-size: 0.6rem; }
.fuel-logo.is-sm { --s: 2.1rem; }
.fuel-logo.is-lg { --s: 3.25rem; }
.dark .fuel-logo { color: hsl(var(--h) 55% 82%); background: hsl(var(--h) 24% 22%); }
.fuel-logo::after { content: ''; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px oklch(0 0 0 / 0.1); pointer-events: none; }
.dark .fuel-logo::after { box-shadow: inset 0 0 0 1px oklch(1 0 0 / 0.1); }
.fuel-logo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 16%; background: #fff; }
.fuel-badge {
display: inline-flex; align-items: center; width: fit-content;
padding: 0.12rem 0.55rem; border-radius: 9999px;
font-size: 0.72rem; font-weight: 700; letter-spacing: 0.02em;
color: #0b7a47; background: rgb(23 178 106 / 0.14);
}
.dark .fuel-badge { color: #4ade9b; }
.fuel-note { margin: 0.4rem 0 0; font-size: 0.82rem; line-height: 1.45; color: var(--muted-foreground); }
.fuel-note.is-visible:empty { display: none; }
.fuel-note.is-error { color: var(--gauge-bad); }
.fuel-section-title { margin: 1.25rem 0 0.5rem; font-family: var(--font-display); font-size: 0.8rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted-foreground); }
.fuel-chip {
display: inline-flex; align-items: center; gap: 0.5rem; max-width: 100%;
min-height: 2.5rem; padding: 0.3rem 0.5rem 0.3rem 0.7rem; border-radius: 0.8rem; text-align: left;
color: var(--foreground); background: var(--card-sunken); box-shadow: inset 0 0 0 1px var(--border);
transition-property: background-color, box-shadow, transform; transition-duration: 0.16s; transition-timing-function: var(--ease-out);
}
.fuel-chip:hover { background: var(--card); box-shadow: 0 0 0 1px rgb(var(--a-500) / 0.5); }
.fuel-chip:active { transform: scale(var(--press)); }
.fuel-chip > svg:first-child { color: rgb(var(--a-500)); flex: none; }
.fuel-chip-text { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.fuel-chip-text strong { font-size: 0.9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fuel-chip-text small { font-size: 0.75rem; color: var(--muted-foreground); }
.fuel-chip-arrow { flex: none; color: var(--muted-foreground); transform: rotate(-90deg); }
.fuel-type-tag, .fuel-paid-tag { display: inline-block; padding: 0.05rem 0.45rem; border-radius: 9999px; font-size: 0.7rem; font-weight: 700; vertical-align: middle; }
.fuel-type-tag { color: rgb(var(--a-600)); background: rgb(var(--a-500) / 0.12); }
.dark .fuel-type-tag { color: rgb(var(--a-300)); }
.fuel-paid-tag { color: var(--muted-foreground); background: var(--muted); }
.fuel-station-field { display: flex; flex-direction: column; gap: 0.6rem; padding: 0.9rem; border-radius: 1rem; background: var(--card-sunken); box-shadow: inset 0 0 0 1px var(--border); }
.fuel-station-field > .form-label small { font-weight: 400; }
.fuel-station-selected { display: flex; align-items: center; gap: 0.7rem; }
.fuel-station-selected[hidden], .fuel-picker[hidden], .fuel-suggestion[hidden], [data-fuel-open][hidden] { display: none; }
.fuel-station-selected-text { display: flex; flex-direction: column; flex: 1; min-width: 0; line-height: 1.25; }
.fuel-station-selected-text strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fuel-station-selected-text small { color: var(--muted-foreground); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fuel-mini-btn { min-height: 2.25rem; padding: 0.3rem 0.7rem; font-size: 0.82rem; }
.fuel-picker { display: flex; flex-direction: column; gap: 0.5rem; }
.fuel-picker-bar { display: grid; gap: 0.5rem; }
@media (min-width: 40rem) { .fuel-picker-bar { grid-template-columns: minmax(0, 1fr) auto; } }
.fuel-picker-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 0.3rem; max-height: 16rem; overflow-y: auto; overscroll-behavior: contain; }
.fuel-result { display: flex; align-items: center; gap: 0.7rem; width: 100%; min-height: 3.25rem; padding: 0.45rem 0.6rem; border-radius: 0.8rem; text-align: left; background: var(--card); box-shadow: inset 0 0 0 1px var(--border); transition-property: box-shadow, transform; transition-duration: 0.14s; }
.fuel-result:hover { box-shadow: 0 0 0 1px rgb(var(--a-500) / 0.6); }
.fuel-result:active { transform: scale(var(--press)); }
.fuel-result .fuel-mark { width: 2.1rem; height: 2.1rem; font-size: 0.9rem; border-radius: 0.6rem; }
.fuel-result-text { display: flex; flex-direction: column; flex: 1; min-width: 0; line-height: 1.25; }
.fuel-result-text strong { font-size: 0.9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fuel-result-text small { font-size: 0.76rem; color: var(--muted-foreground); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fuel-result-price { flex: none; font-weight: 700; font-size: 0.88rem; font-variant-numeric: tabular-nums; }
.fuel-result-price small { font-weight: 500; color: var(--muted-foreground); }
.fuel-suggestion { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.8rem 1rem; border-radius: 1rem; background: rgb(var(--a-500) / 0.08); box-shadow: inset 0 0 0 1px rgb(var(--a-500) / 0.25); }
.fuel-suggestion > div { display: flex; flex-direction: column; gap: 0.1rem; min-width: 0; flex: 1 1 12rem; }
.fuel-suggestion-label { font-size: 0.78rem; font-weight: 600; color: var(--muted-foreground); }
.fuel-suggestion-price { font-family: var(--font-display); font-size: 1.4rem; font-variant-numeric: tabular-nums; }
.fuel-suggestion small { font-size: 0.76rem; color: var(--muted-foreground); }
.fuel-detail-head { display: flex; align-items: center; gap: 0.85rem; }
.fuel-detail-head h3 { margin: 0; font-size: 1.15rem; }
.fuel-detail-head p { margin: 0.1rem 0 0; font-size: 0.88rem; color: var(--muted-foreground); }
.fuel-detail-meta { display: flex; flex-wrap: wrap; gap: 0.3rem 1rem; margin: 0.8rem 0 0; font-size: 0.88rem; font-weight: 600; }
.fuel-price-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.15rem; }
.fuel-price-list li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.55rem 0.75rem; border-radius: 0.65rem; }
.fuel-price-list li:nth-child(odd) { background: var(--card-sunken); }
.fuel-price-list li.is-selected { background: rgb(var(--a-500) / 0.1); font-weight: 700; }
.fuel-price-list strong { font-variant-numeric: tabular-nums; }
.fuel-compare { display: grid; gap: 0.6rem; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); }
.fuel-compare > div { display: flex; flex-direction: column; gap: 0.1rem; padding: 0.8rem 1rem; border-radius: 1rem; background: var(--card-sunken); box-shadow: inset 0 0 0 1px var(--border); }
.fuel-compare.is-current > div:first-child { box-shadow: inset 0 0 0 1px rgb(var(--a-500) / 0.4); }
.fuel-compare span { font-size: 0.78rem; font-weight: 600; color: var(--muted-foreground); }
.fuel-compare strong { font-family: var(--font-display); font-size: 1.35rem; font-variant-numeric: tabular-nums; }
.fuel-compare strong.is-down { color: #0b7a47; }
.fuel-compare strong.is-up { color: var(--gauge-bad); }
.dark .fuel-compare strong.is-down { color: #4ade9b; }
.fuel-compare small { font-size: 0.76rem; color: var(--muted-foreground); }
.fuel-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.25rem; }
.fuel-actions > * { flex: 1 1 9rem; }
.fuel-dash { display: flex; flex-direction: column; gap: 0.9rem; }
.fuel-dash-head { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; }
.fuel-dash-head h3 { margin: 0; }
.fuel-dash-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; }
.fuel-dash-row > div { display: flex; flex-direction: column; gap: 0.1rem; padding: 0.75rem 0.9rem; border-radius: 0.9rem; background: var(--card-sunken); }
.fuel-dash-row span { font-size: 0.76rem; font-weight: 600; color: var(--muted-foreground); }
.fuel-dash-row strong { font-family: var(--font-display); font-size: 1.3rem; font-variant-numeric: tabular-nums; }
.fuel-dash-row strong.is-down { color: #0b7a47; }
.fuel-dash-row strong.is-up { color: var(--gauge-bad); }
.dark .fuel-dash-row strong.is-down { color: #4ade9b; }
.fuel-dash-sub { margin: 0; font-size: 0.82rem; color: var(--muted-foreground); }
.fuel-board, .fuel-sheet {
--tier-low: #6f9a85;      --tier-low-bg: rgb(111 154 133 / 0.16);  --tier-low-ink: #3b6a54;
--tier-mid: #8a94a0;      --tier-mid-bg: rgb(138 148 160 / 0.16);  --tier-mid-ink: #5a6571;
--tier-high: #b98369;     --tier-high-bg: rgb(185 131 105 / 0.17); --tier-high-ink: #8f553b;
--ink-fill: var(--foreground);
--flash-ms: 1.4s;
--flash-down: rgb(111 154 133 / 0.38);
--flash-up: rgb(185 131 105 / 0.38);
}
.dark .fuel-board, .dark .fuel-sheet {
--tier-low: #86b39d;      --tier-low-bg: rgb(134 179 157 / 0.16);  --tier-low-ink: #a6d1bb;
--tier-mid: #98a3af;      --tier-mid-bg: rgb(152 163 175 / 0.14);  --tier-mid-ink: #b3bcc6;
--tier-high: #cf9a80;     --tier-high-bg: rgb(207 154 128 / 0.16); --tier-high-ink: #e6b49c;
}
.fuel-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 0.75rem 1rem; }
.fuel-head h1 { margin: 0; }
.fuel-head p { margin: 0.25rem 0 0; color: var(--muted-foreground); }
.fuel-head[hidden], .fuel-live[hidden] { display: none; }
.fuel-live {
display: inline-flex; align-items: center; gap: 0.55rem;
min-height: 2rem; padding: 0 0.85rem 0 0.7rem; border-radius: 9999px;
font-size: 0.8rem; font-weight: 600; font-variant-numeric: tabular-nums;
color: var(--tier-mid-ink); background: var(--tier-mid-bg);
}
.fuel-live-dot { position: relative; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: currentColor; flex: none; }
.fuel-live[data-level='live'] { color: var(--tier-low-ink); background: var(--tier-low-bg); }
.fuel-live[data-level='old'] { color: #8a6a2c; background: rgb(196 150 70 / 0.16); }
.dark .fuel-live[data-level='old'] { color: #dcbc7d; }
.fuel-live[data-level='stale'] { color: var(--tier-high-ink); background: var(--tier-high-bg); }
.fuel-live[data-level='live'] .fuel-live-dot::after {
content: ''; position: absolute; inset: 0; border-radius: 50%; background: currentColor;
animation: fuelPulse 2.2s cubic-bezier(0.2, 0.6, 0.3, 1) infinite;
}
@keyframes fuelPulse { 0% { transform: scale(1); opacity: 0.55; } 80%, 100% { transform: scale(3.2); opacity: 0; } }
.fuel-bar { display: flex; flex-direction: column; gap: 0.9rem; padding: clamp(0.9rem, 0.7rem + 1vw, 1.4rem); border-radius: 1.25rem; background: var(--card); box-shadow: var(--ring), var(--lift-1); }
.fuel-where { display: grid; gap: 0.6rem; }
@media (min-width: 40rem) { .fuel-where { grid-template-columns: minmax(0, 1fr) auto; } }
.fuel-where-field {
position: relative; display: flex; align-items: center; gap: 0.6rem;
min-height: 3rem; padding: 0 1rem; border-radius: 9999px;
background: var(--card-sunken); box-shadow: inset 0 0 0 1px var(--border);
transition: box-shadow 0.18s var(--ease-out), background-color 0.18s;
}
.fuel-where-field:focus-within { background: var(--card); box-shadow: 0 0 0 1.5px rgb(var(--a-500)), 0 0 0 5px rgb(var(--a-500) / 0.14); }
.fuel-where-field > svg { color: var(--muted-foreground); flex: none; }
.fuel-where-field input { flex: 1; min-width: 0; height: 100%; padding: 0; border: 0; outline: none; background: transparent; font: inherit; font-size: 1rem; color: var(--foreground); }
.fuel-where-field input::placeholder { color: var(--muted-foreground); }
.fuel-locate-btn {
display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
min-height: 3rem; padding: 0 1.2rem; border-radius: 9999px;
font-family: var(--font-display); font-weight: 600; font-size: 0.92rem; color: var(--foreground);
background: var(--card); box-shadow: var(--ring), 0 1px 2px rgb(15 23 42 / 0.06);
transition-property: box-shadow, transform, background-color; transition-duration: 0.18s; transition-timing-function: var(--ease-out);
}
.fuel-locate-btn:hover { box-shadow: 0 0 0 1px rgb(var(--a-500) / 0.6), 0 2px 8px -2px rgb(var(--a-500) / 0.3); }
.fuel-locate-btn:active { transform: scale(var(--press)); }
.fuel-locate-btn svg { color: rgb(var(--a-500)); }
.fuel-location-label { margin: -0.3rem 0 0; padding-left: 0.4rem; font-size: 0.82rem; color: var(--muted-foreground); }
.fuel-location-label[hidden], .fuel-controls[hidden] { display: none; }
.fuel-place-list {
position: absolute; inset: calc(100% + 0.45rem) 0 auto 0; z-index: 30;
margin: 0; padding: 0.35rem; list-style: none; max-height: 18rem; overflow-y: auto;
background: var(--card); border-radius: 1rem; box-shadow: 0 0 0 1px var(--border-strong), var(--lift-2);
}
.fuel-place-list[hidden] { display: none; }
.fuel-place-list li { display: flex; justify-content: space-between; align-items: center; gap: 0.75rem; min-height: 2.75rem; padding: 0 0.8rem; border-radius: 0.65rem; cursor: pointer; }
.fuel-place-list li:hover, .fuel-place-list li:focus-visible { background: var(--muted); outline: none; }
.fuel-place-list small { color: var(--muted-foreground); white-space: nowrap; }
.fuel-place-empty { cursor: default !important; color: var(--muted-foreground); font-size: 0.88rem; }
.fuel-controls { display: flex; flex-direction: column; gap: 0.8rem; }
.fuel-pills { display: flex; gap: 0.4rem; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; padding: 0.15rem 0.1rem; margin-inline: -0.1rem; }
.fuel-pills::-webkit-scrollbar { display: none; }
@media (max-width: 39.99rem) { .fuel-pills { -webkit-mask-image: linear-gradient(90deg, #000 90%, transparent); mask-image: linear-gradient(90deg, #000 90%, transparent); } }
.fuel-pill {
flex: none; scroll-snap-align: start;
min-height: 2.5rem; padding: 0 1rem; border-radius: 9999px; white-space: nowrap;
font-family: var(--font-display); font-weight: 600; font-size: 0.92rem; letter-spacing: -0.005em; color: var(--muted-foreground);
background: var(--card-sunken); box-shadow: inset 0 0 0 1px var(--border);
transition-property: color, background-color, box-shadow, transform; transition-duration: 0.18s; transition-timing-function: var(--ease-out);
}
.fuel-pill small { margin-left: 0.2rem; font-weight: 500; opacity: 0.65; font-variant-numeric: tabular-nums; }
@media (hover: hover) { .fuel-pill:hover { color: var(--foreground); box-shadow: inset 0 0 0 1px var(--border-strong); } }
.fuel-pill:active { transform: scale(var(--press)); }
.fuel-pill[aria-checked='true'] { color: var(--card); background: var(--ink-fill); box-shadow: 0 6px 14px -8px rgb(0 0 0 / 0.5); }
.fuel-seg { position: relative; display: inline-flex; padding: 0.25rem; border-radius: 0.95rem; background: var(--card-sunken); box-shadow: inset 0 0 0 1px var(--border); max-width: 100%; }
.fuel-seg-thumb { position: absolute; top: 0.25rem; bottom: 0.25rem; left: 0; width: 0; border-radius: 0.7rem; background: var(--card); box-shadow: 0 0 0 1px var(--border), 0 1px 3px rgb(15 23 42 / 0.14); opacity: 0; pointer-events: none; will-change: transform, width; }
.fuel-seg-thumb.is-ready { opacity: 1; }
.fuel-seg button {
position: relative; z-index: 1; flex: 1 1 auto;
display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;
min-height: 2.5rem; padding: 0 0.95rem; border-radius: 0.7rem; white-space: nowrap;
font-family: var(--font-display); font-weight: 600; font-size: 0.9rem; color: var(--muted-foreground);
transition-property: color, transform; transition-duration: 0.16s; transition-timing-function: var(--ease-out);
}
.fuel-seg button:active { transform: scale(var(--press)); }
.fuel-seg button[aria-checked='true'] { color: var(--foreground); }
.fuel-seg:not(:has(.is-ready)) button[aria-checked='true'] { background: var(--card); box-shadow: 0 0 0 1px var(--border); }
.fuel-controls-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.6rem; }
.fuel-controls-row > .fuel-seg { flex: 1 1 auto; }
@media (min-width: 40rem) { .fuel-controls-row > .fuel-seg { flex: 0 1 auto; } }
.fuel-more-btn { display: inline-flex; align-items: center; gap: 0.5rem; min-height: 2.85rem; padding: 0 1rem; border-radius: 0.95rem; font-family: var(--font-display); font-weight: 600; font-size: 0.9rem; color: var(--foreground); background: var(--card-sunken); box-shadow: inset 0 0 0 1px var(--border); transition: transform 0.16s var(--ease-out), box-shadow 0.16s; }
.fuel-more-btn:active { transform: scale(var(--press)); }
.fuel-more-btn[aria-expanded='true'] { box-shadow: inset 0 0 0 1px var(--border-strong); }
.fuel-more-count { display: inline-grid; place-items: center; min-width: 1.25rem; height: 1.25rem; padding: 0 0.3rem; border-radius: 9999px; font-size: 0.7rem; font-weight: 700; color: var(--card); background: var(--ink-fill); }
.fuel-more-count[hidden] { display: none; }
.fuel-field { display: flex; flex-direction: column; gap: 0.4rem; min-width: 0; }
.fuel-field > span:first-child { font-size: 0.78rem; font-weight: 600; color: var(--muted-foreground); }
.fuel-price-input { display: flex; align-items: center; gap: 0.5rem; min-height: 2.85rem; padding: 0 0.95rem; border-radius: 0.95rem; background: var(--card-sunken); box-shadow: inset 0 0 0 1px var(--border); max-width: 11rem; transition: box-shadow 0.18s; }
.fuel-price-input:focus-within { background: var(--card); box-shadow: 0 0 0 1.5px rgb(var(--a-500)), 0 0 0 5px rgb(var(--a-500) / 0.14); }
.fuel-price-input input { width: 100%; min-width: 0; padding: 0; border: 0; outline: none; background: transparent; font: inherit; font-size: 1rem; font-variant-numeric: tabular-nums; color: var(--foreground); }
.fuel-price-input input::placeholder { color: var(--muted-foreground); }
.fuel-price-input em { font-style: normal; font-size: 0.8rem; font-weight: 600; color: var(--muted-foreground); }
.fuel-notice { display: flex; align-items: center; gap: 0.6rem; padding: 0.7rem 1rem; border-radius: 0.95rem; font-size: 0.88rem; font-weight: 500; color: #8a6a2c; background: rgb(196 150 70 / 0.16); }
.dark .fuel-notice { color: #dcbc7d; }
.fuel-notice.is-stale { color: var(--tier-high-ink); background: var(--tier-high-bg); }
.fuel-notice[hidden], .fuel-board-summary[hidden], .fuel-results-head[hidden], .fuel-state[hidden], .fuel-list[hidden], .fuel-map-wrap[hidden], .fuel-footnote[hidden] { display: none; }
.fuel-state { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; padding: clamp(1.5rem, 1rem + 3vw, 3rem) 1rem; text-align: center; color: var(--muted-foreground); }
.fuel-state h2 { margin: 0; color: var(--foreground); }
.fuel-state p { margin: 0; max-width: 34rem; }
.fuel-state.is-error svg { color: var(--tier-high); }
.fuel-state.is-loading { align-items: stretch; padding: 0; }
.fuel-skeleton { height: 9rem; border-radius: 1.15rem; background: linear-gradient(100deg, var(--card-sunken) 30%, var(--muted) 50%, var(--card-sunken) 70%); background-size: 200% 100%; animation: fuelShimmer 1.4s linear infinite; }
@keyframes fuelShimmer { to { background-position: -200% 0; } }
.fuel-board-summary { display: grid; gap: 1.25rem; padding: clamp(1.1rem, 0.8rem + 1.4vw, 1.9rem); border-radius: 1.4rem; background: var(--card); box-shadow: var(--ring), var(--lift-1); }
@media (min-width: 56rem) { .fuel-board-summary { grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 2.5rem; } }
.fuel-best-block { display: flex; flex-direction: column; gap: 0.35rem; align-items: flex-start; }
.fuel-best-label { font-size: 0.85rem; font-weight: 600; color: var(--muted-foreground); }
.fuel-best-row { display: flex; align-items: baseline; gap: 0.4rem; }
.fuel-best-price { font-family: var(--font-display); font-size: clamp(2.6rem, 1.8rem + 4vw, 4.2rem); font-weight: 700; letter-spacing: -0.04em; line-height: 0.95; font-variant-numeric: tabular-nums; }
.fuel-price-unit { font-size: 0.9rem; font-weight: 600; color: var(--muted-foreground); }
.fuel-best-where { font-size: 0.95rem; font-weight: 500; }
.fuel-tier { display: inline-flex; align-items: center; min-height: 1.5rem; padding: 0 0.6rem; border-radius: 9999px; font-size: 0.75rem; font-weight: 650; font-variant-numeric: tabular-nums; color: var(--t-ink, var(--tier-mid-ink)); background: var(--t-bg, var(--tier-mid-bg)); }
.fuel-tier.is-low { --t-ink: var(--tier-low-ink); --t-bg: var(--tier-low-bg); }
.fuel-tier.is-mid { --t-ink: var(--tier-mid-ink); --t-bg: var(--tier-mid-bg); }
.fuel-tier.is-high { --t-ink: var(--tier-high-ink); --t-bg: var(--tier-high-bg); }
.fuel-strip-wrap { min-width: 0; padding: 0 0.6rem; }
.fuel-strip { position: relative; height: 5.2rem; margin-bottom: 1rem; }
.fuel-strip-track { position: absolute; inset: auto 0 1.2rem 0; height: 0.4rem; border-radius: 9999px; background: linear-gradient(90deg, var(--tier-low-bg), var(--tier-mid-bg) 50%, var(--tier-high-bg)); }
.fuel-strip-avg { position: absolute; bottom: 0.7rem; left: calc(var(--x, 0.5) * 100%); width: 0; height: 1.3rem; border-left: 1.5px dashed var(--border-strong); }
.fuel-strip-avg em { position: absolute; top: calc(100% + 0.15rem); left: 0; transform: translateX(-50%); font-style: normal; font-size: 0.7rem; font-weight: 600; white-space: nowrap; color: var(--muted-foreground); font-variant-numeric: tabular-nums; }
.fuel-dot {
position: absolute; bottom: calc(1.05rem + var(--lane, 0) * 1rem); left: calc(var(--x, 0) * 100%);
width: 0.95rem; height: 0.95rem; margin-left: -0.475rem; border-radius: 50%;
background: var(--tier-mid); box-shadow: 0 0 0 2px var(--card);
transition: scale 0.2s var(--ease-out);
}
.fuel-dot.is-low { background: var(--tier-low); }
.fuel-dot.is-high { background: var(--tier-high); }
.fuel-dot.is-best { width: 1.25rem; height: 1.25rem; margin-left: -0.625rem; bottom: 0.9rem; z-index: 2; --lane: 0; box-shadow: 0 0 0 2px var(--card), 0 0 0 4px var(--tier-low-bg); }
.fuel-dot:hover, .fuel-dot:focus-visible { scale: 1.35; z-index: 3; }
.fuel-strip-scale { display: flex; justify-content: space-between; font-size: 0.74rem; color: var(--muted-foreground); font-variant-numeric: tabular-nums; }
.fuel-results-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem; }
.fuel-count { margin: 0; font-size: 0.9rem; color: var(--muted-foreground); }
.fuel-list { display: grid; gap: 0.9rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 64rem) { .fuel-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fuel-more-results { grid-column: 1 / -1; justify-self: center; }
.fuel-card {
--t: var(--tier-mid); --t-ink: var(--tier-mid-ink); --t-bg: var(--tier-mid-bg);
position: relative; display: flex; flex-direction: column; gap: 0.8rem;
padding: clamp(0.95rem, 0.75rem + 0.9vw, 1.3rem); border-radius: 1.2rem;
background: var(--card); box-shadow: 0 0 0 1px var(--border), var(--lift-1);
transition: box-shadow 0.3s var(--ease-out), translate 0.3s var(--ease-out), scale 0.18s var(--ease-out);
}
.fuel-card.is-low { --t: var(--tier-low); --t-ink: var(--tier-low-ink); --t-bg: var(--tier-low-bg); }
.fuel-card.is-high { --t: var(--tier-high); --t-ink: var(--tier-high-ink); --t-bg: var(--tier-high-bg); }
.fuel-card.is-best { box-shadow: 0 0 0 1.5px var(--tier-low), var(--lift-1); }
@media (hover: hover) {
.fuel-card:hover { translate: 0 -3px; box-shadow: 0 0 0 1px var(--border-strong), 0 2px 4px rgb(15 23 42 / 0.06), 0 22px 40px -18px rgb(15 23 42 / 0.3); }
.fuel-card.is-best:hover { box-shadow: 0 0 0 1.5px var(--tier-low), 0 2px 4px rgb(15 23 42 / 0.06), 0 22px 40px -18px rgb(15 23 42 / 0.3); }
.dark .fuel-card:hover { box-shadow: 0 0 0 1px var(--border-strong), 0 22px 40px -18px rgb(0 0 0 / 0.8); }
}
.fuel-card:active { scale: 0.99; }
.fuel-card[data-trend='down'] .fuel-price-num { --flash: var(--flash-down); animation: fuelNumFlash var(--flash-ms) ease-out; }
.fuel-card[data-trend='up'] .fuel-price-num { --flash: var(--flash-up); animation: fuelNumFlash var(--flash-ms) ease-out; }
.fuel-card.is-pulse { animation: fuelPulseRing 1.5s var(--ease-out); }
@keyframes fuelNumTint { 0% { background-color: var(--flash); } 100% { background-color: transparent; } }
@keyframes fuelNumFlash { 0%, 38% { background-color: var(--flash); } 22% { background-color: transparent; } 100% { background-color: transparent; } }
@keyframes fuelPulseRing { 0% { box-shadow: 0 0 0 3px rgb(var(--a-500) / 0.7), var(--lift-1); } 100% { box-shadow: 0 0 0 0 rgb(var(--a-500) / 0), var(--lift-1); } }
.fuel-card-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 0.85rem; align-items: start; }
.fuel-card-text { min-width: 0; }
.fuel-card-text h3 { margin: 0; font-size: 1.05rem; line-height: 1.2; overflow-wrap: anywhere; }
.fuel-card-text p { margin: 0.2rem 0 0; font-size: 0.84rem; color: var(--muted-foreground); overflow-wrap: anywhere; }
.fuel-card-price { display: flex; align-items: baseline; gap: 0.25rem; }
.fuel-price-num { margin: 0 -0.25rem; padding: 0.1rem 0.25rem; border-radius: 0.45rem; font-family: var(--font-display); font-size: clamp(1.7rem, 1.4rem + 1.2vw, 2.3rem); font-weight: 700; letter-spacing: -0.035em; line-height: 1; font-variant-numeric: tabular-nums; }
.fuel-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 0.75rem; font-size: 0.82rem; }
.fuel-dist { display: inline-flex; align-items: center; gap: 0.25rem; font-weight: 650; font-variant-numeric: tabular-nums; }
.fuel-dist svg { color: var(--muted-foreground); }
.fuel-sched { color: var(--muted-foreground); }
.fuel-best { display: inline-flex; align-items: center; min-height: 1.5rem; padding: 0 0.6rem; border-radius: 9999px; font-size: 0.72rem; font-weight: 700; color: var(--card); background: var(--ink-fill); }
.fuel-meter { position: relative; height: 0.4rem; border-radius: 9999px; background: linear-gradient(90deg, var(--tier-low-bg), var(--tier-mid-bg) 50%, var(--tier-high-bg)); }
.fuel-meter-dot { position: absolute; top: 50%; left: calc(var(--pos, 0.5) * (100% - 0.9rem)); width: 0.9rem; height: 0.9rem; margin-top: -0.45rem; border-radius: 50%; background: var(--t); box-shadow: 0 0 0 2px var(--card); transition: left 0.7s var(--ease-out), background-color 0.3s; }
.fuel-card-others { display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; font-size: 0.8rem; color: var(--muted-foreground); }
.fuel-card-others strong { color: var(--foreground); font-variant-numeric: tabular-nums; }
.fuel-card-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin-top: 0.1rem; }
.fuel-card-actions .btn-primary { flex: 1 1 9rem; }
.fuel-icon-btn { width: 2.75rem; height: 2.75rem; display: grid; place-items: center; flex: none; border-radius: var(--radius-md); color: var(--muted-foreground); background: var(--card-sunken); box-shadow: inset 0 0 0 1px var(--border); transition: color 0.16s, background-color 0.16s, transform 0.16s var(--ease-out); }
.fuel-icon-btn:hover { color: var(--foreground); background: var(--muted); }
.fuel-icon-btn:active { transform: scale(var(--press)); }
@media (max-width: 29.99rem) {
.fuel-card-head { grid-template-columns: auto minmax(0, 1fr); }
.fuel-card-price { grid-column: 1 / -1; order: 3; }
.fuel-card-actions .btn-primary { flex-basis: 100%; }
.fuel-card-actions .btn-secondary { flex: 1 1 0; }
}
.fuel-footnote { margin: 0; font-size: 0.8rem; color: var(--muted-foreground); text-align: center; }
.fuel-map-wrap { border-radius: 1.2rem; overflow: hidden; box-shadow: var(--ring), var(--lift-1); }
.fuel-map { height: min(70dvh, 38rem); min-height: 22rem; background: var(--card-sunken); }
.dark .fuel-map .leaflet-tile-pane { filter: invert(1) hue-rotate(180deg) brightness(0.9) contrast(0.9); }
.fuel-marker-wrap { background: none; border: 0; }
.fuel-marker { display: inline-block; transform: translate(-50%, -100%); white-space: nowrap; padding: 0.25rem 0.55rem; border-radius: 0.6rem; font: 700 0.78rem/1 var(--font-body); font-variant-numeric: tabular-nums; color: #fff; background: #2a323c; box-shadow: 0 2px 6px rgb(0 0 0 / 0.35); }
.fuel-marker.is-cheapest { background: #4f7f68; }
.fuel-map .leaflet-popup-content-wrapper { border-radius: 1rem; background: var(--card); color: var(--foreground); }
.fuel-map .leaflet-popup-tip { background: var(--card); }
.fuel-map .leaflet-popup-content { margin: 0.85rem 1rem; font-family: var(--font-body); }
.fuel-pop { display: flex; flex-direction: column; gap: 0.3rem; }
.fuel-pop strong { font-family: var(--font-display); font-size: 1rem; }
.fuel-pop-price { font-size: 1.35rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.fuel-pop-price small { font-size: 0.72rem; font-weight: 500; color: var(--muted-foreground); }
.fuel-pop-meta { font-size: 0.8rem; color: var(--muted-foreground); }
.fuel-pop-actions { display: grid; gap: 0.4rem; margin-top: 0.4rem; }
.fuel-pop-actions a { min-height: 2.5rem; padding: 0.4rem 0.8rem; color: inherit; }
.fuel-pop-actions .btn-primary { color: #fff; }
@media (prefers-reduced-motion: reduce) {
.fuel-card, .fuel-pill, .fuel-seg button, .fuel-more-btn, .fuel-dot { transition: none; }
.fuel-card:active { scale: none; }
.fuel-live[data-level='live'] .fuel-live-dot::after, .fuel-skeleton, .fuel-card.is-pulse { animation: none; }
.fuel-card[data-trend] .fuel-price-num { animation: fuelNumTint 0.9s ease-out; }
.fuel-card:hover { translate: none; }
.fuel-meter-dot { transition: none; }
}
.fuel-price-input em { white-space: nowrap; flex: none; }
.fuel-price-input { min-width: 9.5rem; }
.fuel-head-end { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.fuel-sim-btn { display: inline-flex; align-items: center; gap: 0.4rem; min-height: 2rem; padding: 0 0.8rem; border-radius: 9999px; font-size: 0.78rem; font-weight: 600; color: var(--muted-foreground); background: transparent; box-shadow: inset 0 0 0 1px var(--border-strong); border: 0; transition: color 0.16s, transform 0.16s var(--ease-out); }
.fuel-sim-btn:hover { color: var(--foreground); }
.fuel-sim-btn:active { transform: scale(var(--press)); }
.fuel-nav-icon { display: block; }
.fuel-icon-btn:hover .fuel-nav-icon { color: rgb(var(--a-500)); }
@media (max-width: 39.99rem) {
.fuel-board { gap: 0.7rem; }
.fuel-board.space-y-6 > * { margin-top: 0; }
.fuel-head { flex-wrap: nowrap; align-items: center; gap: 0.5rem; }
.fuel-head h1 { font-size: 1.5rem; }
.fuel-head p, .fuel-lbl-long, .fuel-location-label, .fuel-sim-btn span, .fuel-strip-scale, .fuel-best-block .fuel-tier, .fuel-footnote { display: none; }
.fuel-live { min-height: 1.75rem; padding: 0 0.65rem 0 0.55rem; font-size: 0.72rem; }
.fuel-sim-btn { min-height: 1.75rem; padding: 0 0.55rem; }
.fuel-bar { gap: 0.5rem; padding: 0.55rem; border-radius: 1.1rem; }
.fuel-where { grid-template-columns: minmax(0, 1fr) auto; gap: 0.4rem; }
.fuel-where-field, .fuel-locate-btn { min-height: 2.75rem; }
.fuel-where-field { padding: 0 0.85rem; }
.fuel-locate-btn { width: 2.75rem; padding: 0; }
.fuel-controls { gap: 0.45rem; }
.fuel-pills { margin-inline: -0.55rem; padding-inline: 0.55rem; scroll-padding-inline: 0.55rem; }
.fuel-pill { min-height: 2.25rem; padding: 0 0.85rem; font-size: 0.86rem; }
.fuel-controls-row { flex-wrap: nowrap; gap: 0.4rem; }
.fuel-controls-row > .fuel-seg { flex: 1 1 0; min-width: 0; }
.fuel-seg { padding: 0.2rem; }
.fuel-seg-thumb { top: 0.2rem; bottom: 0.2rem; }
.fuel-seg button { flex: 1 1 0; min-height: 2.25rem; padding: 0 0.4rem; font-size: 0.84rem; }
.fuel-more-btn { position: relative; flex: none; justify-content: center; width: 2.75rem; min-height: 2.65rem; padding: 0; }
.fuel-more-count { position: absolute; top: -0.3rem; right: -0.3rem; min-width: 1.1rem; height: 1.1rem; font-size: 0.65rem; box-shadow: 0 0 0 2px var(--card); }
.fuel-board-summary { gap: 0.55rem; padding: 0.8rem 0.95rem 0.6rem; border-radius: 1.1rem; }
.fuel-best-block { gap: 0.15rem; }
.fuel-best-label { font-size: 0.75rem; }
.fuel-best-price { font-size: 2.2rem; }
.fuel-best-where { font-size: 0.82rem; }
.fuel-strip-wrap { padding: 0 0.4rem; }
.fuel-strip { height: 2.4rem; }
.fuel-strip-track { bottom: 0.45rem; }
.fuel-strip-avg { bottom: 0.1rem; height: 1.2rem; }
.fuel-dot { bottom: 0.3rem; }
.fuel-dot.is-best { bottom: 0.15rem; }
.fuel-results-head { gap: 0.5rem; }
.fuel-count { font-size: 0.8rem; min-width: 0; flex: 1 1 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fuel-results-head .fuel-seg button { min-height: 2.25rem; padding: 0 0.7rem; }
}
@media (max-width: 39.99rem) {
.fuel-head > div:first-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.fuel-head { justify-content: flex-start; }
.fuel-best-label { display: none; }
.fuel-board-summary { padding: 0.65rem 0.95rem 0.5rem; }
.fuel-results-head { margin-top: -0.1rem; }
}
@media (max-width: 29.99rem) {
.fuel-card-head { grid-template-columns: auto minmax(0, 1fr) auto; gap: 0.65rem; }
.fuel-card-price { grid-column: auto; order: 0; }
.fuel-mark { width: 2.25rem; height: 2.25rem; }
.fuel-card { padding: 0.85rem; gap: 0.65rem; }
}
@media (max-width: 39.99rem) {
.fuel-board.space-y-6 > :not([hidden]) ~ :not([hidden]) { margin-top: 0.6rem; }
.fuel-board .fuel-state.is-loading { gap: 0.6rem; }
}
.fuel-lbl-short { display: none; }
@media (max-width: 39.99rem) { .fuel-lbl-short { display: inline; } }
.fuel-seg-fuel { flex: 1 1 auto; }
@media (min-width: 40rem) { .fuel-seg-fuel { flex: 0 1 auto; } .fuel-seg-fuel button { padding: 0 1.25rem; } }
.fuel-more-btn { min-height: 2.85rem; }
.fuel-results-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.fuel-results-head .fuel-seg button { min-height: 2.25rem; }
.fuel-lbl-short { display: none; }
@media (max-width: 39.99rem) { .fuel-lbl-short { display: inline; } }
.fuel-card-price { display: flex; flex-direction: column; align-items: flex-end; gap: 0.15rem; }
.fuel-price-row { display: flex; align-items: baseline; gap: 0.25rem; }
.fuel-more-types { padding: 0.15rem 0.35rem; margin: 0 -0.35rem; border-radius: 0.4rem; font-size: 0.72rem; font-weight: 600; color: var(--muted-foreground); opacity: 0.8; font-variant-numeric: tabular-nums; transition: opacity 0.16s, color 0.16s; }
.fuel-more-types:hover { opacity: 1; color: var(--foreground); }
.fuel-pills-wrap { flex-wrap: wrap; overflow: visible; scroll-snap-type: none; -webkit-mask-image: none !important; mask-image: none !important; }
.fuel-pill.has-logo { display: inline-flex; align-items: center; gap: 0.45rem; padding-left: 0.4rem; }
.fuel-pill.has-logo .fuel-logo { box-shadow: none; }
.fuel-pill[aria-checked='true'] .fuel-logo { outline: 1.5px solid rgb(255 255 255 / 0.5); }
html.fuel-sheet-lock { overflow: hidden; }
.fuel-sheet { position: fixed; inset: 0; z-index: 1600; display: grid; align-items: end; justify-items: center; }
.fuel-sheet[hidden] { display: none; }
.fuel-sheet-backdrop { position: absolute; inset: 0; background: rgb(12 14 18 / 0.5); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.fuel-sheet-panel {
position: relative; display: flex; flex-direction: column; width: 100%; max-height: min(88dvh, 40rem);
background: var(--card); color: var(--foreground); outline: none;
border-radius: 1.6rem 1.6rem 0 0; box-shadow: 0 -1px 0 var(--border), 0 -24px 60px -20px rgb(0 0 0 / 0.45);
padding-bottom: env(safe-area-inset-bottom);
}
.fuel-sheet-grab { display: grid; place-items: center; padding: 0.6rem 0 0.2rem; touch-action: none; cursor: grab; }
.fuel-sheet-grab span { width: 2.5rem; height: 0.3rem; border-radius: 9999px; background: var(--border-strong); }
.fuel-sheet-head { display: flex; align-items: center; justify-content: space-between; padding: 0.3rem 1.1rem 0.5rem 1.4rem; touch-action: none; }
.fuel-sheet-head h2 { margin: 0; font-size: 1.3rem; }
.fuel-sheet-x { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; color: var(--muted-foreground); transition: background-color 0.16s, color 0.16s, transform 0.16s var(--ease-out); }
.fuel-sheet-x:hover { background: var(--muted); color: var(--foreground); }
.fuel-sheet-x:active { transform: scale(var(--press)); }
.fuel-sheet-body { display: flex; flex-direction: column; gap: 1.35rem; padding: 0.4rem 1.4rem 1.2rem; overflow-y: auto; overscroll-behavior: contain; min-height: 0; }
.fuel-sheet-body .fuel-field[hidden] { display: none; }
.fuel-sheet-row { display: flex; flex-wrap: wrap; gap: 1.1rem 1.5rem; align-items: flex-start; }
.fuel-sheet-row .fuel-seg { width: 100%; }
.fuel-sheet-foot { display: flex; gap: 0.6rem; padding: 0.8rem 1.4rem 1rem; border-top: 1px solid var(--border); }
.fuel-sheet-foot .btn-primary { flex: 1 1 auto; }
@media (min-width: 40rem) {
.fuel-sheet { align-items: center; padding: 1.5rem; }
.fuel-sheet-panel { width: min(32rem, 100%); border-radius: 1.6rem; box-shadow: 0 0 0 1px var(--border-strong), 0 40px 80px -24px rgb(0 0 0 / 0.5); padding-bottom: 0; }
.fuel-sheet-grab { display: none; }
.fuel-sheet-head { padding-top: 1.1rem; }
}
@media (prefers-reduced-motion: reduce) { .fuel-sheet-backdrop { -webkit-backdrop-filter: none; backdrop-filter: none; } }
@media (max-width: 39.99rem) {
.fuel-results-head { flex-wrap: nowrap; }
.fuel-results-tools { flex-wrap: nowrap; width: 100%; justify-content: space-between; }
.fuel-results-tools .fuel-seg:first-child { flex: 1 1 auto; }
.fuel-results-head .fuel-seg button { padding: 0 0.6rem; }
.fuel-count, .fuel-sched { display: none; }
.fuel-card-head { gap: 0.65rem; }
.fuel-logo.is-md { --s: 2.5rem; }
}
.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
position: absolute;
left: 0;
top: 0;
}
.leaflet-container {
overflow: hidden;
}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
-webkit-user-drag: none;
}
.leaflet-tile::selection {
background: transparent;
}
.leaflet-safari .leaflet-tile {
image-rendering: -webkit-optimize-contrast;
}
.leaflet-safari .leaflet-tile-container {
width: 1600px;
height: 1600px;
-webkit-transform-origin: 0 0;
}
.leaflet-marker-icon,
.leaflet-marker-shadow {
display: block;
}
.leaflet-container .leaflet-overlay-pane svg {
max-width: none !important;
max-height: none !important;
}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
max-width: none !important;
max-height: none !important;
width: auto;
padding: 0;
}
.leaflet-container img.leaflet-tile {
mix-blend-mode: plus-lighter;
}
.leaflet-container.leaflet-touch-zoom {
-ms-touch-action: pan-x pan-y;
touch-action: pan-x pan-y;
}
.leaflet-container.leaflet-touch-drag {
-ms-touch-action: pinch-zoom;
touch-action: none;
touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
-ms-touch-action: none;
touch-action: none;
}
.leaflet-container {
-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
filter: inherit;
visibility: hidden;
}
.leaflet-tile-loaded {
visibility: inherit;
}
.leaflet-zoom-box {
width: 0;
height: 0;
-moz-box-sizing: border-box;
box-sizing: border-box;
z-index: 800;
}
.leaflet-overlay-pane svg {
-moz-user-select: none;
}
.leaflet-pane         { z-index: 400; }
.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }
.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }
.leaflet-vml-shape {
width: 1px;
height: 1px;
}
.lvml {
behavior: url(#default#VML);
display: inline-block;
position: absolute;
}
.leaflet-control {
position: relative;
z-index: 800;
pointer-events: visiblePainted;
pointer-events: auto;
}
.leaflet-top,
.leaflet-bottom {
position: absolute;
z-index: 1000;
pointer-events: none;
}
.leaflet-top {
top: 0;
}
.leaflet-right {
right: 0;
}
.leaflet-bottom {
bottom: 0;
}
.leaflet-left {
left: 0;
}
.leaflet-control {
float: left;
clear: both;
}
.leaflet-right .leaflet-control {
float: right;
}
.leaflet-top .leaflet-control {
margin-top: 10px;
}
.leaflet-bottom .leaflet-control {
margin-bottom: 10px;
}
.leaflet-left .leaflet-control {
margin-left: 10px;
}
.leaflet-right .leaflet-control {
margin-right: 10px;
}
.leaflet-fade-anim .leaflet-popup {
opacity: 0;
-webkit-transition: opacity 0.2s linear;
-moz-transition: opacity 0.2s linear;
transition: opacity 0.2s linear;
}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
opacity: 1;
}
.leaflet-zoom-animated {
-webkit-transform-origin: 0 0;
-ms-transform-origin: 0 0;
transform-origin: 0 0;
}
svg.leaflet-zoom-animated {
will-change: transform;
}
.leaflet-zoom-anim .leaflet-zoom-animated {
-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
-moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
-webkit-transition: none;
-moz-transition: none;
transition: none;
}
.leaflet-zoom-anim .leaflet-zoom-hide {
visibility: hidden;
}
.leaflet-interactive {
cursor: pointer;
}
.leaflet-grab {
cursor: -webkit-grab;
cursor:    -moz-grab;
cursor:         grab;
}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
cursor: crosshair;
}
.leaflet-popup-pane,
.leaflet-control {
cursor: auto;
}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
cursor: move;
cursor: -webkit-grabbing;
cursor:    -moz-grabbing;
cursor:         grabbing;
}
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
pointer-events: none;
}
.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
pointer-events: visiblePainted;
pointer-events: auto;
}
.leaflet-container {
background: #ddd;
outline-offset: 1px;
}
.leaflet-container a {
color: #0078A8;
}
.leaflet-zoom-box {
border: 2px dotted #38f;
background: rgba(255,255,255,0.5);
}
.leaflet-container {
font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
font-size: 12px;
font-size: 0.75rem;
line-height: 1.5;
}
.leaflet-bar {
box-shadow: 0 1px 5px rgba(0,0,0,0.65);
border-radius: 4px;
}
.leaflet-bar a {
background-color: #fff;
border-bottom: 1px solid #ccc;
width: 26px;
height: 26px;
line-height: 26px;
display: block;
text-align: center;
text-decoration: none;
color: black;
}
.leaflet-bar a,
.leaflet-control-layers-toggle {
background-position: 50% 50%;
background-repeat: no-repeat;
display: block;
}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
background-color: #f4f4f4;
}
.leaflet-bar a:first-child {
border-top-left-radius: 4px;
border-top-right-radius: 4px;
}
.leaflet-bar a:last-child {
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
border-bottom: none;
}
.leaflet-bar a.leaflet-disabled {
cursor: default;
background-color: #f4f4f4;
color: #bbb;
}
.leaflet-touch .leaflet-bar a {
width: 30px;
height: 30px;
line-height: 30px;
}
.leaflet-touch .leaflet-bar a:first-child {
border-top-left-radius: 2px;
border-top-right-radius: 2px;
}
.leaflet-touch .leaflet-bar a:last-child {
border-bottom-left-radius: 2px;
border-bottom-right-radius: 2px;
}
.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
font: bold 18px 'Lucida Console', Monaco, monospace;
text-indent: 1px;
}
.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
font-size: 22px;
}
.leaflet-control-layers {
box-shadow: 0 1px 5px rgba(0,0,0,0.4);
background: #fff;
border-radius: 5px;
}
.leaflet-control-layers-toggle {
background-image: url(../js/vendor/leaflet/images/layers.png);
width: 36px;
height: 36px;
}
.leaflet-retina .leaflet-control-layers-toggle {
background-image: url(../js/vendor/leaflet/images/layers-2x.png);
background-size: 26px 26px;
}
.leaflet-touch .leaflet-control-layers-toggle {
width: 44px;
height: 44px;
}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
display: none;
}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
display: block;
position: relative;
}
.leaflet-control-layers-expanded {
padding: 6px 10px 6px 6px;
color: #333;
background: #fff;
}
.leaflet-control-layers-scrollbar {
overflow-y: scroll;
overflow-x: hidden;
padding-right: 5px;
}
.leaflet-control-layers-selector {
margin-top: 2px;
position: relative;
top: 1px;
}
.leaflet-control-layers label {
display: block;
font-size: 13px;
font-size: 1.08333em;
}
.leaflet-control-layers-separator {
height: 0;
border-top: 1px solid #ddd;
margin: 5px -10px 5px -6px;
}
.leaflet-default-icon-path {
background-image: url(../js/vendor/leaflet/images/marker-icon.png);
}
.leaflet-container .leaflet-control-attribution {
background: #fff;
background: rgba(255, 255, 255, 0.8);
margin: 0;
}
.leaflet-control-attribution,
.leaflet-control-scale-line {
padding: 0 5px;
color: #333;
line-height: 1.4;
}
.leaflet-control-attribution a {
text-decoration: none;
}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
text-decoration: underline;
}
.leaflet-attribution-flag {
display: inline !important;
vertical-align: baseline !important;
width: 1em;
height: 0.6669em;
}
.leaflet-left .leaflet-control-scale {
margin-left: 5px;
}
.leaflet-bottom .leaflet-control-scale {
margin-bottom: 5px;
}
.leaflet-control-scale-line {
border: 2px solid #777;
border-top: none;
line-height: 1.1;
padding: 2px 5px 1px;
white-space: nowrap;
-moz-box-sizing: border-box;
box-sizing: border-box;
background: rgba(255, 255, 255, 0.8);
text-shadow: 1px 1px #fff;
}
.leaflet-control-scale-line:not(:first-child) {
border-top: 2px solid #777;
border-bottom: none;
margin-top: -2px;
}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
border-bottom: 2px solid #777;
}
.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
box-shadow: none;
}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
border: 2px solid rgba(0,0,0,0.2);
background-clip: padding-box;
}
.leaflet-popup {
position: absolute;
text-align: center;
margin-bottom: 20px;
}
.leaflet-popup-content-wrapper {
padding: 1px;
text-align: left;
border-radius: 12px;
}
.leaflet-popup-content {
margin: 13px 24px 13px 20px;
line-height: 1.3;
font-size: 13px;
font-size: 1.08333em;
min-height: 1px;
}
.leaflet-popup-content p {
margin: 17px 0;
margin: 1.3em 0;
}
.leaflet-popup-tip-container {
width: 40px;
height: 20px;
position: absolute;
left: 50%;
margin-top: -1px;
margin-left: -20px;
overflow: hidden;
pointer-events: none;
}
.leaflet-popup-tip {
width: 17px;
height: 17px;
padding: 1px;
margin: -10px auto 0;
pointer-events: auto;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
background: white;
color: #333;
box-shadow: 0 3px 14px rgba(0,0,0,0.4);
}
.leaflet-container a.leaflet-popup-close-button {
position: absolute;
top: 0;
right: 0;
border: none;
text-align: center;
width: 24px;
height: 24px;
font: 16px/24px Tahoma, Verdana, sans-serif;
color: #757575;
text-decoration: none;
background: transparent;
}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
color: #585858;
}
.leaflet-popup-scrolled {
overflow: auto;
}
.leaflet-oldie .leaflet-popup-content-wrapper {
-ms-zoom: 1;
}
.leaflet-oldie .leaflet-popup-tip {
width: 24px;
margin: 0 auto;
-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
}
.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
border: 1px solid #999;
}
.leaflet-div-icon {
background: #fff;
border: 1px solid #666;
}
.leaflet-tooltip {
position: absolute;
padding: 6px;
background-color: #fff;
border: 1px solid #fff;
border-radius: 3px;
color: #222;
white-space: nowrap;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
pointer-events: none;
box-shadow: 0 1px 3px rgba(0,0,0,0.4);
}
.leaflet-tooltip.leaflet-interactive {
cursor: pointer;
pointer-events: auto;
}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
position: absolute;
pointer-events: none;
border: 6px solid transparent;
background: transparent;
content: "";
}
.leaflet-tooltip-bottom {
margin-top: 6px;
}
.leaflet-tooltip-top {
margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
left: 50%;
margin-left: -6px;
}
.leaflet-tooltip-top:before {
bottom: 0;
margin-bottom: -12px;
border-top-color: #fff;
}
.leaflet-tooltip-bottom:before {
top: 0;
margin-top: -12px;
margin-left: -6px;
border-bottom-color: #fff;
}
.leaflet-tooltip-left {
margin-left: -6px;
}
.leaflet-tooltip-right {
margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
top: 50%;
margin-top: -6px;
}
.leaflet-tooltip-left:before {
right: 0;
margin-right: -12px;
border-left-color: #fff;
}
.leaflet-tooltip-right:before {
left: 0;
margin-left: -12px;
border-right-color: #fff;
}
@media print {
.leaflet-control {
-webkit-print-color-adjust: exact;
print-color-adjust: exact;
}
}
.section-tabs, .calc-tabs, .rutas-tabs {
--fl: 0px; --fr: 0px;
position: relative; display: flex; align-items: stretch; gap: clamp(1.1rem, 0.7rem + 1.6vw, 1.9rem);
width: 100%; max-width: none; margin: 0.35rem 0 0 !important; padding: 0 !important;
border: 0 !important; border-radius: 0 !important; background: none !important;
box-shadow: inset 0 -1px 0 var(--border) !important;
overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -webkit-overflow-scrolling: touch;
-webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--fl), #000 calc(100% - var(--fr)), transparent 100%);
mask-image: linear-gradient(to right, transparent 0, #000 var(--fl), #000 calc(100% - var(--fr)), transparent 100%);
}
.section-tabs::-webkit-scrollbar, .calc-tabs::-webkit-scrollbar, .rutas-tabs::-webkit-scrollbar { display: none; }
.section-tabs[data-relocate] { visibility: hidden; height: 0; min-height: 0; margin: 0 !important; }
.section-tabs a, .calc-tabs a, .rutas-tabs a {
position: relative; z-index: 1; flex: none; display: inline-flex; flex-direction: row; align-items: center; gap: 0.4rem;
min-height: 2.9rem; padding: 0 0.1rem !important; margin: 0;
border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important;
font-family: var(--font-display); font-weight: 560; font-size: 0.92rem !important; letter-spacing: -0.005em; white-space: nowrap; text-decoration: none;
color: var(--muted-foreground) !important;
transition: color 0.22s var(--ease-out);
}
.section-tabs a svg:not(.nav-badge svg), .calc-tabs a svg, .rutas-tabs a svg, .calc-tabs a i { display: none; }
@media (hover: hover) {
.section-tabs a:hover, .calc-tabs a:hover, .rutas-tabs a:hover { color: color-mix(in srgb, var(--foreground) 80%, var(--muted-foreground)) !important; }
}
.section-tabs a:active, .calc-tabs a:active, .rutas-tabs a:active { transform: none; }
.section-tabs a.is-active, .calc-tabs a.is-active, .rutas-tabs a.is-active { color: var(--foreground) !important; }
.section-tabs a:focus-visible, .calc-tabs a:focus-visible, .rutas-tabs a:focus-visible { outline: 2px solid rgb(var(--a-500)); outline-offset: -2px; border-radius: 0.4rem !important; }
.section-tabs .tab-indicator, .calc-tabs .tab-indicator, .rutas-tabs .tab-indicator {
position: absolute; left: 0; top: auto !important; bottom: 0; height: 2px; border-radius: 2px 2px 0 0 !important;
background: var(--foreground) !important; box-shadow: none !important;
}
.section-tabs:not(.has-indicator) a.is-active, .calc-tabs:not(.has-indicator) a.is-active, .rutas-tabs:not(.has-indicator) a.is-active { box-shadow: inset 0 -2px 0 var(--foreground) !important; }
.nav-badge { margin-left: 0.1rem; }
@media (prefers-reduced-motion: reduce) { .section-tabs a, .calc-tabs a, .rutas-tabs a { transition: none; } }
.hub-card-title a, .hub-inline-link, .dash-link, .fuel-more-types, .fuel-sim-btn, .dash-fuel-tag { position: relative; }
.hub-card-title a::after, .hub-inline-link::after, .dash-link::after, .fuel-more-types::after, .fuel-sim-btn::after, .dash-fuel-tag::after, .fuel-dot::after {
content: ''; position: absolute; inset: 50% auto auto 50%; width: max(100%, 44px); height: 44px; transform: translate(-50%, -50%);
}
.fuel-dot::after { width: 44px; }
@media (pointer: coarse), (max-width: 47.99rem) {
.dash-head select, select[data-autosubmit] { min-height: 2.75rem; }
[data-view] { min-height: 2.75rem; min-width: 2.75rem; }
}
.section-tabs a, .calc-tabs a, .rutas-tabs a { padding: 0 0.55rem !important; }
.section-tabs, .calc-tabs, .rutas-tabs { gap: 0.15rem; margin-left: -0.55rem !important; width: calc(100% + 0.55rem); }
.rf-pick[open] { z-index: 45; }
.gv-card:has(.gv-menu[open]) { z-index: 30; }
.gv-menu[open] { z-index: 31; }
@media (max-width: 39.99rem) { .page-header, .page-header.card { align-items: stretch; } }
html.fuel-sheet-lock .bottom-nav, body:has(.fuel-sheet:not([hidden])) .bottom-nav { z-index: 5; }
.is-explore .app-main { padding: 0; }
.is-explore .app-content { max-width: none; padding: 0; }
.ex { position: fixed; z-index: 1; inset: var(--mobile-bar-h, 3.5rem) 0 calc(4rem + env(safe-area-inset-bottom)) 0; overflow: hidden; }
@media (min-width: 48rem) { .ex { inset: 0 0 0 16rem; } }
.ex-map { position: absolute; inset: 0; z-index: 0; isolation: isolate; }
.ex-map #exMap { width: 100%; height: 100%; background: var(--card-sunken, #e9eef2); }
.dark .ex-map .leaflet-tile-pane { filter: invert(1) hue-rotate(180deg) brightness(0.9) contrast(0.9); }
.ex .leaflet-control-zoom { border: 0; border-radius: 0.9rem; overflow: hidden; margin: 0 1.1rem 1.2rem 0; box-shadow: 0 0 0 1px var(--border), 0 10px 26px -12px rgb(0 0 0 / 0.55); }
.ex .leaflet-control-zoom a { width: 2.4rem; height: 2.4rem; line-height: 2.4rem; border: 0; color: var(--foreground); background: color-mix(in srgb, var(--card) 86%, transparent); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.ex .leaflet-control-attribution { background: color-mix(in srgb, var(--card) 72%, transparent); color: var(--muted-foreground); font-size: 0.62rem; border-radius: 0.5rem 0 0 0; }
.ex .leaflet-control-attribution a { color: inherit; }
@media (max-width: 63.99rem) { .ex .leaflet-control-zoom { display: none; } }
.is-explore .fuel-marker { display: inline-flex; align-items: center; gap: 0.36rem; padding: 0.3rem 0.62rem 0.3rem 0.48rem; border-radius: 999px; font: 800 0.8rem/1 var(--font-body); letter-spacing: -0.01em; font-variant-numeric: tabular-nums; color: #11151a; background: rgb(255 255 255 / 0.95); border: 1px solid rgb(0 0 0 / 0.08); box-shadow: 0 1px 2px rgb(0 0 0 / 0.18), 0 6px 14px -4px rgb(0 0 0 / 0.4); transform: translate(-50%, -50%); transition: transform 0.22s var(--ease-out), background-color 0.2s, color 0.2s, box-shadow 0.2s; }
.is-explore .fuel-marker .fm-dot { flex: none; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--brand, #9aa3ad); box-shadow: 0 0 0 1.5px rgb(255 255 255 / 0.9), 0 0 0 2.5px rgb(0 0 0 / 0.08); }
.is-explore .fuel-marker.is-cheapest { box-shadow: 0 0 0 2px #1f8f5f, 0 6px 14px -4px rgb(0 0 0 / 0.4); }
.is-explore .fuel-marker.is-active { transform: translate(-50%, -50%) scale(1.1); color: #fff; background: rgb(var(--a-500)); border-color: transparent; box-shadow: 0 0 0 2px #fff, 0 12px 26px -6px rgb(var(--a-500) / 0.75); z-index: 2; }
.is-explore .fuel-marker.is-active .fm-dot { box-shadow: 0 0 0 1.5px #fff; }
@media (max-width: 63.99rem) { .is-explore .fuel-marker { padding: 0.26rem 0.55rem 0.26rem 0.42rem; font-size: 0.74rem; } }
.ex-col { display: contents; }
.ex-top { position: absolute; z-index: 7; top: 0.6rem; left: 0.6rem; right: 0.6rem; }
@media (min-width: 48rem) and (max-width: 63.99rem) { .ex-top { right: 17.25rem; } }
.ex-search { position: relative; z-index: 2; display: flex; align-items: center; gap: 0.25rem; height: 3rem; padding: 0 0.35rem 0 1rem; border-radius: 999px; background: color-mix(in srgb, var(--card) 94%, transparent); -webkit-backdrop-filter: blur(18px) saturate(1.4); backdrop-filter: blur(18px) saturate(1.4); box-shadow: 0 0 0 1px var(--border), 0 12px 30px -14px rgb(0 0 0 / 0.5); transition: box-shadow 0.2s var(--ease-out); }
.ex-search:focus-within { box-shadow: 0 0 0 2px rgb(var(--a-500)), 0 14px 34px -14px rgb(0 0 0 / 0.55); }
.ex-search-ico { flex: none; width: 1.1rem; height: 1.1rem; color: var(--muted-foreground); margin-right: 0.35rem; }
.ex-search input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; color: var(--foreground); font: 500 0.95rem/1 var(--font-body); }
.ex-search input::placeholder { color: var(--muted-foreground); }
.ex-search input::-webkit-search-cancel-button { display: none; }
.ex-locate { flex: none; width: 2.4rem; height: 2.4rem; display: grid; place-items: center; border: 0; border-radius: 50%; cursor: pointer; background: transparent; color: rgb(var(--a-500)); transition: background-color 0.16s, scale 0.16s var(--ease-out); }
.ex-locate:hover { background: rgb(var(--a-500) / 0.12); } .ex-locate:active { scale: 0.92; }
.ex-locate.is-loading svg { animation: exSpin 0.9s linear infinite; }
@keyframes exSpin { to { transform: rotate(360deg); } }
.ex-search:focus-within .ex-search-ico { color: rgb(var(--a-500)); }
.ex-place-list { position: absolute; z-index: 9; top: calc(100% + 0.45rem); left: 0; right: 0; max-height: 17rem; overflow: auto; margin: 0; padding: 0.35rem; list-style: none; border-radius: 1.1rem; background: var(--card); box-shadow: 0 0 0 1px var(--border-strong), 0 24px 50px -20px rgb(0 0 0 / 0.55); }
.ex-place-list li { display: flex; align-items: center; gap: 0.7rem; padding: 0.6rem 0.7rem; border-radius: 0.75rem; cursor: pointer; outline: 0; }
.ex-place-list li:hover, .ex-place-list li:focus { background: var(--muted); }
.ex-place-list svg { flex: none; color: var(--muted-foreground); }
.ex-place-list strong { display: block; font-size: 0.92rem; } .ex-place-list small { color: var(--muted-foreground); font-size: 0.76rem; }
.ex-place-empty { color: var(--muted-foreground); font-size: 0.85rem; cursor: default !important; }
.ex-chips { display: flex; align-items: center; gap: 0.4rem; margin-top: 0.55rem; padding: 2px 2px 6px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.ex-chips::-webkit-scrollbar { display: none; }
.ex-chip { flex: none; display: inline-flex; align-items: center; gap: 0.3rem; height: 2.2rem; padding: 0 0.9rem; border: 0; border-radius: 999px; cursor: pointer; white-space: nowrap; font: 600 0.82rem/1 var(--font-body); color: var(--foreground); background: color-mix(in srgb, var(--card) 94%, transparent); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 0 0 1px var(--border), 0 6px 16px -10px rgb(0 0 0 / 0.5); transition: background-color 0.16s, color 0.16s, box-shadow 0.16s, scale 0.16s var(--ease-out); }
.ex-chip:active { scale: 0.96; }
.ex-chip[aria-checked='true'] { background: rgb(var(--a-500)); color: #fff; box-shadow: 0 1px 2px rgb(var(--a-700) / 0.5), 0 8px 18px -8px rgb(var(--a-500) / 0.8); }
.ex-chip.is-set { box-shadow: 0 0 0 1.5px rgb(var(--a-500)); color: rgb(var(--a-500)); }
.ex-chip-menu svg { opacity: 0.6; transition: transform 0.2s var(--ease-out); }
.ex-chip-menu[aria-expanded='true'] svg { transform: rotate(180deg); }
.ex-chip-sep { flex: none; width: 1px; height: 1.2rem; background: var(--border-strong); margin: 0 0.1rem; }
@media (hover: hover) { .ex-chip:not([aria-checked='true']):hover { background: var(--card); box-shadow: 0 0 0 1px var(--border-strong), 0 8px 18px -10px rgb(0 0 0 / 0.55); } }
.ex-chip:focus-visible, .ex-btn:focus-visible, .ex-row:focus-visible, .ex-back:focus-visible, .ex-pop button:focus-visible, .ex-locate:focus-visible { outline: 2px solid rgb(var(--a-500)); outline-offset: 2px; }
.ex-pop { position: absolute; z-index: 10; max-height: 17rem; overflow: auto; padding: 0.3rem; border-radius: 1.1rem; background: var(--card); box-shadow: 0 0 0 1px var(--border-strong), 0 24px 50px -20px rgb(0 0 0 / 0.55); }
.ex-pop[hidden] { display: none; }
.ex-pop button { width: 100%; display: flex; align-items: center; gap: 0.6rem; padding: 0.6rem 0.7rem; border: 0; border-radius: 0.75rem; background: none; text-align: left; cursor: pointer; font: 500 0.88rem/1.2 var(--font-body); color: var(--foreground); }
.ex-pop button span { flex: 1; } .ex-pop button:hover { background: var(--muted); }
.ex-pop button[aria-checked='true'] { font-weight: 700; color: rgb(var(--a-500)); }
.ex-sheet { position: absolute; z-index: 5; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; border-radius: 1.5rem 1.5rem 0 0; background: color-mix(in srgb, var(--card) 95%, transparent); -webkit-backdrop-filter: blur(22px) saturate(1.4); backdrop-filter: blur(22px) saturate(1.4); box-shadow: 0 -1px 0 var(--border), 0 -20px 50px -22px rgb(0 0 0 / 0.5); will-change: transform; }
@media (max-width: 63.99rem) { .ex-sheet:not([data-snap]) { height: 28%; } }
.ex-sheet-head { flex: none; padding: 0.15rem 1rem 0.7rem; touch-action: none; cursor: grab; user-select: none; -webkit-user-select: none; }
.ex-grab { display: block; width: 100%; height: 1.3rem; padding: 0; border: 0; background: none; cursor: grab; }
.ex-grab span { display: block; width: 2.6rem; height: 4px; margin: 0.55rem auto 0; border-radius: 4px; background: var(--border-strong); }
.ex-sum { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.35rem 0.7rem; min-height: 1.6rem; }
.ex-sum-main { font-size: 0.9rem; color: var(--muted-foreground); white-space: nowrap; } .ex-sum-main strong, .ex-sum-main b { color: var(--foreground); font-variant-numeric: tabular-nums; }
.ex-live { flex: none; display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.25rem 0.6rem; border-radius: 999px; font-size: 0.72rem; font-weight: 600; color: var(--muted-foreground); background: var(--muted); }
.ex-live { border: 0; cursor: pointer; font-family: inherit; transition: background-color 0.15s, scale 0.15s var(--ease-out); }
.ex-live:hover:not(:disabled) { background: var(--border-strong); } .ex-live:active:not(:disabled) { scale: 0.96; }
.ex-live:disabled { cursor: default; } .ex-live:focus-visible { outline: 2px solid rgb(var(--a-500)); outline-offset: 2px; }
.ex-live-ico { opacity: 0.6; } .ex-live.is-busy .ex-live-ico { animation: exSpin 0.8s linear infinite; }
.ex-live i { width: 0.45rem; height: 0.45rem; border-radius: 50%; background: #1f8f5f; }
.ex-live.is-old i { background: #d49a1c; } .ex-live.is-stale i { background: #d4493c; }
.ex-body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 0.5rem calc(1rem + env(safe-area-inset-bottom)); scrollbar-width: thin; scrollbar-color: var(--border-strong) transparent; }
@media (min-width: 64rem) {
.ex-col { position: absolute; z-index: 6; top: 0; left: 0; bottom: 0; width: clamp(22rem, 30vw, 26rem); display: flex; flex-direction: column; background: color-mix(in srgb, var(--card) 90%, transparent); -webkit-backdrop-filter: blur(24px) saturate(1.5); backdrop-filter: blur(24px) saturate(1.5); box-shadow: 1px 0 0 var(--border), 24px 0 60px -34px rgb(0 0 0 / 0.55); }
.ex-top { position: relative; z-index: 7; top: auto; left: auto; right: auto; flex: none; padding: 1rem 1rem 0.35rem; }
.ex-search { box-shadow: 0 0 0 1px var(--border-strong); background: var(--card); }
.ex-sheet { position: relative; z-index: auto; flex: 1; min-height: 0; height: auto !important; transform: none !important; border-radius: 0; background: none; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; will-change: auto; }
.ex-sheet-head { padding: 0.35rem 1.2rem 0.6rem; cursor: default; touch-action: auto; }
.ex-grab { display: none; }
.ex-body { padding: 0 0.6rem 1rem; }
.ex-chips { margin-top: 0.6rem; -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 1.6rem), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 1.6rem), transparent); }
.ex-chip { background: var(--card); backdrop-filter: none; -webkit-backdrop-filter: none; }
}
.ex-list { display: grid; }
.ex-row { width: 100%; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 0.8rem; padding: 0.75rem 0.6rem; border: 0; border-radius: 1rem; background: none; text-align: left; cursor: pointer; color: inherit; transition: background-color 0.15s, scale 0.15s var(--ease-out); }
.ex-row + .ex-row { box-shadow: 0 -1px 0 var(--border); }
.ex-row:active { scale: 0.99; }
@media (hover: hover) { .ex-row:hover { background: var(--muted); } }
.ex-row.is-selected { background: rgb(var(--a-500) / 0.1); }
.ex-row-main { min-width: 0; display: grid; gap: 0.1rem; }
.ex-row-main strong { font: 700 0.95rem/1.25 var(--font-display); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ex-row-main small { color: var(--muted-foreground); font-size: 0.78rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ex-best { justify-self: start; margin-top: 0.2rem; padding: 0.12rem 0.5rem; border-radius: 999px; font: 700 0.66rem/1.4 var(--font-body); font-style: normal; letter-spacing: 0.02em; color: #14633f; background: rgb(31 143 95 / 0.16); }
.dark .ex-best { color: #6fe0ac; }
.ex-row-price { display: grid; grid-template-columns: auto auto; align-items: baseline; justify-items: end; column-gap: 0.25rem; }
.ex-row-price b { font: 800 1.2rem/1 var(--font-display); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.ex-row-price small { color: var(--muted-foreground); font-size: 0.7rem; }
.ex-dot { grid-column: 1 / -1; margin-top: 0.4rem; width: 0.55rem; height: 0.55rem; border-radius: 50%; background: #d49a1c; }
.ex-dot.is-low { background: #1f8f5f; } .ex-dot.is-high { background: #d4493c; }
.ex-more { margin: 0.6rem auto 0.4rem; display: block; padding: 0.7rem 1.2rem; border: 0; border-radius: 999px; background: var(--muted); font: 600 0.86rem var(--font-body); color: var(--foreground); cursor: pointer; }
.ex-foot { margin: 0.9rem 0.7rem 0; font-size: 0.72rem; line-height: 1.45; color: var(--muted-foreground); }
.ex-detail { padding: 0.2rem 0.7rem 0.5rem; display: grid; gap: 1rem; }
.ex-back { justify-self: start; display: inline-flex; align-items: center; gap: 0.4rem; min-height: 2.5rem; padding: 0 0.6rem 0 0.3rem; border: 0; border-radius: 999px; background: none; cursor: pointer; font: 600 0.84rem var(--font-body); color: var(--muted-foreground); }
@media (hover: hover) { .ex-back:hover { color: var(--foreground); background: var(--muted); } }
.ex-d-head { display: flex; align-items: center; gap: 0.9rem; }
.ex-d-head h2 { margin: 0; font: 800 1.2rem/1.2 var(--font-display); letter-spacing: -0.02em; text-wrap: balance; }
.ex-d-head p { margin: 0.2rem 0 0; color: var(--muted-foreground); font-size: 0.84rem; }
.ex-d-price { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; }
.ex-d-price b { font: 800 2.7rem/1 var(--font-display); letter-spacing: -0.04em; font-variant-numeric: tabular-nums; }
.ex-d-price span { margin-left: 0.3rem; color: var(--muted-foreground); font-weight: 600; } .ex-d-price small { display: block; margin-top: 0.25rem; color: var(--muted-foreground); font-size: 0.78rem; }
.ex-tier { padding: 0.3rem 0.75rem; border-radius: 999px; font: 700 0.76rem/1.2 var(--font-body); color: #8a5b00; background: rgb(212 154 28 / 0.18); }
.ex-tier.is-low { color: #14633f; background: rgb(31 143 95 / 0.16); } .ex-tier.is-high { color: #9c2f24; background: rgb(212 73 60 / 0.16); }
.dark .ex-tier { color: #f0c36b; } .dark .ex-tier.is-low { color: #6fe0ac; } .dark .ex-tier.is-high { color: #ff9a8f; }
.ex-d-delta { margin: -0.4rem 0 0; font-size: 0.84rem; color: var(--muted-foreground); } .ex-d-delta strong { color: #1f8f5f; }
.ex-d-meta { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.ex-d-meta span { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.3rem 0.7rem; border-radius: 999px; background: var(--muted); font-size: 0.78rem; color: var(--muted-foreground); }
.ex-d-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; }
.ex-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; min-height: 2.9rem; padding: 0 1rem; border: 0; border-radius: 999px; cursor: pointer; text-decoration: none; font: 700 0.88rem/1 var(--font-display); color: var(--foreground); background: var(--muted); box-shadow: 0 0 0 1px var(--border); transition: background-color 0.16s, box-shadow 0.16s, scale 0.16s var(--ease-out); }
.ex-btn:active { scale: 0.97; }
@media (hover: hover) { .ex-btn:hover { background: var(--card); box-shadow: 0 0 0 1px var(--border-strong); } }
.ex-btn-primary { color: #fff; background: linear-gradient(135deg, rgb(var(--a-500)), rgb(var(--a-400))); box-shadow: 0 1px 2px rgb(var(--a-700) / 0.5), 0 10px 22px -10px rgb(var(--a-500) / 0.8), inset 0 1px 0 rgb(255 255 255 / 0.25); }
@media (hover: hover) { .ex-btn-primary:hover { background: linear-gradient(135deg, rgb(var(--a-500)), rgb(var(--a-400))); filter: brightness(1.06); box-shadow: 0 1px 2px rgb(var(--a-700) / 0.5), 0 14px 28px -10px rgb(var(--a-500) / 0.9), inset 0 1px 0 rgb(255 255 255 / 0.3); } }
.ex-lock { opacity: 0.55; }
.ex-d-title { margin: 0.2rem 0 -0.3rem; font: 700 0.72rem/1 var(--font-body); letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted-foreground); }
.ex-d-prices { list-style: none; margin: 0; padding: 0; border-radius: 1rem; box-shadow: 0 0 0 1px var(--border); overflow: hidden; }
.ex-d-prices li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.7rem 0.9rem; font-size: 0.88rem; }
.ex-d-prices li + li { box-shadow: 0 -1px 0 var(--border); }
.ex-d-prices li strong { font-variant-numeric: tabular-nums; } .ex-d-prices li.is-on { background: rgb(var(--a-500) / 0.1); font-weight: 700; }
.ex-state { padding: 1.4rem 1rem 1rem; text-align: center; display: grid; justify-items: center; gap: 0.55rem; }
.ex-state[hidden] { display: none; }
.ex-state h2 { margin: 0.2rem 0 0; font: 800 1.15rem/1.2 var(--font-display); } .ex-state p { margin: 0 0 0.4rem; max-width: 22rem; color: var(--muted-foreground); font-size: 0.9rem; text-wrap: pretty; }
.ex-state-ico { width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: 1rem; color: rgb(var(--a-500)); background: rgb(var(--a-500) / 0.12); }
.ex-state.is-loading { padding: 0.3rem 0.4rem; justify-items: stretch; }
.ex-skel { height: 4.2rem; margin: 0.4rem 0.2rem; border-radius: 1rem; background: linear-gradient(100deg, var(--muted) 30%, color-mix(in srgb, var(--muted) 40%, transparent) 50%, var(--muted) 70%); background-size: 200% 100%; animation: exShimmer 1.3s linear infinite; }
@keyframes exShimmer { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) {
.ex-skel, .ex-locate.is-loading svg { animation: none; }
.ex-chip, .ex-row, .ex-btn, .is-explore .fuel-marker, .ex-chip-menu svg { transition: none; }
}
.ex [hidden] { display: none !important; }
a.ex-row { text-decoration: none; }
.ex-row-main h3 { margin: 0; font: 700 0.95rem/1.25 var(--font-display); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ex-intro { padding: 0.35rem 0.7rem 0.2rem; }
.ex-crumbs ol { list-style: none; margin: 0 0 0.35rem; padding: 0; display: flex; flex-wrap: wrap; gap: 0.15rem 0.35rem; font-size: 0.72rem; color: var(--muted-foreground); }
.ex-crumbs li + li::before { content: '›'; margin-right: 0.35rem; opacity: 0.6; }
.ex-crumbs a { color: inherit; text-decoration: none; } .ex-crumbs a:hover { color: var(--foreground); text-decoration: underline; }
.ex-h1 { margin: 0 0 0.3rem; font: 800 1.3rem/1.2 var(--font-display); letter-spacing: -0.02em; text-wrap: balance; }
.ex-h2 { margin: 0.7rem 0.7rem 0.15rem; font: 700 0.72rem/1.3 var(--font-body); letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted-foreground); }
.ex-seo { margin: 1.4rem 0.7rem 1rem; padding-top: 1rem; border-top: 1px solid var(--border); font-size: 0.88rem; line-height: 1.55; color: var(--muted-foreground); }
.ex-seo h2 { margin: 1.2rem 0 0.5rem; font: 800 1.05rem/1.25 var(--font-display); color: var(--foreground); } .ex-seo h2:first-child { margin-top: 0; }
.ex-seo p { margin: 0.4rem 0; text-wrap: pretty; } .ex-seo a { color: rgb(var(--a-500)); }
.ex-stats { width: 100%; margin: 0.7rem 0; border-collapse: collapse; font-size: 0.8rem; font-variant-numeric: tabular-nums; }
.ex-stats caption { padding-bottom: 0.35rem; text-align: left; font-weight: 700; color: var(--foreground); }
.ex-stats th, .ex-stats td { padding: 0.4rem 0.3rem; text-align: right; border-bottom: 1px solid var(--border); font-weight: 500; }
.ex-stats th:first-child, .ex-stats td:first-child { text-align: left; font-weight: 700; color: var(--foreground); }
.ex-stats thead th { font-size: 0.7rem; color: var(--muted-foreground); font-weight: 600; }
.ex-links { list-style: none; margin: 0.3rem 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.35rem; }
.ex-links a { display: inline-block; padding: 0.35rem 0.7rem; border-radius: 999px; background: var(--muted); color: var(--foreground); text-decoration: none; font-size: 0.8rem; transition: background-color 0.15s; }
@media (hover: hover) { .ex-links a:hover { background: var(--card); box-shadow: 0 0 0 1px var(--border-strong); } }
.ex-updated { font-size: 0.74rem; }
.ex-list-static { display: grid; margin: 0.4rem -0.5rem; }
.ex-body { overflow-x: hidden; }
.ex-row.is-new { animation: ex-appear 0.28s ease-out both; }
@keyframes ex-appear { from { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .ex-row.is-new { animation: none; } }
.is-explore .fuel-marker { scale: var(--s, 1); opacity: var(--o, 1); transform-origin: 50% 100%; }
.ex-stats-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0.7rem 0; }
.ex-stats-wrap .ex-stats { margin: 0; min-width: 21rem; }
.ex-stats th { text-transform: none; letter-spacing: 0; }
@media (max-width: 63.99rem) {
.ex-search { height: 2.65rem; }
.ex-chips { margin-top: 0.4rem; padding-bottom: 4px; }
.ex-chip { height: 2rem; padding: 0 0.8rem; }
}
.ex-here-wrap { background: none; border: 0; }
.ex-here-dot { display: block; width: 16px; height: 16px; border-radius: 50%; background: #2e90fa; border: 3px solid #fff; box-shadow: 0 0 0 6px rgb(46 144 250 / 0.22), 0 2px 8px rgb(0 0 0 / 0.45); transform: translate(-50%, -50%); box-sizing: border-box; }
.ex-home[aria-pressed='true'] { color: #fff; background: rgb(var(--a-500)); }
.ex-home[aria-pressed='true']:hover { background: rgb(var(--a-500)); }
@media (max-width: 47.99rem) {
.ex-intro, .ex-h2 { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ex-sheet { box-shadow: 0 -1px 0 var(--border-strong), 0 -18px 44px -18px rgb(0 0 0 / 0.55); }
.ex-row { gap: 0.6rem; padding: 0.42rem 0.5rem; border-radius: 0.8rem; }
.ex-row .fuel-logo.is-md { --s: 2.2rem; }
.ex-row-main { gap: 0; }
.ex-row-main h3 { font-size: 0.9rem; line-height: 1.2; }
.ex-row-main small { font-size: 0.72rem; line-height: 1.25; }
.ex-best { display: inline-block; margin: 0.12rem 0 0; padding: 0.05rem 0.42rem; font-size: 0.62rem; }
.ex-row-price b { font-size: 1.45rem; }
.ex-row-price small { font-size: 0.64rem; }
}
.ex-row.is-picked { background: rgb(var(--a-500) / 0.12); box-shadow: inset 0 0 0 1.5px rgb(var(--a-500) / 0.55); }
@media (max-width: 47.99rem) {
.ex-row-price { grid-template-columns: auto auto auto; }
.ex-row-price .ex-dot { grid-column: auto; margin: 0 0 0 0.2rem; align-self: center; }
}
.ex-sum { flex-wrap: nowrap; }
.ex-sum-main { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 47.99rem) {
.ex-live { padding: 0.2rem 0.55rem; font-size: 0.7rem; }
.ex-row-main { grid-template-columns: minmax(0, 1fr) auto; column-gap: 0.4rem; }
.ex-row-main h3, .ex-row-main small { grid-column: 1 / -1; }
.ex-row-main h3 { grid-column: 1; }
.ex-best { grid-column: 2; grid-row: 1; margin: 0; align-self: center; }
}
.fuel-cluster-wrap { background: none; border: 0; }
.fuel-cluster { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; font: 800 0.9rem/1 var(--font-body); font-variant-numeric: tabular-nums; color: #fff; background: rgb(var(--a-500)); border: 3px solid #fff; box-shadow: 0 0 0 5px rgb(var(--a-500) / 0.25), 0 8px 18px -6px rgb(0 0 0 / 0.55); scale: var(--s, 1); opacity: var(--o, 1); cursor: pointer; transition: transform 0.2s var(--ease-out); }
.fuel-cluster:active { transform: scale(0.94); }
.leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow { transition: transform 0.3s ease-out, opacity 0.3s ease-in; }
.leaflet-cluster-spider-leg { transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in; }
@media (max-width: 47.99rem) {
.ex-sheet.is-detail .ex-sum { display: none; }
.ex-sheet.is-detail .ex-sheet-head { padding-bottom: 0.25rem; }
.ex-detail { grid-template-columns: auto minmax(0, 1fr); gap: 0.65rem 0.4rem; padding: 0 0.6rem 0.6rem; }
.ex-detail > .ex-back { grid-area: 1 / 1; justify-self: start; width: 2.4rem; min-height: 2.4rem; padding: 0; justify-content: center; font-size: 0; gap: 0; background: var(--muted); }
.ex-detail > .ex-d-head { grid-area: 1 / 2; gap: 0.65rem; min-width: 0; }
.ex-detail > .ex-d-head > div { min-width: 0; }
.ex-d-head .fuel-logo.is-lg { --s: 2.6rem; }
.ex-d-head h2 { font-size: 1.02rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ex-d-head p { margin-top: 0.1rem; font-size: 0.76rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ex-detail > .ex-d-price { grid-area: 2 / 1 / 3 / -1; align-items: center; padding: 0.15rem 0.2rem 0; }
.ex-d-price b { font-size: 2.35rem; }
.ex-d-price small { margin-top: 0.15rem; }
.ex-detail > .ex-d-delta { grid-area: 3 / 1 / 4 / -1; margin: -0.25rem 0.2rem 0; font-size: 0.78rem; }
.ex-detail > .ex-d-actions { grid-area: 4 / 1 / 5 / -1; gap: 0.5rem; }
.ex-detail .ex-btn { min-height: 2.65rem; font-size: 0.84rem; }
.ex-detail > .ex-d-meta { grid-area: 5 / 1 / 6 / -1; gap: 0.4rem; }
.ex-d-meta span { padding: 0.22rem 0.6rem; font-size: 0.72rem; }
.ex-detail > .ex-d-title { grid-area: 6 / 1 / 7 / -1; margin: 0.2rem 0.2rem -0.2rem; }
.ex-detail > .ex-d-prices { grid-area: 7 / 1 / 8 / -1; }
.ex-d-prices li { padding: 0.5rem 0.8rem; font-size: 0.82rem; }
}
.pub-topbar { position: fixed; top: 1rem; right: 1.25rem; z-index: 70; display: none; align-items: center; gap: 0.6rem; }
@media (min-width: 48rem) { .pub-topbar { display: flex; } }
.pub-login {
display: inline-flex; align-items: center; min-height: 2.6rem; padding: 0 1.05rem; border-radius: 999px;
font: 600 0.9rem/1 var(--font-display); color: var(--foreground); text-decoration: none;
background: color-mix(in srgb, var(--card) 70%, transparent);
-webkit-backdrop-filter: blur(14px) saturate(1.4); backdrop-filter: blur(14px) saturate(1.4);
box-shadow: 0 0 0 1px var(--border), 0 6px 18px -10px rgb(0 0 0 / 0.5);
transition: background-color 0.18s var(--ease-out), box-shadow 0.18s var(--ease-out), scale 0.18s var(--ease-out);
}
.pub-login:active { scale: 0.96; }
@media (hover: hover) { .pub-login:hover { background: color-mix(in srgb, var(--card) 92%, transparent); box-shadow: 0 0 0 1px var(--border-strong), 0 8px 22px -10px rgb(0 0 0 / 0.6); } }
.pub-cta {
position: relative; isolation: isolate; overflow: hidden;
display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
min-height: 2.6rem; padding: 0 1.2rem; border-radius: 999px;
font: 700 0.92rem/1 var(--font-display); color: #fff; text-decoration: none; white-space: nowrap;
background: linear-gradient(135deg, rgb(var(--a-500)), rgb(var(--a-400)));
box-shadow: 0 1px 2px rgb(var(--a-700) / 0.6), 0 10px 26px -10px rgb(var(--a-500) / 0.85), inset 0 1px 0 rgb(255 255 255 / 0.28);
transition: box-shadow 0.25s var(--ease-out), scale 0.18s var(--ease-out);
will-change: transform;
}
.pub-cta::after {
content: ''; position: absolute; inset: 0; z-index: -1; transform: translateX(-120%);
background: linear-gradient(105deg, transparent 30%, rgb(255 255 255 / 0.38) 50%, transparent 70%);
transition: transform 0.7s var(--ease-out);
}
.pub-cta svg { transition: transform 0.25s var(--ease-out); }
.pub-cta:active { scale: 0.96; }
.pub-cta:focus-visible, .pub-login:focus-visible, .pw-secondary:focus-visible, .pw-back:focus-visible, .pw-close:focus-visible { outline: 2px solid rgb(var(--a-400)); outline-offset: 3px; }
@media (hover: hover) {
.pub-cta:hover { box-shadow: 0 1px 2px rgb(var(--a-700) / 0.6), 0 14px 34px -8px rgb(var(--a-500) / 1), inset 0 1px 0 rgb(255 255 255 / 0.35); }
.pub-cta:hover::after { transform: translateX(120%); }
.pub-cta:hover svg { transform: translateX(3px); }
}
.pub-cta-sm { min-height: 2.25rem; padding: 0 0.95rem; font-size: 0.82rem; margin-right: 0.35rem; }
.pub-cta-block { width: 100%; min-height: 3rem; font-size: 1rem; }
.rail-caption { margin: 0.9rem 0 0.25rem; padding: 0 0.9rem; font: 700 0.64rem/1 var(--font-body); letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted-foreground); opacity: 0.7; }
.rail-caption:first-of-type { margin-top: 0; }
.rail-link.is-locked { color: color-mix(in srgb, var(--muted-foreground) 82%, transparent); }
.rail-link.is-locked:hover { color: var(--foreground); }
.rail-link.is-viewing { background: var(--muted); color: var(--foreground); }
.rail-lock { margin-left: auto; display: inline-flex; opacity: 0.45; transition: opacity 0.18s var(--ease-out), transform 0.18s var(--ease-out); }
.rail-link.is-locked:hover .rail-lock { opacity: 0.9; transform: rotate(-8deg); }
.rail-lock svg { width: 0.85rem; height: 0.85rem; }
.rail-link.is-locked:hover svg:not(.rail-lock svg) { transform: translateX(2px); }
.bottom-nav-guest .bottom-nav-link.is-locked { color: #6f7a89; }
.bn-lock { position: absolute; top: 0.3rem; left: calc(50% + 0.55rem); opacity: 0.6; }
.pw-stage { position: relative; min-height: calc(100dvh - 2 * var(--page-pad, 1.5rem)); display: grid; place-items: center; overflow: hidden; border-radius: 1.5rem; isolation: isolate; }
.pw-mock { position: absolute; inset: 0; padding: 1.25rem; filter: blur(7px) saturate(0.9); opacity: 0.9; transform: scale(1.03); pointer-events: none; user-select: none; }
.pw-scrim { position: absolute; inset: 0; z-index: 1; background: radial-gradient(70% 70% at 50% 45%, transparent 0%, rgb(0 0 0 / 0.38) 100%); }
.pw-card {
position: relative; z-index: 2; width: min(29rem, calc(100% - 2rem)); margin: 2rem 0; padding: 2.1rem 1.75rem 1.5rem; text-align: center;
border-radius: 1.6rem;
background: color-mix(in srgb, var(--card) 88%, transparent);
-webkit-backdrop-filter: blur(26px) saturate(1.5); backdrop-filter: blur(26px) saturate(1.5);
box-shadow: 0 0 0 1px var(--border), 0 40px 90px -30px rgb(0 0 0 / 0.75), inset 0 1px 0 rgb(255 255 255 / 0.08);
}
.pw-close { position: absolute; top: 0.8rem; right: 0.8rem; width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border-radius: 999px; color: var(--muted-foreground); transition: background-color 0.16s, color 0.16s; }
.pw-close:hover { background: var(--muted); color: var(--foreground); }
.pw-icon { width: 3.4rem; height: 3.4rem; margin: 0 auto 1rem; display: grid; place-items: center; border-radius: 1.1rem; color: rgb(var(--a-400)); background: rgb(var(--a-500) / 0.14); box-shadow: inset 0 0 0 1px rgb(var(--a-500) / 0.25); }
.pw-eyebrow { display: inline-flex; align-items: center; gap: 0.4rem; margin: 0 0 0.6rem; font: 700 0.7rem/1 var(--font-body); letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted-foreground); }
.pw-card h1 { margin: 0 0 0.6rem; font: 800 clamp(1.5rem, 1.2rem + 1.2vw, 1.85rem)/1.12 var(--font-display); letter-spacing: -0.025em; text-wrap: balance; }
.pw-text { margin: 0 auto 1.3rem; max-width: 24rem; color: var(--muted-foreground); font-size: 0.95rem; line-height: 1.5; text-wrap: pretty; }
.pw-points { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; gap: 0.6rem; text-align: left; }
.pw-points li { display: flex; align-items: flex-start; gap: 0.65rem; font-size: 0.9rem; line-height: 1.4; }
.pw-points svg { flex: none; margin-top: 0.1rem; color: rgb(var(--a-400)); }
.pw-actions { display: grid; gap: 0.75rem; justify-items: center; }
.pw-secondary { display: inline-flex; align-items: center; min-height: 2.5rem; padding: 0 0.6rem; font-size: 0.88rem; font-weight: 600; color: var(--muted-foreground); text-decoration: none; border-radius: 0.6rem; transition: color 0.16s; }
.pw-secondary:hover { color: var(--foreground); }
.pw-back { display: inline-flex; align-items: center; gap: 0.4rem; margin-top: 0.9rem; min-height: 2.5rem; font-size: 0.8rem; color: var(--muted-foreground); text-decoration: none; opacity: 0.85; }
.pw-back:hover { color: var(--foreground); opacity: 1; }
.mk { max-width: 64rem; margin: 0 auto; display: grid; gap: 1rem; }
.mk-head { display: flex; align-items: center; justify-content: space-between; }
.mk-head b { width: 11rem; height: 1.5rem; border-radius: 0.5rem; background: var(--foreground); opacity: 0.85; }
.mk-head span { width: 7rem; height: 2.2rem; border-radius: 999px; background: rgb(var(--a-500)); }
.mk-grid { display: grid; gap: 1rem; }
.mk-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } .mk-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .mk-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mk-card { padding: 1.1rem; border-radius: 1.1rem; background: var(--card); box-shadow: 0 0 0 1px var(--border); display: grid; gap: 0.7rem; align-content: start; }
.mk-card b { display: block; width: 45%; height: 0.7rem; border-radius: 0.4rem; background: var(--muted-foreground); opacity: 0.45; }
.mk-card strong { font: 800 1.6rem/1 var(--font-display); }
.mk-tall { min-height: 12rem; } .mk-hero { min-height: 13rem; position: relative; overflow: hidden; }
.mk-hero strong { font-size: 2.4rem; }
.mk-hero svg { position: absolute; inset: auto 0 0 0; width: 100%; height: 55%; } .mk-hero path { fill: rgb(var(--a-500) / 0.35); stroke: rgb(var(--a-400)); stroke-width: 2; }
.mk-bars { display: flex; align-items: flex-end; gap: 0.5rem; height: 8rem; } .mk-bars-s { height: 4.5rem; }
.mk-bars i { flex: 1; border-radius: 0.4rem 0.4rem 0 0; background: linear-gradient(rgb(var(--a-400)), rgb(var(--a-600, var(--a-500)))); }
.mk-row { display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 0.8rem; padding: 0.55rem 0; border-bottom: 1px solid var(--border); }
.mk-row:last-child { border-bottom: 0; }
.mk-av { width: 2.2rem; height: 2.2rem; border-radius: 0.7rem; background: var(--muted); box-shadow: inset 0 0 0 1px var(--border); }
.mk-lines { display: grid; gap: 0.35rem; } .mk-lines b { height: 0.55rem; border-radius: 0.3rem; background: var(--muted-foreground); opacity: 0.4; } .mk-lines b:last-child { width: 55%; opacity: 0.25; }
.mk-row em { font: 700 0.95rem/1 var(--font-display); font-style: normal; } .mk-row u { text-decoration: none; font-size: 0.78rem; color: var(--muted-foreground); }
.mk-tabs { display: flex; gap: 1.4rem; } .mk-tabs span { width: 5.5rem; height: 0.85rem; border-radius: 0.4rem; background: var(--muted-foreground); opacity: 0.4; } .mk-tabs span:first-child { opacity: 0.9; background: rgb(var(--a-400)); }
.mk-photo { height: 7rem; border-radius: 0.8rem; background: linear-gradient(135deg, var(--muted), rgb(var(--a-500) / 0.25)); }
.mk-veh .mk-photo { height: 9rem; } .mk-feed b:last-child { width: 70%; }
@media (max-width: 47.99rem) { .mk-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .mk-3 { grid-template-columns: minmax(0, 1fr); } .mk-2 { grid-template-columns: minmax(0, 1fr); } .pw-stage { min-height: calc(100dvh - 10rem); } }
@media (prefers-reduced-motion: reduce) {
}
.mk-card { background: color-mix(in srgb, var(--foreground) 6%, var(--card)); }
.pw-mock { filter: blur(5px) saturate(0.95); }
.bn-lock svg { width: 0.7rem; height: 0.7rem; }
@media (max-width: 63.99rem), (pointer: coarse) {
.mobile-bar-brand, .pub-cta-sm, .dash-link, .dash-fuel-tag, .dash-vehicle-pick label, .dash-month label { min-height: 2.75rem; }
.mobile-bar-brand, .pub-cta-sm, .dash-fuel-tag { display: inline-flex; align-items: center; }
.dash-link { padding-inline: 0.5rem; margin-inline: -0.5rem; }
.ex-chip { height: 2.75rem; }
.ex-locate { width: 2.75rem; height: 2.75rem; }
.ex-grab { height: 2rem; }
.ex-live { min-height: 2.5rem; padding-inline: 0.8rem; }
.ex-links a { padding: 0.7rem 0.9rem; }
.ex-pop button, .ex-place-list li { min-height: 2.75rem; }
.trip-cat { height: 2.75rem; }
.trip-swap, .trip-clear { width: 2.75rem; height: 2.75rem; }
.trip-swap { right: 0.2rem; }
.trip-more { min-height: 2.75rem; }
.trip-poi button { height: 2.75rem; }
.rt-split button, .rt-icon { width: 2.75rem; height: 2.75rem; }
.leaflet-bar a { width: 2.75rem !important; height: 2.75rem !important; line-height: 2.75rem !important; }
label.flex.items-center.gap-3 { min-height: 2.75rem; }
input[type='checkbox'], input[type='radio'] { width: 1.3rem; height: 1.3rem; accent-color: rgb(var(--a-500)); }
.calc-slider input[type='range'] { margin: 1rem 0; touch-action: pan-y; }
.calc-slider input[type='range']::-webkit-slider-thumb { width: 2.2rem; height: 2.2rem; }
.calc-slider input[type='range']::-moz-range-thumb { width: 1.7rem; height: 1.7rem; }
}
@media (hover: none) and (pointer: coarse) {
.kbd, .shortcut-hint, [data-shortcut-help] { display: none !important; }
}
:root {
--font-body: 'Geist', 'Segoe UI', system-ui, -apple-system, Roboto, Arial, sans-serif;
--font-display: 'Bricolage Grotesque', 'Geist', 'Segoe UI', system-ui, sans-serif;
--font-figure: 'Geist Mono', ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
--background: #e4e8e3;
--card: #f8f9f6;
--card-sunken: #eceee9;
--foreground: #0e1210;
--muted: rgba(14, 18, 16, 0.055);
--muted-foreground: #565f59;
--accent: #eef0eb;
--border: rgba(14, 18, 16, 0.13);
--border-strong: rgba(14, 18, 16, 0.26);
--color-background-light: #e4e8e3;
--color-card-light: #f8f9f6;
--color-modal-light: #f8f9f6;
--on-primary: #ffffff;
--gauge-ok: #12a05c;
--gauge-warn: #e69a12;
--gauge-bad: #e5392d;
--gauge-info: #2678e5;
--radius-sm: 0.4rem;
--radius-md: 0.6rem;
--radius-lg: 0.9rem;
--radius-xl: 1.1rem;
--ink: #0b0e0c;
--line-dash: 1px dashed var(--border-strong);
--lift-1: 0 1px 1px rgb(14 30 22 / 0.04), 0 8px 18px -14px rgb(14 30 22 / 0.22);
--lift-2: 0 2px 3px rgb(14 30 22 / 0.06), 0 16px 30px -16px rgb(14 30 22 / 0.3);
--shadow-sm: var(--lift-1);
--shadow-md: 0 10px 28px -10px rgb(14 30 22 / 0.28);
--shadow-lg: 0 28px 60px -18px rgb(14 30 22 / 0.4);
--edge-light: inset 0 1px 0 rgb(255 255 255 / 0.65);
--key: 0 2px 0;
--ease-out: cubic-bezier(0.2, 0.9, 0.25, 1);
}
html.dark, .dark {
--background: #0a0d0b;
--card: #121613;
--card-sunken: #0d100e;
--foreground: #ecf0ea;
--muted: rgba(255, 255, 255, 0.06);
--muted-foreground: #9aa49d;
--accent: #1a1f1b;
--border: rgba(255, 255, 255, 0.1);
--border-strong: rgba(255, 255, 255, 0.2);
--color-background-dark: #0a0d0b;
--color-card-dark: #121613;
--color-modal-dark: #121613;
--on-primary: #160803;
--lift-1: 0 1px 0 rgb(255 255 255 / 0.03) inset, 0 12px 24px -16px rgb(0 0 0 / 0.8);
--lift-2: 0 1px 0 rgb(255 255 255 / 0.05) inset, 0 20px 36px -16px rgb(0 0 0 / 0.9);
--shadow-sm: var(--lift-1);
--shadow-md: 0 12px 30px -10px rgb(0 0 0 / 0.75);
--shadow-lg: 0 30px 70px -14px rgb(0 0 0 / 0.9);
--edge-light: inset 0 1px 0 rgb(255 255 255 / 0.05);
}
html[data-accent='racing'], html:not([data-accent]) { --a-200: 255 224 212; --a-300: 255 172 140; --a-400: 240 98 52; --a-500: 214 62 22; --a-600: 176 46 14; --a-700: 128 32 10; }
html.dark[data-accent='racing'], html.dark:not([data-accent]) { --a-200: 100 30 14; --a-300: 255 162 122; --a-400: 255 124 78; --a-500: 255 106 61; --a-600: 236 84 38; --a-700: 176 56 20; }
body {
font-family: var(--font-body);
background-image: none;
font-feature-settings: 'ss01', 'cv11';
}
.font-sans, .font-body { font-family: var(--font-body) !important; }
.font-display { font-family: var(--font-display) !important; }
.font-mono { font-family: var(--font-figure) !important; }
body::before {
content: ''; position: fixed; inset: 0; z-index: 0; pointer-events: none;
background-image: radial-gradient(rgb(14 18 16 / 0.11) 1px, transparent 1.2px);
background-size: 22px 22px;
-webkit-mask-image: linear-gradient(180deg, #000, transparent 55%); mask-image: linear-gradient(180deg, #000, transparent 55%);
}
.dark body::before { background-image: radial-gradient(rgb(255 255 255 / 0.09) 1px, transparent 1.2px); }
h1, h2, h3, h4 { font-family: var(--font-display); letter-spacing: -0.028em; font-weight: 700; }
h1 { font-size: clamp(1.7rem, 1.3rem + 1.6vw, 2.6rem); line-height: 1.04; }
h2 { font-size: clamp(1.15rem, 1.05rem + 0.5vw, 1.4rem); }
.compact-kpi-value, .sim-total, .tco-total, .calc-result-value, .calc-stat strong, .ledger-figure, .activity-amount, .record-figure,
.dash-value, .dash-st-price strong, .dash-last-total strong, .dash-tx-amount, .dash-delta, .an-step-num,
.an-live strong, .nav-badge, .dash-pill-text small, td.tabular, .tabular {
font-family: var(--font-figure); font-variant-numeric: tabular-nums; letter-spacing: -0.04em;
}
.compact-kpi-value { font-weight: 600; font-size: clamp(1.2rem, 1rem + 0.9vw, 1.8rem); }
::selection { background: rgb(var(--a-500) / 0.3); }
:focus-visible { outline: 2px solid rgb(var(--a-500)); outline-offset: 2px; border-radius: var(--radius-sm); }
.card, .dash-card, .dash-panel, .dash-tile, .premium-surface, .spec-card {
border-radius: var(--radius-lg);
}
.card { background: var(--card); box-shadow: 0 0 0 1px var(--border), var(--lift-1); }
.card:hover { box-shadow: 0 0 0 1px var(--border), var(--lift-1); }
a.card:hover, .record-card:hover, .vehicle-shell-card:hover { box-shadow: 0 0 0 1px var(--border-strong), var(--lift-2); }
.premium-surface { background: var(--card); }
.spec-card { background: var(--card-sunken); }
.dash-card, .dash-panel, .dash-tile { background: var(--card); box-shadow: 0 0 0 1px var(--border), var(--lift-1); }
.page-header.card, .page-header {
background: transparent !important; box-shadow: none !important;
padding: 0.25rem 0 1.1rem !important; margin-bottom: 1.2rem;
border: 0 !important; border-radius: 0;
border-bottom: 1px solid var(--border-strong) !important;
}
.page-header h1 { font-size: clamp(1.8rem, 1.3rem + 2vw, 2.9rem); font-weight: 750; letter-spacing: -0.04em; }
.page-header p { color: var(--muted-foreground); }
.connection-item, .dash-st-row, .dash-st-skel, .dash-card-foot, .shortcut-row, .more-sheet-list a { border-style: dashed; border-color: var(--border-strong); }
.dash-st-row, .dash-st-skel { border-top-style: dashed; }
.dashboard-list-row:hover { box-shadow: inset 2px 0 0 rgb(var(--a-500)); border-radius: var(--radius-sm); }
.user-role-badge, .user-status-badge, .user-meta-chip, .soft-chip, .app-chip, .app-tag-chip {
border-radius: var(--radius-sm); font-family: var(--font-body); font-weight: 600; font-size: 0.78rem; background: var(--card-sunken);
}
.app-tag-chip { background: rgb(var(--a-500) / 0.1); color: rgb(var(--a-600)); border-color: rgb(var(--a-500) / 0.3); }
.dark .app-tag-chip { color: rgb(var(--a-300)); }
.compact-kpi-card { border-radius: var(--radius-lg); }
.compact-kpi-label { font-family: var(--font-body); font-size: 0.8rem; font-weight: 550; letter-spacing: 0; text-transform: none; color: var(--muted-foreground); }
.compact-kpi-icon { border-radius: var(--radius-md); box-shadow: none; }
.compact-kpi-help { font-size: 0.78rem; }
.btn-primary, .btn-secondary, .btn-ghost, .btn-danger, .icon-action-btn, .sidebar-mini-link {
border-radius: var(--radius-md); font-family: var(--font-body); font-weight: 650; letter-spacing: -0.005em;
transition-property: transform, box-shadow, background-color, border-color, color; transition-duration: 0.14s; transition-timing-function: var(--ease-out);
}
.btn-primary {
color: var(--on-primary); background: rgb(var(--a-500)); border: 1px solid rgb(var(--a-600));
box-shadow: var(--key) rgb(var(--a-700)), inset 0 1px 0 rgb(255 255 255 / 0.22);
translate: 0 0;
}
.btn-primary:hover:not(:disabled) { filter: none; background: rgb(var(--a-400)); transform: none; box-shadow: var(--key) rgb(var(--a-700)), inset 0 1px 0 rgb(255 255 255 / 0.28); }
.btn-primary:active:not(:disabled) { transform: translateY(2px); box-shadow: 0 0 0 rgb(var(--a-700)), inset 0 1px 2px rgb(0 0 0 / 0.25); }
.btn-secondary {
color: var(--foreground); background: var(--card); border: 1px solid var(--border-strong);
box-shadow: var(--key) var(--border-strong);
}
.btn-secondary:hover:not(:disabled) { background: var(--card); border-color: var(--foreground); transform: none; }
.btn-secondary:active:not(:disabled) { transform: translateY(2px); box-shadow: 0 0 0 var(--border-strong); }
.btn-ghost { border-color: transparent; color: var(--muted-foreground); }
.btn-ghost:hover:not(:disabled) { background: var(--muted); color: var(--foreground); border-color: var(--border); }
.btn-ghost:active:not(:disabled) { transform: scale(0.97); }
.btn-danger { color: #fff; background: #d92d20; border: 1px solid #a8190f; box-shadow: var(--key) #8a130b; }
.btn-danger:hover:not(:disabled) { filter: none; background: #e5392d; transform: none; }
.btn-danger:active:not(:disabled) { transform: translateY(2px); box-shadow: 0 0 0 #8a130b; }
.btn-primary:focus-visible, .btn-secondary:focus-visible, .btn-ghost:focus-visible, .btn-danger:focus-visible { box-shadow: 0 0 0 3px var(--card), 0 0 0 5px rgb(var(--a-500)); }
.icon-action-btn { background: var(--card); border: 1px solid var(--border-strong); }
.icon-action-btn:hover { transform: none; border-color: var(--foreground); background: var(--card); }
.icon-action-btn:active { transform: scale(0.94); }
.sidebar-mini-link { border-radius: var(--radius-md); }
label, .form-label { font-family: var(--font-body); font-size: 0.84rem; font-weight: 600; letter-spacing: 0; color: var(--foreground); }
.form-label { color: var(--muted-foreground); }
.input-field {
border-radius: var(--radius-md); background-color: var(--card-sunken); border: 1px solid var(--border-strong);
box-shadow: inset 0 1px 2px rgb(14 30 22 / 0.07); font-weight: 500;
}
.dark .input-field { box-shadow: inset 0 1px 2px rgb(0 0 0 / 0.5); }
.input-field:hover { border-color: var(--foreground); }
.input-field:focus { border-color: rgb(var(--a-500)); box-shadow: 0 0 0 3px rgb(var(--a-500) / 0.2); background-color: var(--card); }
.input-field::placeholder { color: var(--muted-foreground); opacity: 0.75; }
select.input-field { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23778078' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); }
input[type='file']::file-selector-button { border-radius: var(--radius-sm); background: rgb(var(--a-500)); color: var(--on-primary); }
input[type='checkbox']:not(.sr-only):not([class*='peer']), input[type='radio']:not(.sr-only):not([class*='peer']) {
-webkit-appearance: none; appearance: none; flex: none; width: 1.2rem; height: 1.2rem; margin: 0; cursor: pointer;
background: var(--card); border: 1.5px solid var(--border-strong); vertical-align: middle;
transition: background-color 0.14s, border-color 0.14s, box-shadow 0.14s;
}
input[type='checkbox']:not(.sr-only):not([class*='peer']) { border-radius: 0.35rem; }
input[type='radio']:not(.sr-only):not([class*='peer']) { border-radius: 50%; }
input[type='checkbox']:not(.sr-only):not([class*='peer']):hover, input[type='radio']:not(.sr-only):not([class*='peer']):hover { border-color: var(--foreground); }
input[type='checkbox']:not(.sr-only):not([class*='peer']):checked {
background-color: rgb(var(--a-500)); border-color: rgb(var(--a-600));
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E");
background-size: 100%; background-position: center; background-repeat: no-repeat;
}
.dark input[type='checkbox']:not(.sr-only):not([class*='peer']):checked {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23160803' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E");
}
input[type='radio']:not(.sr-only):not([class*='peer']):checked { border-color: rgb(var(--a-500)); background: radial-gradient(circle, rgb(var(--a-500)) 0 38%, var(--card) 42%); }
input[type='checkbox']:not(.sr-only):focus-visible, input[type='radio']:not(.sr-only):focus-visible { outline: 2px solid rgb(var(--a-500)); outline-offset: 2px; }
.admin-switch-track { border-radius: 9999px; }
.section-tabs, .calc-tabs, .rutas-tabs { border-radius: 9999px; background: var(--card-sunken); box-shadow: inset 0 0 0 1px var(--border); }
.calc-tabs { border-radius: var(--radius-lg); }
.section-tabs a, .calc-tabs a, .rutas-tabs a { font-family: var(--font-body); font-weight: 600; letter-spacing: -0.005em; }
.section-tabs .tab-indicator, .section-tabs:not(.has-indicator) a.is-active { background: var(--foreground); box-shadow: none; }
.section-tabs a.is-active { color: var(--card); }
.section-tabs a.is-active svg { color: rgb(var(--a-400)); }
table { font-variant-numeric: tabular-nums; }
table th {
font-family: var(--font-body); font-size: 0.74rem; font-weight: 600; letter-spacing: 0.02em; text-align: left;
color: var(--muted-foreground); border-bottom: 1px solid var(--border-strong);
}
table td { border-bottom: 1px dashed var(--border); }
table tbody tr:last-child td { border-bottom: 0; }
table tbody tr { transition: background-color 0.12s; }
@media (hover: hover) { table tbody tr:hover { background: var(--muted); } }
.sidebar {
background-color: var(--ink); background-image: none; border-right: 1px solid rgb(255 255 255 / 0.07); box-shadow: none;
--card: #141915;
}
.sidebar::before { height: 2px; background: rgb(var(--a-500)); }
.rail-search { border-radius: var(--radius-md); background: rgb(255 255 255 / 0.05); box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.08); }
.rail-search:hover { background: rgb(255 255 255 / 0.09); }
.rail-add {
border-radius: var(--radius-md); color: var(--on-primary); background: rgb(var(--a-500)); font-family: var(--font-body); font-weight: 700;
box-shadow: var(--key) rgb(var(--a-700)), inset 0 1px 0 rgb(255 255 255 / 0.22);
transition-property: transform, background-color, box-shadow; transition-duration: 0.14s;
}
.rail-add:hover { background: rgb(var(--a-400)); }
.rail-add:active { transform: translateY(2px); box-shadow: 0 0 0 rgb(var(--a-700)); }
.rail-add .kbd { color: var(--on-primary); background: rgb(0 0 0 / 0.14); border-color: rgb(0 0 0 / 0.2); }
.rail-link { border-radius: var(--radius-md); font-family: var(--font-body); font-weight: 560; font-size: 0.95rem; }
.rail-link:hover { background: rgb(255 255 255 / 0.06); }
.rail-link:hover svg { transform: none; }
.rail-link.is-active { font-weight: 650; }
.rail-link.is-active svg { color: rgb(var(--a-400)); }
.rail-indicator { border-radius: var(--radius-md); background: rgb(255 255 255 / 0.08); box-shadow: inset 2px 0 0 rgb(var(--a-500)); }
.user-trigger { border-radius: var(--radius-lg); background: rgb(255 255 255 / 0.05); box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.08); }
.user-chip > span, .user-chip-img { border-radius: var(--radius-md); background: rgb(var(--a-500)); color: var(--on-primary); }
.nav-badge { border-radius: var(--radius-sm); background: rgb(var(--a-500)); color: var(--on-primary); font-size: 0.68rem; }
.dash-bell-dot { background: rgb(var(--a-500)); color: var(--on-primary); border-radius: var(--radius-sm); font-family: var(--font-figure); }
.user-menu, .dash-menu, .an-menu {
border-radius: var(--radius-lg);
background: color-mix(in srgb, var(--card) 90%, transparent); -webkit-backdrop-filter: blur(18px) saturate(1.5); backdrop-filter: blur(18px) saturate(1.5);
box-shadow: 0 0 0 1px var(--border-strong), inset 0 1px 0 rgb(255 255 255 / 0.12), 0 24px 48px -16px rgb(0 0 0 / 0.5);
}
.user-menu-item { border-radius: var(--radius-sm); font-weight: 560; }
.user-menu-item:hover, .user-menu-item:focus-visible { background: var(--muted); }
.mobile-bar { background: rgb(11 14 12 / 0.78); border-bottom-color: rgb(255 255 255 / 0.07); box-shadow: none; }
.bottom-nav {
inset: auto 0.6rem calc(0.55rem + env(safe-area-inset-bottom)) 0.6rem;
padding: 0.3rem; border-radius: 1.5rem;
background: rgb(14 18 15 / 0.82); -webkit-backdrop-filter: saturate(1.6) blur(20px); backdrop-filter: saturate(1.6) blur(20px);
box-shadow: 0 0 0 1px rgb(255 255 255 / 0.1), inset 0 1px 0 rgb(255 255 255 / 0.12), 0 18px 40px -14px rgb(0 0 0 / 0.7);
}
.bottom-nav-link { border-radius: 1.1rem; font-family: var(--font-body); font-size: 0.64rem; font-weight: 600; color: #a2aca5; }
.bottom-nav-pill { border-radius: 0.9rem; background: rgb(255 255 255 / 0.1); box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.1); }
.bottom-nav-add span {
border-radius: 1rem; color: var(--on-primary); background: rgb(var(--a-500));
box-shadow: 0 0 0 4px rgb(14 18 15 / 0.9), var(--key) rgb(var(--a-700)), inset 0 1px 0 rgb(255 255 255 / 0.25);
}
.bottom-nav .nav-badge { color: var(--on-primary); }
@media (max-width: 767.98px) { .app-main { padding-bottom: calc(7rem + env(safe-area-inset-bottom)); } }
.more-sheet-panel, .app-modal-panel, .modal-card, .ui-dialog {
background: color-mix(in srgb, var(--card) 94%, transparent); -webkit-backdrop-filter: blur(22px) saturate(1.4); backdrop-filter: blur(22px) saturate(1.4);
}
.more-sheet-panel { border-radius: 1.4rem 1.4rem 0 0; }
.more-tile { border-radius: var(--radius-lg); font-family: var(--font-body); background: var(--card-sunken); }
.more-tile svg { color: rgb(var(--a-500)); }
.app-modal-backdrop, .ui-dialog-backdrop, #searchModal, .more-sheet-backdrop { background: rgb(6 9 7 / 0.62); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); }
.app-modal-panel, .modal-card { border: 0; border-radius: 1.4rem 1.4rem 0 0; box-shadow: 0 0 0 1px var(--border-strong), var(--shadow-lg); }
.app-modal-panel::before {
inset: 0.5rem 50% auto auto; translate: 50% 0; width: 2.5rem; height: 0.28rem; border-radius: 9999px; background: var(--border-strong);
}
@media (min-width: 40rem) {
.app-modal-panel, .modal-card, .ui-dialog { border-radius: var(--radius-xl); }
.app-modal-panel::before { inset: 0 1.4rem auto 1.4rem; translate: 0; width: auto; height: 2px; border-radius: 0 0 2px 2px; background: rgb(var(--a-500)); }
}
.app-modal-header { background: transparent; }
.app-modal-eyebrow { font-family: var(--font-body); letter-spacing: 0.02em; text-transform: none; font-size: 0.8rem; }
.app-modal-title { font-weight: 750; letter-spacing: -0.035em; }
.app-modal-close { border-radius: var(--radius-md); background: var(--card-sunken); }
.app-modal-close:hover { transform: none; }
.app-modal-close:active { transform: scale(0.94); }
.app-modal-footer { box-shadow: 0 -1px 0 var(--border); }
.ui-dialog { border: 0; box-shadow: 0 0 0 1px var(--border-strong), var(--shadow-lg); }
.ui-dialog-icon { border-radius: var(--radius-md); }
#searchModal .search-container { border-radius: var(--radius-xl); background: color-mix(in srgb, var(--card) 94%, transparent); -webkit-backdrop-filter: blur(22px); backdrop-filter: blur(22px); }
.search-result-item { border-radius: var(--radius-md); }
.search-result-item .icon-box { border-radius: var(--radius-md); }
.kbd { border-radius: 0.3rem; font-family: var(--font-figure); }
.toast { border-radius: var(--radius-lg); background: color-mix(in srgb, var(--card) 94%, transparent); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.toast-icon { border-radius: var(--radius-sm); }
.quick-add-item, .quick-add-icon { border-radius: var(--radius-lg); }
.quick-add-icon { border-radius: var(--radius-md); }
.dash-tile { border-radius: var(--radius-lg); background: var(--card); box-shadow: 0 0 0 1px var(--border), var(--lift-1); padding: 1rem 1.1rem; }
.dash-panel { padding: 1.1rem 1.2rem; }
.dash-label { font-size: 0.8rem; font-weight: 550; }
.dash-value { font-size: 1.55rem; font-weight: 600; }
.dash-value small { font-family: var(--font-body); letter-spacing: 0; }
.dash-hello { font-family: var(--font-display); letter-spacing: -0.045em; font-weight: 750; }
.dash-total {
color: #eef2ec; border-radius: var(--radius-lg);
background:
radial-gradient(rgb(255 255 255 / 0.1) 1px, transparent 1.3px) 0 0 / 14px 14px,
linear-gradient(160deg, #161b17, #0b0e0c);
box-shadow: 0 0 0 1px rgb(255 255 255 / 0.08), inset 0 1px 0 rgb(255 255 255 / 0.08), 0 20px 36px -22px rgb(0 0 0 / 0.7);
}
.dash-total::after {
content: ''; position: absolute; inset: auto 0 0 0; height: 2px; background: rgb(var(--a-500));
}
.dash-big { font-family: var(--font-display); font-weight: 700; letter-spacing: -0.05em; color: rgb(var(--a-400)); }
.dash-big small { font-family: var(--font-body); letter-spacing: 0; color: rgb(238 242 236 / 0.6); }
.dash-month label, .dash-chip { border-radius: var(--radius-sm); }
.dash-act { border-radius: var(--radius-lg); }
.dash-act.is-primary {
color: var(--on-primary); background: rgb(var(--a-500));
box-shadow: var(--key) rgb(var(--a-700)), inset 0 1px 0 rgb(255 255 255 / 0.22);
}
.dash-act.is-primary:active { translate: 0 2px; scale: 1; box-shadow: 0 0 0 rgb(var(--a-700)); }
.is-primary .dash-act-icon { color: var(--on-primary); background: rgb(0 0 0 / 0.14); }
.is-primary .dash-act-text small { color: color-mix(in srgb, var(--on-primary) 78%, transparent); }
.dash-act-icon { border-radius: var(--radius-md); }
.dash-act:not(.is-primary):active { scale: 0.98; }
.dash-pill { border-radius: var(--radius-lg); }
.dash-pill-icon { border-radius: var(--radius-md); }
.dash-fuel-tag, .dash-fuel-pills button { border-radius: 9999px; }
.dash-tx-mark { border-radius: var(--radius-md); }
.dash-tx-row { border-bottom: 1px dashed var(--border); }
.dash-tx-row:last-child { border-bottom: 0; }
.dash-st-nav { border-radius: var(--radius-md); }
.dash-row-icon, .dash-last-logo:not(.fuel-logo) { border-radius: var(--radius-md); }
.dash-last-now { border-radius: var(--radius-md); }
.dash-st-price strong, .dash-last-total strong { font-weight: 600; }
@media (min-width: 48rem) {
.dash-bento {
grid-template-columns: 1.4fr 1fr 1fr 1fr;
grid-template-areas: 'total total cons rep' 'total total price cost' 'add gasto gasto map';
}
}
:root .an-tile {
border-radius: var(--radius-lg); -webkit-backdrop-filter: none; backdrop-filter: none;
background: var(--card); box-shadow: 0 0 0 1px var(--border), var(--lift-1);
}
:root .an-label { font-family: var(--font-body); font-weight: 550; }
:root .an-num, :root .an-bignum { font-family: var(--font-display); font-weight: 700; letter-spacing: -0.045em; }
:root .an-pill, :root .an-export { border-radius: var(--radius-md); background: var(--card); box-shadow: 0 0 0 1px var(--border-strong), var(--key) var(--border-strong); }
:root .an-pill:active, :root .an-export:active { translate: 0 2px; scale: 1; box-shadow: 0 0 0 1px var(--border-strong); }
:root .an-live { border-radius: var(--radius-md); }
:root .an-opt, :root .an-dates input, :root .an-apply { border-radius: var(--radius-sm); }
:root .an-apply { color: var(--on-primary); box-shadow: var(--key) rgb(var(--a-700)); }
:root .an-step-bar, :root .an-bars li, :root .an-meter { border-radius: var(--radius-sm); }
:root .an-chip { border-radius: var(--radius-sm); }
:root .an-list li, :root .an-bars li { border-bottom: 0; }
@media (prefers-reduced-motion: reduce) {
.btn-primary, .btn-secondary, .rail-add, .dash-act { transition: none; }
}
@media (prefers-reduced-transparency: reduce) {
.user-menu, .dash-menu, .an-menu, .bottom-nav, .more-sheet-panel, .app-modal-panel, .modal-card, .ui-dialog, .toast, #searchModal .search-container {
-webkit-backdrop-filter: none; backdrop-filter: none; background: var(--card);
}
.bottom-nav { background: #0e120f; }
}
.dash-total label, .dash-total select { color: inherit; margin: 0; }
.st-card, .acct-card, .acct-stat, .fuel-bar, .fuel-board-summary, .fuel-map-wrap, .trip-box, .trip-card, .rt-card, .mk-card, .vehicle-shell-card,
.public-vehicle-card, .doc-card-premium, .ex-place-list { border-radius: var(--radius-lg); }
.gv-media { border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
.fuel-sheet-panel, .ex-sheet { border-radius: var(--radius-xl); }
.rounded-3xl { border-radius: var(--radius-xl); }
.rounded-2xl { border-radius: var(--radius-lg); }
.gv-add-icon, .pw-icon { border-radius: var(--radius-md); }
.rf-kpi { flex-direction: column; align-items: flex-start; gap: 0.7rem; padding: 1.1rem 1.25rem; border-radius: var(--radius-lg); box-shadow: 0 0 0 1px var(--border), var(--lift-1); }
.rf-kpi-icon, .dark .rf-kpi-icon { width: auto; height: auto; border-radius: 0; background: none; box-shadow: none; filter: none; color: rgb(var(--a-500)); }
.rf-kpi-label { font-weight: 550; letter-spacing: 0; }
.rf-kpi-value { font-family: var(--font-figure); font-weight: 600; letter-spacing: -0.05em; }
@media (min-width: 48rem) {
.rf-kpis.kpi-grid-3 { grid-template-columns: 1.5fr 1fr 1fr; }
.rf-kpis .rf-kpi:first-child .rf-kpi-value { font-size: clamp(1.9rem, 1.4rem + 1.4vw, 2.5rem); }
}
.st-hero {
border-radius: var(--radius-lg); color: #eef2ec; position: relative; overflow: hidden;
background: radial-gradient(rgb(255 255 255 / 0.1) 1px, transparent 1.3px) 0 0 / 14px 14px, linear-gradient(160deg, #161b17, #0b0e0c);
box-shadow: 0 0 0 1px rgb(255 255 255 / 0.08), inset 0 1px 0 rgb(255 255 255 / 0.08), 0 20px 36px -22px rgb(0 0 0 / 0.7);
}
.st-hero::after { content: ''; position: absolute; inset: auto 0 0 0; height: 2px; background: rgb(var(--a-500)); }
.st-eyebrow { font-family: var(--font-body); font-size: 0.8rem; font-weight: 550; letter-spacing: 0; text-transform: none; color: rgb(238 242 236 / 0.66); }
.st-big { font-family: var(--font-display); font-weight: 700; letter-spacing: -0.05em; }
.st-big:not(.is-empty) { color: rgb(var(--a-400)); }
.st-hero .st-big.is-money { color: #eef2ec; }
.st-ico { border-radius: var(--radius-md); color: rgb(var(--a-500)); background: rgb(var(--a-500) / 0.1); box-shadow: none; }
.st-track { border-radius: 2px; height: 0.4rem; background: var(--muted); }
.st-fill { border-radius: 2px; background: rgb(var(--a-500)); }
.st-row-val { font-family: var(--font-figure); font-weight: 600; letter-spacing: -0.05em; }
.st-seg { border-radius: 9999px; }
.st-badge { border-radius: var(--radius-sm); }
@media (min-width: 48rem) {
:root .an-kpi:nth-of-type(1) { grid-column: span 4; }
:root .an-kpi:nth-of-type(2), :root .an-kpi:nth-of-type(4) { grid-column: span 3; }
:root .an-kpi:nth-of-type(3) { grid-column: span 2; }
:root .an-kpi:nth-of-type(1) .an-num { font-size: 3rem; }
:root .an-kpi:nth-of-type(3) .an-label svg { display: none; }
}
.login-shell { background: var(--ink); }
.login-shell::before {
inset: 0; left: 0; top: 0; width: auto; aspect-ratio: auto; transform: none; border-radius: 0; animation: none; opacity: 1;
-webkit-mask: radial-gradient(70% 60% at 50% 45%, #000, transparent); mask: radial-gradient(70% 60% at 50% 45%, #000, transparent);
-webkit-mask-composite: initial; mask-composite: initial;
background: radial-gradient(rgb(255 255 255 / 0.16) 1px, transparent 1.3px) 0 0 / 22px 22px;
}
.login-shell::after { height: 2px; opacity: 1; background: rgb(var(--a-500)); -webkit-mask-image: none; mask-image: none; }
.login-card {
background: #121713; border-radius: var(--radius-lg); -webkit-backdrop-filter: none; backdrop-filter: none;
box-shadow: 0 0 0 1px rgb(255 255 255 / 0.1), 0 30px 70px -24px rgb(0 0 0 / 0.9);
}
.login-card::after { inset: 0 auto auto 1.5rem; width: 3rem; height: 3px; border-radius: 0 0 3px 3px; background: rgb(var(--a-500)); }
.auth-title { font-family: var(--font-display); font-size: 1.6rem; font-weight: 750; letter-spacing: -0.04em; }
.auth-flash { border-radius: var(--radius-md); }
.auth-eye { border-radius: var(--radius-sm); }
.auth-back { border-radius: var(--radius-md); }
.auth-done-icon { border-radius: var(--radius-md); }
.auth-meter-bar, .auth-meter-bar span { border-radius: 2px; }
@media (max-width: 47.99rem) {
.rf-kpi { flex-direction: row; align-items: center; gap: 0.85rem; padding: 0.85rem 1rem; }
}
@media (min-width: 64rem) {
.login-shell { justify-content: flex-start; padding-left: clamp(2rem, 11vw, 11rem); overflow: hidden; }
.login-shell > div { position: relative; }
.login-shell > div::before {
content: '0,000'; content: '0,000' / '';
position: absolute; left: calc(100% + 5vw); top: 50%; translate: 0 -50%;
font: 500 clamp(6rem, 15vw, 17rem)/1 var(--font-figure); letter-spacing: -0.08em; white-space: nowrap;
color: transparent; -webkit-text-stroke: 1px rgb(255 255 255 / 0.13); pointer-events: none; user-select: none;
}
}
.ex-d-price, .ex-row-price, .ex-row-price strong, .fuel-best-price, .fuel-card-price, .fuel-pop-price, .fuel-price-num {
font-family: var(--font-figure); font-variant-numeric: tabular-nums; letter-spacing: -0.05em;
}
.ex-search, .ex-btn, .ex-more, .ex-back, .ex-live, .ex-best { border-radius: var(--radius-md); }
.ex-tier, .ex-d-meta span, .ex-links a { border-radius: var(--radius-sm); }
.dash-hello-name { font-style: normal; color: rgb(var(--a-500)); }
.dash-total-fx { position: absolute; right: 1.1rem; bottom: -0.6rem; z-index: 0; pointer-events: none; user-select: none; line-height: 1; }
.dash-total-fx b { font: 500 clamp(6rem, 12vw, 9.5rem)/1 var(--font-figure); color: transparent; -webkit-text-stroke: 1px rgb(255 255 255 / 0.12); }
.dash-total > :not(.dash-total-fx) { position: relative; z-index: 1; }
.dash-act-go { margin-left: auto; display: grid; place-items: center; flex: none; opacity: 0.7; transition: translate 0.16s var(--ease-out); }
.dash-act:hover .dash-act-go { translate: 2px -2px; }
@media (max-width: 39.99rem) {
.login-shell { align-items: flex-start; padding: 0; background-image: none; }
.login-shell > div { max-width: none; }
.login-card {
min-height: 100dvh; padding: 0.4rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom)) !important;
border-radius: 0; box-shadow: none; background: transparent;
}
.login-card::after { left: 1.25rem; }
.login-card .auth-back { margin: 0.4rem 0 0 -0.6rem; min-height: 2.5rem; font-size: 0.84rem; }
.login-card > .text-center { text-align: left; margin: 0.6rem 0 1.35rem; }
.login-card .brand-lockup { margin: 0 0 1.1rem; gap: 0.5rem; }
.login-card .brand-lockup img { height: 2.1rem; width: auto; }
.login-card .brand-wordmark { font-size: 1.25rem; }
.login-card .auth-title { font-size: 1.75rem; line-height: 1.05; margin: 0 0 0.4rem; }
.login-card > .text-center p { font-size: 0.9rem; line-height: 1.4; margin: 0; color: var(--muted-foreground); }
.login-card .space-y-5 > :not([hidden]) ~ :not([hidden]) { margin-top: 0.8rem; }
.login-card .form-label, .login-card label { margin-bottom: 0.3rem; font-size: 0.8rem; }
.login-card .input-field { min-height: 2.75rem; padding-block: 0.5rem; font-size: 1rem; }
.login-card .auth-link { min-height: 2rem; font-size: 0.78rem; }
.login-card .auth-label-row { align-items: center; }
.login-card .auth-check { font-size: 0.8rem; gap: 0.55rem; }
.login-card .btn-primary { min-height: 3rem; margin-top: 0.2rem; }
.login-card .auth-flash { margin-bottom: 0.9rem; padding: 0.6rem 0.8rem; font-size: 0.82rem; }
.login-card .auth-switch { margin-top: 1.1rem; font-size: 0.86rem; }
.login-card .auth-switch-sm { margin-top: 0.1rem; font-size: 0.78rem; }
.login-card .auth-meter { margin-top: 0.45rem; }
.login-shell .auth-switch { padding: 0.5rem 1.25rem 0; margin: 0; justify-content: flex-start; font-size: 0.78rem; }
.login-shell > div > .auth-switch { position: relative; margin-top: -3rem; padding-bottom: 1rem; }
}
@media (max-width: 39.99rem) {
.login-card .auth-switch { justify-content: flex-start; padding: 0; margin-top: 1rem; }
.login-card .auth-switch-sm { margin-top: 0; }
.login-shell > div > .auth-switch a { color: var(--muted-foreground); font-weight: 500; }
}
.pw-card { border-radius: var(--radius-xl); background: color-mix(in srgb, var(--card) 92%, transparent); box-shadow: 0 0 0 1px var(--border-strong), var(--shadow-lg), inset 0 1px 0 rgb(255 255 255 / 0.1); }
.pw-stage { border-radius: var(--radius-xl); }
.pw-icon { border-radius: var(--radius-md); color: rgb(var(--a-500)); }
.pw-eyebrow { font-family: var(--font-body); font-size: 0.78rem; font-weight: 600; letter-spacing: 0; text-transform: none; }
.pw-card h1 { font-family: var(--font-display); font-weight: 750; letter-spacing: -0.04em; }
.pw-points svg { color: rgb(var(--a-500)); }
.pw-close { border-radius: var(--radius-md); }
.pub-cta { border-radius: var(--radius-md); }
.pub-cta-block { box-shadow: var(--key) rgb(var(--a-700)), inset 0 1px 0 rgb(255 255 255 / 0.22); color: var(--on-primary); }
.pub-cta-block:active { transform: translateY(2px); box-shadow: 0 0 0 rgb(var(--a-700)); }
.bottom-nav-guest .bottom-nav-link.is-active, .bottom-nav-guest .bottom-nav-link.is-viewing { color: #fff; background: rgb(255 255 255 / 0.1); box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.1); }
.bottom-nav-guest .bottom-nav-link.is-viewing svg:not(.bn-lock svg), .bottom-nav-guest .bottom-nav-link.is-active svg { color: rgb(var(--a-400)); }
.bottom-nav-guest .bottom-nav-link.is-locked:active { color: #fff; background: rgb(255 255 255 / 0.07); }
.bottom-nav-guest .bottom-nav-link.is-locked.is-viewing .bn-lock { opacity: 0.9; }
.pw-secondary:active, .pw-back:active, .pw-close:active { background: var(--muted); color: var(--foreground); scale: 0.97; }
.pub-cta:active { scale: 0.98; }
@media (max-width: 47.99rem) {
.mobile-bar { background: rgb(11 14 12 / 0.94); }
.pw-stage {
margin-inline: calc(var(--page-pad) * -1); border-radius: 0; place-items: end center;
min-height: calc(100dvh - 4.75rem - 6.25rem - env(safe-area-inset-bottom));
}
.pw-mock { padding: 0.9rem; filter: blur(6px) saturate(0.9); }
.pw-scrim { background: linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--background) 55%, transparent) 38%, var(--background) 82%); }
.pw-card {
width: calc(100% - 1.5rem); margin: 0 0 0.25rem; padding: 1.35rem 1.15rem 0.9rem; text-align: left;
border-radius: 1.4rem; background: color-mix(in srgb, var(--card) 96%, transparent);
}
.pw-icon { width: 2.6rem; height: 2.6rem; margin: 0 0 0.8rem; }
.pw-icon svg { width: 1.25rem; height: 1.25rem; }
.pw-close { top: 0.65rem; right: 0.65rem; width: 2.75rem; height: 2.75rem; }
.pw-eyebrow { margin-bottom: 0.35rem; font-size: 0.74rem; }
.pw-card h1 { margin-bottom: 0.4rem; font-size: 1.5rem; line-height: 1.08; }
.pw-text { margin: 0 0 0.9rem; max-width: none; font-size: 0.88rem; line-height: 1.4; }
.pw-points { margin-bottom: 1.1rem; gap: 0.45rem; }
.pw-points li { font-size: 0.84rem; line-height: 1.3; gap: 0.5rem; }
.pw-actions { justify-items: stretch; gap: 0.2rem; }
.pub-cta-block { min-height: 3rem; justify-content: center; }
.pw-secondary { justify-content: center; min-height: 2.75rem; }
.pw-back { justify-content: center; width: 100%; margin-top: 0; min-height: 2.75rem; }
}
:root .acct { gap: 0.8rem; }
:root .acct-card { border-radius: var(--radius-lg); box-shadow: 0 0 0 1px var(--border), var(--lift-1); }
:root .acct-hero {
gap: 0.95rem; padding: 1.1rem; color: #eef2ec; -webkit-backdrop-filter: none; backdrop-filter: none;
background: radial-gradient(rgb(255 255 255 / 0.1) 1px, transparent 1.3px) 0 0 / 14px 14px, linear-gradient(160deg, #161b17, #0b0e0c);
box-shadow: 0 0 0 1px rgb(255 255 255 / 0.08), inset 0 1px 0 rgb(255 255 255 / 0.08), 0 18px 32px -22px rgb(0 0 0 / 0.7);
}
:root .acct-hero::after { content: ''; position: absolute; inset: auto 0 0 0; height: 2px; background: rgb(var(--a-500)); }
:root .acct-avatar { width: 3.6rem; height: 3.6rem; border-radius: var(--radius-md); font-size: 1.5rem; color: var(--on-primary); background: rgb(var(--a-500)); box-shadow: var(--key) rgb(var(--a-700)); }
:root .acct-avatar img { border-radius: inherit; }
:root .acct-avatar-edit { right: -0.4rem; bottom: -0.4rem; width: 1.5rem; height: 1.5rem; border-radius: var(--radius-sm); color: var(--foreground); background: var(--card); }
:root .acct-id h1 { font: 750 1.3rem/1.1 var(--font-display); letter-spacing: -0.035em; color: #eef2ec; }
:root .acct-mail { color: rgb(238 242 236 / 0.66); font-size: 0.84rem; }
:root .acct-meta { color: rgb(238 242 236 / 0.55); font-size: 0.74rem; }
:root .acct-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.55rem; }
:root .acct-stats .acct-stat:first-child { grid-column: 1 / -1; }
:root .acct-stat { padding: 0.85rem 0.95rem; border-radius: var(--radius-lg); box-shadow: 0 0 0 1px var(--border), var(--lift-1); }
:root .acct-stat b { font: 600 1.6rem/1 var(--font-figure); letter-spacing: -0.05em; }
:root .acct-stat span { margin-top: 0.45rem; font-size: 0.74rem; }
@media (min-width: 48rem) {
:root .acct-stats { grid-template-columns: 1.4fr 1fr 1fr 1fr; }
:root .acct-stats .acct-stat:first-child { grid-column: auto; }
}
:root .acct-section { padding: 1rem; gap: 0.85rem; }
:root .acct-section > header h2 { font: 700 1.05rem/1.2 var(--font-display); letter-spacing: -0.025em; }
:root .acct-section > header p { font-size: 0.82rem; }
:root .acct-field label { font-weight: 600; }
:root .acct-input { border-radius: var(--radius-md); background: var(--card-sunken); border: 1px solid var(--border-strong); box-shadow: inset 0 1px 2px rgb(14 30 22 / 0.07); }
:root .acct-input:focus { border-color: rgb(var(--a-500)); box-shadow: 0 0 0 3px rgb(var(--a-500) / 0.2); background: var(--card); }
:root .acct-photo .btn-secondary { min-height: 44px; }
:root .acct-rows { border-radius: var(--radius-md); box-shadow: inset 0 0 0 1px var(--border); }
:root .acct-row { min-height: 3.2rem; padding: 0.65rem 0.85rem; }
:root .acct-row + .acct-row { box-shadow: none; border-top: 1px dashed var(--border-strong); }
:root .acct-row:active { background: var(--muted); }
:root .acct-row-text strong { font-weight: 600; }
:root .seg { padding: 3px; border-radius: var(--radius-md); background: var(--card-sunken); box-shadow: inset 0 0 0 1px var(--border); }
:root .seg-opt span { min-height: 38px; border-radius: 0.4rem; font-family: var(--font-body); font-size: 0.84rem; }
:root .seg-opt input:checked + span { color: var(--card); background: var(--foreground); box-shadow: none; }
:root .seg-opt:active span { scale: 0.97; }
:root .stepper { border-radius: var(--radius-md); background: var(--card-sunken); box-shadow: inset 0 0 0 1px var(--border); }
:root .stepper input { background: transparent; font: 600 1.1rem/1 var(--font-figure); }
:root .stepper button:active { background: rgb(var(--a-500) / 0.16); }
:root .swatch i { box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.18); }
:root .swatch input:checked + i { box-shadow: 0 0 0 3px var(--card), 0 0 0 5px rgb(var(--c)); transform: none; }
:root .acct-save { min-height: 46px; }
:root .acct-spin { border-color: color-mix(in srgb, var(--on-primary) 35%, transparent); border-top-color: var(--on-primary); }
:root .acct-logout { border-radius: var(--radius-md); min-height: 46px; border: 1px solid rgb(229 72 77 / 0.3); background: transparent; }
:root .acct-logout:active { background: rgb(229 72 77 / 0.12); }
:root .acct-danger { box-shadow: 0 0 0 1px rgb(229 72 77 / 0.35); background: var(--card); }
:root .acct-danger-btn { border-radius: var(--radius-md); }
:root .acct-danger-btn:not(:disabled):active { background: #e5484d; color: #fff; }
@media (max-width: 47.99rem) {
:root .acct-stats .acct-stat:first-child { display: flex; align-items: center; justify-content: space-between; flex-direction: row-reverse; }
:root .acct-stats .acct-stat:first-child span { margin-top: 0; font-size: 0.84rem; }
}
:root .acct-section form.acct { width: 100%; max-width: none; margin: 0; padding-bottom: 0; gap: 0.85rem; }
html, body { overflow-x: clip; }
.app-main, .app-content { min-width: 0; max-width: 100%; }
.st-row-top { min-width: 0; }
.st-row-name { min-width: 0; flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; }
.st-row-val { flex: 0 0 auto; white-space: nowrap; }
.bottom-nav i[data-lucide] { display: block; flex: none; width: 24px; height: 24px; }
:root {
--ease-out-expo: var(--ease-smooth-out);
--ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
--ease-in-out-smooth: cubic-bezier(0.65, 0, 0.35, 1);
--ease-sheet: cubic-bezier(0.16, 1, 0.3, 1.025);
--duration-stagger: 40ms; --duration-micro: 80ms; --duration-quick: 150ms; --duration-fast: 250ms; --duration-medium: 350ms; --duration-slow: 400ms; --duration-very-slow: 500ms;
--ease-smooth-out: cubic-bezier(0.22, 1, 0.36, 1); --ease-bounce: cubic-bezier(0.34, 1.36, 0.64, 1);
--distance-micro: 4px; --distance-base: 8px; --distance-medium: 12px;
--scale-large: 0.96; --scale-medium: 0.97; --scale-small: 0.98; --scale-tiny: 0.99;
--blur-small: 2px; --blur-medium: 3px;
--ease: var(--ease-smooth-out);
--ease-out: var(--ease-smooth-out);
--t-press: 100ms;
--t-micro: var(--duration-quick);
--t-ui: 180ms;
--t-enter: var(--duration-fast);
--t-sheet: 420ms;
--stagger: var(--duration-stagger);
--lift-glow: 14 30 22;
--lift-edge: 255 255 255;
}
.dark { --lift-glow: 0 0 0; }
.transition, .transition-all, .transition-colors, .transition-opacity, .transition-shadow, .transition-transform { transition-timing-function: var(--ease-out-expo); }
.ease-in-out, .ease-in { transition-timing-function: var(--ease-in-out-smooth); }
.ease-out { transition-timing-function: var(--ease-out-expo); }
.duration-150 { transition-duration: 120ms; }
.duration-200 { transition-duration: 160ms; }
.duration-300 { transition-duration: 240ms; }
.duration-500 { transition-duration: 320ms; }
.duration-700 { transition-duration: 400ms; }
@keyframes pageEnter { from { opacity: 0; translate: 0 8px; } to { opacity: 1; translate: 0 0; } }
@keyframes pageFade { from { opacity: 0; } to { opacity: 1; } }
.animate-in { animation: none; }
.animate-in > *, .animate-in > :is(.vehicles-grid, .rutas-grid, .network-grid, .favorites-grid, .card-compact-grid, .kpi-grid-2, .kpi-grid-3, .kpi-grid-4, .stats-filter, .docs-grid-premium, .hub-feed, .grid.gap-4, .grid.gap-6, .dash-bento, .dash-below, .dash-col, .acct-stats, .an-grid) > *,
.dash-head > *, .dash-tile, .dash-panel, .dash-card { animation: pageEnter 300ms var(--ease-smooth-out) backwards; }
.animate-in > :is(.vehicles-grid, .rutas-grid, .network-grid, .favorites-grid, .card-compact-grid, .kpi-grid-2, .kpi-grid-3, .kpi-grid-4, .stats-filter, .docs-grid-premium, .hub-feed, .grid.gap-4, .grid.gap-6, .dash-bento, .dash-below, .dash-col, .acct-stats, .an-grid), .animate-in > .admin-bulk-bar { animation: none; }
.dash-tx-row, .dash-st-row { animation: pageEnter 300ms var(--ease-smooth-out) 220ms backwards; }
:is(.animate-in > *, .animate-in > :is(.vehicles-grid, .rutas-grid, .network-grid, .favorites-grid, .card-compact-grid, .kpi-grid-2, .kpi-grid-3, .kpi-grid-4, .stats-filter, .docs-grid-premium, .hub-feed, .grid.gap-4, .grid.gap-6, .dash-bento, .dash-below, .dash-col, .acct-stats, .an-grid) > *, .dash-head > *, .dash-tile, .dash-panel, .dash-card):nth-child(2) { animation-delay: calc(var(--stagger) * 1); }
:is(.animate-in > *, .animate-in > :is(.vehicles-grid, .rutas-grid, .network-grid, .favorites-grid, .card-compact-grid, .kpi-grid-2, .kpi-grid-3, .kpi-grid-4, .stats-filter, .docs-grid-premium, .hub-feed, .grid.gap-4, .grid.gap-6, .dash-bento, .dash-below, .dash-col, .acct-stats, .an-grid) > *, .dash-head > *, .dash-tile, .dash-panel, .dash-card):nth-child(3) { animation-delay: calc(var(--stagger) * 2); }
:is(.animate-in > *, .animate-in > :is(.vehicles-grid, .rutas-grid, .network-grid, .favorites-grid, .card-compact-grid, .kpi-grid-2, .kpi-grid-3, .kpi-grid-4, .stats-filter, .docs-grid-premium, .hub-feed, .grid.gap-4, .grid.gap-6, .dash-bento, .dash-below, .dash-col, .acct-stats, .an-grid) > *, .dash-head > *, .dash-tile, .dash-panel, .dash-card):nth-child(4) { animation-delay: calc(var(--stagger) * 3); }
:is(.animate-in > *, .animate-in > :is(.vehicles-grid, .rutas-grid, .network-grid, .favorites-grid, .card-compact-grid, .kpi-grid-2, .kpi-grid-3, .kpi-grid-4, .stats-filter, .docs-grid-premium, .hub-feed, .grid.gap-4, .grid.gap-6, .dash-bento, .dash-below, .dash-col, .acct-stats, .an-grid) > *, .dash-head > *, .dash-tile, .dash-panel, .dash-card):nth-child(5) { animation-delay: calc(var(--stagger) * 4); }
:is(.animate-in > *, .animate-in > :is(.vehicles-grid, .rutas-grid, .network-grid, .favorites-grid, .card-compact-grid, .kpi-grid-2, .kpi-grid-3, .kpi-grid-4, .stats-filter, .docs-grid-premium, .hub-feed, .grid.gap-4, .grid.gap-6, .dash-bento, .dash-below, .dash-col, .acct-stats, .an-grid) > *, .dash-head > *, .dash-tile, .dash-panel, .dash-card):nth-child(n+6) { animation-delay: calc(var(--stagger) * 5); }
:is(.dash-tx-row, .dash-st-row):nth-child(2) { animation-delay: calc(220ms + var(--stagger) * 1); }
:is(.dash-tx-row, .dash-st-row):nth-child(3) { animation-delay: calc(220ms + var(--stagger) * 2); }
:is(.dash-tx-row, .dash-st-row):nth-child(4) { animation-delay: calc(220ms + var(--stagger) * 3); }
:is(.dash-tx-row, .dash-st-row):nth-child(5) { animation-delay: calc(220ms + var(--stagger) * 4); }
:is(.dash-tx-row, .dash-st-row):nth-child(n+6) { animation-delay: calc(220ms + var(--stagger) * 5); }
@media (prefers-reduced-motion: reduce) {
.animate-in > :not(:is(.vehicles-grid, .rutas-grid, .network-grid, .favorites-grid, .card-compact-grid, .kpi-grid-2, .kpi-grid-3, .kpi-grid-4, .stats-filter, .docs-grid-premium, .hub-feed, .grid.gap-4, .grid.gap-6, .dash-bento, .dash-below, .dash-col, .acct-stats, .an-grid), .admin-bulk-bar), .animate-in > :is(.vehicles-grid, .rutas-grid, .network-grid, .favorites-grid, .card-compact-grid, .kpi-grid-2, .kpi-grid-3, .kpi-grid-4, .stats-filter, .docs-grid-premium, .hub-feed, .grid.gap-4, .grid.gap-6, .dash-bento, .dash-below, .dash-col, .acct-stats, .an-grid) > *, .dash-head > *, .dash-tile, .dash-panel, .dash-card, .dash-tx-row, .dash-st-row { animation-name: pageFade !important; animation-duration: 240ms !important; }
}
.btn-primary, .btn-secondary, .btn-ghost, .btn-danger, .icon-action-btn, .sidebar-mini-link, .pub-cta, .pw-secondary, .pw-back, .pw-close,
.dash-act, .dash-pill, .dash-tool, .dash-fuel-pills button, .dash-fuel-tag, .dash-st-nav, .dash-bell, .an-pill, .an-export, .an-apply,
.rail-link, .rail-add, .rail-search, .bottom-nav-link, .bottom-nav-add span, .more-tile, .quick-add-item, .user-trigger, .mobile-bar-btn,
.section-tabs a, .calc-tabs a, .rutas-tabs a, .seg-opt span, .stepper button, .acct-logout, .acct-danger-btn, .acct-avatar, .rf-add, .app-modal-close {
transition: scale 220ms var(--ease-spring), translate 220ms var(--ease-spring),
background-color var(--t-micro) var(--ease-out-expo), border-color var(--t-micro) var(--ease-out-expo),
color var(--t-micro) var(--ease-out-expo), box-shadow var(--t-ui) var(--ease-out-expo);
-webkit-tap-highlight-color: transparent;
}
.btn-primary:active:not(:disabled), .btn-secondary:active:not(:disabled), .btn-ghost:active:not(:disabled), .btn-danger:active:not(:disabled),
.icon-action-btn:active, .sidebar-mini-link:active, .pub-cta:active, .pw-secondary:active, .pw-back:active, .pw-close:active,
.dash-act:active, .dash-pill:active, .dash-tool:active, .dash-fuel-pills button:active, .dash-fuel-tag:active, .dash-st-nav:active, .dash-bell:active,
.an-pill:active, .an-export:active, .an-apply:active, .rail-link:active, .rail-add:active, .rail-search:active, .bottom-nav-link:active,
.bottom-nav-add:active span, .more-tile:active, .quick-add-item:active, .user-trigger:active, .mobile-bar-btn:active,
.section-tabs a:active, .calc-tabs a:active, .rutas-tabs a:active, .seg-opt:active span, .stepper button:active, .acct-logout:active, .acct-danger-btn:not(:disabled):active,
.acct-avatar:active, .rf-add:active, .app-modal-close:active {
scale: 0.96; transform: none;
transition-duration: var(--t-press), var(--t-press), var(--t-micro), var(--t-micro), var(--t-micro), var(--t-press);
transition-timing-function: var(--ease-out-expo);
}
.btn-primary:active:not(:disabled), .btn-secondary:active:not(:disabled), .btn-danger:active:not(:disabled), .rail-add:active, .dash-act.is-primary:active, .pub-cta-block:active { translate: 0 1px; }
.dash-act.is-primary:active { scale: 0.96; }
.bottom-nav-link:active, .rail-link:active { scale: 0.94; }
.bottom-nav-link:active svg { transform: none; }
.card:is(a, .record-card, .vehicle-shell-card), .dash-tile, .dash-card, .compact-kpi-card, .acct-stat, .an-kpi, .spec-card, .public-vehicle-card, .rf-kpi, .quick-add-item, .more-tile {
position: relative;
transition: translate 280ms var(--ease-out-expo), scale 220ms var(--ease-spring), background-color var(--t-micro) var(--ease-out-expo), border-color var(--t-micro) var(--ease-out-expo);
}
.card:is(a, .record-card, .vehicle-shell-card)::before, .dash-tile::before, .dash-card::before, .compact-kpi-card::before, .acct-stat::before, .an-kpi::before,
.spec-card::before, .public-vehicle-card::before, .rf-kpi::before, .quick-add-item::before {
display: block; content: ''; position: absolute; inset: 0; z-index: 0; border-radius: inherit; pointer-events: none; opacity: 0;
background: linear-gradient(180deg, rgb(var(--lift-edge) / 0.1), transparent 38%);
box-shadow: inset 0 1px 0 rgb(var(--lift-edge) / 0.55), inset 0 0 0 1px rgb(var(--lift-edge) / 0.14), 0 24px 38px -20px rgb(var(--lift-glow) / 0.42);
transition: opacity 280ms var(--ease-out-expo);
}
.dark .card:is(a, .record-card, .vehicle-shell-card)::before, .dark .dash-tile::before, .dark .dash-card::before, .dark .compact-kpi-card::before, .dark .acct-stat::before,
.dark .an-kpi::before, .dark .spec-card::before, .dark .public-vehicle-card::before, .dark .rf-kpi::before, .dark .quick-add-item::before {
box-shadow: inset 0 1px 0 rgb(var(--lift-edge) / 0.14), inset 0 0 0 1px rgb(var(--lift-edge) / 0.05), 0 26px 40px -20px rgb(0 0 0 / 0.85);
}
@media (hover: hover) and (pointer: fine) {
.card:is(a, .record-card, .vehicle-shell-card):hover, .dash-tile:hover, .dash-card:hover, .compact-kpi-card:hover, .acct-stat:hover, .an-kpi:hover,
.spec-card:hover, .public-vehicle-card:hover, .rf-kpi:hover, .quick-add-item:hover, .more-tile:hover { translate: 0 -2px; }
.card:is(a, .record-card, .vehicle-shell-card):hover::before, .dash-tile:hover::before, .dash-card:hover::before, .compact-kpi-card:hover::before, .acct-stat:hover::before,
.an-kpi:hover::before, .spec-card:hover::before, .public-vehicle-card:hover::before, .rf-kpi:hover::before, .quick-add-item:hover::before { opacity: 1; }
.vehicle-shell-card:hover, .spec-card:hover, .public-vehicle-card:hover { transform: none; }
}
.card:is(a, .record-card):active, .dash-tile:active, .vehicle-shell-card:active { scale: 0.985; transition-duration: var(--t-press); }
.record-card, .dashboard-list-row, .dash-tx-row, .dash-st-row, .search-result-item, .ui-select-option, .user-menu-item, .acct-row {
transition: background-color var(--t-micro) var(--ease-out-expo), scale 200ms var(--ease-spring);
}
.record-card:active, .dashboard-list-row:active, .search-result-item:active { scale: 0.99; transition-duration: var(--t-press); }
.input-field, .acct-input, .calc-input input, .stepper input, .ui-select-button, .auth-pass {
transition: border-color var(--t-micro) var(--ease-out-expo), background-color var(--t-micro) var(--ease-out-expo), box-shadow 320ms var(--ease-spring);
}
.input-field:focus, .acct-input:focus, .calc-input input:focus, .ui-select-button[aria-expanded="true"] { box-shadow: 0 0 0 4px rgb(var(--a-500) / 0.2); }
.input-field:not(:focus):not(:hover), .acct-input:not(:focus) { box-shadow: 0 0 0 0 rgb(var(--a-500) / 0); }
.ui-select-chevron, .dash-pill-chevron, .an-chev, .dash-fold summary svg { transition: rotate 260ms var(--ease-spring), transform 260ms var(--ease-spring); }
.ios-switch i { transition: background-color var(--t-ui) var(--ease-out-expo); }
.ios-switch i::after {
width: 1.55rem; transform-origin: 0% 50%;
transition: transform 340ms var(--ease-spring), scale 200ms var(--ease-in-out-smooth);
}
.ios-switch input:checked + i::after { transform-origin: 100% 50%; }
.ios-switch input:active + i::after, .ios-switch input:checked:active + i::after { width: 1.55rem; scale: 1.18 1; }
.ios-switch input:checked:active + i::after { transform: translateX(1.25rem); }
.ios-switch.is-pop i::after { animation: knob-stretch 340ms var(--ease-in-out-smooth); }
.admin-switch-track { transition: background-color var(--t-ui) var(--ease-out-expo); }
.admin-switch-track::after { transform-origin: 0% 50%; transition: transform 340ms var(--ease-spring), scale 200ms var(--ease-in-out-smooth); }
.admin-switch input:checked + .admin-switch-track::after { transform-origin: 100% 50%; }
.admin-switch.is-pop .admin-switch-track::after { animation: knob-stretch 340ms var(--ease-in-out-smooth); }
@keyframes knob-stretch { 0% { scale: 1 1; } 38% { scale: 1.2 0.94; } 100% { scale: 1 1; } }
input[type='checkbox'], input[type='radio'] { transition: background-color var(--t-micro) var(--ease-out-expo), border-color var(--t-micro) var(--ease-out-expo), box-shadow 280ms var(--ease-spring); }
input.is-pop:checked { animation: check-pop 280ms var(--ease-spring); }
@keyframes check-pop { 0% { scale: 0.72; } 55% { scale: 1.14; } 100% { scale: 1; } }
.seg-opt.is-pop input:checked + span { animation: seg-pop 300ms var(--ease-spring); }
@keyframes seg-pop { 0% { scale: 0.94; } 60% { scale: 1.04; } 100% { scale: 1; } }
.swatch input:checked + i { transition: box-shadow 280ms var(--ease-spring), scale 280ms var(--ease-spring); }
.swatch.is-pop i { animation: check-pop 300ms var(--ease-spring); }
.an-menu, .dash-menu { filter: blur(var(--blur-small)); transition: opacity var(--t-ui) var(--ease-out-expo), scale 280ms var(--ease-out-expo), translate 280ms var(--ease-out-expo), filter 240ms var(--ease-out-expo); }
.an-menu.is-open, .dash-menu.is-open { filter: blur(0); }
.dash-menu { transform-origin: top left; }
.an-menu { transform-origin: top right; }
.ui-select-popover {
filter: blur(4px); transform: translateY(-6px) scale(0.96);
transition: opacity var(--t-ui) var(--ease-out-expo), transform 280ms var(--ease-out-expo), filter 240ms var(--ease-out-expo);
}
.ui-select-popover.opens-up { transform: translateY(6px) scale(0.96); }
.ui-select-popover.is-open { filter: blur(0); transform: none; }
.ui-select-option { transition: background-color var(--t-micro) var(--ease-out-expo), scale 200ms var(--ease-spring); }
.ui-select-check { transition: opacity var(--t-micro) var(--ease-out-expo), transform 300ms var(--ease-spring); }
.ui-select-sheet { transition: transform var(--t-sheet) var(--ease-sheet); }
.ui-select-sheet-overlay { transition: opacity 320ms var(--ease-out-expo); }
.ui-select-sheet-overlay.is-open { -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); animation: backdrop-bloom 420ms var(--ease-out-expo) backwards; }
.app-modal-overlay { transition-timing-function: var(--ease-out-expo); transition-duration: 260ms; }
.app-modal-overlay:not(.opacity-0) .app-modal-backdrop { animation: backdrop-bloom 420ms var(--ease-out-expo) backwards; }
.more-sheet-backdrop { animation: backdrop-bloom 420ms var(--ease-out-expo) backwards; }
@keyframes backdrop-bloom {
0%   { -webkit-backdrop-filter: blur(0); backdrop-filter: blur(0); }
35%  { -webkit-backdrop-filter: blur(1.5px); backdrop-filter: blur(1.5px); }
100% { -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); }
}
.ui-dialog { transition: transform 340ms var(--ease-spring); }
.ui-dialog-overlay { transition: opacity 220ms var(--ease-out-expo); }
@keyframes toast-in { 0% { opacity: 0; translate: 0 14px; scale: 0.95; filter: blur(4px); } 100% { opacity: 1; translate: 0 0; scale: 1; filter: blur(0); } }
@keyframes toast-in-top { 0% { opacity: 0; translate: 0 -14px; scale: 0.95; filter: blur(4px); } 100% { opacity: 1; translate: 0 0; scale: 1; filter: blur(0); } }
.toast { animation: toast-in 380ms var(--ease-spring) both; transition: opacity var(--t-ui) var(--ease-out-expo), transform var(--t-ui) var(--ease-in-out-smooth); }
@media (max-width: 767.98px) { .toast { animation-name: toast-in-top; } }
@keyframes calc-bloom {
0%   { filter: brightness(1.35) saturate(1.5); scale: 1.015; }
100% { filter: brightness(1) saturate(1); scale: 1; }
}
.calc-field.is-calculated { animation: calc-bloom 720ms var(--ease-out-expo); }
.calc-field .num-field { transition: color 700ms var(--ease-out-expo); }
@keyframes change-ink { from { color: rgb(var(--a-500)); } }
@keyframes change-ring { to { opacity: 0; } }
.is-changed { animation: change-ink 1400ms var(--ease-smooth-out) 120ms backwards; }
.record-card.is-new::after {
display: block; content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
background: rgb(var(--a-500) / 0.07); box-shadow: inset 0 0 0 2px rgb(var(--a-500));
animation: change-ring 1800ms var(--ease-smooth-out) 350ms both;
}
.record-card.is-leaving { opacity: 0; scale: var(--scale-medium); pointer-events: none; transition: opacity var(--duration-quick) var(--ease-smooth-out), scale var(--duration-quick) var(--ease-smooth-out); }
@media (prefers-reduced-motion: reduce) {
.is-changed { animation-duration: 1400ms !important; }
.record-card.is-new::after { animation-duration: 1800ms !important; }
.record-card.is-leaving { scale: none; }
}
.an-body { transition: opacity var(--t-ui) var(--ease-out-expo), filter var(--t-ui) var(--ease-out-expo); }
.an-body.is-loading { filter: blur(1.5px); }
.is-busy { transition: opacity var(--t-ui) var(--ease-out-expo); }
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
scroll-behavior: auto !important;
transition-property: opacity, color, background-color, border-color, fill, stroke !important;
transition-duration: 160ms !important;
transition-delay: 0s !important;
}
.btn-primary:active, .btn-secondary:active, .btn-ghost:active, .btn-danger:active, [class]:active { scale: none !important; translate: none !important; }
.card:hover, .dash-tile:hover, .dash-card:hover, .record-card:hover, [class]:hover { translate: none !important; }
.an-menu, .dash-menu, .ui-select-popover { filter: none !important; }
.toast { opacity: 1; }
.ui-select-sheet { transition: opacity 60ms linear !important; }
}
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: vt-out 120ms var(--ease-smooth-out) both; }
::view-transition-new(root) { animation: vt-in 180ms var(--ease-smooth-out) both; }
@keyframes vt-out { to   { opacity: 0; } }
@keyframes vt-in  { from { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
@view-transition { navigation: none; }
::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
}
:root {
--dropdown-open-dur: 250ms; --dropdown-close-dur: 150ms;
--modal-open-dur: 250ms; --modal-close-dur: 150ms;
--panel-open-dur: 400ms; --panel-close-dur: 350ms;
--toast-open: 350ms; --toast-close: 250ms;
--toggle-dur: 350ms; --toggle-ease: cubic-bezier(0.34, 1.35, 0.64, 1);
}
.an-menu, .dash-menu, .ui-select-popover {
filter: none; translate: none;
scale: var(--scale-medium);
transition: opacity var(--dropdown-close-dur) var(--ease-smooth-out), scale var(--dropdown-close-dur) var(--ease-smooth-out);
}
.an-menu.is-open, .dash-menu.is-open, .ui-select-popover.is-open {
filter: none; scale: 1;
transition: opacity var(--dropdown-open-dur) var(--ease-smooth-out), scale var(--dropdown-open-dur) var(--ease-smooth-out);
}
.ui-select-popover, .ui-select-popover.opens-up { transform: none; }
.ui-select-popover { transform-origin: top center; }
.ui-select-popover.opens-up { transform-origin: bottom center; }
.ui-dialog { scale: var(--scale-large); transition: scale var(--modal-close-dur) var(--ease-smooth-out), opacity var(--modal-close-dur) var(--ease-smooth-out); }
.ui-dialog-overlay:not(.opacity-0):not([hidden]) .ui-dialog, .ui-dialog.is-open { scale: 1; transition-duration: var(--modal-open-dur); }
.ui-dialog-overlay { transition: opacity var(--modal-open-dur) var(--ease-smooth-out); }
.app-modal-overlay { transition-timing-function: var(--ease-smooth-out); transition-duration: var(--panel-close-dur); }
.app-modal-overlay:not(.opacity-0) { transition-duration: var(--panel-open-dur); }
.ui-select-sheet { transition: transform var(--panel-open-dur) var(--ease-smooth-out); }
.ui-select-sheet-overlay { transition: opacity var(--dropdown-open-dur) var(--ease-smooth-out); }
.ui-select-sheet-overlay.is-open, .app-modal-overlay:not(.opacity-0) .app-modal-backdrop, .more-sheet-backdrop { animation: none; }
@keyframes toast-in { from { opacity: 0; translate: 0 16px; scale: var(--scale-medium); filter: blur(var(--blur-small)); } to { opacity: 1; translate: 0 0; scale: 1; filter: blur(0); } }
@keyframes toast-in-top { from { opacity: 0; translate: 0 -16px; scale: var(--scale-medium); filter: blur(var(--blur-small)); } to { opacity: 1; translate: 0 0; scale: 1; filter: blur(0); } }
.toast { animation: toast-in var(--toast-open) var(--ease-smooth-out) both; transition: opacity var(--toast-close) var(--ease-smooth-out), transform var(--toast-close) var(--ease-smooth-out); }
.ios-switch i::after, .admin-switch-track::after { transition: transform var(--toggle-dur) var(--toggle-ease); }
.ios-switch input:active + i::after, .ios-switch input:checked:active + i::after { scale: 1 1; width: 1.55rem; }
.ios-switch.is-pop i::after, .admin-switch.is-pop .admin-switch-track::after { animation: none; }
.ios-switch i, .admin-switch-track { transition: background-color var(--duration-quick) var(--ease-smooth-out); }
input[type='checkbox'], input[type='radio'] { transition: background-color var(--duration-quick) var(--ease-smooth-out), border-color var(--duration-quick) var(--ease-smooth-out), box-shadow var(--duration-quick) var(--ease-smooth-out); }
input.is-pop:checked, .seg-opt.is-pop input:checked + span, .swatch.is-pop i { animation: none; }
.swatch input:checked + i { transition: box-shadow var(--duration-quick) var(--ease-smooth-out); }
@media (prefers-reduced-motion: reduce) {
.ui-dialog, .toast { animation: none !important; }
}
.dash-menu-item.is-saving, [data-active-vehicle].is-saving, li.is-saving > [data-active-vehicle] { pointer-events: none; opacity: 0.8; }
.dash-menu-item.is-saving::after, li.is-saving > [data-active-vehicle]::after {
content: ''; width: 1rem; height: 1rem; margin-left: auto; flex: none; border-radius: 50%;
border: 2px solid rgb(var(--a-500) / 0.28); border-top-color: rgb(var(--a-500)); animation: av-spin 640ms linear infinite;
}
.dash-menu-item.is-saved::after, li.is-saved > [data-active-vehicle]::after {
content: ''; width: 0.55rem; height: 0.95rem; margin: 0 0.3rem 0.2rem auto; flex: none;
border: solid rgb(var(--a-500)); border-width: 0 2.5px 2.5px 0; transform: rotate(45deg) scale(0.4); opacity: 0;
animation: av-check 240ms var(--ease-smooth-out) forwards;
}
@keyframes av-spin { to { transform: rotate(360deg); } }
@keyframes av-check { to { transform: rotate(45deg) scale(1); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .dash-menu-item.is-saving::after, li.is-saving > [data-active-vehicle]::after { animation-duration: 1.4s !important; animation-iteration-count: infinite !important; } }
