*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--app-radius-panel:1rem;--app-radius-drawer:0.85rem;--app-panel-bg:rgba(255,252,247,.78);--app-panel-soft-bg:hsla(0,0%,100%,.54);--app-panel-strong-bg:hsla(0,0%,100%,.88);--app-panel-border:hsla(0,0%,100%,.78);--app-panel-line:rgba(27,43,51,.12);--app-panel-shadow:0 8px 24px rgba(27,43,51,.08);--app-panel-shadow-strong:0 14px 36px rgba(27,43,51,.12);--app-panel-shadow-hover:0 18px 40px rgba(27,43,51,.16);--app-text-main:#1b2b33;--app-text-muted:#5b6a70;--app-text-soft:#76838a;--app-focus-ring:rgba(62,111,160,.34);--app-focus-outline:rgba(62,111,160,.22);--app-topbar-pill:hsla(0,0%,100%,.08);--app-topbar-pill-border:hsla(0,0%,100%,.12);--app-icon-shadow:0 6px 16px rgba(27,43,51,.1);--app-table-row:hsla(0,0%,100%,.42);--app-table-row-hover:rgba(62,111,160,.07);--app-table-head:hsla(0,0%,100%,.48)}[data-theme=dark]{--app-panel-bg:rgba(16,21,29,.78);--app-panel-soft-bg:rgba(15,23,42,.52);--app-panel-strong-bg:rgba(15,23,42,.82);--app-panel-border:rgba(148,163,184,.16);--app-panel-line:rgba(148,163,184,.16);--app-panel-shadow:0 10px 28px rgba(2,6,23,.3);--app-panel-shadow-strong:0 16px 40px rgba(2,6,23,.36);--app-panel-shadow-hover:0 20px 44px rgba(2,6,23,.42);--app-text-main:#f3f6fb;--app-text-muted:#b7c3d3;--app-text-soft:#94a3b8;--app-focus-ring:rgba(125,211,252,.28);--app-focus-outline:rgba(125,211,252,.2);--app-topbar-pill:hsla(0,0%,100%,.08);--app-topbar-pill-border:hsla(0,0%,100%,.14);--app-icon-shadow:0 8px 20px rgba(2,6,23,.24);--app-table-row:rgba(15,23,42,.28);--app-table-row-hover:rgba(56,189,248,.1);--app-table-head:rgba(15,23,42,.34)}html{scroll-behavior:smooth}body{font-family:Public Sans,system-ui,-apple-system,Segoe UI,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-text-main);text-rendering:optimizeLegibility}::-moz-selection{background:rgba(74,127,184,.18);color:inherit}::selection{background:rgba(74,127,184,.18);color:inherit}:where(a,button,input,select,textarea,[role=button]):focus-visible{outline:none;box-shadow:0 0 0 3px var(--app-focus-ring),0 0 0 6px var(--app-focus-outline)}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.app-panel{background:var(--app-panel-bg);backdrop-filter:blur(12px);transition:box-shadow .18s ease,border-color .18s ease,background-color .18s ease,transform .18s ease}.app-panel,.app-panel-soft{border:1px solid var(--app-panel-border);border-radius:1rem;box-shadow:var(--app-panel-shadow)}.app-panel-soft{background:var(--app-panel-soft-bg);backdrop-filter:blur(10px)}.app-panel-strong{background:var(--app-panel-strong-bg);box-shadow:var(--app-panel-shadow-strong);backdrop-filter:blur(14px)}.app-kpi-card,.app-panel-strong{border:1px solid var(--app-panel-border);border-radius:1rem}.app-kpi-card{position:relative;overflow:hidden;padding:1.25rem;background:var(--app-panel-bg);box-shadow:var(--app-panel-shadow);backdrop-filter:blur(12px)}.app-kpi-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,hsla(0,0%,100%,.08),transparent 58%);pointer-events:none}.app-page-eyebrow{display:inline-flex;align-items:center;margin-bottom:.6rem;padding:.3rem .95rem .3rem .7rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:#fbf3e4;background:#a87729;clip-path:polygon(0 0,100% 0,88% 100%,0 100%);box-shadow:0 4px 10px rgba(168,119,41,.32)}.dark .app-page-eyebrow{color:#1b2b33;box-shadow:0 4px 10px rgba(168,119,41,.22)}.app-page-title{font-size:2rem;font-weight:600;line-height:1.25}@media (min-width:640px){.app-page-title{font-size:2.45rem}}.app-page-title{color:var(--app-text-main)}.app-page-subtitle{max-width:48rem;font-size:1rem;line-height:1.75rem;color:var(--app-text-muted)}.app-section-title{font-size:1.45rem;font-weight:600;line-height:1.25}@media (min-width:640px){.app-section-title{font-size:1.7rem}}.app-card-title,.app-section-title{color:var(--app-text-main)}.app-card-title{font-size:1.125rem;line-height:1.75rem;font-weight:600;line-height:1.25}.app-label{margin-bottom:.5rem;display:block;font-size:.92rem;font-weight:600;letter-spacing:.04em;color:var(--app-text-muted)}.app-helper{margin-top:.5rem;color:var(--app-text-soft)}.app-helper,.app-meta{font-size:.875rem;line-height:1.5rem}.app-meta{color:var(--app-text-muted)}.app-detail-tile{background:var(--app-panel-soft-bg);border:1px solid var(--app-panel-line);border-radius:1.35rem;padding:1rem;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}.app-detail-tile:hover{border-color:rgba(74,127,184,.18);transform:translateY(-1px)}.app-input{width:100%;border-radius:1rem;border-width:1px;padding:.875rem 1rem;font-size:1rem;line-height:1.5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;border-color:rgba(226,232,240,.9);background:hsla(0,0%,100%,.84);color:var(--app-text-main);box-shadow:inset 0 1px 2px hsla(0,0%,100%,.8)}.dark .app-input{border-color:rgba(51,65,85,.72);background:rgba(15,23,42,.64);color:#fff;box-shadow:inset 0 1px 2px rgba(15,23,42,.4)}.app-input:hover{border-color:rgba(148,163,184,.9)}.dark .app-input:hover{border-color:rgba(71,85,105,.92)}.app-input::-moz-placeholder{color:#94a3b8}.app-input::placeholder{color:#94a3b8}.dark .app-input::-moz-placeholder{color:#64748b}.dark .app-input::placeholder{color:#64748b}.app-input:focus{border-color:#4a7fb8;background:hsla(0,0%,100%,.96)}.dark .app-input:focus{background:rgba(15,23,42,.82)}select.app-input{min-height:3.5rem}.app-textarea{min-height:7.5rem}.app-file-input{display:block;width:100%;border-radius:1rem;border-width:1px;border-style:dashed;padding:1rem;font-size:1rem;line-height:1.5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.app-file-input::file-selector-button{margin-right:1rem;border-radius:9999px;border-width:0;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:600}.app-file-input{border-color:rgba(203,213,225,.95);background:hsla(0,0%,100%,.7);color:var(--app-text-muted)}.app-file-input::file-selector-button{background:#17313a;color:#fff;box-shadow:0 10px 20px rgba(23,49,58,.12);transition:background-color .18s ease,transform .18s ease}.app-file-input:hover::file-selector-button{background:#2f3b76;transform:translateY(-1px)}.dark .app-file-input{border-color:rgba(51,65,85,.72);background:rgba(15,23,42,.62);color:#cbd5e1}.dark .app-file-input::file-selector-button{background:#4a7fb8;color:#020617}.app-button-danger,.app-button-dark,.app-button-primary,.app-button-secondary,.app-topbar-link,.app-topbar-utility{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:9999px;padding:.625rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:600;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.app-button-primary{background:#17313a;color:#fff;box-shadow:0 14px 28px rgba(23,49,58,.14)}.app-button-primary:hover{transform:translateY(-1px);background:#2f3b76}.dark .app-button-primary{background:#4a7fb8;color:#020617}.dark .app-button-primary:hover{background:#7dd3fc}.app-button-secondary{background:hsla(0,0%,100%,.62);color:var(--app-text-main);border:1px solid rgba(226,232,240,.88)}.app-button-secondary:hover{transform:translateY(-1px);background:hsla(0,0%,100%,.88)}.dark .app-button-secondary{background:rgba(15,23,42,.54);color:#fff;border-color:rgba(51,65,85,.72)}.dark .app-button-secondary:hover{background:rgba(15,23,42,.8)}.app-button-danger{background:#e11d48;color:#fff}.app-button-danger:hover{transform:translateY(-1px);background:#be123c}.app-button-dark{background:rgba(2,6,23,.28);border:1px solid hsla(0,0%,100%,.12);color:#fff}.app-button-dark:hover{background:rgba(2,6,23,.46)}.app-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:600;background:hsla(0,0%,100%,.7);border:1px solid rgba(226,232,240,.84);color:var(--app-text-muted);box-shadow:0 10px 24px rgba(23,49,58,.06)}.dark .app-chip{background:rgba(15,23,42,.62);border-color:rgba(51,65,85,.72);color:#cbd5e1}.app-topbar-link{background:var(--app-topbar-pill);border:1px solid var(--app-topbar-pill-border);color:#f8fafc}.app-topbar-link:hover{background:hsla(0,0%,100%,.16);transform:translateY(-1px)}.app-topbar-link-icon,.app-topbar-mobile-icon{display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;background:hsla(0,0%,100%,.14);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1)}.app-topbar-link-icon{width:1.9rem;height:1.9rem}.app-topbar-link-icon svg,.app-topbar-mobile-icon svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.5}.app-topbar-mobile-icon{width:2.6rem;height:2.6rem}.app-topbar-user{display:inline-flex;align-items:center;gap:.75rem;border-radius:9999px;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;background:rgba(2,6,23,.24);border:1px solid hsla(0,0%,100%,.14);color:hsla(0,0%,100%,.86)}.app-topbar-user-badge{height:2rem;width:2rem;font-size:.75rem;line-height:1rem;font-weight:600;text-transform:uppercase;background:hsla(0,0%,100%,.14);color:#fff}.app-icon-button,.app-topbar-user-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:9999px}.app-icon-button{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;width:2.85rem;height:2.85rem;box-shadow:var(--app-icon-shadow)}.app-icon-button:hover{transform:translateY(-1px) scale(1.02)}.app-icon-button svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:1.5}.app-icon-button-doc{background:rgba(245,188,61,.18);color:#9a6311}.app-icon-button-doc:hover{background:rgba(245,188,61,.26)}.dark .app-icon-button-doc{background:rgba(251,191,36,.12);color:#fcd34d}.app-icon-button-whatsapp{background:rgba(16,185,129,.14);color:#0f9f6e}.app-icon-button-whatsapp:hover{background:rgba(16,185,129,.22)}.dark .app-icon-button-whatsapp{background:rgba(16,185,129,.12);color:#86efac}.app-icon-button-email{background:rgba(56,189,248,.14);color:#146d91}.app-icon-button-email:hover{background:rgba(56,189,248,.22)}.dark .app-icon-button-email{background:rgba(56,189,248,.12);color:#bae6fd}.app-icon-button-neutral{background:rgba(148,163,184,.14);color:#475569}.dark .app-icon-button-neutral{background:rgba(148,163,184,.14);color:#cbd5e1}.app-photo-shell{padding:1.25rem;background:var(--app-panel-bg);border:1px solid var(--app-panel-border);box-shadow:var(--app-panel-shadow);backdrop-filter:blur(12px)}.app-photo-frame,.app-photo-shell{overflow:hidden;border-radius:1rem}.app-photo-frame{background:linear-gradient(180deg,rgba(74,127,184,.12),hsla(0,0%,100%,.72));border:1px solid hsla(0,0%,100%,.32)}.dark .app-photo-frame{background:linear-gradient(180deg,rgba(56,189,248,.08),rgba(15,23,42,.72));border-color:rgba(51,65,85,.62)}.app-photo-empty{display:grid;min-height:18rem;place-items:center;gap:.75rem;padding:2rem 1.5rem;text-align:center;color:var(--app-text-muted)}.app-photo-empty-icon{display:inline-flex;height:3.5rem;width:3.5rem;align-items:center;justify-content:center;border-radius:9999px;background:rgba(148,163,184,.18);color:#64748b}.dark .app-photo-empty-icon{background:rgba(51,65,85,.7);color:#cbd5e1}.app-photo-empty-icon svg{width:1.5rem;height:1.5rem;fill:none;stroke:currentColor;stroke-width:1.5}.app-table{width:100%;border-collapse:separate;border-spacing:0}.app-table thead th{padding:.75rem 1rem;text-align:left;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:var(--app-text-muted);background:var(--app-table-head);border-bottom:1px solid var(--app-panel-line)}.app-table thead th:first-child{border-top-left-radius:1rem}.app-table thead th:last-child{border-top-right-radius:1rem}.app-table tbody td{padding:1rem;vertical-align:top;font-size:.875rem;line-height:1.25rem;background:var(--app-table-row);border-bottom:1px solid var(--app-panel-line);color:var(--app-text-main);transition:background-color .18s ease,transform .18s ease}.app-table tbody tr:hover td{background:var(--app-table-row-hover)}.app-table tbody tr:focus-within td{background:var(--app-table-row-hover)}.app-table tbody tr:last-child td:first-child{border-bottom-left-radius:1rem}.app-table tbody tr:last-child td:last-child{border-bottom-right-radius:1rem}.app-table-empty{text-align:center;font-weight:600;color:var(--app-text-muted)}.app-table-link{font-weight:600;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:#4a7fb8}.app-table-link:hover{color:#2f3b76}.dark .app-table-link:hover{color:#bae6fd}.app-table-meta{margin-top:.25rem;display:block;font-size:.84rem;color:var(--app-text-soft)}.app-switch{display:inline-flex;align-items:center;gap:.75rem;border-radius:1.35rem;padding:.75rem 1rem;font-weight:600;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:hsla(0,0%,100%,.74);border:1px solid rgba(226,232,240,.84);box-shadow:0 16px 30px rgba(23,49,58,.08);color:var(--app-text-main)}.app-switch:hover{transform:translateY(-1px);background:hsla(0,0%,100%,.88)}.dark .app-switch{background:rgba(15,23,42,.68);border-color:rgba(51,65,85,.72);color:#fff}.dark .app-switch:hover{background:rgba(15,23,42,.82)}.app-switch-track{position:relative;width:3.5rem;height:1.95rem;border-radius:999px;background:rgba(148,163,184,.26);flex:0 0 auto;transition:background-color .18s ease}.app-switch-thumb{position:absolute;top:.2rem;left:.2rem;width:1.55rem;height:1.55rem;border-radius:999px;background:#fff;box-shadow:0 10px 18px rgba(23,49,58,.16);transition:transform .22s ease}.app-switch.is-on .app-switch-track{background:rgba(74,127,184,.28)}.app-switch.is-on .app-switch-thumb{transform:translateX(1.55rem)}.app-switch-copy{display:grid;text-align:left;line-height:1.25}.app-switch-copy span:first-child{font-size:.95rem}.app-switch-copy span:last-child{font-size:.8rem;color:var(--app-text-muted)}.theme-toggle-control{display:inline-flex;align-items:center;gap:.75rem;border-radius:9999px;padding:.5rem .75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:var(--app-panel-bg);border:1px solid var(--app-panel-border);box-shadow:var(--app-panel-shadow)}.theme-toggle-control:hover{transform:translateY(-1px);box-shadow:var(--app-panel-shadow-hover)}.theme-toggle-track{position:relative;width:3.45rem;height:1.95rem;border-radius:999px;background:rgba(148,163,184,.24)}.theme-toggle-thumb{position:absolute;top:.18rem;left:.18rem;width:1.58rem;height:1.58rem;border-radius:999px;background:#fff;box-shadow:0 10px 18px rgba(23,49,58,.16);transition:transform .22s ease}.theme-toggle-control.is-dark .theme-toggle-thumb{transform:translateX(1.5rem)}.theme-toggle-icon{display:inline-flex;height:2rem;width:2rem;align-items:center;justify-content:center;border-radius:9999px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;color:var(--app-text-muted)}.theme-toggle-icon svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.5}.theme-toggle-sun{color:#b88730}.theme-toggle-moon{color:#4a7fb8}.hover-filter-menu{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:430px;overflow:hidden;border-radius:1.6rem;border:1px solid var(--app-panel-line);background:var(--app-panel-strong-bg);box-shadow:var(--app-panel-shadow)}.hover-filter-nav{display:grid;align-content:start;padding:.9rem 0;background:rgba(17,27,44,.92)}.hover-filter-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.9rem;border:0;border-radius:0;padding:1rem 1.15rem;background:transparent;color:#f8fafc;text-align:left;font-size:.95rem;font-weight:600;line-height:1.35;transition:background-color .18s ease,color .18s ease}.hover-filter-trigger:after{content:"�";font-size:1.3rem;opacity:.7}.hover-filter-trigger .filter-summary-value{font-size:.74rem;font-weight:500;color:rgba(241,245,249,.7)}.hover-filter-trigger.active,.hover-filter-trigger:focus-visible,.hover-filter-trigger:hover{background:rgba(59,130,246,.88)}.hover-filter-panels{min-height:100%;padding:1.65rem 1.85rem;background:hsla(0,0%,100%,.76)}.dark .hover-filter-panels{background:rgba(15,23,42,.84)}.hover-filter-panel{display:none;gap:1rem;align-content:start}.hover-filter-panel.active{display:grid}.hover-filter-panel-head{display:grid;gap:.45rem;border-bottom:1px solid var(--app-panel-line);padding-bottom:1rem}.hover-filter-panel-head h4{font-size:1.45rem;font-weight:600;color:var(--app-text-main)}.hover-filter-panel-head p{font-size:.875rem;line-height:1.5rem;color:var(--app-text-muted)}.hover-filter-panel .filter-section-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1.2rem;padding-bottom:0}.hover-filter-panel .filter-section-body.single-column{grid-template-columns:1fr}.filter-option{display:flex;align-items:flex-start;gap:.75rem;min-height:3rem;padding:.9rem 1rem;border-radius:1rem;border:1px solid var(--app-panel-line);background:hsla(0,0%,100%,.46);color:var(--app-text-main);transition:border-color .18s ease,background-color .18s ease,transform .18s ease;cursor:pointer}.dark .filter-option{background:rgba(15,23,42,.42)}.filter-option:focus-within,.filter-option:hover{border-color:rgba(74,127,184,.32);background:rgba(74,127,184,.08);transform:translateY(-1px)}.filter-option input{width:auto;margin-top:.2rem;accent-color:#4a7fb8}.filter-link-option{align-items:center;font-weight:600;text-decoration:none}.filter-link-option.selected{border-color:rgba(74,127,184,.34);background:rgba(74,127,184,.1)}@media (min-width:1536px){.app-results-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.app-student-card{padding:1rem;box-shadow:var(--app-panel-shadow);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.app-student-card:hover{box-shadow:var(--app-panel-shadow-hover)}.app-empty-state{padding:2rem;text-align:center;background:var(--app-panel-bg);border:1px solid var(--app-panel-border);border-radius:1rem;box-shadow:var(--app-panel-shadow);backdrop-filter:blur(12px)}.app-empty-state-icon{margin-left:auto;margin-right:auto;margin-bottom:1rem;display:inline-flex;height:3.5rem;width:3.5rem;align-items:center;justify-content:center;border-radius:9999px;background:rgba(148,163,184,.16);color:#64748b}.app-empty-state-icon svg{width:1.5rem;height:1.5rem;fill:none;stroke:currentColor;stroke-width:1.5}@media (max-width:640px){.app-kpi-card,.app-panel,.app-panel-strong{border-radius:1rem}.app-page-title{font-size:1.8rem}.app-switch{width:100%;justify-content:flex-start}.app-filter-drawer__header{padding-inline:1rem}.app-filter-drawer__body{padding-inline:.9rem}}.app-drawer-overlay{position:fixed;inset:0;z-index:45;background:rgba(2,6,23,.5);backdrop-filter:blur(4px);opacity:0;transition:opacity .22s ease}.app-drawer-overlay.is-open{opacity:1}.app-filter-drawer{position:fixed;inset:0 auto 0 0;z-index:50;width:min(24rem,calc(100vw - 1.5rem));pointer-events:none}.app-filter-drawer__shell{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;background:linear-gradient(165deg,#22315e,#2f3b76 55%,#3a4a82);color:#f8fafc;border-radius:0;box-shadow:8px 0 28px rgba(2,6,23,.35);transform:translateX(-105%);transition:transform .24s ease}.app-filter-drawer.is-open{pointer-events:auto}.app-filter-drawer.is-open .app-filter-drawer__shell{transform:translateX(0)}.app-filter-drawer__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.35rem 1.25rem 1rem;border-bottom:1px solid hsla(0,0%,100%,.14)}.app-filter-drawer__eyebrow{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.34em;color:rgba(191,219,254,.72)}.app-filter-drawer__title{margin-top:.5rem;font-size:1.55rem;font-weight:600;line-height:1.25;color:#f8fafc}.app-filter-drawer__subtitle{margin-top:.5rem;font-size:.875rem;line-height:1.5rem;color:rgba(226,232,240,.72)}.app-filter-drawer__close{display:inline-flex;height:2.75rem;width:2.75rem;align-items:center;justify-content:center;border-radius:1rem;border-width:1px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;border-color:rgba(148,163,184,.14);background:hsla(0,0%,100%,.06);color:#fff}.app-filter-drawer__close:hover{background:hsla(0,0%,100%,.12);transform:translateY(-1px)}.app-filter-drawer__close svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:1.5}.app-filter-drawer__body{display:grid;grid-auto-rows:max-content;gap:1rem;min-height:0;overflow-y:auto;padding:1rem 1rem 1.5rem;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.32) transparent}.app-filter-drawer__body::-webkit-scrollbar{width:10px}.app-filter-drawer__body::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(148,163,184,.28)}.app-filter-drawer__meta{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;background:linear-gradient(180deg,#2f3b76 80%,rgba(47,59,118,0));padding-bottom:.75rem}.app-filter-drawer__meta .app-chip{background:hsla(0,0%,100%,.08);border-color:rgba(148,163,184,.16);color:#e2e8f0}.app-filter-drawer__meta .app-button-secondary{background:hsla(0,0%,100%,.08);border-color:rgba(148,163,184,.18);color:#f8fafc}.app-filter-drawer__meta .app-button-secondary:hover{background:hsla(0,0%,100%,.14)}.app-filter-drawer__select{border-color:rgba(148,163,184,.18);background:hsla(0,0%,100%,.08);color:#f8fafc;box-shadow:none}.app-filter-drawer__select:focus,.app-filter-drawer__select:hover{border-color:rgba(168,119,41,.5);background:hsla(0,0%,100%,.12)}.app-filter-drawer__groups{display:grid;gap:.7rem}.app-filter-group{border:1px solid rgba(148,163,184,.14);border-radius:.85rem;background:hsla(0,0%,100%,.04);overflow:hidden}.app-filter-group[open]{background:rgba(168,119,41,.12);border-color:rgba(168,119,41,.3)}.app-filter-group__summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:.9rem;padding:.6rem .85rem;cursor:pointer;transition:background-color .18s ease}.app-filter-group__summary::-webkit-details-marker{display:none}.app-filter-group__summary:hover{background:hsla(0,0%,100%,.05)}.app-filter-group__summary-copy{display:grid;gap:.22rem;min-width:0}.app-filter-group__label{font-size:.98rem;font-weight:600;color:#f8fafc}.app-filter-group__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:500;color:rgba(191,219,254,.78)}.app-filter-group__chevron{flex:0 0 auto;font-size:1rem;color:rgba(226,232,240,.78);transition:transform .18s ease}.app-filter-group[open] .app-filter-group__chevron{transform:rotate(180deg)}.app-filter-group__options{display:grid;gap:.3rem;padding:0 .65rem .65rem}.app-filter-group__options--single{grid-template-columns:1fr}.app-filter-link,.app-filter-option{display:flex;align-items:flex-start;gap:.6rem;min-height:2.25rem;padding:.45rem .75rem;border-radius:.75rem;border:1px solid rgba(148,163,184,.16);background:hsla(0,0%,100%,.05);color:#f8fafc;transition:border-color .18s ease,background-color .18s ease,transform .18s ease;cursor:pointer}.app-filter-link:focus-visible,.app-filter-link:hover,.app-filter-option:focus-within,.app-filter-option:hover{border-color:rgba(168,119,41,.45);background:rgba(168,119,41,.18);transform:translateY(-1px)}.app-filter-option input{width:auto;margin-top:.2rem;accent-color:#a87729}.app-filter-link{text-decoration:none;font-weight:600}.app-filter-link.is-selected{border-color:rgba(168,119,41,.45);background:rgba(168,119,41,.18)}@media (max-width:1024px){.app-filter-drawer{width:min(22rem,calc(100vw - 1rem))}}@media (max-width:900px){.app-filter-drawer{width:min(21rem,calc(100vw - .8rem))}}@media (max-width:640px){.app-filter-drawer__header{padding-inline:1rem}.app-filter-drawer__body{padding-inline:.9rem}}@media (max-width:639px){.app-icon-button{width:3rem;height:3rem}.app-student-card{gap:.875rem;padding:.875rem}.app-results-grid{gap:.75rem}.app-ficha-action{min-height:2.75rem;padding-left:.875rem;padding-right:.875rem}.app-kpi-card{padding:1rem}.app-dashboard-kpi strong{font-size:2rem;margin-top:.5rem}.app-tabs-nav{padding-inline:.25rem;padding-inline-end:1.5rem}.app-table-scroll{max-height:min(60vh,calc(100vh - 9rem))}}.app-header-filter-toggle{position:fixed;top:50%;left:1rem;z-index:60;display:inline-flex;align-items:center;justify-content:center;width:3.6rem;height:3.6rem;border:1px solid rgba(226,232,240,.9);border-radius:1rem;background:hsla(0,0%,100%,.92);color:#17313a;box-shadow:0 14px 28px rgba(15,23,42,.14);backdrop-filter:blur(10px);transform:translateY(-50%);transition:transform .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease}.app-header-filter-toggle:hover{transform:translateY(-50%) translateX(2px);background:hsla(0,0%,100%,.98);box-shadow:0 18px 36px rgba(15,23,42,.18)}.app-header-filter-toggle.is-on{background:rgba(23,49,58,.96);color:#f8fafc}.app-header-filter-toggle svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.5}.dark .app-header-filter-toggle{border-color:rgba(51,65,85,.78);background:rgba(15,23,42,.96);color:#f8fafc}.dark .app-header-filter-toggle:hover{background:rgba(30,41,59,.98)}.dark .app-header-filter-toggle.is-on{background:rgba(74,127,184,.96);color:#020617}.app-filter-view-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.app-filter-view-switch__option{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;border-radius:.95rem;border:1px solid rgba(168,119,41,.3);background:hsla(0,0%,100%,.08);color:#f8fafc;font-weight:600;text-decoration:none;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}.app-filter-view-switch__option:focus-visible,.app-filter-view-switch__option:hover{border-color:rgba(168,119,41,.55);background:rgba(168,119,41,.28);transform:translateY(-1px)}.app-filter-view-switch__option.is-active{border-color:#a87729;background:#a87729;color:#1b2b33}@media (max-width:767px){.app-header-filter-toggle{left:.75rem;width:3.15rem;height:3.15rem}}.app-table-scroll{max-height:min(72vh,calc(100vh - 13rem));overflow:auto;border-radius:1.1rem}.app-table-scroll .app-table thead th{position:sticky;top:0;z-index:12;backdrop-filter:blur(10px);box-shadow:inset 0 -1px 0 var(--app-panel-line)}.app-table-scroll .app-table tbody td{background-clip:padding-box}.app-table-icon-button{width:2.55rem;height:2.55rem;box-shadow:0 8px 18px rgba(23,49,58,.1)}.app-table-icon-button:hover{transform:translateY(-1px)}.app-table-icon-button svg{width:1rem;height:1rem;opacity:.94}@media (max-width:640px){.app-table-scroll{max-height:min(68vh,calc(100vh - 11rem))}}.app-student-card{display:flex;flex-direction:column;gap:1.25rem;min-height:100%;overflow:hidden;padding:1.2rem;background:var(--app-panel-bg);border:1px solid var(--app-panel-border);border-radius:1rem;box-shadow:0 18px 40px rgba(15,23,42,.08);backdrop-filter:blur(12px);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.app-student-card:hover{transform:translateY(-2px);box-shadow:0 24px 52px rgba(15,23,42,.12);border-color:rgba(74,127,184,.24)}.app-student-lead-card{position:relative}.app-student-card__header{display:flex;align-items:flex-start;gap:.95rem}.app-student-card__avatar{position:relative;width:5rem;height:5rem;flex:0 0 5rem;border-radius:1.45rem;background:linear-gradient(145deg,rgba(74,127,184,.15),hsla(0,0%,100%,.95));border:1px solid rgba(191,219,254,.7);color:#2f3b76;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.4)}.app-student-card__avatar-fallback{font-size:1.15rem}.app-student-card__name{font-size:1.16rem;line-height:1.25;color:var(--app-text-main)}.app-student-card__name:hover{color:#4a7fb8}.app-student-card__meta{font-size:.88rem;font-weight:600;color:var(--app-text-muted)}.app-student-card__actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.app-student-card__facts{display:grid;gap:.7rem}.app-student-card__fact{display:grid;gap:.18rem;padding:.72rem .85rem;border-radius:1rem;background:rgba(248,250,252,.88);border:1px solid rgba(226,232,240,.9)}.app-student-card__fact-label{font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--app-text-muted)}.app-student-card__fact-value{font-size:.97rem;font-weight:700;line-height:1.38;color:var(--app-text-main)}.app-student-card__contact{margin-top:auto;display:grid;gap:.18rem;padding-top:.2rem;font-size:.86rem;font-weight:600;color:var(--app-text-muted)}.dark .app-student-card{box-shadow:0 20px 44px rgba(2,6,23,.34)}.dark .app-student-card:hover{box-shadow:0 28px 60px rgba(2,6,23,.44);border-color:rgba(74,127,184,.34)}.dark .app-student-card__avatar{background:linear-gradient(145deg,rgba(74,127,184,.25),rgba(15,23,42,.86));border-color:rgba(74,127,184,.4)}.dark .app-student-card__name{color:#f8fafc}.dark .app-student-card__name:hover{color:#7dd3fc}.dark .app-student-card__contact,.dark .app-student-card__meta{color:#cbd5e1}.dark .app-student-card__fact{background:rgba(15,23,42,.75);border-color:rgba(51,65,85,.82)}.dark .app-student-card__fact-label{color:#94a3b8}.dark .app-student-card__fact-value{color:#f8fafc}@media (max-width:640px){.app-student-card__header{flex-wrap:wrap}.app-student-card__actions{width:100%;justify-content:flex-start}}.app-results-grid{display:grid;gap:1.25rem}@media (min-width:768px){.app-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1280px){.app-results-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.app-student-card--crm{overflow:hidden;border-radius:1rem;border:1px solid rgba(226,232,240,.92);background:hsla(0,0%,100%,.98);box-shadow:0 10px 28px rgba(15,23,42,.08);transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.app-student-card--crm:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(15,23,42,.12);border-color:#cbd5e1}.app-student-card__body{padding:1.5rem}.app-student-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.app-student-card__identity{display:flex;min-width:0;gap:1rem}.app-student-card__avatar{display:inline-flex;width:3rem;height:3rem;flex:0 0 3rem;align-items:center;justify-content:center;overflow:hidden;border-radius:999px;background:linear-gradient(145deg,rgba(74,127,184,.18),rgba(226,232,240,.85));border:1px solid rgba(203,213,225,.95);color:#334155}.app-student-card__avatar-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.app-student-card__avatar-fallback{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.app-birthday-list{display:flex;flex-wrap:wrap;gap:.75rem}.app-birthday-item{display:inline-flex;align-items:center;gap:.75rem;padding:.6rem 1rem .6rem .6rem;border-radius:.85rem;background:var(--app-panel-soft-bg);border:1px solid var(--app-panel-line);text-decoration:none;transition:border-color .18s ease,transform .18s ease}.app-birthday-item:hover{border-color:rgba(168,119,41,.45);transform:translateY(-1px)}.app-birthday-item__name{display:block;font-family:"Source Serif 4",Georgia,Times New Roman,serif;font-weight:600;color:var(--app-text-main)}.app-student-card__name{display:inline-block;max-width:100%;color:#111827;font-size:1rem;font-weight:700;line-height:1.35;transition:color .16s ease}.app-student-card__name:hover{color:#2f3b76}.app-student-card__subline{margin-top:.18rem;font-size:.875rem;line-height:1.35;color:#6b7280}.app-student-card__badge{display:inline-flex;align-items:center;border-radius:.42rem;background:#fff7ed;padding:.28rem .58rem;font-size:.72rem;font-weight:600;color:#9a3412;box-shadow:inset 0 0 0 1px rgba(251,146,60,.22);white-space:nowrap}.app-student-card__chips{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.45rem}.app-student-card__chip{display:inline-flex;align-items:center;border-radius:.42rem;background:#f9fafb;padding:.28rem .58rem;font-size:.72rem;font-weight:600;color:#4b5563;box-shadow:inset 0 0 0 1px hsla(220,9%,46%,.1)}.app-student-card__stats{margin-top:1.4rem;display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #f3f4f6;padding-top:1.35rem}.app-student-card__stat{display:flex;min-width:0;flex-direction:column;gap:.18rem}.app-student-card__stat--right{text-align:right}.app-student-card__stat-label{font-size:.72rem;font-weight:600;color:#6b7280}.app-student-card__stat-value{font-size:.9rem;font-weight:700;color:#111827}.app-student-card__cta-grid{margin-top:1.4rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.app-student-card__cta{display:inline-flex;width:100%;align-items:center;justify-content:center;gap:.5rem;border-radius:.7rem;padding:.7rem .9rem;font-size:.86rem;font-weight:700;line-height:1;transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.app-student-card__cta:hover{transform:translateY(-1px)}.app-student-card__cta svg{width:.95rem;height:.95rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.app-student-card__cta--secondary{border:1px solid #d1d5db;background:#fff;color:#374151;box-shadow:0 1px 2px rgba(15,23,42,.06)}.app-student-card__cta--secondary:hover{background:#f9fafb}.app-student-card__cta--primary{background:#4f46e5;color:#fff;box-shadow:0 10px 20px rgba(79,70,229,.22)}.app-student-card__cta--primary:hover{background:#6366f1}.app-student-card__cta--wide{grid-column:1/-1}.app-student-card__footer{border-top:1px solid #f3f4f6;background:#f9fafb;padding:.8rem 1.5rem}.app-student-card__footer-copy{display:flex;flex-wrap:wrap;gap:.4rem;font-size:.76rem;font-weight:500;color:#6b7280}.dark .app-student-card--crm{border-color:rgba(51,65,85,.92);background:rgba(15,23,42,.96);box-shadow:0 14px 36px rgba(2,6,23,.38)}.dark .app-student-card--crm:hover{border-color:#475569;box-shadow:0 22px 44px rgba(2,6,23,.5)}.dark .app-student-card__avatar{background:linear-gradient(145deg,rgba(74,127,184,.26),rgba(30,41,59,.92));border-color:rgba(71,85,105,.9);color:#e2e8f0}.dark .app-student-card__name,.dark .app-student-card__stat-value{color:#f8fafc}.dark .app-student-card__footer-copy,.dark .app-student-card__stat-label,.dark .app-student-card__subline{color:#94a3b8}.dark .app-student-card__badge{background:rgba(133,77,14,.26);color:#fdba74;box-shadow:inset 0 0 0 1px rgba(251,146,60,.2)}.dark .app-student-card__chip{background:rgba(30,41,59,.9);color:#cbd5e1;box-shadow:inset 0 0 0 1px rgba(100,116,139,.24)}.dark .app-student-card__footer,.dark .app-student-card__stats{border-color:rgba(51,65,85,.82)}.dark .app-student-card__cta--secondary{border-color:rgba(71,85,105,.9);background:rgba(15,23,42,.92);color:#e2e8f0}.dark .app-student-card__cta--secondary:hover{background:rgba(30,41,59,.96)}.dark .app-student-card__cta--primary{background:#6366f1;color:#fff}.dark .app-student-card__cta--primary:hover{background:#818cf8}.dark .app-student-card__footer{background:rgba(2,6,23,.28)}@media (max-width:640px){.app-student-card__identity,.app-student-card__top{gap:.8rem}.app-student-card__top{flex-direction:column}.app-student-card__badge{align-self:flex-start}.app-student-card__cta-grid{grid-template-columns:1fr}.app-student-card__cta--wide{grid-column:auto}}.app-topbar-filter-trigger{display:inline-flex;height:3rem;width:3rem;align-items:center;justify-content:center;border-radius:999px;background:hsla(0,0%,100%,.92);color:#111827;box-shadow:0 10px 24px rgba(15,23,42,.12);border:1px solid rgba(226,232,240,.92);transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.app-topbar-filter-trigger:hover{transform:translateY(-1px);background:#f8fafc;box-shadow:0 14px 28px rgba(15,23,42,.16)}.app-topbar-filter-trigger svg{width:1.15rem;height:1.15rem;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.app-topbar-menu{position:relative}.app-topbar-menu__trigger{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border-radius:.75rem;background:hsla(0,0%,100%,.96);padding:.65rem 1rem;font-size:.95rem;font-weight:700;color:#111827;box-shadow:0 10px 24px rgba(15,23,42,.12);border:1px solid rgba(226,232,240,.9);cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}.app-topbar-menu__trigger::-webkit-details-marker{display:none}.app-topbar-menu__trigger:hover{background:#f9fafb;border-color:#cbd5e1;box-shadow:0 14px 28px rgba(15,23,42,.16)}.app-topbar-filter-trigger:focus-visible,.app-topbar-menu__trigger:focus-visible{outline:2px solid rgba(125,211,252,.95);outline-offset:3px}.app-topbar-menu__chevron{width:1.1rem;height:1.1rem;color:#9ca3af;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}.app-topbar-menu[open] .app-topbar-menu__chevron{transform:rotate(180deg)}.app-topbar-menu__panel{position:absolute;right:0;z-index:60;margin-top:.75rem;width:min(16rem,calc(100vw - 2rem));transform-origin:top right;border-radius:.75rem;background:hsla(0,0%,100%,.98);padding:.55rem;box-shadow:0 24px 48px rgba(15,23,42,.2);border:1px solid rgba(241,245,249,.95)}.app-topbar-menu__user{display:flex;align-items:center;gap:.75rem;border-radius:1rem;padding:.7rem .8rem}.app-topbar-menu__user-badge{display:inline-flex;height:2.1rem;width:2.1rem;align-items:center;justify-content:center;border-radius:999px;background:#e5e7eb;color:#111827;font-size:.78rem;font-weight:700;text-transform:uppercase}.app-topbar-menu__user-label{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#9ca3af}.app-topbar-menu__user-name{margin-top:.1rem;font-size:.92rem;font-weight:700;color:#111827;word-break:break-word}.app-topbar-menu__links{display:grid;gap:.15rem;padding-top:.2rem}.app-topbar-menu__link,.app-topbar-menu__logout{display:block;width:100%;border-radius:.95rem;padding:.78rem .95rem;text-align:left;font-size:.92rem;font-weight:500;color:#4b5563;transition:background .16s ease,color .16s ease}.app-topbar-menu__link:hover{background:#f9fafb;color:#111827}.app-topbar-menu__divider{margin:.45rem .55rem;height:1px;background:#f3f4f6}.app-topbar-menu__logout:hover{background:#fef2f2;color:#dc2626}.dark .app-topbar-filter-trigger,.dark .app-topbar-menu__panel,.dark .app-topbar-menu__trigger{background:rgba(15,23,42,.96);color:#f8fafc;border-color:rgba(51,65,85,.9)}.dark .app-topbar-filter-trigger:hover,.dark .app-topbar-menu__trigger:hover{background:rgba(30,41,59,.96)}.dark .app-topbar-menu__chevron,.dark .app-topbar-menu__user-label{color:#94a3b8}.dark .app-topbar-menu__user-badge{background:rgba(51,65,85,.95);color:#f8fafc}.dark .app-topbar-menu__link,.dark .app-topbar-menu__logout,.dark .app-topbar-menu__user-name{color:#e2e8f0}.dark .app-topbar-menu__link:hover{background:rgba(30,41,59,.96);color:#fff}.dark .app-topbar-menu__divider{background:rgba(51,65,85,.9)}.dark .app-topbar-menu__logout:hover{background:rgba(127,29,29,.3);color:#fca5a5}@media (max-width:640px){.app-topbar-menu__trigger{padding-inline:.95rem}.app-topbar-menu__panel{width:min(18rem,calc(100vw - 1.5rem))}}.app-topbar-filter-trigger{width:auto;height:auto;padding:.5rem;border:none;border-radius:.65rem;background:transparent;color:#fff;box-shadow:none}.app-topbar-filter-trigger:hover{transform:none;background:hsla(0,0%,100%,.08);box-shadow:none}.app-topbar-filter-trigger svg{width:1.7rem;height:1.75rem;stroke:currentColor}.dark .app-topbar-filter-trigger{background:transparent;color:#fff;border:none;box-shadow:none}.dark .app-topbar-filter-trigger:hover{background:hsla(0,0%,100%,.08)}.app-whatsapp-logo{fill:currentColor!important;stroke:none!important}.app-topbar-search{width:100%;border-radius:9999px;border:1px solid hsla(0,0%,100%,.18);background:hsla(0,0%,100%,.08);padding:.5rem 1.1rem;font-size:.875rem;line-height:1.25rem;color:#fff;outline:none;transition:background .18s ease,border-color .18s ease}.app-topbar-search::-moz-placeholder{color:hsla(0,0%,100%,.45)}.app-topbar-search::placeholder{color:hsla(0,0%,100%,.45)}.app-topbar-search:focus{background:hsla(0,0%,100%,.14);border-color:hsla(0,0%,100%,.32)}.app-filter-view-highlight{position:sticky;top:3.25rem;z-index:1;background:#1c1608;border:1px solid rgba(168,119,41,.45);border-radius:.85rem;padding:1rem;display:grid;gap:.5rem}.app-tabs-nav{display:flex;gap:.25rem;overflow-x:auto;padding-left:.25rem;padding-right:.25rem;padding-bottom:1px;border-bottom:2px solid var(--app-panel-line);-ms-overflow-style:none;scrollbar-width:none}.app-tabs-nav::-webkit-scrollbar{display:none}.app-tab{position:relative;flex-shrink:0;cursor:pointer;white-space:nowrap;padding:.625rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:600;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:var(--app-text-muted);background:transparent;border:none;border-radius:.75rem .75rem 0 0}.app-tab:hover{color:var(--app-text-main);background:var(--app-panel-soft-bg)}.app-tab.active{color:#4a7fb8}.app-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:#4a7fb8;border-radius:2px 2px 0 0}.dark .app-tab.active{color:#38bdf8}.dark .app-tab.active:after{background:#38bdf8}.dark .app-tab:hover{color:#e2e8f0;background:rgba(51,65,85,.4)}.app-tab-panel{display:none;animation:fadeTabIn .2s ease}.app-tab-panel.active{display:block;padding:1.25rem 0}.app-ficha-action{display:inline-flex;align-items:center;gap:.5rem;border-radius:.75rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:var(--app-text-muted)}.app-ficha-action:hover{color:var(--app-text-main);background:var(--app-panel-soft-bg)}.dark .app-ficha-action:hover{color:#e2e8f0;background:rgba(51,65,85,.5)}.app-ficha-action-danger{color:#e11d48}.app-ficha-action-danger:hover{color:#fff;background:#e11d48}.dark .app-ficha-action-danger{color:#fb7185}.dark .app-ficha-action-danger:hover{color:#fff;background:#e11d48}.app-toggle{display:inline-flex;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;gap:.75rem}.app-toggle input[type=checkbox]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-toggle-track{position:relative;width:2.75rem;height:1.5rem;border-radius:999px;background:#e11d48;flex-shrink:0;transition:background-color .25s ease}.app-toggle-thumb{position:absolute;top:.175rem;left:.175rem;width:1.15rem;height:1.15rem;border-radius:999px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.18);transition:transform .25s ease}.app-toggle input:checked~.app-toggle-track{background:#16a34a}.app-toggle input:checked~.app-toggle-track .app-toggle-thumb{transform:translateX(1.25rem)}.app-toggle-label{font-size:.875rem;font-weight:600;color:#e11d48;transition:color .25s ease}.app-toggle input:checked~.app-toggle-label{color:#16a34a}.app-toggle:hover .app-toggle-track{filter:brightness(1.1)}.app-toggle-readonly{cursor:default;pointer-events:none;opacity:.85}:root{--sidebar-w:4rem;--sidebar-w-expanded:14rem}.app-layout{margin-left:var(--sidebar-w);transition:margin-left .22s cubic-bezier(.4,0,.2,1)}@media (max-width:768px){.app-layout{margin-left:0}}.app-sidebar{position:fixed;left:0;top:0;bottom:0;z-index:40;display:flex;flex-direction:column;width:var(--sidebar-w);overflow:hidden;background:var(--tw-bg-topbar,linear-gradient(120deg,#22315e 0,#2f3b76 52%,#4453a6 100%));border-right:1px solid hsla(0,0%,100%,.08);box-shadow:4px 0 24px rgba(2,6,23,.18);transition:width .22s cubic-bezier(.4,0,.2,1)}@media (min-width:769px){.app-sidebar.is-expanded{width:var(--sidebar-w-expanded)}}@media (max-width:768px){.app-sidebar{width:var(--sidebar-w-expanded);transform:translateX(-100%);transition:transform .22s cubic-bezier(.4,0,.2,1)}.app-sidebar.is-open{transform:translateX(0);box-shadow:8px 0 32px rgba(2,6,23,.32)}}.app-sidebar-overlay{display:none;position:fixed;inset:0;z-index:39;background:rgba(2,6,23,.5);backdrop-filter:blur(2px)}.app-sidebar-overlay.is-visible{display:block}.app-sidebar__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1rem .75rem .5rem;flex-shrink:0;min-height:4rem}.app-sidebar__logo{display:flex;align-items:center;gap:.65rem;text-decoration:none;overflow:hidden;min-width:0}.app-sidebar__logo-img{width:2.25rem;height:2.25rem;-o-object-fit:contain;object-fit:contain;flex-shrink:0;border-radius:.5rem}.app-sidebar__logo-text{font-size:.95rem;font-weight:700;color:#fff;letter-spacing:.02em;white-space:nowrap}.app-sidebar__pin{display:none;align-items:center;justify-content:center;flex-shrink:0;width:1.75rem;height:1.75rem;border-radius:.5rem;color:hsla(0,0%,100%,.45);transition:color .16s ease,background .16s ease;background:transparent;border:none;cursor:pointer}.app-sidebar__pin svg{width:.9rem;height:.9rem;transition:transform .28s cubic-bezier(.34,1.56,.64,1)}.app-sidebar__pin:hover{color:#fff;background:hsla(0,0%,100%,.1)}.app-sidebar.is-pinned .app-sidebar__pin{color:#fff;background:hsla(0,0%,100%,.18)}.app-sidebar.is-pinned .app-sidebar__pin svg{transform:rotate(-45deg)}@media (min-width:769px){.app-sidebar.is-expanded .app-sidebar__pin{display:flex}}.app-sidebar__nav{flex:1;padding:.5rem;overflow-y:auto;overflow-x:hidden}.app-sidebar__bottom,.app-sidebar__nav{display:flex;flex-direction:column;align-items:stretch;gap:.15rem}.app-sidebar__bottom{padding:.5rem .5rem .75rem;border-top:1px solid hsla(0,0%,100%,.08);flex-shrink:0}.app-sidebar__bottom>*,.app-sidebar__nav>*{width:100%}.app-sidebar__bottom form{display:block;width:100%}.app-sidebar__link{display:flex;align-items:center;justify-content:flex-start;gap:.75rem;padding:.6rem .75rem;border-radius:.65rem;color:hsla(0,0%,100%,.65);font-size:.875rem;font-weight:600;text-decoration:none;white-space:nowrap;overflow:hidden;transition:background .16s ease,color .16s ease;background:transparent;border:none;width:100%;cursor:pointer;text-align:left}.app-sidebar__link:hover{background:hsla(0,0%,100%,.1);color:#fff}.app-sidebar__link.is-active{background:hsla(0,0%,100%,.15);color:#fff}.app-sidebar__link--danger:hover{background:rgba(225,29,72,.2);color:#fda4af}.app-sidebar__icon{width:1.15rem;height:1.15rem;flex-shrink:0;stroke-width:1.75}.app-sidebar__label{opacity:0;white-space:nowrap;overflow:hidden;transition:opacity .12s ease;pointer-events:none}@media (min-width:769px){.app-sidebar.is-expanded .app-sidebar__label{opacity:1;pointer-events:auto}}@media (max-width:768px){.app-sidebar__label{opacity:1;pointer-events:auto}}.app-sidebar__kbd{margin-left:auto;font-size:.65rem;font-weight:600;padding:.1rem .35rem;border-radius:.3rem;background:hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.5);letter-spacing:.04em;border:1px solid hsla(0,0%,100%,.12)}.app-sidebar__user{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;overflow:hidden}.app-sidebar__user-badge{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;border-radius:999px;background:hsla(0,0%,100%,.18);color:#fff;font-size:.7rem;font-weight:800;text-transform:uppercase;flex-shrink:0}.app-sidebar__user-name{font-size:.82rem;color:hsla(0,0%,100%,.65)}.app-sidebar-mobile-toggle{display:none;position:fixed;top:.75rem;left:.75rem;z-index:38;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border-radius:.65rem;background:linear-gradient(120deg,#22315e,#2f3b76 52%,#4453a6);color:#fff;border:none;cursor:pointer;box-shadow:0 4px 12px rgba(2,6,23,.25)}.app-sidebar-mobile-toggle svg{width:1.1rem;height:1.1rem}@media (max-width:768px){.app-sidebar-mobile-toggle{display:flex}#app-main{padding-top:4rem}}.app-cmd{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;padding-left:1rem;padding-right:1rem}.app-cmd[hidden]{display:none}.app-cmd__backdrop{position:absolute;inset:0;background:rgba(2,6,23,.55);backdrop-filter:blur(4px)}.app-cmd__panel{position:relative;width:min(42rem,100%);background:var(--app-panel-strong-bg);border:1px solid var(--app-panel-border);border-radius:.85rem;box-shadow:0 40px 80px rgba(2,6,23,.3);overflow:hidden}.app-cmd__search{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--app-panel-line)}.app-cmd__search-icon{width:1.1rem;height:1.1rem;flex-shrink:0;color:var(--app-text-muted)}.app-cmd__input{flex:1;background:transparent;border:none;outline:none;font-size:1rem;font-family:inherit;color:var(--app-text-main)}.app-cmd__input::-moz-placeholder{color:var(--app-text-muted)}.app-cmd__input::placeholder{color:var(--app-text-muted)}.app-cmd__esc{font-size:.65rem;font-weight:600;padding:.15rem .4rem;border-radius:.3rem;background:rgba(148,163,184,.12);color:var(--app-text-muted);border:1px solid var(--app-panel-line);white-space:nowrap}.app-cmd__results{max-height:24rem;overflow-y:auto;padding:.5rem}.app-cmd__item{display:flex;flex-direction:column;gap:.15rem;padding:.75rem 1rem;border-radius:.75rem;cursor:pointer;text-decoration:none;transition:background .12s ease}.app-cmd__item.is-focused,.app-cmd__item:hover{background:var(--app-table-row-hover)}.app-cmd__item-label{font-size:.95rem;font-weight:600;color:var(--app-text-main)}.app-cmd__item-sub{font-size:.78rem;color:var(--app-text-muted)}.app-cmd__empty,.app-cmd__hint{padding:1.5rem 1rem;text-align:center;color:var(--app-text-muted);font-size:.875rem}.app-split-layout{display:flex;gap:1rem;align-items:flex-start}.app-split-main{flex:1;min-width:0}.app-split-panel{width:28rem;flex:0 0 28rem;background:var(--app-panel-bg);border:1px solid var(--app-panel-border);border-radius:1rem;padding:1.5rem;position:relative;position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto;backdrop-filter:blur(12px);box-shadow:var(--app-panel-shadow)}.app-split-panel[hidden]{display:none}.app-split-panel__close{position:absolute;top:.75rem;right:.75rem;width:1.75rem;height:1.75rem;border-radius:999px;background:rgba(148,163,184,.12);border:none;color:var(--app-text-muted);font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .16s ease}.app-split-panel__close:hover{background:rgba(148,163,184,.22)}.app-split-panel__content{margin-bottom:1rem}.app-split-title{font-size:1rem;font-weight:700;margin-bottom:.75rem;color:var(--app-text-main);padding-right:1.5rem;line-height:1.3}.app-split-nodata{color:var(--app-text-muted);font-size:.875rem;padding:.5rem 0;font-style:italic}.app-split-dl{display:flex;flex-direction:column;gap:0}.app-split-row{display:grid;grid-template-columns:1fr 1.5fr;gap:.5rem;padding:.6rem 0;border-bottom:1px solid var(--app-panel-line);align-items:baseline}.app-split-row:last-child{border-bottom:none}.app-split-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--app-text-muted)}.app-split-value{font-size:.875rem;font-weight:500;color:var(--app-text-main)}.app-split-panel__content .app-page-title{font-size:1.1rem}.app-split-panel__content .app-page-subtitle{font-size:.8rem}.app-split-panel__content .space-y-5>*+*{margin-top:.75rem}.app-split-panel__content header{padding:0!important;box-shadow:none!important;border:none!important;background:transparent!important}.app-split-panel__content [data-tabs]{display:none}.app-split-panel__content .app-panel{border-radius:.75rem;padding:.75rem}@media (max-width:1200px){.app-split-panel{display:none!important}}.app-status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.18rem .6rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.app-status-badge--active{background:rgba(22,163,74,.12);color:#15803d}.dark .app-status-badge--active{background:rgba(22,163,74,.15);color:#86efac}.app-status-badge--baja{background:rgba(225,29,72,.1);color:#be123c}.dark .app-status-badge--baja{background:rgba(225,29,72,.12);color:#fda4af}.app-status-badge--alerta{background:rgba(249,115,22,.12);color:#c2410c}.dark .app-status-badge--alerta{background:rgba(249,115,22,.18);color:#fdba74}#theme-toggle.app-sidebar__link .theme-toggle-sun{display:block}#theme-toggle.app-sidebar__link .theme-toggle-moon,.dark #theme-toggle.app-sidebar__link .theme-toggle-sun{display:none}.dark #theme-toggle.app-sidebar__link .theme-toggle-moon{display:block}#theme-toggle.app-sidebar__link .theme-toggle-moon{width:1.15rem;height:1.15rem;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.app-split-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--app-panel-line)}.app-split-avatar{width:4.5rem;height:4.5rem;border-radius:1rem;overflow:hidden;flex-shrink:0;background:linear-gradient(145deg,rgba(74,127,184,.15),rgba(226,232,240,.85));display:flex;align-items:center;justify-content:center;border:1px solid rgba(74,127,184,.15)}.dark .app-split-avatar{background:linear-gradient(145deg,rgba(74,127,184,.18),rgba(30,41,59,.85));border-color:rgba(74,127,184,.2)}.app-split-photo{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.app-split-photo-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:1.15rem;font-weight:800;text-transform:uppercase;color:#4a7fb8;letter-spacing:.05em}.app-split-identity{min-width:0;flex:1}.app-split-last-name{font-size:1rem;font-weight:700;color:var(--app-text-main)}.app-split-first-name,.app-split-last-name{line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-split-first-name{font-size:.875rem;font-weight:500;color:var(--app-text-muted)}.app-split-section{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--app-text-soft);margin-top:.25rem}.app-gallery{align-items:center;justify-content:center}.app-gallery:not(.hidden){display:flex}.app-gallery__figure{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.75rem;max-width:90vw;margin:0}.app-gallery__image{max-height:82vh;max-width:90vw;width:auto;height:auto;-o-object-fit:contain;object-fit:contain;border-radius:1rem;box-shadow:0 30px 80px rgba(0,0,0,.5);background:hsla(0,0%,100%,.04)}.app-gallery__caption{display:flex;align-items:center;gap:.75rem;color:#f8fafc;font-size:.95rem;font-weight:600}.app-gallery__counter{opacity:.6;font-weight:500}.app-gallery__close{position:absolute;top:1rem;right:1rem;z-index:2;width:2.75rem;height:2.75rem;border-radius:999px;border:none;background:hsla(0,0%,100%,.12);color:#fff;font-size:1.75rem;line-height:1;cursor:pointer;transition:background .16s ease}.app-gallery__close:hover{background:hsla(0,0%,100%,.24)}.app-gallery__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:3rem;height:3rem;border-radius:999px;border:none;background:hsla(0,0%,100%,.12);color:#fff;font-size:2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .16s ease}.app-gallery__nav:hover{background:hsla(0,0%,100%,.24)}.app-gallery__nav--prev{left:1rem}.app-gallery__nav--next{right:1rem}@media (max-width:640px){.app-gallery__nav{width:2.5rem;height:2.5rem;font-size:1.5rem}.app-gallery__nav--prev{left:.5rem}.app-gallery__nav--next{right:.5rem}.app-gallery__image{max-width:92vw;max-height:72vh}}.app-actionbar{position:sticky;top:0;z-index:30;margin-inline:-1rem;padding:.65rem 1rem;background:hsla(37,52%,95%,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--app-panel-line);border-radius:0 0 1rem 1rem}.dark .app-actionbar{background:rgba(16,21,29,.9)}@media (min-width:640px){.app-actionbar{margin-inline:-1.5rem;padding-inline:1.5rem}}@media (min-width:1024px){.app-actionbar{margin-inline:-2rem;padding-inline:2rem}}@media (max-width:768px){.app-actionbar{padding-left:4rem}}.app-attendance-group{display:inline-flex;flex-wrap:wrap;gap:.4rem}.app-attendance-radio{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-attendance-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;border-radius:.7rem;font-size:.78rem;font-weight:700;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:1.5px solid transparent;background:rgba(148,163,184,.14);color:#64748b;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}.dark .app-attendance-btn{background:rgba(148,163,184,.12);color:#94a3b8}.app-attendance-btn:hover{background:rgba(148,163,184,.26)}.app-attendance-radio:focus-visible+.app-attendance-btn{outline:2px solid #4a7fb8;outline-offset:2px}.app-attendance-dot{width:.5rem;height:.5rem;border-radius:999px;flex-shrink:0;background:currentColor;opacity:.5;transition:opacity .15s ease,transform .15s ease}.app-attendance-btn--p .app-attendance-dot{color:#16a34a}.app-attendance-btn--t .app-attendance-dot{color:#eab308}.app-attendance-btn--a .app-attendance-dot{color:#dc2626}.app-attendance-btn--j .app-attendance-dot{color:#f97316}.app-attendance-radio:checked+.app-attendance-btn--p{background:#16a34a;color:#fff;border-color:#15803d;box-shadow:0 6px 16px rgba(22,163,74,.35)}.app-attendance-radio:checked+.app-attendance-btn--t{background:#eab308;color:#1f2937;border-color:#ca8a04;box-shadow:0 6px 16px rgba(234,179,8,.35)}.app-attendance-radio:checked+.app-attendance-btn--a{background:#dc2626;color:#fff;border-color:#b91c1c;box-shadow:0 6px 16px rgba(220,38,38,.35)}.app-attendance-radio:checked+.app-attendance-btn--j{background:#f97316;color:#fff;border-color:#ea580c;box-shadow:0 6px 16px rgba(249,115,22,.35)}.app-attendance-radio:checked+.app-attendance-btn .app-attendance-dot{opacity:1}.app-attendance-text--p{color:#16a34a;font-weight:700}.app-attendance-text--t{color:#ca8a04;font-weight:700}.app-attendance-text--a{color:#dc2626;font-weight:700}.app-attendance-text--j{color:#ea580c;font-weight:700}.dark .app-attendance-text--p{color:#4ade80}.dark .app-attendance-text--t{color:#fbbf24}.dark .app-attendance-text--a{color:#fb7185}.dark .app-attendance-text--j{color:#fb923c}.app-horario-dias{display:grid;grid-template-columns:repeat(5,minmax(9rem,1fr));gap:.75rem}.app-horario-dia__head{font-family:"Source Serif 4",serif;font-weight:600;font-size:.95rem;color:var(--app-text-main);padding-bottom:.5rem;border-bottom:1px solid var(--app-panel-line);margin-bottom:.5rem}.app-horario-dia__lista{display:flex;flex-direction:column;gap:.5rem}.app-horario-event{display:flex;flex-direction:column;gap:.15rem;border-radius:.85rem;padding:.55rem .75rem;background:linear-gradient(135deg,#22315e,#2f3b76 60%,#3a4a82);color:#fff;font-size:.78rem;line-height:1.2;text-decoration:none;transition:transform .18s ease}a.app-horario-event:hover{transform:translateY(-1px)}.app-horario-event--especial{background:linear-gradient(135deg,#7c3b35,#9b4a43 55%,#b85f50)}.app-horario-event__hora{font-weight:700;opacity:.85;font-size:.7rem}.app-horario-event__materia{font-family:"Source Serif 4",serif;font-weight:600}.app-horario-event__meta{opacity:.85}.app-horario-event__tag{align-self:flex-start;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.9}.app-horario-dia__empty{font-size:.78rem;color:var(--app-text-muted)}@media (max-width:639px){.app-horario-dias{grid-template-columns:repeat(5,minmax(7rem,1fr))}.app-horario-event{padding:.45rem .6rem}.app-attendance-btn{padding:.35rem .55rem;font-size:.73rem;gap:.25rem}.app-attendance-group{gap:.25rem}.app-attendance-dot{width:.4rem;height:.4rem}}.app-grade-tab{display:inline-flex;align-items:center;padding:.45rem 1rem;border-radius:999px;font-size:.78rem;font-weight:700;text-decoration:none;border:1.5px solid var(--app-panel-line);background:transparent;color:var(--app-text-muted);transition:background .15s ease,color .15s ease,border-color .15s ease}.app-grade-tab:hover{background:rgba(148,163,184,.14)}.app-grade-tab--active{background:#22315e;color:#fff;border-color:#22315e}.dark .app-grade-tab--active{background:#3a4a82;border-color:#3a4a82}.app-grade-btn{justify-content:center;min-width:2.6rem}.app-attendance-radio:checked+.app-grade-btn--ep{background:#d97706;color:#fff;border-color:#b45309;box-shadow:0 6px 16px rgba(217,119,6,.35)}.app-attendance-radio:checked+.app-grade-btn--a{background:#2563eb;color:#fff;border-color:#1d4ed8;box-shadow:0 6px 16px rgba(37,99,235,.35)}.app-attendance-radio:checked+.app-grade-btn--s{background:#16a34a;color:#fff;border-color:#15803d;box-shadow:0 6px 16px rgba(22,163,74,.35)}.app-attendance-radio:checked+.app-grade-btn--10,.app-attendance-radio:checked+.app-grade-btn--6,.app-attendance-radio:checked+.app-grade-btn--7,.app-attendance-radio:checked+.app-grade-btn--8,.app-attendance-radio:checked+.app-grade-btn--9{background:#22315e;color:#fff;border-color:#1a2647;box-shadow:0 6px 16px rgba(34,49,94,.35)}.app-attendance-radio:checked+.app-grade-btn--bl-ap{background:#15803d;color:#fff;border-color:#166534;box-shadow:0 6px 16px rgba(21,128,61,.35)}.app-attendance-radio:checked+.app-grade-btn--bl-a{background:#16a34a;color:#fff;border-color:#15803d;box-shadow:0 6px 16px rgba(22,163,74,.35)}.app-attendance-radio:checked+.app-grade-btn--bl-bp{background:#2563eb;color:#fff;border-color:#1d4ed8;box-shadow:0 6px 16px rgba(37,99,235,.35)}.app-attendance-radio:checked+.app-grade-btn--bl-b{background:#60a5fa;color:#1f2937;border-color:#3b82f6;box-shadow:0 6px 16px rgba(96,165,250,.35)}.app-attendance-radio:checked+.app-grade-btn--bl-c{background:#d97706;color:#fff;border-color:#b45309;box-shadow:0 6px 16px rgba(217,119,6,.35)}.app-attendance-radio:checked+.app-grade-btn--bl-d{background:#dc2626;color:#fff;border-color:#b91c1c;box-shadow:0 6px 16px rgba(220,38,38,.35)}.app-informe-grid{display:grid;grid-template-columns:repeat(4,minmax(4.5rem,1fr));gap:.5rem;max-width:26rem}.app-informe-field{display:flex;flex-direction:column;gap:.2rem}.app-informe-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--app-text-muted)}.app-informe-input{padding:.4rem .4rem .4rem .6rem!important;font-size:.85rem!important;text-align:center}:root{--grade-1:#dc2626;--grade-2:#e0472a;--grade-3:#e26b16;--grade-4:#e2911a;--grade-5:#dcac10;--grade-6:#c8bd12;--grade-7:#a3c018;--grade-8:#78bf1e;--grade-9:#4cb828;--grade-10:#16a34a}.app-informe-select{padding:.4rem 1.6rem .4rem .6rem!important;font-size:.85rem!important;font-weight:700;text-align:center;-moz-text-align-last:center;text-align-last:center;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}@media (max-width:639px){.app-informe-grid{grid-template-columns:repeat(2,minmax(4.5rem,1fr))}}details.app-accordion{background:var(--app-panel-bg);border:1px solid var(--app-panel-border);border-radius:1rem;box-shadow:var(--app-panel-shadow);backdrop-filter:blur(12px);overflow:hidden}.app-accordion__summary{display:flex;align-items:center;gap:.85rem;padding:1.1rem 1.35rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;list-style:none;transition:background-color .15s ease}.app-accordion__summary::-webkit-details-marker{display:none}.app-accordion__summary:hover{background:rgba(148,163,184,.1)}.app-accordion__summary:focus-visible{outline:2px solid #4a7fb8;outline-offset:-2px}.app-accordion__title{font-size:1.15rem;font-weight:600;line-height:1.2;color:var(--app-text-main);flex:1;min-width:0}.app-accordion__chevron{width:1.15rem;height:1.15rem;flex-shrink:0;color:var(--app-text-muted);transition:transform .18s ease}details[open]>.app-accordion__summary .app-accordion__chevron{transform:rotate(180deg)}.app-accordion__body{border-top:1px solid var(--app-panel-border);padding:1.1rem 1.35rem 1.35rem}.app-table tbody tr.app-row-alerta td,.app-table tbody tr.app-row-alerta:hover td{background:rgba(220,38,38,.07)}.dark .app-table tbody tr.app-row-alerta td,.dark .app-table tbody tr.app-row-alerta:hover td{background:rgba(220,38,38,.14)}.app-table tbody tr.app-row-riesgo td,.app-table tbody tr.app-row-riesgo:hover td{background:rgba(249,115,22,.11)}.dark .app-table tbody tr.app-row-riesgo td,.dark .app-table tbody tr.app-row-riesgo:hover td{background:rgba(249,115,22,.18)}.app-table tbody tr.app-row-alerta td:first-child{box-shadow:inset 3px 0 0 #dc2626}.app-table tbody tr.app-row-riesgo td:first-child{box-shadow:inset 3px 0 0 #f97316}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.bottom-0{bottom:0}.left-0{left:0}.top-0{top:0}.isolate{isolation:isolate}.z-40{z-index:40}.z-\[60\]{z-index:60}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.\!mb-0{margin-bottom:0!important}.\!mb-1{margin-bottom:.25rem!important}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.ml-auto{margin-left:auto}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.min-h-\[18rem\]{min-height:18rem}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[420px\]{min-width:420px}.min-w-\[480px\]{min-width:480px}.min-w-\[520px\]{min-width:520px}.min-w-\[560px\]{min-width:560px}.min-w-\[620px\]{min-width:620px}.min-w-\[680px\]{min-width:680px}.min-w-\[880px\]{min-width:880px}.min-w-full{min-width:100%}.\!max-w-\[6rem\]{max-width:6rem!important}.max-w-3xl{max-width:48rem}.max-w-\[1680px\]{max-width:1680px}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px*var(--tw-space-x-reverse));margin-left:calc(-1px*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-app-sand\/60>:not([hidden])~:not([hidden]){border-color:hsla(40,44%,84%,.6)}.divide-slate-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(226 232 240/var(--tw-divide-opacity,1))}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[1\.35rem\]{border-radius:1.35rem}.rounded-\[1\.6rem\]{border-radius:1.6rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-e-lg{border-start-end-radius:.5rem;border-end-end-radius:.5rem}.rounded-s-lg{border-start-start-radius:.5rem;border-end-start-radius:.5rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-app-sand{--tw-border-opacity:1;border-color:rgb(232 220 196/var(--tw-border-opacity,1))}.border-app-sand\/60{border-color:hsla(40,44%,84%,.6)}.border-app-sky\/30{border-color:rgba(62,111,160,.3)}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-rose-200{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity,1))}.border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-200\/80{border-color:rgba(226,232,240,.8)}.border-white\/10{border-color:hsla(0,0%,100%,.1)}.bg-app-sand{--tw-bg-opacity:1;background-color:rgb(232 220 196/var(--tw-bg-opacity,1))}.bg-app-sand\/40{background-color:hsla(40,44%,84%,.4)}.bg-app-sky{--tw-bg-opacity:1;background-color:rgb(62 111 160/var(--tw-bg-opacity,1))}.bg-app-sky\/10{background-color:rgba(62,111,160,.1)}.bg-app-sky\/15{background-color:rgba(62,111,160,.15)}.bg-black\/55{background-color:rgba(0,0,0,.55)}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-950\/90{background-color:rgba(2,6,23,.9)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/60{background-color:hsla(0,0%,100%,.6)}.bg-app{background-image:radial-gradient(circle at top left,rgba(62,111,160,.16),transparent 28%),radial-gradient(circle at bottom right,rgba(168,119,41,.14),transparent 24%),linear-gradient(180deg,#f8f3e9,#ece1cf)}.bg-topbar{background-image:linear-gradient(120deg,#20294a,#2d3a66 52%,#3c4d86)}.bg-fixed{background-attachment:fixed}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.\!py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-body{font-family:Public Sans,system-ui,-apple-system,Segoe UI,Arial,sans-serif}.font-display{font-family:"Source Serif 4",Georgia,Times New Roman,serif}.\!text-sm{font-size:.875rem!important;line-height:1.25rem!important}.\!text-xl{font-size:1.25rem!important;line-height:1.75rem!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.68rem\]{font-size:.68rem}.text-\[0\.6rem\]{font-size:.6rem}.text-\[0\.72rem\]{font-size:.72rem}.text-\[0\.74rem\]{font-size:.74rem}.text-\[0\.78rem\]{font-size:.78rem}.text-\[0\.84rem\]{font-size:.84rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[0\.92rem\]{font-size:.92rem}.text-\[0\.95rem\]{font-size:.95rem}.text-\[0\.98rem\]{font-size:.98rem}.text-\[1\.45rem\]{font-size:1.45rem}.text-\[1\.55rem\]{font-size:1.55rem}.text-\[1rem\]{font-size:1rem}.text-\[2rem\]{font-size:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-tight{line-height:1.25}.tracking-\[0\.04em\]{letter-spacing:.04em}.tracking-\[0\.22em\]{letter-spacing:.22em}.tracking-\[0\.34em\]{letter-spacing:.34em}.tracking-\[0\.3em\]{letter-spacing:.3em}.tracking-wide{letter-spacing:.025em}.text-app-ink{--tw-text-opacity:1;color:rgb(27 43 51/var(--tw-text-opacity,1))}.text-app-muted{--tw-text-opacity:1;color:rgb(91 106 112/var(--tw-text-opacity,1))}.text-app-muted\/40{color:rgba(91,106,112,.4)}.text-app-muted\/50{color:rgba(91,106,112,.5)}.text-app-sky{--tw-text-opacity:1;color:rgb(62 111 160/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.text-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/80{color:hsla(0,0%,100%,.8)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-glow{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-glow{--tw-shadow:0 14px 36px rgba(27,43,51,.12);--tw-shadow-colored:0 14px 36px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-slate-900\/10{--tw-shadow-color:rgba(15,23,42,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-slate-900\/20{--tw-shadow-color:rgba(15,23,42,.2);--tw-shadow:var(--tw-shadow-colored)}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}[data-density=compact] .app-student-card{padding:.65rem;gap:.65rem}[data-density=compact] .app-results-grid{gap:.5rem}[data-density=compact] .app-table tbody td{padding:.5rem .75rem;font-size:.8rem}[data-density=compact] .app-panel{padding:.85rem}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/source-serif-4-variable.woff2) format("woff2")}@font-face{font-family:Public Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/public-sans-variable.woff2) format("woff2")}.hover-3d{display:inline-grid;perspective:75rem;--transform:0,0;--shine:100% 100%;--shadow:0rem 0rem 0rem;--ease:linear(0,0.931 13.8%,1.196 21.4%,1.343 29.8%,1.378 36%,1.365 43.2%,1.059 78%,1);filter:drop-shadow(var(--shadow) .1rem #00000003) drop-shadow(var(--shadow) .2rem #00000003) drop-shadow(var(--shadow) .3rem #00000003) drop-shadow(var(--shadow) .4rem #00000003);transition:filter .4s ease-out}.hover-3d>:nth-child(n+2){isolation:isolate;z-index:1;scale:1.2}.hover-3d>:first-child{overflow:hidden;grid-area:1/1/4/4;transform:rotate3d(var(--transform),0,10deg);transition:transform var(--ease) .5s,scale var(--ease) .5s,outline-color ease-out .5s;outline:.5px solid #0000;outline-offset:-1px}.hover-3d>:first-child:before{content:"";pointer-events:none;position:absolute;z-index:1;width:33.333%;height:33.333%;scale:500%;opacity:0;filter:blur(.75rem);background-image:radial-gradient(circle at 50%,#fff3 10%,transparent 50%);translate:var(--shine);transition:translate .4s ease-out,opacity .4s ease-out}.hover-3d:hover{--ease:linear(0,0.708 15.2%,0.927 23.6%,1.067 33%,1.12 41%,1.13 50.2%,1.019 83.2%,1)}.hover-3d:hover>:first-child{outline-color:#fff1;scale:1.05}.hover-3d:hover>:first-child:before{opacity:1}.hover-3d>:nth-child(2){grid-area:1/1/2/2}.hover-3d>:nth-child(3){grid-area:1/2/2/3}.hover-3d>:nth-child(4){grid-area:1/3/2/4}.hover-3d>:nth-child(5){grid-area:2/1/3/2}.hover-3d>:nth-child(6){grid-area:2/3/3/4}.hover-3d>:nth-child(7){grid-area:3/1/4/2}.hover-3d>:nth-child(8){grid-area:3/2/4/3}.hover-3d>:nth-child(9){grid-area:3/3/4/4}.hover-3d:has(>:nth-child(2):hover){--transform:-1,1;--shine:0% 0%;--shadow:-0.5rem -0.5rem}.hover-3d:has(>:nth-child(3):hover){--transform:-1,0;--shine:100% 0%;--shadow:0rem -0.5rem}.hover-3d:has(>:nth-child(4):hover){--transform:-1,-1;--shine:200% 0%;--shadow:0.5rem -0.5rem}.hover-3d:has(>:nth-child(5):hover){--transform:0,1;--shine:0% 100%;--shadow:-0.5rem 0rem}.hover-3d:has(>:nth-child(6):hover){--transform:0,-1;--shine:200% 100%;--shadow:0.5rem 0rem}.hover-3d:has(>:nth-child(7):hover){--transform:1,1;--shine:0% 200%;--shadow:-0.5rem 0.5rem}.hover-3d:has(>:nth-child(8):hover){--transform:1,0;--shine:100% 200%;--shadow:0rem 0.5rem}.hover-3d:has(>:nth-child(9):hover){--transform:1,-1;--shine:200% 200%;--shadow:0.5rem 0.5rem}.app-photo-3d{border-radius:.85rem;position:relative}.app-photo-3d img{border-radius:.85rem;display:block}@keyframes fadeTabIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes fill{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.file\:mr-4::file-selector-button{margin-right:1rem}.file\:rounded-full::file-selector-button{border-radius:9999px}.file\:border-0::file-selector-button{border-width:0}.file\:px-4::file-selector-button{padding-left:1rem;padding-right:1rem}.file\:py-2::file-selector-button{padding-top:.5rem;padding-bottom:.5rem}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-app-sky\/60:hover{border-color:rgba(62,111,160,.6)}.hover\:bg-app-cream:hover{--tw-bg-opacity:1;background-color:rgb(246 241 231/var(--tw-bg-opacity,1))}.hover\:text-app-ink:hover{--tw-text-opacity:1;color:rgb(27 43 51/var(--tw-text-opacity,1))}.hover\:text-app-navy:hover{--tw-text-opacity:1;color:rgb(45 58 102/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:border-app-sky:focus{--tw-border-opacity:1;border-color:rgb(62 111 160/var(--tw-border-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-app-sky\/30:focus{--tw-ring-color:rgba(62,111,160,.3)}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.group:hover .group-hover\:scale-110,.group:hover .group-hover\:scale-\[1\.01\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-\[1\.01\]{--tw-scale-x:1.01;--tw-scale-y:1.01}.dark\:divide-slate-700:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(51 65 85/var(--tw-divide-opacity,1))}.dark\:border-emerald-500\/20:is(.dark *){border-color:rgba(16,185,129,.2)}.dark\:border-rose-500\/20:is(.dark *){border-color:rgba(244,63,94,.2)}.dark\:border-sky-500\/20:is(.dark *){border-color:rgba(14,165,233,.2)}.dark\:border-sky-500\/30:is(.dark *){border-color:rgba(14,165,233,.3)}.dark\:border-slate-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.dark\:border-slate-700\/60:is(.dark *){border-color:rgba(51,65,85,.6)}.dark\:bg-emerald-500\/10:is(.dark *){background-color:rgba(16,185,129,.1)}.dark\:bg-rose-500\/10:is(.dark *){background-color:rgba(244,63,94,.1)}.dark\:bg-sky-500\/10:is(.dark *){background-color:rgba(14,165,233,.1)}.dark\:bg-sky-500\/15:is(.dark *){background-color:rgba(14,165,233,.15)}.dark\:bg-sky-500\/20:is(.dark *){background-color:rgba(14,165,233,.2)}.dark\:bg-slate-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.dark\:bg-slate-700\/50:is(.dark *){background-color:rgba(51,65,85,.5)}.dark\:bg-slate-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.dark\:bg-slate-800\/60:is(.dark *){background-color:rgba(30,41,59,.6)}.dark\:bg-slate-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.dark\:bg-slate-900\/40:is(.dark *){background-color:rgba(15,23,42,.4)}.dark\:bg-app-dark:is(.dark *){background-image:radial-gradient(circle at top left,rgba(95,168,211,.14),transparent 26%),radial-gradient(circle at bottom right,rgba(216,170,87,.12),transparent 22%),linear-gradient(180deg,#10151d,#161d28)}.dark\:text-emerald-200:is(.dark *){--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity,1))}.dark\:text-rose-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 205 211/var(--tw-text-opacity,1))}.dark\:text-rose-300:is(.dark *){--tw-text-opacity:1;color:rgb(253 164 175/var(--tw-text-opacity,1))}.dark\:text-sky-200:is(.dark *){--tw-text-opacity:1;color:rgb(186 230 253/var(--tw-text-opacity,1))}.dark\:text-sky-300:is(.dark *){--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity,1))}.dark\:text-slate-100:is(.dark *){--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.dark\:text-slate-300:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.dark\:text-slate-400:is(.dark *){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.dark\:text-slate-500:is(.dark *){--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.dark\:text-slate-600:is(.dark *){--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:hover\:bg-slate-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.dark\:hover\:text-sky-200:hover:is(.dark *){--tw-text-opacity:1;color:rgb(186 230 253/var(--tw-text-opacity,1))}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:focus\:border-sky-500:focus:is(.dark *){--tw-border-opacity:1;border-color:rgb(14 165 233/var(--tw-border-opacity,1))}.dark\:focus\:ring-sky-500\/30:focus:is(.dark *){--tw-ring-color:rgba(14,165,233,.3)}@media (min-width:640px){.sm\:col-span-3{grid-column:span 3/span 3}.sm\:mt-0{margin-top:0}.sm\:inline{display:inline}.sm\:grid{display:grid}.sm\:hidden{display:none}.sm\:h-16{height:4rem}.sm\:h-36{height:9rem}.sm\:w-16{width:4rem}.sm\:w-36{width:9rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:gap-5{gap:1.25rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:\!text-2xl{font-size:1.5rem!important;line-height:2rem!important}.sm\:text-\[1\.7rem\]{font-size:1.7rem}.sm\:text-\[2\.45rem\]{font-size:2.45rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:gap-5{gap:1.25rem}}@media (min-width:1024px){.lg\:inline-block{display:inline-block}.lg\:h-24{height:6rem}.lg\:w-24{width:6rem}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:items-center{align-items:center}.lg\:justify-start{justify-content:flex-start}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:self-start{align-self:flex-start}.lg\:p-8{padding:2rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:text-left{text-align:left}}@media (min-width:1280px){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\2c 1fr\)_320px\]{grid-template-columns:minmax(0,1fr) 320px}}@media (min-width:1536px){.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.\32xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}