@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";:root{--primary: #405189;--primary-dark: #303d69;--primary-soft: #eef0f8;--accent: #0ab39c;--accent-soft: #e7f8f5;--ink: #263244;--muted: #718096;--line: #e5e9f2;--surface: #ffffff;--canvas: #f4f6fa;--danger: #e85d75;--shadow: 0 8px 30px rgba(39, 51, 89, .08);font-family:DM Sans,system-ui,sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none}.family-credential{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.family-credential>div{display:grid;gap:.2rem;margin-right:auto}.family-credential code{padding:.55rem .75rem;border-radius:.55rem;background:#ffffffb8;color:var(--ink);font-weight:800}.family-portal{min-height:100vh;background:var(--surface)}.family-topbar{position:sticky;z-index:10;top:0;display:flex;align-items:center;justify-content:space-between;min-height:84px;padding:1rem clamp(1rem,5vw,5rem);border-bottom:1px solid var(--line);background:#fffffff5}.family-content{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:2.5rem 0 5rem}.family-student-card{display:grid;gap:1.25rem;margin-top:1.5rem}.family-student-card>header{display:flex;align-items:center;gap:1rem;padding:1.25rem;border:1px solid var(--line);border-radius:1rem;background:#fff}.family-student-card h2,.family-student-card h3,.family-student-card h4{margin:0}.family-avatar{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--primary);color:#fff;font:800 1.15rem Manrope;letter-spacing:.08em}.family-columns{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:1.25rem}.family-list{display:grid;padding:.5rem 1.5rem 1.5rem}.family-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.family-warning{color:var(--danger)}.family-calendar-toolbar{display:grid;gap:.75rem;padding:1rem 1.25rem .75rem}.family-calendar-empty{margin:0;padding:.75rem 1.25rem 0;font-size:.75rem}.family-month-nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;text-align:center;text-transform:capitalize}.family-calendar-toggle{width:100%}.family-calendar-toggle.active{color:#fff;border-color:var(--primary);background:var(--primary)}.family-attendance-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding:0 1.25rem .8rem;color:var(--muted);font-size:.67rem;font-weight:700}.family-attendance-legend span{display:inline-flex;align-items:center;gap:.3rem}.family-attendance-legend i{width:.7rem;height:.7rem;border-radius:.2rem}.family-attendance-calendar{padding:0 1.25rem 1rem}.family-attendance-calendar .weekdays{border-radius:.4rem .4rem 0 0}.family-attendance-calendar .month-days{min-height:224px;border:1px solid var(--line);border-top:0;border-radius:0 0 .4rem .4rem}.family-attendance-calendar .month-days>span{position:relative;min-height:2.25rem;font-size:.76rem;font-weight:700}.family-calendar-day.no-record{color:#9aa5b5;background:#f6f7fa}.family-calendar-day.attendance-present,.family-attendance-legend .attendance-present{color:#12643d;background:#ccefdc}.family-calendar-day.attendance-justified,.family-attendance-legend .attendance-justified{color:#71520a;background:#f9e7a7}.family-calendar-day.attendance-absent,.family-attendance-legend .attendance-absent{color:#8e2335;background:#f7cbd2}.family-event-markers{position:absolute;right:3px;bottom:3px;display:flex;gap:2px}.family-event-markers i{width:9px;height:9px;border:2px solid rgba(255,255,255,.95);border-radius:50%;background:#387b6e;box-shadow:0 1px 2px #26324447}.family-event-markers .event-vacaciones{background:#7d878b}.family-event-markers .event-consejo_tecnico{background:#a43d61}.family-event-markers .event-descarga_administrativa{background:#3283ae}.family-event-markers .event-festivo_oficial{background:#20252b}.family-event-markers .event-suspension{background:#111}.family-event-markers .event-docente{background:var(--primary)}.family-school-legend{padding:0 1.25rem;margin:0 0 .75rem}.family-school-legend .event-docente{color:#fff;background:var(--primary)}.family-month-events .event-dot.event-docente{background:var(--primary)}.family-month-events{display:grid;padding:0 1.25rem 1rem}.family-month-events>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.6rem;padding:.55rem 0;border-top:1px solid var(--line)}.family-month-events strong,.family-month-events small{display:block}.family-month-events small{margin-top:.1rem;color:var(--muted);font-size:.66rem}.family-activity-filters{display:grid;grid-template-columns:minmax(135px,.7fr) minmax(135px,.7fr) minmax(220px,1.4fr) auto;gap:.75rem;align-items:end;padding:1rem 1.4rem;border-bottom:1px solid var(--line);background:#fbfcfe}.family-activity-filters label{display:grid;gap:.35rem;color:#4c586b;font-size:.75rem;font-weight:700}.family-activity-filters input,.family-activity-filters select{min-width:0}.family-activity-table-wrap{max-height:620px;overflow:auto}.family-activity-table thead{position:sticky;z-index:2;top:0}.family-activity-table th,.family-activity-table td{padding:.7rem 1rem}.family-activity-table td:nth-child(2){width:38%;white-space:normal}.family-activity-table .field-chip{white-space:normal}@media(max-width:720px){.family-topbar{min-height:70px;padding:.75rem 1rem}.family-topbar .brand{font-size:1rem}.family-topbar .brand-mark{width:40px;height:40px}.family-content{width:min(100% - 1rem,1180px);padding-top:1.25rem}.family-columns{grid-template-columns:1fr}.family-student-card>header{align-items:flex-start}.family-calendar-toolbar,.family-attendance-calendar,.family-attendance-legend,.family-school-legend,.family-month-events{padding-right:.8rem;padding-left:.8rem}.family-attendance-calendar .month-days>span{min-height:2.75rem;font-size:.84rem}.family-event-markers i{width:10px;height:10px}.family-activity-filters{grid-template-columns:1fr 1fr;padding:.8rem}.family-activity-filters label:nth-child(3),.family-activity-filters .button{grid-column:1 / -1}.family-activity-table-wrap{max-height:none;overflow:visible;padding:.5rem .75rem .75rem}.family-activity-table thead{display:none}.family-activity-table,.family-activity-table tbody{display:block}.family-activity-table tr{display:grid;grid-template-columns:auto 1fr;gap:.25rem .75rem;margin-bottom:.5rem;padding:.75rem;border:1px solid var(--line);border-radius:.7rem}.family-activity-table td{display:block;width:auto!important;padding:0;border:0;white-space:normal}.family-activity-table td:before{display:none}.family-activity-table td:first-child{grid-column:1;grid-row:1;color:var(--muted);font-size:.7rem}.family-activity-table td:nth-child(2){grid-column:2;grid-row:1 / span 2}.family-activity-table td:nth-child(3){grid-column:1 / -1;margin-top:.25rem}.family-activity-table td:last-child{grid-column:1 / -1;margin-top:.2rem}.family-credential{align-items:stretch;flex-direction:column}}@media(max-width:520px){.family-topbar{min-height:56px;padding:.45rem .65rem}.family-topbar .brand{gap:.5rem;font-size:.88rem}.family-topbar .brand-mark{width:32px;height:32px;border-radius:.6rem;font-size:.68rem}.family-topbar .button{min-height:36px;padding:.45rem .65rem;font-size:.76rem}.family-content{width:min(100% - .75rem,1180px);padding-top:.65rem}.family-content>.page-heading{margin-bottom:.55rem}.family-content>.page-heading h1{margin-bottom:.15rem;font-size:1.55rem}.family-content>.page-heading .muted{margin-bottom:0;font-size:.82rem}.family-student-card{gap:.65rem;margin-top:.65rem}.family-student-card>header{gap:.65rem;padding:.7rem}.family-avatar{width:42px;height:42px;font-size:.82rem}.family-student-card>header .eyebrow{margin-bottom:.05rem}.family-student-card>header h2{margin-bottom:.05rem;font-size:1rem}.family-student-card>header .muted{margin-bottom:0;font-size:.72rem}}*{box-sizing:border-box}html,body{min-height:100%;max-width:100%;margin:0;overflow-x:hidden}body{background:var(--canvas)}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand{font-family:Manrope,sans-serif}h1{margin-bottom:.45rem;font-size:clamp(1.7rem,3vw,2.25rem);letter-spacing:-.04em}h2{margin-bottom:.35rem;font-size:1.15rem}h3{margin-bottom:.25rem}.muted{color:var(--muted)}.eyebrow{margin-bottom:.45rem;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.brand{display:flex;align-items:center;gap:.7rem;color:inherit;font-size:1.15rem;font-weight:800;text-decoration:none}.brand-mark{display:grid;width:2.25rem;height:2.25rem;place-items:center;border-radius:.7rem;color:#fff;background:linear-gradient(145deg,#6477bd,var(--primary-dark));font-size:.72rem;letter-spacing:-.04em;box-shadow:0 8px 18px #40518940}.button{min-height:2.6rem;padding:.65rem 1rem;border:1px solid transparent;border-radius:.55rem;font-weight:700;transition:.18s ease}.button:disabled{opacity:.58;cursor:wait}.button.primary{color:#fff;background:var(--primary);box-shadow:0 6px 15px #4051892e}.button.primary:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}.button.secondary{border-color:var(--line);background:#fff;color:var(--ink)}.button.ghost{border-color:var(--line);color:var(--primary);background:transparent}.button.compact{min-height:2rem;padding:.35rem .7rem;font-size:.82rem}.button.full{width:100%;margin-top:.35rem}.icon-button{display:grid;width:2.35rem;height:2.35rem;padding:0;place-items:center;border:1px solid var(--line);border-radius:.55rem;color:var(--muted);background:#fff;font-size:1.15rem}.icon-button.danger{color:var(--danger)}label{display:grid;gap:.45rem;color:#4e5c70;font-size:.82rem;font-weight:700}input,select,textarea{width:100%;min-height:2.75rem;padding:.65rem .8rem;border:1px solid #d8deea;border-radius:.5rem;max-width:100%;min-width:0;outline:none;color:var(--ink);background:#fff}input:focus,select:focus,textarea:focus{border-color:#8392c5;box-shadow:0 0 0 3px #4051891a}.password-field{position:relative;display:block}.password-field input{padding-right:3.2rem}.password-reveal{position:absolute;top:50%;right:.45rem;display:grid;width:2.2rem;height:2.2rem;padding:0;place-items:center;transform:translateY(-50%);border:0;border-radius:.45rem;color:var(--muted);background:transparent;font-size:1rem;touch-action:none;-webkit-user-select:none;user-select:none}.password-reveal:hover,.password-reveal:focus-visible{color:var(--primary);background:var(--primary-soft)}.password-reveal[aria-pressed=true]{color:var(--primary)}input[type=checkbox]{width:1rem;min-height:1rem;accent-color:var(--primary)}.check-field{grid-template-columns:auto 1fr;align-items:center;justify-content:start;font-weight:500}.alert{margin:1rem 0;padding:.8rem 1rem;border-radius:.55rem;font-size:.87rem}.alert.error{border:1px solid #f4c5ce;color:#a83b50;background:#fff2f4}.alert.info{border:1px solid #cfd8f3;color:var(--primary-dark);background:#f2f5fd}.onboarding-alert{display:flex;align-items:center;justify-content:space-between;gap:1rem}.onboarding-alert strong,.onboarding-alert span{display:block}.onboarding-alert span{margin-top:.2rem;font-size:.78rem}.alert.success{border:1px solid #bdece4;color:#087362;background:#effbf9}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,1.15fr) minmax(430px,.85fr)}.login-brand{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:clamp(2rem,5vw,5rem);color:#fff;background:radial-gradient(circle at 80% 15%,rgba(77,211,188,.24),transparent 26%),radial-gradient(circle at 20% 85%,rgba(134,150,218,.3),transparent 30%),linear-gradient(145deg,#26365f,#405189 58%,#354470)}.login-brand:after{content:"";position:absolute;width:28rem;height:28rem;right:-12rem;bottom:-15rem;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 4rem #ffffff06,0 0 0 8rem #ffffff05}.welcome-copy{position:relative;z-index:1;max-width:42rem}.welcome-copy .eyebrow{color:#65dcc8}.welcome-copy h1{margin-bottom:1.5rem;color:#fff;font-size:clamp(2.25rem,5vw,4rem);line-height:1.08;letter-spacing:-.055em}.welcome-copy>p:last-child{max-width:34rem;color:#d7ddef;font-size:1.05rem;line-height:1.7}.privacy-note{position:relative;z-index:1;margin:0;color:#bac4df;font-size:.8rem}.login-panel{display:grid;padding:2rem;place-items:center;background:#fff}.login-card{width:min(100%,420px)}.login-card h2{margin-bottom:.4rem;font-size:2rem}.login-card form{display:grid;gap:1.05rem;margin-top:2rem}.login-help{margin-top:1.4rem;color:var(--muted);font-size:.8rem;text-align:center}.mobile-brand{display:none}.app-frame{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:fixed;z-index:30;inset:0 auto 0 0;display:flex;width:250px;flex-direction:column;padding:1.4rem 1rem 1rem;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;color:#d8def0;background:#26365f;transition:width .2s ease,transform .2s ease}.sidebar-brand{padding:0 .55rem 1.6rem;color:#fff}.sidebar-collapse{position:absolute;z-index:2;top:1.55rem;right:-.75rem;display:grid;width:1.5rem;height:1.9rem;padding:0;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:.45rem;color:#fff;background:#344675;box-shadow:0 4px 12px #131c3440;font-size:1.15rem}.nav-label{margin:1.1rem .75rem .5rem;color:#8f9aba;font-size:.67rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.sidebar nav{display:grid;gap:.3rem}.sidebar nav a{display:flex;min-height:2.8rem;align-items:center;gap:.7rem;padding:.65rem .75rem;border-radius:.55rem;color:#cbd3e8;font-size:.9rem;font-weight:600;text-decoration:none}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#ffffff1a}.nav-icon{display:grid;width:1.4rem;place-items:center;color:#7be1d1;font-size:1.05rem}.next-modules{display:grid;gap:.7rem}.next-modules span{padding-left:.8rem;color:#7f8ba9;font-size:.82rem}.sidebar-foot{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:center;margin-top:auto;padding:1rem .55rem 0;border-top:1px solid rgba(255,255,255,.1)}.sidebar-foot strong,.sidebar-foot small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-foot strong{color:#fff;font-size:.82rem}.sidebar-foot small{margin-top:.15rem;color:#98a4c1;font-size:.7rem}.sidebar-logout{display:none}.avatar{display:grid;width:2.25rem;height:2.25rem;place-items:center;border-radius:50%;color:#fff;background:var(--accent);font-weight:800}.workspace{min-width:0;grid-column:2}.sidebar-collapsed.app-frame{grid-template-columns:76px 1fr}.sidebar-collapsed .sidebar{width:76px;padding-inline:.65rem}.sidebar-collapsed .sidebar-brand{justify-content:center;padding-inline:0}.sidebar-collapsed .nav-copy,.sidebar-collapsed .nav-label,.sidebar-collapsed .next-modules,.sidebar-collapsed .sidebar-foot div{display:none}.sidebar-collapsed .sidebar nav a{justify-content:center;padding-inline:.5rem}.sidebar-collapsed .nav-icon{width:1.6rem;font-size:1.2rem}.sidebar-collapsed .sidebar-foot{grid-template-columns:1fr;justify-items:center;padding-inline:0}.sidebar-collapsed .sidebar nav a{position:relative}.sidebar-collapsed .sidebar nav a:before{content:"";position:absolute;z-index:51;left:calc(100% + .35rem);top:50%;border:.35rem solid transparent;border-right-color:#1e293b;transform:translateY(-50%);opacity:0;pointer-events:none;transition:opacity .12s ease}.sidebar-collapsed .sidebar nav a:after{content:attr(data-tooltip);position:absolute;z-index:50;left:calc(100% + 1rem);top:50%;width:max-content;max-width:190px;padding:.5rem .7rem;border-radius:.45rem;color:#fff;background:#1e293b;box-shadow:0 8px 20px #0f172a47;font-size:.78rem;font-weight:700;line-height:1.2;white-space:nowrap;transform:translateY(-50%) translate(-3px);opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease}.sidebar-collapsed .sidebar nav a:hover:before,.sidebar-collapsed .sidebar nav a:focus-visible:before,.sidebar-collapsed .sidebar nav a:hover:after,.sidebar-collapsed .sidebar nav a:focus-visible:after{opacity:1;transform:translateY(-50%) translate(0)}.topbar{position:sticky;z-index:20;top:0;display:flex;height:70px;align-items:center;gap:1rem;padding:0 2rem;border-bottom:1px solid var(--line);background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar .button{margin-left:auto}.topbar-kicker{margin:0;color:var(--muted);font-size:.67rem;text-transform:uppercase;letter-spacing:.1em}.topbar strong{font-size:.9rem}.menu-button{display:none}.page-shell{width:min(100%,1460px);margin-inline:auto;padding:clamp(1.4rem,3vw,2.5rem)}.page-heading{display:flex;min-width:0;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.6rem}.page-heading>*,.filter-bar>*,.card-heading>*{min-width:0}.page-heading p:last-child{margin-bottom:0}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(230px,1fr));gap:1rem;margin-bottom:1rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1.15rem;border:1px solid var(--line);border-radius:.75rem;background:var(--surface);box-shadow:var(--shadow)}.stat-card strong,.stat-card span{display:block}.stat-card strong{font-family:Manrope;font-size:1.6rem;line-height:1.1}.stat-card div span{margin-top:.15rem;color:var(--muted);font-size:.78rem}.stat-icon,.current-icon{display:grid;width:2.8rem;height:2.8rem;place-items:center;border-radius:.7rem;font-size:1.25rem}.stat-icon.violet{color:var(--primary);background:var(--primary-soft)}.stat-icon.teal,.current-icon{color:#07816f;background:var(--accent-soft)}.content-card{max-width:100%;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:.75rem;background:var(--surface);box-shadow:var(--shadow)}.card-heading{display:flex;justify-content:space-between;padding:1.25rem 1.4rem;border-bottom:1px solid var(--line)}.card-heading p{margin-bottom:0;font-size:.8rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:.9rem 1.2rem;border-bottom:1px solid #edf0f5;text-align:left;white-space:nowrap}th{color:var(--muted);background:#f8f9fb;font-size:.67rem;letter-spacing:.08em;text-transform:uppercase}td{font-size:.85rem}td strong,td small{display:block}td small{margin-top:.2rem;color:var(--muted)}.code-chip{padding:.25rem .45rem;border-radius:.35rem;color:var(--primary);background:var(--primary-soft);font-family:monospace;font-weight:700}.status{display:inline-flex;padding:.28rem .55rem;border-radius:1rem;color:#07816f;background:var(--accent-soft);font-size:.7rem;font-weight:800}.status.neutral{color:#57657a;background:#eef1f5}.status.warning{color:#8a5b00;background:#fff1c7}.compact-status{width:fit-content;margin-top:.3rem}.relation-list{display:flex;flex-wrap:wrap;gap:.35rem;min-width:10rem}.relation-chip{display:inline-flex;align-items:center;padding:.28rem .55rem;border-radius:999px;color:#334476;background:var(--primary-soft);font-size:.72rem;font-weight:700;line-height:1.2}.relation-chip.group-history{color:#667085;background:#eef1f5}.empty-state{display:grid;min-height:260px;padding:2rem;place-items:center;align-content:center;color:var(--muted);text-align:center}.empty-state h3{color:var(--ink)}.empty-icon{display:grid;width:3rem;height:3rem;margin-bottom:1rem;place-items:center;border-radius:50%;color:var(--primary);background:var(--primary-soft)}.loader{width:2rem;height:2rem;border:3px solid var(--primary-soft);border-top-color:var(--primary);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.current-cycle{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;margin-bottom:1rem;padding:1.2rem 1.35rem;border:1px solid #bdece4;border-radius:.75rem;background:linear-gradient(100deg,#f2fcfa,#fff)}.current-cycle h2,.current-cycle p{margin-bottom:.15rem}.current-cycle>div>p:last-child{color:var(--muted);font-size:.82rem}.cycle-list{display:grid}.cycle-row{display:grid;grid-template-columns:auto minmax(150px,1fr) auto auto;gap:1rem;align-items:center;padding:1rem 1.35rem;border-bottom:1px solid var(--line)}.cycle-row:last-child{border-bottom:0}.cycle-date{display:grid;width:3.5rem;height:3.5rem;place-items:center;align-content:center;border-radius:.65rem;color:var(--primary);background:var(--primary-soft)}.cycle-date strong{line-height:1}.cycle-date span{color:var(--muted);font-size:.72rem}.cycle-copy h3,.cycle-copy p{margin-bottom:.15rem}.cycle-copy p{color:var(--muted);font-size:.8rem}.row-actions{display:flex;gap:.45rem;align-items:center}.directory-heading{align-items:center;gap:1rem}.search-field{position:relative;display:block;width:min(100%,310px)}.search-field span{position:absolute;z-index:1;left:.8rem;top:50%;color:var(--muted);font-size:1.15rem;transform:translateY(-50%)}.search-field input{padding-left:2.35rem}.person-cell{display:flex;gap:.7rem;align-items:center}.person-avatar{display:grid;width:2.35rem;height:2.35rem;flex:0 0 auto;place-items:center;border-radius:50%;color:var(--primary);background:var(--primary-soft);font-size:.72rem;font-weight:800}.table-actions{justify-content:end}.users-table{min-width:1180px}.users-actions-column{position:sticky;z-index:1;right:0;background:#fff;box-shadow:-8px 0 14px #2632440f}.users-table thead .users-actions-column{z-index:2;background:#f7f8fb}.users-actions-column .table-actions{min-width:245px}.schools-actions-column{position:sticky;z-index:1;right:0;background:#fff;box-shadow:-8px 0 14px #2632440f}.schools-table thead .schools-actions-column{z-index:2;background:#f7f8fb}.form-section+.form-section{margin-top:1.5rem;padding-top:1.3rem;border-top:1px solid var(--line)}.form-section h3{margin-bottom:1rem;font-size:.9rem}.field-note{margin:.75rem 0 0;color:var(--muted);font-size:.76rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.filter-bar{display:grid;grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) auto;gap:1rem;align-items:end;margin-bottom:1rem;padding:1rem 1.15rem;border:1px solid var(--line);border-radius:.75rem;background:#fff;box-shadow:var(--shadow)}.filter-summary{min-width:110px;padding:.35rem .5rem;text-align:right}.filter-summary strong,.filter-summary span{display:block}.filter-summary strong{font-family:Manrope;font-size:1.4rem}.filter-summary span{color:var(--muted);font-size:.72rem}.group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1rem;padding:1rem;background:#fafbfc}.group-card{overflow:hidden;border:1px solid var(--line);border-radius:.7rem;background:#fff;transition:.18s ease}.group-card:hover{border-color:#cfd5e6;box-shadow:var(--shadow);transform:translateY(-2px)}.group-card>header{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;padding:1rem;border-bottom:1px solid var(--line)}.group-card header h3,.group-card header p{margin-bottom:0}.grade-badge{display:grid;width:2.8rem;height:2.8rem;place-items:center;border-radius:.65rem;color:#fff;background:linear-gradient(145deg,#6477bd,var(--primary));font-family:Manrope;font-weight:800}.group-card dl{display:grid;grid-template-columns:1fr 1fr;margin:0;padding:.85rem 1rem;gap:.85rem}.group-card dl div{min-width:0}.group-card dt{margin-bottom:.2rem;color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.group-card dd{overflow:hidden;margin:0;font-size:.8rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.group-card>footer{display:flex;justify-content:space-between;align-items:center;gap:.7rem;padding:.75rem 1rem;border-top:1px solid var(--line);background:#fcfcfd}.modal-layer{position:fixed;z-index:100;inset:0;display:grid;padding:1rem;place-items:center;background:#171e3094;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:min(100%,680px);max-height:calc(100vh - 2rem);overflow:auto;border-radius:.8rem;background:#fff;box-shadow:0 25px 70px #141b324d}.modal.small{max-width:560px}.modal>header{display:flex;justify-content:space-between;align-items:start;padding:1.3rem 1.4rem;border-bottom:1px solid var(--line)}.modal form{padding:1.4rem}.modal footer{display:flex;justify-content:end;gap:.65rem;margin:1.4rem -1.4rem -1.4rem;padding:1rem 1.4rem;border-top:1px solid var(--line);background:#fafbfc}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-grid.one-column{grid-template-columns:1fr}.span-2{grid-column:span 2}.backdrop{display:none}.roster-card{margin-top:1rem}.group-selector{width:min(100%,330px)}.roster-context-selectors{display:grid;grid-template-columns:minmax(150px,190px) minmax(250px,370px);gap:.75rem;align-items:end}.roster-context-selectors label{min-width:0}.compact-empty{min-height:120px}.danger-text{color:var(--danger)!important}.attendance-filters{grid-template-columns:minmax(260px,1fr) minmax(180px,.45fr) auto}.attendance-quick-actions{display:flex;justify-content:flex-end;margin:-.15rem 0 1rem}.attendance-summary{display:flex;gap:.65rem;color:var(--muted);font-size:.76rem}.attendance-summary span{padding:.35rem .6rem;border-radius:1rem;background:#f3f5f8}.attendance-summary b{color:var(--ink)}.attendance-state{min-width:150px}.attendance-table input{min-width:230px}.attendance-mobile-list{display:none}.attendance-student-card{border-bottom:1px solid var(--line);background:#fff}.attendance-student-card>header{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center;padding:.85rem 1rem .65rem}.attendance-student-card>header strong,.attendance-student-card>header small{display:block}.attendance-student-card>header small{margin-top:.15rem;color:var(--muted);font-size:.65rem}.clear-attendance{width:2rem;height:2rem;border:1px solid var(--line);border-radius:50%;color:var(--muted);background:#fff;font-size:1rem}.attendance-state-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;padding:0 1rem .7rem}.attendance-state-buttons button{display:flex;min-height:2.8rem;align-items:center;justify-content:center;gap:.35rem;padding:.5rem;border:1px solid var(--line);border-radius:.6rem;color:#4e5c70;background:#f8f9fb;font-size:.72rem;font-weight:800}.attendance-state-buttons button span{font-size:1rem}.attendance-state-buttons button[data-state=present].selected{color:#087362;border-color:#7fd8c8;background:#e7f8f5}.attendance-state-buttons button[data-state=absent].selected{color:#a83b50;border-color:#ef9eac;background:#fff0f3}.attendance-state-buttons button[data-state=justified].selected{color:#8a5b00;border-color:#e7c36f;background:#fff8df}.attendance-state-buttons button[data-state=late].selected{color:#285d88;border-color:#9bc5e6;background:#eef7fd}.attendance-state-buttons button[data-state=other].selected{color:var(--primary);border-color:#aab5dc;background:var(--primary-soft)}.attendance-note{padding:0 1rem .75rem;color:var(--muted);font-size:.65rem}.attendance-note summary{width:fit-content;padding:.2rem 0;color:var(--primary);cursor:pointer;font-weight:700}.attendance-note input{min-height:2.35rem;margin-top:.3rem;padding-block:.45rem;font-size:.76rem}.card-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.4rem;border-top:1px solid var(--line);background:#fafbfc}.card-actions .field-note{margin:0}.assignment-body{padding:1.25rem 1.4rem}.assignment-form{display:grid;grid-template-columns:minmax(220px,1fr) 180px;gap:1rem;align-items:end}.assignment-form .check-field{align-self:center}.assignment-list{display:grid;margin-top:1.25rem;border:1px solid var(--line);border-radius:.65rem}.assignment-list article{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid var(--line)}.assignment-list article:last-child{border-bottom:0}.assignment-list strong,.assignment-list small{display:block}.assignment-list small{margin-top:.2rem;color:var(--muted)}.roster-modal{width:min(96vw,1120px)}.roster-editor{padding:1.25rem 1.4rem 0}.roster-toolbar{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem}.roster-toolbar label{width:210px}.roster-import-actions{display:flex;justify-content:flex-end;align-items:center;gap:.55rem;flex-wrap:wrap}.roster-import-actions .file-button{width:auto;cursor:pointer}.file-button.disabled{cursor:wait;opacity:.6}.import-mapping{margin:0 0 1rem;padding:1rem;border:1px solid #b9e8df;border-radius:14px;background:#f4fcfa}.import-mapping-heading,.import-mapping-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem}.import-mapping-heading div{display:grid;gap:.2rem}.import-mapping-heading span,.import-mapping-footer span{color:var(--muted);font-size:.88rem}.import-mapping-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1rem 0}.import-mapping-grid label{min-width:0}.detected-preview{max-height:180px;margin-bottom:1rem;background:#fff;border:1px solid var(--line);border-radius:10px}.detected-preview table{font-size:.82rem}.detected-preview th,.detected-preview td{padding:.55rem .7rem;white-space:nowrap}.roster-editor-table input{min-width:165px}.roster-editor-table td:first-child input{min-width:210px;font-family:monospace;text-transform:uppercase}.roster-editor footer{display:flex;justify-content:end;gap:.65rem;margin:1.25rem -1.4rem 0;padding:1rem 1.4rem;border-top:1px solid var(--line);background:#fafbfc}.periods-card{margin-bottom:1rem}.period-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.8rem;padding:1rem}.period-grid article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.85rem;border:1px solid var(--line);border-radius:.65rem}.period-grid strong,.period-grid small{display:block}.period-grid small{margin-top:.2rem;color:var(--muted);font-size:.72rem}.period-order{display:grid;width:2.3rem;height:2.3rem;place-items:center;border-radius:.55rem;color:var(--primary);background:var(--primary-soft);font-weight:800}.setup-guide{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem 1.15rem;border:1px solid #bfece4;border-radius:.8rem;background:linear-gradient(115deg,#f1fcf9,#f7f8ff);box-shadow:var(--shadow)}.setup-guide h2,.setup-guide p{margin:0}.setup-guide .eyebrow{margin-bottom:.2rem}.setup-guide .muted{margin-top:.25rem}.guide-mascot{position:relative;display:grid;width:3.5rem;height:3.5rem;place-content:center;border:3px solid #fff;border-radius:45% 45% 48% 48%;color:#263d71;background:linear-gradient(145deg,#82e4d4,#b9f2e9);box-shadow:0 7px 18px #1885752e;font-family:Manrope;font-weight:900;line-height:.8;text-align:center}.guide-mascot:before{position:absolute;top:-.42rem;left:.55rem;width:2.15rem;height:.75rem;border-radius:50% 50% 15% 15%;background:var(--primary);content:"";transform:rotate(-5deg)}.guide-mascot:after{position:absolute;top:-.58rem;right:.28rem;width:.12rem;height:.85rem;border-radius:1rem;background:var(--primary);content:"";transform:rotate(22deg)}.mascot-eyes,.mascot-smile{display:block}.mascot-smile{margin-top:.25rem;font-size:1rem}.guide-mascot.large{width:5.2rem;height:5.2rem;font-size:1.25rem}.floating-setup-guide{position:fixed;z-index:45;right:1.25rem;bottom:1.25rem;display:grid;width:min(440px,calc(100vw - 2rem));grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:.85rem;border:1px solid #cbd5f5;border-radius:.85rem;background:#fffffff7;box-shadow:0 16px 42px #22305833;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.floating-setup-guide strong,.floating-setup-guide small{display:block}.floating-setup-guide strong{margin-bottom:.18rem;color:var(--ink);font-family:Manrope}.floating-setup-guide small{color:var(--muted);font-size:.72rem;line-height:1.35}.floating-setup-guide .guide-mascot{width:3rem;height:3rem;font-size:.72rem}.setup-dialog-body{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1.2rem;padding:1.4rem}.setup-dialog-body p{margin:0;color:#4e5c70;line-height:1.6}.setup-dialog>footer{display:flex;justify-content:end;gap:.65rem;margin:0;padding:1rem 1.4rem;border-top:1px solid var(--line);background:#fafbfc}.calendar-modal{width:min(96vw,1280px)}.calendar-body{padding:1.2rem 1.4rem 1.5rem}.calendar-toolbar{display:grid;grid-template-columns:1fr .72fr;gap:1rem;margin-bottom:1rem}.calendar-toolbar>form,.ics-import{padding:1rem;border:1px solid var(--line);border-radius:.7rem;background:#fafbfc}.calendar-toolbar>form{display:grid;grid-template-columns:180px minmax(220px,1fr) 150px 150px auto;gap:.7rem;align-items:end}.calendar-toolbar>form.single-date{grid-template-columns:180px minmax(260px,1fr) 170px auto}.calendar-toolbar label{font-size:.72rem}.calendar-toolbar input,.calendar-toolbar select{min-height:42px}.ics-import{display:grid;gap:.7rem;align-content:center}.ics-import strong,.ics-import small{display:block}.ics-import small{margin-top:.2rem;color:var(--muted)}.ics-url{display:grid;grid-template-columns:1fr auto;gap:.6rem}.school-calendar{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-top:1rem}.calendar-month{overflow:hidden;border:1px solid var(--line);border-radius:.65rem;background:#fff}.calendar-month h3{margin:0;padding:.65rem .75rem;color:#fff;background:#6e1d3a;font-size:.82rem;text-transform:capitalize}.weekdays,.month-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.weekdays{padding:.35rem .4rem;color:#735b26;background:#dbc58c;font-size:.65rem;font-weight:800}.month-days{gap:2px;padding:.4rem}.month-days span{display:grid;min-height:1.75rem;place-items:center;border-radius:.25rem;font-size:.68rem}.month-days .weekend{color:#80908e;background:#edf3f2}.month-days .outside-cycle{color:#b5bdc8;background:#f7f8fa}.month-days .event-vacaciones{color:#fff;background:#7d878b}.month-days .event-consejo_tecnico{color:#fff;background:#a43d61}.month-days .event-descarga_administrativa{color:#fff;background:#3283ae}.month-days .event-festivo_oficial{color:#fff;background:#20252b;border-radius:50%}.month-days .event-suspension{color:#fff;background:#111;border-radius:50%}.month-days .event-otro{color:#fff;background:#387b6e}.calendar-legend{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0}.calendar-legend span{padding:.32rem .55rem;border-radius:1rem;color:#fff;background:#77828c;font-size:.66rem;font-weight:700}.calendar-legend .weekend{color:#50615e;background:#edf3f2}.calendar-legend .event-vacaciones{background:#7d878b}.calendar-legend .event-consejo_tecnico{background:#a43d61}.calendar-legend .event-descarga_administrativa{background:#3283ae}.calendar-legend .event-festivo_oficial{background:#20252b}.calendar-legend .event-suspension{background:#111}.calendar-legend .event-otro{background:#387b6e}.calendar-events,.ics-preview{margin-top:1rem;border:1px solid var(--line);border-radius:.7rem}.calendar-events>h3{margin:0;padding:1rem;border-bottom:1px solid var(--line)}.calendar-events>p{padding:0 1rem 1rem}.calendar-events article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.7rem 1rem;border-top:1px solid var(--line)}.calendar-events article:first-of-type{border-top:0}.calendar-events strong,.calendar-events small{display:block}.calendar-events small{margin-top:.15rem;color:var(--muted)}.event-dot{width:.75rem;height:.75rem;border-radius:50%;background:#387b6e}.event-dot.event-vacaciones{background:#7d878b}.event-dot.event-consejo_tecnico{background:#a43d61}.event-dot.event-descarga_administrativa{background:#3283ae}.event-dot.event-festivo_oficial{background:#20252b}.event-dot.event-suspension{background:#111}.preview-list{padding:0 1rem 1rem}.preview-list article{display:grid;grid-template-columns:190px minmax(240px,1fr) 150px 150px auto;gap:.6rem;padding:.65rem 0;border-top:1px solid var(--line)}.activity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1rem;padding:1rem;background:#fafbfc}.activity-filters{grid-template-columns:repeat(12,1fr)}.activity-filters:not(.with-cycle) .academic-filter{grid-column:span 4}.activity-filters.with-cycle .academic-filter{grid-column:span 3}.activity-filters .activity-name-search{grid-column:span 5;align-self:end}.activity-filters .date-filter{grid-column:span 2;color:var(--muted);font-size:.7rem;font-weight:800}.activity-filters .date-filter input{margin-top:.35rem}.view-switch{display:inline-flex;gap:.25rem;padding:.2rem;border:1px solid var(--line);grid-column:span 2;border-radius:.6rem;background:#f7f8fb;align-self:end}.view-switch button{min-height:34px;padding:.38rem .6rem;border:0;border-radius:.42rem;color:var(--muted);background:transparent;font-size:.72rem;font-weight:800;cursor:pointer}.view-switch button.active{color:var(--primary);background:#fff;box-shadow:0 1px 4px #1f2d4e1f}.filter-result{display:flex;grid-column:span 1;align-items:end;justify-content:flex-end;gap:.5rem}.filter-result .filter-summary{min-width:80px;padding:0}.standalone-alert{margin-bottom:1rem}.periods-modal{width:min(960px,96vw)}.periods-modal-body{padding:1rem;overflow-y:auto}.periods-modal .period-grid{padding:0}.activity-card{padding:1rem;border:1px solid var(--line);border-radius:.7rem;background:#fff}.activity-card>header,.activity-card>footer{display:flex;justify-content:space-between;align-items:center;gap:.7rem}.activity-card h3{margin-top:.8rem}.activity-main>p{min-height:2.4em;color:var(--muted);font-size:.8rem}.activity-card dl{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:.9rem 0;padding:.8rem 0;border-block:1px solid var(--line)}.activity-card dt{color:var(--muted);font-size:.65rem;font-weight:800;text-transform:uppercase}.activity-card dd{margin:.15rem 0 0;font-size:.78rem;font-weight:600}.activity-card footer>.muted{font-size:.72rem}.activity-table-wrap{max-height:min(68vh,760px);overflow:auto;border-radius:0 0 .75rem .75rem}.activity-table{min-width:930px}.activity-table thead{position:sticky;z-index:2;top:0}.activity-table th{padding:.55rem .7rem;background:#f5f7fa;font-size:.62rem}.activity-table td{padding:.48rem .7rem;vertical-align:middle;font-size:.75rem}.activity-table td strong,.activity-table td small{display:block}.activity-table td small{margin-top:.12rem;color:var(--muted);font-size:.64rem}.activity-date-cell{width:112px;white-space:nowrap}.activity-title-cell{min-width:260px}.compact-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.25rem}.compact-chips .field-chip{margin-top:0;padding:.18rem .4rem;font-size:.59rem}.compact-chips .status{padding:.18rem .4rem;font-size:.59rem}.activity-records{width:75px;text-align:center;font-weight:800}.activity-row-actions{flex-wrap:nowrap;justify-content:flex-end}.compact-action{width:2rem;min-width:2rem;height:2rem;min-height:2rem}.activity-type{color:var(--primary);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.field-chip{display:inline-flex;margin-top:.75rem;padding:.28rem .55rem;border-radius:1rem;color:#07816f;background:var(--accent-soft);font-size:.68rem;font-weight:800}.report-filters{grid-template-columns:repeat(4,minmax(180px,1fr))}.report-master-form{padding:1.25rem 1.5rem}.report-master-form .checkbox-row{display:flex;align-items:flex-start;gap:.65rem;font-weight:600;line-height:1.4}.report-master-form .checkbox-row input{width:1.1rem;height:1.1rem;margin-top:.12rem;flex:0 0 auto}.report-tabs{display:flex;gap:.4rem;margin-bottom:1rem;padding:.35rem;overflow-x:auto;border:1px solid var(--line);border-radius:.7rem;background:#fff}.report-tabs button{min-height:42px;padding:.55rem .9rem;border:0;border-radius:.5rem;color:var(--muted);background:transparent;font-weight:800;white-space:nowrap}.report-tabs button.active{color:var(--primary);background:var(--primary-soft)}.report-card{overflow:visible}.report-card .table-wrap{border-radius:0 0 .75rem .75rem}.matrix-table{min-width:900px}.matrix-table th{max-width:160px;white-space:normal;vertical-align:bottom}.matrix-table th span,.matrix-table th small{display:block}.matrix-table th small{margin-top:.25rem;text-transform:none;letter-spacing:0}.matrix-table td:nth-child(2){position:sticky;left:54px;z-index:2;min-width:220px;background:#fff}.matrix-table th:nth-child(2){position:sticky;left:54px;z-index:3;min-width:220px}.matrix-table td:first-child,.matrix-table th:first-child{position:sticky;left:0;z-index:3;width:54px;background:#fff}.matrix-table th:first-child,.matrix-table th:nth-child(2){background:#f8f9fb}.matrix-value{min-width:95px;text-align:center;font-weight:800}.report-summary{display:flex;gap:1rem;padding:1rem 1.4rem;border-bottom:1px solid var(--line)}.report-summary span{min-width:90px;color:var(--muted);font-size:.72rem}.report-summary b{display:block;color:var(--ink);font-size:1.35rem}.attendance-report-toolbar{display:flex;align-items:end;gap:.75rem;padding:1rem 1.4rem;border-bottom:1px solid var(--line);background:#fbfcfe}.attendance-report-toolbar label{display:grid;min-width:165px;gap:.35rem;color:#4c586b;font-size:.72rem;font-weight:700}.attendance-range-switch{margin-right:auto}.attendance-report-toolbar>.button.active{color:#fff;border-color:var(--primary);background:var(--primary)}.attendance-report-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding:.7rem 1.4rem;border-bottom:1px solid var(--line);color:var(--muted);font-size:.68rem;font-weight:700}.attendance-report-legend span{display:inline-flex;align-items:center;gap:.3rem}.attendance-report-legend i{width:.75rem;height:.75rem;border-radius:50%}.attendance-matrix-wrap{max-height:min(68vh,760px);overflow:auto}.attendance-matrix{width:max-content;min-width:100%}.attendance-matrix thead{position:sticky;z-index:4;top:0}.attendance-matrix th,.attendance-matrix td{padding:.55rem .65rem;text-align:center}.attendance-matrix th:nth-child(2),.attendance-matrix td:nth-child(2){text-align:left}.attendance-matrix .attendance-day-heading{min-width:58px;max-width:86px;white-space:normal}.attendance-day-heading>span,.attendance-day-heading>b,.attendance-day-heading>small{display:block}.attendance-day-heading>b{margin-top:.1rem;color:var(--ink);font-size:.9rem}.attendance-day-heading>small{overflow:hidden;margin-top:.15rem;color:#735b26;font-size:.52rem;line-height:1.1;text-overflow:ellipsis}.attendance-matrix-cell{min-width:58px}.attendance-dot{display:inline-grid;width:1.5rem;height:1.5rem;place-items:center;border-radius:50%;font-size:.7rem;font-weight:900}.attendance-present{color:#12643d;background:#ccefdc}.attendance-justified{color:#71520a;background:#f9e7a7}.attendance-absent{color:#8e2335;background:#f7cbd2}.attendance-pending{color:#7c8797;background:#edf0f4}.attendance-nonworking{border-radius:.15rem!important;background:#d9dee7}.attendance-matrix .nonworking-day{background:#f1ead7}.attendance-matrix th.nonworking-day{color:#735b26;background:#e8d7aa}.print-only{display:none}.scheme-filters{grid-template-columns:1fr 1fr 1fr auto}.scheme-heading{align-items:center;gap:1rem}.template-select{width:190px;min-height:38px;padding-block:.35rem}.criteria-editor{padding:1rem 1.4rem}.criteria-head,.criteria-row{display:grid;grid-template-columns:1.2fr 1fr 150px 1fr 44px;gap:.7rem;align-items:center}.criteria-head{padding:0 .2rem .55rem;color:var(--muted);font-size:.66rem;font-weight:800;text-transform:uppercase}.criteria-row{padding:.55rem 0;border-top:1px solid var(--line)}.criteria-row input,.criteria-row select{min-width:0}.weight-input{position:relative}.weight-input input{padding-right:2rem}.weight-input span{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:var(--muted)}.add-criterion{margin-top:.8rem}.scheme-total{display:grid;grid-template-columns:1fr auto;gap:.2rem 1rem;padding:1rem 1.4rem;border-top:1px solid var(--line);background:#fff8f8}.scheme-total strong{grid-row:span 2;align-self:center;color:var(--danger);font-size:1.5rem}.scheme-total span:last-child{color:var(--muted);font-size:.75rem}.scheme-total.complete{background:#f2fcfa}.scheme-total.complete strong{color:#07816f}.scheme-mode-help{display:grid;gap:.35rem;margin:0 1.4rem 1rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:14px;background:var(--canvas);color:var(--muted);font-size:.82rem}.scheme-mode-help p{margin:0}.scheme-mode-help strong,.quality-note{color:var(--ink)}.criterion-contribution{display:block;font-size:1rem;color:var(--ink)}.closure-table{min-width:900px}.closure-table th small,.closure-table td small{display:block;margin-top:.25rem;color:var(--muted)}.closure-table td:nth-child(2),.closure-table th:nth-child(2){position:sticky;left:50px;z-index:2;min-width:220px;background:#fff}.closure-table th:nth-child(2){background:#f8f9fb}.closure-table td:first-child,.closure-table th:first-child{position:sticky;left:0;z-index:3;background:#fff}.closure-table th:first-child{background:#f8f9fb}.report-date{width:190px}.report-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.sec-date-range{display:grid;grid-template-columns:170px 170px auto;gap:.65rem;align-items:end}.report-filters.sec-filters{grid-template-columns:minmax(220px,360px) minmax(280px,560px)}.sec-cut-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;padding:1rem 1.4rem;border-bottom:1px solid var(--line)}.sec-cut-summary article{display:grid;gap:.2rem;padding:1rem;border:1px solid var(--line);border-radius:.65rem;background:#fafbfc}.sec-cut-summary span{color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.sec-cut-summary strong{color:var(--primary);font-family:Manrope;font-size:1.6rem}.sec-cut-summary small{color:var(--muted)}.sec-cut-summary .warning-card{border-color:#f0c2c8;background:#fff7f8}.sec-cut-summary .warning-card strong{color:var(--danger)}.sec-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem 1.4rem 1.4rem}.sec-report-grid>section{min-width:0;border:1px solid var(--line);border-radius:.65rem;overflow:hidden}.sec-report-grid>section>h3,.sec-report-grid>section>p{margin:0;padding:.8rem 1rem}.sec-report-grid>section>p{padding-top:0}.justified-toggle{display:flex;align-items:center;gap:.5rem;margin:0 .9rem .75rem;padding:.55rem .7rem;border-radius:.5rem;background:var(--primary-soft);font-size:.72rem}.justified-toggle input{width:auto}@media print{@page{size:A4 landscape;margin:8mm}.sidebar,.topbar,.report-heading,.report-tabs,.filter-bar{display:none!important}.app-frame,.workspace{display:block}.page-shell{width:100%;padding:0}.content-card{box-shadow:none}.table-wrap{overflow:visible}.matrix-table{min-width:100%;font-size:9px}.print-only{display:block!important}.attendance-report-card{border:0}.attendance-report-card>:not(.attendance-print-sheet){display:none!important}.attendance-print-sheet{--attendance-pdf-row-height: 4.1mm;--attendance-pdf-base-font: 5.4pt;--attendance-pdf-curp-width: 38mm;--attendance-pdf-curp-font: 6.2pt;--attendance-pdf-name-width: 66mm;--attendance-pdf-name-font: 6.2pt;--attendance-pdf-footer-gap: 3mm;--attendance-pdf-footer-height: 15mm;color:#111;font-family:Arial,sans-serif}.attendance-print-sheet>header{margin-bottom:2.5mm;text-align:center}.attendance-print-sheet>header h1{margin:0 0 1.2mm;font-size:14pt}.attendance-print-metadata{display:grid;grid-template-columns:42mm 58mm 42mm;justify-content:center;gap:1mm 5mm;margin:0 auto;font-size:7.5pt;text-align:left;text-transform:uppercase}.attendance-print-metadata p{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2mm;min-width:0;margin:0}.attendance-print-metadata p span{min-width:0;overflow-wrap:anywhere}.attendance-print-metadata .school,.attendance-print-metadata .teacher{grid-column:span 2}.attendance-print-sheet>header small{display:block;margin-top:1mm;font-size:6.2pt}.attendance-print-sheet table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:var(--attendance-pdf-base-font)}.attendance-print-sheet th,.attendance-print-sheet td{height:var(--attendance-pdf-row-height);padding:.2mm;border:.3mm solid #222;overflow:hidden;text-align:center;white-space:nowrap}.attendance-print-sheet th:first-child{width:7mm}.attendance-print-sheet th:nth-child(2){width:var(--attendance-pdf-curp-width)}.attendance-print-sheet th:nth-child(3){width:var(--attendance-pdf-name-width)}.attendance-print-sheet td:nth-child(2){font-size:var(--attendance-pdf-curp-font);letter-spacing:-.12mm}.attendance-print-sheet td:nth-child(3){padding-inline:.7mm .3mm;text-align:left;text-transform:uppercase;font-size:var(--attendance-pdf-name-font);letter-spacing:-.04mm;white-space:nowrap;overflow:hidden;text-overflow:clip;line-height:1}.attendance-print-sheet tbody tr{break-inside:avoid;page-break-inside:avoid}.attendance-print-sheet th:nth-last-child(-n+3){width:6mm}.attendance-print-sheet .nonworking-day{background:#e7e7e7!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.attendance-print-sheet>footer{display:grid;grid-template-columns:1fr 1fr;width:90mm;margin-top:var(--attendance-pdf-footer-gap);border:.3mm solid #222;break-inside:avoid;page-break-inside:avoid}.attendance-print-sheet>footer span{min-height:var(--attendance-pdf-footer-height);padding-top:1.2mm;border-right:.3mm solid #222;font-size:7pt;text-align:center}.attendance-print-sheet>footer span:last-child{border-right:0}}.grade-filters{grid-template-columns:repeat(4,minmax(175px,1fr)) auto}.score-input{width:110px}.score-touch-trigger{display:none}.score-picker{width:min(440px,calc(100vw - 1.5rem));overflow:hidden;border-radius:1rem;background:#fff;box-shadow:0 24px 70px #10193047}.score-picker>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid var(--line)}.score-picker>header h2{margin-top:.15rem;font-size:1rem}.score-picker-current{display:grid;grid-template-columns:3rem 1fr 3rem;gap:.75rem;align-items:center;padding:1rem 1rem .5rem;text-align:center}.score-picker-current button{width:3rem;height:3rem;border:1px solid var(--line);border-radius:.7rem;color:var(--primary);background:var(--primary-soft);font-size:1.5rem;font-weight:800}.score-picker-current strong,.score-picker-current small{display:block}.score-picker-current strong{font-family:Manrope;font-size:1.8rem}.score-picker-current small{color:var(--muted);font-size:.72rem}.score-picker>.field-note{margin:0;padding:0 1rem .75rem;text-align:center}.score-options{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;max-height:240px;overflow-y:auto;padding:0 1rem 1rem}.score-options button{min-height:2.8rem;border:1px solid var(--line);border-radius:.6rem;color:var(--ink);background:#fff;font:inherit;font-weight:800}.score-options button.selected{color:#fff;border-color:var(--primary);background:var(--primary)}.score-picker>footer{display:flex;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-top:1px solid var(--line);background:#fafbfc}.grades-table td:last-child input{min-width:260px}.grade-check{min-width:115px}.observation-filter{grid-template-columns:minmax(280px,1fr) auto}.observations-layout{display:grid;grid-template-columns:minmax(260px,.38fr) minmax(420px,1fr);gap:1rem}.student-list{display:grid;max-height:630px;overflow-y:auto}.student-list button{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:center;padding:.8rem 1rem;border:0;border-bottom:1px solid var(--line);color:var(--ink);background:#fff;text-align:left}.student-list button:hover,.student-list button.active{background:var(--primary-soft)}.student-list strong,.student-list small{display:block}.student-list small{margin-top:.15rem;color:var(--muted);font-size:.7rem}.list-number{display:grid;width:2rem;height:2rem;place-items:center;border-radius:.45rem;color:var(--primary);background:#fff;font-weight:800}.observation-list{display:grid;gap:.8rem;padding:1rem}.observation-list article{padding:1rem;border:1px solid var(--line);border-radius:.65rem}.observation-list article header{display:flex;justify-content:space-between;align-items:start;gap:1rem}.observation-list article strong,.observation-list article small{display:block}.observation-list article small{margin-top:.2rem;color:var(--muted);font-size:.7rem}.observation-list article p{margin:.8rem 0 0;color:#4e5c70;font-size:.85rem;white-space:pre-wrap}.dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.dashboard-stats a{color:inherit;text-decoration:none}.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.admin-metrics a{color:inherit;text-decoration:none}.admin-metrics button.stat-card{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.stat-icon.danger{color:#c43d55;background:#fff0f2}.stat-icon.neutral{color:#57657a;background:#eef1f5;font-size:.72rem;font-weight:800}.admin-error-filters{display:grid;grid-template-columns:minmax(12rem,1fr) repeat(2,minmax(11rem,1fr)) auto;align-items:end;gap:.8rem;padding:1rem 1.4rem;border-bottom:1px solid var(--line)}.admin-error-filters label{margin:0}.admin-errors td small{max-width:28rem;overflow:hidden;text-overflow:ellipsis}.admin-error-detail{display:grid;gap:1rem;padding:1.4rem}.admin-error-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:0}.admin-error-detail dl div{min-width:0;padding:.7rem;border-radius:.5rem;background:#f8f9fb}.admin-error-detail dt{color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.admin-error-detail dd{margin:.25rem 0 0;overflow-wrap:anywhere;font-size:.85rem}.trace-code{font-family:monospace}.error-message{margin:0;padding:.8rem;border-radius:.5rem;color:#9d3146;background:#fff5f6;overflow-wrap:anywhere}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.home-agenda-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:2rem 0 1rem}.home-agenda-heading h2{margin:.2rem 0 0}.home-agenda-heading>div:last-child{display:flex;flex-wrap:wrap;gap:.65rem}.home-week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.week-card{overflow:hidden}.week-agenda{display:grid;padding:.3rem 1.25rem 1rem}.week-agenda>div{display:grid;grid-template-columns:5.5rem .65rem minmax(0,1fr);align-items:center;gap:.7rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.week-agenda>div:last-child{border-bottom:0}.week-agenda time,.week-agenda small{color:var(--muted);font-size:.78rem}.week-agenda strong,.week-agenda small{display:block}.agenda-dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--primary)}.agenda-dot.school{background:#8d1e45}.agenda-dot.birthday{background:#e6aa23}.calendar-page-toolbar{grid-template-columns:minmax(14rem,1fr) auto minmax(15rem,auto);align-items:end}.calendar-month-nav{display:flex;align-items:center;justify-content:center;gap:1rem;min-height:3.5rem;text-transform:capitalize}.calendar-toggle{display:flex!important;min-height:3.5rem;align-items:center;flex-direction:row!important;gap:.65rem!important}.calendar-toggle input{width:auto}.calendar-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(20rem,1fr);gap:1rem}.calendar-month-card{padding:1rem}.teacher-month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-top:0}.teacher-calendar-day{min-width:0;min-height:7.2rem;padding:.55rem;overflow:hidden;text-align:left;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--text);background:#fff;cursor:pointer}.teacher-calendar-day:nth-child(7n){border-right:0}.teacher-calendar-day.outside{opacity:.42;background:#f7f8fb}.teacher-calendar-day:hover{background:#f1f4ff}.teacher-calendar-day b{display:block;margin-bottom:.35rem}.calendar-event{display:block;margin:.2rem 0;padding:.18rem .35rem;overflow:hidden;border-radius:.35rem;font-size:.68rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.calendar-event.personal{color:#334a91;background:#e9edff}.calendar-event.school{color:#8d1e45;background:#f8dce6}.calendar-event.birthday{color:#765400;background:#fff0bc}.agenda-list{overflow:hidden}.agenda-list>article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.85rem 1rem;border-bottom:1px solid var(--line)}.agenda-list article strong,.agenda-list article small{display:block}.agenda-list article small{margin-top:.2rem;color:var(--muted)}.agenda-list article>div:last-child{display:flex;gap:.3rem}.calendar-birthday-button{margin:1rem;width:calc(100% - 2rem)}.birthday-list{display:grid;padding:.5rem 1.25rem 1.25rem}.birthday-list article{display:grid;grid-template-columns:2rem 1fr;align-items:center;gap:.7rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.birthday-list strong,.birthday-list small{display:block}.birthday-list small{color:var(--muted)}.quick-card{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1.35rem;border:1px solid var(--line);border-radius:.8rem;color:var(--ink);background:#fff;box-shadow:var(--shadow);text-decoration:none}.quick-card>span{display:grid;width:3rem;height:3rem;place-items:center;border-radius:.7rem;color:var(--primary);background:var(--primary-soft);font-size:1.35rem}.quick-card.attendance>span{color:#07816f;background:var(--accent-soft)}.quick-card h2,.quick-card p{margin:0}.quick-card h2{font-size:1rem}.quick-card p{margin-top:.25rem;color:var(--muted);font-size:.78rem}.quick-card b{color:var(--primary);font-size:.8rem}.school-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin:1.25rem 0 0;padding:1rem;border:1px solid var(--line);border-radius:.65rem}.school-picker legend{padding:0 .4rem;font-weight:800;font-size:.8rem}.school-picker label{display:flex;align-items:center;gap:.5rem;padding:.55rem;border-radius:.45rem;background:#f8f9fb}.school-picker input{width:auto}.school-scope{display:block;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:normal}.initial-setup{min-height:100vh;background:var(--surface)}.initial-setup-bar{display:flex;align-items:center;justify-content:space-between;padding:1rem clamp(1rem,5vw,5rem);background:#fff;border-bottom:1px solid var(--line)}.initial-setup-content{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:clamp(2rem,5vw,4.5rem) 0;display:grid;grid-template-columns:minmax(250px,.7fr) minmax(560px,1.3fr);gap:2rem;align-items:start}.initial-setup-copy h1{margin:.4rem 0 1rem;font-size:clamp(2rem,4vw,3.4rem);line-height:1.05}.setup-steps{margin:2rem 0 0;padding:0;list-style:none;counter-reset:setup}.setup-steps li{counter-increment:setup;display:flex;align-items:center;gap:.7rem;padding:.65rem 0;color:var(--muted);font-weight:700}.setup-steps li:before{content:counter(setup);display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#e9edf8;color:var(--primary)}.setup-steps li.active{color:var(--ink)}.setup-steps li.active:before{color:#fff;background:var(--primary)}.initial-setup-card{padding:1.5rem}.setup-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}.setup-choice{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0}.setup-choice label{display:flex;align-items:center;gap:.45rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:.65rem;background:#f8f9fc;font-weight:700}.setup-choice input{width:auto}@media(max-width:1050px){.page-shell{padding:1.35rem}.admin-metrics,.admin-error-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.observations-layout{grid-template-columns:1fr}.student-list{max-height:300px}.grade-filters{grid-template-columns:1fr 1fr}.grade-filters .filter-summary{grid-column:span 2;text-align:left}.activity-filters,.activity-filters.with-cycle{grid-template-columns:repeat(2,1fr)}.activity-filters:not(.with-cycle) .academic-filter,.activity-filters.with-cycle .academic-filter,.activity-filters .activity-name-search,.activity-filters .date-filter{grid-column:span 1}.activity-filters .activity-name-search{grid-column:1 / -1}.filter-result{grid-column:span 1}.calendar-toolbar{grid-template-columns:1fr}.calendar-toolbar>form{grid-template-columns:1fr 1fr}.calendar-event-name{grid-column:span 1}.school-calendar{grid-template-columns:repeat(3,1fr)}.preview-list article{grid-template-columns:1fr 1fr}.activity-filters .filter-summary{text-align:left}.report-filters,.report-summary-grid{grid-template-columns:1fr 1fr}.sec-report-grid{grid-template-columns:1fr}.criteria-head{display:none}.criteria-row{grid-template-columns:1fr 1fr;padding:1rem 0}.criteria-row .icon-button{justify-self:end}.scheme-heading{align-items:stretch;flex-direction:column}}@media(max-width:850px){.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-panel{min-height:100vh;background:linear-gradient(155deg,#f7f8fc,#eef1f8)}.login-card{padding:1.6rem;border:1px solid var(--line);border-radius:.85rem;background:#fff;box-shadow:var(--shadow)}.mobile-brand{display:flex;align-items:center;gap:.7rem;margin-bottom:2.5rem;font-family:Manrope;font-weight:800}.app-frame{grid-template-columns:1fr}.sidebar{transform:translate(-100%);transition:transform .2s ease}.sidebar-collapse{display:none}.menu-open .sidebar{transform:translate(0)}.workspace{grid-column:1}.sidebar-collapsed.app-frame{grid-template-columns:1fr}.sidebar-collapsed .sidebar{width:250px;padding:1.4rem 1rem 1rem}.sidebar-collapsed .nav-copy{display:inline}.sidebar-collapsed .nav-label{display:block}.sidebar-collapsed .next-modules{display:grid}.sidebar-collapsed .sidebar-foot div{display:block}.sidebar-collapsed .sidebar nav a{justify-content:flex-start;padding:.65rem .75rem}.sidebar-collapsed .sidebar nav a:before,.sidebar-collapsed .sidebar nav a:after{display:none}.sidebar-collapsed .sidebar-foot{grid-template-columns:auto 1fr;justify-items:stretch;padding:1rem .55rem 0}.sidebar-logout{display:flex;grid-column:1 / -1;min-height:2.75rem;align-items:center;justify-content:center;gap:.55rem;margin-top:.25rem;padding:.65rem .8rem;border:1px solid rgba(255,255,255,.18);border-radius:.55rem;color:#fff;background:#ffffff14;font:inherit;font-size:.84rem;font-weight:700}.menu-button{display:grid}.backdrop{display:block;position:fixed;z-index:25;inset:0;border:0;background:#141b2d59}}@media(max-width:620px){.topbar{padding:0 1rem}.topbar .ghost{width:2.6rem;overflow:hidden;color:transparent}.topbar .ghost:after{content:"\21aa";color:var(--primary)}.floating-setup-guide{right:.75rem;bottom:.75rem;width:calc(100vw - 1.5rem);grid-template-columns:auto 1fr}.floating-setup-guide .button{grid-column:1 / -1;width:100%}.onboarding-alert{align-items:stretch;flex-direction:column}.page-shell{padding:1rem}.page-heading{align-items:stretch;flex-direction:column}.summary-grid,.admin-metrics,.admin-error-filters,.admin-error-detail dl,.dashboard-stats,.quick-grid,.home-week-grid,.calendar-layout,.calendar-page-toolbar{grid-template-columns:1fr}.home-agenda-heading{align-items:stretch;flex-direction:column}.teacher-calendar-day{min-height:5.2rem;padding:.3rem}.calendar-event{font-size:0;width:.55rem;height:.55rem;padding:0;border-radius:50%}.group-grid,.activity-grid,.period-grid{grid-template-columns:minmax(0,1fr)}.school-picker,.initial-setup-content{grid-template-columns:1fr}.setup-steps{display:flex;gap:1rem;margin-top:1rem}.setup-steps li{font-size:.78rem}.directory-heading{align-items:stretch;flex-direction:column}.roster-context-selectors{grid-template-columns:1fr;width:100%}.search-field{width:100%}.filter-bar,.attendance-filters{grid-template-columns:1fr}.attendance-quick-actions .button{width:100%}.card-actions{align-items:stretch;flex-direction:column}.assignment-form{grid-template-columns:1fr}.roster-toolbar{align-items:stretch;flex-direction:column}.roster-toolbar>label{width:100%}.roster-import-actions{display:grid;grid-template-columns:1fr 1fr}.roster-import-actions .button{width:100%;justify-content:center}.roster-import-actions .button:last-child{grid-column:1 / -1}.import-mapping-grid{grid-template-columns:1fr}.import-mapping-footer{align-items:stretch;flex-direction:column}.grade-filters,.observation-filter{grid-template-columns:1fr}.grade-filters .filter-summary{grid-column:span 1}.activity-filters,.activity-filters.with-cycle{grid-template-columns:1fr}.activity-filters:not(.with-cycle) .academic-filter,.activity-filters.with-cycle .academic-filter,.activity-filters .activity-name-search,.activity-filters .date-filter,.filter-result{grid-column:auto}.view-switch{grid-column:auto;justify-self:start}.filter-result{justify-content:space-between}.report-filters,.report-summary-grid{grid-template-columns:1fr}.attendance-report-toolbar{align-items:stretch;flex-direction:column;padding:.8rem}.attendance-range-switch{width:100%;margin:0}.attendance-range-switch button{flex:1}.attendance-report-toolbar label,.attendance-report-toolbar>.button{width:100%}.attendance-report-legend{padding:.7rem .8rem}.attendance-matrix-wrap{max-height:70vh}.sec-date-range,.sec-cut-summary{grid-template-columns:1fr;width:100%}.scheme-filters,.criteria-row,.observations-layout{grid-template-columns:1fr}.filter-summary{text-align:left}.attendance-desktop{display:none}.attendance-mobile-list{display:block}.attendance-card-actions{position:sticky;z-index:5;bottom:0;padding:.75rem 1rem;box-shadow:0 -8px 20px #26324414}.attendance-card-actions .button{width:100%}.grades-table .score-input{display:none}.score-touch-trigger{display:grid;min-width:128px;min-height:3.4rem;padding:.45rem .65rem;border:1px solid var(--line);border-radius:.6rem;color:var(--ink);background:#fff;text-align:left}.score-touch-trigger:disabled{opacity:.5}.score-touch-trigger strong,.score-touch-trigger small{display:block}.score-touch-trigger strong{color:var(--primary);font-family:Manrope;font-size:1.1rem}.score-touch-trigger small{margin-top:.1rem;color:var(--muted);font-size:.58rem;white-space:nowrap}.score-picker-layer{align-items:end;padding:0}.score-picker{width:100%;max-height:88vh;border-radius:1rem 1rem 0 0}.score-options{grid-template-columns:repeat(4,1fr)}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.setup-guide{grid-template-columns:auto 1fr}.setup-guide .button{grid-column:1 / -1;width:100%}.setup-dialog-body{grid-template-columns:1fr;text-align:center}.setup-dialog-body .guide-mascot{margin:0 auto}.calendar-toolbar>form,.ics-url{grid-template-columns:1fr}.school-calendar{grid-template-columns:1fr}.preview-list article{grid-template-columns:1fr}.cycle-row{grid-template-columns:auto 1fr}.cycle-row>.status{justify-self:start}.row-actions{grid-column:2}}
