@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (hover:none){.nav-item:hover,.btn:hover,.btn-primary:hover,.btn-secondary:hover,.btn-danger:hover,.gallery-thumb:hover,.item-card:hover{background:revert;transform:none}}@media (max-width:360px){:root{--fs-base:15px;--fs-sm:12.5px;--space-4:.85rem}}@keyframes skeleton-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{border-radius:var(--radius-sm);background:#e2e8f066 linear-gradient(90deg,#0f172a0a 0,#0f172a14 80px,#0f172a0a 160px) 0 0/800px 100% no-repeat;animation:1.4s ease-in-out infinite skeleton-shimmer;display:block}.skeleton--text{border-radius:4px;height:.85rem;margin:.35rem 0}.skeleton--title{border-radius:6px;width:60%;height:1.4rem;margin-bottom:.6rem}.skeleton--avatar{border-radius:var(--radius-md);width:48px;height:48px}.skeleton--button{border-radius:var(--radius-md);height:44px}.skeleton--thumb{aspect-ratio:1;border-radius:var(--radius-md);width:100%;max-height:110px}.skeleton--line{border-radius:4px;width:100%;height:12px}.skeleton--line--short{width:60%}.skeleton--line--tiny{width:35%}.skeleton-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.skeleton-card-image{background:linear-gradient(90deg, var(--color-surface-2) 0px, var(--color-border) 80px, var(--color-surface-2) 160px);background-repeat:no-repeat;background-size:800px 100%;height:140px;animation:1.4s ease-in-out infinite skeleton-shimmer}.skeleton-card-body{padding:var(--space-5)}.skeleton-card-body .skeleton{margin:.4rem 0}.skeleton-item-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);border:1px solid var(--color-border);gap:var(--space-2);flex-direction:column;display:flex}.skeleton-file-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-3);text-align:center;align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.skeleton-list-row{border-bottom:1px solid var(--color-border);grid-template-columns:2.5fr 1fr .8fr 1.2fr .5fr;align-items:center;gap:.75rem;padding:.7rem 1rem;display:grid}.skeleton-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.skeleton-grid--files{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}@media (max-width:600px){.skeleton-grid--files{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}.skeleton-table-head{background:var(--color-surface-2);border-bottom:1px solid var(--color-border);grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:.75rem;padding:.7rem 1rem;display:grid}.skeleton-table-row{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(auto-fit,minmax(80px,1fr));align-items:center;gap:.75rem;padding:.85rem 1rem;display:grid}.skeleton-table-cell{min-width:0}.login-shell{min-height:100vh;background:var(--color-bg);grid-template-columns:1fr;min-height:100dvh;display:grid;position:relative}@media (min-width:1024px){.login-shell{grid-template-columns:minmax(420px,1.05fr) minmax(420px,1fr)}}.login-aside{color:#fff;isolation:isolate;background:linear-gradient(145deg,#06182f 0%,#0b2a4d 55%,#0a3a66 100%);display:none;position:relative;overflow:hidden}@media (min-width:1024px){.login-aside{flex-direction:column;display:flex}}.login-aside-bg{z-index:0;background:radial-gradient(circle at 15% 15%,#0a64b873 0%,#0000 55%),radial-gradient(circle at 85% 85%,#0891b252 0%,#0000 55%);position:absolute;inset:0}.login-orb{filter:blur(60px);opacity:.55;z-index:0;will-change:transform;border-radius:50%;position:absolute}.login-orb--a{background:#0a64b8;width:340px;height:340px;animation:14s ease-in-out infinite login-float;top:-80px;right:-60px}.login-orb--b{background:#0891b2;width:280px;height:280px;animation:18s ease-in-out infinite reverse login-float;bottom:-60px;left:-40px}@keyframes login-float{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(-24px,28px)scale(1.08)}}.login-aside-grid{z-index:1;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 0%,#0000 75%);mask-image:radial-gradient(#000 0%,#0000 75%)}.login-aside-content{z-index:2;padding:var(--space-10) var(--space-12);justify-content:space-between;gap:var(--space-10);flex-direction:column;width:100%;max-width:620px;height:100%;margin:0 auto;display:flex;position:relative}.login-brand{align-items:center;gap:var(--space-3);display:inline-flex}.login-brand-mark{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(8px);background:linear-gradient(135deg,#ffffff29 0%,#ffffff0a 100%);border:1px solid #ffffff29;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex;box-shadow:0 8px 24px #0a64b880,inset 0 1px #ffffff1a}.login-brand-text{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);color:#fff}.login-aside-hero{gap:var(--space-4);flex-direction:column;display:flex}.login-aside-eyebrow{-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);color:#ffffffe0;background:#ffffff14;border:1px solid #ffffff24;align-items:center;gap:.4rem;width:-moz-fit-content;width:fit-content;padding:.35rem .8rem;display:inline-flex}.login-aside h2{font-family:var(--font-display);font-size:var(--fs-4xl);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);color:#fff;text-wrap:balance;margin:0;line-height:1.12}.login-aside-accent{background:linear-gradient(135deg,#7cc4ec 0%,#5aa9e6 45%,#4fd1e6 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.login-aside-hero p{font-size:var(--fs-lg);line-height:var(--lh-base);color:#ffffffb8;max-width:44ch;margin:0}.login-aside-features{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.login-aside-features li{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-md);font-size:var(--fs-base);font-weight:var(--fw-medium);color:#ffffffe6;transition:transform var(--dur-base) var(--ease-out), background var(--dur-base);background:#ffffff0d;border:1px solid #ffffff17;display:flex}.login-aside-features li:hover{background:#ffffff17;transform:translate(4px)}.login-aside-features svg{color:#7cc4ec;flex-shrink:0}.login-aside-footer{font-size:var(--fs-xs);color:#ffffff73;font-weight:var(--fw-medium)}.login-main{padding:var(--space-6) var(--space-4);background:radial-gradient(ellipse at 100% 0%, #0a64b812 0%, transparent 50%), radial-gradient(ellipse at 0% 100%, #0891b20f 0%, transparent 50%), var(--color-bg);justify-content:center;align-items:center;display:flex;position:relative}.login-card{gap:var(--space-6);width:100%;max-width:440px;padding:var(--space-8) var(--space-8) var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);animation:login-card-in .6s var(--ease-out) both;flex-direction:column;display:flex}@keyframes login-card-in{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.login-card-header{text-align:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.login-card-icon{background:radial-gradient(circle at 30% 30%, #7cc4ec73 0%, transparent 60%), var(--color-brand-grad);color:#fff;border-radius:var(--radius-lg);width:64px;height:64px;margin-bottom:var(--space-1);animation:pop .6s var(--ease-out) .1s both;justify-content:center;align-items:center;display:inline-flex;position:relative;box-shadow:0 14px 32px #005faa61,inset 0 1px #fff3,inset 0 -1px #00000014}.login-card-header h1{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);color:var(--color-text);text-wrap:balance;margin:0}.login-card-header p{font-size:var(--fs-base);color:var(--color-text-soft);line-height:var(--lh-base);max-width:36ch;margin:0}.login-form{gap:var(--space-4);flex-direction:column;display:flex}.login-field{flex-direction:column;gap:.45rem;display:flex;position:relative}.login-field label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-text)}.login-input-wrap{align-items:center;display:flex;position:relative}.login-input-icon{left:var(--space-4);color:var(--color-text-muted);pointer-events:none;transition:color var(--dur-base), transform var(--dur-base) var(--ease-out);z-index:1;position:absolute}.login-input-action{right:var(--space-2);border-radius:var(--radius-sm);width:36px;height:36px;color:var(--color-text-muted);z-index:1;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute}.login-input-action:hover{background:var(--color-surface-2);color:var(--color-text)}.login-field input[type=text],.login-field input[type=password]{border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;font-size:var(--fs-base);color:var(--color-text);transition:border-color var(--dur-fast), box-shadow var(--dur-fast), background var(--dur-fast);outline:none;min-height:52px;padding:.8rem 2.9rem}.login-field input:hover:not(:disabled){border-color:var(--color-border-strong)}.login-field input:focus{border-color:var(--color-brand);box-shadow:var(--ring)}.login-field input:disabled{background:var(--color-surface-2);opacity:.8}.login-field:focus-within .login-input-icon{color:var(--color-brand);transform:scale(1.1)}.login-field.has-error input{border-color:var(--color-danger);background:#fef2f2}.login-field.has-error .login-input-icon{color:var(--color-danger)}.login-field.has-error input:focus{box-shadow:var(--shadow-focus-danger)}.login-field-error,.login-field-hint{font-size:var(--fs-xs);font-weight:var(--fw-medium);animation:fadeUp var(--dur-base) var(--ease-out) both;align-items:center;gap:.3rem;display:inline-flex}.login-field-error{color:var(--color-danger-soft)}.login-field-hint{color:#b45309}.login-remember{font-size:var(--fs-sm);color:var(--color-text-soft);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.6rem;width:-moz-fit-content;width:fit-content;display:inline-flex}.login-remember input{appearance:none;border:1.5px solid var(--color-border-strong);background:var(--color-surface);width:18px;height:18px;transition:background var(--dur-fast), border-color var(--dur-fast);border-radius:5px;flex-shrink:0;place-content:center;display:inline-grid}.login-remember input:after{content:"";width:9px;height:5px;transition:transform var(--dur-fast) var(--ease-out);border-bottom:2px solid #fff;border-left:2px solid #fff;margin-top:-2px;transform:rotate(-45deg)scale(0)}.login-remember input:checked{background:var(--color-brand);border-color:var(--color-brand)}.login-remember input:checked:after{transform:rotate(-45deg)scale(1)}.login-remember input:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.login-error-msg{border-radius:var(--radius-md);color:var(--color-danger-soft);font-size:var(--fs-sm);font-weight:var(--fw-medium);background:#fef2f2;border:1px solid #fecaca;align-items:center;gap:.45rem;padding:.7rem .9rem;animation:.4s login-shake;display:flex}.login-error-msg svg{color:var(--color-danger);flex-shrink:0}@keyframes login-shake{0%,to{translate:0}25%{translate:-5px}75%{translate:5px}}.login-submit{justify-content:center;align-items:center;gap:var(--space-2);background:var(--color-brand-grad);color:#fff;border-radius:var(--radius-md);font-size:var(--fs-md);font-weight:var(--fw-semibold);min-height:52px;box-shadow:var(--shadow-brand);margin-top:var(--space-1);transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base), filter var(--dur-fast);border:none;padding:.85rem 1.25rem;display:inline-flex;position:relative;overflow:hidden}.login-submit:after{content:"";transition:transform .7s var(--ease-out);background:linear-gradient(110deg,#0000 30%,#ffffff47 50%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}.login-submit:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 14px 30px #005faa66}.login-submit:hover:not(:disabled):after{transform:translate(120%)}.login-submit .login-submit-arrow{transition:transform var(--dur-base) var(--ease-out)}.login-submit:hover:not(:disabled) .login-submit-arrow{transform:translate(4px)}.login-submit:disabled{opacity:.7;box-shadow:none}.login-card-footer{text-align:center;font-size:var(--fs-xs);color:var(--color-text-muted);padding-top:var(--space-4);border-top:1px solid var(--color-border);line-height:var(--lh-base)}.login-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@media (min-width:481px) and (max-width:1023px){.login-main{padding:var(--space-8)}.login-card{max-width:480px}}@media (max-width:480px){.login-main{padding:var(--space-8) var(--space-4) calc(var(--space-4) + var(--safe-bottom,0px));-webkit-overflow-scrolling:touch;align-items:flex-start;overflow-y:auto}.login-card{padding:var(--space-6) var(--space-5) var(--space-5);gap:var(--space-5);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.login-card-icon{width:56px;height:56px}.login-card-header h1{font-size:var(--fs-xl)}}@media (max-width:360px){.login-main{padding-left:var(--space-3);padding-right:var(--space-3)}.login-card{padding:var(--space-5) var(--space-4)}}@media (max-height:560px){.login-main{align-items:flex-start}}@media (prefers-reduced-motion:reduce){.login-orb,.login-card,.login-card-icon,.login-error-msg,.login-field-error,.login-field-hint{animation:none!important}.login-submit:after{display:none}.login-aside-features li:hover{transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (hover:none){.nav-item:hover,.btn:hover,.btn-primary:hover,.btn-secondary:hover,.btn-danger:hover,.gallery-thumb:hover,.item-card:hover{background:revert;transform:none}}@media (max-width:360px){:root{--fs-base:15px;--fs-sm:12.5px;--space-4:.85rem}}:root{--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:28px;--radius-full:9999px;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 2px 8px #0f172a0d;--shadow-md:0 6px 18px #0f172a14;--shadow-lg:0 14px 32px #0f172a1a;--shadow-xl:0 24px 60px #0f172a24;--shadow-focus:0 0 0 3px #0a64b82e;--shadow-focus-danger:0 0 0 3px #ef44442e;--z-base:1;--z-overlay:40;--z-drawer:50;--z-modal:200;--z-toast:300;--color-bg:#f8fafc;--color-surface:#fff;--color-surface-2:#f1f5f9;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-text:#0f172a;--color-text-soft:#475569;--color-text-muted:#94a3b8;--color-brand:#005faa;--color-brand-2:#003f70;--color-brand-grad:linear-gradient(135deg, #005faa 0%, #003f70 100%);--color-accent:#0a64b8;--color-accent-2:#0891b2;--color-accent-grad:linear-gradient(135deg, #0a64b8 0%, #0891b2 100%);--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--color-danger-soft:#c7384a;--color-danger-bg:#ffe5e8;--landing-bg-pattern:radial-gradient(ellipse at 0% 0%, #0a64b81a 0%, transparent 55%), radial-gradient(ellipse at 100% 100%, #0891b214 0%, transparent 55%), radial-gradient(ellipse at 50% 0%, #005faa0f 0%, transparent 60%);--landing-title-grad:linear-gradient(135deg, #0a64b8 0%, #0891b2 60%, #005faa 100%);--t-fast:.12s cubic-bezier(.4, 0, .2, 1);--t-base:.2s cubic-bezier(.4, 0, .2, 1);--t-slow:.32s cubic-bezier(.4, 0, .2, 1);--t-spring:.4s cubic-bezier(.175, .885, .32, 1.275);--sidebar-width:280px;--sidebar-width-collapsed:76px;--header-height:64px;--touch-target:44px}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted);background-clip:padding-box;border:2px solid #0000}::selection{color:var(--color-text);background:#0a64b82e}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html,body{overscroll-behavior-y:none}.scrollable,.modal-body--scroll,.sidebar-nav,.loans-table-scroll,.gallery-thumbs-strip,.sort-buttons,.filtros,.file-list-scroll{touch-action:pan-y;-webkit-overflow-scrolling:touch}.modal-container,.dialog-panel{transform:translateZ(0)}body.scroll-locked{width:100%;padding-right:var(--scrollbar-compensation,0px);touch-action:none;overscroll-behavior:contain;position:fixed;inset:0;overflow:hidden}@media (hover:none){.nav-item:hover,.btn:hover,.btn-primary:hover,.btn-secondary:hover,.btn-danger:hover,.gallery-thumb:hover,.item-card:hover{background:revert;transform:none}}@media (max-width:360px){:root{--fs-base:15px;--fs-sm:12.5px;--space-4:.85rem}}.login-shell,.app-container,.layout{padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}:root{--font-sans:"Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:"Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Geist Mono", "JetBrains Mono", "Courier New", monospace;--fs-xs:clamp(.7rem, .66rem + .2vw, .75rem);--fs-sm:clamp(.78rem, .74rem + .2vw, .84rem);--fs-base:clamp(.875rem, .84rem + .2vw, .95rem);--fs-md:clamp(.94rem, .9rem + .2vw, 1rem);--fs-lg:clamp(1.05rem, 1rem + .4vw, 1.2rem);--fs-xl:clamp(1.2rem, 1.1rem + .5vw, 1.4rem);--fs-2xl:clamp(1.45rem, 1.25rem + .9vw, 1.85rem);--fs-3xl:clamp(1.75rem, 1.45rem + 1.4vw, 2.25rem);--fs-4xl:clamp(2.1rem, 1.7rem + 1.8vw, 2.7rem);--fs-5xl:clamp(2.6rem, 2rem + 2.5vw, 3.5rem);--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-black:800;--lh-tight:1.15;--lh-snug:1.3;--lh-base:1.55;--lh-loose:1.7;--ls-tight:-.02em;--ls-normal:0;--ls-wide:.04em;--ls-xwide:.08em}body{font-family:var(--font-sans);font-size:var(--fs-md);font-weight:var(--fw-regular);line-height:var(--lh-base);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;letter-spacing:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);line-height:var(--lh-tight);color:var(--color-text);text-wrap:balance;margin:0}h1{font-size:var(--fs-3xl);font-weight:var(--fw-black)}h2{font-size:var(--fs-2xl)}h3{font-size:var(--fs-xl)}h4{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}h5,h6{font-size:var(--fs-md)}.display-1{font-family:var(--font-display);font-size:var(--fs-4xl);font-weight:var(--fw-black);letter-spacing:var(--ls-tight);line-height:var(--lh-tight);text-wrap:balance}.display-2{font-family:var(--font-display);font-size:var(--fs-3xl);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);line-height:var(--lh-tight);text-wrap:balance}.eyebrow{font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-xwide);color:var(--color-text-muted)}.numeric{font-family:var(--font-display);font-feature-settings:"tnum";letter-spacing:-.02em;font-variant-numeric:tabular-nums}.text-muted{color:var(--color-text-muted)}.text-soft{color:var(--color-text-soft)}.text-display{font-family:var(--font-display);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight)}.text-numeric{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.truncate-1{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.truncate-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.truncate-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.14s;--dur-base:.24s;--dur-slow:.42s;--color-surface-glass:#ffffffc7;--color-overlay:#0a12249e;--shadow-pop:0 18px 48px #0f172a2e, 0 2px 6px #0f172a0f;--shadow-brand:0 10px 26px #005faa47;--ring:0 0 0 3px #005faa38;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;background:var(--color-bg);text-rendering:optimizelegibility;min-height:100dvh;overflow-x:hidden}img,svg,video,canvas{max-width:100%}img{display:block}a{color:inherit}button,input,select,textarea,optgroup{font-family:inherit;font-size:inherit;line-height:inherit;letter-spacing:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled,[aria-disabled=true]{cursor:not-allowed}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:1}@media (max-width:768px){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:max(16px,1em)}}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px;border-radius:var(--radius-xs)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}.skip-link{top:-64px;left:var(--space-4);z-index:calc(var(--z-toast) + 10);background:var(--color-brand);color:#fff;border-radius:var(--radius-md);font-weight:var(--fw-semibold);transition:top var(--dur-base) var(--ease-out);padding:.65rem 1rem;text-decoration:none;position:fixed}.skip-link:focus{top:var(--space-3)}button:not(:disabled):active,[role=button]:not([aria-disabled=true]):active{scale:.97}button{transition-property:background-color,border-color,color,box-shadow,transform,scale,opacity,filter;transition-duration:var(--dur-fast);transition-timing-function:var(--ease-out)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg, var(--color-surface-2) 25%, #e8eef6 37%, var(--color-surface-2) 63%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pop{0%{opacity:0;transform:scale(.9)}60%{opacity:1;transform:scale(1.04)}to{transform:scale(1)}}.page-enter,.stagger>*{animation:fadeUp var(--dur-slow) var(--ease-out) both}.stagger>:first-child{animation-delay:0s}.stagger>:nth-child(2){animation-delay:45ms}.stagger>:nth-child(3){animation-delay:90ms}.stagger>:nth-child(4){animation-delay:.135s}.stagger>:nth-child(5){animation-delay:.18s}.stagger>:nth-child(6){animation-delay:.225s}.stagger>:nth-child(n+7){animation-delay:.27s}.live-badge{border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:var(--fw-semibold);background:var(--color-surface-2);color:var(--color-text-soft);border:1px solid var(--color-border);white-space:nowrap;align-items:center;gap:.4rem;padding:.25rem .65rem;display:inline-flex}.live-badge:before{content:"";background:var(--color-text-muted);border-radius:50%;width:7px;height:7px}.live-badge[data-state=open]{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.live-badge[data-state=open]:before{background:var(--color-success);animation:1.8s ease-out infinite live-pulse;box-shadow:0 0 #10b9818c}.live-badge[data-state=connecting]:before{background:var(--color-warning);animation:1s ease-in-out infinite live-blink}.live-badge[data-state=closed]:before{background:var(--color-danger)}@keyframes live-pulse{70%{box-shadow:0 0 0 7px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes live-blink{50%{opacity:.3}}.banner-enter{animation:fadeUp var(--dur-base) var(--ease-out) both}@media (hover:none){button:not(:disabled):active{scale:.97}}@media (prefers-reduced-motion:reduce){.page-enter,.stagger>*,.banner-enter,.shimmer,.live-badge:before{animation:none!important}button:not(:disabled):active,[role=button]:not([aria-disabled=true]):active{scale:none}}.toast-region{top:max(var(--space-4), var(--safe-top,0px));z-index:var(--z-toast);pointer-events:none;flex-direction:column;align-items:stretch;width:min(560px,100vw - 2rem);display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;align-items:center;gap:var(--space-3);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-pop);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-text);padding:.8rem .9rem .8rem 1rem;display:flex}.toast-text{min-width:0;line-height:var(--lh-snug);flex:1}.toast-icon{flex-shrink:0}.toast.is-success{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.toast.is-success .toast-icon{color:var(--color-success)}.toast.is-error{color:var(--color-danger-soft);background:#fef2f2;border-color:#fecaca}.toast.is-error .toast-icon{color:var(--color-danger)}.toast.is-info{color:var(--color-brand);background:#eff6ff;border-color:#bfdbfe}.toast-close{width:28px;height:28px;color:inherit;opacity:.6;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.toast-close:hover{opacity:1;background:#0f172a0f}.modal-backdrop{background:var(--color-overlay,#0a12249e);-webkit-backdrop-filter:blur(8px)saturate(120%);z-index:var(--z-modal);animation:fadeIn var(--dur-base,.24s) ease both;position:fixed;inset:0}.modal-overlay{z-index:var(--z-modal);padding:var(--space-4);padding-top:max(var(--space-4), var(--safe-top,0px));padding-bottom:max(var(--space-4), var(--safe-bottom,0px));background:var(--color-overlay,#0a12249e);-webkit-backdrop-filter:blur(8px)saturate(120%);overscroll-behavior:contain;animation:fadeIn var(--dur-base,.24s) ease both;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-container{width:100%;max-width:var(--modal-w,560px);max-height:min(90vh,900px);background:var(--color-surface);border-radius:var(--radius-xl);min-height:0;max-height:min(90dvh,900px);box-shadow:var(--shadow-pop);z-index:calc(var(--z-modal) + 1);border:1px solid #fff9;flex-direction:column;display:flex;position:relative;overflow:hidden}.modal-overlay:has(>.modal-backdrop){-webkit-backdrop-filter:none;background:0 0}.modal-hero,.modal-header-solid{color:#fff;flex-shrink:0;position:relative;overflow:hidden}.modal-hero{background:linear-gradient(135deg, var(--hero-color,var(--color-brand)) 0%, var(--color-brand-2,#003f70) 100%);padding:var(--space-5) var(--space-5)}.modal-header-solid{background:var(--color-brand-grad);padding:var(--space-5) var(--space-5) var(--space-6);gap:var(--space-2);flex-direction:column;display:flex}.modal-hero:after,.modal-header-solid:after{content:"";pointer-events:none;background:radial-gradient(circle at 15% 0,#fff3 0%,#0000 50%),radial-gradient(circle at 100% 100%,#ffffff1a 0%,#0000 50%);position:absolute;inset:0}.modal-hero>*,.modal-header-solid>*{z-index:1;position:relative}.modal-hero h2,.modal-header-solid h2{font-family:var(--font-display);color:#fff;font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);text-wrap:balance;margin:0}.modal-header-icon{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(10px);background:#ffffff2e;border:1px solid #ffffff3d;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.modal-header-sub{font-size:var(--fs-sm);color:#ffffffd1;line-height:var(--lh-snug);max-width:44ch;margin:0}.modal-close-btn{color:#fff;-webkit-backdrop-filter:blur(6px);width:40px;height:40px;transition:background var(--dur-fast), transform var(--dur-base) var(--ease-out);background:#ffffff2e;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.modal-close-btn:hover{background:#ffffff52;transform:rotate(90deg)scale(1.05)}.modal-body{padding:var(--space-5)}.modal-body--scroll{padding:var(--space-5);overscroll-behavior:contain;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.modal-footer{padding:var(--space-3) var(--space-4);background:var(--color-surface);border-top:1px solid var(--color-border);justify-content:center;gap:var(--space-2);flex-shrink:0;display:flex}.modal-footer>*{min-width:110px}.modal-actions{justify-content:center;gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.modal-actions>*{min-width:130px}.modal-cancel-btn,.modal-save-btn,.modal-danger-btn,.modal-secondary-btn,.modal-cta-btn{border-radius:var(--radius-md);font-size:var(--fs-base);font-weight:var(--fw-semibold);min-height:46px;transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base), background var(--dur-fast), filter var(--dur-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;padding:.8rem 1.1rem;display:inline-flex}.modal-cancel-btn{background:var(--color-surface-2);color:var(--color-text-soft)}.modal-cancel-btn:hover:not(:disabled){background:var(--color-border);color:var(--color-text)}.modal-secondary-btn{background:var(--color-surface);color:var(--color-brand);border-color:color-mix(in srgb, var(--color-brand) 35%, transparent)}.modal-secondary-btn:hover:not(:disabled){background:color-mix(in srgb, var(--color-brand) 8%, white)}.modal-save-btn,.modal-cta-btn{background:var(--color-brand-grad);color:#fff;box-shadow:var(--shadow-brand)}.modal-cta-btn{background:linear-gradient(135deg, var(--btn-color,var(--color-brand)) 0%, var(--color-brand-2,#003f70) 100%);flex:1}.modal-save-btn:hover:not(:disabled),.modal-cta-btn:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-2px)}.modal-danger-btn{background:var(--color-danger);color:#fff;box-shadow:0 10px 24px #ef444442}.modal-danger-btn:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-2px)}.modal-cancel-btn:disabled,.modal-save-btn:disabled,.modal-danger-btn:disabled,.modal-secondary-btn:disabled,.modal-cta-btn:disabled{opacity:.6;box-shadow:none;transform:none}.modal-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}.modal-stats{gap:var(--space-3);display:grid}.form-field{margin-bottom:var(--space-4)}.form-field label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--color-text);margin-bottom:.4rem;display:block}.form-field input,.form-field select,.form-field textarea{border:1.5px solid var(--color-border);border-radius:var(--radius-md);width:100%;font-size:var(--fs-base);color:var(--color-text);background:var(--color-surface);transition:border-color var(--dur-fast), box-shadow var(--dur-fast), background var(--dur-fast);min-height:46px;padding:.75rem 1rem}.form-field textarea{resize:vertical;min-height:96px}.form-field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--color-text-muted) 50%), linear-gradient(135deg, var(--color-text-muted) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 1.1rem),calc(100% - .7rem);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:2.2rem}.form-field input:hover,.form-field select:hover,.form-field textarea:hover{border-color:var(--color-border-strong)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--color-brand);box-shadow:var(--ring);outline:none}.form-field input:disabled,.form-field select:disabled,.form-field textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--color-surface-2)}.form-grid .form-field{margin-bottom:0}.form-field-full{grid-column:1/-1}.form-error{background:var(--color-danger-bg);border-radius:var(--radius-md);color:var(--color-danger-soft);font-size:var(--fs-sm);font-weight:var(--fw-medium);margin-bottom:var(--space-4);animation:fadeUp var(--dur-base) var(--ease-out) both;border:1px solid #ef444440;align-items:center;gap:.45rem;padding:.65rem .85rem;display:flex}.form-error svg{color:var(--color-danger);flex-shrink:0}.form-helper{font-size:var(--fs-xs);color:var(--color-text-muted);line-height:var(--lh-snug);margin:.55rem 0 0}@media (max-width:640px){.modal-overlay{align-items:flex-end;padding:0}.modal-container{border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;max-height:94dvh;padding-bottom:var(--safe-bottom,0px);border-bottom:none;width:100%!important;max-width:100%!important}.modal-container:before{content:"";border-radius:var(--radius-full);z-index:5;pointer-events:none;background:#ffffff8c;width:38px;height:4px;margin-left:-19px;position:absolute;top:8px;left:50%}.modal-actions{gap:var(--space-2);flex-direction:column-reverse}.modal-actions>*,.modal-footer>*{width:100%;min-width:0}.modal-footer{padding-bottom:calc(var(--space-3) + var(--safe-bottom,0px));flex-direction:column-reverse}.modal-hero,.modal-header-solid{padding:var(--space-5) var(--space-4) var(--space-4)}.modal-body,.modal-body--scroll{padding:var(--space-4)}}@media (prefers-reduced-motion:reduce){.modal-backdrop,.modal-overlay,.form-error{animation:none!important}.modal-close-btn:hover{transform:none}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.route-fallback{justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex}.route-fallback-spinner{border:3px solid #0f172a1a;border-top-color:#005faa;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite route-fallback-spin}@keyframes route-fallback-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.route-fallback-spinner{animation-duration:1.5s}}
