@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.block{display:block}.flex{display:flex}.hidden{display:none}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.flex-col{flex-direction:column}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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,)}}:root{--navy:#111c3c;--navy2:#17264f;--red:#e21d2d;--red-dark:#bd1020;--blue:#1769c2;--gold:#c89835;--green:#159667;--amber:#d98908;--purple:#8251cc;--ink:#172033;--muted:#6d7587;--line:#e7e9ef;--soft:#f5f6f9;--white:#fff;--shadow:0 8px 28px #17203312}.auth-loading,.auth-page{background:radial-gradient(circle at 18% 12%,#da2f351f,#0000 32%),#f4f6fa;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-loading{color:var(--muted);font-weight:700}.auth-card{border:1px solid var(--line);background:#fff;border-radius:22px;width:min(100%,440px);padding:32px;box-shadow:0 24px 70px #111d371f}.auth-card>img{object-fit:contain;margin:0 auto 16px;display:block}.auth-card h1{margin:7px 0;font-size:26px}.auth-card p,.auth-card small{color:var(--muted)}.auth-card form{gap:15px;margin:25px 0 18px;display:grid}.auth-card label{gap:7px;font-size:13px;font-weight:700;display:grid}.auth-card input{border:1px solid var(--line);width:100%;font:inherit;border-radius:10px;padding:13px 14px}.auth-card input:focus{border-color:var(--red);outline:2px solid #da2f352e}.auth-error{background:#fff0f1;border-radius:9px;margin:0;padding:10px 12px;font-size:12px;color:var(--red)!important}*{box-sizing:border-box}.hidden{display:none!important}html,body{min-height:100%;color:var(--ink);background:#f7f8fb;margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{color:#fff;z-index:30;background:linear-gradient(#111c3c,#0c1530);flex-direction:column;width:260px;padding:22px 16px;display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden}.brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:8px;padding:0 4px 26px;display:flex}.brand img{object-fit:contain;object-position:center;width:88px;height:62px}.brand div{flex-direction:column;gap:3px;display:flex}.brand strong{font-size:13px}.brand span{color:#aeb6cf;font-size:11px}.sidebar nav{scrollbar-width:thin;scrollbar-color:#ffffff38 transparent;flex:1;min-height:0;padding:18px 0;overflow-y:auto}.nav-label{letter-spacing:.14em;color:#7e89aa;margin:0 0 8px;padding:0 12px;font-size:10px;font-weight:700}.nav-label.second{margin-top:25px}.sidebar nav button{color:#aeb6cf;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;height:44px;margin:3px 0;padding:0 12px;display:flex}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#ffffff17}.sidebar nav button.active:before{content:"";background:var(--red);border-radius:0 4px 4px 0;width:3px;height:26px;position:absolute;left:0}.nav-badge{background:var(--red);border-radius:10px;margin-left:auto;padding:2px 6px;font-size:10px}.sidebar-user{border-top:1px solid #ffffff1a;align-items:center;gap:10px;padding:18px 4px 0;display:flex}.sidebar-user>div:nth-child(2){flex-direction:column;flex:1;display:flex}.sidebar-user strong{font-size:12px}.sidebar-user span{color:#8e99b8;margin-top:3px;font-size:10px}.sidebar-user button{color:#8490ae;background:0 0;border:0}.avatar{background:linear-gradient(135deg, var(--red), #ff5764);color:#fff;border-radius:12px;flex:none;place-items:center;width:38px;height:38px;font-size:12px;font-weight:800;display:grid}.avatar.small{width:34px;height:34px}.avatar.student{color:#33415e;background:#edf1f8;border-radius:50%}.avatar.large{border-radius:24px;width:72px;height:72px;font-size:21px}.main{min-height:100vh;margin-left:260px}.topbar{border-bottom:1px solid var(--line);z-index:20;background:#fff;justify-content:space-between;align-items:center;height:70px;padding:0 34px;display:flex;position:sticky;top:0}.search{background:var(--soft);color:#8a91a0;border-radius:10px;align-items:center;gap:10px;width:min(510px,60%);height:40px;padding:0 14px;display:flex}.search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:13px}.header-wordmark{align-items:center;gap:12px;min-width:260px;display:flex}.header-wordmark>div{flex-direction:column;gap:2px;display:flex}.header-wordmark strong{color:var(--navy);letter-spacing:.11em;font-size:14px;font-weight:900}.header-wordmark small{color:var(--muted);letter-spacing:.04em;font-size:9px}.header-official-logo{object-fit:contain;object-position:center;width:72px;height:50px}.wordmark-symbol{align-items:center;gap:4px;display:flex}.wordmark-symbol i{background:var(--red);border-radius:8px;width:8px;height:27px;display:block;transform:skew(-10deg)}.wordmark-symbol i:last-child{background:var(--blue);height:19px}.header-actions{align-items:center;gap:16px;display:flex}.header-actions button{color:#555f72;background:0 0;border:0;position:relative}.header-actions i{background:var(--red);border:1px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:0;right:1px}.menu-btn{background:0 0;border:0;display:none}.content{max-width:1420px;margin:auto;padding:31px 34px 100px}.page-title{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:25px;display:flex}.page-title span{letter-spacing:.13em;color:var(--red);font-size:10px;font-weight:800}.page-title h1{letter-spacing:-.025em;margin:7px 0;font-size:28px;line-height:1.1}.page-title p{color:var(--muted);margin:0;font-size:13px}.page-title-actions{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.compact-period{align-items:center;gap:5px;display:flex}.compact-period>button{color:#7d879c;background:0 0;border:0;border-radius:8px;place-items:center;width:29px;height:29px;display:grid}.compact-period>button:hover{background:#e9edf5}.compact-period>button:disabled{opacity:.25}.compact-period label{border:1px solid var(--line);color:#68738b;cursor:pointer;background:#ffffffb8;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-width:155px;height:32px;padding:0 10px;display:flex;position:relative}.compact-period label svg{width:14px;color:var(--red)}.compact-period label strong{font-size:11px}.compact-period input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.primary,.secondary,.gold-button,.ghost{border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 16px;font-size:12px;font-weight:700;display:inline-flex}.primary{background:var(--red);color:#fff;box-shadow:0 5px 14px #e21d2d2e}.primary:hover{background:var(--red-dark)}.primary:disabled{opacity:.45;cursor:not-allowed}.secondary{color:#394258;border:1px solid var(--line);background:#fff}.gold-button{color:#fff;background:#b88a31}.ghost{border:1px solid var(--line);color:#3a4356;background:#fff}.full{width:100%}.quick-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.quick-actions>button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:13px;align-items:center;gap:12px;min-height:86px;padding:12px 16px;display:flex;box-shadow:0 2px 8px #17203306}.quick-actions>button:hover{border-color:#cfd4df;transform:translateY(-1px)}.quick-actions>button>svg{flex:none}.quick-actions>button>span:nth-child(2){flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.quick-actions strong{font-size:13px;line-height:1.25}.quick-actions small{color:var(--muted);font-size:11px;line-height:1.3}.quick-icon{border-radius:11px;place-items:center;width:43px;height:43px;display:grid}.quick-icon.red{color:var(--red);background:#ffeaec}.quick-icon.blue{color:var(--blue);background:#e7f1fd}.quick-icon.green{color:var(--green);background:#e3f6ef}.quick-icon.amber{color:#c57c12;background:#fff1d8}.period-toolbar{border:1px solid var(--line);background:#fff;border-radius:13px;justify-content:space-between;align-items:center;gap:16px;min-height:62px;margin-bottom:18px;padding:10px 14px;display:flex}.period-toolbar>div,.period-toolbar>div>span{align-items:center;gap:10px;display:flex}.period-toolbar>div>span{flex-direction:column;align-items:flex-start;gap:2px}.period-toolbar svg{color:var(--blue)}.period-toolbar small{color:var(--muted);font-size:10px}.period-controls button{border:1px solid var(--line);background:var(--soft);border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.period-controls button:disabled{opacity:.35}.period-controls input{border:1px solid var(--line);height:34px;font:inherit;border-radius:8px;padding:0 9px}.period-controls>strong{text-transform:capitalize;min-width:115px;font-size:12px}.period-summary{margin-bottom:18px}.period-movements{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.period-movements article{border-top:1px solid var(--line);grid-template-columns:55px 66px 1fr;align-items:start;gap:10px;padding:12px 16px;display:grid}.period-movements article:nth-child(odd){border-right:1px solid var(--line)}.period-movements time{color:var(--muted);text-transform:capitalize;font-size:10px;font-weight:800}.period-movements p{color:var(--muted);margin:3px 0 0;font-size:10px}.movement-kind{color:#43516c;text-align:center;text-transform:uppercase;background:#edf2fa;border-radius:20px;padding:4px 7px;font-size:8px;font-weight:900}.movement-kind.ingreso{color:var(--green);background:#e3f6ef}.movement-kind.egreso{color:var(--red);background:#ffeaec}.metrics{grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:14px;margin-bottom:18px;display:grid}.metric-section{margin-bottom:18px}.section-heading{justify-content:space-between;align-items:flex-end;gap:14px;min-height:42px;margin-bottom:10px;padding:0 2px;display:flex}.section-heading span{color:var(--red);letter-spacing:.12em;font-size:9px;font-weight:900}.section-heading h2{margin:3px 0 0;font-size:16px}.section-heading>small{color:var(--muted);font-size:10px}.activity-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-current-grid{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:18px;display:grid}.finance-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.current-metrics{grid-template-columns:1fr}.finance-current-grid .metrics article{min-height:108px}.current-section .metrics article{background:linear-gradient(135deg,#fffaf0,#fff);border-color:#f0d7aa}.conversion-action{color:#18548d;background:#edf5ff;border:1px solid #a9c7ef;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:46px;font-weight:800;display:flex}.filter-separator{flex:1}.balance-filter{color:var(--muted);align-items:center;gap:8px;font-size:11px;font-weight:800;display:flex}.balance-filter select{border:1px solid var(--line);min-width:125px;height:36px;color:var(--ink);background:#fff;border-radius:9px;padding:0 10px}.student-history{border:1px solid var(--line);background:#fafbfe;border-radius:12px;padding:15px}.student-history>div:first-child{flex-direction:column;gap:3px;margin-bottom:12px;display:flex}.student-history .history-add{width:max-content;margin-top:8px}.student-history small,.student-history p{color:var(--muted)}.student-history article{border-top:1px solid var(--line);grid-template-columns:130px 1fr;gap:14px;padding:11px 0;display:grid}.student-history time{color:var(--red);text-transform:capitalize;font-size:11px;font-weight:800}.student-history p{margin:4px 0 0;font-size:11px}.metrics.compact{grid-template-columns:repeat(2,1fr)}.metrics article{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:13px;min-height:104px;padding:17px;display:flex}.metric-icon{border-radius:12px;place-items:center;width:43px;height:43px;display:grid}.metric-icon.blue{color:var(--blue);background:#e7f1fd}.metric-icon.red{color:var(--red);background:#ffeaec}.metric-icon.amber{color:var(--amber);background:#fff1d9}.metric-icon.green{color:var(--green);background:#e3f6ef}.metrics article>div:last-child{flex-direction:column;display:flex}.metrics span{color:var(--muted);font-size:11px}.metrics strong{margin:4px 0;font-size:20px}.metrics small{color:var(--green);font-size:10px}.dashboard-grid{grid-template-columns:1.65fr 1fr;gap:18px;margin-bottom:18px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:14px;box-shadow:0 2px 8px #17203306}.panel-head{border-bottom:1px solid #eff0f4;justify-content:space-between;align-items:flex-start;padding:19px 20px 15px;display:flex}.panel-head h2{margin:0 0 4px;font-size:15px}.panel-head p{color:var(--muted);margin:0;font-size:11px}.panel-head button{color:var(--blue);background:0 0;border:0;gap:5px;font-size:11px;font-weight:700;display:flex}.count{width:24px;height:24px;color:var(--red);background:#ffeaec;border-radius:8px;place-items:center;font-size:10px;font-weight:800;display:grid}.timeline{grid-template-columns:50px 16px 1fr auto;align-items:center;padding:16px 20px;display:grid}.timeline+.timeline{border-top:1px solid #f0f1f4}.time{font-size:12px;font-weight:800}.line{border-left:1px solid #dfe2e8;place-items:center;height:50px;display:grid}.line i{border-radius:50%;width:9px;height:9px;margin-left:-1px}.line i.red{background:var(--red)}.line i.blue{background:var(--blue)}.line i.gold{background:var(--gold)}.event{padding-left:11px}.event h3{margin:5px 0;font-size:12px}.event p,.class-card p{color:var(--muted);align-items:center;gap:5px;margin:0;font-size:10px;display:flex}.tag{letter-spacing:.08em;border-radius:5px;padding:3px 6px;font-size:8px;font-weight:800;display:inline-flex}.tag.red{color:var(--red);background:#ffeaec}.tag.blue{color:var(--blue);background:#e7f1fd}.tag.gold,.status.gold{color:#9a6d15;background:#fff2d7}.status{white-space:nowrap;border-radius:7px;justify-content:center;width:max-content;padding:5px 8px;font-size:9px;font-weight:800;display:inline-flex}.status.soft{color:#667085;background:#f0f2f6}.status.success{color:var(--green);background:#e3f6ef}.status.danger{color:var(--red);background:#ffeaec}.status.warning{color:#b46e00;background:#fff1d9}.status.purple{color:var(--purple);background:#f1eafd}.alerts>button{text-align:left;background:#fff;border:0;align-items:center;gap:10px;width:100%;padding:14px 18px;display:flex}.alerts>button+button{border-top:1px solid #f0f1f4}.alerts>button>span:nth-child(2){flex-direction:column;flex:1;gap:3px;display:flex}.alerts strong{font-size:11px}.alerts small{color:var(--muted);font-size:10px}.alert-dot{border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.alert-dot.danger{color:var(--red);background:#ffeaec}.alert-dot.purple{color:var(--purple);background:#f1eafd}.alert-dot.warning{color:var(--amber);background:#fff1d9}.alert-dot.blue{color:var(--blue);background:#e7f1fd}.table-wrap{width:100%;overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th{text-align:left;color:#8790a1;letter-spacing:.05em;text-transform:uppercase;background:#fafbfc;padding:11px 18px;font-size:9px}td{border-top:1px solid #f0f1f4;padding:13px 18px;font-size:11px}td>strong,td>small{display:block}td small{color:var(--muted);margin-top:3px}.person{align-items:center;gap:10px;display:flex}.person>div:last-child{flex-direction:column;display:flex}.person strong{font-size:11px}.person small{color:var(--muted);margin-top:3px;font-size:9px}.progress-label{justify-content:space-between;margin-bottom:5px;font-size:9px;display:flex}.progress-label b{color:var(--muted)}.progress{background:#edf0f4;border-radius:5px;height:5px;overflow:hidden}.progress i{background:var(--red);border-radius:5px;height:100%;display:block}.progress.gold i{background:var(--gold)}.debt{color:var(--red);font-weight:700}.income{color:var(--green);font-weight:800}.icon-button{color:#7b8496;background:0 0;border:0}.filter-row{gap:8px;margin-bottom:15px;display:flex;overflow:auto}.filter{border:1px solid var(--line);color:#606a7c;background:#fff;border-radius:8px;height:34px;padding:0 13px;font-size:11px}.filter.active{background:var(--navy);color:#fff;border-color:var(--navy)}.week-strip{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:18px;padding:10px;display:grid}.week-strip button,.week-strip .day-display{color:#7b8494;background:0 0;border:0;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:9px;display:flex;position:relative}.week-strip .day-display.active{background:var(--navy);color:#fff}.week-strip .day-display span{font-size:8px}.week-strip .day-display strong{font-size:17px}.week-strip .day-display i{background:var(--red);border-radius:50%;width:4px;height:4px}.week-strip button.active{background:var(--navy);color:#fff}.week-strip span{font-size:8px}.week-strip strong{font-size:17px}.week-strip i{background:var(--red);border-radius:50%;width:4px;height:4px}.class-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.class-card,.empty-card{padding:22px;position:relative;overflow:hidden}.class-accent{height:4px;position:absolute;inset:0 0 auto}.class-accent.blue{background:var(--blue)}.class-accent.red{background:var(--red)}.class-card h2,.empty-card h2{margin:13px 0;font-size:17px}.class-card p{margin:9px 0;font-size:11px}.class-meta{border-top:1px solid var(--line);justify-content:space-between;margin:18px 0;padding-top:14px;display:flex}.class-meta span,.montage-meta span{color:var(--muted);align-items:center;gap:5px;font-size:10px;display:flex}.empty-card{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-card>svg{color:var(--blue);width:38px;height:38px}.empty-card h2{color:var(--ink);margin-bottom:4px}.empty-card p{margin:0 0 18px;font-size:11px}.attendance-summary{gap:12px;margin-bottom:16px;display:flex;overflow:auto}.attendance-summary span{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:9px;padding:10px 14px;font-size:10px}.attendance-summary strong{margin-right:4px;font-size:15px}.attendance-summary .green{color:var(--green)}.attendance-summary .red-text{color:var(--red)}.attendance-list article{grid-template-columns:1fr auto 1.5fr;align-items:center;gap:18px;padding:14px 18px;display:grid}.attendance-list article+article{border-top:1px solid var(--line)}.payment-state{border-radius:6px;padding:5px 7px;font-size:9px;font-weight:700}.payment-state.good{color:var(--green);background:#e3f6ef}.payment-state.bad{color:var(--red);background:#ffeaec}.attendance-actions{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.attendance-actions button{border:1px solid var(--line);color:#687284;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:4px;height:34px;font-size:9px;font-weight:700;display:flex}.attendance-actions svg{width:14px}.attendance-actions .present{color:var(--green);background:#e3f6ef;border-color:#b8e7d6}.attendance-actions .absent{color:var(--red);background:#ffeaec;border-color:#ffc7cd}.attendance-actions .late{color:var(--amber);background:#fff1d9;border-color:#f6dab0}.sticky-action{background:var(--navy);color:#fff;border-radius:13px;justify-content:space-between;align-items:center;margin:18px auto 0;padding:13px 17px;display:flex;position:sticky;bottom:15px;box-shadow:0 12px 35px #111c3c40}.sticky-action>div{flex-direction:column;display:flex}.sticky-action strong{font-size:12px}.sticky-action span{color:#aeb6cf;margin-top:3px;font-size:9px}.empty-state{text-align:center;color:var(--muted);padding:52px}.empty-state svg{color:#a2aabc;width:40px;height:40px}.empty-state h3{color:var(--ink);font-size:14px}.empty-state p{font-size:11px}.montaje-hero{color:#fff;background:linear-gradient(125deg,#141414,#242017);border-radius:17px;align-items:center;gap:30px;min-height:170px;margin-bottom:18px;padding:22px 32px;display:flex;overflow:hidden}.montaje-hero img{object-fit:cover;width:180px;height:110px}.montaje-hero>div:nth-child(2){flex:1}.montaje-hero span{letter-spacing:.15em;color:#d7b66f;font-size:9px}.montaje-hero h2{margin:7px 0;font-family:Georgia,serif;font-size:25px}.montaje-hero p{color:#c8c8c8;font-size:11px}.ring{border:7px solid #b78b38;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:92px;height:92px;display:flex}.ring strong{font-size:20px}.ring span{font-size:8px!important}.montage-card{padding:22px}.montage-card h2{margin:14px 0 4px;font-family:Georgia,serif;font-size:18px}.montage-card>p{color:var(--muted);margin:0 0 20px;font-size:10px}.montage-meta{justify-content:space-between;margin-top:18px;display:flex}.finance-bars{padding-bottom:17px}.bar-row{grid-template-columns:120px 1fr 120px;align-items:center;gap:20px;padding:13px 20px;font-size:11px;display:grid}.bar-row>div{background:#eff1f5;border-radius:10px;height:8px;overflow:hidden}.bar-row i{border-radius:10px;height:100%;display:block}.bar-row i.red{background:var(--red)}.bar-row i.blue{background:var(--blue)}.bar-row i.gold{background:var(--gold)}.bar-row strong{text-align:right}.settings-grid{grid-template-columns:repeat(2,1fr);gap:13px;display:grid}.setting-card{border:1px solid var(--line);text-align:left;align-items:center;gap:13px;padding:17px;display:flex}.setting-card>span{width:39px;height:39px;color:var(--blue);background:#edf2fa;border-radius:10px;place-items:center;display:grid}.setting-card>div{flex-direction:column;flex:1;gap:4px;display:flex}.setting-card strong{font-size:12px}.setting-card small{color:var(--muted);font-size:10px}.decision-note{color:var(--amber);gap:13px;margin-top:18px;padding:18px;display:flex}.decision-note strong{color:var(--ink);font-size:12px}.decision-note p{color:var(--muted);margin:5px 0 0;font-size:10px}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#070c1b9e;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:17px;width:min(560px,100%);max-height:95vh;overflow:auto;box-shadow:0 25px 80px #00000038}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;padding:20px 22px;display:flex}.modal-head h2{margin:0 0 4px;font-size:17px}.modal-head p{color:var(--muted);margin:0;font-size:10px}.modal-head button{background:var(--soft);border:0;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.modal-head svg{width:17px}.form{padding:20px 22px}.form label{flex-direction:column;gap:7px;margin-bottom:14px;font-size:10px;font-weight:700;display:flex}.form input,.form select,.form textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #dfe2e8;border-radius:9px;outline:0;padding:10px 11px;font-size:12px}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1769c214}.form textarea{resize:vertical;min-height:75px}.form-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.form-note{color:#237e60;background:#e9f8f2;border-radius:9px;align-items:center;gap:8px;padding:10px;font-size:9px;display:flex}.form-note svg{width:15px}.form-note.warning{color:#94600d;background:#fff5df}.modal-actions{justify-content:flex-end;gap:9px;margin-top:20px;display:flex}.profile-modal{text-align:center;padding:25px}.profile-modal .avatar{margin:auto}.profile-modal h3{margin:12px 0 4px}.profile-modal>p{color:var(--muted);font-size:11px}.profile-modal>div:not(.avatar){border-top:1px solid var(--line);justify-content:space-between;padding:14px 0;font-size:10px;display:flex}.profile-modal>div span{color:var(--muted)}.toast{color:#fff;z-index:100;box-shadow:var(--shadow);background:#15213f;border-radius:10px;align-items:center;gap:8px;padding:13px 17px;font-size:11px;font-weight:700;display:flex;position:fixed;bottom:22px;right:22px}.toast svg{color:#64d8ad}.overlay,.bottom-nav{display:none}@media (max-width:1100px){.sidebar{transition:all .25s;transform:translate(-100%)}.sidebar-open{transform:translate(0)}.main{margin-left:0}.menu-btn{display:block}.overlay{z-index:25;background:#00000059;border:0;display:block;position:fixed;inset:0}}@media (max-width:1050px){.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{grid-template-columns:repeat(2,1fr)}.finance-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-current-grid,.dashboard-grid{grid-template-columns:1fr}.class-grid{grid-template-columns:repeat(2,1fr)}.attendance-list article{grid-template-columns:1fr auto}.attendance-actions{grid-column:1/-1}}@media (max-width:760px){.sidebar{width:275px;transition:all .25s;transform:translate(-100%)}.sidebar-open{transform:translate(0)}.overlay{z-index:25;background:#00000059;border:0;display:block;position:fixed;inset:0}.main{margin-left:0}.topbar{height:60px;padding:0 16px}.menu-btn{display:block}.search{flex:1;width:auto;margin:0 12px}.search input{font-size:11px}.header-wordmark{flex:1;min-width:0;margin:0 12px}.header-wordmark strong{font-size:11px}.header-wordmark small{font-size:8px}.header-official-logo{width:55px;height:38px}.wordmark-symbol i{width:6px;height:22px}.wordmark-symbol i:last-child{height:16px}.header-actions button{display:none}.content{padding:22px 15px 90px}.page-title{flex-direction:column;align-items:flex-start}.page-title-actions{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.page-title h1{font-size:24px}.page-title>button{z-index:19;border-radius:50%;width:48px;height:48px;padding:0;font-size:0;position:fixed;bottom:76px;right:16px}.page-title>button svg{width:21px}.quick-actions{grid-template-columns:1fr}.quick-actions>button{height:66px}.period-toolbar{flex-direction:column;align-items:flex-start}.period-controls{flex-wrap:wrap;width:100%}.period-movements{grid-template-columns:1fr}.period-movements article:nth-child(odd){border-right:0}.metrics,.metrics.compact{grid-template-columns:1fr 1fr}.metrics article{min-height:88px;padding:13px}.metric-icon{width:36px;height:36px}.metrics strong{font-size:15px}.metrics small{display:none}.schedule .timeline{grid-template-columns:45px 14px 1fr}.timeline>button,.timeline>.status,.recent{display:none}.bottom-nav{border-top:1px solid var(--line);z-index:22;height:64px;padding-bottom:env(safe-area-inset-bottom);background:#fff;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.bottom-nav button{color:#7b8496;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:8px;display:flex}.bottom-nav button.active{color:var(--red)}.class-grid{grid-template-columns:1fr}.week-strip{gap:2px}.week-strip button{padding:7px 3px}.attendance-summary{margin-right:-15px}.attendance-list article{grid-template-columns:1fr}.payment-state{width:max-content}.attendance-actions{grid-column:auto}.sticky-action span{display:none}.montaje-hero{grid-template-columns:1fr auto;padding:20px;display:grid}.montaje-hero img{display:none}.ring{width:74px;height:74px}.settings-grid{grid-template-columns:1fr}.bar-row{grid-template-columns:80px 1fr}.bar-row strong{display:none}.form-grid{grid-template-columns:1fr}.toast{justify-content:center;bottom:78px;left:15px;right:15px}}@media (max-width:430px){.metrics{grid-template-columns:1fr}.header-actions .avatar{display:none}.page-title p{max-width:260px}.attendance-actions button{font-size:0}.attendance-actions svg{width:17px}.montaje-hero{grid-template-columns:1fr}.ring{display:none}}.tiny{height:30px;padding:0 9px;font-size:9px}.module-actions{gap:9px;margin:0 0 17px;display:flex;overflow:auto}.line-hero{color:#fff;border-radius:17px;justify-content:space-between;align-items:center;min-height:145px;margin-bottom:18px;padding:25px 30px;display:flex;position:relative;overflow:hidden}.line-hero:after{content:"";background:#ffffff14;border-radius:50%;width:220px;height:220px;position:absolute;top:-90px;right:-55px}.line-hero.kids{background:linear-gradient(125deg,#e01d2d,#6a208e 60%,#1769c2)}.line-hero.personalized{background:linear-gradient(125deg,#123c75,#1769c2 65%,#132343)}.line-hero span{letter-spacing:.14em;color:#ffffffbf;font-size:9px;font-weight:800}.line-hero h2{margin:8px 0;font-size:22px}.line-hero p{color:#fffc;margin:0;font-size:11px}.line-hero .next-class-date{text-transform:capitalize;color:#fff;font-size:12px;font-weight:700}.next-class-details{z-index:1;flex-wrap:wrap;gap:9px 18px;margin-top:14px;display:flex;position:relative}.next-class-details span{color:#ffffffeb;align-items:center;gap:6px;font-size:11px;display:inline-flex}.next-class-details svg{width:15px;height:15px}.hero-actions{z-index:2;gap:9px;margin-top:14px;display:flex;position:relative}.hero-actions button{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff5c;border-radius:10px;align-items:center;gap:7px;padding:9px 13px;font-weight:750;display:inline-flex}.hero-actions button:hover{background:#ffffff3d}.hero-actions button:disabled{opacity:.55;cursor:not-allowed}.hero-actions svg{width:16px;height:16px}.montaje-hero .hero-actions.montage button{color:#f0d385;background:#c69e4324;border-color:#c69e4399}.qr-group-picker{gap:12px;display:grid}.qr-group-picker>button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;width:100%;padding:15px;display:grid}.qr-group-picker>button:hover{border-color:var(--blue);box-shadow:0 7px 20px #182c5414}.qr-group-picker span{flex-direction:column;gap:4px;display:flex}.qr-group-picker small{color:var(--muted)}.whatsapp-qr-view{flex-direction:column;align-items:center;gap:14px;display:flex}.whatsapp-qr-view>img{object-fit:contain;background:#111;border-radius:14px;width:min(100%,370px);height:auto;max-height:64vh}.form-subsection{background:#f7faff;border:1px solid #dbe5f4;border-radius:14px;gap:12px;padding:15px;display:grid}.form-subsection>strong{color:var(--navy);font-size:12px}.montage-quick-action{justify-content:center;width:100%;margin-top:14px}.quick-session-options{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.quick-session-options button{justify-content:center}@media (max-width:560px){.quick-session-options{grid-template-columns:1fr}}.finance-period{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:15px 18px;display:flex}.finance-period>div:first-child{flex-direction:column;gap:3px;display:flex}.finance-period span{color:var(--red);letter-spacing:.13em;font-size:9px;font-weight:850}.finance-period strong{text-transform:capitalize;font-size:18px}.finance-period .compact-period{margin:0}.finance-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.finance-kpis article{min-width:0}.finance-kpis small{line-height:1.35}.finance-dashboard-grid{grid-template-columns:minmax(0,1.8fr) minmax(280px,.8fr);gap:18px;margin-bottom:18px;display:grid}.finance-dashboard-grid.equal{grid-template-columns:1fr 1fr}.finance-ledgers{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.finance-ledgers>.panel{min-width:0;overflow:hidden}.finance-ledgers .table-wrap{max-width:100%;overflow-x:auto}.inline-cost-fields{grid-template-columns:65px auto 100px minmax(90px,1fr);align-items:center;gap:6px;min-width:330px;display:grid}.inline-cost-fields input{min-width:0}.mini-date{color:var(--muted);gap:3px;margin-top:5px;font-size:9px;display:grid}.mini-date input{min-width:125px}.trend-chart{border-bottom:1px solid var(--line);background:repeating-linear-gradient(0deg,#0000 0 54px,#edf0f5 55px);align-items:flex-end;gap:18px;height:220px;padding:16px 14px 0;display:flex}.trend-month{text-align:center;flex:1;grid-template-rows:1fr auto auto;gap:5px;min-width:0;height:100%;display:grid}.trend-columns{justify-content:center;align-items:flex-end;gap:5px;height:100%;display:flex}.trend-columns i{border-radius:5px 5px 0 0;width:min(30%,23px);min-height:3px}.income-bar{background:#42a478}.expense-bar{background:#e25258}.trend-month>strong{text-transform:capitalize;font-size:11px}.trend-month>small{white-space:nowrap;font-size:9px}.chart-legend{color:var(--muted);justify-content:center;gap:20px;padding-top:14px;font-size:11px;display:flex}.chart-legend span{align-items:center;gap:6px;display:flex}.chart-legend i{border-radius:50%;width:8px;height:8px}.income-dot{background:#42a478}.expense-dot{background:#e25258}.financial-result{border-radius:14px;flex-direction:column;align-items:center;gap:7px;margin-bottom:12px;padding:19px;display:flex}.financial-result.positive{color:#267556;background:#ebf8f2}.financial-result.negative{color:#bd343d;background:#fff0f1}.financial-result svg{width:30px;height:30px}.financial-result span{font-size:11px}.financial-result strong{font-size:24px}.finance-summary-card dl{margin:0}.finance-summary-card dl div{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:11px 2px;display:flex}.finance-summary-card dt{color:var(--muted);font-size:11px}.finance-summary-card dd{margin:0;font-size:12px;font-weight:800}.distribution-list{gap:13px;display:grid}.distribution-list>div{grid-template-columns:minmax(100px,.8fr) minmax(100px,1.5fr) auto;align-items:center;gap:12px;display:grid}.distribution-list span{text-overflow:ellipsis;font-size:11px;overflow:hidden}.distribution-list>div>div{background:#edf1f6;border-radius:10px;height:8px;overflow:hidden}.distribution-list i{background:#347bd1;border-radius:10px;height:100%;display:block}.distribution-list.costs i{background:#e05a61}.distribution-list strong{font-size:11px}.muted-empty{color:var(--muted);text-align:center;padding:24px;font-size:12px}@media (max-width:1100px){.finance-kpis{grid-template-columns:repeat(3,1fr)}}@media (max-width:760px){.finance-period{flex-direction:column;align-items:flex-start}.finance-dashboard-grid,.finance-dashboard-grid.equal{grid-template-columns:1fr}.finance-kpis{grid-template-columns:1fr 1fr}.trend-chart{gap:8px;height:190px}.trend-month>small{display:none}.distribution-list>div{grid-template-columns:90px 1fr auto}}.student-page-actions{align-items:center;gap:10px;display:flex}@media (max-width:760px){.student-page-actions{flex-wrap:wrap;width:100%}.student-page-actions button{flex:1}}.attendance-focus{color:#fff;background:linear-gradient(125deg,#17294d,#285c9f);border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;min-height:112px;margin-bottom:18px;padding:22px 25px;display:grid;box-shadow:0 12px 30px #132a4f29}.attendance-focus.line-bys-kids{background:linear-gradient(125deg,#ce3543,#762d87 58%,#285fac)}.attendance-focus.line-personalizadas{background:linear-gradient(125deg,#194b88,#3579ce)}.attendance-focus.line-montajes{background:linear-gradient(125deg,#171713,#4b4024)}.attendance-focus-icon{background:#ffffff24;border-radius:15px;place-items:center;width:54px;height:54px;display:grid}.attendance-focus-icon svg{width:27px;height:27px}.attendance-focus>div:nth-child(2){min-width:0}.attendance-focus span{letter-spacing:.13em;color:#ffffffb8;font-size:9px;font-weight:850}.attendance-focus h2{margin:5px 0;font-size:21px}.attendance-focus p{color:#ffffffc7;text-transform:capitalize;margin:0;font-size:11px}.attendance-focus-status{background:#ffffff1f;border:1px solid #ffffff3d;border-radius:9px;padding:7px 10px;color:#fff!important;letter-spacing:0!important}.attendance-week{padding:17px 19px 15px}.attendance-week-nav{text-align:center;grid-template-columns:38px 1fr 38px;align-items:center;gap:12px;display:grid}.attendance-week-nav>button{border:1px solid var(--line);width:38px;height:38px;color:var(--blue);cursor:pointer;background:#f8fafc;border-radius:11px;place-items:center;display:grid}.attendance-week-nav>button:hover{background:#edf4ff}.attendance-week-nav svg{width:18px}.attendance-week-nav span{color:var(--red);letter-spacing:.14em;font-size:8px;font-weight:850}.attendance-week-nav h2{text-transform:capitalize;margin:3px 0 1px;font-size:16px}.attendance-week-nav p{color:var(--muted);margin:0;font-size:10px}.attendance-session-strip{gap:12px;padding:15px 2px 3px}.attendance-session-strip>button{cursor:pointer;border:1px solid #e0e5ed;border-radius:14px;min-width:215px;padding:13px 14px 13px 17px;transition:all .18s;position:relative;overflow:hidden}.attendance-session-strip>button:before{content:"";background:#4f9b6f;width:4px;position:absolute;inset:0 auto 0 0}.attendance-session-strip>button.session-personalizadas:before{background:#347bd1}.attendance-session-strip>button.session-montajes:before{background:#c49b3f}.attendance-session-strip>button.session-presentaciones-y-eventos:before{background:#db424e}.attendance-session-strip>button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #19305314}.attendance-session-strip span{text-transform:capitalize;font-weight:750}.attendance-session-strip small{align-items:center;gap:6px;display:flex}.attendance-session-strip small i{background:#42a478;border-radius:50%;width:6px;height:6px}.attendance-week-empty{color:var(--muted);justify-content:center;align-items:center;gap:8px;padding:27px;font-size:12px;display:flex}.attendance-week-empty svg{width:20px}.attendance-summary{grid-template-columns:repeat(4,1fr);gap:12px;display:grid;overflow:visible}.attendance-summary article{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:11px;min-width:0;padding:13px 15px;display:flex}.attendance-summary article>span{flex-direction:column;gap:2px;display:flex}.attendance-summary small{color:var(--muted);font-size:10px}.attendance-summary strong{font-size:19px}.summary-icon{border-radius:11px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.summary-icon svg{width:19px}.summary-icon.expected{color:#3471c5;background:#eaf2ff}.summary-icon.present{color:#29805d;background:#e6f6ef}.summary-icon.absent{color:#ce3944;background:#ffebed}.summary-icon.pending{color:#b37317;background:#fff2dc}.attendance-list{overflow:hidden}.attendance-list-head{border-bottom:1px solid var(--line);background:#f8fafc;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;display:flex}.attendance-list-head>div{flex-direction:column;gap:3px;display:flex}.attendance-list-head span{color:var(--red);letter-spacing:.12em;font-size:8px;font-weight:850}.attendance-list-head strong{font-size:13px}.attendance-list-head small{color:var(--muted);font-size:10px}.attendance-list article{padding:16px 18px;transition:all .15s}.attendance-list article:hover{background:#fbfcfe}.attendance-list .avatar{width:42px;height:42px}.attendance-actions button{cursor:pointer;border-radius:10px;height:39px;transition:all .15s}.attendance-actions button:hover{transform:translateY(-1px)}.attendance-actions .selected{box-shadow:0 3px 10px #14284614}.attendance-empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;padding:52px 20px;display:flex}.attendance-empty>svg{color:#9eb0c8;width:38px;height:38px;margin-bottom:9px}.attendance-empty h3{color:var(--navy);margin:0 0 5px}.attendance-empty p{margin:0;font-size:11px}@media (max-width:760px){.attendance-focus{grid-template-columns:auto 1fr;padding:18px}.attendance-focus-status{display:none}.attendance-focus-icon{width:44px;height:44px}.attendance-focus h2{font-size:17px}.attendance-summary{grid-template-columns:1fr 1fr;margin-right:0}.attendance-summary article{padding:11px}.attendance-week{padding:14px}.attendance-session-strip>button{min-width:195px}.attendance-list-head{align-items:flex-start}.attendance-list-head>small{display:none}.attendance-actions button{font-size:10px!important}.attendance-actions svg{width:15px}}.line-hero>svg{opacity:.65;z-index:1;width:70px;height:70px}.backup-panel{margin-top:18px;padding:4px 18px}.backup-panel>div{align-items:center;gap:13px;padding:15px 0;display:flex}.backup-panel>div+div{border-top:1px solid var(--line)}.backup-panel>div>svg{color:var(--blue)}.backup-panel span{flex-direction:column;flex:1;gap:4px;display:flex}.backup-panel strong{font-size:11px}.backup-panel small{color:var(--muted);font-size:9px}.upload-button{cursor:pointer}.upload-button input{display:none}.danger-zone>svg{color:var(--red)!important}.danger-button{height:36px;color:var(--red);background:#fff2f3;border:1px solid #ffccd1;border-radius:8px;align-items:center;gap:6px;padding:0 11px;font-size:10px;font-weight:700;display:flex}.danger-button svg{width:15px}.form-grid.thirds{grid-template-columns:repeat(3,1fr)}.modal-actions.spread{grid-template-columns:auto 1fr auto auto;display:grid}.compact-empty{padding:25px}.config-editor{margin-bottom:16px;overflow:hidden}.config-row{border-top:1px solid var(--line);grid-template-columns:100px 1.5fr 140px 90px 32px;align-items:center;gap:9px;padding:10px 16px;display:grid}.config-row.simple{grid-template-columns:1fr 32px}.config-row.space{grid-template-columns:1fr 130px 140px 32px}.config-row input,.config-row select{border:1px solid var(--line);height:36px;color:var(--ink);background:#fff;border-radius:8px;min-width:0;padding:0 9px;font-size:11px}.config-row .icon-button{color:var(--red)}.config-row .icon-button svg{width:16px}.config-columns{grid-template-columns:1fr 1.2fr;gap:16px;display:grid}.save-config{margin-bottom:18px}.calendar{overflow:hidden}.calendar-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:17px 20px;display:flex}.calendar-head h2{text-transform:capitalize;margin:0;font-size:17px}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays span{text-align:center;color:var(--muted);background:#fafbfc;padding:9px;font-size:9px;font-weight:800}.calendar-grid>article{border-top:1px solid var(--line);border-right:1px solid var(--line);min-width:0;min-height:118px;padding:6px}.calendar-grid>article.outside{color:#a9aebb;background:#fafafa}.calendar-grid>article.today{box-shadow:inset 0 0 0 2px var(--red)}.calendar-day{width:100%;color:inherit;background:0 0;border:0;justify-content:space-between;align-items:center;padding:2px 3px;display:flex}.calendar-day strong{font-size:11px}.calendar-day svg{opacity:0;width:14px}.calendar-day:hover svg{opacity:1;color:var(--red)}.calendar-event{color:#18548d;background:#eaf2fd;border-radius:6px;margin-top:5px;padding:6px 22px 6px 7px;position:relative;overflow:hidden}.calendar-event.event-personal{color:#18548d;background:#eaf2fd;border-left:3px solid #2f6fca}.calendar-event.event-group{color:#176b47;background:#e8f6ef;border-left:3px solid #36a26f}.calendar-event.event-montage{color:#8a5a05;background:#fff4d9;border-left:3px solid #d5a22e}.calendar-event.event-presentation{color:#a52a31;background:#fdebec;border-left:3px solid #da333b}.calendar-event.event-cancelled{color:#667085;opacity:.86;background:#f1f2f4;border-left-color:#98a2b3}.calendar-event.event-cancelled b{text-decoration:line-through}.calendar-event.event-personal>button{color:#18548d}.calendar-event.event-group>button{color:#176b47}.calendar-event.event-montage>button{color:#8a5a05}.calendar-event.event-presentation>button{color:#a52a31}.calendar-event b,.calendar-event small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.calendar-event b{font-size:8px}.calendar-event small{margin-top:2px;font-size:7px}.calendar-event>button{color:#18548d;background:0 0;border:0;padding:0;position:absolute;top:5px;right:3px}.calendar-event>button svg{width:12px}@media (max-width:760px){.line-hero{padding:20px}.line-hero>svg{width:48px;height:48px}.backup-panel>div{flex-wrap:wrap;align-items:flex-start}.backup-panel span{min-width:200px}.module-actions{margin-right:-15px}.form-grid.thirds{grid-template-columns:repeat(3,1fr)}.modal-actions.spread{grid-template-columns:1fr 1fr}.modal-actions.spread span{display:none}.config-columns{grid-template-columns:1fr}.config-row{grid-template-columns:80px 1fr 32px}.config-row input:nth-of-type(3),.config-row input:nth-of-type(4){grid-column:span 1}.config-row.simple{grid-template-columns:1fr 32px}.config-row.space{grid-template-columns:1fr 100px 32px}.config-row.space select{grid-column:1/-1}.calendar-head{padding:12px}.calendar-head h2{font-size:14px}.calendar-head .secondary{padding:0 9px;font-size:9px}.calendar-grid{min-width:720px}.calendar{overflow:auto}.calendar-weekdays{min-width:720px}.calendar-grid>article{min-height:100px}}.weekday-picker{border:1px solid #dfe3ea;border-radius:14px;padding:12px 14px 14px}.weekday-picker legend{color:#667085;padding:0 6px;font-size:13px}.weekday-picker label{align-items:center;gap:6px;margin:5px 14px 0 0;font-size:13px;display:inline-flex}.weekday-picker input{width:auto}.class-status-mini{align-items:stretch;gap:8px;display:flex}.class-status-mini>span{background:#fff;border:1px solid #e2e6ec;border-radius:12px;grid-template-columns:18px 1fr auto;align-items:center;gap:6px;min-width:104px;padding:8px 10px;display:grid}.class-status-mini svg{color:#3c9a6c;width:16px;height:16px}.class-status-mini>span:last-child svg{color:#d9363e}.class-status-mini small{color:#667085;font-size:11px}.class-status-mini strong{color:#111827;font-size:17px}@media (max-width:620px){.class-status-mini{width:100%}.class-status-mini>span{flex:1;min-width:0}}.attendance-week{margin-bottom:18px}.attendance-session-strip{gap:10px;padding:12px 0 4px;display:flex;overflow-x:auto}.attendance-session-strip>button{text-align:left;background:#fff;border:1px solid #dfe3ea;border-radius:12px;min-width:190px;padding:11px 12px}.attendance-session-strip>button.active{background:#eef5ff;border-color:#2f6fca;box-shadow:0 0 0 2px #2f6fca1a}.attendance-session-strip span,.attendance-session-strip small{color:#667085;font-size:11px;display:block}.attendance-session-strip strong{margin:4px 0;font-size:13px;display:block}.replacement-badge{color:#8a5a05;background:#fff4d9;border-radius:6px;margin-left:8px;padding:3px 6px;font-size:9px;font-style:normal;font-weight:800;display:inline-block}.replacement-control{background:#fff8e8;border-radius:10px;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;margin-top:8px;padding:9px 12px;display:flex}.replacement-control select{background:#fff;border:1px solid #e5cf99;border-radius:8px;min-width:190px;padding:8px 10px}.replacement-control span{color:#25714c;font-size:12px;font-weight:700}.payment-method-card{grid-template-columns:minmax(190px,1.4fr) repeat(4,minmax(100px,1fr));align-items:center;gap:12px;margin-bottom:18px;display:grid}.payment-method-card>div{flex-direction:column;gap:3px;display:flex}.payment-method-card>div:not(:first-child){border-left:1px solid #e5e7eb;padding-left:14px}.payment-method-card span,.payment-method-card small{color:#667085;font-size:11px}.payment-method-card strong{font-size:18px}@media (max-width:760px){.payment-method-card{grid-template-columns:repeat(2,1fr)}.payment-method-card>div:first-child{grid-column:1/-1}}.cost-editor{gap:10px;display:grid}.cost-editor article{border:1px solid #e3e6eb;border-radius:12px;grid-template-columns:1.5fr 1fr 130px 1fr 100px 42px;align-items:center;gap:8px;padding:10px;display:grid}.cost-editor input,.cost-editor select{border:1px solid #dfe3e8;border-radius:8px;min-width:0;padding:9px}@media (max-width:850px){.cost-editor article{grid-template-columns:1fr 1fr}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
