@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";.erp-treasury{min-width:0;display:grid;gap:18px;margin-bottom:24px}.erp-treasury .panel{min-width:0;margin:0}.treasury-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.erp-treasury table{width:100%;border-collapse:collapse;table-layout:auto}.erp-treasury th,.erp-treasury td{position:static;padding:12px 10px;text-align:left;border-bottom:1px solid var(--border);white-space:normal;overflow-wrap:anywhere}.erp-treasury thead{background:var(--bg, #f4f8f5)}.erp-treasury tfoot{background:var(--soft)}.treasury-totals th:not(:first-child),.treasury-totals td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.treasury-flow-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.treasury-scroll{overflow-x:auto;max-width:100%;margin:16px 0;overscroll-behavior-x:contain}.treasury-movements{min-width:1300px}.treasury-movements td:nth-child(n+3):nth-child(-n+8){white-space:nowrap;font-variant-numeric:tabular-nums}.treasury-movement-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-top:18px}.treasury-movement-filters .field{flex:1 1 200px;min-width:0}.treasury-movement-filters select{width:100%}.treasury-pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}@media(max-width:850px){.treasury-summary-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.treasury-flow-stats{grid-template-columns:minmax(0,1fr)!important}.erp-treasury .panel{padding:16px 12px}.erp-treasury h2{font-size:18px;line-height:1.4}.erp-treasury th,.erp-treasury td{padding:10px 6px;font-size:12px}.erp-treasury .section-heading{align-items:start;flex-direction:column}.treasury-movement-filters{display:grid;grid-template-columns:minmax(0,1fr)}.treasury-pagination{font-size:12px}.treasury-pagination button{padding:10px}}.family-shell .topbar{position:relative;z-index:20}.credential-download{padding:0 20px 20px;text-align:center}.credential-download .btn{font-size:12px}.family-subject .subject-teacher{color:var(--muted);font-size:11px;line-height:1.4;margin:-4px 0 12px}.published-subject-page>.back-link{margin-bottom:12px;font-size:12px}.published-subject-page .page-head{margin-bottom:16px}.published-subject-page .stats{margin-bottom:18px}@media(max-width:767px){.published-subject-page .page-head{gap:10px}.published-subject-page .page-head h1{font-size:24px;margin-top:4px}.published-subject-page .page-head .eyebrow{font-size:10px;margin-bottom:5px}.published-subject-page .page-head p{font-size:12px;margin-top:5px}.published-subject-page .subject-period-picker .field{font-size:10px;gap:4px}.published-subject-page .subject-period-picker select{min-height:36px;padding:7px 10px;font-size:12px}.published-subject-page .stats{gap:10px}.published-subject-page .stat{padding:14px;min-height:0}.published-subject-page .stat-label{min-height:28px;font-size:11px}.published-subject-page .stat>strong{font-size:25px;line-height:1.2;margin:8px 0;white-space:nowrap}.published-subject-page .stat-detail:empty{display:none}}.push-preferences{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-bottom:14px}.push-preferences>summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:14px;cursor:pointer;list-style:none}.push-preferences>summary::-webkit-details-marker{display:none}.push-preferences-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;flex:1}.push-preferences-title svg{flex:none}.push-preferences-chevron{flex:none;transition:transform .2s}.push-preferences[open] .push-preferences-chevron{transform:rotate(180deg)}.push-preferences-body{padding:0 14px 14px;font-size:12px}.push-preferences-body .btn{font-size:12px;white-space:normal}.family-notification-filters{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:16px 0;font-size:12px}.family-notification-filters .check-row{margin:0}.family-records-heading .page-head{display:flex;flex-direction:row;align-items:center;gap:12px;margin:0 0 16px}.family-records-heading .page-head>div:first-child{flex:1;min-width:0}.family-records-heading .page-head>.actions{flex:none;width:auto}.family-records-heading .page-head h1{font-size:26px;line-height:1.25}.family-records-heading .page-head p{margin-top:5px;font-size:12px}.family-module-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.family-module-actions:empty{display:none}.family-module-actions .btn{padding:9px 12px;font-size:12px}.family-record-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:10px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);margin-bottom:16px}.family-record-filters .field{min-width:0;width:auto;margin:0;font-size:11px;gap:5px}.family-record-filters input,.family-record-filters select{width:100%;min-width:0;min-height:40px;padding:9px;font-size:12px;margin:0}.family-record-filters>.btn{font-size:11px;padding:7px 9px;min-height:36px;justify-self:end}.family-record-filters>.btn.ghost{background:transparent;color:var(--green)}.family-record-filters>.btn.ghost:hover{background:var(--soft)}.family-record-filters.compact-search{grid-template-columns:minmax(0,1fr) auto}.family-record-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.family-record-counts .stat,.family-record-counts .panel{padding:12px 14px;min-height:0;margin:0}.family-record-counts .stat>strong,.family-record-counts h2{font-size:24px;margin:4px 0 0;line-height:1.2}.family-record-counts .stat-label,.family-record-counts .panel>span{font-size:11px;line-height:1.35;min-height:0}.family-record-counts .stat-detail:empty{display:none}.family-record-policy{margin:0 0 14px;padding:11px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font-size:12px}.family-record-policy>summary{cursor:pointer;color:var(--green);font-weight:600}.family-policy-content{display:flex;gap:10px;padding-top:10px}.family-policy-content>svg{flex:none}.family-record-policy .family-record-filters{padding:12px 0 0;border:0;margin:0}.family-record-filters>.family-finance-more{grid-column:1/-1;margin:0;padding:0;border:0}.family-record{border:1px solid var(--border);border-left:4px solid var(--record-color);border-radius:14px;padding:16px;margin-bottom:12px;background:var(--surface)}.family-record-top{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px}.family-record-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:color-mix(in srgb,var(--record-color) 12%,var(--surface));color:var(--record-color)}.family-record-person{min-width:0}.family-record-person strong{font-size:14px;display:block;line-height:1.35}.family-record-person small,.family-record-detail{display:block;font-size:11px;color:var(--muted);margin-top:3px}.family-record-top time{font-size:11px;color:var(--muted);white-space:nowrap}.family-record-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;font-size:13px}.family-record p{font-size:12px;margin:7px 0 0;overflow-wrap:anywhere}.family-record-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:8px}.family-record-actions .btn{padding:6px 0;font-size:12px;min-height:36px}.family-record-empty{padding:22px 16px;text-align:center;font-size:13px;color:var(--muted);border:1px solid var(--border);border-radius:14px;background:var(--surface)}.family-data-list{display:grid;gap:12px}.family-data-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;padding:16px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--green);border-radius:14px}.family-data-title{grid-column:1/-1;padding-bottom:10px;border-bottom:1px solid var(--border);font-size:15px;font-weight:700}.family-data-field{min-width:0;font-size:13px;overflow-wrap:anywhere}.family-data-field .btn{font-size:12px;padding:7px 10px;white-space:normal}.family-data-label{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}.family-data-card small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:4px}.family-data-card .badge{white-space:normal}.family-credentials .page-head{justify-content:center;align-items:center;text-align:center;margin-bottom:18px}.family-credentials .page-head>.actions:empty{display:none}.family-credentials .credentials-grid{justify-content:center}.family-shell .family-subject .subject-scores strong{white-space:nowrap;flex-shrink:0}@media(max-width:767px){.family-records-heading .page-head h1{font-size:22px}.family-record-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.family-record-filters>.family-record-reset{grid-column:2}.family-records-heading .child-switcher-trigger:has(.avatar){width:48px;height:48px}.family-records-heading .child-switcher-trigger .avatar{width:46px;height:46px;font-size:16px}.family-record{padding:13px}.family-record-top{grid-template-columns:30px minmax(0,1fr) auto;gap:8px}.family-record-icon{width:30px;height:30px}.family-record-person strong{font-size:13px}.family-record-top time{font-size:10px}.family-data-card{padding:14px;gap:12px}.family-data-field{font-size:12px}.family-shell .family-subject .subject-scores>span{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px}.family-shell .family-subject .subject-scores strong{font-size:22px;line-height:1.2}.family-shell .family-subject .subject-scores>span:last-child strong{font-size:19px}.family-shell .settings-grid{gap:14px}.family-shell .settings-grid .panel{padding:18px}.family-shell .settings-grid .field{font-size:12px;margin-bottom:12px}.family-shell .settings-grid input{font-size:12px;min-height:40px}.family-shell .security-section .btn{max-width:100%;white-space:normal;font-size:12px}}.grade-controls{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:20px;margin:20px 0;align-items:start}.grade-controls .grade-toolbar{display:flex;justify-content:flex-start;align-items:end;gap:12px;padding:16px;margin:0;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.grade-controls .grade-toolbar .field{flex:1 1 180px;min-width:0;font-size:13px}.grade-controls .grade-toolbar>.badge{flex-basis:100%;width:fit-content}.class-calendar{min-width:0;width:100%;max-width:440px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.class-calendar .field{margin:0 0 12px;min-width:0}.class-calendar input{min-width:0;width:100%}.class-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.class-calendar-weekday{text-align:center;color:var(--muted);font-size:.72rem;padding:4px 0}.class-calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:40px;padding:4px 0;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);font:inherit;font-size:.85rem}.class-calendar-day.scheduled{border-color:var(--subject-color, var(--green));color:var(--text);background:var(--surface);cursor:pointer}.class-calendar-day i{height:4px;width:4px;border-radius:50%}.class-calendar-day.scheduled i{background:var(--subject-color, var(--green))}.class-calendar-day.blocked{opacity:1;background:var(--bg);border-color:var(--border);color:var(--muted);cursor:not-allowed}.class-calendar-day.blocked i{background:var(--muted)}.class-calendar-day.selected{background:var(--green);color:#fff;border-color:var(--green)}.class-calendar-day.selected i{background:#fff}.class-calendar-day:focus-visible{outline:2px solid var(--green);outline-offset:1px}.class-calendar-key{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;font-size:.72rem;color:var(--muted)}.class-calendar-key span{display:flex;gap:5px;align-items:center}.class-calendar-key i{width:9px;height:9px;border-radius:50%;background:var(--subject-color, var(--green))}.class-calendar-key i.blocked{background:var(--border)}.class-calendar-selection{display:flex;flex-direction:column;gap:3px;margin:10px 0 0;font-size:.8rem;line-height:1.5;overflow-wrap:anywhere}@media(max-width:720px){.grade-controls{grid-template-columns:minmax(0,1fr);gap:12px}.class-calendar{max-width:none}.grade-controls .grade-toolbar{padding:12px}.grade-controls .grade-toolbar .btn{flex:1 1 160px}}.erp-costs{min-width:0;margin:20px 0;display:grid;gap:16px}.erp-costs .panel,.erp-costs .stats-grid{margin:0;min-width:0}.erp-cost-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0;align-items:end}.erp-cost-toolbar .field{flex:1 1 240px;min-width:0}.erp-cost-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0}.erp-cost-facts dt{font-size:12px;color:var(--muted);margin-bottom:6px}.erp-cost-facts dd{margin:0;overflow-wrap:anywhere}.erp-costs small{display:block;white-space:normal;overflow-wrap:anywhere;margin-top:5px}@media(max-width:600px){.erp-cost-stats{grid-template-columns:minmax(0,1fr)!important}.erp-cost-facts{grid-template-columns:minmax(0,1fr)}.erp-cost-toolbar,.erp-cost-toolbar .field{width:100%}}.cost-totals>*{min-width:0}@media(max-width:600px){.cost-totals{grid-template-columns:minmax(0,1fr)!important}}.staff-access-fields{border:0;padding:0;margin:1rem 0;display:grid;gap:1rem;min-width:0}.staff-access-fields input{max-width:100%}.password-input{position:relative;display:block;min-width:0}.password-input input{width:100%;padding-right:3.25rem}.password-reveal{position:absolute;right:0;top:0;height:100%;width:3rem;min-height:44px;display:flex;align-items:center;justify-content:center;border:0;border-radius:.5rem;background:transparent;color:inherit;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.password-reveal:focus-visible{outline:2px solid currentColor;outline-offset:-4px}.staff-access-fields .check{display:flex;align-items:center;gap:.6rem}.staff-access-fields .check input{width:auto;flex:none}.staff-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-block:.6rem}.staff-issues{margin-block:1rem}.staff-issues summary{cursor:pointer;font-weight:600}.staff-issues .field{max-width:22rem;margin-top:1rem}.staff-issues p{white-space:normal;overflow-wrap:anywhere;margin-top:.5rem}.staff-person{display:grid;gap:.4rem;white-space:normal;max-width:24rem;overflow-wrap:anywhere}.staff-login-cell{display:grid;justify-items:start;gap:.6rem;min-width:13rem;max-width:20rem;white-space:normal;overflow-wrap:anywhere}@media(max-width:600px){.staff-login-cell{min-width:0;max-width:100%}.staff-person{max-width:100%}.staff-badges{align-items:flex-start}}.personnel-contact{margin-bottom:1.25rem}.personnel-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 1.5rem}.personnel-contact-grid>div{min-width:0}.personnel-contact-grid dt{font-size:.8rem;color:var(--muted)}.personnel-contact-grid dd{margin:.25rem 0 0;overflow-wrap:anywhere}.personnel-group-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.personnel-group-list>div{display:flex;flex-direction:column;gap:.3rem;padding:.8rem;border:1px solid var(--line);border-radius:12px}@media(max-width:600px){.personnel-contact-grid,.personnel-group-list{grid-template-columns:minmax(0,1fr)}}.uniform-cart-items{display:grid;gap:12px}.uniform-cart-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);align-items:center}.uniform-cart-item small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.uniform-cart-item>strong{text-align:right}.uniform-quantity{display:flex;gap:12px;align-items:center}.uniform-quantity .btn{padding:8px;min-height:36px}.uniform-cart-total{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:18px;margin-top:16px;border-top:1px solid var(--border)}.uniform-quote-note{font-size:12px;color:var(--muted)}.uniform-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.uniform-card .padded>.badge{margin-right:6px}@media(max-width:767px){.uniform-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.uniform-filters>.field:first-child{grid-column:1/-1}.uniform-cart-item{font-size:13px}}.cycle-preparation{display:grid;gap:18px;min-width:0}.cycle-preparation .panel{margin:0;min-width:0}.cycle-heading,.cycle-rollover,.cycle-source,.cycle-review-head{display:flex;gap:20px;flex-wrap:wrap;align-items:center;justify-content:space-between}.cycle-rollover{margin-bottom:20px}.cycle-rollover>div:first-child{flex:1 1 280px}.cycle-counts{display:flex;flex-wrap:wrap;gap:20px;margin:0}.cycle-counts dt{font-size:.85rem;color:var(--muted)}.cycle-counts dd{font-size:1.6rem;font-weight:700;margin:2px 0 0}.cycle-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cycle-options .panel{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.cycle-options h3,.cycle-options p{margin:0}.cycle-options p{flex:1}.cycle-options .btn{width:100%;white-space:normal}.cycle-promotions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.cycle-promotions p{grid-column:1/-1}.cycle-preview-counts{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.cycle-review-list{display:grid;gap:0;margin:16px 0}.cycle-preview{scroll-margin-top:90px}.cycle-preview:focus{outline:none}.cycle-review-item .cycle-subject-color{display:flex;gap:8px;align-items:center}.cycle-subject-color span{width:16px;height:16px;border-radius:50%;flex:0 0 16px;border:1px solid #0002}.cycle-review-item{padding:16px 0;border-bottom:1px solid var(--border, #dce5e0);display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.cycle-review-item strong{overflow-wrap:anywhere}.cycle-review-item small{display:block;margin-top:6px;color:var(--muted)}.cycle-review-item.blocked{border-left:3px solid #b45309;padding-left:12px}.cycle-review-status{display:inline-block;margin-left:12px;font-size:.8rem}.cycle-event-edit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.cycle-event-edit>small,.cycle-event-edit>.check-row{grid-column:1/-1}.cycle-event-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cycle-preparation input,.cycle-preparation select{min-width:0;max-width:100%}.cycle-confirm{display:grid;gap:14px;padding-top:16px}.cycle-confirm .btn{justify-self:start}@media(max-width:900px){.cycle-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.cycle-options,.cycle-promotions,.cycle-event-edit{grid-template-columns:minmax(0,1fr)}.cycle-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:14px}.cycle-heading,.cycle-rollover,.cycle-source,.cycle-review-head{align-items:stretch;gap:12px}.cycle-rollover>.btn,.cycle-source>*{width:100%}.cycle-rollover>div:first-child{flex-basis:100%}.cycle-confirm .btn{width:100%}.cycle-review-status{display:block;margin:5px 0}.cycle-preparation .panel{padding:16px}.cycle-preparation .check-row{align-items:flex-start}}.parent-directory{display:grid;gap:18px;min-width:0}.parent-directory .panel{margin:0}.parent-directory small{display:block;margin-top:6px}.parent-email{overflow-wrap:anywhere}.parent-directory .family-composition{display:flex;flex-wrap:wrap;gap:6px}.family-title{display:block;white-space:pre-line;overflow-wrap:anywhere}.parent-directory .page-head h1{white-space:pre-line;overflow-wrap:anywhere}.parent-directory td[data-label=Familia]>.cell-content{width:260px;max-width:100%;white-space:normal}.family-attention{display:grid;gap:6px;margin-top:10px;padding:10px 12px;border:1px solid #d8a646;border-radius:8px;background:#fff5df;color:#684408;white-space:normal;overflow-wrap:anywhere;font-size:.8rem;line-height:1.4}.family-attention strong{display:flex;align-items:flex-start;gap:6px}.family-attention svg{flex-shrink:0;margin-top:1px}.parent-children{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}.parent-child{border:0;padding:0;color:inherit;background:transparent;display:flex;flex-direction:column;align-items:center;gap:6px;width:86px;flex:0 0 86px;min-width:0;max-width:100%;white-space:normal;cursor:pointer}.parent-child span:not(.avatar){display:block;width:100%;min-width:0;white-space:normal;font-size:.75rem;line-height:1.35;text-align:center;overflow-wrap:anywhere}.parent-child .avatar{width:44px;height:44px;border-radius:50%;flex-shrink:0;object-fit:cover}.parent-more{width:44px;height:44px;border-radius:50%;background:#e8f0ea;color:#285937;font-weight:700;border:1px solid #bdd0c2;cursor:pointer}.parent-profile dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 20px}.parent-profile dt{font-size:.85rem;color:var(--muted)}.parent-profile dd{margin:5px 0 0;overflow-wrap:anywhere}.parent-children-full{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px;margin-top:16px}.parent-children-full .parent-child{flex-direction:row;width:auto;flex:initial;align-items:center}.parent-children-full .parent-child span:not(.avatar){text-align:left;font-size:.95rem}.parent-match{padding:16px 0;border-bottom:1px solid var(--border, #dce5e0);overflow-wrap:anywhere}.parent-picker{margin-bottom:18px}.parent-picker .family-data-card>*{min-width:0;white-space:normal;overflow-wrap:anywhere}.parent-picker-children{display:flex;flex-wrap:wrap;gap:6px}.parent-picker-children>span{max-width:100%;padding:4px 7px;border-radius:6px;background:var(--soft);white-space:normal;overflow-wrap:anywhere}.parent-row-actions{display:flex;flex-wrap:wrap;gap:4px}.family-members,.family-member{display:grid;gap:8px;min-width:0;white-space:normal;overflow-wrap:anywhere}.family-members{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;align-items:start}.family-members>.family-member{grid-row:span 4;grid-template-rows:subgrid;align-content:start}.family-members>.family-member:nth-child(2n){padding-left:12px;border-left:1px solid var(--border, #dce5e0)}.family-member small{margin:0}.family-member-status{display:flex;flex-wrap:wrap;gap:6px;align-content:start;align-items:flex-start}.family-member-status .badge{max-width:100%;white-space:normal;overflow-wrap:anywhere}.family-members-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:16px}.family-members-grid .family-member{grid-row:span 7;grid-template-rows:subgrid;align-content:start;padding:16px;border:1px solid var(--border, #dce5e0);border-radius:12px}.family-filter-context{flex-basis:100%;display:flex;align-items:center;flex-wrap:wrap;gap:8px;white-space:normal;overflow-wrap:anywhere}.student-family-filters{padding-top:0}@media(max-width:600px){.parent-directory td[data-label=Familia]>.cell-content{width:auto}.family-members,.family-members-grid{column-gap:12px}.family-members-grid .family-member{padding:10px}.parent-picker .family-data-card{grid-template-columns:minmax(0,1fr)}.student-family-filters>*{width:100%;min-width:0}}@media(max-width:600px){.parent-profile dl{grid-template-columns:minmax(0,1fr)}.parent-directory .panel{padding:16px}.parent-directory .parent-children{justify-content:flex-start}.parent-directory .responsive-table tbody td[data-label=Hijos],.parent-directory .responsive-table tbody td[data-label="Padres, madres y tutores"]{display:block}.parent-directory .responsive-table tbody td[data-label="Padres, madres y tutores"]:before{display:block;margin-bottom:12px}.parent-directory .responsive-table tbody td[data-label=Hijos]:before{display:block;margin-bottom:10px}.parent-directory .filter-bar{gap:12px;padding:0}.parent-directory .filter-bar>*{width:100%;min-width:0}.parent-directory .page-head .btn{white-space:normal}}.filter-bar.schedule-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:16px}.filter-bar.schedule-filters>*,.filter-bar.schedule-filters input,.filter-bar.schedule-filters select{min-width:0;width:100%}.filter-bar.schedule-filters .btn{width:auto;justify-self:start}.schedule-boards{display:grid;gap:24px;min-width:0}.panel.schedule-board{min-width:0;margin:0;padding:20px}.schedule-board .section-heading{align-items:center;flex-wrap:wrap;gap:8px 16px;margin-bottom:18px}.schedule-board .section-heading h2{font-size:1.15rem}.schedule-board .section-heading>span{font-size:.82rem;color:var(--muted)}.timetable{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:12px}.timetable th,.timetable td{padding:7px;vertical-align:top;border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left}.timetable th:last-child,.timetable td:last-child{border-right:0}.timetable tbody tr:last-child>*{border-bottom:0}.timetable thead th{position:sticky;top:0;z-index:2;background:var(--bg);font-size:.83rem;padding:12px 8px}.timetable thead th:first-child{width:70px}.timetable thead small{display:block;color:var(--muted);font-weight:400;font-size:.72rem;margin-top:4px}.timetable tbody th{font-size:.75rem;color:var(--muted);font-weight:500;padding-top:14px}.timetable tbody th span{display:block}.timetable-entry{display:flex;flex-direction:column;gap:4px;width:100%;border:1px solid var(--border);border-left:4px solid var(--subject-color, var(--green));border-radius:7px;background:var(--surface);padding:8px;color:var(--text);text-align:left;overflow-wrap:anywhere;cursor:pointer;line-height:1.35}.timetable-entry+.timetable-entry{margin-top:6px}.timetable-entry strong{font-size:.8rem}.timetable-entry span{font-size:.74rem}.timetable-entry small{font-size:.68rem;color:var(--muted)}.timetable-entry:hover{background:var(--bg)}.timetable-entry:focus-visible{outline:2px solid var(--green);outline-offset:2px}.timetable-free{display:block;padding:8px;color:var(--muted);text-align:center}.timetable-empty{margin:8px 0 0;color:var(--muted);font-size:.88rem}.timetable-mobile{display:none}@media(max-width:1050px){.filter-bar.schedule-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.filter-bar.schedule-filters{grid-template-columns:minmax(0,1fr);gap:12px;padding:0}.filter-bar.schedule-filters .btn{justify-self:end}.panel.schedule-board{padding:16px}.schedule-boards{gap:16px}.timetable-desktop{display:none}.timetable-mobile{display:grid;gap:20px}.timetable-mobile-day{min-width:0}.timetable-mobile-day h3{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin:0 0 10px;font-size:.95rem}.timetable-mobile-day h3 small{color:var(--muted);font-size:.75rem;font-weight:400}.timetable-mobile .timetable-entry{padding:12px;gap:5px}.timetable-mobile .timetable-entry strong{font-size:.94rem}.timetable-mobile .timetable-entry span{font-size:.84rem}.timetable-mobile .timetable-entry small{font-size:.78rem}.timetable-mobile .timetable-time{color:var(--green);font-weight:700}}.timetable-entry.is-blocked,.timetable-entry.is-blocked:hover{background:var(--bg);border-color:var(--border);color:var(--muted);cursor:not-allowed;opacity:1}.timetable-entry.is-blocked strong{text-decoration:line-through;text-decoration-thickness:1px}.timetable-entry .timetable-blocked-reason{font-size:.7rem;color:var(--muted)}.timetable-entry.is-current{outline:2px solid var(--green);outline-offset:1px;background:color-mix(in srgb,var(--green) 12%,var(--surface));border-color:var(--green)}.timetable-entry .timetable-now{font-weight:800;font-size:.72rem;color:var(--green)}.family-schedule-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.family-schedule-heading>div{flex:1;min-width:180px}.family-schedule-heading p{font-size:.86rem;color:var(--muted);margin:4px 0 0}.family-schedule .schedule-board .section-heading{margin-bottom:12px}.family-schedule .current-class-summary{padding:12px 16px;margin-bottom:16px;border-radius:10px;background:var(--bg);font-size:.9rem}@media(min-width:1100px){.filter-bar.schedule-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;padding:12px 0;margin:16px 0}}.family-context-row{display:flex;justify-content:flex-end;margin:0 0 12px}.family-cafeteria-heading .page-head{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.family-cafeteria-heading .page-head>div:first-child{min-width:0;flex:1}.family-cafeteria-heading .page-head>.actions{flex:none;width:auto;margin:0}.family-cafeteria-heading .page-head h1{font-size:26px}.family-cafeteria-heading .page-head p{font-size:12px;margin:6px 0 0}.family-cafeteria-week{display:flex;align-items:end;gap:12px;padding:14px;margin-bottom:16px;flex-wrap:wrap}.family-cafeteria-week .field{min-width:0;flex:1;margin:0}.family-cafeteria-week .pagination{flex-basis:100%}.family-cafeteria-week select{min-height:42px}@media(max-width:767px){.family-cafeteria-heading .page-head h1{font-size:20px}.family-cafeteria-heading .page-head p{font-size:11px}.family-cafeteria-week select{font-size:12px;padding:10px}.family-cafeteria-week .btn{font-size:11px;padding:8px 6px}}.child-switcher{position:relative;flex:none;z-index:12}.child-switcher-trigger{display:flex;align-items:center;justify-content:center;gap:1px;width:46px;height:46px;border-radius:50%;border:1px solid var(--border);color:var(--green);background:var(--soft);cursor:pointer}.child-switcher-trigger:has(.avatar){background:transparent;border:0;width:58px;height:58px;position:relative}.child-switcher-trigger .avatar{width:56px;height:56px;font-size:19px}.child-switcher-trigger:has(.avatar)>svg{position:absolute;right:-2px;bottom:1px;background:var(--surface);border:1px solid var(--border);border-radius:50%;width:19px;height:19px;padding:3px}.family-identity{padding:20px;margin-bottom:14px}.family-identity.card{overflow:visible}.family-identity-main{display:flex;align-items:center;justify-content:space-between;gap:14px}.family-identity-main>div:first-child{min-width:0}.family-identity h1{font-size:26px;margin:5px 0 0;line-height:1.25;letter-spacing:-.6px}.family-identity .eyebrow{font-size:10px}.family-identity-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.family-identity-meta>span{background:var(--soft);color:var(--green);border-radius:7px;padding:5px 8px;font-size:11px}.family-compact-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;margin-bottom:14px}.family-compact-filters .field,.family-account-cycle .field{margin:0;min-width:0}.family-period-line{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px}.family-period-line .btn{font-size:11px;padding:7px 0;min-height:32px}.family-record-list{display:flex;flex-direction:column}.family-record-row{display:flex;align-items:center;width:100%;gap:14px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);padding:19px 0;font:inherit;text-align:left;cursor:pointer}.family-record-row:last-of-type{border-bottom:0}.family-record-row:hover{background:var(--soft)}.record-icon{display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;border-radius:11px;color:var(--record-color, var(--green));background:color-mix(in srgb,var(--record-color, var(--green)) 12%,var(--surface))}.record-body{flex:1;min-width:0}.record-body strong,.record-body small,.record-amounts strong,.record-amounts small{display:block}.record-body strong{font-size:14px}.record-body small,.record-amounts small{font-size:11px;color:var(--muted);margin-top:4px}.record-value{font-size:20px;font-weight:700;color:color-mix(in srgb,var(--record-color, var(--green)) 35%,var(--text));white-space:nowrap}.record-amounts{text-align:right;flex:none}.record-amounts strong{font-size:17px}.record-state{display:inline-block;font-size:10px;padding:3px 7px;border-radius:5px;margin-top:7px;font-weight:600}.green{--record-color: #2c613c;--status-bg: #eaf2ec}.yellow{--record-color: #885400;--status-bg: #fff4da}.red{--record-color: #b42318;--status-bg: #fff0ef}.record-state,.family-debt-summary{color:var(--record-color);background:var(--status-bg)}.report-score-banner{display:flex;align-items:center;gap:15px;background:#173f29;color:#fff;border-radius:12px;padding:20px;margin-bottom:10px}.report-score-banner>div{flex:1}.report-score-banner span{font-size:12px}.report-score-banner strong{display:block;font-size:30px;margin-top:4px;white-space:nowrap}@media(max-width:360px){.report-score-banner{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;padding:16px}.report-score-banner>svg{width:24px;grid-row:1 / 3}.report-score-banner strong{font-size:26px}.report-score-banner .badge{grid-column:2;justify-self:start}}.report-score-banner .badge{align-self:flex-start;background:#ffffff20;color:#fff}.report-download-menu{position:relative;width:fit-content;margin:0 0 14px auto;z-index:11}.report-download-menu summary{list-style:none;cursor:pointer}.report-download-menu summary::-webkit-details-marker{display:none}.report-download-options{position:absolute;top:calc(100% + 6px);right:0;width:250px;max-width:calc(100vw - 45px);padding:7px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 8px 24px #12352024}.report-download-options a{display:block;color:var(--text);padding:13px;border-radius:7px;font-size:13px;text-decoration:none}.report-download-options a:hover{background:var(--soft)}.receipt-row{display:flex;align-items:center;gap:10px;color:var(--green);padding:12px 0}.receipt-row small{display:block;color:var(--muted);margin-top:4px}.family-account-cycle{padding:14px 18px;margin-bottom:12px}.family-account-cycle .field{max-width:260px}.family-finance-stats .stat:last-child{border-color:#b4231860}.family-finance-stats .stat:last-child>strong{color:#b42318}[data-theme=dark] .family-finance-stats .stat:last-child>strong{color:#ffaaa0}.family-movement-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px;margin:12px 0}.family-movement-filters .field{min-width:0;margin:0}.family-movement-filters>.btn{justify-self:start;font-size:11px;padding:3px 0;min-height:30px}.family-debt-summary{border-radius:12px;padding:14px;border:1px solid color-mix(in srgb,var(--record-color) 25%,transparent)}.family-debt-summary strong,.family-debt-summary span,.family-debt-summary small{display:block}.family-debt-summary small{margin-top:4px;font-size:12px}.family-debt-summary span{margin:7px 0}.family-debt-summary .btn{margin-top:12px}.family-debt-list{display:grid;gap:12px}.account-semaphore{display:flex;align-items:center;gap:12px;margin-bottom:14px}.debt-topbar-warning{position:relative;width:34px;height:34px;background:var(--status-bg);color:var(--record-color);flex:none;border-radius:10px}.debt-indicator-dot{position:absolute;right:0;top:0;width:8px;height:8px;border-radius:50%;background:var(--record-color);border:1px solid var(--surface)}.debt-key{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 10px;font-size:12px}.debt-key span{display:flex;align-items:center;gap:6px}.debt-key i{width:12px;height:12px;border-radius:4px;background:var(--record-color)}[data-theme=dark] .green{--record-color: #8fc79b;--status-bg: #1f3628}[data-theme=dark] .yellow{--record-color: #f2c870;--status-bg: #3b311e}[data-theme=dark] .red{--record-color: #ffaaa0;--status-bg: #422620}@media(max-width:767px){.family-identity{padding:16px}.family-identity h1{font-size:20px}.family-compact-filters{gap:10px;padding:14px}.family-compact-filters select,.family-account-cycle select,.family-movement-filters select,.family-movement-filters input{min-width:0;padding:10px;font-size:12px;min-height:42px}.family-compact-filters label,.family-compact-filters .field>span,.family-account-cycle label,.family-movement-filters .field>span{font-size:11px}.family-record-row{gap:9px;padding:16px 0}.record-icon{width:32px;height:36px;border-radius:9px}.record-body strong{font-size:13px}.record-value{font-size:18px}.record-amounts strong{font-size:14px}.record-amounts small{font-size:10px}.family-record-row>svg:last-child{display:none}.family-movement-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px}.family-movement-filters>.field:first-child{grid-column:1/-1}.family-finance-stats{gap:10px}.family-finance-stats .stat{padding:17px}.family-finance-stats .stat>strong{font-size:23px;margin:8px 0 0}.family-finance-stats .stat .stat-detail{display:none}.family-finance-stats .stat:last-child{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px}.family-finance-stats .stat:last-child>strong{margin:0}.family-shell .topbar-left{gap:6px}.family-shell .topbar:has(.school-quick-actions.is-open) .debt-topbar-warning{visibility:hidden}}.child-switcher-popover{position:absolute;right:0;top:calc(100% + 8px);width:min(310px,calc(100vw - 80px));background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 32px #12352024;padding:14px}.child-switcher-popover>strong{display:block;font-size:12px;color:var(--muted);margin:0 8px 8px}.child-switcher-popover button:not(.btn){display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:transparent;border:0;padding:12px 8px;border-radius:8px;color:var(--text);font:inherit;cursor:pointer}.child-switcher-popover button.selected,.child-switcher-popover button:hover{background:var(--soft)}.child-switcher-popover button>svg{flex:none}.child-switcher-popover strong,.child-switcher-popover small{display:block}.child-switcher-popover small{color:var(--muted);font-size:11px;margin-top:5px}.family-calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px}.family-calendar-heading>div:first-child{min-width:0}.family-calendar-heading h1{font-size:26px;letter-spacing:-.6px;margin:0}.family-calendar-heading p{color:var(--muted);font-size:12px;margin:6px 0 0}.family-calendar-actions{display:flex;align-items:center;gap:8px;flex:none}.calendar-download{width:40px;height:40px;border:1px solid var(--border);background:var(--surface);border-radius:50%}.calendar-credential{padding:0;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;overflow:hidden;transition:box-shadow .2s,transform .2s}.calendar-credential:hover{box-shadow:0 6px 24px #12352018;transform:translateY(-2px)}.calendar-credential .school-id{width:100%;border:0;box-shadow:none;border-radius:0}.calendar-credential .id-body{padding:20px}.calendar-credential .id-body h2{font-size:19px}.calendar-credential-link{display:flex;align-items:center;justify-content:center;gap:12px;padding:15px;border-top:1px solid var(--border);color:var(--green);font-size:13px;font-weight:600}.calendar-view-controls{gap:4px;margin:8px 0 12px}.calendar-view-controls>.btn:first-child,.calendar-view-controls>.btn:nth-child(2){padding:7px 18px;min-height:36px;font-size:12px}.calendar-view-controls>.btn:not(:first-child):not(:nth-child(2)){margin-left:auto;font-size:12px}.calendar-event-list{padding:0 22px}.calendar-event-row{padding:16px 0;align-items:flex-start}.calendar-event-row>div{min-width:0;overflow-wrap:anywhere}.calendar-event-icon{position:relative;flex:none}.calendar-event-icon>i{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:3px;border:1px solid var(--surface)}.calendar-event-row .calendar-event-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:4px}.calendar-event-actions .btn{padding:5px 8px;font-size:12px}.calendar-event-filters{margin-top:18px}.family-shell .calendar-event-filters{gap:10px}.family-shell .calendar-event-filters .field{flex:1;min-width:0}.family-shell .calendar-event-filters .btn{min-height:38px;font-size:12px}.family-shell .cycle-overview-hint{margin-top:0;font-size:11px}.family-shell .cycle-calendar-grid{margin-top:8px}.mfa-topbar-warning{color:var(--amber, #b7791f);width:36px;height:36px;flex:none}.security-section{scroll-margin-top:100px}.subject-period-picker{width:250px;max-width:100%}.subject-period-picker .field{margin-bottom:0}.published-subject-page .activity-filters{display:flex;gap:16px;align-items:end;margin:20px 0 8px}.activity-filters .field{flex:1;max-width:290px;min-width:0}.activity-filters .btn{margin-bottom:14px}.published-activities .family-activity>div{min-width:0;overflow-wrap:anywhere}.empty-activities{padding:24px 0;color:var(--muted)}.spin{animation:contact-spin 1s linear infinite}@keyframes contact-spin{to{transform:rotate(360deg)}}@media(max-width:767px){.family-calendar-heading{gap:8px;margin-bottom:12px}.family-calendar-heading h1{font-size:19px;letter-spacing:-.5px}.family-calendar-heading p{font-size:11px;line-height:1.5}.family-calendar-actions{gap:5px}.child-switcher-trigger{width:40px;height:40px}.calendar-download{width:36px;height:36px}.family-shell .calendar-month-panel .panel-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.family-shell .calendar-month-panel .panel-heading>.actions{display:flex;justify-content:space-between;width:100%;margin:0;gap:4px}.family-shell .calendar-month-panel .field{margin:0;min-width:0;flex:1;max-width:190px}.family-shell .calendar-month-panel .field>span{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.family-shell .calendar-month-panel .field input{min-height:36px;padding:6px 10px;font-size:12px}.calendar-event-list{padding:0 14px}.calendar-event-row{gap:12px;padding:14px 0}.calendar-event-row h3{font-size:13px}.calendar-event-row p{font-size:11px;line-height:1.6}.calendar-event-row .calendar-event-actions{flex-basis:100%;margin-left:42px}.family-shell .calendar-event-filters{display:flex;flex-wrap:wrap}.family-shell .calendar-event-filters .field{flex-basis:40%}.family-shell .calendar-event-filters input,.family-shell .calendar-event-filters select{padding:8px;font-size:12px;min-height:36px}.family-shell .calendar-event-filters .field>span{font-size:11px}.published-subject-page .page-head{gap:14px}.subject-period-picker{width:100%}.published-subject-page .activity-filters{gap:10px;flex-wrap:wrap;margin:16px 0 4px}.activity-filters .field{flex-basis:40%;max-width:none}.activity-filters input{font-size:12px;padding:8px;min-width:0}.published-activities .family-activity{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:start}.published-activities .family-activity>strong{margin-left:0;font-size:17px;padding-top:2px}.published-activities .family-activity>.badge{grid-column:2/-1;margin-left:0;justify-self:start}.family-shell .topbar:has(.school-quick-actions.is-open) .mfa-topbar-warning{visibility:hidden}}@media(prefers-reduced-motion:reduce){.calendar-credential{transition:none}.spin{animation:none}}.school-social-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}.school-social-fields>div>svg{color:var(--green);margin-bottom:12px}.school-contact-settings p{color:var(--muted);font-size:13px;line-height:1.6}.school-phone-heading{display:flex;align-items:center;gap:10px}.school-phone-row{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin:12px 0}.school-phone-row .btn{margin-bottom:14px}.school-contact-settings .actions{margin-top:20px}.school-quick-actions{position:relative;display:flex;align-items:center;isolation:isolate}.school-quick-actions .user-button{padding:0;border:0}.school-quick-actions .user-button>span:not(.avatar),.school-quick-actions .user-button>svg{display:none}.school-quick-toggle{width:24px;height:36px;display:grid;place-items:center;border:1px solid var(--border);border-right:0;border-radius:24px 0 0 24px;background:var(--soft);color:var(--green);padding:0;margin-right:-2px;position:relative;z-index:2}.school-quick-actions .user-menu-wrap{z-index:3}.school-quick-tray{position:absolute;right:calc(100% - 2px);top:50%;transform:translateY(-50%);display:flex;flex-direction:row-reverse;gap:4px;padding:5px 8px;background:var(--surface);border:1px solid var(--border);border-radius:28px 0 0 28px;box-shadow:0 3px 14px #12352012;visibility:hidden;clip-path:inset(0 0 0 100%);transition:clip-path .32s ease,visibility 0s .32s;pointer-events:none;z-index:1}.school-quick-actions.is-open .school-quick-tray{visibility:visible;clip-path:inset(-12px -12px -12px -12px);transition:clip-path .32s ease,visibility 0s;pointer-events:auto}.school-quick-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;border:0;padding:0;line-height:1;background:var(--surface);color:var(--text);text-decoration:none;opacity:0;transform:translate(16px);transition:opacity .2s,transform .28s}.school-quick-icon>svg{display:block;width:20px;height:20px;overflow:visible}.is-open .school-quick-icon{opacity:1;transform:translate(0);transition-delay:calc(var(--quick-order) * 40ms)}.school-quick-icon:hover{background:var(--soft);color:var(--green)}.school-call-list{display:grid;gap:12px}.school-call-button{display:flex;align-items:center;gap:14px;border:1px solid var(--border);padding:16px;border-radius:12px;color:var(--green);background:var(--soft);text-decoration:none;min-height:64px}.school-call-button>span:nth-child(2){display:grid;gap:5px;flex:1}.school-call-button>span:last-child{font-size:13px;font-weight:600}@media(max-width:767px){.school-social-fields{grid-template-columns:1fr}.school-phone-row{grid-template-columns:1fr auto;gap:8px}.school-phone-row .field:first-child{grid-column:1/-1}.school-quick-icon{width:clamp(28px,9.5vw,40px);height:40px;flex-basis:clamp(28px,9.5vw,40px)}.school-quick-tray{gap:2px;padding:4px}.school-quick-toggle{width:22px;height:32px}.family-shell .topbar:has(.school-quick-actions.is-open) .breadcrumb{visibility:hidden}}@media(prefers-reduced-motion:reduce){.school-quick-tray,.school-quick-icon,.is-open .school-quick-icon{transition:none;transition-delay:0s}}@media(max-width:360px){.school-quick-icon{width:26px;flex-basis:26px}.school-quick-tray{gap:1px}}.pwa-install{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px;margin-bottom:16px}.pwa-install-row{display:flex;align-items:center;gap:12px}.pwa-install-row img{border-radius:10px;flex:none}.pwa-install-row>div{flex:1;min-width:0}.pwa-install-row strong,.pwa-install-row small{display:block}.pwa-install-row small{color:var(--muted);font-size:11px;margin-top:3px}.pwa-install-row .btn{font-size:12px;padding:9px 12px}.pwa-install-help{font-size:12px;line-height:1.6;color:var(--muted);padding-top:10px}.pwa-install-help p{margin:8px 0 0}.jalisco-workspace{border:0;padding:0;width:100%;max-width:1180px;margin-inline:auto;min-width:0}.jalisco-panel{display:flex;flex-direction:column;gap:16px;min-width:0}.jalisco-panel>h2,.jalisco-panel p{margin:0}.jalisco-panel input,.jalisco-panel select{max-width:100%;min-width:0}.jalisco-actions{display:flex;gap:12px;flex-wrap:wrap}.jalisco-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}.jalisco-source{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--border, #d7e3dd);border-radius:12px;overflow-wrap:anywhere;min-width:0}.jalisco-differences{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px}.jalisco-difference{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--border, #d7e3dd);border-radius:12px;overflow-wrap:anywhere;min-width:0}.jalisco-difference>input{width:20px;height:20px;flex:0 0 20px;margin:2px 0}.jalisco-difference>span{display:flex;flex-direction:column;gap:6px;min-width:0}.jalisco-instructions{line-height:1.65;overflow-wrap:anywhere}.jalisco-instructions li{margin-block:10px}.jalisco-panel summary{cursor:pointer;font-weight:700}.jalisco-panel .btn{align-self:flex-start}.jalisco-panel .avatar{flex:0 0 48px}@media(max-width:600px){.jalisco-actions{flex-direction:column}.jalisco-actions .btn,.jalisco-panel>.btn{width:100%;white-space:normal;text-align:center}.jalisco-panel{padding:16px}.jalisco-differences{grid-template-columns:1fr}}:root{font-family:DM Sans,Inter,Segoe UI,sans-serif;font-size:16px;color:#1f2a24;background:#f6f8f7;font-synthesis:none;--bg: #f6f8f7;--surface: #fff;--text: #1f2a24;--muted: #617069;--border: #dce5df;--green: #2c613c;--deep: #173f29;--interactive: #347348;--soft: #eaf2ec;--amber: #b7791f;--red: #b42318;--shadow: 0 3px 15px #12352004;--sidebar: 254px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit}button,a,input,select,textarea,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #659f73}button{color:inherit}button svg{flex-shrink:0}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:Manrope,DM Sans,sans-serif}h1{font-size:30px;letter-spacing:-1px;line-height:1.3;font-weight:750;color:var(--deep)}h2{font-size:18px;line-height:1.5;font-weight:750;letter-spacing:-.35px}h3{font-size:16px;font-weight:700}p{line-height:1.65}small{font-size:13px;line-height:1.5}strong{font-weight:650}svg{vertical-align:middle}button{border:0;background:none}input,select,textarea{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:11px 12px;min-height:44px;max-width:100%;font-size:14px}input::placeholder,textarea::placeholder{color:#8a968f}textarea{min-height:90px;resize:vertical}input[type=checkbox],input[type=radio]{accent-color:var(--green);min-height:18px;width:18px;height:18px;flex-shrink:0}input[type=number]{min-width:70px}input[type=date]{min-width:140px}input[readonly]{background:var(--bg);color:var(--muted)}select{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--muted);font-size:14px}.eyebrow{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:1.45px;margin-bottom:10px}.actions.end{justify-content:flex-end;margin-top:22px}.actions.spread{justify-content:space-between}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:8px;padding:11px 17px;font-size:14px;font-weight:600;min-height:43px;white-space:nowrap;transition:background .15s,transform .15s}.btn:hover:not(:disabled){background:var(--interactive);transform:translateY(-1px)}.btn.secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn.secondary:hover:not(:disabled){background:var(--soft)}.btn.ghost{background:transparent;border-color:transparent;color:var(--green)}.btn.danger{background:var(--red);border-color:var(--red)}.text-btn,.back-link{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--green);padding:7px 0;text-align:left}.text-btn:hover{text-decoration:underline}.back-link{margin-bottom:22px;color:var(--muted)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;border-radius:8px}.icon-btn:hover{background:var(--soft)}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);min-width:0;overflow:hidden}.padded{padding:25px}.padded>h2{margin-bottom:10px}.padded>p{margin-bottom:20px}.card-head{display:flex;align-items:center;justify-content:space-between;padding:24px;gap:16px}.padded .card-head{padding:0 0 20px}.card-head p{font-size:13px;color:var(--muted);margin-top:3px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:4px 0 28px}.page-head p{color:var(--muted);font-size:14px;margin-top:9px}.page-head .actions{flex-shrink:0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:29px 0 16px}.badge{display:inline-flex;align-items:center;gap:5px;background:var(--soft);color:var(--green);border-radius:5px;padding:4px 8px;line-height:1.4;font-size:12px;font-weight:550;white-space:nowrap}.badge.neutral{background:var(--bg);color:var(--muted);border:1px solid var(--border)}.badge.amber{background:#fff4dd;color:#8b5f1c}.badge.red{background:#fff0ed;color:var(--red)}.avatar{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:#eee8dc;color:#7b6950;border-radius:50%;font-size:12px;font-weight:650;flex-shrink:0;letter-spacing:.3px}.avatar.large{width:66px;height:66px;font-size:22px}.avatar.xl{width:86px;height:86px;font-size:27px}.avatar.portrait{width:110px;height:110px;font-size:37px;border:6px solid white;box-shadow:0 0 0 1px #dce5df;background:#eaf2ec;color:#2c613c}.person-cell{display:flex;align-items:center;gap:12px;padding:0;text-align:left}.person-cell strong{font-size:14px;white-space:nowrap}.person-cell small{display:block;color:var(--muted);margin-top:3px}.person-cell:hover strong{color:var(--green)}.field{display:flex;flex-direction:column;gap:8px;margin:0 0 18px;min-width:0;font-size:14px;font-weight:550}.field>span{color:var(--text)}.field small{color:var(--muted);font-weight:400}.field input,.field textarea,.field select{width:100%}.select-wrap{display:inline-flex;position:relative;min-width:0;max-width:100%;align-items:center}.select-wrap select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;width:100%;font-size:13px;font-weight:500;white-space:nowrap;text-overflow:ellipsis}.select-wrap>svg{position:absolute;right:12px;pointer-events:none;color:var(--muted)}.notice{display:flex;gap:12px;align-items:center;padding:15px 18px;background:var(--soft);border-radius:9px;font-size:14px;line-height:1.6;margin:18px 0;color:var(--text);flex-wrap:wrap}.notice>svg{flex-shrink:0;color:var(--green)}.notice>span{flex:1}.notice.subtle{background:transparent;color:var(--muted);border:1px solid var(--border);font-size:13px}.notice.error{background:#fff1ef;color:#9d291e;border:1px solid #f3c4bd}.notice.error>svg{color:#9d291e}.empty{text-align:center;padding:50px 22px;color:var(--muted)}.empty>svg{color:#8eaa97;margin-bottom:15px}.empty h3{color:var(--text);margin-bottom:7px}.empty p{font-size:14px;margin-bottom:14px}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px}.stats{display:grid;gap:16px;margin-bottom:24px}.stats.four{grid-template-columns:repeat(4,minmax(0,1fr))}.stats.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:21px;min-width:0}.stat.accent{background:var(--deep);border-color:var(--deep);color:#fff}.stat-label{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:13px;font-weight:500;color:var(--muted);line-height:1.5;min-height:28px}.stat.accent .stat-label{color:#d6e5db}.stat-icon{width:29px;height:29px;background:var(--soft);border-radius:7px;display:flex;justify-content:center;align-items:center;color:var(--green)}.stat.accent .stat-icon{background:#ffffff17;color:#c5e4cc}.stat>strong{display:block;font-family:Manrope,sans-serif;font-size:29px;line-height:1.5;letter-spacing:-1px;margin:11px 0 10px;font-weight:750}.stat-detail{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:4px;min-height:18px}.stat.accent .stat-detail{color:#cbddd1}.filter-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:20px}.dashboard-filters{padding:13px 0;margin-bottom:16px;border-block:1px solid var(--border);gap:10px}.filter-caption{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-right:auto}.filter-secondary{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:0 20px 18px}.filter-secondary>.muted{margin-left:auto}.filter-secondary .field{margin:0;flex-direction:row;align-items:center;font-size:13px}.filter-secondary input{width:84px;min-height:34px;padding:6px 10px}.search-input{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:8px;min-width:240px;flex:1;background:var(--surface);padding:0 12px;max-width:420px}.search-input>svg{color:#8c9890}.search-input input{border:0;background:transparent;min-width:0;flex:1;outline-offset:0;padding:10px 0;width:100%}.search-input button{display:flex}.table-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#bccbc1 transparent}.subject-catalog{display:grid;gap:16px}.subject-grade{margin:0;min-width:0}.subject-grade>summary{cursor:pointer;font-weight:700;padding-block:8px}.subject-grade>summary>span+span{margin-left:16px;font-size:13px;font-weight:400;white-space:nowrap}.subject-grade[open]>summary{margin-bottom:18px}.subject-identity{display:flex;gap:12px;align-items:center;min-width:0}.subject-identity>div{min-width:0;overflow-wrap:anywhere}.subject-swatch{display:block;width:30px;height:30px;flex:0 0 30px;border-radius:50%;border:1px solid var(--border)}.subject-hex{display:block;margin-top:4px;color:var(--muted);font:12px ui-monospace,monospace}.hash-text{overflow-wrap:anywhere;word-break:break-word;white-space:normal}.table-scroll table{width:100%;border-collapse:separate;border-spacing:0;text-align:left;font-size:13px}.table-scroll th{padding:14px 19px;background:var(--bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:12px;color:var(--muted);font-weight:550;white-space:nowrap}.table-scroll td{padding:17px 19px;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:middle;background:var(--surface)}.table-scroll td:first-child,.table-scroll th:first-child{position:sticky;left:0;z-index:1}.table-scroll th:first-child{z-index:2}.table-scroll td:first-child{box-shadow:1px 0 0 var(--border)}.table-scroll tr:last-child td{border-bottom:0}.table-scroll td>small{display:block;color:var(--muted);margin-top:4px;max-width:310px;white-space:normal}.table-scroll tr:hover td{background:var(--bg)}.table-scroll td>strong{font-weight:600}.sort-btn{display:flex;gap:8px;align-items:center;padding:0;font-size:inherit;font-weight:inherit}.pagination{padding:15px 20px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);font-size:12px;color:var(--muted);gap:14px}.tabs{display:flex;gap:25px;border-bottom:1px solid var(--border);overflow:auto;margin:0 0 24px;white-space:nowrap}.tabs button{position:relative;padding:15px 0;font-size:14px;font-weight:500;color:var(--muted);border-bottom:2px solid transparent}.tabs button.active{color:var(--green);border-bottom-color:var(--green)}.tabs button:hover{color:var(--green)}.form-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:22px;margin-top:18px}.form-grid .notice{margin-top:24px}.checkbox-label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;margin:15px 0;line-height:1.5}.checkbox-label input{margin:0}.switch-label{display:inline-flex;align-items:center;gap:12px;font-size:14px}.switch{width:42px;height:24px;border-radius:20px;background:#a7b2aa;padding:3px;display:inline-flex;align-items:center;flex-shrink:0;transition:background .2s}.switch span{display:block;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0002;transition:transform .2s}.switch.on{background:var(--green)}.switch.on span{transform:translate(18px)}.modal{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:16px;width:min(570px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:0;box-shadow:0 25px 100px #081b2933;overflow:auto}.modal.wide{width:min(880px,calc(100% - 32px))}.modal::backdrop{background:#102a2166;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px 25px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:4}.modal-body{padding:25px}.modal-body>p{margin-bottom:20px}.modal-body>small{display:block;color:var(--muted)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:16px 18px;background:var(--deep);color:#fff;border:1px solid #80a98c;border-radius:12px;box-shadow:0 8px 35px #16312522;display:flex;align-items:center;gap:12px;z-index:1000;max-width:calc(100% - 32px);width:max-content;font-size:14px}.toast>span{color:#b5daba}.toast button{color:#fff;font-size:20px;padding-left:10px}.skip-link{position:fixed;top:-60px;left:10px;z-index:1000;background:var(--green);color:#fff;padding:15px}.skip-link:focus{top:10px}.app-shell{min-height:100vh}.sidebar{width:var(--sidebar);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--surface);z-index:30;transition:width .2s;overflow-y:auto;overflow-x:hidden}.brand{display:flex;align-items:center;gap:12px;margin:22px 20px 29px}.logo-surface{background:#fff;border-radius:8px;width:59px;height:59px;display:flex;justify-content:center;align-items:center;flex-shrink:0}.brand img{width:55px;height:55px;object-fit:contain}.brand-text strong{font-size:17px;letter-spacing:1.6px;font-family:Manrope;font-weight:800;color:var(--deep)}.brand-text span{display:block;font-size:8px;letter-spacing:1.3px;margin-top:6px;color:var(--muted);white-space:nowrap}.workspace-label{font-size:10px;letter-spacing:1.35px;font-weight:600;color:#8b988f;padding:0 25px 13px}.sidebar nav{padding:0 13px}.sidebar nav>button{width:100%;display:flex;align-items:center;gap:13px;text-align:left;padding:13px;margin:4px 0;border-radius:8px;color:var(--muted);font-size:13px;min-height:45px;font-weight:500;position:relative}.sidebar nav>button.active{color:var(--green);background:var(--soft);font-weight:650}.sidebar nav>button.active:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;background:var(--green);border-radius:0 3px 3px 0}.sidebar nav>button:hover{background:var(--bg);color:var(--green)}.sidebar nav b{margin-left:auto;background:var(--green);color:#fff;font-size:10px;border-radius:4px;padding:1px 5px}.sidebar-bottom{margin-top:auto;padding:30px 20px 20px}.help-box{padding:19px 15px;background:var(--bg);border:1px solid var(--border);border-radius:11px}.help-icon{display:block;color:var(--green);margin-bottom:12px}.help-box h3{font-size:15px}.help-box p{font-size:12px;color:var(--muted);margin:5px 0 13px;line-height:1.6}.help-box button{display:flex;gap:10px;align-items:center;padding:0;color:var(--green);font-weight:600;font-size:11px}.collapse-button{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted);padding:18px 0 12px;width:100%}.sidebar-copyright{font-size:8px;letter-spacing:.6px;color:#97a39a;white-space:nowrap}.app-main{margin-left:var(--sidebar);min-width:0;transition:margin .2s}.topbar{height:83px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:var(--surface);gap:20px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:20px}.breadcrumb{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.breadcrumb strong{color:var(--text);font-weight:500}.cycle-tag{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);padding:7px 10px;border:1px solid var(--border);border-radius:6px}.cycle-tag svg{color:#819687}.topbar-right{gap:13px}.user-button{display:flex;align-items:center;gap:11px;text-align:left;border-left:1px solid var(--border);padding-left:18px}.user-button strong{font-size:12px;display:block}.user-button small{font-size:10px;color:var(--muted);display:block;margin-top:3px}.user-menu-wrap{position:relative}.user-dropdown{position:absolute;right:0;top:55px;background:var(--surface);box-shadow:0 8px 25px #18322218;border:1px solid var(--border);border-radius:10px;z-index:35;padding:8px;min-width:230px}.user-dropdown button{display:flex;align-items:center;gap:10px;padding:12px;width:100%;font-size:13px;text-align:left;border-radius:6px}.user-dropdown button:hover{background:var(--soft)}.notification-bell{position:relative}.notification-bell i{position:absolute;width:5px;height:5px;background:#c39b58;border:2px solid var(--surface);box-sizing:content-box;border-radius:50%;top:6px;right:6px}.profile-strip{display:flex;align-items:center;justify-content:space-between;padding:12px 34px;gap:14px;border-bottom:1px solid var(--border);background:var(--surface)}.profile-control{display:flex;align-items:center;gap:12px}.demo-indicator{font-size:10px;letter-spacing:.25px;border:1px solid #d9e4dd;color:var(--muted);padding:4px 7px;border-radius:4px;white-space:nowrap}.profile-strip select{min-height:29px;padding:4px 30px 4px 9px;font-size:12px;background:var(--bg);border-color:transparent}.profile-note{font-size:11px;color:#819087}.content{padding:32px 34px 45px;max-width:1670px;margin:0 auto;min-height:calc(100vh - 205px)}.app-footer{display:flex;justify-content:space-between;padding:22px 34px;border-top:1px solid var(--border);font-size:10px;color:#839087}.mobile-only{display:none}.collapsed{--sidebar: 84px}.collapsed .brand{margin:23px 12px 30px}.collapsed .brand-text,.collapsed .workspace-label,.collapsed nav span,.collapsed .help-box,.collapsed .collapse-button span,.collapsed .sidebar-copyright,.collapsed nav b{display:none}.collapsed nav{padding:0 13px}.collapsed nav>button{justify-content:center;padding:13px}.collapsed .sidebar-bottom{padding:20px 30px}.collapsed .collapse-button{justify-content:center}.child-selector{display:flex;gap:12px;align-items:center}.child-selector .text-btn{font-size:12px;white-space:nowrap}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(255px,1fr);gap:20px}.chart{height:224px;margin:0 14px 12px 6px}.chart-legend{display:flex;gap:15px;font-size:11px;color:var(--muted)}.chart-legend span{display:flex;align-items:center;gap:5px}.chart-legend i{width:7px;height:7px;background:var(--green);border-radius:50%}.chart-legend i.cost{background:#b89b6c}.chart-bottom{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);align-items:center}.chart-bottom strong{color:var(--text);margin-left:10px;font-size:13px}.chart-bottom>span:last-child{max-width:180px;line-height:1.6}.community-card{background:#eaf1e8;border:1px solid #dce5d8;border-radius:14px;padding:25px;color:#284633;position:relative;overflow:hidden}.community-card .eyebrow{font-size:9px;color:#60806a}.community-card h2{font-size:25px;letter-spacing:-.8px;line-height:1.35;color:#214d31}.community-number{font-family:Manrope;font-size:48px;font-weight:750;letter-spacing:-2px;line-height:1.2;margin:16px 0 17px;display:flex;align-items:center;gap:14px}.community-number span{font-family:DM Sans;font-size:12px;letter-spacing:0;font-weight:400;max-width:55px;line-height:1.6}.community-row{display:flex;align-items:center;justify-content:space-between;margin:12px 0;font-size:12px}.community-row span{display:flex;gap:9px;align-items:center;color:#5e7565}.community-row strong{font-size:14px}.community-card>button{border-top:1px solid #ccdacd;display:flex;align-items:center;justify-content:space-between;width:100%;padding:15px 0 0;margin-top:17px;font-size:12px;color:#285138;font-weight:600}.academic-card{display:flex;align-items:center;justify-content:space-between;padding:24px;gap:25px}.academic-card .eyebrow{font-size:9px;display:block}.academic-card strong{display:block;font-family:Manrope;font-size:38px;color:var(--deep);margin:8px 0}.academic-card strong small{font-size:17px;font-weight:500;color:var(--muted)}.academic-card p{font-size:12px;color:var(--muted);max-width:270px}.score-ring{width:105px;height:105px;flex-shrink:0;border-radius:50%;background:conic-gradient(var(--green) var(--score),var(--soft) 0);display:grid;place-items:center}.score-ring span{display:grid;place-items:center;background:var(--surface);width:83px;height:83px;border-radius:50%;font-size:25px;font-weight:600;color:var(--deep)}.activity-card{padding:24px}.attention-row{display:flex;align-items:center;width:100%;gap:12px;text-align:left;padding:14px 0;border-bottom:1px solid var(--border)}.attention-row:last-child{border:0;padding-bottom:0}.attention-row>span:nth-child(2){flex:1}.attention-row strong{font-size:12px;display:block}.attention-row small{font-size:11px;color:var(--muted);display:block;margin-top:4px}.mini-icon{width:37px;height:37px;border-radius:9px;background:var(--soft);display:flex;align-items:center;justify-content:center;flex-shrink:0}.mini-icon.amber{background:#fff4e0;color:#b0813a}.summary-pills{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin:0 0 25px;color:var(--muted);font-size:13px}.summary-pills strong{color:var(--text);font-size:18px;margin-right:5px}.summary-pills span{display:inline-flex;align-items:center;gap:5px}.dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:5px}.summary-pills button{margin-left:auto;display:flex;align-items:center;gap:8px;color:var(--green);background:var(--soft);padding:9px 13px;border-radius:7px;font-size:12px}.subject-label{display:inline-flex;gap:7px;align-items:center;font-size:12px}.subject-label i{width:7px;height:7px;border-radius:2px;flex-shrink:0}.subject-label strong{margin-left:4px}.student-header{display:flex;align-items:center;gap:22px;margin:2px 0 28px}.student-header h1{font-size:27px}.student-header p{font-size:13px;color:var(--muted);margin-top:6px}.student-header p>span{margin:0 8px;color:#b6c5bc}.student-status{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:24px 0}.quick-links button{border:1px solid var(--border);background:var(--surface);border-radius:10px;display:flex;gap:12px;align-items:center;padding:20px;color:var(--green);font-size:14px;font-weight:550;text-align:left}.quick-links button>svg:last-child{margin-left:auto}.quick-links button:hover{background:var(--soft)}dl{display:grid;grid-template-columns:1fr 1.2fr;gap:18px 25px;margin:22px 0;font-size:14px;line-height:1.5}dt{color:var(--muted)}dd{margin:0;font-weight:500}.responsible-detail{margin:22px 0}.responsible-detail p{font-size:14px;margin:15px 0 8px;color:var(--muted)}.responsible-detail>small{display:block;color:var(--muted)}.document-row{display:flex;align-items:center;gap:15px;width:100%;padding:16px 0;border-bottom:1px solid var(--border);font-size:14px;color:var(--green);text-align:left}.document-row>svg:last-child{margin-left:auto}.sample-document{text-align:center;border:2px dashed var(--border);padding:30px;border-radius:12px;display:flex;flex-direction:column;gap:16px;align-items:center}.sample-document>img{width:150px;background:#fff;border-radius:8px}.sample-document strong{font-size:28px}.sample-document p{color:var(--muted);font-size:14px}.comparison{display:flex;align-items:center;justify-content:center;gap:35px;padding:23px;background:var(--bg);border-radius:10px;margin:20px 0}.comparison>div{font-size:13px;color:var(--muted)}.comparison strong{display:block;font-size:30px;color:var(--text);margin-top:5px}.history-row{display:flex;gap:12px;align-items:center;padding:17px 0;border-bottom:1px solid var(--border)}.history-row>span{flex:1}.history-row strong{font-size:13px;display:block}.history-row small{font-size:11px;display:block;color:var(--muted);margin-top:5px}.history-row .btn{font-size:12px}.audit-row{border-bottom:1px solid var(--border);padding:18px 0;font-size:13px}.audit-row p{margin:7px 0}.audit-row small{color:var(--muted)}.review-card{padding:25px;text-align:center;background:var(--bg);border:1px solid var(--border);border-radius:12px;margin:20px 0}.review-card h2{margin:13px 0 5px}.review-card p{font-size:13px;color:var(--muted);margin:7px 0 13px;word-break:break-word}.wizard-layout{display:grid;grid-template-columns:255px 1fr;gap:24px}.wizard-steps{align-self:start;padding:13px}.wizard-steps>button{display:flex;align-items:center;gap:13px;text-align:left;width:100%;padding:18px 12px;border-radius:9px}.wizard-steps>button>span{width:31px;height:31px;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}.wizard-steps>button strong{display:block;font-size:13px}.wizard-steps>button small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.wizard-steps>button.active{background:var(--soft)}.wizard-steps>button.active>span{color:#fff;background:var(--green);border-color:var(--green)}.wizard-note{padding:25px 12px;color:var(--muted);margin-top:10px;border-top:1px solid var(--border)}.wizard-note svg{color:var(--green)}.wizard-note p{font-size:12px;margin-top:10px}.wizard-form .section-title{margin:0 0 25px}.wizard-form h3{margin:28px 0 10px}.wizard-form>p{font-size:14px}.wizard-footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--border);padding-top:25px;margin-top:25px;flex-wrap:wrap}.wizard-form details{border:1px solid var(--border);border-radius:9px;padding:0 18px;margin:17px 0}.wizard-form summary{cursor:pointer;padding:17px 0;font-weight:650;font-size:14px}.wizard-form summary .badge{float:right;font-weight:400}.upload-zone{padding:24px;width:100%;border:1px dashed #9db5a5;border-radius:9px;background:var(--bg);display:flex;flex-direction:column;align-items:center;gap:9px;color:var(--green);margin:15px 0;font-size:14px}.upload-zone small{color:var(--muted);font-size:12px}.wizard-form li{font-size:14px;color:var(--muted);margin:12px 0}.subject-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.subject-card{padding:25px;border-top:3px solid var(--subject)}.subject-icon{width:47px;height:47px;border-radius:12px;background:color-mix(in srgb,var(--subject) 12%,var(--surface));display:inline-flex;align-items:center;justify-content:center;color:var(--subject);margin-bottom:17px}.subject-card h2{font-size:20px}.subject-card p{font-size:13px;color:var(--muted);margin-top:9px;display:flex;gap:7px;align-items:center}.subject-cohorts{display:flex;gap:6px;flex-wrap:wrap;margin:25px 0}.subject-cohorts>small{width:100%;font-size:10px;letter-spacing:.8px;color:var(--muted);margin-bottom:5px}.subject-cohorts .badge{font-size:11px}.subject-card>button{width:100%;padding:16px 0 0;margin-top:8px;border-top:1px solid var(--border);display:flex;justify-content:space-between;color:var(--green);font-size:13px;font-weight:600}.color-picker{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}.color-picker>button{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;color:#fff;border:3px solid var(--surface)}.color-picker>button.selected{outline:2px solid var(--green);outline-offset:2px}.schedule{margin:22px 0}.schedule td{min-width:150px;height:110px;padding:9px;vertical-align:top;position:relative}.schedule td:first-child{min-width:60px;height:110px;padding:16px;vertical-align:top;color:var(--muted);font-size:12px}.schedule th{text-align:center}.schedule-block{background:var(--bg);padding:10px;border-left:3px solid var(--green);border-radius:5px;margin:3px 0;font-size:11px}.schedule-block small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.slot-add{color:var(--muted);border:1px dashed var(--border);width:100%;padding:6px;margin-top:6px;border-radius:4px}.slot-add:hover{background:var(--soft);color:var(--green)}.hours-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:20px 0 5px}.hours-grid>div{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;font-size:12px}progress{width:100%;height:5px;border:0;border-radius:4px;accent-color:var(--green)}.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px}.settings-layout p{font-size:14px;margin-bottom:22px}.theme-options{display:flex;gap:12px;margin-top:23px}.theme-options button{padding:22px 13px;border:1px solid var(--border);border-radius:10px;flex:1;display:flex;flex-direction:column;align-items:center;gap:11px;font-size:13px;position:relative}.theme-options button.selected{border-color:var(--green);background:var(--soft);color:var(--green)}.theme-options button>svg:last-child:not(:first-child){position:absolute;top:7px;right:7px}.skeletons{padding:18px 0;display:flex;flex-direction:column;gap:10px}.skeletons span{height:16px;border-radius:5px;background:linear-gradient(90deg,var(--border),var(--bg),var(--border));background-size:200%;animation:load 1.5s infinite}.skeletons span:last-child{width:60%}@keyframes load{to{background-position:-200% 0}}.group-card{padding:35px;text-align:left}.group-card>svg{color:var(--green);margin-bottom:20px}.group-card p{font-size:13px;color:var(--muted);margin:10px 0 30px}.group-card>span{display:flex;justify-content:space-between;color:var(--green);font-size:14px;font-weight:600}.grade-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:20px}.grade-toolbar .field{margin:0;font-size:11px}.grade-toolbar .actions{align-items:end}.attendance-status{padding:12px 20px;background:#fbf4e6;color:#866122;font-size:12px;display:flex;align-items:center;gap:8px}.attendance-status small{margin-left:auto;font-size:11px}.attendance-status.confirmed{background:var(--soft);color:var(--green)}.sheet-hint{padding:13px 20px;font-size:11px;color:var(--muted);border-bottom:1px solid var(--border)}.spreadsheet th{width:170px;min-width:165px;white-space:normal;vertical-align:top}.spreadsheet th:first-child{width:245px;min-width:245px;max-width:245px}.spreadsheet th strong{font-size:12px;display:block;color:var(--text);margin-bottom:6px}.spreadsheet th small{display:block;font-size:10px;color:var(--muted)}.spreadsheet th>span{font-size:9px;display:block;margin-top:8px;line-height:1.5;max-width:145px}.spreadsheet td{padding:10px;text-align:center}.spreadsheet td:first-child{text-align:left;padding:15px 20px}.spreadsheet .person-cell strong{font-size:12px}.spreadsheet .person-cell small{font-size:10px}.spreadsheet .avatar{width:29px;height:29px;font-size:10px}.spreadsheet td>input{width:85px;text-align:center;font-size:16px;min-height:41px;border-color:transparent;background:transparent;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.spreadsheet td>input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.spreadsheet td>input:hover{border-color:var(--border)}.spreadsheet td>input:focus{background:var(--surface);border-color:var(--green);outline:2px solid var(--green);outline-offset:0}.spreadsheet td.pending-cell{background:#fff0ed}.spreadsheet .pending-cell input{border-color:#ce7569}.spreadsheet .pending-cell small{color:var(--red);font-size:10px}.spreadsheet td.absence-cell{background:repeating-linear-gradient(-45deg,var(--bg),var(--bg) 5px,var(--surface) 5px,var(--surface) 10px);color:var(--muted);font-size:12px}.absence-cell small{display:block;font-size:10px}.grade-footer{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--border)}.grade-footer .checkbox-label{font-size:12px;margin:0 0 9px}.grade-footer small{font-size:11px;color:var(--muted)}.attendance-list{margin:20px 0}.attendance-list>label{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border);gap:14px}.attendance-list label>span{display:flex;align-items:center;gap:9px;font-size:12px}.activity-form{padding-bottom:20px;border-bottom:1px solid var(--border);margin-bottom:20px}.family-shell .content{max-width:1190px;padding-top:35px}.family-welcome{display:flex;align-items:center;justify-content:space-between;margin:5px 0 30px;gap:20px}.family-welcome h1{font-size:38px}.family-welcome p{font-size:14px;color:var(--muted);margin-top:8px}.family-scores{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.family-scores .stat{padding:25px}.family-scores .stat>strong{font-size:39px;margin:8px 0}.school-tabs{margin:30px 0 22px}.subject-bars{display:flex;flex-direction:column;gap:19px;padding:8px 0 15px}.subject-bars>button{display:grid;grid-template-columns:155px 1fr 34px;align-items:center;gap:16px;padding:0;text-align:left;font-size:13px}.bar-track{height:15px;background:var(--bg);border-radius:4px;overflow:hidden}.bar-track>span{display:block;height:100%;border-radius:4px}.subject-bars strong{text-align:right;color:var(--text)}.family-subjects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.family-subject{text-align:left;padding:23px;border-top:3px solid var(--subject)}.family-subject .subject-icon{width:39px;height:39px;border-radius:10px;margin:0}.family-subject .actions>svg{color:var(--muted)}.family-subject h3{margin:16px 0 23px;font-size:17px}.subject-scores{display:flex;justify-content:space-between;gap:13px}.subject-scores>span{font-size:10px;color:var(--muted);flex:1}.subject-scores strong{display:block;font-family:Manrope;font-size:26px;color:var(--text);margin-top:5px}.subject-scores>span:last-child{background:color-mix(in srgb,var(--subject) 11%,var(--surface));padding:8px 11px;border-radius:7px;margin-top:-8px;color:var(--text)}.subject-scores>span:last-child strong{color:var(--subject);font-size:22px}.method-note{font-size:12px;color:var(--muted);line-height:1.7;margin:22px 0}.children-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.child-card{text-align:center;padding:36px 30px 0;transition:transform .2s}.child-card:hover{transform:translateY(-4px);border-color:var(--green)}.child-card>.badge{display:block;width:max-content;margin:18px auto 12px}.child-card h2{font-size:23px}.child-card>p{font-size:14px;color:var(--muted);margin-top:6px}.child-stats{display:flex;justify-content:center;gap:40px;margin:28px 0}.child-stats>span{font-size:11px;color:var(--muted);text-align:left}.child-stats strong{display:block;font-size:20px;color:var(--text);margin-top:9px}.child-stats small{font-size:12px;color:var(--muted)}.child-enter{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding:20px 0;color:var(--green);font-size:14px;font-weight:600}.family-activity{display:flex;align-items:center;gap:18px;padding:24px 0;border-bottom:1px solid var(--border)}.family-activity:last-child{border:0}.family-activity>div{flex:1}.family-activity h3{font-size:15px}.family-activity p{font-size:12px;color:var(--muted);margin:6px 0}.family-activity small{font-size:11px;color:var(--muted)}.family-activity>strong{font-size:20px;color:var(--green);white-space:nowrap}.notification-list>button{display:flex;align-items:center;gap:20px;width:100%;text-align:left;padding:26px;border-bottom:1px solid var(--border)}.notification-list>button:last-child{border:0}.notification-list>button.unread{background:var(--soft)}.notification-icon{width:45px;height:45px;border-radius:50%;background:var(--surface);display:flex;align-items:center;justify-content:center;color:var(--green);flex-shrink:0}.notification-list>button>span:nth-child(2){flex:1;min-width:0}.notification-list strong{display:block;font-size:17px;margin:8px 0}.notification-list small{font-size:11px;color:var(--muted)}.notification-list p{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:500px}.credentials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,380px));gap:30px;justify-content:center;margin:35px 0}.school-id{border:1px solid #cad8cd;border-radius:18px;background:#fff;color:#1f2a24;box-shadow:0 12px 30px #1c4d2a0a;overflow:hidden;max-width:380px;width:100%}.school-id.selected-child{outline:2px solid var(--green);outline-offset:4px}.id-top{display:flex;align-items:center;gap:18px;background:#eaf2ec;padding:21px 25px}.id-top img{width:84px;height:84px;object-fit:contain}.id-top>span{font-size:9px;letter-spacing:1.8px;color:#5e7765;line-height:2}.id-top strong{font-size:17px;color:#173f29;letter-spacing:2px}.id-body{display:flex;align-items:center;flex-direction:column;text-align:center;padding:26px}.id-body>small{font-size:8px;color:#7d8d83;letter-spacing:.7px;margin:10px 0 18px}.id-body h2{font-size:21px}.matricula{font-family:Manrope;color:#2c613c;letter-spacing:1.5px;font-size:20px;margin-top:9px}.id-body>div{display:flex;justify-content:space-around;width:100%;margin-top:25px;border-top:1px solid #dce5df;padding-top:20px;font-size:9px;color:#7d8d83;letter-spacing:1px}.id-body>div strong{display:block;color:#1f2a24;font-size:13px;letter-spacing:0;margin-top:6px}.id-bottom{padding:18px;background:#173f29;color:#d0e4d6;font-size:10px;display:flex;justify-content:space-between;align-items:center}.id-bottom .badge{font-size:10px;background:#244f35;color:#e8f3ec;border-color:#50715a}.guide-item{display:flex;gap:17px;margin:6px 0 25px}.guide-item>svg{color:var(--green);flex-shrink:0;margin-top:4px}.guide-item p{font-size:14px;color:var(--muted);margin-top:6px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--surface)}.login-brand{margin:20px;border-radius:18px;background:#173f29;padding:55px 65px;display:flex;flex-direction:column;justify-content:space-between;min-height:calc(100vh - 40px);color:#fff;position:relative}.login-logo{background:#f7faf7;border-radius:13px;width:162px;height:162px;display:flex;justify-content:center;align-items:center;margin-bottom:45px}.login-logo>img{width:145px;height:145px;object-fit:contain}.login-brand>.login-logo+div{margin:20px 0 45px}.login-brand .eyebrow{color:#a7cab0;font-size:10px;letter-spacing:1.8px}.login-brand h1{color:#fff;font-size:clamp(37px,3.5vw,58px);line-height:1.25;letter-spacing:-2px;margin:20px 0}.login-brand p{color:#bacfc1;font-size:16px;line-height:1.8}.login-year{font-size:10px;letter-spacing:1.6px;color:#d6e4db;display:flex;gap:18px;align-items:center}.login-year>span{border-left:1px solid #54715d;padding-left:18px;letter-spacing:0;font-size:11px;color:#afc5b6}.login-form{padding:65px;max-width:580px;width:100%;margin:auto}.login-form>.badge{font-size:9px;letter-spacing:1.3px;padding:6px 10px;margin-bottom:24px}.login-form h2{font-size:30px;line-height:1.3;letter-spacing:-1px;color:var(--deep)}.login-form>p{font-size:14px;color:var(--muted);margin:14px 0 32px}.login-form .field{font-size:13px}.login-form input,.login-form select{min-height:48px}.recover{display:block;margin:-5px 0 20px auto;font-size:12px}.login-form form>.btn{width:100%;justify-content:space-between;padding:14px 19px;margin-top:8px}.demo-login-note{display:flex;gap:11px;color:var(--muted);padding:23px 0;border-top:1px solid var(--border);margin-top:28px;align-items:flex-start}.demo-login-note svg{color:var(--green);flex-shrink:0}.demo-login-note p{font-size:11px}.login-form>.text-btn{font-size:12px}.demo-credentials{display:block;margin-top:22px;color:var(--muted);font-size:10px;line-height:1.6}.recharts-cartesian-axis-tick-value{fill:var(--muted)}.recharts-legend-item-text,.recharts-tooltip-item{color:var(--text)!important}.recharts-default-tooltip{background-color:var(--surface)!important;border-color:var(--border)!important;color:var(--text)}[data-theme=dark]{--bg: #101a14;--surface: #18271e;--text: #edf5ef;--muted: #a6b7ac;--border: #30483a;--green: #8fc79b;--deep: #bde1c6;--interactive: #a9d5b2;--soft: #233b2b;--shadow: 0 3px 15px #0001;color-scheme:dark;color:var(--text);background:var(--bg)}[data-theme=dark] .btn{color:#112619}[data-theme=dark] .btn.secondary,[data-theme=dark] .btn.ghost{color:var(--text)}[data-theme=dark] .stat.accent{background:#254d34;border-color:#3b6247;color:#fff}[data-theme=dark] .toast{background:#254d34}[data-theme=dark] .stat.accent .stat-icon{color:#c5e4cc}[data-theme=dark] .badge.amber{background:#483a20;color:#f3cf8d}[data-theme=dark] .badge.red{background:#4a2926;color:#fbb3a9}[data-theme=dark] .notice.error{background:#43241f;color:#fbb3a9;border-color:#744039}[data-theme=dark] .attendance-status{background:#3c341f;color:#eacb8b}[data-theme=dark] .attendance-status.confirmed{background:var(--soft);color:var(--green)}[data-theme=dark] .spreadsheet td.pending-cell{background:#452925}[data-theme=dark] .spreadsheet .pending-cell small{color:#fdbcb0}[data-theme=dark] .brand .logo-surface{padding:4px}[data-theme=dark] .avatar{background:#394333;color:#d2debc}[data-theme=dark] .avatar.portrait{background:#eaf2ec;color:#2c613c}[data-theme=dark] .id-body .matricula{color:#2c613c}[data-theme=dark] .subject-scores>span:last-child strong{color:var(--text)}[data-theme=dark] .switch.on{background:#639c71}[data-theme=dark] .badge.neutral{color:var(--muted)}@media(min-width:1600px){.content{padding:40px 45px 55px}.sidebar{--sidebar: 265px}.app-shell:not(.collapsed){--sidebar: 265px}.stats .stat{padding:25px}.stat>strong{font-size:34px}.chart{height:260px}.community-number{margin:25px 0}}@media(max-width:1250px){:root{--sidebar: 222px}.brand{margin-left:15px;gap:9px}.brand-text strong{font-size:14px}.brand-text span{font-size:7px}.brand .logo-surface{width:49px;height:49px}.brand img{width:46px;height:46px}.sidebar nav{padding:0 10px}.sidebar nav>button{font-size:12px;gap:10px;padding:12px 10px}.topbar{padding:0 25px}.content{padding:28px 25px 40px}.profile-strip{padding-inline:25px}.profile-note{font-size:10px}.stats{gap:12px}.stat{padding:17px}.stat>strong{font-size:25px}.stat-label{font-size:12px}.stat-detail{font-size:10px}.page-head h1{font-size:27px}.page-head .eyebrow{font-size:9px}.dashboard-filters .filter-caption{width:100%}.dashboard-grid{grid-template-columns:minmax(0,1.8fr) minmax(225px,1fr)}.community-card{padding:22px}.community-card h2{font-size:23px}.chart-bottom{padding:14px 18px}.two-columns .table-scroll th,.two-columns .table-scroll td{padding:14px 13px}.topbar-right{gap:8px}.cycle-tag{display:none}.subject-grid{gap:16px}.subject-card{padding:22px}.subject-card h2{font-size:18px}.wizard-layout{grid-template-columns:215px 1fr;gap:18px}.wizard-steps{padding:8px}.wizard-steps>button{gap:9px}.wizard-steps>button small{font-size:10px}.settings-layout{grid-template-columns:1fr}.login-brand,.login-form{padding:45px}}@media(max-width:1024px){.stats.four{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.community-card{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.community-card .eyebrow{grid-column:1/-1}.community-card .community-number{grid-column:2;grid-row:2/4;margin:0;justify-content:center}.community-card h2{grid-column:1}.community-row{margin:10px 0}.community-card>button{grid-column:1/-1}.two-columns{grid-template-columns:1fr}.subject-grid,.family-subjects{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head{align-items:flex-start;flex-direction:column;gap:17px}.page-head h1{font-size:26px}.page-head p{font-size:13px}.profile-note{display:none}.student-header{flex-wrap:wrap}.student-header h1{font-size:24px}.student-status{margin-left:0;flex-direction:row;width:100%}.quick-links,.wizard-layout{grid-template-columns:1fr}.wizard-steps{display:flex;align-items:center;justify-content:space-between}.wizard-steps>button{width:auto;flex:1}.wizard-steps>button>div small{display:none}.wizard-note{display:none}.wizard-steps>button>div strong{font-size:11px}.wizard-steps>button{padding:10px 8px}.wizard-steps>button>span{width:24px;height:24px;font-size:11px}.hours-grid{grid-template-columns:1fr 1fr}.family-welcome h1{font-size:32px}.children-grid{grid-template-columns:1fr}.child-stats{gap:80px}.credentials-grid{grid-template-columns:minmax(0,380px)}.topbar-left .breadcrumb{font-size:11px}.breadcrumb strong{display:none}.login-form,.login-brand{padding:35px}.login-form h2{font-size:27px}.login-brand h1{font-size:39px}}@media(max-width:767px){:root{--sidebar: 0px}.sidebar{width:270px;transform:translate(-100%);transition:transform .2s}.sidebar.mobile-open{transform:translate(0)}.sidebar.mobile-open .brand{margin:22px 18px}.sidebar.mobile-open .brand-text,.sidebar.mobile-open .workspace-label{display:block}.sidebar.mobile-open nav span{display:block}.sidebar.mobile-open .help-box{display:block}.sidebar.mobile-open .sidebar-bottom{padding:25px 20px}.sidebar.mobile-open nav>button{justify-content:initial;padding:13px;font-size:14px}.sidebar.mobile-open .logo-surface{width:55px;height:55px}.sidebar.mobile-open .brand-text strong{font-size:15px}.sidebar.mobile-open .brand-text span{font-size:7px}.sidebar.mobile-open .brand>.icon-btn{margin-left:auto}.mobile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#112b2266;z-index:29;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.app-main{margin-left:0}.collapsed{--sidebar: 0px}.mobile-only{display:inline-flex}.collapse-button{display:none}.topbar{height:68px;padding:0 16px;gap:8px}.topbar-left{gap:10px}.topbar-left .breadcrumb{font-size:11px}.topbar-left .breadcrumb>svg,.breadcrumb strong{display:none}.topbar-right{gap:2px}.user-button{border:0;padding:0 0 0 6px;gap:4px}.user-button>span:not(.avatar),.user-button>svg{display:none}.user-button .avatar{width:31px;height:31px;font-size:10px}.theme-toggle{min-width:32px}.profile-strip{padding:10px 18px;gap:8px;flex-wrap:wrap}.profile-control{justify-content:space-between;width:100%;gap:10px}.profile-strip .demo-indicator{font-size:9px}.profile-strip .select-wrap{max-width:190px}.profile-strip select{font-size:11px}.profile-control .select-wrap{margin-left:auto}.child-selector{width:100%;justify-content:space-between;border-top:1px solid var(--border);padding-top:8px}.content,.family-shell .content{padding:24px 18px 35px}.page-head{margin-bottom:23px}.page-head h1{font-size:25px;letter-spacing:-.7px}.page-head .eyebrow{font-size:9px;line-height:1.6}.page-head p{font-size:13px;line-height:1.65}.page-head .actions{width:100%}.eyebrow{font-size:9px;line-height:1.6}.dashboard-filters{gap:8px}.dashboard-filters>.select-wrap{flex:1;min-width:145px}.dashboard-filters>.select-wrap select{font-size:11px;min-height:38px}.dashboard-filters .text-btn{font-size:12px}.section-title{margin:24px 0 15px;align-items:center}.section-title h2{font-size:16px}.section-title>.badge{font-size:9px}.stats.four,.stats.three{grid-template-columns:1fr 1fr;gap:10px}.stats.three>.stat:last-child{grid-column:1/-1}.stat{padding:17px 14px}.stat>strong{font-size:25px;letter-spacing:-.8px;margin:9px 0}.stat-label{font-size:11px;line-height:1.5;min-height:34px;align-items:flex-start}.stat-label .stat-icon{width:22px;height:22px;min-width:22px;border-radius:5px}.stat-icon svg{width:14px}.stat-detail{font-size:10px;line-height:1.6}.card-head{padding:20px 18px;align-items:flex-start;gap:12px}.card-head h2{font-size:16px}.card-head p{font-size:11px}.chart-legend{flex-direction:column;gap:5px;font-size:9px}.chart{height:200px;margin:0 5px 7px 0}.chart-bottom{padding:14px 18px;display:block;font-size:10px}.chart-bottom>span{display:block}.chart-bottom>span:last-child{max-width:none;margin-top:5px}.community-card{padding:23px}.community-card h2{font-size:22px}.community-number{font-size:43px;gap:9px}.community-number span,.community-row{font-size:11px}.community-card>.eyebrow{margin-bottom:17px}.notice{font-size:12px;padding:13px 14px;gap:10px;align-items:flex-start}.notice.subtle{font-size:11px;line-height:1.6}.notice>svg{width:17px}.notice>.btn{margin-left:0;font-size:11px}.two-columns{gap:16px}.academic-card{padding:20px;gap:18px}.academic-card .eyebrow{font-size:8px}.academic-card strong{font-size:31px}.academic-card p{font-size:11px}.score-ring{width:83px;height:83px}.score-ring span{width:66px;height:66px;font-size:21px}.attention-row strong{font-size:11px}.attention-row small{font-size:10px}.activity-card{padding:20px}.app-footer{padding:20px 18px;font-size:9px;gap:20px;line-height:1.7}.summary-pills{gap:15px;font-size:12px}.summary-pills button{margin-left:0;width:100%;font-size:12px;justify-content:center}.filter-bar{padding:16px;gap:9px}.filter-bar>.search-input{max-width:none;min-width:100%;flex-basis:100%}.filter-bar>.select-wrap{flex:1;min-width:140px}.filter-bar select,.filter-bar .text-btn{font-size:12px}.filter-secondary{padding:0 16px 16px;gap:12px}.filter-secondary .field{font-size:11px}.filter-secondary>.muted{font-size:11px}.table-scroll th,.table-scroll td{padding:13px 14px;font-size:12px}.table-scroll th{font-size:11px}.person-cell{gap:9px}.person-cell strong{font-size:12px}.person-cell small{font-size:10px}.table-scroll td:first-child{max-width:200px}.table-scroll .person-cell>span{max-width:133px}.table-scroll .person-cell strong{white-space:normal}.table-scroll .person-cell .avatar{display:none}.pagination{font-size:10px;padding:12px 14px;gap:6px}.pagination .actions{gap:3px}.pagination .icon-btn{min-width:31px;min-height:35px}.student-header{gap:15px;margin-bottom:25px}.student-header .avatar{width:52px;height:52px;font-size:18px}.student-header>div:nth-child(2){flex:1}.student-header h1{font-size:20px}.student-header .eyebrow{font-size:8px}.student-header p{font-size:11px}.student-header .student-status{flex-basis:100%}.student-header .badge{font-size:11px}.back-link{font-size:12px;margin-bottom:18px}.padded{padding:20px}.padded h2{font-size:17px}dl{grid-template-columns:1fr;gap:8px;margin:20px 0;font-size:13px}dd{margin-bottom:12px}.wizard-steps{padding:10px 6px}.wizard-steps>button{flex-direction:column;gap:7px;padding:7px 4px}.wizard-steps>button>div strong{font-size:9px;white-space:nowrap}.wizard-steps>button>span{width:27px;height:27px}.wizard-form h2{font-size:16px}.wizard-form .section-title>.badge{font-size:10px}.form-grid{grid-template-columns:1fr;gap:0}.field{font-size:13px;margin-bottom:18px}.wizard-footer{flex-direction:column}.wizard-footer>.btn{width:100%}.wizard-footer .actions{justify-content:space-between}.wizard-footer .actions>.btn:last-child{margin-left:auto}.upload-zone{padding:20px 13px}.upload-zone strong{font-size:12px}.upload-zone small{font-size:10px}.wizard-form details{padding:0 13px}.tabs{gap:21px;margin-bottom:20px}.tabs button{font-size:12px;padding:14px 0}.subject-grid{grid-template-columns:1fr 1fr;gap:12px}.subject-card{padding:20px 16px}.subject-card h2{font-size:16px;min-height:48px;display:flex;align-items:center;line-height:1.5}.subject-card p{font-size:11px;line-height:1.6}.subject-card p>svg{display:none}.subject-icon{width:39px;height:39px;margin-bottom:13px}.subject-icon>svg{width:23px}.subject-cohorts{margin:16px 0}.subject-cohorts .badge{font-size:9px;padding:4px 6px}.subject-card>button{font-size:11px}.subject-card>button>svg{width:14px}.hours-grid{grid-template-columns:1fr}.schedule th:first-child,.schedule td:first-child{max-width:60px;min-width:60px;padding:15px 8px}.schedule th,.schedule td{min-width:130px}.settings-layout{gap:16px}.theme-options{gap:9px}.theme-options button{padding:20px 10px}.settings-layout .actions{flex-direction:column;align-items:stretch}.settings-layout .actions .btn{font-size:12px}.settings-layout .actions.spread{flex-direction:row}.settings-layout p{font-size:13px}.switch-label{font-size:12px}.grade-toolbar{padding:16px}.grade-toolbar .actions{gap:9px}.grade-toolbar .field{width:100%}.grade-toolbar .btn{font-size:11px;padding:10px 12px}.grade-toolbar>.badge{font-size:10px}.attendance-status{padding:12px 15px;flex-wrap:wrap;font-size:10px}.attendance-status small{font-size:9px}.sheet-hint{padding:12px 15px;font-size:10px;line-height:1.6}.spreadsheet th:first-child{width:153px;min-width:153px;max-width:153px}.spreadsheet td:first-child{max-width:153px;min-width:153px;padding:13px 12px}.spreadsheet th{min-width:140px}.spreadsheet td:first-child .person-cell>span{max-width:125px}.spreadsheet td:first-child strong{font-size:11px;white-space:normal}.spreadsheet td>input{font-size:16px}.grade-footer{padding:16px;align-items:flex-start;flex-direction:column;gap:12px}.grade-footer .checkbox-label{font-size:11px;align-items:flex-start}.grade-footer small{font-size:10px}.mobile-cell-editor{display:block;padding:20px;background:var(--soft);border-top:1px solid var(--border)}.mobile-cell-editor>strong{font-size:13px;display:block;margin-bottom:15px}.mobile-cell-editor .field{font-size:12px}.mobile-cell-editor input{font-size:16px}.attendance-list label>span{font-size:11px}.attendance-list .avatar{width:29px;height:29px;font-size:10px}.activity-form .form-grid .notice{margin-top:0}.family-welcome h1{font-size:32px}.family-welcome p{font-size:11px}.family-welcome .avatar.xl{width:64px;height:64px;font-size:22px}.family-welcome .eyebrow{font-size:8px;max-width:220px;line-height:1.7}.family-scores{gap:10px}.family-scores .stat{padding:18px 15px}.family-scores .stat>strong{font-size:31px}.family-scores .stat-label{font-size:11px;min-height:44px}.family-scores .stat-label .stat-icon{display:none}.family-scores .stat-detail{font-size:10px}.school-tabs .tabs{gap:16px}.school-tabs .tabs button{font-size:11px}.subject-bars{gap:18px}.subject-bars>button{grid-template-columns:94px 1fr 25px;gap:12px;font-size:11px}.bar-track{height:12px}.family-subjects{grid-template-columns:1fr 1fr;gap:12px}.family-subject{padding:17px 14px}.family-subject h3{font-size:15px;min-height:40px;line-height:1.4;margin:15px 0 17px}.family-subject .actions{flex-wrap:nowrap}.family-subject .subject-icon{width:33px;height:33px}.family-subject .subject-icon>svg{width:19px}.family-subject .actions>svg{width:15px}.subject-scores{gap:10px;flex-direction:column}.subject-scores>span{font-size:10px;display:flex;align-items:center;justify-content:space-between;gap:6px}.subject-scores strong{font-size:25px;margin:0}.subject-scores>span:last-child{padding:8px;margin:0 -5px;font-size:9px;line-height:1.4}.subject-scores>span:last-child strong{font-size:19px}.child-card{padding:28px 23px 0}.child-card h2{font-size:22px}.child-card .avatar.xl{width:76px;height:76px;font-size:25px}.child-stats{gap:38px}.child-stats strong{font-size:19px}.family-activity{gap:12px;flex-wrap:wrap;padding:20px 0}.family-activity .mini-icon{width:30px;height:30px}.family-activity h3{font-size:13px}.family-activity p{font-size:11px}.family-activity small{font-size:10px}.family-activity>strong{font-size:17px;margin-left:42px}.family-activity>.badge{margin-left:42px}.notification-list>button{padding:20px 16px;gap:12px;flex-wrap:wrap}.notification-list strong{font-size:15px}.notification-list>button>span:nth-child(2){flex-basis:calc(100% - 65px)}.notification-list .badge{font-size:10px;margin-left:52px}.notification-list>button>svg{margin-left:auto}.notification-icon{width:39px;height:39px}.notification-list p{font-size:11px}.notification-list small{font-size:10px}.credentials-grid{margin-top:25px}.id-top{padding:20px}.id-body{padding:23px}.id-top img{width:74px;height:74px}.id-top strong{font-size:17px}.id-body h2{font-size:20px}.modal{max-height:calc(100dvh - 24px);width:calc(100% - 24px);border-radius:12px}.modal-head{padding:17px 20px;gap:12px}.modal-head h2{font-size:17px}.modal-body{padding:20px}.modal-body>p{font-size:14px}.modal.wide{width:calc(100% - 24px)}.history-row{flex-wrap:wrap}.history-row>span{min-width:180px}.history-row>.btn{margin-left:30px}.toast{font-size:12px;bottom:15px;line-height:1.6}.guide-item{gap:12px}.guide-item h3{font-size:15px}.guide-item p{font-size:13px}.login{display:block}.login-brand{display:none}.login-form{padding:35px 27px;max-width:460px;min-height:100vh}.login-mobile-logo{display:block;margin:0 auto 30px;width:125px;background:#fff;border-radius:12px}.login-mobile-logo img{width:125px;display:block}.login-form h2{font-size:27px}.login-form>.badge{font-size:8px;margin-bottom:17px}.login-form>p{font-size:13px;margin:12px 0 27px}.login-form .field input,.login-form .field select{font-size:16px}.login-form .field{font-size:12px}.demo-credentials{font-size:10px}.login-form>.text-btn{font-size:12px}.demo-login-note p{font-size:11px}.academic-card .score-ring{margin-left:auto}.table-scroll td>small{max-width:230px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.finance-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:16px;padding:20px;margin-bottom:20px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.finance-filters>*,.finance-filters .field{min-width:0}.finance-filters .field{width:100%;margin:0;gap:8px}.finance-filters input,.finance-filters select{width:100%;min-width:0;min-height:44px;margin:0}.finance-filters>.finance-filter-reset{grid-column:1 / -1;justify-self:end}.finance-advanced-filters{grid-column:1 / -1}.finance-advanced-grid,.dashboard-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:16px;margin-top:18px}.dashboard-filters .field{width:100%;min-width:0;margin:0}.dashboard-filters :is(input,select){width:100%;min-width:0}.finance-filter-order{min-width:0}.finance-period-summary{margin-block:24px}.finance-period-summary h2{margin:0 0 12px;font-size:18px}.stats-grid.money-stats.finance-period-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-period-amounts{display:block;margin:6px 0 0;width:100%;min-width:205px;font-variant-numeric:tabular-nums}.finance-period-amounts>div{display:flex;justify-content:space-between;gap:16px;padding-block:3px}.finance-period-amounts dt{color:var(--muted)}.finance-period-amounts dd{margin:0;white-space:nowrap}.finance-period-amounts>div:last-child{border-top:1px solid var(--border);margin-top:3px;padding-top:6px}@media(max-width:700px){.stats-grid.money-stats.finance-period-stats{grid-template-columns:minmax(0,1fr)}.finance-period-amounts{min-width:0}.responsive-table tbody td:has(.finance-period-amounts){grid-template-columns:minmax(0,1fr);gap:8px;border-top:1px solid var(--border);padding-block:14px}.finance-filters>.field:has(select[aria-label="Ciclo escolar"]){grid-column:1 / -1}.finance-filters>.finance-period-filter{grid-column:1 / -1}}summary{cursor:pointer}@media(max-width:1200px){.finance-filters,.finance-advanced-grid,.dashboard-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.finance-advanced-grid,.dashboard-filters{grid-template-columns:minmax(0,1fr)}.finance-filters{gap:12px;padding:14px}.finance-filters .field{font-size:12px;gap:6px}.finance-filters input,.finance-filters select{padding:10px 8px;font-size:16px}.finance-filters>.finance-filter-search,.finance-filters>.finance-filter-order{grid-column:1 / -1}}.signature-pad{width:100%;max-width:720px;margin:20px 0}.signature-pad>p{margin:6px 0 12px;color:var(--muted)}.signature-pad-paper{position:relative;overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:12px}.signature-pad-paper canvas{display:block;width:100%;height:auto;aspect-ratio:2;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:crosshair}.signature-pad-paper canvas[aria-disabled=true]{cursor:wait}.signature-pad-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#69766d;pointer-events:none}.signature-pad-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:10px}.signature-pad-actions [role=status]{font-size:13px;color:var(--muted)}.notice{padding:14px 18px;border:1px solid var(--border);border-radius:12px;background:var(--bg);margin:12px 0;line-height:1.6}.calendar-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.calendar-level-card{text-align:left;cursor:pointer;color:var(--text);transition:border-color .15s}.calendar-level-card:hover{border-color:var(--green)}.calendar-level-card h2{margin:18px 0 8px}.calendar-level-card p{color:var(--muted)}.calendar-symbol{display:inline-flex;padding:14px;border-radius:14px;background:var(--bg);color:var(--green)}.calendar-month-panel{margin-bottom:24px}.calendar-month-title:first-letter{text-transform:uppercase}.calendar-week-labels,.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-week-labels{text-align:center;color:var(--muted);margin:18px 0 10px;font-size:12px}.calendar-day{position:relative;min-height:88px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);text-align:left;padding:10px;cursor:pointer}.calendar-day strong{display:block;font-size:16px}.calendar-day small{display:block;margin-top:5px;color:var(--muted)}.calendar-day.nonworking{background:var(--bg)}.calendar-day.selected{box-shadow:inset 0 0 0 2px var(--green);border-color:var(--green)}.calendar-day:disabled{opacity:.4;cursor:default}.calendar-gesture-day{position:relative;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.calendar-gesture-day.picked{box-shadow:inset 0 0 0 3px var(--green);border-color:var(--green)}.calendar-pick-check{position:absolute;right:4px;bottom:2px;color:var(--green);font-size:13px;font-weight:800}.calendar-selection{position:sticky;top:10px;z-index:5;background:var(--surface);border-color:var(--green);box-shadow:0 4px 16px #00000012}.calendar-selection .actions{margin:12px 0;flex-wrap:wrap}.calendar-selection summary{cursor:pointer}.calendar-picked-dates{display:flex;flex-wrap:wrap;gap:6px;max-height:130px;overflow:auto;padding-top:10px}.calendar-day-mark{display:block;font-size:10px;color:var(--muted);margin-top:4px}.calendar-exam-mark{position:absolute;right:7px;top:7px;font-size:10px;font-weight:700}@media(max-width:700px){.content .btn{max-width:100%;white-space:normal;line-height:1.4}.content .actions{min-width:0}.calendar-selection{padding:12px}.calendar-selection .actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.calendar-selection .actions .btn{padding:8px}.calendar-selection .actions .btn:first-child{grid-column:1 / -1}.calendar-levels{grid-template-columns:1fr}.calendar-month-panel{padding:16px}.calendar-month-panel .panel-heading{display:block}.calendar-month-panel .actions{flex-wrap:wrap}.calendar-week-labels,.calendar-month-grid{gap:3px}.calendar-day{padding:5px;min-height:70px;border-radius:8px}.calendar-day small span{display:none}.calendar-day-mark{font-size:8px}.calendar-exam-mark{right:3px;top:3px}}.notice p{margin:0}.notice.warning{background:#fff8e7;border-color:#e5c782;color:#795010}.notice.error{background:#fff0ef;border-color:#ecc0bc;color:#a12c22}.notice.success{background:#eaf2ec;border-color:#afc8b5;color:#2c613c}.mfa-warning{display:flex;align-items:center;gap:12px}.mfa-warning span{flex:1}.detail-grid,.children-grid,.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.detail-list{display:grid;grid-template-columns:auto 1fr;gap:12px 24px}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0}.role-permissions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.role-permissions fieldset{border:1px solid var(--border);border-radius:12px;padding:14px}.role-permissions label{display:flex;gap:8px;padding:5px}.role-permissions input{width:auto;min-height:20px}.totp-qr{max-width:230px;background:#fff;padding:12px;border-radius:12px}.recovery-codes{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-family:monospace}.warning-text{color:#946017;display:inline-flex;gap:5px;align-items:center}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.pagination>div{display:flex;align-items:center;gap:12px}.table-scroll{max-width:100%;overflow:auto}.table-scroll td small{display:block;color:var(--muted)}.table-scroll td>p,.table-scroll td>strong{white-space:normal;overflow-wrap:anywhere;max-width:280px}.table-scroll td>strong{display:block}.table-scroll td:first-child{min-width:175px}.notice-image{display:block;width:100%;max-width:640px;max-height:440px;object-fit:contain;margin:16px auto;border-radius:12px;background:#fff}.document-hash{overflow-wrap:anywhere;font-size:12px;color:var(--text-secondary)}.regulation-article{min-width:250px;max-width:700px;white-space:normal}.table-scroll table:has(.regulation-article) :is(th,td):first-child{min-width:72px;width:72px}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.table-scroll th:first-child,.table-scroll td:first-child{position:sticky;left:0;background:var(--surface);z-index:1}.login-story{background:#173f29;color:#fff;padding:50px 64px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.login-story h1{font-size:clamp(36px,4vw,60px);line-height:1.12;letter-spacing:-2px}.login-story p{max-width:420px;color:#dce5df;line-height:1.7}.login-year{font-size:10px;letter-spacing:2px}.login-mobile-logo{display:none}.login-form>form{display:grid;gap:18px}.login-form h2{font-size:32px;letter-spacing:-1px}.demo-login-note{display:flex;gap:12px;align-items:center;margin-top:30px;color:var(--muted);font-size:12px}.sidebar nav{overflow:auto}.sidebar-bottom{margin-top:auto}.toast{position:fixed;bottom:24px;right:24px;z-index:100;background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:0 8px 32px #0002;border-radius:12px;padding:16px;max-width:calc(100vw - 48px);display:flex;align-items:center;gap:12px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.panel{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:22px;margin-bottom:22px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:16px;margin-bottom:24px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:26px 0 16px}.student-documents .section-heading{margin-top:0}.student-documents .filter-bar{padding-inline:0}@media(max-width:767px){.panel{padding:16px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats-grid>.stat:last-child:nth-child(odd){grid-column:1/-1}.stats-grid .stat>strong{font-size:clamp(20px,6vw,29px)}.section-heading{align-items:flex-start}.student-documents .section-heading{flex-direction:column}.student-documents .filter-bar>.field{width:100%}}.field>label{display:grid;gap:8px}.field>label>input{width:100%}[data-theme=dark] .notice.warning{background:#302c1a;color:#ecd59f;border-color:#665430}[data-theme=dark] .notice.error{background:#371f22;color:#f9b9b2;border-color:#743936}[data-theme=dark] .notice.success{background:#203b29;color:#b9dfc2;border-color:#436d50}@media(max-width:767px){.detail-grid,.children-grid,.settings-grid,.role-permissions{grid-template-columns:1fr}.login-story{display:none}.login-mobile-logo{display:block;background:#fff;padding:8px;border-radius:12px;width:120px;margin-bottom:24px}.login-mobile-logo img{width:100%}.pagination{align-items:flex-start;flex-direction:column}.mfa-warning{align-items:flex-start;flex-wrap:wrap}.detail-list{grid-template-columns:1fr;gap:4px}.detail-list dd{margin-bottom:12px}.login-form h2{font-size:29px}}.grade-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:24px 0}.live-grade-table th{min-width:220px}.live-grade-table th:first-child{min-width:270px}.live-grade-table th small{display:block;margin:5px 0;color:var(--muted)}.live-grade-table th label{display:flex;align-items:center;gap:7px;font-size:11px}.live-grade-table input[type=checkbox]{width:16px;min-height:16px}.grade-cell{display:flex;gap:5px;align-items:center;padding:6px}.grade-cell input{width:76px;text-align:center}.grade-cell.pending{background:#fff0ef;border:1px solid #b42318;border-radius:8px}[data-theme=dark] .grade-cell.pending{background:#371f22;color:#f9b9b2;border-color:#a75b55}.grade-cell.pending small{color:inherit}.grade-cell.absence{background:var(--soft);color:var(--muted);font-size:12px;border-radius:8px}.activity-form{border:1px solid var(--border);border-radius:12px;margin:16px 0;padding:16px}.attendance-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border);padding:12px 0}.attendance-row>span:nth-child(2){flex:1}.attendance-row input,.attendance-mode input{width:20px;min-height:20px}.mobile-cell-editor{display:none}.subject-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.subject-card{text-align:left;background:var(--surface);border:1px solid var(--border);padding:24px;border-radius:14px}.subject-card small{display:block;color:var(--muted)}.subject-card>svg{margin-bottom:12px}.subject-card>.badge{float:right}.mfa-qr img{width:210px;max-width:100%}@media(max-width:1000px){.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.subject-grid{grid-template-columns:1fr}.mobile-cell-editor{display:block}.grade-toolbar{align-items:stretch}.grade-toolbar .field{flex-basis:100%}.live-grade-table th:first-child{min-width:160px;max-width:160px}}.activation-page{max-width:560px;margin:7vh auto;padding:20px}.uniform-image{height:220px;background:var(--soft);display:grid;place-items:center;color:var(--green)}.uniform-image img{width:100%;height:100%;object-fit:contain}.uniform-price{display:block;font:750 25px Manrope,sans-serif;margin:14px 0}.uniform-card .actions{margin:14px 0}.uniform-card a.btn{text-decoration:none}.activation-page form{display:grid;gap:16px}.family-selector-row{margin-bottom:18px;max-width:560px}.family-selector-row .field{margin:0}.subject-bars button strong{min-width:78px;text-align:right}@media(max-width:767px){.family-selector-row{max-width:100%}.family-scores .stat{min-width:0}.family-scores .stat>strong{font-size:clamp(20px,6vw,30px)}.subject-bars button{grid-template-columns:100px minmax(20px,1fr) 78px}}.trip-summary-title{display:flex;align-items:center;gap:18px}.trip-summary-title h2{margin:10px 0 0}.trip-copy{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75}.trip-summary .form-grid p{line-height:1.8}.hash-text{overflow-wrap:anywhere;font-size:12px;color:var(--muted)}.check-row{display:flex;align-items:flex-start;gap:10px;margin:16px 0;line-height:1.6}.check-row input[type=checkbox]{flex:0 0 auto;width:18px;height:18px;margin-top:4px}.student-advanced-filters{margin-bottom:20px}.student-advanced-filters>summary{cursor:pointer;font-weight:700;padding:4px 0}.schedule-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:12px}.schedule-scroll:focus-visible{outline:3px solid var(--green);outline-offset:3px}.schedule-week{display:grid;grid-template-columns:repeat(7,minmax(164px,1fr));min-width:1148px}.schedule-day{padding:14px 10px;border-right:1px solid var(--border);min-width:0}.schedule-day:last-child{border-right:0}.schedule-day h3{margin:0 0 6px;font-size:.95rem}.schedule-day>small{display:block;margin-bottom:18px;color:var(--muted)}.schedule-entry{display:flex;flex-direction:column;gap:7px;width:100%;margin:10px 0;padding:12px;border:1px solid var(--border);border-top:4px solid;border-radius:10px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer;overflow-wrap:anywhere}.schedule-entry strong{font-size:.8rem}.schedule-entry span{font-size:.88rem;font-weight:650}.schedule-entry small{font-size:.76rem;line-height:1.4}.schedule-entry:hover{box-shadow:0 3px 12px #173f291a}.student-advanced-filters[open]>summary{margin-bottom:16px}.student-advanced-filters .filter-bar{margin-bottom:0}.collection-alert{display:flex;align-items:flex-start;gap:12px;border:1px solid #d9b86b;border-left:4px solid #a66b08;border-radius:14px;padding:16px;margin-bottom:16px;background:#fffaf0;color:#684a12}.collection-alert>svg{flex-shrink:0;margin-top:3px}.collection-alert>div{flex:1;min-width:0}.collection-alert p{margin:6px 0}.collection-alert summary{cursor:pointer;font-size:.85rem}.collection-alert.orange{border-color:#db9b64;border-left-color:#ad5111;background:#fff5ec;color:#78380b}.collection-alert.red{border-color:#deb1a8;border-left-color:#b42318;background:#fff3f1;color:#8e241c}[data-theme=dark] .collection-alert{background:#30271b;color:#f3d39b;border-color:#856336}[data-theme=dark] .collection-alert.orange{background:#35271b;color:#ffcf9c}[data-theme=dark] .collection-alert.red{background:#352321;color:#ffc1b9;border-color:#92584f}@media(max-width:767px){.collection-alert{flex-wrap:wrap}.collection-alert>div{flex-basis:calc(100% - 36px)}.collection-alert>.btn{margin-left:32px}}@media(min-width:768px){.app-shell .sidebar{width:var(--sidebar)}.app-shell.collapsed{--sidebar: 84px}.app-shell.collapsed .sidebar{--sidebar: 84px;width:84px}.app-shell.collapsed .app-main{margin-left:84px}.app-shell.collapsed .brand{margin:22px 10px;justify-content:center}.app-shell.collapsed .logo-surface{flex:0 0 60px;width:60px;margin:0}.app-shell.collapsed .sidebar-bottom{padding:18px 10px}.app-shell.collapsed .collapse-button{width:100%;min-height:44px}}.menu-letter{display:grid;gap:24px}.menu-letter-day{padding:24px;border:1px solid var(--border);border-radius:18px;background:var(--surface, #fff)}.menu-letter-day h2{margin:0 0 20px;text-transform:capitalize}.menu-letter-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.menu-course{padding:20px;border-radius:14px;background:#eaf2ec;color:#173f29}.menu-course.postre{background:#fbefdd;color:#744819}.menu-course.bebida{background:#e7f0f8;color:#214762}.menu-course h3{display:flex;align-items:center;gap:8px;margin-top:0}.menu-course ul{padding-left:18px;margin-bottom:0}.menu-course li{margin:12px 0;font-size:16px}[data-theme=dark] .menu-letter-day{background:#18271e}[data-theme=dark] .menu-course{background:#243d2c;color:#d7eedd}[data-theme=dark] .menu-course.postre{background:#433623;color:#f2d7ac}[data-theme=dark] .menu-course.bebida{background:#233b4c;color:#cde5f7}@media(max-width:767px){.menu-letter-sections{grid-template-columns:1fr}.menu-letter-day{padding:16px}}.cycle-overview{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px}.cycle-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cycle-overview-heading h2{margin:0 0 4px;font-size:20px}.cycle-overview-heading p,.cycle-pdf-note{margin:0;color:var(--muted);font-size:12px}.cycle-overview-hint{display:flex;align-items:center;flex-wrap:wrap;gap:4px 16px;color:var(--muted);font-size:12px;margin-top:12px}.cycle-calendar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.cycle-mini-month{border:1px solid var(--border);border-radius:10px;padding:8px;min-width:0}.cycle-mini-month h3{margin:0 0 4px}.cycle-mini-month h3 button{width:100%;min-height:30px;background:transparent;color:var(--text);border:0;border-radius:5px;font:inherit;font-size:12px;font-weight:700;text-transform:capitalize;padding:2px 0;cursor:pointer}.cycle-mini-month h3 button:hover{background:var(--bg)}.cycle-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;text-align:center}.cycle-days small{color:var(--muted);font-size:9px;margin-bottom:4px}.cycle-overview .cycle-days .btn{min-width:0;min-height:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;font-size:12px;line-height:1;border:0;border-radius:3px;position:relative;font-variant-numeric:tabular-nums}.cycle-days .nonworking{background:var(--bg);color:var(--muted)}.cycle-day-stripes{position:absolute;bottom:0;left:0;right:0;display:flex;height:3px}.cycle-day-stripes i{flex:1}.cycle-overview .calendar-pick-check{font-size:8px;top:-2px;right:-2px;bottom:auto;width:12px;height:12px;line-height:10px;border:1px solid var(--surface);border-radius:50%;background:var(--green);color:var(--surface)}.calendar-color-panel{border:1px solid var(--border);border-radius:12px;background:var(--surface);margin:16px 0 12px}.calendar-color-panel summary{cursor:pointer;padding:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:48px}.calendar-color-panel summary:after{content:"+";margin-left:auto;font-size:20px}.calendar-color-panel[open] summary:after{content:"−"}.calendar-color-panel summary>span:last-child{font-size:12px;color:var(--muted)}.legend-summary-colors{display:flex;gap:3px}.legend-summary-colors i{width:14px;height:14px;border:1px solid var(--border);border-radius:3px}.calendar-color-body{border-top:1px solid var(--border);padding:14px}.calendar-color-body .panel-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:16px}.calendar-color-body p{font-size:12px;color:var(--muted);margin:0}.calendar-color-body h3{font-size:12px;margin:16px 0 10px}.calendar-color-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.calendar-color-option{display:flex;align-items:center;gap:10px;text-align:left;padding:8px;min-height:52px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:13px;line-height:1.35;cursor:pointer;overflow-wrap:anywhere}.calendar-color-option:hover,.calendar-color-option.active{border-color:var(--green);background:var(--bg)}.calendar-color-swatch{flex:0 0 32px;width:32px;height:32px;border:1px solid var(--border);border-radius:5px}.calendar-color-check{margin-left:auto;font-weight:700}.calendar-color-key{display:flex;align-items:center;gap:8px;margin-top:16px!important}.calendar-color-key i{display:inline-block;flex:0 0 18px;height:18px;border:1px solid var(--border);background:var(--bg)}.day-colors{display:flex;gap:2px;min-height:5px;width:100%;justify-content:center}.day-colors i{width:8px;height:5px;border-radius:2px}.calendar-legend{display:flex;flex-wrap:wrap;gap:14px}.calendar-legend span{display:inline-flex;align-items:center;gap:6px}.calendar-legend i{width:13px;height:13px;border-radius:4px}@media(max-width:1100px){.cycle-calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.cycle-overview{padding:10px}.cycle-overview-heading h2{font-size:16px}.cycle-overview-heading .btn{font-size:12px;min-height:40px;padding:8px 12px}.cycle-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.cycle-mini-month{padding:10px 6px;border-radius:7px}.cycle-mini-month h3 button{font-size:15px;min-height:36px}.cycle-mini-month h3{margin-bottom:2px}.cycle-days small{font-size:11px;line-height:16px;margin-bottom:2px}.cycle-overview .cycle-days .btn{font-size:13px;height:30px;min-height:30px}.calendar-color-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.calendar-color-option{font-size:12px;gap:6px;padding:6px}.calendar-color-swatch{flex-basis:28px;width:28px;height:28px}.calendar-color-body{padding:10px}.calendar-color-panel summary{padding:10px;gap:6px;font-size:13px}}.planning-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.planning-card{border-top:4px solid #347348}.planning-card.homework{border-top-color:#497d9a}.planning-card.exam{border-top-color:#b7791f}.place-picker{grid-column:1/-1;display:grid;gap:12px}.place-result{border:1px solid var(--border);border-radius:12px;padding:12px}@media(max-width:767px){.planning-cards{grid-template-columns:1fr}}.text-editor{border:1px solid var(--border);border-radius:12px;overflow:hidden;margin:12px 0}.editor-toolbar{display:flex;gap:4px;flex-wrap:wrap;background:var(--bg);padding:8px;border-bottom:1px solid var(--border)}.text-editor textarea{border:0;border-radius:0;min-height:220px;line-height:1.7;padding:18px;resize:vertical}.text-editor>small{display:block;padding:8px 16px;color:var(--muted)}.rich-document{padding:20px;line-height:1.7}.text-editor .rich-document{min-height:200px}.rich-document p{white-space:pre-wrap}.draft-article{border-left:3px solid var(--border);padding:12px;margin-bottom:20px}.regulation-composer{margin-top:24px}.category-month-selection{margin:18px 0;padding:16px;border:1px solid var(--border);border-radius:12px;min-width:0}.category-month-selection legend{font-weight:700}.category-month-selection p{margin:6px 0 12px}.category-month-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:4px 16px;margin-top:10px}.category-month-options .check-row{min-height:44px;margin:0}.month-outline-labels{font-size:12px;margin:8px 0 14px}.developer-view-picker{display:grid;gap:.5rem;padding:.75rem;min-width:245px}.developer-view-picker select{width:100%}.student-cell,.student-identity-row{display:flex;align-items:center;gap:14px;width:100%;min-width:220px;text-align:left;color:inherit}.student-cell{border:0;background:transparent;padding:8px 0;cursor:pointer}.student-cell>.avatar,.student-identity-row>.avatar{flex:0 0 48px;width:48px;height:48px;border-radius:50%;border:0;box-shadow:none}.class-roster-panel .student-cell{cursor:default}.class-roster-panel>.muted{margin:8px 0 16px}.class-roster-panel .table-scroll table{min-width:0;width:100%}.student-cell>span:not(.avatar),.student-identity-row>span:not(.avatar){display:grid;gap:4px;min-width:0;text-align:left;overflow-wrap:anywhere;white-space:normal}.student-cell strong{display:block;line-height:1.45;white-space:normal}.student-cell small{display:block;line-height:1.45;margin:0}.avatar-photo{object-fit:cover;object-position:center}.erp-account-origin{margin-block:16px}.erp-account-origin p{margin:6px 0}.cell-content{min-width:0}.cell-content>small{display:block;color:var(--muted)}.money-stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.stat{min-width:0;container-type:inline-size}.stats-grid .stat>strong{font-size:clamp(22px,11cqi,36px);max-width:100%;overflow-wrap:anywhere}@media(max-width:700px){.stats-grid.money-stats{grid-template-columns:minmax(0,1fr)}.stats-grid.money-stats .stat{padding:18px}.stats-grid.money-stats .stat>strong{font-size:clamp(24px,8vw,32px);margin-block:10px}.responsive-table{overflow:visible}.responsive-table table,.responsive-table tbody{display:block;width:100%;min-width:0}.responsive-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.responsive-table tbody tr{display:grid;gap:0;padding-block:16px;border-bottom:1px solid var(--border)}.responsive-table tbody tr:first-child{padding-top:0}.responsive-table tbody tr:last-child{border-bottom:0;padding-bottom:0}.responsive-table tbody td,.responsive-table tbody td:first-child{position:static;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:12px;padding:8px 0;width:auto;min-width:0;max-width:none;border:0;white-space:normal;overflow-wrap:anywhere;font-size:13px;background:transparent}.responsive-table tbody td:before{content:attr(data-label);color:var(--muted);font-size:12px}.responsive-table tbody td:first-child{display:block;padding:0 0 12px;font-size:14px}.responsive-table tbody td:first-child:before{display:none}.responsive-table .student-cell,.responsive-table .student-identity-row{min-width:0;align-items:flex-start}.responsive-table .student-cell small,.responsive-table .student-identity-row small{font-size:12px;white-space:normal}.responsive-table .person-cell>span{max-width:none;min-width:0}.responsive-table .person-cell .avatar{display:inline-flex}.responsive-table .cell-content .btn{white-space:normal;text-align:left;padding:8px 0}.pagination{flex-wrap:wrap;justify-content:center;row-gap:8px}.pagination>div{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}.page-head .actions{width:100%}.page-head .actions .btn{flex:1 1 auto}}@media(max-width:640px){.student-cell,.student-identity-row{min-width:0;gap:12px}}.account-movements{--current-tuition-color: #2563a6}.charge-green{--charge-color: var(--green)}.charge-yellow{--charge-color: var(--amber)}.charge-red{--charge-color: var(--red)}.charge-neutral{--charge-color: var(--muted)}.account-movements .charge-row>td{background:color-mix(in srgb,var(--charge-color) 6%,var(--surface))}.account-movements .charge-row>td:first-child{border-left:4px solid var(--charge-color)}.account-movements .charge-current>td{border-top:2px solid var(--current-tuition-color);border-bottom:2px solid var(--current-tuition-color)}.account-movements .charge-current>td:first-child{border-left:4px solid var(--current-tuition-color)}.account-movements .charge-current>td:last-child{border-right:2px solid var(--current-tuition-color)}.charge-concept{display:flex;flex-direction:column;align-items:flex-start;gap:5px;white-space:normal;overflow-wrap:anywhere}.charge-state-labels{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.current-tuition-label{display:inline-flex;align-items:center;border:1px solid var(--current-tuition-color);border-radius:5px;padding:3px 7px;color:color-mix(in srgb,var(--current-tuition-color) 75%,var(--text));background:color-mix(in srgb,var(--current-tuition-color) 8%,var(--surface));font-size:12px;font-weight:700;line-height:1.4}.account-movements .finance-record.neutral{--record-color: var(--muted);--status-bg: var(--bg)}.account-movements .family-record-row.charge-current{border:2px solid var(--current-tuition-color);border-radius:10px;padding:15px 12px;margin-block:8px}.account-movements .record-body .current-tuition-label{margin-top:7px;margin-right:6px}@media(max-width:700px){.account-movements .responsive-table .charge-row{padding:14px;margin-block:10px;border:1px solid var(--border);border-left:4px solid var(--charge-color);border-radius:10px;background:color-mix(in srgb,var(--charge-color) 6%,var(--surface))}.account-movements .responsive-table .charge-current{border:2px solid var(--current-tuition-color);border-left-width:4px}.account-movements .responsive-table .charge-row>td{border:0;background:transparent;box-shadow:none}}.finance-status-dot{width:.55rem;height:.55rem;border-radius:50%;background:currentColor;flex:0 0 auto;margin-right:.4rem}.finance-status-cell{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem}.finance-status-cell .badge{white-space:normal}.finance-status-cell small{max-width:15rem}.account-balance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.account-balance-card{display:flex;align-items:flex-start;flex-direction:column;gap:.75rem}.account-balance-card p,.account-balance-card h2{margin:0}.account-balance-card .big-number{font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.2}.finance-period-switch{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}@media(max-width:700px){.account-balance-grid{grid-template-columns:1fr}}@media(max-width:450px){.cycle-calendar-grid{grid-template-columns:minmax(0,1fr)}.cycle-overview .cycle-days .btn{font-size:14px;min-height:34px;height:34px}}.responsive-table td[data-label=Inscripción] .badge{white-space:normal;max-width:100%}
