/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-mono:var(--mono);--color-red-500:oklch(63.7% .237 25.331);--color-amber-500:oklch(76.9% .188 70.08);--color-emerald-500:oklch(69.6% .17 162.48);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--color-background:var(--color-bg);--color-primary:var(--color-primary-strong);--color-accent:var(--color-surface-alt);--color-success:var(--color-green);--color-brand:var(--brand)}}@layer base,components;@layer utilities{.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.-top-1{top:calc(var(--spacing) * -1)}.top-1\/2{top:50%}.-right-1{right:calc(var(--spacing) * -1)}.-bottom-1{bottom:calc(var(--spacing) * -1)}.-left-1{left:calc(var(--spacing) * -1)}.left-3{left:calc(var(--spacing) * 3)}.left-10{left:calc(var(--spacing) * 10)}.z-10{z-index:10}.z-\[2\]{z-index:2}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0{margin:0}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-auto{margin-inline:auto}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-0\.5{height:calc(var(--spacing) * .5)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-full{height:100%}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-10{width:calc(var(--spacing) * 10)}.w-full{width:100%}.min-w-0{min-width:0}.min-w-4{min-width:calc(var(--spacing) * 4)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-6{min-width:calc(var(--spacing) * 6)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-left{transform-origin:0}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-none{list-style-type:none}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[4px\]{border-radius:4px}.rounded-\[var\(--radius-sm\)\]{border-radius:var(--radius-sm)}.rounded-full{border-radius:2147483647px}.rounded-md{border-radius:14px}.rounded-sm{border-radius:8px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--color-success\)\]{border-color:var(--color-success)}.border-input{border-color:var(--color-line)}.border-muted-foreground\/30{border-color:var(--color-text-muted)}@supports (color:color-mix(in lab, red, red)){.border-muted-foreground\/30{border-color:color-mix(in oklab, var(--color-text-muted) 30%, transparent)}}.border-primary{border-color:var(--color-primary-strong)}.border-transparent{border-color:#0000}.bg-\[var\(--card\)\]{background-color:var(--card)}.bg-\[var\(--success-soft\)\]{background-color:var(--success-soft)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-background{background-color:var(--color-bg)}.bg-brand{background-color:var(--brand)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-muted{background-color:var(--color-surface-alt)}.bg-primary{background-color:var(--color-primary-strong)}.bg-red-500{background-color:var(--color-red-500)}.bg-transparent{background-color:#0000}.p-0{padding:0}.px-0{padding-inline:0}.px-1{padding-inline:var(--spacing)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.py-0{padding-block:0}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-10{padding-left:calc(var(--spacing) * 10)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.9rem\]{font-size:.9rem}.text-\[0\.85rem\]{font-size:.85rem}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--success-text\)\]{color:var(--success-text)}.text-\[var\(--text\)\]{color:var(--text)}.text-current{color:currentColor}.text-foreground{color:var(--color-text)}.text-muted-foreground{color:var(--color-text-muted)}.text-primary-foreground{color:var(--color-bg)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-white{--tw-ring-color:var(--color-white)}.ring-offset-background{--tw-ring-offset-color:var(--color-bg)}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,box-shadow\]{transition-property:border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,background-color\,border-color\,color\,box-shadow\]{transition-property:transform,background-color,border-color,color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.hover\:bg-foreground\/10:hover{background-color:var(--color-text)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-foreground\/10:hover{background-color:color-mix(in oklab, var(--color-text) 10%, transparent)}}}.focus\:border-\[var\(--brand\)\]:focus{border-color:var(--brand)}.focus\:shadow-\[0_0_0_3px_var\(--brand-soft\)\,0_0_14px_var\(--brand-mid\)\]:focus{--tw-shadow:0 0 0 3px var(--tw-shadow-color,var(--brand-soft)), 0 0 14px var(--tw-shadow-color,var(--brand-mid));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:border-ring:focus-visible{border-color:var(--color-primary)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--color-primary)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.active\:scale-\[0\.97\]:active{scale:.97}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--color-red)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--color-red)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-red) 20%, transparent)}}.data-\[state\=checked\]\:border-brand[data-state=checked]{border-color:var(--brand)}.data-\[state\=checked\]\:bg-brand[data-state=checked]{background-color:var(--brand)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--color-bg)}.data-\[state\=indeterminate\]\:border-brand[data-state=indeterminate]{border-color:var(--brand)}.data-\[state\=indeterminate\]\:bg-brand[data-state=indeterminate]{background-color:var(--brand)}.data-\[state\=indeterminate\]\:text-primary-foreground[data-state=indeterminate]{color:var(--color-bg)}.data-\[state\=unchecked\]\:bg-background[data-state=unchecked]{background-color:var(--color-bg)}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}.motion-reduce\:transition-none{transition-property:none}.motion-reduce\:active\:scale-100:active{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}}@media (width>=40rem){.sm\:block{display:block}}.dark\:ring-gray-900:where([data-theme=dark],[data-theme=dark] *){--tw-ring-color:var(--color-gray-900)}.dark\:aria-invalid\:ring-destructive\/40:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{--tw-ring-color:var(--color-red)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-red) 40%, transparent)}}.dark\:data-\[state\=unchecked\]\:bg-input\/30:where([data-theme=dark],[data-theme=dark] *)[data-state=unchecked]{background-color:var(--color-line)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[state\=unchecked\]\:bg-input\/30:where([data-theme=dark],[data-theme=dark] *)[data-state=unchecked]{background-color:color-mix(in oklab, var(--color-line) 30%, transparent)}}}:root{--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-pill:999px;--transition:.3s ease-in-out;--spring:cubic-bezier(.34, 1.56, .64, 1);--shadow-card:0 24px 48px -28px #00000059;--shadow-glow:0 24px 48px -20px #3d9bff66;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f5f8fd;--color-surface:#fff;--color-surface-alt:#f1f4fa;--color-line:#12121214;--color-text:#16181c;--color-text-muted:#16181c9e;--color-primary:#1f6feb;--color-primary-strong:#0b57cf;--color-primary-soft:#1f6feb1a;--color-primary-mid:#1f6feb40;--color-green:#16a34a;--color-red:#dc2626;--color-blue:#1f6feb;--color-amber:#d97706;--color-accent:#b02ed6;--gradient-primary:linear-gradient(135deg, #5aa7ff 0%, #1f6feb 100%);--gradient-fade:linear-gradient(90deg, var(--color-accent), transparent 80%);--brand:var(--color-primary);--brand-strong:var(--color-primary-strong);--brand-soft:var(--color-primary-soft);--brand-mid:var(--color-primary-mid);--bg:var(--color-bg);--card:var(--color-surface);--border:var(--color-line);--text:var(--color-text);--muted:var(--color-text-muted);--danger:var(--color-red);--danger-soft:#dc262617;--danger-text:#b91c1c;--excel:#107c41;--excel-soft:#107c411a;--warn-soft:#d977061f;--info-soft:#1f6feb1a;--info-text:#0b57cf;--success-soft:#16a34a1a;--success-text:#15803d;--sidebar-bg:#101418;--control-border:#12121224;--control-bg:#1212120a;--control-bg-hover:#12121217;--control-text:var(--color-text);--shadow:0 1px 3px #10141814;--glow:0 0 8px #1f6feb42, 0 0 16px #1f6feb14;--glow-strong:0 0 10px #1f6feb61, 0 0 20px #1f6feb24;--glow-red:0 0 10px #dc262659, 0 0 22px #dc26261f;--accent-glow:#b02ed629;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#121212;--color-surface:#171717;--color-surface-alt:#1d1c1c;--color-line:#ffffff14;--color-text:#f4f4f4;--color-text-muted:#f4f4f4a3;--color-primary:#3d9bff;--color-primary-strong:#74c3ff;--color-primary-soft:#3d9bff24;--color-primary-mid:#3d9bff59;--color-green:#4ade80;--color-red:#ef4444;--color-blue:#3d9bff;--color-amber:#fbbf24;--color-accent:#d946ef;--gradient-primary:linear-gradient(135deg, #7cc6ff 0%, #2f86f0 100%);--gradient-fade:linear-gradient(90deg, var(--color-accent), transparent 80%);--brand:var(--color-primary);--brand-strong:var(--color-primary-strong);--brand-soft:var(--color-primary-soft);--brand-mid:var(--color-primary-mid);--bg:var(--color-bg);--card:var(--color-surface);--border:var(--color-line);--text:var(--color-text);--muted:var(--color-text-muted);--danger:var(--color-red);--danger-soft:#ef444424;--danger-text:#ff9a86;--excel:#4ade80;--excel-soft:#4ade8021;--warn-soft:#fbbf2424;--info-soft:#3d9bff1f;--info-text:#a7cfff;--success-soft:#4ade801f;--success-text:#7fd6a0;--sidebar-bg:#0d0d0d;--control-border:#ffffff29;--control-bg:#ffffff0f;--control-bg-hover:#ffffff21;--control-text:#fff;--shadow:0 1px 3px #00000073;--shadow-card:0 24px 48px -28px #000000d9;--shadow-glow:0 24px 48px -20px #3d9bff66;--glow:0 0 10px #3d9bff5c, 0 0 18px #3d9bff29;--glow-strong:0 0 12px #3d9bff7a, 0 0 24px #3d9bff33;--glow-red:0 0 12px #ef444473, 0 0 26px #ef444433;--accent-glow:#d946ef33}*{box-sizing:border-box}html,body{min-height:100vh;margin:0}body{font:15px/1.5 var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}#root{min-height:100vh}button,input{font:inherit}button{cursor:pointer}input{color:var(--text)}h1,h2,h3{color:var(--text);margin:0 0 .5rem}h1{font-size:1.6rem}h2{font-size:1.2rem}h3{font-size:1rem}.screen{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden auto}.screen:before,.screen:after{content:"";filter:blur(90px);z-index:-1;pointer-events:none;border-radius:50%;position:fixed}.screen:before{background:radial-gradient(circle, var(--brand-mid) 0%, transparent 70%);width:500px;height:500px;top:-160px;left:-140px}.screen:after{background:radial-gradient(circle, var(--accent-glow) 0%, transparent 70%);width:480px;height:480px;bottom:-160px;right:-140px}.auth-theme-toggle{z-index:10;position:fixed;top:16px;right:16px}.card{background:linear-gradient(var(--card), var(--card)) padding-box, linear-gradient(150deg, var(--brand-mid) 0%, transparent 35%, transparent 65%, var(--brand-mid) 100%) border-box;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);z-index:1;border:1px solid #0000;width:100%;max-width:400px;padding:30px;position:relative}.card:before{content:"";background:linear-gradient(90deg, transparent, var(--brand) 50%, transparent);opacity:.5;pointer-events:none;height:1px;position:absolute;inset:0 0 auto}.card.wide{max-width:720px}.link-row{justify-content:center;margin-top:10px;display:flex}.link-row .link-pill{margin-top:0}.link-pill{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--card);color:var(--brand-strong);transition:box-shadow .3s var(--transition), border-color .3s var(--transition), transform .3s var(--transition), background .3s var(--transition);align-items:center;gap:8px;margin-top:18px;padding:9px 15px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.link-pill:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft);box-shadow:var(--glow);transform:translateY(-1px)}.copyright{color:var(--muted);text-align:center;margin:28px 0 0;font-size:.8rem}.main .copyright{margin-top:auto;padding:18px 0 24px}.copyright-text{margin:0}.legal-nav{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 10px;margin-top:8px;display:flex}.legal-link{color:var(--muted);text-underline-offset:3px;font-size:.8rem;text-decoration:underline;transition:color .18s}.legal-link:hover{color:var(--brand-strong)}.legal-link:focus-visible{outline:2px solid var(--brand-strong);outline-offset:2px}.legal-sep{color:var(--muted);opacity:.6;font-size:.8rem}.legal-screen{min-height:100dvh;padding:clamp(18px,4vw,48px) clamp(14px,4vw,32px)}.legal-shell{width:100%;max-width:860px;margin:0 auto}.legal-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;display:flex}.legal-head .auth-brand{color:inherit;margin:0;text-decoration:none}.legal-card{background:linear-gradient(var(--card), var(--card)) padding-box, linear-gradient(150deg, var(--brand-mid) 0%, transparent 35%, transparent 65%, var(--brand-mid) 100%) border-box;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);color:var(--text);border:1px solid #0000;padding:clamp(22px,4vw,44px)}.legal-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--brand-strong);margin-bottom:10px;font-size:.72rem;font-weight:700}.legal-title{letter-spacing:-.02em;margin:0 0 10px;font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.15}.legal-summary{color:var(--muted);max-width:62ch;margin:0 0 26px;font-size:1rem}.legal-draft{border:1px dashed var(--color-amber);background:var(--warn-soft);border-radius:var(--radius-md);color:var(--text);margin:0 0 30px;padding:14px 16px;font-size:.88rem}.legal-draft strong{margin-bottom:4px;display:block}.legal-draft p{color:var(--muted);margin:0}.legal-body{font-size:.95rem;line-height:1.72}.legal-section{margin-bottom:30px;scroll-margin-top:20px}.legal-section:last-child{margin-bottom:8px}.legal-section h2{align-items:baseline;gap:8px;margin:0 0 12px;font-size:1.06rem;line-height:1.35;display:flex}.legal-n{font-family:var(--font-mono);color:var(--brand-strong);flex:none;font-weight:700}.legal-section p{color:var(--muted);margin:0 0 12px}.legal-section ul{color:var(--muted);margin:0 0 12px;padding-left:20px}.legal-section li{margin-bottom:8px}.legal-section strong{color:var(--text)}.legal-placeholder{color:var(--brand-strong);background:var(--brand-soft);border:1px solid var(--brand-mid);border-radius:var(--radius-sm);overflow-wrap:anywhere;padding:1px 6px;font-weight:600}.legal-body a{color:var(--brand-strong)}.legal-foot{border-top:1px solid var(--border);margin-top:34px;padding-top:20px}@media (width<=640px){.legal-head{margin-bottom:16px}.legal-head .link-pill{padding:7px 12px}.legal-section h2{font-size:1rem}.legal-nav{flex-direction:column;gap:8px}.legal-sep{display:none}}.card-enter{animation:.4s cubic-bezier(.22,.9,.3,1) both card-in}.card-exit{animation:.22s ease-in both card-out}@keyframes card-in{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes card-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-12px)scale(.97)}}.stagger-in>*{animation:.5s cubic-bezier(.22,.9,.3,1) both rise}.stagger-in>:first-child{animation-delay:40ms}.stagger-in>:nth-child(2){animation-delay:.1s}.stagger-in>:nth-child(3){animation-delay:.16s}.stagger-in>:nth-child(4){animation-delay:.22s}.stagger-in>:nth-child(5){animation-delay:.28s}.stagger-in>:nth-child(6){animation-delay:.34s}.stagger-in>:nth-child(7){animation-delay:.4s}.stagger-in>:nth-child(8){animation-delay:.46s}.stagger-out>*{animation:drop-out .3s var(--transition)-in both}.stagger-out>:first-child{animation-delay:20ms}.stagger-out>:nth-child(2){animation-delay:50ms}.stagger-out>:nth-child(3){animation-delay:80ms}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes menu-pop{0%{opacity:0;transform:scale(.94)translateY(-6px)}to{opacity:1;transform:none}}@keyframes menu-pop-out{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.96)translateY(-4px)}}@keyframes drop-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.msg-error,.msg-info,.msg-success,.snap-in{animation:.3s cubic-bezier(.22,.9,.3,1) both msg-in}@keyframes msg-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.auth-brand .brand-logo{animation:5s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.screen:before,.screen:after{animation:9s ease-in-out infinite alternate glow-breathe}@keyframes glow-breathe{0%{opacity:.7}to{opacity:1}}.brand{align-items:center;gap:10px;margin-bottom:4px;display:flex}button.brand{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.app-header .brand:hover .brand-name{opacity:.85}.header-group.start.brand-collapsed .brand-name{display:none}.header-group.start.brand-collapsed .brand{gap:0;margin-bottom:0}.auth-brand{justify-content:center;align-items:center;gap:10px;margin-bottom:26px;display:flex}.auth-brand .brand-name{letter-spacing:.2px;background:var(--gradient-primary);color:#0000;filter:drop-shadow(0 2px 6px var(--brand-mid));-webkit-background-clip:text;background-clip:text;font-size:1.4rem}.load-wrap{width:100%;max-width:380px;animation:card-in .5s var(--spring) both;flex-direction:column;align-items:center;gap:26px;display:flex}.load-brand{align-items:center;gap:12px;display:flex}.load-logo{border-radius:14px;width:48px;height:48px}.load-brand-text{flex-direction:column;line-height:1.2;display:flex}.load-brand-name{letter-spacing:-.2px;background:var(--gradient-primary);color:#0000;filter:drop-shadow(0 2px 6px var(--brand-mid));-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:800}.load-brand-sub{letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600}.load-ring{place-items:center;width:128px;height:128px;display:grid;position:relative}.load-track,.load-spinner{border-radius:50%;position:absolute;inset:0}.load-track{border:5px solid var(--border);opacity:.55}.load-spinner{border:5px solid #0000;border-top-color:var(--brand);border-right-color:var(--brand-mid);animation:1.1s cubic-bezier(.6,.1,.35,.9) infinite load-spin}.load-hub{width:78px;height:78px;color:var(--brand);background:var(--brand-soft);border:1px solid var(--brand-mid);box-shadow:var(--glow);border-radius:50%;place-items:center;animation:1.8s ease-in-out infinite load-pulse;display:grid}@keyframes load-spin{to{transform:rotate(360deg)}}@keyframes load-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.72;transform:scale(.93)}}.load-text{color:var(--muted);align-items:baseline;gap:2px;margin:0;font-size:1rem;font-weight:600;display:flex}.load-dots{gap:4px;width:1.4em;display:inline-flex;overflow:hidden}.load-dots i{background:var(--brand);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite load-dot}.load-dots i:nth-child(2){animation-delay:.15s}.load-dots i:nth-child(3){animation-delay:.3s}@keyframes load-dot{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.load-spinner,.load-hub,.load-dots i{animation:none}}.auth-title{text-align:center;margin:0 0 22px;font-size:1.15rem;font-weight:700}.auth-title:after{content:"";border-radius:var(--radius-pill);background:var(--gradient-primary);width:56px;height:3px;box-shadow:var(--glow);margin:12px auto 0;display:block}.brand-logo{border-radius:var(--radius-sm);background:var(--gradient-primary);color:#fff;width:34px;height:34px;box-shadow:var(--glow);transition:box-shadow .3s var(--transition), transform .3s var(--transition);place-items:center;font-weight:700;display:grid}.brand-logo:hover{box-shadow:var(--glow-strong);transform:translateY(-1px)}.brand-name{color:var(--brand-strong);font-size:1.25rem;font-weight:700}.tagline{color:var(--muted);margin:0 0 18px}.field,.ai-field{margin-bottom:17px}.field label{color:var(--muted);margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.field input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);width:100%;color:var(--text);transition:border-color .3s var(--transition), box-shadow .3s var(--transition);outline:none;padding:10px 12px}.field input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft), 0 0 14px var(--brand-mid)}.input-wrap{position:relative}.input-wrap>svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.input-wrap input{padding-left:38px}.input-wrap input.pad-right{padding-right:42px}.eye-toggle{color:var(--muted);border-radius:var(--radius-sm);transition:color .3s var(--transition), background .3s var(--transition), transform .3s var(--transition), box-shadow .3s var(--transition);background:0 0;border:none;place-items:center;padding:6px;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.eye-toggle:hover{color:var(--brand);background:var(--brand-soft);transform:translateY(-50%)scale(1.1)}.pwd-block{margin-top:10px}.pwd-meter-row{align-items:center;gap:12px;display:flex}.pwd-meter{flex:1;gap:5px;display:flex}.pwd-meter span{border-radius:var(--radius-pill);background:var(--border);height:6px;transition:background .3s var(--transition);flex:1}.pwd-label{text-transform:uppercase;letter-spacing:.5px;opacity:.9;transition:color .3s var(--transition);flex-shrink:0;font-size:.7rem;font-weight:700;animation:.25s both msg-in}.pwd-hints{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.pwd-hints .hint{color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--color-surface-alt);transition:color .3s var(--transition), border-color .3s var(--transition), background .3s var(--transition), box-shadow .3s var(--transition), transform .3s var(--transition);align-items:center;gap:6px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.pwd-hints .hint:before{content:"";opacity:.4;width:6px;height:6px;transition:opacity .3s var(--transition);background:currentColor;border-radius:50%}.pwd-hints .hint.ok{color:var(--color-green);border-color:var(--color-green);background:var(--success-soft);transform:translateY(-1px)}.pwd-hints .hint.ok:before{opacity:1}.field-msg{color:var(--danger-text);margin-top:6px;font-size:.82rem;animation:.25s both msg-in;display:block}.btn{border-radius:var(--radius-sm);background:var(--gradient-primary);color:#fff;transition:background .3s var(--transition), box-shadow .3s var(--transition), transform .3s var(--transition);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;width:100%;padding:11px 16px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:not(.ghost):not(.danger):after{content:"";width:40%;height:100%;transition:left .5s var(--transition);pointer-events:none;background:linear-gradient(100deg,#0000,#ffffff59,#0000);position:absolute;top:0;left:-60%;transform:skew(-20deg)}.btn:not(.ghost):not(.danger):hover:after{left:125%}.btn:hover{background:linear-gradient(135deg, var(--color-primary-strong) 0%, var(--color-primary) 100%);box-shadow:var(--glow);transform:translateY(-1px)}.btn:disabled{cursor:not-allowed}.btn.ghost{color:var(--brand-strong);border-color:var(--border);background:0 0;width:auto}.btn.ghost:hover{background:var(--brand-soft)}.copy-btn-icon{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.btn.copy-btn{overflow:visible}.copy-btn.copy-btn-compact{border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--control-bg);width:28px;height:28px;color:var(--control-text);transition:background .2s var(--transition), border-color .2s var(--transition), color .2s var(--transition);flex-shrink:0;place-items:center;padding:0;display:grid}.copy-btn.copy-btn-compact:hover{background:var(--control-bg-hover);border-color:var(--brand-mid);color:var(--brand-strong)}.copy-btn.copy-btn-compact:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.btn.danger{background:var(--danger);width:auto}.btn.danger:hover{filter:brightness(1.1);box-shadow:var(--glow-red)}.link-btn{color:var(--brand-strong);background:0 0;border:none;padding:0;font-weight:600}.link-btn:hover{text-decoration:underline}.theme-toggle{border:1px solid var(--border);background:var(--card);width:40px;height:40px;color:var(--text);box-shadow:var(--shadow);transition:background .15s ease, box-shadow .3s var(--transition), transform .15s ease;border-radius:10px;flex-shrink:0;place-items:center;padding:0;display:grid}.theme-toggle:hover{background:var(--brand-soft);box-shadow:var(--shadow);transform:translateY(-1px)}.theme-toggle svg{width:50%;height:50%;display:block}.app-header .icon-btn,.app-header .theme-toggle{color:#fff;background:#ffffff0f;border-color:#ffffff29}.app-header .icon-btn:hover,.app-header .theme-toggle:hover{background:#ffffff21}.app-header .theme-toggle{border-radius:var(--radius-sm);width:38px;height:38px;box-shadow:none}.app-header .theme-toggle:hover{box-shadow:none;transform:none}.header-user{border-radius:var(--radius-sm);color:#fff;cursor:pointer;max-width:200px;height:38px;transition:background .3s var(--transition), border-color .3s var(--transition);background:#ffffff0f;border:1px solid #ffffff29;flex-shrink:0;align-items:center;gap:8px;padding:0 10px 0 5px;display:flex}.header-user:hover{background:#ffffff21}.header-user.active{border-color:var(--brand);background:#ffffff1a}.header-user .avatar-mini{border:2px solid var(--brand-mid);background:var(--gradient-primary);color:#fff;width:28px;height:28px;box-shadow:var(--glow);border-radius:50%;flex-shrink:0;place-items:center;font-size:.68rem;font-weight:700;display:grid}.header-user-name{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:600;overflow:hidden}.header-user svg{color:#ffffffa6;flex-shrink:0}.refresh-btn{align-items:center;gap:8px;display:inline-flex}.refresh-btn.spinning svg{animation:.6s linear infinite spin-cycle}@keyframes spin-cycle{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-spinner{border:3px solid var(--border,#7f7f7f4d);border-top-color:var(--accent,#2563eb);border-radius:50%;width:26px;height:26px;margin:18px auto 6px;animation:.7s linear infinite spin-cycle}.skeleton,.stat .value .skeleton{background:linear-gradient(90deg, var(--border) 25%, #949da659 50%, var(--border) 75%);background-size:200% 100%;border-radius:3px 5px 5px 3px;width:3.4ch;height:1em;animation:1.3s ease-in-out infinite skeleton-shimmer;display:inline-block}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton.sk-lg{height:1.4em}.skeleton.sk-sm{height:.85em}.skeleton.sk-w15{width:15%}.skeleton.sk-w20{width:20%}.skeleton.sk-w25{width:25%}.skeleton.sk-w30{width:30%}.skeleton.sk-w35{width:35%}.skeleton.sk-w40{width:40%}.skeleton.sk-w45{width:45%}.skeleton.sk-w50{width:50%}.skeleton.sk-w55{width:55%}.skeleton.sk-w60{width:60%}.skeleton.sk-w65{width:65%}.skeleton.sk-w70{width:70%}.skeleton.sk-w75{width:75%}.skeleton-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);flex-direction:column;gap:10px;padding:16px 18px;display:flex}.sk-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.skel-stack{flex-direction:column;gap:12px;display:flex}.tabs{background:var(--color-surface-alt);border:1px solid var(--border);border-radius:var(--radius-pill);gap:4px;margin-bottom:26px;padding:5px;display:flex;position:relative;overflow:hidden}.tab-thumb{background:var(--gradient-primary);border-radius:var(--radius-pill);width:calc(50% - 5px);box-shadow:var(--glow);z-index:0;pointer-events:none;transition:transform .38s cubic-bezier(.22,.9,.3,1);position:absolute;top:5px;bottom:5px;left:5px}.tab-thumb.thumb-right{transform:translate(100%)}.tab{border-radius:var(--radius-pill);color:var(--muted);z-index:1;transition:color .3s var(--transition);background:0 0;border:none;flex:1;padding:9px 14px;font-weight:600;position:relative}.tab:hover{color:var(--text)}.tab.active{color:#fff;text-shadow:0 1px 4px #00000040}.tab.punch{animation:.35s cubic-bezier(.34,1.56,.64,1) both tab-punch}@keyframes tab-punch{0%{transform:scale(1)}40%{transform:scale(.9)}70%{transform:scale(1.06)}to{transform:scale(1)}}.msg-error{background:var(--danger-soft);color:var(--danger-text);border-radius:var(--radius-sm);margin:4px 0 16px;padding:10px 12px;font-size:.9rem}.msg-info{background:var(--info-soft);color:var(--info-text);border-radius:var(--radius-sm);margin:4px 0 16px;padding:10px 12px;font-size:.9rem}.login-bloqueo{background:var(--control-bg);border:1px solid var(--control-border);color:var(--control-text);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;align-items:center;gap:8px;margin:-8px 0 16px;padding:9px 12px;font-size:.85rem;display:flex}.login-bloqueo-reloj{border:2px solid var(--danger-text);border-top-color:#0000;border-radius:50%;flex:none;width:13px;height:13px;animation:1.4s linear infinite login-reloj}@keyframes login-reloj{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.login-bloqueo-reloj{animation:none}}.msg-success{background:var(--success-soft);color:var(--success-text);border-radius:var(--radius-sm);margin:4px 0 16px;padding:10px 12px;font-size:.9rem}.shell{flex-direction:column;min-height:100vh;padding-top:64px;display:flex}.app-header{z-index:40;background:var(--sidebar-bg);justify-content:space-between;align-items:center;gap:14px;height:64px;padding:0 20px;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 16px #00000038}.header-group{align-items:center;min-width:0;display:flex}.header-group.start{gap:12px}.header-group.center{gap:10px;min-width:0}.header-group.end{gap:10px}.app-header .brand{margin-bottom:0}.app-header .brand-name{color:#fff;font-size:1.15rem}.app-header .hbl-search{border-radius:var(--radius-sm);color:#ffffffd9;min-width:0;height:38px;transition:border-color .3s var(--transition), box-shadow .3s var(--transition);background:#ffffff0f;border:1px solid #ffffff29;align-items:center;padding:0 12px;display:flex;position:relative}.app-header .hbl-search:focus-within{border-color:var(--brand);box-shadow:var(--glow)}.app-header .hbl-search>svg{pointer-events:none;color:#ffffff8c;position:absolute;left:12px}.app-header .hbl-search input{color:#fff;background:0 0;border:0;outline:none;width:210px;max-width:100%;padding-left:24px;font-size:.9rem}.app-header .hbl-search input::placeholder{color:#ffffff80}.header-actions{align-items:center;gap:10px;display:flex}.header-quick{flex-shrink:0;align-items:center;gap:8px;display:flex}.hdr-btn{border-radius:var(--radius-sm);color:#fff;white-space:nowrap;cursor:pointer;height:38px;transition:background .3s var(--transition), box-shadow .3s var(--transition), transform .3s var(--transition);background:#ffffff0f;border:1px solid #ffffff29;align-items:center;gap:6px;padding:0 12px;font-size:.85rem;font-weight:600;display:inline-flex}.hdr-btn:hover{background:#ffffff21}.hdr-btn.primary{background:var(--gradient-primary);border-color:#0000}.hdr-btn.primary:hover{background:linear-gradient(135deg, var(--color-primary-strong) 0%, var(--color-primary) 100%);box-shadow:var(--glow)}.icon-btn.hbl-toggle,.hbl-close{display:none}.icon-btn{border-radius:var(--radius-sm);border:1px solid var(--control-border);background:var(--control-bg);width:38px;height:38px;color:var(--control-text);cursor:pointer;transition:background .3s var(--transition), transform .3s var(--transition);place-items:center;display:grid}.icon-btn:hover{background:var(--control-bg-hover);transform:translateY(-1px)}.icon-btn.compact{flex-shrink:0;width:34px;height:34px}.icon-btn.danger{color:var(--danger);border-color:var(--color-red);background:var(--danger-soft)}.icon-btn.danger:hover{background:var(--danger-soft);color:var(--color-red);border-color:var(--color-red)}.app-header .menu-toggle.is-close:hover{background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}.scrim{z-index:25;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:1;transition:opacity .3s var(--spring);background:#00000073;position:fixed;inset:64px 0 0}.scrim.closing{opacity:0}.sidebar{z-index:30;background:var(--sidebar-bg);color:#cbd5e1;opacity:0;width:250px;transition:transform .3s var(--spring), opacity .3s var(--spring);flex-direction:column;gap:2px;padding:16px 12px;display:flex;position:fixed;top:64px;bottom:0;left:0;overflow-y:auto;transform:translate(-110%);box-shadow:0 10px 34px #00000059}.sidebar.open{opacity:1;transform:translate(0)}.sidebar.closing{opacity:0;transform:translate(-110%)}.sidebar .brand-name{color:#fff}.nav-group{flex-direction:column;gap:2px;margin:6px 0 2px;display:flex}.nav-group-title{text-transform:uppercase;letter-spacing:.55px;color:#94a3b8;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;transition:color .3s var(--transition);background:0 0;border:none;align-items:center;gap:10px;padding:10px 12px 6px;font-size:.72rem;font-weight:700;display:flex}.nav-group-title .group-name{flex:1}.nav-group-title .group-arrow{color:#94a3b8;transition:transform .3s var(--transition);transform:rotate(90deg)}.nav-group-title.collapsed .group-arrow{transform:rotate(0)}.nav-group-title:hover{color:#fff}.nav-group-sub{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1),opacity .3s;display:grid}.nav-group-sub.open{opacity:1;grid-template-rows:1fr}.nav-group-sub-inner{flex-direction:column;gap:2px;min-height:0;display:flex;overflow:hidden}.nav-item.sub{padding-left:28px}.nav-item{border-radius:var(--radius-sm);color:#cbd5e1;text-align:left;transition:background .3s var(--transition), color .3s var(--transition), box-shadow .3s var(--transition), transform .3s var(--transition);background:0 0;border:none;align-items:center;gap:10px;padding:10px 12px;font-weight:500;display:flex;position:relative}.nav-item:hover{background:#ffffff0f;transform:translate(2px)}.nav-item.active{color:#fff;background:linear-gradient(90deg, var(--brand-soft), transparent 92%);box-shadow:none;font-weight:600;transform:none}.nav-item.active:before{content:"";background:var(--brand);border-radius:999px;width:3px;position:absolute;top:7px;bottom:7px;left:0}.nav-item.logout{color:#f87171}.nav-item.logout:hover{box-shadow:none;background:#f871711f}.nav-spacer{flex:1}.profile-btn{text-align:center;border-top:1px solid #ffffff1a;flex-direction:column;justify-content:center;align-items:center;gap:8px;margin-top:6px;padding-top:14px}.profile-btn svg{display:none}.profile-btn .avatar-mini{border:2px solid var(--brand-mid);background:var(--gradient-primary);color:#fff;width:40px;height:40px;box-shadow:var(--glow);border-radius:50%;flex-shrink:0;place-items:center;font-size:.8rem;font-weight:700;display:grid}.profile-meta{flex-direction:column;flex:none;align-items:center;min-width:0;max-width:100%;display:flex}.profile-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:600;overflow:hidden}.profile-role{color:var(--brand-soft);text-transform:capitalize;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.profile-btn .profile-role{color:#e2e8f0;letter-spacing:.2px;background:#ffffff12;border:1px solid #ffffff24;border-radius:999px;max-width:100%;padding:3px 10px;font-size:.68rem;font-weight:600}.sidebar-user{border-top:1px solid #ffffff1a;padding-top:12px}.sidebar-user .name{color:#fff;font-weight:600}.sidebar-user .role-badge{color:var(--brand-soft)}.main{flex-direction:column;flex:1;padding:24px 32px 0;display:flex;overflow:auto}.page-body{flex-direction:column;flex:1;min-height:0;display:flex}.page-head{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-bottom:20px;display:grid}.page-head-start{min-width:0}.page-head p{color:var(--muted);margin:6px 0 0}.page-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--brand-mid);margin-bottom:6px;font-size:.72rem;font-weight:700;display:inline-block}.page-head h1{align-items:center;gap:10px;margin:0;font-size:1.5rem;line-height:1.2;display:flex}.page-title-icon{border-radius:var(--radius-sm);background:var(--brand-soft);border:1px solid var(--brand-mid);width:34px;height:34px;color:var(--brand-strong);flex-shrink:0;place-items:center;display:grid}.page-head-center{justify-content:center;min-width:0;display:flex}.page-actions{flex-shrink:0;grid-area:1/3;justify-content:flex-end;justify-self:end;align-items:center;gap:8px;display:flex}.page-actions .btn{width:auto;min-height:42px}.grid-cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:stretch;gap:14px;display:grid}@media (width>=901px){.grid-cards:has(>.stat.accent-rose){grid-template-columns:repeat(5,minmax(0,1fr))}}.users-panel{flex-direction:column;flex:1;gap:16px;min-height:0;display:flex}.toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.toolbar-info{color:var(--muted);align-items:center;gap:6px;font-size:.9rem;display:inline-flex}.user-list{flex-direction:column;gap:12px;display:flex}.user-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);transition:transform .3s var(--transition), box-shadow .3s var(--transition), border-color .3s var(--transition);grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"avatar info badge actions";align-items:center;gap:16px;padding:16px 18px;animation:.4s cubic-bezier(.22,.9,.3,1) both rise;display:grid}.user-card:hover{box-shadow:var(--shadow-card);border-color:var(--brand-mid);transform:translateY(-2px)}.user-avatar{background:var(--gradient-primary);color:#fff;width:44px;height:44px;box-shadow:var(--glow);border-radius:50%;flex-shrink:0;grid-area:avatar;place-items:center;font-weight:700;display:grid}.user-avatar.user-avatar-img{object-fit:cover;padding:0;display:block}.user-info{grid-area:info;min-width:0}.user-name{color:var(--text);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:8px;font-weight:700;display:flex}.user-role-chip{text-transform:capitalize;color:var(--brand-strong);background:var(--brand-soft);border:1px solid var(--brand-mid);border-radius:var(--radius-pill);padding:2px 9px;font-size:.7rem;font-weight:600}.user-agency-chip{font-family:var(--font-mono);letter-spacing:.02em;color:var(--text);background:var(--card);border:1px dashed var(--border);border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:4px;padding:2px 9px;font-size:.68rem;font-weight:600;display:inline-flex}.user-agency-chip svg{opacity:.7;flex:none}.user-agency-line{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;font-size:.85rem;display:flex;overflow:hidden}.user-agency-line svg{opacity:.7;flex:none}.user-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.85rem;overflow:hidden}.badge{text-transform:uppercase;letter-spacing:.4px;border-radius:var(--radius-pill);white-space:nowrap;padding:4px 10px;font-size:.75rem;font-weight:700}.badge.pending{color:#b45309;background:#f59e0b29;border:1px solid #f59e0b66}.badge.active{color:var(--color-green);background:var(--success-soft);border:1px solid var(--color-green)}.badge.blocked{color:var(--color-red);background:var(--danger-soft);border:1px solid var(--color-red)}.user-card>.badge{grid-area:badge}.user-actions{flex-wrap:wrap;grid-area:actions;align-items:center;gap:8px;display:flex}.role-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--color-surface-alt);color:var(--text);font:inherit;transition:border-color .3s var(--transition), box-shadow .3s var(--transition);outline:none;padding:8px 10px;font-size:.88rem}.role-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.user-sections{flex-direction:column;gap:22px;display:flex}.user-info .user-meta{white-space:normal;text-overflow:clip;flex-wrap:wrap;align-items:center;gap:8px;display:flex;overflow:visible}.user-section{flex-direction:column;gap:12px;display:flex}.user-section-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding-bottom:8px;display:flex}.user-section-title{color:var(--text);font-size:.95rem;font-weight:700}.user-section-count{color:var(--muted);background:var(--color-surface-alt);border:1px solid var(--border);border-radius:var(--radius-pill);text-align:center;min-width:22px;padding:1px 8px;font-size:.75rem;font-weight:700}.user-role-chip.role-admin{color:var(--brand-strong);background:var(--brand-soft);border-color:var(--brand-mid)}.user-role-chip.role-agent{color:var(--color-green);background:var(--success-soft);border-color:var(--color-green)}.user-role-chip.role-dealer{color:#a855f7;background:#a855f71f;border-color:#a855f76b}.user-email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.user-since{color:var(--muted);font-size:.78rem}.user-pending-hint,.user-blocked-hint{font-size:.78rem;font-weight:600}.user-pending-hint{color:#b45309}.user-blocked-hint{color:var(--color-red)}.user-card.pending{background:linear-gradient(var(--card), var(--card)) padding-box, linear-gradient(135deg, #f59e0b24, transparent 55%) border-box;border-color:#f59e0b66}.user-card.blocked{border-color:var(--danger-soft);background:linear-gradient(var(--card), var(--card)) padding-box, linear-gradient(135deg, var(--danger-soft), transparent 55%) border-box}.user-card.pending .user-avatar,.user-card.blocked .user-avatar{filter:grayscale(.75);box-shadow:none}.user-empty{text-align:center;color:var(--muted);background:var(--card);border:1px dashed var(--border);border-radius:var(--radius-md);padding:28px 16px;font-size:.92rem}.edit-user-head{border-bottom:1px solid var(--border);align-items:center;gap:14px;margin-bottom:14px;padding-bottom:14px;display:flex}.edit-user-head .user-name{font-size:1.05rem}.row-action-item.warn:hover{background:#f59e0b1f}.btn.mini{border-radius:var(--radius-sm);width:auto;padding:7px 12px;font-size:.85rem}.btn.mini.icon-mini{place-items:center;padding:7px;display:grid}.btn.mini.danger{background:var(--danger)}.btn.mini.danger:hover{filter:brightness(1.1);box-shadow:var(--glow-red)}.toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar-actions .btn{min-height:42px}.toolbar-actions .crud-search{flex:200px}@media (width<=1024px){.toolbar-actions{flex-wrap:wrap}}@media (width<=560px){.toolbar-actions .btn{min-height:38px}}@media (width<=480px){.toolbar-actions .btn.refresh-btn{justify-content:center;width:38px;min-height:38px;padding:0}.toolbar-actions .btn.refresh-btn span{display:none}}.btn.ghost.active{border-color:var(--brand);color:var(--brand-strong);background:var(--brand-soft)}.filter-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-alt);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.hbls-filter{gap:12px;padding:20px 18px}.hbls-filter .input,.hbls-filter .role-select{padding:12px 14px;font-size:.95rem}.filter-card{background:var(--card);border:1px solid var(--border);border-top:3px solid var(--brand);border-radius:var(--radius-lg);box-shadow:var(--shadow);animation:snap-in .3s var(--spring) both;margin:16px 0;padding:16px}.filter-head{justify-content:space-between;align-items:center;display:flex}.filter-title{color:var(--text);align-items:center;gap:8px;font-size:.95rem;font-weight:600;display:flex}.filter-title svg{color:var(--brand-strong)}.filter-badge{border-radius:var(--radius-pill);background:var(--brand-soft);color:var(--brand-strong);padding:2px 10px;font-size:.72rem;font-weight:600}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(175px,1fr));align-items:stretch;gap:12px;margin-top:14px;display:grid}.filter-grid>*{width:100%;min-width:0}.filter-search-row{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px;display:grid}.filter-search-row .search-field .input{height:42px}.filter-pin{width:100%;color:var(--text);background:var(--color-surface-alt);border:1px solid var(--border);border-radius:var(--radius-pill);grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px 7px 12px;font-size:.82rem;display:flex}.filter-pin-clear{width:22px;height:22px;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.filter-pin-clear:hover{color:var(--text);border-color:var(--text-muted)}.filter-foot{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:12px;display:flex}.filter-foot-left,.filter-foot-right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filter-foot-right{margin-left:auto}.clear-filters{border-radius:var(--radius-sm);font:inherit;cursor:pointer;color:var(--muted);transition:background .3s var(--transition), color .3s var(--transition), box-shadow .3s var(--transition), transform .3s var(--transition);background:0 0;border:0;align-items:center;gap:8px;padding:9px 14px;font-size:.88rem;font-weight:600;display:inline-flex}.clear-filters:hover{color:var(--danger);background:#ef44441a}.filter-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--color-surface-alt);width:32px;height:32px;color:var(--muted);cursor:pointer;transition:background .3s var(--transition), color .3s var(--transition), border-color .3s var(--transition), transform .3s var(--spring);flex-shrink:0;justify-content:center;align-items:center;display:none}.filter-toggle:hover{color:var(--brand-strong);border-color:var(--brand-mid)}.filter-toggle svg{transition:transform .3s var(--spring)}.filter-card:has(.filter-collapse.open) .filter-toggle svg{transform:rotate(180deg)}.filter-collapse{display:block}@media (width<=480px){.filter-toggle{display:flex}.filter-collapse{opacity:0;transition:grid-template-rows .45s var(--spring), opacity .3s ease;grid-template-rows:0fr;display:grid;overflow:hidden}.filter-collapse.open{opacity:1;grid-template-rows:1fr}.filter-collapse-inner{min-height:0;overflow:hidden}.filter-collapse:not(.open) .filter-collapse-inner{visibility:hidden}}.filter-alert,.filter-addressee{box-sizing:border-box;background:var(--color-surface-alt);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:40px;color:var(--text);font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .3s var(--transition), background .3s var(--transition);align-items:center;gap:8px;padding:0 12px;font-size:.9rem;font-weight:600;display:flex}.filter-alert>span,.filter-addressee>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.filter-alert:hover,.filter-addressee:hover{border-color:var(--brand-mid)}:is(.filter-alert:has(:focus-visible),.filter-addressee:has(:focus-visible)){border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.filter-alert.is-on{background:#f59e0b;border-color:#f59e0b}@supports (color:color-mix(in lab, red, red)){.filter-alert.is-on{background:color-mix(in srgb, #f59e0b 12%, var(--color-surface-alt))}}.filter-addressee.is-on{background:#8b5cf6;border-color:#8b5cf6}@supports (color:color-mix(in lab, red, red)){.filter-addressee.is-on{background:color-mix(in srgb, #8b5cf6 12%, var(--color-surface-alt))}}.filter-alert>svg{color:#f59e0b;flex-shrink:0}.filter-addressee>svg{color:#8b5cf6;flex-shrink:0}.search-field{display:block;position:relative}.search-field svg{color:var(--muted);pointer-events:none;z-index:1;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.search-field .input{width:100%;min-width:0;height:40px;padding-left:32px}.switch-label{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:flex-end;align-items:center;gap:10px;margin-bottom:14px;display:flex}.switch-label .switch-text{color:var(--text);text-align:right;font-size:.9rem;font-weight:600;line-height:1.35}.field-top{justify-content:flex-start;align-items:center;gap:12px;margin:6px 0 2px;display:flex;overflow:hidden}.switch-hint{color:var(--muted);text-align:left;overflow-wrap:break-word;min-width:0;font-size:.78rem;line-height:1.5}.dashboard__switch{width:3rem;height:1.5rem;display:inline-block;position:relative}.dashboard__switch input{opacity:0;width:0;height:0}.dashboard__switch--slider{background:var(--text);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.dashboard__switch--slider{background:color-mix(in srgb, var(--text) 14%, transparent)}}.dashboard__switch--slider{cursor:pointer;transition:background .3s ease-in-out;position:absolute;inset:0}.dashboard__switch--slider:before{content:"";background:var(--color-surface);border-radius:50%;width:1.125rem;height:1.125rem;transition:transform .3s ease-in-out,background .3s ease-in-out;position:absolute;top:.1875rem;left:.1875rem;box-shadow:0 1px 3px #00000059}.dashboard__switch input:checked+.dashboard__switch--slider{background:var(--brand)}.dashboard__switch input:checked+.dashboard__switch--slider:before{transform:translate(1.5rem)}.dashboard__switch input:focus-visible+.dashboard__switch--slider{outline:2px solid var(--brand)}@supports (color:color-mix(in lab, red, red)){.dashboard__switch input:focus-visible+.dashboard__switch--slider{outline:2px solid color-mix(in srgb, var(--brand) 60%, transparent)}}.dashboard__switch input:focus-visible+.dashboard__switch--slider{outline-offset:2px}:root[data-theme=dark] .dashboard__switch--slider{background:var(--text)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .dashboard__switch--slider{background:color-mix(in srgb, var(--text) 26%, transparent)}}:root[data-theme=dark] .dashboard__switch--slider:before{background:var(--color-surface);box-shadow:0 1px 3px #0009}.toggle-field:hover{border-color:var(--brand)}.toggle-field input{opacity:0;pointer-events:none;position:absolute}.toggle-field .tf-box{border:2px solid var(--border);color:#fff;border-radius:5px;flex-shrink:0;place-items:center;width:18px;height:18px;transition:background .2s,border-color .2s;display:grid}.toggle-field.on .tf-box{background:var(--brand);border-color:var(--brand)}.toggle-field>svg{color:var(--muted);transition:color .3s var(--transition);flex-shrink:0}.toggle-field.on>svg{color:#f59e0b}.toggle-field .tf-label{font-weight:500}.ms-root{width:100%;position:relative}.ms-trigger{background:var(--color-surface-alt);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-width:0;height:40px;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .3s var(--transition), box-shadow .3s var(--transition), background .3s var(--transition);align-items:center;gap:8px;padding:0 12px;font-size:.9rem;display:flex;position:relative}.ms-trigger:hover,.ms-trigger.has-value{border-color:var(--brand)}.ms-trigger:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.ms-trigger:disabled,.ms-trigger:disabled:hover{border-color:var(--border);color:var(--muted);cursor:not-allowed;box-shadow:none}.ms-trigger .ms-icon{color:var(--muted);z-index:1;pointer-events:none;flex-shrink:0;display:inline-flex;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.ms-trigger.has-icon{padding-left:32px}.ms-trigger>svg:last-child{color:var(--muted);transition:transform .3s var(--transition);flex-shrink:0}.ms-root.open .ms-trigger>svg:last-child{transform:rotate(180deg)}.ms-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ms-label.placeholder{color:var(--muted)}.ms-clear{width:20px;height:20px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.ms-clear:hover{color:var(--danger);background:#ef44441f}.ms-menu{z-index:80;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);min-width:180px;box-shadow:var(--shadow-card);transform-origin:var(--ms-origin,top);overflow:hidden}.ms-search{border-bottom:1px solid var(--border);padding:8px}.ms-search-wrap{position:relative}.ms-search-wrap svg{color:var(--muted);pointer-events:none;z-index:1;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.ms-search-wrap input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--color-surface-alt);width:100%;height:30px;color:var(--text);font:inherit;transition:border-color .3s var(--transition);outline:none;padding:0 8px 0 28px;font-size:.82rem}.ms-search-wrap input:focus{border-color:var(--brand)}.ms-list{overscroll-behavior:contain;max-height:192px;padding:4px;overflow-y:auto}.ms-row-plain{transition:transform .2s var(--spring)}.ms-row-plain:hover{transform:translate(2px)}.ms-empty{text-align:center;color:var(--muted);margin:0;padding:8px;font-size:.85rem}.ms-group{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);padding:8px 8px 4px;font-size:.7rem;font-weight:700;display:block}.ms-check{color:var(--brand);flex-shrink:0;display:inline-flex}.ms-item{border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:0;align-items:center;gap:8px;padding:6px 8px;font-size:.88rem;display:flex}.ms-item:hover{background:var(--brand-soft)}.ms-item.selected{background:var(--brand-soft);color:var(--brand-strong);font-weight:600}.ms-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ms-foot{border-top:1px solid var(--border);justify-content:space-between;gap:8px;padding:6px 8px;display:flex}.ms-foot button{font:inherit;cursor:pointer;background:0 0;border:0;font-size:.78rem;font-weight:600}.ms-toda{color:var(--brand-strong)}.ms-toda:hover{text-decoration:underline}.ms-ninguna{color:var(--muted)}.ms-ninguna:hover{color:var(--danger)}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:auto;padding-top:8px;display:flex}.pagination-side{color:var(--muted);align-items:center;gap:8px;font-size:.88rem;display:flex}.section-title{color:var(--text);margin:2px 0 10px;font-size:1.02rem;font-weight:700}.missing-list{flex-wrap:wrap;gap:8px;display:flex}.missing-chip{border:1px solid var(--color-red);color:var(--color-red);background:var(--danger-soft);border-radius:var(--radius-sm);font-family:var(--mono);padding:6px 12px;font-size:.85rem}.input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--color-surface-alt);width:auto;min-width:0;max-width:100%;color:var(--text);font:inherit;transition:border-color .3s var(--transition), box-shadow .3s var(--transition);outline:none;padding:10px 12px;font-size:.9rem}.input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}textarea.input{resize:vertical}input[type=date].input,input[type=date].field,input[type=date].role-select{appearance:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;width:100%;min-height:39px;padding-right:34px;position:relative}input[type=date].input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;width:16px;height:16px;transition:opacity .3s var(--transition);margin:0;padding:0;position:absolute;top:50%;right:8px;transform:translateY(-50%)}input[type=date].field::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;width:16px;height:16px;transition:opacity .3s var(--transition);margin:0;padding:0;position:absolute;top:50%;right:8px;transform:translateY(-50%)}input[type=date].role-select::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;width:16px;height:16px;transition:opacity .3s var(--transition);margin:0;padding:0;position:absolute;top:50%;right:8px;transform:translateY(-50%)}input[type=date].input::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=date].field::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=date].role-select::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=date].input::-webkit-input-placeholder{color:var(--muted)}input[type=date].field::-webkit-input-placeholder{color:var(--muted)}input[type=date].input:invalid,input[type=date].field:invalid,input[type=date].role-select:invalid{color:var(--muted)}:root[data-theme=dark] input[type=date].input,:root[data-theme=dark] input[type=date].field,:root[data-theme=dark] input[type=date].role-select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.msg-ok{border-radius:var(--radius-sm);color:var(--color-green);background:var(--success-soft);border:1px solid var(--color-green);animation:snap-in .35s var(--spring) both;padding:10px 14px;font-size:.9rem}.pkg-list{flex-direction:column;gap:14px;display:flex}.pkg-card{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--brand-mid);border-radius:var(--radius-md);box-shadow:var(--shadow);transition:border-color .3s var(--transition), border-left-color .3s var(--transition);padding:16px 18px;animation:.4s cubic-bezier(.22,.9,.3,1) both rise}.pkg-card:hover{border-color:var(--brand-mid)}.pkg-card.pkg-dirty{border-left-color:var(--color-amber)}.pkg-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.pkg-top-title{align-items:center;gap:12px;min-width:0;display:flex}.pkg-badge{border-radius:var(--radius-sm);background:var(--brand-soft);border:1px solid var(--brand-mid);width:40px;height:40px;color:var(--brand-strong);box-shadow:var(--shadow);flex-shrink:0;place-items:center;display:grid}.pkg-title-block{flex-direction:column;gap:3px;min-width:0;display:flex}.pkg-kicker{text-transform:uppercase;letter-spacing:.13em;color:var(--muted);align-items:center;gap:5px;font-size:.66rem;font-weight:700;display:inline-flex}.pkg-hbl{color:var(--text);letter-spacing:.3px;word-break:break-all;font-size:1.05rem;font-weight:700}.pkg-top-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.pkg-state{color:var(--brand-strong);background:var(--brand-soft);border:1px solid var(--brand-mid);border-radius:var(--radius-pill);white-space:nowrap;padding:4px 10px;font-size:.78rem;font-weight:600}.pkg-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.pkg-title{align-items:center;gap:10px;min-width:0;display:flex}.pkg-title strong{color:var(--text);letter-spacing:.3px}.pkg-done{color:var(--color-green);background:var(--success-soft);border:1px solid var(--color-green);border-radius:var(--radius-pill);align-items:center;gap:4px;padding:3px 9px;font-size:.75rem;font-weight:700;display:inline-flex}.pkg-meta{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin:10px 0;font-size:.86rem;display:flex}.pkg-facts{flex-wrap:wrap;gap:8px 26px;margin:14px 0 4px;display:flex}.pkg-fact{color:var(--text);white-space:nowrap;align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:inline-flex}.pkg-fact-icon{width:18px;height:18px;color:var(--brand-strong);flex-shrink:0;place-items:center;display:grid}.pkg-agency{background:var(--color-surface-alt);border:1px dashed var(--brand-mid);border-radius:var(--radius-sm);align-items:center;gap:8px;min-width:0;margin:10px 0;padding:9px 12px;display:flex}.pkg-agency-kicker{text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-size:.66rem;font-weight:700}.pkg-agency strong{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.pkg-lines{flex-direction:column;gap:6px;display:flex}.pkg-line{color:var(--muted);align-items:center;gap:8px;min-width:0;font-size:.88rem;display:flex}.pkg-line .pkg-fact-icon{color:var(--muted)}.pkg-line span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pkg-actions{align-items:center;gap:8px;margin-top:14px;display:flex}.pkg-date{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.82rem}.pkg-foot{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;padding-top:12px;display:flex}.pkg-quick{flex-direction:column;flex:170px;gap:4px;min-width:0;display:flex}.pkg-quick-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.7rem;font-weight:700}.pkg-quick .role-select{width:100%;min-height:38px}.pkg-save{align-self:flex-end}.token-box{background:var(--color-surface-alt);border:1px dashed var(--brand-mid);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.token-box-inline{background:0 0;border:none;margin-top:4px;padding:0}.token-label{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-size:.78rem}.token-value{color:var(--brand-strong);background:var(--brand-soft);border:1px solid var(--brand-mid);border-radius:var(--radius-pill);word-break:break-all;padding:3px 10px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.85rem;font-weight:700}.token-value.is-expired{color:var(--text-dim);background:var(--color-surface-alt);border-color:var(--border);text-decoration:line-through}.pkg-info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.pkg-info-field{background:var(--color-surface-alt);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:flex-start;gap:10px;min-width:0;padding:10px 12px;display:flex}.pkg-info-field.span2{grid-column:1/-1}.pkg-info-field .pkg-fact-icon{margin-top:2px}.pkg-info-field label{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:4px;font-size:.68rem;font-weight:700;display:block}.pkg-info-field strong{color:var(--text);word-break:break-word;font-size:.92rem;font-weight:600;line-height:1.4;display:block}.info-phones{flex-direction:column;gap:2px;margin-top:6px;display:flex}.info-phone{color:var(--text);background:var(--color-surface-alt);border:1px solid var(--border);border-radius:var(--radius-pill);width:fit-content;padding:2px 8px;font-size:.85rem;display:block}.pkg-history{flex-direction:column;display:flex}.pkg-history-head{background:var(--brand-soft);border:1px solid var(--brand-mid);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:10px 12px;display:flex}.pkg-history-head strong{color:var(--text);letter-spacing:.3px;font-size:.95rem}.pkg-history-sub{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:16px 0 8px;font-size:.72rem}@media (width<=560px){.pkg-top{flex-direction:column;align-items:flex-start;gap:10px}.pkg-top-right{justify-content:space-between;width:100%}.pkg-date{margin-left:0}}.timeline{flex-direction:column;gap:10px;display:flex}.info-pkg-section{flex-direction:column;gap:10px;margin-bottom:18px;display:flex}.info-pkg-section .pkg-history-sub{margin:0}.tl-item{align-items:flex-start;gap:12px;display:flex;position:relative}.tl-item:before{content:"";background:var(--border);border-radius:2px;width:2px;position:absolute;top:16px;bottom:-14px;left:5.5px;transform:translate(-50%)}.tl-item.passed:before{background:var(--brand-mid)}.tl-item:last-child:before{display:none}.tl-dot{background:var(--muted);opacity:.45;z-index:1;border-radius:50%;flex-shrink:0;width:12px;height:12px;margin-top:4px;position:relative}.tl-dot.done{background:var(--color-green);opacity:1;box-shadow:0 0 0 3px var(--success-soft)}.tl-dot.current{background:var(--brand-strong);opacity:1;box-shadow:0 0 0 3px var(--brand-soft)}.tl-body{min-width:0;font-size:.9rem}.tl-meta{color:var(--muted);margin-top:1px;font-size:.8rem;display:block}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;animation:fade-in .25s var(--spring) both;background:#0000008c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:640px;max-height:88vh;box-shadow:var(--shadow-card);animation:snap-in .35s var(--spring) both;padding:22px;position:relative;overflow:auto}.modal>.modal-close{z-index:2;position:absolute;top:12px;right:12px}.modal-overlay.closing{animation:fade-out .26s var(--spring) both}.modal.closing{animation:snap-out .26s var(--spring) both}@keyframes fade-out{to{opacity:0}}@keyframes snap-out{to{opacity:0;transform:scale(.96)translateY(10px)}}.modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-right:40px;display:flex}.modal-head h3{color:var(--text);align-items:center;gap:8px;margin:0;display:flex}.modal-close{border:1px solid var(--border);width:30px;height:30px;color:var(--muted);cursor:pointer;transition:background .3s var(--transition), color .3s var(--transition), border-color .3s var(--transition), transform .3s var(--spring);background:0 0;border-radius:10px;flex-shrink:0;place-items:center;display:grid}.modal-close:hover{background:var(--danger-soft);color:var(--danger);border-color:var(--danger);transform:rotate(90deg)scale(1.05)}.modal-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.inactividad-overlay{z-index:60}.inactividad-modal{text-align:center;max-width:400px}.inactividad-modal .modal-head{justify-content:center;padding-right:0}.inactividad-modal .hint{margin:0;font-size:.95em}.inactividad-modal .modal-actions{justify-content:center}.modal-sm{max-width:440px}.modal-body-text{color:var(--muted);margin:0 0 4px;line-height:1.55}.field-hint{color:var(--muted);margin-top:6px;font-size:.75rem;display:block}.toast-stack{z-index:300;flex-direction:column;gap:10px;max-width:calc(100vw - 40px);display:flex;position:fixed;top:84px;right:20px}.toast{--toast-color:var(--text);--toast-tint:12%;border:1px solid var(--toast-color);align-items:center;gap:12px;width:320px;max-width:100%;padding:16px;display:flex}@supports (color:color-mix(in lab, red, red)){.toast{border:1px solid color-mix(in srgb, var(--toast-color) 34%, var(--border))}}.toast{border-radius:var(--radius-sm);background:var(--toast-color)}@supports (color:color-mix(in lab, red, red)){.toast{background:color-mix(in srgb, var(--toast-color) var(--toast-tint), var(--card))}}.toast{color:var(--text);box-shadow:var(--shadow-card);font-size:.9rem}:root[data-theme=dark] .toast{--toast-tint:22%}.toast.ok{--toast-color:var(--color-green)}.toast.error{--toast-color:var(--color-red)}.toast.info{--toast-color:var(--color-blue)}.toast.warn{--toast-color:var(--color-amber)}.toast-icon{color:var(--toast-color);flex-shrink:0}.toast-text{flex:1}.toast-close{color:inherit;cursor:pointer;transition:background .15s var(--transition);background:0 0;border:0;border-radius:999px;flex-shrink:0;place-items:center;padding:4px;display:grid}.toast-close:hover{background:var(--toast-color)}@supports (color:color-mix(in lab, red, red)){.toast-close:hover{background:color-mix(in srgb, var(--toast-color) 18%, transparent)}}.toast-close:focus-visible{outline:2px solid var(--toast-color);outline-offset:1px}[data-slot=checkbox]{padding:0}[data-slot=checkbox]:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.modal-section{margin-bottom:18px}.modal-section+.modal-section{border-top:1px solid var(--border);padding-top:14px}.modal-section h4{text-transform:uppercase;letter-spacing:.04em;color:var(--brand);margin:0 0 12px;font-size:.95rem;font-weight:700}.addr-finder{position:relative}.addr-finder__list{z-index:30;background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-sm);max-height:260px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000002e}.addr-finder__item{text-align:left;border-radius:var(--radius-sm);cursor:pointer;width:100%;color:var(--text);background:0 0;border:0;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.addr-finder__item:hover{background:var(--brand-soft)}.addr-finder__name{font-weight:600}.addr-finder__ci{font-family:var(--mono);color:var(--muted);font-size:.78rem}.addr-finder__phones{color:var(--muted);font-size:.82rem}.field.span2{grid-column:1/-1}.field label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px;font-size:.8rem;font-weight:600;display:block}.field .input,.field .role-select{width:100%;min-width:0}.inline-row{grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:10px;display:grid}.inline-row .input{width:100%;min-width:0}.phone-row{grid-template-columns:1fr auto;gap:10px;min-width:0;margin-top:10px;display:grid}.phone-row .input{width:100%;min-width:0}.modal-foot{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:20px;display:flex}.modal-foot .btn{flex:none;width:160px;min-width:160px}.modal-foot-group{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.modal-foot--stack{text-align:center;flex-direction:column;align-items:center;gap:14px}.modal-foot--stack .modal-foot-group{grid-template-columns:repeat(auto-fit,minmax(0,1fr));width:100%;display:grid}.modal-foot--stack .modal-foot-group .btn{width:100%;min-width:0}.hint{color:var(--muted);font-size:.82rem}.update-search{align-items:stretch;gap:12px;width:100%;display:flex}.update-search-box{flex:3;align-items:center;min-width:0;display:flex;position:relative}.update-search-box>svg{color:var(--muted);pointer-events:none;z-index:1;position:absolute;left:14px}.update-search-box .input{width:100%;min-height:54px;padding-left:42px;font-size:1rem}.update-search .btn{flex:1;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:54px;padding:0 28px;font-size:.95rem;display:inline-flex}.update-search .btn:not(:disabled){box-shadow:var(--glow)}.update-results{flex-direction:column;gap:10px;max-height:46vh;margin-top:16px;display:flex;overflow:auto}.update-card{border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.chg-list{flex-direction:column;gap:12px;margin-top:16px;display:flex}.chg-card{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--brand-mid);border-radius:var(--radius-md);box-shadow:var(--shadow);transition:border-color .3s var(--transition), border-left-color .3s var(--transition);padding:16px 18px;animation:.4s cubic-bezier(.22,.9,.3,1) both rise}.chg-card:hover{border-color:var(--brand-mid)}.chg-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.chg-title{flex-direction:column;gap:2px;min-width:0;display:flex}.chg-hbl{color:var(--text);font-size:1.05rem}.chg-facts{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 18px;margin-top:12px;display:grid}.chg-fact{flex-direction:column;gap:2px;min-width:0;display:flex}.chg-fact-kicker{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.72rem}.chg-fact strong{color:var(--text);overflow-wrap:anywhere;font-size:.95rem}.chg-facts--modal{border:1px solid var(--border);background:var(--control-bg);border-radius:10px;margin:0 0 14px;padding:10px 12px}.chg-trail{border-top:1px dashed var(--border);flex-direction:column;gap:6px;margin-top:12px;padding-top:12px;display:flex}.chg-trail-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.72rem}.chg-trail-item{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.chg-trail-date{color:var(--muted);white-space:nowrap;font-size:.8rem}.chg-trail-arrow{color:var(--text);overflow-wrap:anywhere;align-items:center;gap:6px;font-size:.88rem;display:inline-flex}.chg-trail-arrow svg{color:var(--brand-mid);flex:none}.chg-foot{justify-content:center;margin-top:14px;display:flex}.chg-foot .btn{justify-content:center;min-width:220px}.update-info{flex-direction:column;gap:2px;min-width:0;display:flex}.update-info strong{color:var(--text)}.update-info span{color:var(--muted);font-size:.85rem}.update-loc{font-size:.78rem}.update-suggest{margin-top:2px;font-weight:600;color:var(--info-text)!important;font-size:.76rem!important}.update-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.update-controls .role-select{flex:150px;min-width:0}.profile-panel{flex-direction:column;gap:16px;width:100%;display:flex}.profile-hero{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"avatar info actions";align-items:center;gap:14px 20px;padding:20px 24px;animation:.4s cubic-bezier(.22,.9,.3,1) both rise;display:grid;position:relative}.profile-avatar-wrap{flex-direction:column;flex-shrink:0;grid-area:avatar;align-items:center;gap:10px;display:flex}.profile-avatar{border:2px solid var(--brand-mid);background:var(--gradient-primary);color:#fff;width:84px;height:84px;box-shadow:var(--glow);object-fit:cover;border-radius:50%;place-items:center;font-size:1.8rem;font-weight:700;display:grid}.profile-panel .icon-btn{background:var(--color-surface-alt);border-color:var(--border);color:var(--muted)}.profile-panel .icon-btn:hover{background:var(--brand-soft);color:var(--brand);border-color:var(--brand-mid);transform:translateY(-1px)}.profile-panel .icon-btn.danger:hover{background:var(--danger-soft);color:var(--color-red);border-color:var(--color-red)}.profile-hero-btn-label{display:none}.profile-panel .profile-hero-actions{grid-area:actions;justify-self:end;align-items:center;gap:6px;display:flex;position:static}.profile-panel .icon-btn.refresh-btn{display:grid}.profile-avatar-actions{flex-direction:row;justify-content:center;align-items:center;gap:8px;width:100%;display:flex}.profile-avatar-actions .avatar-btn{justify-content:center;align-items:center;gap:6px;min-width:132px;height:36px;display:inline-flex}.profile-avatar-actions label.btn{cursor:pointer}.profile-hero-info{flex-direction:column;grid-area:info;align-items:flex-start;gap:8px;min-width:0;display:flex}.profile-hero-info .profile-nick{margin:-2px 0 0;font-size:.9rem}.profile-hero-info .profile-name{color:var(--text);white-space:normal;text-overflow:clip;overflow-wrap:anywhere;margin:0;font-size:1.4rem;overflow:visible}.profile-role{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.profile-role .user-role-chip,.profile-role .user-agency-chip,.profile-role .badge{letter-spacing:0;text-transform:capitalize;padding:4px 10px;font-size:.72rem;line-height:1.3}.profile-role .user-agency-chip{text-transform:none;font-family:var(--font-mono)}.profile-edit-avatar{flex-direction:column;align-items:center;gap:12px;margin:4px 0 16px;display:flex}.profile-edit-avatar .profile-avatar{width:128px;height:128px;font-size:2.5rem}.profile-nick{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.95rem}.profile-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;box-shadow:var(--shadow);padding:18px 22px}.profile-section>h3{color:var(--text);margin:0 0 8px;font-size:1.02rem}.profile-actions-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.profile-details{width:100%}.profile-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.profile-row:last-child{border-bottom:none}.profile-key{color:var(--muted);font-size:.86rem}.profile-value{color:var(--text);text-align:right;overflow-wrap:anywhere;font-size:.9rem;font-weight:600}.avatar-photo{border:2px solid var(--brand-mid);object-fit:cover;border-radius:50%;flex-shrink:0;width:28px;height:28px}.app-header .avatar-photo{border:2px solid var(--brand-mid)}.profile-btn .avatar-photo{border:2px solid var(--brand-mid);width:40px;height:40px}.blob-avatar.blob-avatar{object-fit:cover;box-shadow:none;background:0 0;display:block}.route-sections{flex-direction:column;gap:18px;display:flex}.route-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);flex-direction:column;gap:12px;padding:18px 20px;display:flex}.section-title{color:var(--text);margin:0;font-size:1.02rem}.chip-list{flex-wrap:wrap;gap:8px;display:flex}.chip{color:var(--text);background:var(--color-surface-alt);border:1px solid var(--border);border-radius:var(--radius-pill);padding:5px 12px;font-size:.82rem}.route-list{flex-direction:column;gap:10px;display:flex}.route-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-alt);padding:14px 16px}.list-groups{gap:0}.list-group+.list-group{border-top:1px solid var(--border);margin-top:26px;padding-top:22px}.list-group-title{color:var(--text);letter-spacing:.01em;align-items:center;gap:10px;margin:0 0 12px;font-size:1.05rem;font-weight:800;line-height:1.3;display:flex}.list-group-title:before{content:"";border-radius:var(--radius-pill);background:var(--gradient-primary);flex-shrink:0;align-self:stretch;width:4px;min-height:1.15em}.list-group-title .list-group-count{font-family:var(--mono);letter-spacing:0;color:var(--muted);background:var(--color-surface-alt);border:1px solid var(--border);border-radius:var(--radius-pill);flex-shrink:0;padding:2px 9px;font-size:.72rem;font-weight:600}.list-group .route-list{gap:8px}.route-title{flex:0 auto;align-items:center;gap:10px;min-width:0;display:flex}.route-title>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (width<=480px){.list-group+.list-group{margin-top:20px;padding-top:18px}.list-group-title{font-size:.98rem}}.route-head{align-items:center;gap:10px;min-width:0;display:flex}.route-sub{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.route-sub-col{flex-direction:column;align-items:flex-start}.route-code{color:var(--brand-strong);background:var(--brand-soft);border:1px solid var(--brand-mid);border-radius:var(--radius-pill);text-align:center;flex-shrink:0;min-width:44px;padding:3px 9px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.8rem;font-weight:700}.assign-list{flex-direction:column;gap:8px;max-height:46vh;display:flex;overflow:auto}.assign-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--color-surface-alt);cursor:pointer;transition:border-color .3s var(--transition);align-items:center;gap:10px;padding:8px 10px;display:flex}.assign-item:hover{border-color:var(--brand-mid)}.field label.assign-item{font-size:inherit;font-weight:inherit;color:inherit;gap:14px;margin-bottom:0;display:flex}.assign-item input[type=radio]{accent-color:var(--brand);cursor:pointer;flex-shrink:0;width:16px;height:16px}.assign-item span:first-of-type{font-size:.9rem}.assign-item span:first-of-type .route-code{margin-left:8px}.province-muns .assign-item>span{align-items:center;gap:12px;min-width:0;display:flex}.province-muns .assign-item .route-code.capital{margin-left:0}.assign-item .tl-meta{margin-left:auto}.assign-info{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--color-surface-alt);flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:12px;padding:10px 12px;font-size:.92rem;display:flex}.route-drivers{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--color-surface-alt);align-items:flex-start;gap:8px;padding:10px 12px;font-size:.92rem;line-height:1.4;display:flex}.route-drivers svg{color:var(--brand);flex-shrink:0;margin-top:3px}.route-drivers strong{color:var(--text)}.bootstrap-card{background:var(--card);border:1px solid var(--brand-mid);border-radius:var(--radius-md);box-shadow:var(--shadow-card);align-items:flex-start;gap:16px;margin-bottom:18px;padding:18px 20px;animation:.4s cubic-bezier(.22,.9,.3,1) both rise;display:flex}.bootstrap-icon{border-radius:var(--radius-md);background:var(--gradient-primary);color:#fff;width:46px;height:46px;box-shadow:var(--glow);flex-shrink:0;place-items:center;display:grid}.bootstrap-body{flex:1}.bootstrap-title{color:var(--text);font-size:1.02rem;font-weight:700}.bootstrap-body p{color:var(--muted);margin:6px 0 12px;font-size:.9rem}.bootstrap-body .btn{width:auto}.stat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);height:100%;min-height:120px;box-shadow:var(--shadow);transition:box-shadow .3s var(--transition), transform .3s var(--transition), border-color .3s var(--transition);flex-direction:column;justify-content:center;gap:8px;padding:18px;display:flex}.stat:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}button.stat{appearance:none;font:inherit;text-align:left;color:var(--text);width:100%}button.stat:hover{border-color:var(--brand-mid)}button.stat:focus-visible,button.route-line-btn:focus-visible{outline:2px solid var(--brand-mid);outline-offset:2px}.stat-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.stat-head{align-items:center;gap:8px;display:flex}.stat .value{color:var(--brand-strong);font-size:1.7rem;font-weight:700}.stat .label{color:var(--muted);font-size:.9rem}.stat-icon{opacity:.9;flex-shrink:0}.stat.accent-blue{border-top:3px solid #3b82f6}.stat.accent-blue .value,.stat.accent-blue .stat-icon{color:#3b82f6}.stat.accent-amber{border-top:3px solid #f59e0b}.stat.accent-amber .value,.stat.accent-amber .stat-icon{color:#f59e0b}.stat.accent-emerald{border-top:3px solid #10b981}.stat.accent-emerald .value,.stat.accent-emerald .stat-icon{color:#10b981}.stat.accent-purple{border-top:3px solid #a855f7}.stat.accent-purple .value,.stat.accent-purple .stat-icon{color:#a855f7}.stat.accent-rose{border-top:3px solid #f43f5e}.stat.accent-rose .value,.stat.accent-rose .stat-icon{color:#f43f5e}.routes-stat{border-top:3px solid var(--text);grid-column:1/-1;min-height:0}.clock-card{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow);border:1px solid #10b981;align-items:center;gap:18px;padding:10px 20px;animation:1.4s ease-in-out infinite clock-card-pulse;display:flex}.clock-card .clock-icon{background:linear-gradient(135deg, var(--brand) 0%, var(--brand-strong) 100%);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 2px 8px #1f6feb52}.clock-card .clock-time{color:var(--brand-strong);letter-spacing:1px;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.9rem;font-weight:800;line-height:1}.clock-card .clock-ampm{color:var(--muted);text-transform:uppercase;margin-left:6px;font-size:.85rem;font-weight:700}.clock-card .clock-divider{background:var(--brand-mid);opacity:.5;flex-shrink:0;width:1px;height:34px}.clock-card .clock-side{flex-direction:column;align-items:flex-start;gap:3px;min-width:0;display:flex}.clock-card .clock-date{color:var(--text);text-transform:capitalize;white-space:nowrap;font-size:.92rem;font-weight:600}.clock-card .clock-live{letter-spacing:.08em;text-transform:uppercase;color:#10b981;flex-shrink:0;align-items:center;gap:6px;font-size:.7rem;font-weight:700;display:inline-flex}.clock-dot{background:#10b981;border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite clock-pulse}@keyframes clock-pulse{0%,to{box-shadow:0 0 #10b98173}50%{box-shadow:0 0 0 5px #10b98100}}@keyframes clock-card-pulse{0%,to{box-shadow:0 0 0 0 #10b98147, var(--shadow);border-color:#10b98147}50%{box-shadow:0 0 12px #10b98173, var(--shadow);border-color:#10b981}}@media (width<=900px){.clock-card{gap:14px;padding:8px 16px}.clock-card .clock-icon{width:36px;height:36px}.clock-card .clock-icon svg{width:18px;height:18px}.clock-card .clock-time{font-size:1.55rem}}@media (width<=560px){.clock-card{border-radius:var(--radius-md);flex-wrap:wrap;justify-content:center;gap:10px;padding:12px 16px}.clock-card .clock-icon,.clock-card .clock-divider{display:none}.clock-card .clock-time{text-align:center;width:100%;font-size:1.6rem}.clock-card .clock-side{align-items:center;width:100%}}@media (width<=1024px){.page-head{grid-template-columns:1fr auto;gap:10px 16px}.page-head-center{grid-area:2/1/auto/-1;justify-content:center;justify-self:stretch}.page-head-center .clock-card{justify-content:center;width:100%;padding:14px 16px}.page-actions{grid-area:1/2;justify-content:flex-end;justify-self:end}}@media (width<=720px){.page-head:not(:has(.page-head-center)){grid-template-columns:1fr}.page-head:not(:has(.page-head-center)) .page-actions{grid-area:auto/1;justify-content:center;justify-self:stretch}}@media (width<=560px){.page-head{gap:8px}.page-head h1{font-size:1.3rem}.page-head p{font-size:.88rem}}@media (width<=480px){.page-actions .refresh-btn{justify-content:center;width:38px;min-height:38px;padding:0}.page-actions .refresh-btn span{display:none}}.routes-list{flex-direction:column;margin-top:6px;display:flex}.route-line{border-bottom:1px dashed var(--border);align-items:center;gap:12px;padding:9px 0;display:flex}.route-line:last-child{border-bottom:none}button.route-line-btn{appearance:none;font:inherit;text-align:left;color:var(--text);border-radius:var(--radius-sm);width:100%;transition:background .2s var(--transition)}button.route-line-btn:hover{background:var(--color-surface-alt)}.route-code{font-family:var(--mono);color:var(--text);min-width:96px;font-size:.85rem;font-weight:600}.route-head .route-code,.card-codes .route-code,.entidad-tags .route-code{color:var(--brand-strong);background:var(--brand-soft);border:1px solid var(--brand-mid);border-radius:var(--radius-pill);text-align:center;flex-shrink:0;min-width:44px;padding:3px 10px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.78rem;font-weight:700}.route-code.warn{color:var(--color-amber);background:var(--color-amber)}@supports (color:color-mix(in lab, red, red)){.route-code.warn{background:color-mix(in srgb, var(--color-amber) 12%, transparent)}}.route-code.warn{border-color:var(--color-amber)}.route-code.capital{color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.route-code.capital{color:color-mix(in srgb, var(--color-accent) 88%, var(--text))}}.route-code.capital{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.route-code.capital{background:color-mix(in srgb, var(--color-accent) 12%, transparent)}}.route-code.capital{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.route-code.capital{border-color:color-mix(in srgb, var(--color-accent) 45%, transparent)}}.route-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.route-date{color:var(--muted);white-space:nowrap;font-size:.85rem}.routes-empty{color:var(--muted);padding:6px 0;font-size:.9rem}.placeholder{color:var(--muted);text-align:center;background:0 0;border:0;border-radius:0;padding:0}.track-title{text-align:center}.timeline{margin-top:18px;padding:0;list-style:none}.timeline li{border-left:2px solid var(--border);--tl-color:var(--brand);margin-left:8px;padding:0 0 18px 22px;position:relative}.timeline li:last-child{border-left-color:#0000}.timeline li:before{content:"";background:var(--tl-color);border-radius:50%;width:10px;height:10px;position:absolute;top:4px;left:-6px}.timeline .t-state{color:var(--tl-color);font-weight:600}.timeline .t-meta{color:var(--muted);font-size:.85rem}.mono{font-family:var(--mono)}@media (width<=560px){.header-group.start.brand-collapsed{flex-shrink:0}}@media (width<=720px){.modal{max-width:560px;padding:18px}.app-header{gap:10px;padding:0 12px}.bell-panel{right:12px}.header-actions .label,.header-quick .hdr-label{display:none}.header-quick{gap:6px}.hdr-btn{justify-content:center;width:38px;padding:0}.header-user-name,.header-user svg{display:none}.header-user{border-radius:var(--radius-sm);justify-content:center;width:38px;max-width:none;height:38px;padding:0}.app-header .hbl-search input{flex:1;width:auto;min-width:90px}.app-header .hbl-search{flex:1;min-width:0}.sidebar{width:240px}.nav-item.sub{padding-left:22px}.main{padding:16px}.toolbar{flex-direction:column;align-items:stretch}.toolbar .toolbar-info{text-align:right}.filter-panel{flex-direction:column;align-items:stretch}.pagination{justify-content:flex-start}.form-grid,.inline-row,.filter-search-row{grid-template-columns:1fr}.crud-toolbar{flex-wrap:wrap}.crud-toolbar .btn{min-width:0}.drop-zone{padding:36px 16px}.toolbar-actions{justify-content:center}.route-head{flex-wrap:wrap}}.nf-card{text-align:center;padding:44px 32px}.nf-code{font-family:var(--mono);background:var(--gradient-primary);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:3.4rem;font-weight:800;line-height:1}.crud-search{color:var(--muted);flex:1;align-items:center;min-width:200px;max-width:560px;display:flex;position:relative}.crud-search>svg{color:var(--muted);pointer-events:none;z-index:1;position:absolute;left:12px}.crud-search .input{flex:1;min-width:0;padding-left:36px}.choice-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));align-items:stretch}.choice-card{justify-content:flex-start;align-items:flex-start;gap:14px;min-height:0;position:relative}button.stat.choice-card{appearance:none;font:inherit;text-align:left;cursor:pointer;color:var(--text)}.choice-card:hover{border-color:var(--brand-mid)}.choice-card:hover .choice-icon{box-shadow:var(--glow);transform:translateY(-2px)}.choice-icon{border-radius:var(--radius-md);background:var(--gradient-primary);color:#fff;width:46px;height:46px;box-shadow:var(--shadow);transition:transform .3s var(--transition), box-shadow .3s var(--transition);flex-shrink:0;place-items:center;display:grid}.choice-body{flex-direction:column;gap:6px;display:flex}.choice-title{color:var(--text);margin:0;font-size:1.05rem}.choice-text{color:var(--muted);margin:0;font-size:.9rem;line-height:1.5}.choice-cta{color:var(--brand-strong);align-items:center;gap:7px;margin-top:6px;font-size:.88rem;font-weight:700;display:inline-flex}.choice-card:hover .choice-cta{gap:10px}.choice-cta{transition:gap .3s var(--transition)}.chk-row{color:var(--muted);cursor:pointer;align-items:center;gap:8px;margin-top:12px;font-size:.9rem;display:flex}.update-fields{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.update-fields .role-select{min-width:170px}.route-tools{margin-left:auto}.addr-tools{flex-shrink:0;align-items:center;gap:12px;margin-left:auto;padding-left:8px;display:flex}.addr-tools .btn.mini.icon-mini,.addr-tools .row-actions .row-actions-toggle{place-items:center;width:34px;height:34px;padding:0;display:grid}.addr-cnt-btn{position:relative;overflow:visible!important}.addr-badge-smooth{z-index:3;background:var(--brand);box-shadow:0 0 0 2px var(--color-surface-alt);pointer-events:none;font-weight:700}.row-actions{flex-shrink:0;position:relative}.row-actions-toggle{opacity:.75;transition:opacity .2s var(--transition), background .2s var(--transition), border-color .2s var(--transition), box-shadow .2s var(--transition)}.route-card:hover .row-actions-toggle,.row-actions-toggle[aria-expanded=true]{opacity:1}.row-actions-toggle[aria-expanded=true]{background:var(--brand-soft);border-color:var(--brand-mid);box-shadow:var(--glow)}.row-actions-menu{--ra-row:36px;--ra-gap:4px;--ra-ease:cubic-bezier(.23, 1, .32, 1);--ra-pop:.18s;--ra-pop-out:.12s;--ra-glide:.24s;z-index:30;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);min-width:186px;box-shadow:var(--shadow-card);transform-origin:100% 0;animation:menu-pop var(--ra-pop) var(--ra-ease) both;padding:5px;position:absolute;top:calc(100% + 8px);right:0}.row-actions-menu[data-state=closed]{animation:menu-pop-out var(--ra-pop-out) ease both;pointer-events:none}:is(.user-card:has(.row-actions-menu),.pkg-card:has(.row-actions-menu)){z-index:40;position:relative}.row-actions-list{gap:var(--ra-gap);flex-direction:column;display:flex;position:relative}.row-actions-pill{height:var(--ra-row);border-radius:calc(var(--radius-sm) - 1px);background:var(--color-surface-alt);opacity:0;pointer-events:none;transition:transform var(--ra-glide) var(--ra-ease), opacity .15s ease, background-color .16s ease;position:absolute;top:0;left:0;right:0}.row-actions-pill[data-on]{opacity:1}.row-actions-pill[data-tone=danger]{background:var(--danger-soft)}.row-actions-pill[data-tone=excel]{background:var(--excel-soft)}.row-actions-pill[data-tone=warn]{background:var(--warn-soft)}.row-action-item{z-index:1;width:100%;height:var(--ra-row);font:inherit;color:var(--text);text-align:left;border-radius:calc(var(--radius-sm) - 1px);cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:0 10px;font-size:.88rem;display:flex;position:relative}.row-action-item:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.row-action-item.danger{color:var(--danger)}.row-action-item.excel{color:var(--excel)}.row-action-item.warn{color:var(--color-amber)}@media (prefers-reduced-motion:reduce){.row-actions-menu,.row-actions-menu[data-state=closed]{animation:none}.row-actions-pill{transition:opacity .15s}}.confirm-msg{color:var(--muted);padding:4px 0 18px;line-height:1.55}.borrado-aviso-linea{margin:0 0 8px}.borrado-aviso-linea:last-child{margin-bottom:0}.guia-conteo{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.guia-conteo-total{font-family:var(--mono);color:var(--muted);white-space:nowrap;font-size:.78rem;font-weight:700}.guia-estados{flex-wrap:wrap;gap:4px 14px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.guia-estado{align-items:baseline;gap:6px;min-width:0;font-size:.78rem;display:inline-flex}.guia-estado:before{content:"";background:var(--estado,var(--brand));border-radius:50%;flex-shrink:0;align-self:center;width:7px;height:7px}.guia-estado-nombre{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.guia-estado-sep{color:var(--muted);font-weight:700}.guia-estado-n{font-family:var(--mono);color:var(--text);white-space:nowrap;font-weight:800}.entidad-top{flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0;display:flex}.entidad-top .route-title{flex-wrap:wrap;flex:1;row-gap:6px;min-width:0}.entidad-acciones{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.entidad-tags{flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;display:flex}.entidad-acciones .btn.mini.icon-mini,.entidad-acciones .row-actions .row-actions-toggle{place-items:center;width:34px;height:34px;padding:0;display:grid}@media (width<=720px){.entidad-top .route-title{display:contents}.entidad-top .route-title>strong{white-space:normal;overflow-wrap:anywhere;flex:100%;min-width:0}.entidad-tags{flex:1;row-gap:6px;min-width:0}.entidad-tags .route-code{min-width:0}.entidad-acciones{margin-left:auto}}@media (width<=480px){.entidad-card .guia-conteo{flex-direction:column;align-items:flex-start;gap:6px}.entidad-card .guia-estados{gap:4px 12px}.entidad-card .guia-conteo-total{border-bottom:1px solid var(--border);width:100%;padding-bottom:2px}}@media (width<=400px){.entidad-top{gap:6px 8px}.entidad-tags{row-gap:4px}}.role-select{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.role-select option{background:var(--color-surface);color:var(--text);padding:8px 10px}.role-select option:hover,.role-select option:checked{background:var(--brand-soft);color:var(--brand-strong)}select.input{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;min-height:39px;padding-right:28px}:root[data-theme=dark] .role-select option{background:var(--color-surface-alt)}:root[data-theme=dark] .role-select option:checked{background:var(--brand-soft);color:var(--brand-strong)}.pkg-timer,.state-timer,.t-timer{color:var(--brand-strong);background:var(--brand-soft);border:1px solid var(--brand-mid);border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:5px;padding:3px 9px;font-size:.74rem;font-weight:600;display:inline-flex}.t-timer{margin-top:8px}.pkg-timer.is-low,.t-timer.is-low{color:#b45309;background:#f59e0b1f;border-color:#f59e0b}.pkg-timer.is-expired,.t-timer.is-expired{color:var(--danger);border-color:var(--danger);background:#dc26261a}.route-head .route-tools{justify-content:center;align-items:center;gap:4px;margin-left:auto;display:flex}.route-head .route-info-btn{flex-shrink:0;place-items:center;margin-left:auto;padding:0;display:grid}.route-head .route-info-btn~.route-tools{margin-left:0}.route-head .route-info-btn svg{margin:0;display:block}.notif-wrap{display:inline-flex;position:relative}.bell-scrim{z-index:90;background:0 0;position:fixed;inset:0}.notif-toggle{position:relative}.bell-icon{transform-origin:50% 15%;display:inline-flex}@keyframes aviso-pulso{0%{box-shadow:0 0 0 0 var(--brand-soft)}70%{box-shadow:0 0 0 11px #0000}to{box-shadow:0 0 #0000}}.notif-toggle.aviso-pulso{animation:aviso-pulso 1.4s var(--transition) 1;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){.notif-toggle.aviso-pulso{animation:none}}.bell-badge{z-index:2;background:var(--danger);box-shadow:0 0 0 2px var(--color-surface);pointer-events:none;font-weight:700}.bell-panel{background:var(--color-surface,#fff);border:1px solid var(--border);border-radius:var(--radius-lg,20px);width:min(400px,100vw - 24px);max-height:min(560px,100dvh - 92px);box-shadow:var(--shadow-card,0 24px 48px -28px #00000059);z-index:110;transform-origin:100% 0;flex-direction:column;display:flex;position:fixed;top:72px;right:20px;overflow:hidden}.bell-head{border-bottom:1px solid var(--border);background:var(--color-surface-alt);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.bell-head-title{align-items:center;gap:8px;min-width:0;display:flex}.bell-head strong{font-size:.9rem}.bell-head-count{border-radius:var(--radius-pill);background:var(--brand);color:#fff;white-space:nowrap;flex-shrink:0;padding:2px 8px;font-size:.66rem;font-weight:700;line-height:1.4}.bell-head-actions{flex-shrink:0;align-items:center;gap:14px;display:flex}.link-btn{color:var(--brand-strong);cursor:pointer;background:0 0;border:none;padding:0;font-size:.76rem;font-weight:600;text-decoration:underline}.link-btn.danger{color:var(--danger-text)}.link-btn:disabled{opacity:.6;cursor:default}.bell-body{flex-direction:column;gap:6px;max-height:min(400px,62dvh);padding:10px;display:flex;overflow-y:auto}.bell-body .tl-meta{text-align:center;padding:16px 12px;display:block}.bell-empty{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:34px 20px;display:flex}.bell-empty svg{opacity:.4;margin-bottom:2px}.bell-empty span{color:var(--text);font-size:.86rem;font-weight:600}.bell-empty small{max-width:26ch;font-size:.74rem}.notif-row{border-radius:var(--radius-md,14px);transition:background .2s var(--transition), border-color .2s var(--transition);border:1px solid #0000;align-items:stretch;gap:4px;display:flex}.notif-row:hover{background:var(--color-surface-alt);border-color:var(--border)}.notif-row .notif-item{border-radius:var(--radius-md,14px);border-top:none;flex:auto;min-width:0}.notif-del{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--muted);cursor:pointer;transition:color .2s var(--transition), background .2s var(--transition), border-color .2s var(--transition);background:0 0;border:1px solid #0000;flex-shrink:0;align-self:center;place-items:center;display:grid}.notif-del:hover{color:var(--danger-text);background:var(--danger-soft);border-color:var(--color-red)}.notif-del:disabled{opacity:.5;cursor:default}.notif-item{text-align:left;cursor:pointer;width:100%;transition:background .2s var(--transition);background:0 0;border:none;align-items:flex-start;gap:10px;padding:11px 12px;display:flex}.notif-item:hover{background:0 0}.notif-item.unread{background:var(--brand-soft)}.notif-item.unread:hover{background:var(--brand-soft);filter:brightness(.98)}.notif-icon{border-radius:var(--radius-sm);background:var(--color-surface-alt);width:30px;height:30px;color:var(--muted);flex-shrink:0;place-items:center;display:grid}.notif-icon.kind-guide_created{background:var(--brand)}@supports (color:color-mix(in lab, red, red)){.notif-icon.kind-guide_created{background:color-mix(in srgb, var(--brand) 14%, transparent)}}.notif-icon.kind-guide_created{color:var(--brand-strong)}.notif-icon.kind-route_created{background:var(--color-blue)}@supports (color:color-mix(in lab, red, red)){.notif-icon.kind-route_created{background:color-mix(in srgb, var(--color-blue) 14%, transparent)}}.notif-icon.kind-route_created{color:var(--color-blue)}.notif-icon.kind-package_created{background:var(--color-green)}@supports (color:color-mix(in lab, red, red)){.notif-icon.kind-package_created{background:color-mix(in srgb, var(--color-green) 14%, transparent)}}.notif-icon.kind-package_created{color:var(--color-green)}.notif-icon.kind-addressee_change{background:var(--color-amber)}@supports (color:color-mix(in lab, red, red)){.notif-icon.kind-addressee_change{background:color-mix(in srgb, var(--color-amber) 16%, transparent)}}.notif-icon.kind-addressee_change{color:var(--color-amber)}.notif-icon.kind-state_timeout{background:var(--danger-soft);color:var(--danger-text)}.notif-dot{background:0 0;border-radius:50%;flex-shrink:0;align-self:center;width:7px;height:7px}.notif-item.unread .notif-dot{background:var(--brand)}.notif-text{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.notif-msg{color:var(--text);word-break:break-word;font-size:.8rem;line-height:1.4}.notif-item.unread .notif-msg{font-weight:600}.notif-meta{color:var(--muted);font-size:.7rem}.wizard{width:100%;max-width:none}.wizard-steps{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:20px;padding:14px 18px}.wizard-body{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.wizard-foot{align-items:center;gap:10px;margin-top:16px;display:flex}.wizard-foot .spacer{flex:1}.wizard-panel .wizard-filename{color:var(--muted);align-items:center;gap:8px;margin:0 0 14px;font-weight:600;display:flex}.align-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.check-line{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:.9rem;display:flex}.check-line input{accent-color:var(--brand)}.map-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:14px;display:grid}.map-grid .field{margin-bottom:0}.req{color:var(--danger-text)}.mapping-preview{margin-top:20px}.mapping-preview h4,.wizard-subtitle{text-transform:uppercase;letter-spacing:.04em;color:var(--brand);margin:0 0 12px;font-size:.95rem;font-weight:700}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:100%;font-size:.85rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px}.data-table th{background:var(--surface-alt);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.75rem;font-weight:700;position:sticky;top:0}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--surface-alt)}.preview-table{min-width:1100px}.preview-table tbody tr.row-changed{background:var(--info-soft)}.preview-table tbody tr.row-changed:hover{background:var(--color-blue)}@supports (color:color-mix(in lab, red, red)){.preview-table tbody tr.row-changed:hover{background:color-mix(in srgb, var(--color-blue) 16%, var(--surface))}}.preview-table tbody tr.row-drop,.preview-table tbody tr.row-drop:hover{background:var(--danger-soft)}.preview-table tbody tr.row-drop .cell{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--danger);-webkit-text-decoration-color:var(--danger);-webkit-text-decoration-color:var(--danger);text-decoration-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.preview-table tbody tr.row-drop .cell{-webkit-text-decoration-color:color-mix(in srgb, var(--danger) 70%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--danger) 70%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--danger) 70%, transparent);text-decoration-color:color-mix(in srgb, var(--danger) 70%, transparent)}}.preview-table tbody tr.row-drop .cell-input{border-style:dashed;border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.preview-table tbody tr.row-drop .cell-input{border-color:color-mix(in srgb, var(--danger) 45%, transparent)}}.preview-table tbody tr.row-drop .cell-input{background:0 0;text-decoration:line-through}.preview-table .cell-edited{box-shadow:inset 3px 0 0 0 var(--color-amber), inset -3px 0 0 0 var(--color-amber), inset 0 3px 0 0 var(--color-amber), inset 0 -3px 0 0 var(--color-amber)}.preview-table .row-no{align-items:center;gap:8px;display:inline-flex}.preview-table .row-flag{background:var(--danger);color:#fff;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:2px 7px;font-size:.65rem;font-weight:700;text-decoration:none;animation:.32s ease-out rowFlagPop}@keyframes rowFlagPop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.preview-table .row-flag{animation:none}}.touch-note{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.touch-chip{border:1px solid #0000;border-radius:999px;align-items:center;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.touch-chip--drop{background:var(--danger-soft);border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.touch-chip--drop{border-color:color-mix(in srgb, var(--danger) 45%, transparent)}}.touch-chip--drop{color:var(--danger-text)}.touch-chip--edit{background:var(--color-amber)}@supports (color:color-mix(in lab, red, red)){.touch-chip--edit{background:color-mix(in srgb, var(--color-amber) 14%, transparent)}}.touch-chip--edit{border-color:var(--color-amber)}@supports (color:color-mix(in lab, red, red)){.touch-chip--edit{border-color:color-mix(in srgb, var(--color-amber) 45%, transparent)}}.touch-chip--edit{color:var(--color-amber)}@supports (color:color-mix(in lab, red, red)){.touch-chip--edit{color:color-mix(in srgb, var(--color-amber) 80%, var(--text))}}.touch-hint{color:var(--muted);font-size:.82rem}.preview-table .icon-btn{margin:0 auto}.wizard-note{color:var(--muted);margin:16px 0 0;font-size:.9rem}.drop-zone{border:2px dashed var(--border);border-radius:var(--radius-md);color:var(--muted);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:48px 24px;transition:border-color .15s,background .15s;display:flex}.drop-zone:hover,.drop-zone.dragging{border-color:var(--brand-mid);background:var(--brand-soft);color:var(--brand-strong)}.drop-zone-title{margin:0;font-size:1.05rem;font-weight:700}.drop-zone-hint{margin:0;font-size:.9rem}.drop-zone-input{display:none}.wizard-foot .btn{min-height:42px}.wizard-foot .btn.danger{background:var(--danger-soft);color:var(--danger-text);border:1px solid #0000}.wizard-foot .btn.danger:hover{border-color:var(--danger-text)}.pagination-info{color:var(--text);font-weight:600}.pagination-select-label{color:var(--muted);align-items:center;gap:8px;font-size:.88rem;display:flex}.pagination-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--color-surface-alt);height:34px;color:var(--text);font:inherit;transition:border-color .3s var(--transition), box-shadow .3s var(--transition);outline:none;padding:0 8px;font-size:.85rem}.pagination-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.pkg-tools{margin-left:auto}.pkg-saving-hint{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.8rem}.pkg-saving-hint+.pkg-tools{margin-left:.5rem}.toolbar-actions .btn,.wizard-foot .btn,.chg-foot .btn,.filter-foot-right .btn,.update-fields .btn,.bell-head .btn,.modal-head .btn,.modal-actions .btn{width:auto}.update-search>.input{flex:3;width:100%;min-width:0}@media (width<=1024px){.page-head{gap:12px}.page-actions{flex-wrap:wrap}}@media (width<=900px){.stat{padding:14px}.stat .value{font-size:1.45rem}.header-quick .hdr-label{display:none}.header-quick{gap:6px}.header-quick .hdr-btn{justify-content:center;width:38px;padding:0}}@media (width<=720px){.crud-search{min-width:0;max-width:none}.toolbar-actions{flex-wrap:nowrap}.toolbar-actions .btn{white-space:nowrap;flex:none}}@media (width<=900px) and (width>=641px){.grid-cards:has(>.stat.accent-rose){grid-template-columns:repeat(6,minmax(0,1fr))}:is(.grid-cards:has(>.stat.accent-rose)>.stat:first-child,.grid-cards:has(>.stat.accent-rose)>.stat:nth-child(2),.grid-cards:has(>.stat.accent-rose)>.stat:nth-child(3)){grid-column:span 2}:is(.grid-cards:has(>.stat.accent-rose)>.stat:nth-child(4),.grid-cards:has(>.stat.accent-rose)>.stat:nth-child(5)){grid-column:span 3}}@media (width<=640px){.grid-cards{gap:10px}.grid-cards>.stat:nth-child(5){grid-column:1/-1}.stat{gap:6px;min-height:104px;padding:14px 16px}.stat .value{font-size:1.5rem}.route-line{gap:8px;padding:8px 0}.route-code{min-width:84px;font-size:.8rem}.page-actions .btn{min-height:38px}.pagination-side{flex-wrap:wrap;gap:6px}.toolbar-info{text-align:left;width:100%}.pkg-actions{flex-wrap:wrap}.route-sub{gap:6px}}.help-list{color:var(--text);flex-direction:column;gap:10px;margin:0;padding-left:20px;font-size:.88rem;line-height:1.5;display:flex}.help-list li::marker{color:var(--brand-strong)}.help-list .mono{background:var(--brand-soft);border:1px solid var(--brand-mid);border-radius:var(--radius-pill);white-space:nowrap;padding:1px 7px;font-size:.84rem}.state-card,.loc-card{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-main{flex-wrap:wrap;flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.card-name{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:8ch;overflow:hidden}.card-codes{flex-wrap:wrap;flex:0 auto;align-items:center;gap:8px;min-width:min-content;display:flex}.card-codes>*{flex-shrink:0}.card-tools{flex:none;justify-content:center;align-items:center;gap:4px;display:flex}@media (width<=560px){.pkg-top-right{flex-wrap:wrap}.filter-foot{flex-direction:column;justify-content:center;align-items:stretch}.filter-foot-left,.filter-foot-right{justify-content:center;width:100%}.filter-foot-right{margin-left:0}.filter-foot-right .btn{width:100%}.wizard-steps{margin-bottom:14px}.drop-zone{padding:36px 16px}}@media (width<=480px){.app-header .icon-btn.hbl-toggle{flex-shrink:0;display:grid}.app-header .hbl-search{display:none}.app-header .hbl-search.open{z-index:45;border:0;border-bottom:1px solid var(--border);background:var(--color-surface-alt);border-radius:0;align-items:center;height:56px;margin:0;padding:0 12px;display:flex;position:fixed;top:64px;left:0;right:0;box-shadow:0 10px 28px #00000038}.app-header .hbl-search.open>svg{color:var(--muted);left:14px}.app-header .hbl-search.open input{flex:1;width:100%;min-width:0;max-width:none;padding-left:32px;font-size:.95rem}.app-header .hbl-search .hbl-close{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border:0;flex-shrink:0;place-items:center;margin-left:8px;display:grid}.app-header .hbl-search .hbl-close:hover{background:var(--color-surface);color:var(--danger)}.modal-overlay{padding:10px}.modal{border-radius:var(--radius-lg);max-height:92dvh;padding:16px}.modal .modal-head h3{font-size:1rem}.modal .modal-actions{flex-flow:column wrap;align-items:stretch}.modal-actions .btn{width:100%}.update-search{flex-direction:column;align-items:stretch}.update-search .btn{width:100%;padding:0 16px}.modal-foot{flex-direction:column;align-items:stretch}.modal-foot .btn{width:100%;min-width:0}.modal-foot-group{flex-direction:column;align-items:stretch;width:100%}.wizard-foot{flex-wrap:wrap}.wizard-foot .spacer{display:none}.wizard-foot .btn{flex:100%;width:100%}.route-head{flex-wrap:wrap}.route-tools,.addr-tools{justify-content:flex-end;margin-left:auto;padding-left:0}.phone-row{grid-template-columns:1fr auto}.phone-row .input{width:100%;min-width:0}.screen{padding:14px}.pagination{justify-content:center;gap:8px}.pagination-side{justify-content:center;gap:8px;width:100%}.pagination-select{height:30px}.card{padding:20px}.pkg-card,.chg-card,.user-card,.profile-section,.route-section,.hbls-filter{padding-left:14px;padding-right:14px}.field{margin-bottom:14px}.field input,.field .input,.field .role-select,.inline-row .input{width:100%;min-width:0}.form-grid{gap:10px}.map-grid{grid-template-columns:1fr}.wizard-body{padding:14px}.route-card{padding:12px}.assign-item{flex-wrap:wrap}.assign-item .tl-meta{margin-left:0}.chg-foot{flex-wrap:wrap}.chg-foot .btn{flex:100%;width:100%}.tab{min-width:0;padding:9px 8px;font-size:.9rem}.profile-avatar-actions{flex-wrap:wrap}.profile-avatar-actions .avatar-btn{flex:100%;min-width:0}.header-quick .hdr-btn{width:34px}.row-actions-menu{max-height:60dvh;overflow-y:auto}.pkg-top-right{justify-content:space-between}.update-fields{flex-direction:column;align-items:stretch}.update-fields .role-select{width:100%;min-width:0}.assign-item span:first-of-type .route-code{margin-left:0}.toast-stack{align-items:flex-end;max-width:calc(100vw - 24px);top:76px;left:auto;right:12px}.toast{max-width:min(88vw,320px)}.bell-panel{width:auto;max-height:min(480px,100dvh - 84px);top:70px;left:10px;right:10px}}@media (width<=400px){.app-header{gap:8px;padding:0 10px}.main{padding:12px}.page-head{margin-bottom:14px}.modal{padding:14px}.wizard-steps{padding:10px}.form-grid,.map-grid{gap:8px}.field{margin-bottom:12px}.phone-row{grid-template-columns:1fr}.header-quick .hdr-btn{width:34px}.header-actions{gap:6px}.header-group.end .theme-toggle,.header-group.end .notif-toggle{border-radius:var(--radius-sm);width:34px;height:34px}.header-user{background:0 0;border:none;justify-content:center;width:auto;max-width:none;height:auto;padding:0}.header-user.active{background:0 0;border-color:#0000}.header-user .avatar-photo,.header-user .avatar-mini{width:36px;height:36px}.sidebar{width:min(260px,85vw)}.stat{padding:12px}}@media (width<=360px){.toolbar-actions{flex-wrap:wrap;justify-content:center}.crud-search{flex:100%}.clock-card .clock-side{gap:2px}}.state-section+.state-section{margin-top:18px}.state-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:0 0 8px;font-size:.72rem;font-weight:700}.state-section .route-list{flex-direction:column;gap:8px;display:flex}.state-section+.state-section:not(:has(.state-section-title)){margin-top:0}.pkg-suggest{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--info-soft);flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:8px 10px;font-size:.8rem;display:flex}.pkg-suggest-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--info-text);font-size:.64rem;font-weight:700}.pkg-suggest-urgent{background:var(--color-amber);color:#1f1300;text-transform:uppercase;border-radius:999px;margin-left:auto;padding:2px 7px;font-size:.66rem;font-weight:700}.pkg-suggest.is-urgent{border-color:var(--color-amber)}.pkg-warn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger-text);align-items:center;gap:7px;margin-top:10px;padding:8px 10px;font-size:.78rem;font-weight:600;display:flex}.token-entry{border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:8px;margin-top:12px;padding:8px 10px;font-size:.76rem;display:flex}.token-entry-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;font-size:.64rem;font-weight:700}.token-code{font-family:var(--mono);letter-spacing:.04em;word-break:break-all}.token-exp{color:var(--text-dim);white-space:nowrap;margin-left:auto}.token-exp.is-expired{color:var(--danger-text);font-weight:700}.field-hint{margin:6px 0 0;font-size:.74rem;line-height:1.45}@media (width<=560px){.pkg-suggest-urgent,.token-exp{margin-left:0}}@media (width<=1024px){.user-card{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"avatar info""badge actions";gap:12px 14px}.user-card>.badge{justify-self:start}.user-actions{justify-content:flex-end}}@media (width<=720px){.users-panel .toolbar{flex-direction:column;align-items:stretch}.users-panel .crud-search{width:100%;min-width:0;max-width:none}.user-card{gap:12px;padding:14px}.user-meta{white-space:normal;flex-wrap:wrap;gap:6px;display:flex}.user-actions .role-select{flex:auto;min-width:0}.user-actions .btn.mini{flex:none}}@media (width<=480px){.user-card{gap:10px;padding:13px}.user-email{white-space:normal;overflow-wrap:anywhere}.user-actions{gap:6px}.user-actions .row-actions{margin-left:auto}.users-panel .user-card .role-select{flex:100%;order:-1}}.map-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-bottom:16px;display:flex}.cell-input{border:1px solid var(--border);background:var(--input-bg);width:100%;min-width:0;color:var(--text-primary);font:inherit;border-radius:8px;padding:6px 8px;font-size:.95rem}.data-table .cell-input{font-size:.92rem}.issue-box{background:var(--danger);border:1px solid #f8717173;border-radius:10px;padding:12px 16px}@supports (color:color-mix(in lab, red, red)){.issue-box{background:color-mix(in srgb, var(--danger) 12%, var(--surface))}}.issue-box{color:var(--text-primary)}.issue-box ul{margin:8px 0 0 20px}.issue-box li{margin-bottom:4px}@media (width<=900px){.profile-hero{padding:20px 22px}}@media (width<=600px){.profile-hero{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"avatar info""actions actions";align-items:start;gap:14px 16px;padding:16px 18px}.profile-panel .profile-hero-actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-self:stretch;gap:8px;max-width:none;display:grid}.profile-panel .profile-hero-actions .icon-btn{white-space:nowrap;justify-content:center;align-items:center;gap:7px;width:100%;height:40px;padding:0 12px;font-size:.82rem;font-weight:600;display:flex}.profile-hero-btn-label{text-overflow:ellipsis;min-width:0;display:inline;overflow:hidden}}@media (width<=480px){.profile-hero{gap:12px 14px;padding:14px 16px}.profile-avatar{width:76px;height:76px;font-size:1.6rem}.profile-hero-info .profile-name{font-size:1.15rem}.profile-nick{font-size:.88rem}.profile-panel .profile-hero-actions .icon-btn{height:38px;padding:0 8px;font-size:.76rem}}@media (width<=360px){.profile-hero{padding:12px 14px}.profile-avatar{width:64px;height:64px;font-size:1.4rem}.profile-panel .profile-hero-actions .icon-btn{gap:5px;height:36px;padding:0 6px;font-size:.72rem}}:root[data-theme-switch] *,:root[data-theme-switch] :before,:root[data-theme-switch] :after{transition:none!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}
