:root{--font-display:"Bebas Neue", "Bahnschrift", "Aptos Display", sans-serif;--font-body:"Aptos", "Segoe UI", sans-serif;--color-bg:#f5f2e9;--color-bg-accent:#ebe2ce;--color-surface:#fffcf4e6;--color-surface-strong:#fffdf6;--color-surface-dark:#0f0d0a;--color-text:#1b1710;--color-text-soft:#6f6657;--color-text-muted:var(--color-text-soft);--color-border:#ded2ba;--color-border-strong:#b99a54;--color-accent:#c79a31;--color-accent-strong:#8a6116;--color-accent-soft:#fff0c9;--color-lime:#e8c65a;--color-lime-soft:#fff5d3;--color-ink:#11100d;--color-vital:#d85a36;--color-vital-soft:#ffe4d8;--color-info:#236b76;--color-info-soft:#dff3f4;--color-warning:#9b6708;--color-warning-soft:#fff0c5;--color-success-bg:#e3f4da;--color-success-text:#2f6730;--color-danger:#a83232;--color-danger-soft:#fae2df;--color-shadow:0 22px 60px #22190b26;--color-shadow-soft:0 12px 28px #22190b17;--gradient-gold:linear-gradient(135deg, #f3d77a 0%, #c79a31 48%, #7c5512 100%);--gradient-ink:linear-gradient(145deg, #0f0d0afa, #241d11f5);--gradient-panel:linear-gradient(180deg, #fffdf7f5, #f9f3e7e8);--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--color-text);background:linear-gradient(135deg,#11100d0a 25%,#0000 25%) 0 0/28px 28px,radial-gradient(circle at 11% 8%,#c79a313d,#0000 26%),radial-gradient(circle at 88% 6%,#d85a361f,#0000 22%),radial-gradient(circle at 82% 88%,#236b761f,#0000 24%),linear-gradient(#fffdf6 0%,#f5f2e9 48%,#ece1cb 100%);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}#root{min-height:100vh}.panel{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--color-shadow);-webkit-backdrop-filter:blur(16px)saturate(1.08);backdrop-filter:blur(16px)saturate(1.08);border:1px solid #b99a5442}.table-panel,.config-table-wrap,.student-table-wrap{overflow:auto hidden}.screen-centered{place-items:center;min-height:100vh;padding:24px;display:grid}.eyebrow,.stat-label{letter-spacing:0;text-transform:uppercase;color:var(--color-accent);margin:0 0 8px;font-size:.8rem;font-weight:700}h1,h2,h3{font-family:var(--font-display);letter-spacing:0;margin:0;font-weight:700;line-height:.95}p{margin:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #c79a3157}button:disabled{cursor:not-allowed;opacity:.58;transform:none}.ghost-button{border-radius:var(--radius-sm);color:var(--color-text-soft);cursor:pointer;background:0 0;border:1px solid #b99a5440;padding:10px 13px;font-weight:700}.danger-button{color:var(--color-danger);background:#fae2df8c;border-color:#a8323238}.table-actions{flex-wrap:wrap;gap:8px;display:flex}::selection{background:var(--color-lime);color:var(--color-ink)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.app-shell{grid-template-columns:292px minmax(0,1fr);gap:22px;min-height:100vh;padding:24px;display:grid}.content-shell,.sidebar,.sidebar-nav,.content-area,.dashboard-grid{flex-direction:column;display:flex}.content-shell,.content-area,.dashboard-grid{gap:24px}.sidebar,.loading-panel,.page-placeholder,.topbar,.stat-card{padding:26px}.sidebar-nav{flex:1;gap:12px;margin-top:28px}.sidebar-copy,.page-placeholder p,.stat-card p,.topbar p{color:var(--color-text-soft)}.sidebar{background:var(--gradient-ink), radial-gradient(circle at 20% 0%, #e8c65a2e, transparent 30%), var(--color-surface-dark);color:#f6f1e7;min-height:calc(100vh - 48px);position:sticky;top:24px;overflow:hidden}.sidebar:after{content:"";pointer-events:none;border:1px solid #e8c65a33;width:190px;height:240px;position:absolute;bottom:-100px;right:-70px;transform:rotate(-16deg)}.sidebar .eyebrow,.sidebar .sidebar-copy{color:#ffefbed6}.sidebar h1{font-size:2.35rem}.sidebar-brand{align-items:center;gap:14px;display:flex}.sidebar-logo,.login-mark{background:#090806;border:1px solid #e8c65a80;place-items:center;display:inline-grid;overflow:hidden;box-shadow:0 14px 30px #0308053d}.sidebar-logo{border-radius:16px;width:58px;height:58px}.sidebar-logo img,.login-mark img{object-fit:contain;width:88%;height:88%}.sidebar-logout{border-radius:var(--radius-sm);color:#f6f1e7e6;cursor:pointer;background:#ffffff0e;border:1px solid #ffffff1f;align-items:center;gap:10px;margin-top:auto;padding:13px 15px;display:inline-flex}.sidebar-logout:hover{background:linear-gradient(135deg,#c79a314d,#d85a3629);border-color:#e8c65a57}.nav-link{border-radius:var(--radius-sm);color:#f6f1e7db;background:#ffffff08;border:1px solid #ffffff0f;padding:13px 15px;transition:background .2s,border-color .2s,transform .2s;position:relative}.nav-link-active,.nav-link:hover{background:linear-gradient(135deg,#c79a3147,#d85a361f);border-color:#e8c65a57;transform:translate(2px)}.nav-link-active:before{content:"";background:var(--gradient-gold);border-radius:999px;width:3px;position:absolute;inset:10px auto 10px 8px}.nav-link-content{align-items:center;gap:10px;display:inline-flex}.topbar{box-shadow:var(--color-shadow-soft);background:linear-gradient(135deg,#fffdf6f5,#fff2cdc7);justify-content:flex-start;align-items:center;gap:18px;padding:0;display:none}.topbar .secondary-button{align-items:center;gap:8px;display:inline-flex}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.stat-card strong{font-size:2.2rem;font-family:var(--font-display);margin-bottom:10px;display:block}.stat-card,.page-placeholder,.loading-panel{background:var(--gradient-panel)}@media (width<=900px){.app-shell{grid-template-columns:1fr;padding:18px}.topbar{padding:16px;display:flex}.sidebar{min-height:auto;position:static}}.menu-toggle{border-radius:var(--radius-sm);width:48px;height:48px;color:var(--color-ink);box-shadow:var(--color-shadow-soft);background:#fffdf6f0;border:1px solid #b99a5459;justify-content:center;align-items:center;gap:5px;padding:0;display:none}.sidebar-backdrop{display:none}@media (width<=900px){.menu-toggle{flex-direction:column;display:inline-flex}.sidebar-backdrop{z-index:29;background:radial-gradient(circle at 20% 15%,#c79a312e,#0000 28%),#0f0d0a9e;border:0;display:block;position:fixed;inset:0}.sidebar{z-index:30;width:min(320px,100vw - 36px);min-height:auto;transition:transform .24s;position:fixed;top:18px;bottom:18px;left:18px;transform:translate(calc(-100% - 24px))}.sidebar-open{transform:translate(0)}}.form-panel{width:min(100%,420px);padding:28px;position:relative;overflow:hidden}.form-panel:before{content:"";background:linear-gradient(90deg, var(--color-ink), var(--color-accent), var(--color-vital));height:6px;position:absolute;inset:0 0 auto}.login-mark{border-radius:18px;width:68px;height:68px;margin-bottom:18px}.form-panel p{color:var(--color-text-soft)}.field{flex-direction:column;gap:8px;min-width:0;margin-top:16px;display:flex}.field span{color:var(--color-text-soft);font-size:.92rem;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--color-text);background:#fffffbeb;padding:12px 14px;transition:border-color .2s,box-shadow .2s,background .2s}.field input[type=checkbox],.field input[type=radio]{width:auto;min-width:auto;accent-color:var(--color-accent);flex:none}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--color-border-strong)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-accent);background:var(--color-surface-strong);box-shadow:0 0 0 4px #c79a312e}.primary-button,.secondary-button{border-radius:var(--radius-sm);cursor:pointer;border:0;padding:12px 16px;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s}.primary-button{background:var(--gradient-ink);color:#fff7df;margin-top:20px;position:relative;overflow:hidden;box-shadow:0 14px 28px #22190b3d}.primary-button:after{content:"";background:linear-gradient(90deg,#0000,#e8c65a2e,#0000);transition:transform .35s;position:absolute;inset:0;transform:translate(-100%)}.primary-button:hover:after{transform:translate(100%)}.secondary-button{color:var(--color-text);background:#fffffbeb;border:1px solid #b99a5457}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.form-error{color:var(--color-danger);margin-top:14px}.modal-overlay{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:radial-gradient(circle at 20% 12%,#c79a312e,#0000 30%),linear-gradient(#0f0d0a94,#0f0d0abd);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-shell{background:var(--gradient-panel);border-color:#c79a3157;width:min(1380px,100%);max-height:calc(100vh - 40px);padding:28px;overflow:auto}.modal-header{z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#fffdf7fa,#fffdf7e6);border-bottom:1px solid #b99a542e;justify-content:space-between;align-items:flex-start;gap:16px;margin:-28px -28px 24px;padding:24px 28px 18px;display:flex;position:sticky;top:-28px}@media (width<=900px){.modal-header{flex-direction:column;align-items:stretch}}@media (width<=640px){.modal-overlay{padding:10px}.modal-shell{max-height:calc(100vh - 20px);padding:18px}.modal-header{margin:-18px -18px 18px;padding:18px;top:-18px}}.config-page,.config-section{flex-direction:column;gap:20px;display:flex}.config-page-header,.config-tabs,.config-header,.config-empty,.config-table-wrap,.config-form{padding:24px}.config-page-header,.config-header,.config-form,.config-empty{background:var(--gradient-panel)}.config-page-header p,.config-header p,.config-empty{color:var(--color-text-soft)}.config-tabs,.config-actions{gap:12px;display:flex}.config-tab{border-radius:var(--radius-sm);cursor:pointer;background:#fffffbd1;border:1px solid #b99a5447;padding:12px 16px;font-weight:700}.config-tab-active{color:#fff3cf;background:linear-gradient(135deg,#11100df0,#3a2b10e6);border-color:#e8c65a66}.config-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.config-table{border-collapse:separate;border-spacing:0;width:100%}.config-table th,.config-table td{text-align:left;vertical-align:top;border-bottom:1px solid #b99a542e;padding:15px 12px}.config-table thead th{text-transform:uppercase;letter-spacing:.08em;color:#fff3cf;background:var(--gradient-ink);font-size:.78rem}.config-table tbody tr{transition:background .18s}.config-table tbody tr:hover td{background:#fff0c966}.config-form .inline-actions{margin-top:8px}.config-form-note{color:var(--color-text-soft);margin:4px 0 0;font-size:.92rem}.config-schedule-groups{gap:16px;display:grid}.schedule-day-group,.schedule-card{flex-direction:column;gap:16px;display:flex}.schedule-day-header,.schedule-card{justify-content:space-between}.schedule-day-header,.schedule-card,.day-selector{gap:12px;display:flex}.schedule-day-group{padding:0}.schedule-day-header{cursor:pointer;align-items:flex-start;padding:20px 24px;list-style:none}.schedule-day-header::-webkit-details-marker{display:none}.schedule-day-header h3,.schedule-card h4{margin:0}.schedule-day-header p,.schedule-card-capacity,.schedule-card-time{color:var(--color-text-soft);margin:4px 0 0}.schedule-day-meta{align-items:center;gap:10px;display:flex}.schedule-day-count{background:var(--color-accent-soft);white-space:nowrap;border:1px solid #c79a3147;border-radius:999px;padding:6px 12px}.schedule-day-chevron{color:var(--color-text-soft);flex-shrink:0;transition:transform .18s}.schedule-day-group[open] .schedule-day-chevron{transform:rotate(180deg)}.schedule-day-list{border-top:1px solid #b99a5433;gap:12px;padding:0 24px 24px;display:grid}.schedule-card{border-radius:var(--radius-sm);background:#fffffbb8;border:1px solid #b99a5433;padding:16px}.warning-action{color:var(--color-accent-strong);border-color:#c79a3152}.schedule-card-time{font-size:.92rem;font-weight:600}.day-selector{flex-wrap:wrap}.day-option{border-radius:var(--radius-sm);background:#fffdf6db;border:1px solid #b99a5447;align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.billing-settings-hero{background:linear-gradient(135deg,#fffdf6f5,#ffefc3c7)}.billing-settings-preview{border-radius:var(--radius-sm);background:var(--gradient-ink);color:#fff3cf;border:1px solid #c79a3152;min-width:190px;padding:16px;box-shadow:0 16px 30px #22190b2e}.billing-settings-preview span,.billing-settings-preview small{color:#fff3cfc2;display:block}.billing-settings-preview strong{margin:8px 0 2px;font-size:2.2rem;line-height:1;display:block}.billing-settings-grid{align-items:start}.billing-percent-input{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.billing-percent-input span{border-radius:var(--radius-sm);text-align:center;background:#fff0c9ad;border:1px solid #b99a543d;min-width:42px;padding:12px 14px;font-weight:800}.billing-settings-toggle{border-radius:var(--radius-sm);background:#fffdf6c7;border:1px solid #b99a543d;gap:12px;min-height:100%;padding:16px;display:flex}.billing-settings-toggle input{margin-top:3px}.billing-settings-toggle span{gap:4px;display:grid}.billing-settings-toggle small{color:var(--color-text-soft)}.feedback-success{color:var(--color-success-text);margin:0;font-weight:700}@media (width<=900px){.config-tabs,.config-actions,.config-header,.schedule-day-header,.schedule-card,.schedule-day-meta{flex-direction:column;align-items:stretch}}.dashboard-page,.dashboard-section,.dashboard-detail-grid,.dashboard-alerts,.latest-payments{flex-direction:column;gap:20px;display:flex}.dashboard-page .dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.dashboard-section-header,.dashboard-card,.dashboard-alerts,.dashboard-error{padding:24px}.dashboard-section-header{background:var(--gradient-ink);color:#f9fff1;box-shadow:var(--color-shadow-soft)}.dashboard-section-header .eyebrow{color:var(--color-lime)}.dashboard-section-header p,.dashboard-alerts p,.dashboard-card p,.dashboard-error p{color:var(--color-text-soft)}.dashboard-section-header p{color:#f9fff1b8}.dashboard-card-head,.latest-payment-row{justify-content:space-between;gap:12px;display:flex}.dashboard-card{box-shadow:var(--color-shadow-soft);gap:12px;position:relative;overflow:hidden}.dashboard-card:before{content:"";background:var(--gradient-gold);height:4px;position:absolute;inset:0 0 auto}.dashboard-card strong{font-size:2.4rem;font-family:var(--font-display);line-height:.95;display:block}.dashboard-card-icon{width:38px;height:38px;color:var(--color-ink);background:linear-gradient(135deg, var(--color-lime-soft), #fffdfa);border:1px solid #c79a3133;border-radius:999px;place-items:center;display:inline-grid}.dashboard-card-warning{border-color:#a1680647}.dashboard-card-danger{border-color:#a8323242}.dashboard-card-info{border-color:#1c6b8e42}.dashboard-card-success{border-color:#1d613c42}.dashboard-card-warning:before{background:var(--color-warning)}.dashboard-card-danger:before{background:var(--color-danger)}.dashboard-card-info:before{background:var(--color-info)}.dashboard-card-success:before{background:var(--color-lime)}.dashboard-detail-grid{grid-template-columns:1fr 1fr;display:grid}.dashboard-alerts ul{flex-direction:column;gap:10px;margin:0;padding-left:18px;display:flex}.latest-payment-row{border-bottom:1px solid #b59b7c2e;align-items:center;padding:12px 0}.dashboard-skeleton-card .skeleton-line{background:linear-gradient(90deg,#d2c4af66,#f5ecdfcc,#d2c4af66);border-radius:999px;height:12px}.dashboard-skeleton-card .skeleton-line-large{width:55%;height:34px}.dashboard-skeleton-card .skeleton-line-small{width:35%}@media (width<=900px){.dashboard-detail-grid{grid-template-columns:1fr}.latest-payment-row{flex-direction:column;align-items:flex-start}}.fees-page,.fees-section,.fee-detail,.payment-history,.student-fee-list{flex-direction:column;gap:20px;display:flex}.fee-summary-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;display:grid}.fee-surcharge-toggle{justify-content:flex-start}.fee-period-control,.fee-debtor-strip{justify-content:space-between;align-items:flex-start;gap:18px;padding:24px;display:flex}.fee-period-control .field{width:min(260px,100%)}.fee-debtor-list{flex:1;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;display:grid}.fee-debtor-card{border-radius:var(--radius-sm);background:#fffdf6d1;border:1px solid #b99a5438;justify-content:space-between;gap:12px;padding:12px;display:flex}.fee-debtor-card div:first-child{gap:3px;display:grid}.fee-debtor-card span{color:var(--color-text-soft);font-size:.92rem}.student-account-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:20px;display:grid}.account-search-panel,.account-detail-panel{padding:24px}.account-search-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fffffbeb;align-items:center;gap:8px;padding:0 12px;display:flex}.account-search-input input{box-shadow:none;background:0 0;border:0}.account-search-input input:focus{box-shadow:none}.account-student-list,.account-fee-list{gap:10px;display:grid}.account-student,.account-fee-row{border-radius:var(--radius-sm);width:100%;color:var(--color-text);text-align:left;background:#fffdf6d1;border:1px solid #b99a5438;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.account-student{cursor:pointer}.account-student.is-selected{color:#fff3cf;background:var(--gradient-ink);border-color:#e8c65a5c}.account-student span,.account-fee-row div:first-child{gap:3px;display:grid}.account-student small,.account-fee-row span{color:var(--color-text-soft)}.account-student.is-selected small{color:#fff3cfb8}.account-detail-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.account-detail-header .primary-button{margin-top:0}.account-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:18px;display:grid}.account-metrics article{border-radius:var(--radius-sm);background:#fff0c95c;border:1px solid #b99a5433;padding:14px}.account-metrics span{color:var(--color-text-soft);font-size:.88rem;display:block}.account-metrics strong{font-family:var(--font-display);margin-top:4px;font-size:1.6rem;display:block}.account-empty{align-content:center;gap:8px;min-height:260px;display:grid}@media (width<=980px){.student-account-layout{grid-template-columns:1fr}.account-detail-header,.account-fee-row{flex-direction:column;align-items:stretch}}@media (width<=640px){.account-search-panel,.account-detail-panel{padding:18px}.account-student{flex-direction:column;align-items:stretch}}.fee-filters,.fee-status,.student-fee-row{display:flex}.fee-status{text-transform:capitalize;border:1px solid #11100d14;border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:.82rem;font-weight:700}.fee-status-pendiente{background:var(--color-warning-soft);color:var(--color-warning)}.fee-status-parcial{background:var(--color-info-soft);color:var(--color-info)}.fee-status-pagada{background:var(--color-success-bg);color:var(--color-success-text)}.fee-status-vencida{background:var(--color-danger-soft);color:var(--color-danger)}.student-fee-row{border-bottom:1px solid #b99a542e;justify-content:space-between;align-items:center;gap:10px;padding:10px 0}.payment-history{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.attendance-filters,.attendance-summary-grid,.attendance-quick-filters{gap:1rem;display:grid}.attendance-filters,.attendance-summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.attendance-summary-card strong{font-size:1.8rem;font-family:var(--font-display);margin-top:.35rem;line-height:.95;display:block}.attendance-summary-card,.expense-breakdown{background:var(--gradient-panel);padding:22px;position:relative;overflow:hidden}.attendance-summary-card:before,.expense-breakdown:before{content:"";background:var(--gradient-gold);height:4px;position:absolute;inset:0 0 auto}.attendance-selector,.attendance-selector-copy{justify-content:space-between;align-items:center;gap:1rem;display:flex}.attendance-selector-copy{flex-direction:column;align-items:flex-end}.attendance-note{color:var(--color-text-muted);grid-column:1/-1}.attendance-chip-group{flex-wrap:wrap;gap:.75rem;display:flex}.attendance-chip{border-radius:var(--radius-md);min-width:170px;color:inherit;text-align:left;background:#fffdf6db;border:1px solid #b99a543d;gap:.2rem;padding:.9rem 1rem;display:grid}.attendance-chip span{font-weight:700}.attendance-chip small{color:var(--color-text-muted)}.attendance-chip.is-selected{color:#fff3cf;background:linear-gradient(135deg,#11100df0,#3a2b10e6);border-color:#c79a317a;box-shadow:0 10px 24px #22190b24}.attendance-chip.is-selected small{color:#fff3cfb8}.attendance-badge{text-transform:capitalize;border-radius:999px;align-items:center;padding:.3rem .7rem;font-size:.82rem;font-weight:800;display:inline-flex}.attendance-badge.is-present{background:var(--color-success-bg);color:var(--color-success-text)}.attendance-badge.is-absent{background:var(--color-warning-soft);color:var(--color-warning)}.attendance-page{gap:1.25rem;display:grid}.attendance-check-cell{text-align:center}.attendance-check-cell input{width:18px;height:18px;accent-color:var(--color-accent)}.table-panel{background:var(--gradient-panel);padding:24px}.data-table{border-collapse:separate;border-spacing:0;width:100%;margin-top:18px}.data-table th,.data-table td{text-align:left;vertical-align:top;border-bottom:1px solid #b99a542e;padding:15px 12px}.data-table thead th{background:var(--gradient-ink);color:#fff3cf;letter-spacing:0;text-transform:uppercase;font-size:.78rem}.data-table tbody tr:hover td{background:#fff0c966}@media (width<=720px){.attendance-selector,.attendance-selector-copy{flex-direction:column;align-items:flex-start}.attendance-chip-group{grid-template-columns:1fr;display:grid}.attendance-chip{width:100%}}.expense-filters,.expense-summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.expense-category-badge{background:var(--color-accent-soft);color:var(--color-accent-strong);border:1px solid #c79a3138;border-radius:999px;padding:.35rem .75rem;font-size:.82rem;font-weight:800;display:inline-flex}.expense-breakdown{flex-direction:column;gap:.75rem;display:flex}.students-page,.students-header,.student-detail,.student-form{flex-direction:column;gap:20px;display:flex}.students-header,.section-header,.inline-actions,.student-search,.student-actions{gap:12px;display:flex}.students-header,.section-header{justify-content:space-between;align-items:flex-start}.student-search,.student-empty,.student-table-wrap,.student-detail{padding:24px}.students-header{box-shadow:var(--color-shadow-soft);background:linear-gradient(135deg,#fffdf6f5,#fff0c9c7)}.student-form{gap:24px;padding:0}.student-form>.inline-actions{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#fffdf7c7,#fffdf7fa);border-top:1px solid #b99a542e;justify-content:flex-end;margin:0 -28px -28px;padding:18px 28px 24px;position:sticky;bottom:-28px}.student-form>.inline-actions .primary-button{margin-top:0}.student-form-modal-panel{width:100%;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;margin:0}.detail-grid,.form-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.detail-block,.form-section{border-radius:var(--radius-md);box-shadow:var(--color-shadow-soft);background:linear-gradient(#fffdf6eb,#fff7e2a8);border:1px solid #b99a5438;padding:20px}.detail-block{border-radius:var(--radius-md);background:linear-gradient(#fffdf6e6,#fff6e0b8);border:1px solid #b99a5438;padding:18px}.detail-block h3,.form-section h3{margin-bottom:14px}.compact-field{margin-top:0}.full-width{grid-column:1/-1}.field-help{color:var(--color-text-soft)}.assigned-class-builder{border-radius:var(--radius-md);background:#fffdf69e;border:1px solid #b99a5438;gap:18px;padding:18px;display:grid}.assigned-class-builder .secondary-button{justify-self:start;margin:0}.agenda-picker-block{gap:10px;display:grid}.agenda-picker-block>strong{color:var(--color-text);font-size:.92rem}.schedule-choice-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;max-height:300px;padding-right:4px;display:grid;overflow:auto}.schedule-choice{border-radius:var(--radius-sm);color:var(--color-text);background:#fffffbd6;border:1px solid #b99a5438;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.schedule-choice span{gap:3px;line-height:1.3;display:grid}.schedule-choice small{color:var(--color-text-soft)}.schedule-choice-low{background:#fff0c5b8;border-color:#9b670861}.schedule-choice-low small{color:var(--color-warning);font-weight:800}.schedule-choice-full{color:var(--color-text-soft);background:#ccbea23d}.schedule-choice-full small{color:var(--color-danger);font-weight:800}.assigned-class-list{gap:10px;margin-top:14px;display:grid}.assigned-class-row{border-radius:var(--radius-sm);background:#fffdf6c7;border:1px solid #b99a5438;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.assigned-class-row div{gap:2px;display:grid}.assigned-class-row span{color:var(--color-text-soft);font-size:.92rem}.student-empty,.student-search,.student-table-wrap,.student-detail{background:var(--gradient-panel)}.feedback-error{color:var(--color-danger);background:var(--color-danger-soft);border-color:#9e2f2f2e}.student-fab{z-index:20;color:#fff8f1;background:var(--gradient-ink);border:1px solid #e8c65a61;border-radius:999px;justify-content:center;align-items:center;width:58px;height:58px;display:inline-flex;position:fixed;bottom:34px;right:36px;box-shadow:0 18px 34px #22190b47}.student-fab:hover{transform:translateY(-1px);box-shadow:0 22px 38px #5c291252}@media (width<=900px){.student-form-modal-panel{width:100%;margin-left:0;margin-right:0}.form-section{padding:16px}.students-header,.section-header,.inline-actions,.student-actions,.assigned-class-row{flex-direction:column;align-items:stretch}.assigned-class-builder .secondary-button{justify-self:stretch}.student-fab{bottom:22px;right:22px}}@media (width<=640px){.form-grid{grid-template-columns:1fr}.assigned-class-builder{padding:14px}.schedule-choice-grid{grid-template-columns:1fr;max-height:260px}.student-form>.inline-actions{margin:0 -18px -18px;padding:14px 18px 18px;bottom:-18px}}.student-table{border-collapse:separate;border-spacing:0;width:100%;overflow:hidden}.student-table th,.student-table td{text-align:left;vertical-align:top;border-bottom:1px solid #b99a542e;padding:15px 12px}.student-table thead th{letter-spacing:.08em;text-transform:uppercase;color:#fff3cf;background:var(--gradient-ink);font-size:.78rem}.student-table tbody tr:hover>td{background:#fff0c96b}.student-table tbody tr.student-row-inactive>td{color:var(--color-text-soft);background:#ccbea224}.student-table tbody tr.student-row-inactive:hover>td{background:#ccbea238}.table-action,.student-status,.checkbox-pill{border-radius:999px}.table-action{cursor:pointer;color:var(--color-text);background:#fffffbf2;border:1px solid #b99a5452;align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.accordion-row td{background:linear-gradient(#fffaefe6,#fff1ccb8);padding:0}.danger-action,.field-error{color:var(--color-danger)}.reactivate-action{color:var(--color-success-text);background:var(--color-success-bg);border-color:#23543b3d}.student-status{text-transform:capitalize;background:var(--color-success-bg);color:var(--color-success-text);border:1px solid #23543b1f;padding:6px 10px;font-size:.85rem;font-weight:800;display:inline-flex}.student-status-inactivo{background:var(--color-danger-soft);color:var(--color-danger);border:1px solid #9e2f2f2e}.student-status-suspendido{background:var(--color-warning-soft);color:var(--color-warning);border:1px solid #9b67082e}.form-grid textarea,.form-grid select,.field input[type=file]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fffdf6f0;padding:12px 14px}.checkbox-grid{flex-wrap:wrap;gap:10px;display:flex}.checkbox-pill{background:#fffffbe6;border:1px solid #b99a5447;align-items:center;gap:8px;min-width:0;padding:10px 12px;display:inline-flex}.checkbox-pill span{overflow-wrap:anywhere}.student-actions{flex-wrap:wrap}
