:root,[data-theme=claro]{--bg-app: #F3EDE4;--bg-surface: #FFFDF9;--bg-surface-hover: #F8F3EA;--bg-input: #FFFDF9;--bg-glass: rgba(255, 253, 249, .7);--glass-blur: blur(20px) saturate(150%);--sidebar-border: 1px solid rgba(33, 28, 25, .08);--sidebar-bg: rgba(255, 253, 249, .7);--bg-card-gradient: linear-gradient(150deg, #FFFFFF 0%, #FAF5EE 100%);--bg-card-subtle-gradient: linear-gradient(150deg, #FFFCF7 0%, #F5ECE0 100%);--bg-card-hover-gradient: linear-gradient(150deg, #FFFFFF 0%, #F0E6D6 100%);--color-accent: #A84B36;--color-accent-hover: #8F3D2B;--color-accent-text: #FFFDF9;--color-accent-subtle: rgba(168, 75, 54, .1);--color-accent-border: rgba(168, 75, 54, .2);--color-text-main: #211C19;--color-text-muted: #8A7D70;--color-text-dim: #B3A99D;--border-subtle: transparent;--border-hover: rgba(33, 28, 25, .14);--border-medium: rgba(33, 28, 25, .14);--radius-sm: 0;--radius-md: 0;--radius-lg: 0;--shadow-card: 0 2px 10px rgba(33, 28, 25, .04);--shadow-sm: 0 2px 6px rgba(33, 28, 25, .04);--shadow-lg: 0 12px 36px rgba(33, 28, 25, .12);--badge-full-bg: rgba(196, 69, 61, .1);--badge-full-border: rgba(196, 69, 61, .25);--badge-full-text: #C4453D;--badge-full-dot: #C4453D;--badge-full-dot-border: none;--badge-libre-bg: rgba(46, 125, 50, .1);--badge-libre-border: rgba(46, 125, 50, .25);--badge-libre-text: #2E7D32;--badge-libre-dot: #2E7D32;--badge-libre-dot-border: none;--badge-sub-bg: rgba(67, 97, 238, .08);--badge-sub-border: rgba(67, 97, 238, .28);--badge-sub-accent: #4361EE;--badge-sub-text: #2B44B8;--chip-absent-bg: transparent;--chip-absent-border: transparent;--chip-absent-text: #B3A99D;--chip-absent-strike: line-through;--nav-active-bg: rgba(168, 75, 54, .08);--nav-active-border: 2px solid #A84B36;--nav-active-text: #211C19}[data-theme=oscuro]{--bg-app: #211812;--bg-surface: #2A2019;--bg-surface-hover: #352920;--bg-input: #FFFDF9;--bg-glass: #1A120D;--glass-blur: none;--sidebar-border: 1px solid rgba(255, 255, 255, .08);--sidebar-bg: #1A120D;--bg-card-gradient: linear-gradient(150deg, #30241C 0%, #251B14 100%);--bg-card-subtle-gradient: linear-gradient(150deg, #2B2018 0%, #1F1610 100%);--bg-card-hover-gradient: linear-gradient(150deg, #372A20 0%, #291D15 100%);--color-accent: #E08A3C;--color-accent-hover: #C8742A;--color-accent-text: #FFFFFF;--color-accent-subtle: rgba(224, 138, 60, .15);--color-accent-border: rgba(224, 138, 60, .3);--color-text-main: #F0E8DE;--color-text-muted: #B8A99A;--color-text-dim: #7A6E63;--border-subtle: transparent;--border-hover: rgba(255, 255, 255, .16);--border-medium: rgba(255, 255, 255, .16);--radius-sm: 0;--radius-md: 0;--radius-lg: 0;--shadow-card: 0 2px 8px rgba(0, 0, 0, .3);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .5);--badge-full-bg: #C4453D;--badge-full-border: transparent;--badge-full-text: #FFFFFF;--badge-full-dot: #FFFFFF;--badge-full-dot-border: none;--badge-libre-bg: #4C9F6E;--badge-libre-border: transparent;--badge-libre-text: #FFFFFF;--badge-libre-dot: #FFFFFF;--badge-libre-dot-border: none;--badge-sub-bg: rgba(76, 110, 245, .2);--badge-sub-border: rgba(116, 143, 252, .4);--badge-sub-accent: #748FFC;--badge-sub-text: #A5B4FC;--chip-absent-bg: #5C2A24;--chip-absent-border: rgba(196, 69, 61, .35);--chip-absent-text: #F0E8DE;--chip-absent-strike: line-through;--nav-active-bg: rgba(224, 138, 60, .15);--nav-active-border: 2px solid #E08A3C;--nav-active-text: #E08A3C}input,select,textarea,option{font-family:inherit}.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.form-group label{font-size:12px;font-weight:500;color:var(--color-text-muted)}.form-group input[type=text],.form-group input[type=tel],.form-group input[type=number],.form-group input[type=time],.form-group input[type=date],.form-group input[type=password],.form-group input[type=email],.form-group select,.form-group textarea,.add-alumno-box select,.modal-card input,.modal-card select,.modal-card textarea{width:100%;padding:.55rem .8rem;border-radius:var(--radius-md);border:1px solid var(--border-medium);background-color:#fffdf9!important;color:#211c19!important;font-size:13px;line-height:1.4;outline:none;box-shadow:0 1px 2px #0000000a}[data-theme=oscuro] input:not(.search-box input),[data-theme=oscuro] select,[data-theme=oscuro] textarea,[data-theme=oscuro] option{background-color:#fffdf9!important;color:#211c19!important}[data-theme=oscuro] input::placeholder,[data-theme=oscuro] textarea::placeholder{color:#5a5048!important;opacity:1!important}input::placeholder,textarea::placeholder{color:#6e655f!important;opacity:1!important}select option{background-color:#fffdf9!important;color:#211c19!important}:root{--font-main: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-heading: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--transition-fast: .15s ease;--transition-normal: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background-color:var(--bg-app);color:var(--color-text-main);font-family:var(--font-body);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal),color var(--transition-normal)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text-main);font-weight:600;letter-spacing:-.01em}button,input,select,textarea{font-family:inherit;color:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.btn-primary{background-color:var(--color-accent);color:var(--color-accent-text);border:none;padding:.45rem .9rem;border-radius:var(--radius-md);font-weight:500;font-size:13px;font-family:var(--font-body);cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.btn-primary:hover:not(:disabled){background-color:var(--color-accent-hover)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{background:transparent;border:1px solid transparent;color:var(--color-text-muted);padding:.45rem .85rem;border-radius:var(--radius-md);font-weight:400;font-size:13px;font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.btn-secondary:hover:not(:disabled){background:var(--bg-surface-hover);border-color:var(--border-hover);color:var(--color-text-main)}button.btn-primary,button.btn-week-today,button.btn-month-today,button.btn-secondary-sm,button.btn-reset-filters,button.btn-pago-evento,button.btn-toggle-pago.btn-mark-paid,button.month-pill.active,button.sup-active,button.btn-add-substitute,.btn-primary,.btn-week-today,.btn-month-today,.btn-secondary-sm,.btn-reset-filters,.btn-pago-evento,.btn-add-substitute{border:none!important}.modal-overlay{position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:2500;padding:1rem}.modal-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.5rem;width:100%;max-width:480px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:1.2rem;animation:modalSlideUp .22s ease-out}.modal-card.modal-large{max-width:620px}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-subtle);padding-bottom:.8rem}.modal-header h3{font-size:1.15rem;color:var(--color-text-main);margin:0}.btn-close{background:none;border:none;color:var(--color-text-muted);font-size:1.2rem;cursor:pointer;padding:.2rem;border-radius:6px;transition:color var(--transition-fast)}.btn-close:hover{color:var(--color-text-main)}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;border-top:1px solid var(--border-subtle);padding-top:1rem;margin-top:.5rem}.btn-danger-outline{margin-right:auto;color:var(--color-danger, #d32f2f);background:none;border:1px solid rgba(211,47,47,.3);border-radius:var(--radius-sm);padding:.4rem .75rem;font-size:13px;cursor:pointer}.btn-danger-outline:hover{background:#d32f2f14}
