@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/Inter-variable-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/Inter-variable-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/BarlowCondensed-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/BarlowCondensed-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/BarlowCondensed-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/BarlowCondensed-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/BarlowCondensed-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/BarlowCondensed-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/BarlowCondensed-800-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/BarlowCondensed-800-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/IBMPlexMono-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/IBMPlexMono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/IBMPlexMono-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/IBMPlexMono-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/IBMPlexMono-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/IBMPlexMono-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/IBMPlexSans-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/IBMPlexSans-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/IBMPlexSans-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/IBMPlexSans-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/IBMPlexSans-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/IBMPlexSans-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/IBMPlexSans-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/IBMPlexSans-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f4f6f9;--bg-deep: #eaeef4;--panel: #ffffff;--panel-2: #fdfefe;--panel-3: #f2f5f8;--panel-glass: rgba(255, 255, 255, .96);--line: rgba(15, 37, 82, .12);--line-soft: rgba(15, 37, 82, .07);--line-strong: rgba(15, 37, 82, .24);--ink: #142033;--mut: #5a6b7c;--dim: #8493a2;--flame: #ff7a2f;--flame-2: #ff9a4d;--flame-deep: #e8541e;--flame-ink: #b94a0c;--cyan: #2aa8d8;--cyan-2: #45c4f0;--cyan-ink: #0e6086;--green: #2fbd80;--green-ink: #12734f;--amber: #f0a92c;--amber-ink: #8a5d0c;--red: #ef5350;--red-ink: #b3261e;--navy: #0f2552;--navy-mid: #1e3c72;--flame-soft: rgba(255, 122, 47, .1);--cyan-soft: rgba(42, 168, 216, .1);--green-soft: rgba(47, 189, 128, .11);--amber-soft: rgba(240, 169, 44, .13);--red-soft: rgba(239, 83, 80, .1);--success: var(--green-ink);--success-bg: var(--green-soft);--warning: var(--amber-ink);--warning-bg: var(--amber-soft);--danger: var(--red-ink);--danger-strong: #8f1d17;--danger-bg: var(--red-soft);--info: var(--cyan-ink);--info-bg: var(--cyan-soft);--bg-app: var(--bg);--bg-surface: var(--panel);--bg-topbar: rgba(255, 255, 255, .9);--text-primary: var(--ink);--text-secondary: var(--mut);--text-on-dark: #e8eef6;--text-on-dark-muted: #a9b8ca;--border: var(--line);--border-subtle: var(--line-soft);--primary: var(--flame);--primary-hover: var(--flame-2);--accent: var(--flame);--accent-strong: var(--flame-deep);--accent-soft: var(--flame-soft);--focus-ring: rgba(42, 168, 216, .25);--nav-text: var(--mut);--nav-text-hover: var(--ink);--nav-text-active: var(--flame-ink);--nav-hover-bg: rgba(15, 37, 82, .04);--nav-active-bg: rgba(255, 122, 47, .09);--nav-marker: var(--flame);--font-display: Inter, "Segoe UI", system-ui, -apple-system, Arial, sans-serif;--font-sans: Inter, "Segoe UI", system-ui, -apple-system, Arial, sans-serif;--font-mono: "IBM Plex Mono", "Cascadia Mono", Consolas, monospace;--fs-xs: .7rem;--fs-sm: .8rem;--fs-base: .88rem;--fs-md: 1rem;--fs-lg: 1.15rem;--fs-xl: 1.5rem;--fs-2xl: 2rem;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-tight: 1.15;--lh-normal: 1.55;--ls-label: .16em;--ls-display: .02em;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 3rem;--radius-sm: 6px;--radius: 9px;--radius-lg: 14px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(15, 37, 82, .06);--shadow: 0 8px 22px rgba(15, 37, 82, .08);--shadow-lg: 0 20px 48px rgba(15, 37, 82, .16);--glow-flame: 0 10px 26px rgba(255, 122, 47, .3);--glow-cyan: 0 10px 26px rgba(42, 168, 216, .26);--topbar-h: 60px;--rail-w: 56px;--rail-w-open: 232px;--t-slow: .22s;--content-max: 1240px;--transition: .18s cubic-bezier(.22, .9, .3, 1);--ease-out: cubic-bezier(.22, .9, .3, 1);--t-tap: 90ms;--t-base: .2s;--t-enter: .38s;--stagger: 45ms;--white: #ffffff;--gray-50: #f7f9fb;--gray-100: var(--panel-3);--gray-200: #e6eaef;--gray-300: #d3dae2;--gray-400: var(--dim);--gray-500: var(--mut);--gray-600: var(--mut);--gray-700: var(--ink);--gray-800: var(--ink);--gray-900: var(--ink);--navy-900: #0a1830;--navy-800: var(--navy);--navy-700: #16305f;--navy-600: var(--navy-mid);--navy-500: #2b4d86;--navy-400: #4a6a9c;--navy-300: #8ea3c1;--navy-200: #c2cede;--navy-50: rgba(42, 168, 216, .09);--steel-600: var(--cyan-ink);--steel-500: var(--cyan)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body{height:100%}html{scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--text-primary);background:radial-gradient(900px 620px at 94% -8%,rgba(42,168,216,.09),transparent 62%),radial-gradient(820px 620px at -6% 106%,rgba(255,122,47,.08),transparent 62%),var(--bg);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:linear-gradient(rgba(15,37,82,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(15,37,82,.04) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse at 50% 25%,#000 30%,transparent 88%);mask-image:radial-gradient(ellipse at 50% 25%,#000 30%,transparent 88%)}::selection{background:#ff7a2f3d;color:var(--ink)}h1,h2,h3,h4{font-family:var(--font-display);line-height:var(--lh-tight);color:var(--ink);font-weight:var(--fw-bold);letter-spacing:var(--ls-display)}h1{font-size:var(--fs-2xl);font-weight:800}h2{font-size:var(--fs-xl);font-weight:800}h3{font-size:var(--fs-lg)}h4{font-family:var(--font-sans);font-size:var(--fs-md);font-weight:var(--fw-semibold);text-transform:none;letter-spacing:0}a{color:var(--cyan-ink);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--flame-ink);text-decoration:underline}img{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}ul,ol{padding-left:1.2rem}strong,b{font-weight:var(--fw-semibold);color:var(--ink)}:focus-visible{outline:2px solid var(--cyan-ink);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0f255229;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#0f255247}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.content-inner>router-outlet~*{display:block;animation:rise .45s var(--ease-out) backwards}@keyframes rise-sm{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.grid-cards>*,.grid-2>*,.grid-kpi>*{animation:rise-sm var(--t-enter) var(--ease-out) backwards}.grid-cards>*:nth-child(2),.grid-2>*:nth-child(2),.grid-kpi>*:nth-child(2){animation-delay:calc(var(--stagger) * 1)}.grid-cards>*:nth-child(3),.grid-2>*:nth-child(3),.grid-kpi>*:nth-child(3){animation-delay:calc(var(--stagger) * 2)}.grid-cards>*:nth-child(4),.grid-2>*:nth-child(4),.grid-kpi>*:nth-child(4){animation-delay:calc(var(--stagger) * 3)}.grid-cards>*:nth-child(5),.grid-2>*:nth-child(5),.grid-kpi>*:nth-child(5){animation-delay:calc(var(--stagger) * 4)}.grid-cards>*:nth-child(n+6),.grid-2>*:nth-child(n+6),.grid-kpi>*:nth-child(n+6){animation-delay:calc(var(--stagger) * 5)}table.data tbody tr{animation:fade-in .26s var(--ease-out) backwards}table.data tbody tr:nth-child(2){animation-delay:25ms}table.data tbody tr:nth-child(3){animation-delay:50ms}table.data tbody tr:nth-child(4){animation-delay:75ms}table.data tbody tr:nth-child(5){animation-delay:.1s}table.data tbody tr:nth-child(6){animation-delay:125ms}table.data tbody tr:nth-child(7){animation-delay:.15s}table.data tbody tr:nth-child(n+8){animation-delay:.17s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.hidden{display:none!important}.text-muted{color:var(--text-secondary)}.text-center{text-align:center}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.mt-1{margin-top:var(--sp-1)}.mt-2{margin-top:var(--sp-2)}.mt-3{margin-top:var(--sp-3)}.mt-4{margin-top:var(--sp-4)}.mt-5{margin-top:var(--sp-5)}.mt-6{margin-top:var(--sp-6)}.mb-1{margin-bottom:var(--sp-1)}.mb-2{margin-bottom:var(--sp-2)}.mb-3{margin-bottom:var(--sp-3)}.mb-4{margin-bottom:var(--sp-4)}.mb-5{margin-bottom:var(--sp-5)}.mb-6{margin-bottom:var(--sp-6)}.w-full{width:100%}.grid{display:grid}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--sp-5) var(--sp-4);position:relative;z-index:1}.login-shell{width:100%;max-width:430px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:rise .6s var(--ease-out) backwards}.login-main{padding:46px 40px;display:flex;flex-direction:column;justify-content:center}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:40px;width:100%;max-width:396px}.login-brand{display:flex;justify-content:center;margin-bottom:var(--sp-5)}.login-brand .brand-lockup img{height:68px;width:auto}.login-title{font-family:var(--font-display);font-size:1.65rem;font-weight:600;letter-spacing:-.025em;color:var(--ink);text-align:center;margin:0 0 4px}.login-lead{text-align:center;color:var(--mut);font-size:var(--fs-sm);margin:0 0 var(--sp-5)}.login-sub,.login-card>.sub{color:var(--mut);font-size:var(--fs-sm);margin-bottom:var(--sp-5)}@media(max-width:860px){.login-main{padding:36px 26px}}.app-shell{display:grid;grid-template-rows:var(--topbar-h) 1fr;grid-template-areas:"topbar" "content";min-height:100vh;position:relative;z-index:1}.rail{position:fixed;top:var(--topbar-h);left:0;bottom:0;width:var(--rail-w);z-index:45;display:flex;flex-direction:column;background:var(--panel);border-right:1px solid var(--line);overflow:hidden;transition:width var(--t-slow, .22s) var(--ease-out)}.rail:hover,.rail:has(:focus-visible),.rail.pinned{width:var(--rail-w-open);box-shadow:8px 0 24px #0f25520f}.rail.pinned{box-shadow:none}.rail-head{display:flex;align-items:center;gap:10px;height:46px;padding:0 12px;flex:none;border-bottom:1px solid var(--line-soft)}.rail-pin{flex:none;width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--mut);cursor:pointer;transition:background .15s ease,color .15s ease}.rail-pin:hover{background:var(--nav-hover-bg);color:var(--ink)}.rail-pin svg{width:18px;height:18px}.rail.pinned .rail-pin{color:var(--flame);background:var(--nav-active-bg)}.rail-head-label{font-family:var(--font-mono);font-size:10px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--dim);white-space:nowrap}.rail-list{list-style:none;margin:0;padding:8px 0;overflow-y:auto;overflow-x:hidden;flex:1;scrollbar-width:thin}.rail-list li{margin:0}.rail-list a{display:flex;align-items:center;gap:12px;padding:10px 12px;margin:1px 8px;border-radius:var(--radius-sm);color:var(--mut);font-family:var(--font-sans);font-size:var(--fs-base);font-weight:var(--fw-semibold);text-decoration:none;white-space:nowrap;transition:background .15s ease,color .15s ease}.rail-list a:hover{background:var(--nav-hover-bg);color:var(--ink);text-decoration:none}.rail-list a.active{background:var(--nav-active-bg);color:var(--flame-ink)}.rail-list a.active .rail-ico{color:var(--flame)}.rail-ico{flex:none;width:20px;height:20px;display:grid;place-items:center}.rail-ico svg{width:19px;height:19px}.rail-marca{width:22px;height:22px;object-fit:contain;display:block}.rail-logo{height:15px;width:auto;max-width:128px;object-fit:contain;display:block}.rail-list a.active .rail-logo,.rail-list a.active .rail-marca{filter:none}.rail-label,.rail-head-label{opacity:0;transition:opacity .14s ease}.rail:hover .rail-label,.rail:has(:focus-visible) .rail-label,.rail.pinned .rail-label,.rail:hover .rail-head-label,.rail:has(:focus-visible) .rail-head-label,.rail.pinned .rail-head-label{opacity:1}.app-shell>.content{margin-left:var(--rail-w)}@media(prefers-reduced-motion:reduce){.rail,.rail-label,.rail-head-label{transition:none}}@media(max-width:700px){.rail{width:var(--rail-w)}.rail:hover:not(.pinned){width:var(--rail-w);box-shadow:none}.rail:hover:not(.pinned) .rail-label,.rail:hover:not(.pinned) .rail-head-label{opacity:0}.rail.pinned{box-shadow:8px 0 24px #0f25521f}}.topbar{grid-area:topbar;background:var(--bg-topbar);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px 0 12px;position:sticky;top:0;z-index:40}@supports (animation-timeline: scroll()){.topbar{animation:header-lift linear both;animation-timeline:scroll();animation-range:0 90px}}@keyframes header-lift{0%{box-shadow:0 0 #0f255200}to{box-shadow:0 6px 18px #0f255212}}.topbar-left{display:flex;align-items:center;gap:14px;min-width:0}.topbar-brand{display:flex;align-items:center;flex:none}.topbar-role{font-family:var(--font-mono);font-size:10px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--dim);white-space:nowrap;padding-left:14px;border-left:1px solid var(--line)}.topbar .page-title{font-family:var(--font-display);color:var(--navy);font-size:1.05rem;font-weight:var(--fw-bold);letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-right{display:flex;align-items:center;gap:12px}.user-chip{display:flex;align-items:center;gap:10px;padding-left:16px;border-left:1px solid var(--line)}.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--flame-2),var(--flame));color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:14px;letter-spacing:.04em;flex:none;box-shadow:0 0 0 3px #ff7a2f29}.user-meta{line-height:1.3}.user-meta .name{color:var(--ink);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.user-meta .sub{color:var(--dim);font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.content{grid-area:content;padding:30px 32px 60px;overflow-x:hidden;min-width:0}.content-inner{max-width:var(--content-max);margin:0 auto}@media(max-width:1100px){.topbar .page-title{display:none}}@media(max-width:880px){.topbar{padding:0 14px}.topbar-role,.user-chip .user-meta{display:none}.content{padding:22px 16px 40px}}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-5);padding-bottom:var(--sp-4);border-bottom:1px solid var(--line);flex-wrap:wrap}.page-header h1{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.1rem);font-weight:800;letter-spacing:-.02em;color:var(--navy)}.page-header .subtitle{color:var(--mut);margin-top:6px;font-size:var(--fs-sm);max-width:70ch}.kicker{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;color:var(--flame-ink);text-transform:uppercase;margin-bottom:8px}.grid-calendar{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--sp-4);align-items:start}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--sp-4)}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--sp-4)}.grid-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--sp-4)}.brand-lockup{display:flex;align-items:center;gap:var(--sp-2)}.brand-lockup img{height:30px;width:auto}.brand-fallback{display:flex;align-items:center;gap:var(--sp-2);font-family:var(--font-display);font-weight:800;letter-spacing:.07em}.brand-fallback .mark{width:32px;height:32px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--flame-2),var(--flame));color:#fff;display:grid;place-items:center;font-size:.95rem;font-weight:800}.brand-fallback .word{color:var(--navy);font-size:1.1rem;text-transform:uppercase}.brand-fallback .word .accent{color:var(--flame-ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:10px 20px;border:1px solid var(--line-strong);border-radius:var(--radius);font-family:var(--font-display);font-size:14px;font-weight:var(--fw-bold);letter-spacing:.045em;text-transform:uppercase;cursor:pointer;transition:transform var(--t-base) var(--ease-out),background var(--t-base),border-color var(--t-base),color var(--t-base),box-shadow var(--t-base);white-space:nowrap;background:var(--panel);color:var(--ink)}.btn:hover{border-color:var(--cyan);color:var(--cyan-ink);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.btn:active{transform:translateY(0) scale(.97);transition-duration:var(--t-tap)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:disabled:hover,.btn:disabled:active{transform:none;border-color:var(--line-strong);color:var(--ink);box-shadow:none}.btn-primary{background:linear-gradient(135deg,var(--flame),var(--flame-2));border-color:transparent;color:#fff;box-shadow:0 4px 14px #ff7a2f47}.btn-primary:hover{color:#fff;border-color:transparent;box-shadow:var(--glow-flame)}.btn-accent{background:linear-gradient(135deg,var(--cyan),var(--cyan-2));border-color:transparent;color:#fff;box-shadow:0 4px 14px #2aa8d842}.btn-accent:hover{color:#fff;border-color:transparent;box-shadow:var(--glow-cyan)}.btn-ghost{background:transparent;border-color:transparent;color:var(--mut)}.btn-ghost:hover{background:#0f25520d;border-color:transparent;color:var(--ink);transform:none;box-shadow:none}.btn-danger{background:transparent;border-color:#ef535080;color:var(--red-ink)}.btn-danger:hover{background:var(--red-ink);border-color:var(--red-ink);color:#fff;box-shadow:0 8px 22px #b3261e3d}.modal-foot .btn-danger{background:var(--red-ink);border-color:var(--red-ink);color:#fff}.modal-foot .btn-danger:hover{background:var(--danger-strong);border-color:var(--danger-strong)}.btn-sm{padding:6px 13px;font-size:12px;letter-spacing:.07em}.btn-block{width:100%}.btn-icon{padding:0;width:36px;height:36px;border-radius:var(--radius)}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .22s var(--ease-out),border-color .22s,box-shadow .22s}.card-pad,.panel-pad{padding:22px 24px}.card-header{padding:16px 22px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.card-header h3{font-family:var(--font-display);font-size:1.1rem;font-weight:var(--fw-bold);letter-spacing:-.005em;color:var(--navy)}.card-body{padding:20px 22px}.card-accent-top{border-top:2px solid var(--flame)}.panel-tag{font-family:var(--font-mono);font-size:10.5px;letter-spacing:var(--ls-label);color:var(--dim);text-transform:uppercase;margin-bottom:14px}.card-link{cursor:pointer}.card-link:hover{transform:translateY(-4px);border-color:#ff7a2f80;box-shadow:var(--shadow)}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px 22px;position:relative;overflow:hidden;transition:border-color .22s,transform .22s var(--ease-out),box-shadow .22s}.kpi:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:var(--shadow)}.kpi .label{font-family:var(--font-mono);color:var(--dim);font-size:10.5px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-label)}.kpi .value{font-family:var(--font-display);font-size:2.35rem;font-weight:800;color:var(--navy);margin-top:8px;line-height:1.05;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.kpi .delta,.kpi .sub{font-size:var(--fs-sm);margin-top:var(--sp-2);color:var(--mut)}.kpi .link{color:var(--flame-ink);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;margin-top:var(--sp-2);display:inline-block}.kpi .link:hover{text-decoration:underline}.kpi.accent{border-left:3px solid var(--flame)}.kpi.accent .value{color:var(--flame-ink)}.badge,.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:var(--radius-full);font-family:var(--font-mono);font-size:10.5px;font-weight:var(--fw-semibold);letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;border:1px solid var(--line);background:var(--panel-3);color:var(--mut)}.badge-success,.chip.ok{color:var(--green-ink);border-color:#2fbd8066;background:var(--green-soft)}.badge-warning,.chip.warn{color:var(--amber-ink);border-color:#f0a92c6b;background:var(--amber-soft)}.badge-danger,.chip.danger{color:var(--red-ink);border-color:#ef535066;background:var(--red-soft)}.badge-info,.chip.info{color:var(--cyan-ink);border-color:#2aa8d866;background:var(--cyan-soft)}.chip.dim{color:var(--mut);border-color:var(--line);background:var(--panel-3)}.chip.live,.badge.live{color:var(--red-ink);border-color:#ef535073;background:var(--red-soft)}.dot{width:7px;height:7px;border-radius:50%;background:currentColor;animation:dot-pulse 1.3s infinite}@keyframes dot-pulse{0%,to{box-shadow:0 0 #ef535073}55%{box-shadow:0 0 0 6px #ef535000}}.table-wrap{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow-sm)}table.data{width:100%;border-collapse:collapse;font-size:var(--fs-base)}table.data th,table.data td{padding:13px var(--sp-4);text-align:left}table.data thead th{font-family:var(--font-mono);background:var(--panel-3);color:var(--dim);font-weight:var(--fw-semibold);font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid var(--line)}table.data tbody tr{border-top:1px solid var(--line-soft);transition:background .15s ease,box-shadow .18s var(--ease-out)}table.data tbody tr:hover{background:#2aa8d80d;box-shadow:inset 3px 0 0 var(--cyan)}table.data td.actions{white-space:nowrap;text-align:right}.field{margin-bottom:var(--sp-4)}.field label{display:block;font-family:var(--font-mono);font-size:10.5px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--dim);margin-bottom:7px}.field .hint{font-size:var(--fs-xs);color:var(--mut);margin-top:var(--sp-1)}.input,.select,.textarea{width:100%;padding:10px 13px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--panel);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease;font-size:var(--fs-base)}.input::placeholder,.textarea::placeholder{color:var(--dim)}.input:focus,.select:focus,.textarea:focus{border-color:var(--cyan);outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.textarea{min-height:120px;resize:vertical}.input-con-boton{position:relative;display:block}.input-con-boton .input{padding-right:44px}.input-boton{position:absolute;top:50%;right:4px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0;border-radius:var(--radius-sm, 6px);background:transparent;color:var(--dim);cursor:pointer;transition:color .15s ease,background-color .15s ease}.input-boton:hover{color:var(--ink);background:var(--hover, rgba(0, 0, 0, .05))}.input-boton:focus-visible{outline:none;color:var(--ink);box-shadow:0 0 0 2px var(--focus-ring)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}@media(max-width:560px){.form-row{grid-template-columns:1fr}}.banner{border-radius:var(--radius);padding:13px var(--sp-4);display:flex;align-items:center;gap:var(--sp-3);border:1px solid var(--line-soft);border-left:3px solid var(--dim);background:var(--panel-3);color:var(--mut);font-size:var(--fs-base)}.banner strong{color:inherit}.banner .banner-ico{font-size:1.1rem;flex:none}.banner-info{background:var(--cyan-soft);color:var(--cyan-ink);border-left-color:var(--cyan)}.banner-success{background:var(--green-soft);color:var(--green-ink);border-left-color:var(--green)}.banner-warning{background:var(--amber-soft);color:var(--amber-ink);border-left-color:var(--amber)}.banner-danger{background:var(--red-soft);color:var(--red-ink);border-left-color:var(--red)}.welcome{background:radial-gradient(520px 220px at 92% 0%,rgba(255,122,47,.22),transparent 62%),linear-gradient(135deg,var(--navy),var(--navy-mid));border-radius:var(--radius-lg);padding:28px 30px;color:var(--text-on-dark)}.welcome h2{color:#fff}.welcome p{color:var(--text-on-dark-muted);margin-top:var(--sp-2);font-size:var(--fs-sm)}.progress,.bar{background:#0f255217;border-radius:var(--radius-full);height:8px;overflow:hidden}.progress>span,.bar>i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--flame-2),var(--flame));transition:width 1.1s var(--ease-out)}.progress-label{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--fs-sm);margin-bottom:7px}.progress-label strong{font-weight:var(--fw-semibold)}.progress-label span{font-family:var(--font-mono);color:var(--mut)}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:var(--sp-5);flex-wrap:wrap}.tab{position:relative;padding:11px 16px;border:none;background:none;cursor:pointer;font-family:var(--font-display);font-size:15px;font-weight:var(--fw-bold);letter-spacing:.07em;text-transform:uppercase;color:var(--mut);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .18s ease}.tab:after{content:"";position:absolute;left:10px;right:10px;bottom:-2px;height:2px;border-radius:2px;background:var(--line-strong);transform:scaleX(0);transition:transform .26s var(--ease-out),background .26s ease}.tab:hover:after{transform:scaleX(.45)}.tab.active:after{transform:scaleX(1);background:var(--flame)}.tab:hover{color:var(--ink)}.tab.active{color:var(--flame-ink)}.collapsible{display:grid;grid-template-rows:0fr;transition:grid-template-rows .42s var(--ease-out)}.collapsible.open{grid-template-rows:1fr}.collapsible>*{overflow:hidden;min-height:0;opacity:0;transform:translateY(-6px);transition:opacity .18s ease,transform .18s var(--ease-out)}.collapsible.open>*{opacity:1;transform:none;transition:opacity .3s ease .12s,transform .3s var(--ease-out) .12s}.group-toggle{display:flex;align-items:center;gap:12px;width:100%;padding:0;border:none;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.group-toggle h3{transition:color .18s ease}.group-toggle:hover h3{color:var(--flame-ink)}.group-chevron{flex:none;font-size:1.5rem;line-height:1;color:var(--dim);transition:transform .42s var(--ease-out),color .18s ease}.group-chevron.open{transform:rotate(90deg)}.group-toggle:hover .group-chevron{color:var(--flame-ink)}.modal-backdrop{position:fixed;inset:0;background:#0f255257;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:var(--sp-4);z-index:100;animation:fade-in .18s ease}.modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;max-width:540px;box-shadow:var(--shadow-lg);max-height:90vh;display:flex;flex-direction:column;animation:modal-in .26s var(--ease-out) backwards}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}.modal.lg{max-width:860px}.modal-head{padding:18px 22px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between}.modal-head h3{font-family:var(--font-display);font-size:1.15rem;font-weight:var(--fw-bold);letter-spacing:-.005em;color:var(--navy)}.modal-body{padding:20px 22px;overflow-y:auto}.modal-foot{padding:14px 22px;border-top:1px solid var(--line-soft);display:flex;justify-content:flex-end;gap:var(--sp-3)}.modal-close{background:none;border:none;cursor:pointer;font-size:1.25rem;color:var(--dim);line-height:1;border-radius:var(--radius-sm);padding:2px 8px;transition:background .15s ease,color .15s ease}.modal-close:hover{background:var(--panel-3);color:var(--ink)}.toast-stack{position:fixed;right:var(--sp-5);bottom:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-2);z-index:200}.toast{background:var(--navy);color:#fff;padding:12px var(--sp-4);border-radius:var(--radius);box-shadow:var(--shadow-lg);font-size:var(--fs-base);display:flex;align-items:center;gap:var(--sp-3);border-left:3px solid var(--cyan);animation:toast-in .22s var(--ease-out);min-width:250px;max-width:380px;cursor:pointer}.toast.success{border-left-color:var(--green)}.toast.error{border-left-color:var(--red)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.spinner{width:24px;height:24px;border-radius:50%;border:2px solid rgba(15,37,82,.1);border-top-color:var(--flame);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-block{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-7);color:var(--mut);font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.08em}.empty-state{text-align:center;padding:var(--sp-6) var(--sp-4);color:var(--mut);font-size:var(--fs-sm)}.empty-state .emoji{font-size:1.9rem;display:block;margin-bottom:var(--sp-2);opacity:.6}.pending-tag{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--amber-ink);background:var(--amber-soft);border:1px solid rgba(240,169,44,.35);padding:3px 9px;border-radius:var(--radius-full)}.media-viewer{background:#000;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.media-viewer video{width:100%;display:block;background:#000}.pdf-viewer{background:var(--panel-3);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--sp-3)}.pdf-viewer canvas{display:block;margin:0 auto var(--sp-3);box-shadow:var(--shadow);max-width:100%;border-radius:3px}.pdf-toolbar{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--mut)}.no-select{user-select:none;-webkit-user-select:none}.play{width:42px;height:42px;flex:none;border-radius:50%;border:1px solid rgba(42,168,216,.45);background:var(--cyan-soft);color:var(--cyan-ink);font-size:14px;cursor:pointer;transition:.2s var(--ease-out);display:grid;place-items:center;padding-left:3px}.play:hover{background:var(--cyan);color:#fff;transform:scale(1.08)}.play:disabled{opacity:.45;cursor:not-allowed;transform:none}.play.live{border-color:#ef535080;background:var(--red-soft);color:var(--red-ink)}.play.live:hover{background:var(--red);color:#fff}.exam-timer{position:sticky;top:0;display:inline-flex;align-items:center;gap:var(--sp-2);font-family:var(--font-mono);font-weight:var(--fw-semibold);font-size:var(--fs-md);font-variant-numeric:tabular-nums;background:var(--panel);border:1px solid var(--line-strong);color:var(--ink);padding:8px var(--sp-4);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.exam-timer.warn{color:var(--amber-ink);border-color:#f0a92c80;background:var(--amber-soft)}.exam-timer.danger{color:var(--red-ink);border-color:#ef53508c;background:var(--red-soft);animation:timer-pulse 1s infinite}@keyframes timer-pulse{50%{opacity:.6}}.meta{font-size:var(--fs-sm);color:var(--mut);margin-top:4px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:15px var(--sp-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);margin-bottom:var(--sp-2);transition:border-color .2s ease,box-shadow .2s ease}.list-row:hover{border-color:#2aa8d873;box-shadow:inset 3px 0 0 var(--cyan),var(--shadow-sm)}.list-row .meta{color:var(--mut)}.unit{display:flex;align-items:center;gap:14px;padding:13px 4px;border-bottom:1px solid var(--line-soft);font-size:var(--fs-base)}.unit .n{font-family:var(--font-mono);font-size:11px;color:var(--dim);width:28px;flex:none}.unit .st{margin-left:auto}.unit:last-child{border-bottom:none}.pay-concept{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:14px var(--sp-4);margin-bottom:var(--sp-3);transition:border-color .2s ease,box-shadow .2s ease}.pay-concept:hover{border-color:#2aa8d873;box-shadow:var(--shadow-sm)}.pay-concept.is-paid{box-shadow:inset 3px 0 0 var(--green)}.pay-concept-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3)}.pay-concept-head strong{font-size:var(--fs-base)}.pay-concept-head .meta{margin:3px 0 0}.pay-concept-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--sp-3);align-items:end}.pay-concept-grid .field{margin-bottom:0}.pay-concept-grid .input{padding:7px 10px}.pay-concept-total{font-family:var(--font-mono);font-weight:var(--fw-bold);font-size:1.05rem;color:var(--navy);padding:7px 0;line-height:1.2}.pay-concept-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--line-soft)}.survey-q{padding:16px 0;border-bottom:1px solid var(--line-soft)}.survey-q:last-child{border-bottom:none;padding-bottom:4px}.survey-q-text{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--ink);margin-bottom:var(--sp-3);line-height:1.45}.survey-req{font-family:var(--font-mono);font-size:9.5px;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--flame);border:1px solid var(--flame);border-radius:var(--radius-full);padding:1px 7px;margin-left:8px;vertical-align:middle;font-weight:var(--fw-semibold);white-space:nowrap}.survey-req.done{opacity:0}.survey-opts{display:flex;flex-direction:column;gap:6px}.survey-opt{display:flex;align-items:center;gap:10px;padding:9px 13px;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;font-size:var(--fs-base);text-transform:none;letter-spacing:0;margin:0;color:var(--ink);transition:border-color .15s ease,background .15s ease}.survey-opt:hover{border-color:var(--cyan)}.survey-opt.on{border-color:var(--cyan);background:var(--cyan-soft)}.survey-opt input{margin:0;flex:none}.survey-scale{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.survey-num{width:40px;height:40px;flex:none;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--panel);color:var(--ink);font-family:var(--font-mono);font-size:var(--fs-base);font-weight:var(--fw-semibold);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.survey-num:hover{border-color:var(--cyan)}.survey-num.on{background:var(--navy);border-color:var(--navy);color:#fff}.survey-inst{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;padding:9px 0;border-bottom:1px solid var(--line-soft)}.survey-inst:last-of-type{border-bottom:none}.survey-inst-name{font-size:var(--fs-base);font-weight:var(--fw-semibold)}.survey-bar-row{display:grid;grid-template-columns:minmax(140px,1fr) 2fr 92px;gap:var(--sp-3);align-items:center;padding:5px 0;font-size:var(--fs-sm)}.survey-bar-track{display:block;height:9px;border-radius:var(--radius-full);background:var(--panel-3);overflow:hidden}.survey-bar-fill{display:block;height:100%;min-width:2px;border-radius:var(--radius-full);background:var(--navy);transition:width .42s var(--ease-out)}.survey-bar-fill[style*="width: 0%"]{min-width:0}.survey-bar-num{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--dim);text-align:right;white-space:nowrap}@media(max-width:560px){.survey-bar-row{grid-template-columns:1fr;gap:3px}.survey-bar-num{text-align:left}}.banner-carousel{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);margin-bottom:var(--sp-5)}.banner-slide{position:relative;min-height:240px;display:flex;align-items:center;background-color:var(--navy);background-size:cover;background-position:center right;padding:var(--sp-5) 72px}.banner-slide:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,#0f2552f0,#0f2552db 38%,#0f255226 72%,#0f255200)}.banner-slide-inner{position:relative;max-width:60%;color:#fff}.banner-slide-title{font-family:var(--font-display);font-size:1.7rem;font-weight:800;line-height:1.15;letter-spacing:-.02em;margin-bottom:10px}.banner-slide-body{font-size:var(--fs-base);line-height:1.5;color:#ffffffeb;margin-bottom:16px;white-space:pre-line}.banner-slide-cta{background:#fff;border-color:#fff;color:var(--navy);text-decoration:none}.banner-slide-cta:hover{background:#fff;border-color:#fff;color:var(--flame-ink)}.banner-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;display:grid;place-items:center;border:none;border-radius:var(--radius);background:#ffffff38;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .15s ease}.banner-arrow:hover{background:#fff6}.banner-arrow.left{left:14px}.banner-arrow.right{right:14px}.banner-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;gap:7px}.banner-dot{width:9px;height:9px;padding:0;border:none;border-radius:var(--radius-full);background:#ffffff73;cursor:pointer;transition:background .2s ease,width .2s ease}.banner-dot.on{background:#fff;width:22px}@media(max-width:700px){.banner-slide{min-height:200px;padding:var(--sp-4)}.banner-slide-inner{max-width:100%}.banner-slide-title{font-size:1.25rem}.banner-slide:before{background:linear-gradient(170deg,#0f2552eb,#0f2552e0 60%,#0f25528c)}.banner-arrow{display:none}.banner-dot{width:11px;height:11px}.banner-dot.on{width:26px}}.quote-row{border-left:2px solid var(--line-strong);padding:6px 0 6px 12px;margin:6px 0;font-size:var(--fs-sm);color:var(--ink);white-space:pre-wrap}.group-t{font-family:var(--font-mono);font-size:11px;letter-spacing:var(--ls-label);color:var(--cyan-ink);text-transform:uppercase;margin:var(--sp-5) 0 var(--sp-3)}.notif-wrap,.notif-btn{position:relative}.notif-badge{position:absolute;top:0;right:0;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-full);font-family:var(--font-mono);font-size:9px;font-weight:var(--fw-bold);background:var(--flame);color:#fff;display:none;align-items:center;justify-content:center;border:1.5px solid var(--panel)}.notif-badge.show{display:inline-flex}.notif-panel{position:absolute;right:0;top:46px;width:366px;max-width:82vw;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:none;flex-direction:column;overflow:hidden;z-index:60}.notif-panel.open{display:flex;animation:rise .22s var(--ease-out) both}.notif-head{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--line-soft);font-family:var(--font-mono);font-size:10.5px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--dim)}.notif-list{max-height:380px;overflow-y:auto}.notif-item{display:flex;justify-content:space-between;gap:var(--sp-3);padding:13px 14px;border-bottom:1px solid var(--line-soft);cursor:pointer;border-left:2px solid transparent;transition:background .15s ease}.notif-item:hover{background:#2aa8d80d}.notif-item.unread{background:#ff7a2f0f;border-left-color:var(--flame)}.notif-title{font-weight:var(--fw-semibold);color:var(--ink);font-size:var(--fs-sm)}.notif-msg{color:var(--mut);font-size:var(--fs-xs);margin-top:3px;line-height:1.5}.notif-meta{color:var(--dim);font-family:var(--font-mono);font-size:10px;margin-top:7px}.notif-link{font-size:var(--fs-xs);white-space:nowrap;color:var(--cyan-ink);font-weight:var(--fw-semibold)}.module-pay-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.module-pay-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px 18px;display:flex;flex-direction:column;gap:6px;border-top:2px solid var(--line-strong);transition:transform .2s var(--ease-out),box-shadow .2s}.module-pay-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.module-pay-card.paid{border-top-color:var(--green)}.module-pay-card.rejected{border-top-color:var(--red)}.module-pay-name{font-weight:var(--fw-semibold);font-size:var(--fs-sm);color:var(--ink)}.module-pay-amount{font-family:var(--font-display);font-size:1.6rem;font-weight:800;color:var(--navy);letter-spacing:-.02em}.module-pay-status{margin-top:3px}.module-pay-date{font-family:var(--font-mono);font-size:10.5px;color:var(--green-ink)}.module-pay-note{font-size:var(--fs-xs);color:var(--mut)}.module-chips-label,.student-annc-label{font-family:var(--font-mono);font-size:10.5px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--dim);margin-bottom:12px}.module-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.module-chip{position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px 16px;transition:border-color .2s ease,transform .2s var(--ease-out),box-shadow .2s}.module-chip:hover{border-color:#ff7a2f80;transform:translateY(-3px);box-shadow:var(--shadow)}.module-chip-name{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--ink);line-height:1.35}.module-chip-area{font-size:var(--fs-xs);color:var(--mut);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.module-chip-meta{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.module-chip-meta span{font-family:var(--font-mono);font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.06em;color:var(--mut);background:var(--panel-3);border:1px solid var(--line);border-radius:var(--radius-full);padding:3px 9px}.mods{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px}.mod{position:relative;overflow:hidden;display:block;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:26px;text-decoration:none;color:inherit;transition:border-color .22s ease,transform .22s var(--ease-out),box-shadow .22s}.mod:hover{border-color:#ff7a2f73;transform:translateY(-4px);box-shadow:var(--shadow-lg)}.mod h3{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:24px;line-height:1.15;letter-spacing:-.015em;color:var(--ink);margin:12px 0 0;max-width:78%}.mod .fechas{font-family:var(--font-mono);font-size:11px;color:var(--dim);letter-spacing:.06em;margin:6px 0 14px}.mod .foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.mod .foot .tags{font-size:var(--fs-xs);color:var(--mut)}.mod .go{font-family:var(--font-mono);font-size:11px;color:var(--cyan-ink);white-space:nowrap;opacity:0;transition:opacity .2s ease}.mod:hover .go{opacity:1}@media(hover:none){.mod .go{opacity:1}}.mod-num{position:absolute;right:10px;top:-10px;font-family:var(--font-display);font-weight:800;font-size:96px;color:#0f25520b;line-height:1;pointer-events:none}.feedback-box{background:var(--panel-3);border:1px solid var(--line-soft);border-left:3px solid var(--cyan);border-radius:0 var(--radius) var(--radius) 0;padding:12px 15px;font-size:var(--fs-base)}.feedback-box .feedback-label{display:block;font-family:var(--font-mono);font-size:10px;font-weight:var(--fw-semibold);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--dim);margin-bottom:5px}.feedback-box p{color:var(--mut);white-space:pre-wrap;margin:0}.annc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.annc-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:17px;display:flex;flex-direction:column;gap:8px;border-left:3px solid var(--cyan);transition:transform .2s var(--ease-out),box-shadow .2s}.annc-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.annc-card.annc-inactive{opacity:.5}.annc-type-info{border-left-color:var(--cyan)}.annc-type-warning{border-left-color:var(--amber)}.annc-type-success{border-left-color:var(--green)}.annc-type-promo{border-left-color:var(--flame)}.annc-type-highlight{border-left-color:var(--navy)}.annc-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.annc-card-title{font-weight:var(--fw-semibold);color:var(--ink);font-size:var(--fs-md)}.annc-card-body{font-size:var(--fs-sm);color:var(--mut);line-height:1.55}.annc-card-cta{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--cyan-ink)}.annc-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.student-annc-strip{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:thin}.student-annc-strip::-webkit-scrollbar{height:4px}.student-annc-item{flex:0 0 290px;scroll-snap-align:start;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:15px 17px;display:flex;flex-direction:column;gap:6px;transition:border-color .2s ease}.student-annc-item:hover{border-color:var(--line-strong)}.student-annc-item.type-info{border-top:2px solid var(--cyan)}.student-annc-item.type-warning{border-top:2px solid var(--amber)}.student-annc-item.type-success{border-top:2px solid var(--green)}.student-annc-item.type-promo{border-top:2px solid var(--flame)}.student-annc-item.type-highlight{border-top:2px solid var(--navy)}.student-annc-title{font-weight:var(--fw-semibold);font-size:var(--fs-base);color:var(--ink)}.student-annc-body{font-size:var(--fs-xs);color:var(--mut);line-height:1.55}.student-annc-cta{margin-top:4px}.student-annc-cta a{font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.aviso{display:flex;gap:14px;padding:15px;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;background:var(--panel);transition:border-color .2s ease}.aviso:hover{border-color:#2aa8d873}.aviso .f{font-family:var(--font-mono);font-size:10.5px;color:var(--dim);flex:none;width:54px;padding-top:3px}.aviso b{font-size:var(--fs-base);display:block;margin-bottom:4px}.aviso p{font-size:var(--fs-sm);color:var(--mut);line-height:1.55}.file{display:flex;align-items:center;gap:14px;padding:13px 15px;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:9px;background:var(--panel);transition:.2s var(--ease-out)}.file:hover{border-color:#ff7a2f73;transform:translate(4px);box-shadow:var(--shadow-sm)}.ftype{font-family:var(--font-mono);font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.08em;padding:6px 9px;border-radius:var(--radius-sm);flex:none;text-transform:uppercase}.ftype.pdf{color:var(--red-ink);background:var(--red-soft)}.ftype.pptx{color:var(--flame-ink);background:var(--flame-soft)}.ftype.xlsx{color:var(--green-ink);background:var(--green-soft)}.ftype.mp4{color:var(--cyan-ink);background:var(--cyan-soft)}.ftype.web{color:var(--mut);background:var(--panel-3)}.file-info{flex:1;min-width:0}.file-info b{display:block;font-size:var(--fs-base);font-weight:var(--fw-semibold)}.file-info span{font-family:var(--font-mono);font-size:10.5px;color:var(--dim)}.dl{width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid var(--line);background:none;color:var(--cyan-ink);cursor:pointer;transition:.2s;flex:none}.dl:hover{background:var(--cyan);color:#fff;border-color:var(--cyan)}.ses{display:flex;align-items:center;gap:16px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);transition:.2s var(--ease-out);margin-bottom:10px}.ses:hover{border-color:#2aa8d873;transform:translate(4px);box-shadow:var(--shadow-sm)}.ses.is-live{border-color:#ef535073;background:#ef535009}.ses.is-locked{opacity:.55}.ses-info{flex:1;min-width:0}.ses-info b{display:block;font-size:var(--fs-base);font-weight:var(--fw-semibold)}.ses-info span{font-family:var(--font-mono);font-size:10.5px;color:var(--dim)}.rec{cursor:pointer;padding:0;overflow:hidden}.rec:hover{transform:translateY(-4px);border-color:#2aa8d880;box-shadow:var(--shadow)}.rec.is-locked{opacity:.62}.rec.is-locked:hover{opacity:1}.thumb{height:118px;position:relative;display:grid;place-items:center;background:radial-gradient(240px 120px at 30% 20%,rgba(42,168,216,.2),transparent 65%),radial-gradient(220px 130px at 80% 90%,rgba(255,122,47,.18),transparent 65%),var(--panel-3)}.thumb .p{width:46px;height:46px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:15px;padding-left:3px;transition:.2s;box-shadow:var(--shadow-sm)}.thumb .p:before{content:"";width:0;height:0;border-style:solid;border-width:8px 0 8px 13px;border-color:transparent transparent transparent currentColor}.rec:hover .thumb .p{transform:scale(1.12);background:var(--flame)}.thumb .dur{position:absolute;right:8px;bottom:8px;font-family:var(--font-mono);font-size:10.5px;color:#fff;background:#0f2552c7;padding:3px 8px;border-radius:var(--radius-sm)}.rec-b{padding:14px 16px}.rec-b b{font-size:var(--fs-base);font-weight:var(--fw-semibold);display:block}.rec-b span{font-family:var(--font-mono);font-size:10.5px;color:var(--dim)}.live-hero{display:grid;grid-template-columns:1.4fr 1fr;border:1px solid rgba(239,83,80,.35);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--sp-5);background:var(--panel)}.live-hero .lh-l{padding:26px;background:linear-gradient(135deg,rgba(239,83,80,.07),transparent 70%)}.live-hero .lh-r{padding:26px;display:flex;flex-direction:column;justify-content:center;gap:12px;border-left:1px solid var(--line);background:var(--panel-3)}.live-hero h3{font-size:1.6rem;font-weight:800;margin:12px 0 8px;color:var(--navy)}.zoomdata{font-family:var(--font-mono);font-size:11.5px;color:var(--mut);line-height:1.8}@media(max-width:880px){.live-hero{grid-template-columns:1fr}.live-hero .lh-r{border-left:none;border-top:1px solid var(--line)}}.ptl{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));position:relative;margin:var(--sp-2) 0 var(--sp-5)}.ptl:before{content:"";position:absolute;top:9px;left:6%;right:6%;height:2px;background:#0f25521f}.pnode{text-align:center;position:relative;padding-top:28px}.pnode i{position:absolute;top:2px;left:50%;transform:translate(-50%);width:16px;height:16px;border-radius:50%;background:var(--panel);border:2px solid var(--line-strong)}.pnode.done i{background:var(--green);border-color:var(--green);box-shadow:0 0 0 4px #2fbd8029}.pnode.next i{background:var(--amber);border-color:var(--amber);animation:dot-pulse 1.6s infinite}.pnode.late i{background:var(--red);border-color:var(--red)}.pnode b{font-family:var(--font-display);font-size:17px;letter-spacing:.05em;display:block;text-transform:uppercase}.pnode>span:not(.chip):not(.badge){font-family:var(--font-mono);font-size:10.5px;color:var(--dim);display:block;margin:3px 0 7px}.stats-strip{display:flex;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;margin:var(--sp-5) 0;background:var(--panel);box-shadow:var(--shadow-sm)}.stat{flex:1;padding:22px;text-align:center;border-right:1px solid var(--line)}.stat:last-child{border-right:none}.stat b{font-family:var(--font-display);font-weight:800;font-size:2.1rem;color:var(--flame-ink);display:block;line-height:1.05}.stat span{font-family:var(--font-mono);font-size:10.5px;color:var(--dim);letter-spacing:.12em;text-transform:uppercase}@media(max-width:880px){.stats-strip{flex-direction:column}.stat{border-right:none;border-bottom:1px solid var(--line)}}.cycle{display:flex;align-items:stretch;gap:10px;margin:var(--sp-5) 0 var(--sp-3);flex-wrap:wrap}.cnode{flex:1;min-width:160px;padding:18px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);transition:.2s var(--ease-out);position:relative}.cnode:hover{border-color:#ff7a2f80;transform:translateY(-4px);box-shadow:var(--shadow-sm)}.cnode .cn{font-family:var(--font-mono);font-size:10px;color:var(--flame-ink);letter-spacing:var(--ls-label)}.cnode b{display:block;font-family:var(--font-display);font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase;margin:8px 0 6px}.cnode span{font-size:var(--fs-sm);color:var(--mut);line-height:1.55;display:block}.carr{align-self:center;color:var(--dim);font-size:20px}.req{display:flex;align-items:center;gap:14px;padding:15px 4px;border-bottom:1px solid var(--line-soft);font-size:var(--fs-base)}.req:last-of-type{border-bottom:none}.req .bx{width:24px;height:24px;flex:none;border-radius:var(--radius-sm);display:grid;place-items:center;font-family:var(--font-mono);font-size:11px;font-weight:var(--fw-bold)}.bx.y{background:var(--green-soft);color:var(--green-ink);border:1px solid rgba(47,189,128,.4)}.bx.n{background:var(--panel-3);color:var(--dim);border:1px solid var(--line)}.bx.w{background:var(--amber-soft);color:var(--amber-ink);border:1px solid rgba(240,169,44,.4)}.req .st{margin-left:auto}.cert{border:1px solid rgba(191,149,63,.45);border-radius:var(--radius-lg);padding:34px;text-align:center;position:relative;background:linear-gradient(160deg,rgba(240,169,44,.08),var(--panel) 55%)}.cert:before{content:"";position:absolute;inset:9px;border:1px dashed rgba(191,149,63,.35);border-radius:var(--radius);pointer-events:none}.cert .t{font-family:var(--font-display);font-weight:800;font-size:2.1rem;letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}.cert .n{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:1.6rem;color:var(--flame-ink);margin:14px 0 6px;letter-spacing:.04em}.cert p{color:var(--mut);font-size:var(--fs-sm);max-width:44ch;margin:0 auto;line-height:1.6}.cert .folio{font-family:var(--font-mono);font-size:11px;color:var(--dim);margin-top:18px;letter-spacing:.12em}.steps{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-5)}.step{flex:1;text-align:center;padding-bottom:var(--sp-2);border-bottom:2px solid var(--gray-200);color:var(--mut);font-family:var(--font-display);font-size:14px;letter-spacing:.06em;text-transform:uppercase;transition:color .2s,border-color .2s}.step.active{color:var(--flame-ink);border-bottom-color:var(--flame);font-weight:var(--fw-bold)}.step.done{color:var(--green-ink);border-bottom-color:var(--green)}.ring{display:block}.ring-bg{fill:none;stroke:#0f255217}.ring-fg{fill:none;stroke-linecap:round;transition:stroke-dashoffset 1.2s var(--ease-out)}.ring-num{font-family:var(--font-display);font-weight:800;fill:var(--navy)}.ring-cap{font-family:var(--font-mono);fill:var(--dim);letter-spacing:.14em}.ring-stop-a{stop-color:var(--flame-2)}.ring-stop-b{stop-color:var(--flame)}.chart{display:flex;align-items:flex-end;gap:22px;height:190px;padding:10px 6px 0}.vbar{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}.vbar .col{width:100%;max-width:58px;height:100%;display:flex;align-items:flex-end;border-radius:7px 7px 0 0;overflow:hidden;background:#0f25520e}.vbar .col i{display:block;width:100%;height:0;background:linear-gradient(180deg,var(--flame-2),var(--flame));transition:height 1.1s var(--ease-out);border-radius:7px 7px 0 0}.vbar .col i.cy{background:linear-gradient(180deg,var(--cyan-2),var(--cyan))}.vbar .col i.gr{background:linear-gradient(180deg,#5fd6a4,var(--green))}.vbar .val{font-family:var(--font-mono);font-size:12px;font-weight:var(--fw-semibold);color:var(--ink)}.vbar .val.empty{color:var(--dim)}.vbar .cap{font-family:var(--font-mono);font-size:10px;color:var(--dim);text-align:center;letter-spacing:.05em;line-height:1.35}@media(max-width:700px){.chart{gap:10px}.vbar .cap{font-size:8.5px}}@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing: .25rem;--font-weight-semibold: 600;--tracking-wider: .05em;--radius-sm: .25rem;--radius-lg: .5rem;--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--ease-out: cubic-bezier(0, 0, .2, 1);--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--color-panel: #ffffff;--color-line: rgba(15, 37, 82, .12);--color-line-strong: rgba(15, 37, 82, .24);--color-mut: #5a6b7c;--color-dim: #8493a2;--color-flame-ink: #b94a0c;--color-flame-soft: rgba(255, 122, 47, .1);--color-cyan: #2aa8d8}}@layer utilities{.visible{visibility:visible}.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}}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-auto{margin-top:auto}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.aspect-square{aspect-ratio:1 / 1}.h-\[6px\]{height:6px}.h-\[9px\]{height:9px}.w-\[6px\]{width:6px}.w-\[9px\]{width:9px}.w-full{width:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-\[3px\]{gap:3px}.rounded-full{border-radius:calc(infinity * 1px)}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-cyan{border-color:var(--color-cyan)}.border-line{border-color:var(--color-line)}.bg-flame-soft{background-color:var(--color-flame-soft)}.bg-panel{background-color:var(--color-panel)}.p-1{padding:var(--spacing)}.pt-1{padding-top:var(--spacing)}.text-center{text-align:center}.text-left{text-align:left}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading: 1;line-height:1}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking: var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-dim{color:var(--color-dim)}.text-flame-ink{color:var(--color-flame-ink)}.text-mut{color:var(--color-mut)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.ring{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + 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-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-cyan\/30{--tw-ring-color: color-mix(in srgb, #2aa8d8 30%, transparent)}@supports (color: color-mix(in lab,red,red)){.ring-cyan\/30{--tw-ring-color: color-mix(in oklab, var(--color-cyan) 30%, transparent)}}.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))}.duration-150{--tw-duration: .15s;transition-duration:.15s}@media(hover:hover){.hover\:border-line-strong:hover{border-color:var(--color-line-strong)}}}@media(pointer:coarse){.btn{min-height:44px}.btn-sm{min-height:40px;padding:8px 14px}.btn-icon{min-width:44px;min-height:44px}.modal-close{min-width:44px;min-height:44px;padding:6px 12px}input[type=checkbox],input[type=radio]{width:20px;height:20px}.survey-opt{min-height:48px}.survey-num{width:46px;height:46px}.tab{min-height:46px}table.data td{padding-top:15px;padding-bottom:15px}.input,.select,.textarea,input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=datetime-local],input[type=search],input[type=tel],select,textarea{font-size:16px}}@media(max-width:600px){.content{padding:16px 12px 32px}.card-pad,.panel-pad{padding:16px 14px}.card-header{padding:14px 16px}.card-body{padding:16px}.page-header h1{font-size:1.35rem}.card-header h3{font-size:1rem}.kpi .value{font-size:1.9rem}.kpi{padding:16px}.tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;flex:none}.list-row{flex-direction:column;align-items:flex-start;gap:10px}.list-row>*{width:100%}.page-header{flex-direction:column;align-items:flex-start}.card-body>.btn:only-of-type,.empty-state+.flex>.btn{width:100%}.modal-backdrop{padding:0;align-items:flex-end}.modal,.modal.lg{max-width:100%;width:100%;max-height:92vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:sheet-up .28s var(--ease-out) backwards}.modal-head,.modal-body{padding:16px}.modal-foot{padding:12px 16px;position:sticky;bottom:0;background:var(--panel)}.modal-foot .btn{flex:1}table.data.stack,table.data.stack tbody,table.data.stack tr,table.data.stack td{display:block;width:auto}table.data.stack thead{display:none}table.data.stack tr{border:1px solid var(--line);border-radius:var(--radius);padding:4px 14px 10px;margin-bottom:var(--sp-3);background:var(--panel)}table.data.stack tr:last-child{margin-bottom:0}table.data.stack tr:hover{box-shadow:none}table.data.stack td{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);padding:8px 0;border-bottom:1px solid var(--line-soft);text-align:right}table.data.stack td:last-child{border-bottom:none}table.data.stack td:before{content:attr(data-label);font-family:var(--font-mono);font-size:10px;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--dim);text-align:left;flex:none}table.data.stack td.actions{justify-content:stretch;flex-wrap:wrap;text-align:left;padding-top:12px}table.data.stack td.actions:before{content:none}table.data.stack td.actions .btn{flex:1}.table-wrap:has(table.stack){overflow-x:visible;border:none;background:none;box-shadow:none}.table-wrap{-webkit-overflow-scrolling:touch;background:linear-gradient(to right,var(--panel) 30%,rgba(255,255,255,0)) left center,linear-gradient(to left,var(--panel) 30%,rgba(255,255,255,0)) right center,radial-gradient(farthest-side at 0 50%,#0f25521f,#0000) left center,radial-gradient(farthest-side at 100% 50%,#0f25521f,#0000) right center;background-repeat:no-repeat;background-size:34px 100%,34px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll}table.data th,table.data td{padding-left:12px;padding-right:12px}.form-row{grid-template-columns:1fr}.pay-concept-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.pay-concept-actions{justify-content:stretch}.pay-concept-actions .btn{flex:1}.survey-inst{flex-direction:column;align-items:flex-start;gap:8px}.toast-stack{left:var(--sp-3);right:var(--sp-3);bottom:var(--sp-3)}.toast{width:100%}}@keyframes sheet-up{0%{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:420px){.content{padding:14px 10px 28px}.card-pad,.panel-pad{padding:14px 12px}.topbar{padding:0 10px}.brand-lockup img{height:24px}.page-header h1{font-size:1.2rem}.kpi .value{font-size:1.6rem}.module-pay-grid{grid-template-columns:1fr}.mod-num{font-size:64px}}app-root,app-shell,app-login{display:contents}@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-tracking{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: 0px;}@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-duration{syntax: "*"; inherits: false;}@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-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-tracking: 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-duration: initial}}}
