.role-workspace-guide{padding:1.25rem;margin-bottom:1.5rem;border:1px solid var(--border-color,#d8e5e0);border-radius:20px;background:var(--bg-card,#fff);min-width:0}.role-workspace-guide header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1rem}.role-workspace-guide h2{font-size:1.2rem;margin:.3rem 0;line-height:1.35}.role-workspace-guide p{color:var(--text-secondary,#56706a);font-size:.88rem;line-height:1.55;margin:.4rem 0}.role-workspace-scope{display:flex;gap:.5rem;align-items:flex-start;max-width:250px;padding:.6rem .8rem;border-radius:12px;background:#edf7f3;color:#1c7062;font-size:.8rem;line-height:1.4;flex-shrink:0}.role-workspace-scope svg{flex-shrink:0}.role-workspace-guide nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.role-workspace-guide nav a{display:flex;gap:.6rem;align-items:center;padding:.8rem;border:1px solid #dbe8e2;border-radius:14px;color:inherit;text-decoration:none;min-width:0;transition:background .15s,border-color .15s}.role-workspace-guide nav a:hover{background:#f1f8f5;border-color:#90bdb0}.role-workspace-guide nav a:focus-visible{outline:3px solid #218876;outline-offset:3px}.role-workspace-guide nav strong{font-size:.9rem;line-height:1.4;display:block;overflow-wrap:anywhere}.role-workspace-guide nav a>svg{flex-shrink:0;margin-left:auto}.role-workspace-icon{color:#1c7768;background:#eaf5f0;border-radius:9px;padding:.45rem;display:flex;flex-shrink:0}.role-workspace-guide .role-workspace-flow{margin:1rem 0 0;padding-top:.8rem;border-top:1px solid #e4ece8;font-size:.8rem}.sidebar-role-scope{margin:.85rem 1rem .3rem;padding:.7rem .8rem;background:#f0f7f4;border:1px solid #dcebe4;border-radius:12px;flex-shrink:0}.sidebar-role-scope strong{display:block;font-size:.72rem;color:#236f61;text-transform:uppercase;letter-spacing:.05em}.sidebar-role-scope p{font-size:.76rem;line-height:1.45;margin:.3rem 0 0;color:var(--text-secondary,#56706a)}.sidebar-nav-group:last-child{padding-bottom:.5rem}.family-portal-scope{margin:0 1rem;padding:.75rem;border-radius:12px;background:#f0f7f4;color:#39665a;font-size:.78rem;line-height:1.45}@media(max-width:1200px){.role-workspace-guide nav{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.role-workspace-guide{padding:1rem}.role-workspace-guide header{flex-direction:column;gap:.7rem}.role-workspace-scope{max-width:none}.role-workspace-guide nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.role-workspace-guide nav a{gap:.45rem;padding:.65rem}.role-workspace-guide nav strong{font-size:.8rem}.role-workspace-guide nav a>svg{display:none}.role-workspace-icon{padding:.35rem}}@media(prefers-reduced-motion:reduce){.role-workspace-guide nav a{transition:none}}.csa-local-state-notice{position:fixed;z-index:2500;top:1rem;right:1rem;width:min(520px,calc(100vw - 2rem));display:flex;align-items:flex-start;gap:.75rem;padding:1.1rem;border:2px solid var(--csa-gold-600);border-radius:16px;background:var(--csa-gold-50);color:var(--csa-ink);box-shadow:0 12px 36px #18302b2e}.csa-local-state-notice>svg{flex-shrink:0;color:var(--csa-gold-700)}.csa-local-state-notice p{font-size:.875rem;line-height:1.6;margin:.3rem 0}.csa-local-state-notice small{font-size:.75rem;color:var(--csa-muted)}.csa-local-state-notice button{display:grid;place-items:center;flex-shrink:0;min-width:44px;min-height:44px;padding:.5rem;border:1px solid var(--csa-gold-200);border-radius:12px;background:#fff;color:var(--csa-ink)}.csa-local-state-notice button:focus-visible{outline:3px solid var(--csa-teal-600);outline-offset:2px}.core-integrity{height:100dvh;overflow-y:auto;box-sizing:border-box;padding:clamp(16px,4vw,48px);background:var(--bg-primary, #f5f9f7);color:var(--text-primary, #193b35)}.core-integrity__card{max-width:960px;margin:auto;background:#fff;padding:clamp(20px,4vw,40px);border:1px solid #d8e6e1;border-radius:24px;box-shadow:0 12px 36px #174e3610}.core-integrity h1{font-size:clamp(1.5rem,4vw,2rem);margin:12px 0 20px}.core-integrity h2{font-size:1.2rem;margin-top:28px}.core-integrity p{line-height:1.65;overflow-wrap:anywhere}.core-integrity__eyebrow{color:#176f62;font-size:.8rem;font-weight:700}.core-integrity__summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.core-integrity__summary>div{padding:18px;border-radius:14px;background:#f0f7f4}.core-integrity__summary strong{display:block;font-size:1.6rem}.core-integrity__summary span{font-size:.85rem;line-height:1.5}.core-integrity__issues{list-style:none;padding:0}.core-integrity__issues li{padding:16px 0;border-bottom:1px solid #e1ebe7}.core-integrity__issues strong,.core-integrity__issues span{display:block;overflow-wrap:anywhere}.core-integrity__issues span{margin-top:6px;font-size:.875rem;color:#516b63}.core-integrity__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px}.core-integrity__actions button{min-height:44px;white-space:normal}.core-integrity__help{background:#fff8e7;border:1px solid #efd8a3;border-radius:14px;padding:18px;margin-top:24px}.core-integrity__help p{margin-bottom:0}@media(max-width:600px){.core-integrity__summary{grid-template-columns:1fr}.core-integrity__actions button{flex:1 1 100%}}.core-recovery{margin-top:28px;border-top:1px solid #d8e6e1;padding-top:24px;overflow-wrap:anywhere}.core-recovery label{display:block;margin:18px 0;line-height:1.6}.core-recovery input[type=file],.core-recovery textarea{display:block;width:100%;box-sizing:border-box;margin-top:8px;padding:12px;border:1px solid #c9dcd5;border-radius:12px;background:#fff;font:inherit}.core-recovery textarea{min-height:90px;resize:vertical}.core-recovery__table{overflow-x:auto;margin:18px 0}.core-recovery table{width:100%;min-width:620px;border-collapse:collapse;font-size:.85rem}.core-recovery td,.core-recovery th{padding:10px;border-bottom:1px solid #d8e6e1;text-align:left;overflow-wrap:normal;word-break:normal}.core-recovery thead{background:#eef7f3}.core-recovery pre{overflow:auto;max-height:260px;padding:12px;background:#f4f7f5;font-size:.75rem}.core-recovery__hash{font-size:.75rem;overflow-wrap:anywhere}.core-recovery__history{list-style:none;padding:0;max-height:400px;overflow:auto}.core-recovery__history li{padding:16px 0;border-bottom:1px solid #d8e6e1}.core-recovery button:disabled{opacity:.45;cursor:not-allowed}.core-recovery__open{position:fixed;bottom:18px;right:18px;z-index:50;max-width:calc(100vw - 36px);box-shadow:0 4px 20px #174e3620}.core-recovery--floating{position:fixed;inset:24px 24px auto;max-width:960px;margin:auto;max-height:calc(100dvh - 48px);overflow:auto;background:#fff;padding:24px;border:1px solid #c9dcd5;border-radius:20px;box-shadow:0 8px 60px #174e3640;z-index:1000}.academic-year-samples{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;margin-bottom:1rem;border:1px solid var(--border-color, #d7e6e1);border-radius:14px;background:var(--bg-secondary, #f3f8f6);color:var(--text-primary, #19352d);font-size:.875rem}.academic-year-samples>svg{flex-shrink:0;margin-top:.15rem}.academic-year-samples div{min-width:0}.academic-year-samples strong{font-size:.875rem}.academic-year-samples p{margin:.2rem 0 0;line-height:1.5;color:var(--text-secondary, #536b64)}.local-profile-review{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding:.8rem 1rem;margin-bottom:1rem;border:1px solid #e4d295;border-radius:12px;background:#fff9e6;color:#625025}.local-profile-review>div{display:flex;align-items:center;gap:.65rem}.local-profile-review strong,.local-profile-review small{display:block}.local-profile-review strong{font-size:.83rem}.local-profile-review small{font-size:.73rem;margin-top:.2rem}.local-profile-review nav{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.local-profile-review .btn{font-size:.8rem;min-height:38px}.local-review-connected{display:inline-flex;align-items:center;gap:.3rem;font-size:.76rem;color:var(--primary-dark);text-underline-offset:3px}.central-review-entry{display:inline-flex;gap:.4rem;align-items:center;font-size:.8rem;padding:.45rem .7rem;border:1px solid var(--border-color);border-radius:9px;color:var(--primary-dark);background:#fff;text-decoration:none}@media(max-width:600px){.local-profile-review nav{width:100%}.central-review-entry span{display:none}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #279f8d;--primary-light: #43b9a6;--primary-dark: #197565;--primary-bg: rgba(39, 159, 141, .08);--primary-bg-hover: rgba(39, 159, 141, .14);--accent: #efb51d;--accent-light: #f9ca48;--accent-dark: #af7900;--success: #238364;--success-bg: rgba(35, 131, 100, .08);--warning: #bd7e00;--warning-bg: rgba(189, 126, 0, .09);--danger: #df402c;--danger-bg: rgba(223, 64, 44, .08);--info: #197f91;--info-bg: rgba(25, 127, 145, .08);--bg-primary: #f7faf8;--bg-secondary: #ffffff;--bg-tertiary: #f0f5f2;--bg-elevated: #e8efeb;--bg-card: #ffffff;--bg-card-hover: #f7fbf9;--bg-input: #f4f8f6;--border-color: #dce7e1;--border-color-hover: #bdcec5;--border-color-focus: var(--primary);--text-primary: #18302b;--text-secondary: #52655f;--text-tertiary: #7a8d86;--text-inverse: #ffffff;--glass-bg: rgba(255, 255, 255, .85);--glass-border: rgba(0, 0, 0, .06);--glass-blur: blur(20px);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 28px rgba(0, 0, 0, .12);--shadow-glow: 0 2px 12px rgba(39, 159, 141, .16);--shadow-glow-accent: 0 2px 12px rgba(239, 181, 29, .16);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .7rem;--font-size-sm: .8rem;--font-size-base: .9rem;--font-size-md: 1rem;--font-size-lg: 1.15rem;--font-size-xl: 1.4rem;--font-size-2xl: 1.8rem;--font-size-3xl: 2.2rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1rem;--space-xl: 1.5rem;--space-2xl: 2rem;--space-3xl: 3rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--sidebar-width: 272px;--header-height: 72px}html,body{height:100%;overflow:hidden;scrollbar-color:var(--border-color-hover) transparent;scrollbar-width:thin}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ced4da;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-light)}.app-icon{display:block;flex:0 0 auto;color:currentColor}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:var(--space-sm);color:inherit;border:0;border-radius:var(--radius-md);background:transparent;font:inherit;line-height:1;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.icon-button:focus-visible{outline:3px solid rgba(39,159,141,.2);outline-offset:2px}.app-layout{display:flex;height:100vh;overflow:hidden}.skip-link{position:fixed;z-index:2000;top:.75rem;left:.75rem;padding:.7rem 1rem;color:#fff;border-radius:var(--radius-md);background:var(--primary-dark);box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);font-weight:750;transform:translateY(-160%);transition:transform var(--transition-fast)}.skip-link:focus{color:#fff;transform:translateY(0)}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;z-index:100;transition:transform var(--transition-base);box-shadow:8px 0 28px #18302b06}.sidebar-header{padding:1.15rem var(--space-xl);border-bottom:1px solid var(--border-color)}.sidebar-logo{display:flex;align-items:center;gap:var(--space-md)}.sidebar-logo-icon{width:40px;height:40px;border-radius:var(--radius-md);background:#fff;border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:var(--font-size-sm);color:#fff;flex-shrink:0}.sidebar-logo-icon img{display:block;width:31px;height:31px;object-fit:contain}.sidebar-logo-text h1{font-size:var(--font-size-md);font-weight:700;color:var(--text-primary);line-height:1.2}.sidebar-logo-text span{font-size:var(--font-size-xs);color:var(--text-tertiary);font-weight:400}.sidebar-close-btn{display:none;margin-left:auto;color:var(--text-secondary)}.sidebar-nav{flex:1;padding:var(--space-sm) var(--space-lg) var(--space-lg);overflow-y:auto;display:flex;flex-direction:column;gap:0}.sidebar-nav-group{display:flex;flex-direction:column;gap:2px}.sidebar-section-label{font-size:.68rem;font-weight:800;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.1em;padding:var(--space-lg) var(--space-md) .42rem}.nav-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.84rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;border:none;background:none;width:100%;text-align:left;position:relative}.nav-item:hover{background:var(--csa-teal-50);color:var(--csa-teal-800)}.nav-item.active{color:var(--csa-gold-700);font-weight:700;background:linear-gradient(135deg,var(--csa-gold-100),#fff6d8);box-shadow:inset 0 0 0 1px #efb51d7a}.nav-item.active:hover{color:var(--csa-gold-700);background:linear-gradient(135deg,var(--csa-gold-100),#fff6d8)}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--csa-gold-500);border-radius:var(--radius-full)}.nav-item.active .nav-item-icon{color:var(--csa-teal-700)}.nav-item-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;flex-shrink:0}.nav-item-label{min-width:0;line-height:1.25}.nav-item-badge{margin-left:auto;background:var(--danger);color:#fff;font-size:var(--font-size-xs);font-weight:700;padding:2px 7px;border-radius:var(--radius-full);min-width:20px;text-align:center}.nav-item-badge-warning{background:var(--warning)}.sidebar-user{padding:var(--space-lg);border-top:1px solid var(--border-color);display:flex;align-items:center;gap:var(--space-md);flex-shrink:0}.sidebar-cycle{display:flex;align-items:center;gap:.45rem;flex-shrink:0;margin:0;padding:.65rem var(--space-xl);color:var(--csa-teal-700);border-top:1px solid var(--csa-border);border-bottom:1px solid var(--csa-border);background:var(--csa-teal-50);font-size:var(--font-size-xs)}.sidebar-cycle span{color:var(--text-secondary)}.sidebar-cycle strong{margin-left:auto;color:var(--csa-teal-800);font-size:var(--font-size-xs)}.sidebar-user-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-sm);color:var(--primary-light);overflow:hidden;flex-shrink:0}.sidebar-user-avatar img{width:100%;height:100%;object-fit:cover}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:var(--font-size-xs);color:var(--text-tertiary)}.page-loading{position:relative;width:min(1180px,100%);min-height:420px;margin-inline:auto;overflow:hidden}.page-loading-message{position:absolute;z-index:2;top:1.5rem;left:1.5rem;display:inline-flex;align-items:center;gap:.65rem;padding:.65rem .85rem;color:var(--csa-teal-800);border:1px solid var(--csa-border);border-radius:var(--radius-full);background:#ffffffeb;box-shadow:var(--shadow-sm);font-size:var(--font-size-sm);font-weight:700}.page-loading-spinner{width:17px;height:17px;border:2px solid var(--csa-teal-200);border-top-color:var(--csa-teal-700);border-radius:50%;animation:spin .8s linear infinite}.page-loading-skeleton{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.page-loading-skeleton span{min-height:120px;border:1px solid var(--csa-border);border-radius:var(--radius-lg);background:linear-gradient(100deg,#edf3f0 20%,#f8fbf9,#edf3f0 70%);background-size:240% 100%;animation:loadingShimmer 1.35s ease-in-out infinite}.page-loading-skeleton .page-loading-skeleton-hero{grid-column:1 / -1;min-height:230px;border-radius:var(--radius-xl)}.app-loading-screen{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--text-primary);background:var(--bg-primary)}.app-loading-content{text-align:center}.app-loading-brand{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin:0 auto 16px;padding:.65rem;border:1px solid var(--border-color);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm);animation:pulse 1.5s infinite}.app-loading-brand img{width:100%;height:100%;object-fit:contain}.app-loading-content strong{display:block;margin-bottom:.2rem;font-size:var(--font-size-md)}.app-loading-content p{color:var(--text-secondary);font-size:.85rem}.sidebar-logout-btn{color:var(--text-tertiary)}.sidebar-logout-btn:hover{background:var(--danger-bg);color:var(--danger)}.main-content{position:relative;flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.main-header{height:var(--header-height);min-height:var(--header-height);padding:0 var(--space-2xl);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);z-index:50}.main-header-left{display:flex;align-items:center;gap:var(--space-lg)}.main-header-module-icon{display:inline-grid;width:38px;height:38px;place-items:center;color:var(--csa-teal-700);border:1px solid var(--csa-border);border-radius:var(--radius-md);background:var(--csa-teal-50)}.main-header-context{display:grid;gap:.08rem}.main-header-context>span{color:var(--csa-teal-700);font-size:.66rem;font-weight:800;letter-spacing:.075em;line-height:1;text-transform:uppercase}.main-header-left h2{font-size:var(--font-size-md);font-weight:750;line-height:1.2}.mobile-menu-btn{display:none;color:var(--text-primary)}.main-header-right{display:flex;align-items:center;gap:var(--space-lg)}.main-header-cycle{display:inline-flex;align-items:center;gap:.45rem;min-height:36px;padding:.4rem .7rem;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-full);background:#ffffffc7;font-size:var(--font-size-xs);font-weight:700}.page-content{flex:1;overflow-y:auto;padding:clamp(1rem,2.4vw,2rem);scroll-behavior:smooth;background:radial-gradient(circle at 96% 3%,rgba(239,181,29,.055),transparent 20rem),radial-gradient(circle at 8% 92%,rgba(39,159,141,.055),transparent 24rem),var(--bg-primary)}.recibos-page{max-width:1500px;margin:0 auto}.recibos-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:var(--space-3xl);align-items:center;min-height:268px;padding:2rem 2.25rem;border-radius:22px;background:#fff;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);margin-bottom:var(--space-xl)}.recibos-hero:before{content:"";position:absolute;width:370px;height:370px;top:-275px;right:280px;border-radius:50%;background:#efb51d2b}.recibos-hero:after{content:"";position:absolute;width:230px;height:230px;bottom:-195px;left:38%;border-radius:50%;background:#df402c1a}.recibos-hero-copy,.recibos-hero-panel{position:relative;z-index:1}.recibos-brand{display:block;width:min(255px,58%);height:50px;margin-bottom:1.2rem;object-fit:contain;object-position:left center}.recibos-hero h1{font-size:clamp(1.75rem,3vw,2.35rem);letter-spacing:-.04em;line-height:1.15;margin:var(--space-xs) 0 var(--space-sm)}.recibos-hero p:not(.eyebrow){color:var(--text-secondary);max-width:650px}.eyebrow{font-size:var(--font-size-xs);font-weight:800;letter-spacing:.09em;color:var(--primary-dark)}.recibos-assurance{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:1.15rem;color:var(--primary-dark);font-size:.68rem;font-weight:750}.recibos-hero-panel{padding:1.4rem;color:#fff;border-radius:17px;background:linear-gradient(140deg,#176f62,#249c8b);box-shadow:0 14px 30px #19756538}.recibos-panel-kicker{display:flex;align-items:center;gap:.45rem;font-size:.65rem;font-weight:800;letter-spacing:.08em;opacity:.82;text-transform:uppercase}.recibos-panel-kicker i{width:7px;height:7px;border-radius:50%;background:var(--accent-light);box-shadow:0 0 0 4px #ffffff1f}.recibos-hero-panel>strong{display:block;margin-top:.9rem;font-size:1.25rem}.recibos-hero-panel>small{display:block;min-height:34px;margin:.2rem 0 1rem;color:#ffffffb8;font-size:.68rem;line-height:1.4}.recibos-import-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.7rem .85rem;color:var(--primary-dark);border:0;border-radius:9px;background:#fff;box-shadow:0 4px 12px #08372e24;font:inherit;font-size:var(--font-size-sm);font-weight:800;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.recibos-import-btn:hover{transform:translateY(-1px);box-shadow:0 7px 16px #08372e33}.recibos-import-btn span{color:var(--danger);font-size:1rem}.recibos-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-top:.65rem}.recibos-hero-panel .recibos-actions .btn{flex:1;min-width:105px;color:#ffffffe6;border-color:#ffffff40;background:#ffffff17}.recibos-hero-panel .recibos-actions .btn:hover{background:#ffffff2e}.recibos-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-md);margin-bottom:var(--space-xl)}.recibo-stat{position:relative;overflow:hidden;min-height:122px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1rem 1.05rem;box-shadow:var(--shadow-sm)}.recibo-stat:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--primary)}.recibo-stat.gold:before{background:var(--accent)}.recibo-stat.danger:before{background:var(--danger)}.recibo-stat.warning:before{background:#d58b00}.recibo-stat.date:before{background:var(--info)}.recibo-stat span{display:block;color:var(--text-tertiary);font-size:.64rem;font-weight:750;letter-spacing:.04em;margin-bottom:.55rem;text-transform:uppercase}.recibo-stat strong{display:block;overflow-wrap:anywhere;font-size:clamp(1rem,1.6vw,1.4rem);letter-spacing:-.035em;line-height:1.15}.recibo-stat small{display:block;margin-top:.4rem;color:var(--text-tertiary);font-size:.64rem}.recibos-config{position:relative;overflow:hidden}.recibos-config:after{content:"";position:absolute;width:120px;height:120px;right:-65px;bottom:-80px;border-radius:50%;background:var(--primary-bg)}.recibos-card-title{display:flex;align-items:center;gap:.7rem}.recibos-card-title>span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;color:var(--primary-dark);border-radius:10px;background:var(--primary-bg);font-size:.66rem;font-weight:900}.recibos-card-title p{color:var(--text-tertiary);font-size:.62rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.fixed-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md);color:var(--text-secondary);font-size:var(--font-size-sm)}.fixed-fields span{padding:.72rem .8rem;border-radius:8px;background:var(--bg-input)}.fixed-fields b{display:block;margin-bottom:.18rem;color:var(--text-primary);font-size:.67rem;text-transform:uppercase;letter-spacing:.04em}.recibos-table-header{align-items:flex-start;gap:var(--space-lg)}.table-help{color:var(--text-tertiary);font-size:var(--font-size-xs);margin-top:3px}.segmented-control{border:1px solid var(--border-color);background:var(--bg-input);display:inline-flex;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0}.segmented-control button{background:transparent;border:0;color:var(--text-secondary);cursor:pointer;padding:7px 10px;font-size:var(--font-size-xs);font-weight:600}.segmented-control button.active{background:var(--primary);color:#fff}.recibos-table th{white-space:nowrap}.recibos-table td{vertical-align:top;min-width:120px}.recibos-table td small{display:block;color:var(--text-tertiary);font-size:var(--font-size-xs);margin-top:3px;line-height:1.35}.recibos-table .match{color:var(--success);font-weight:600}.recibos-table .mismatch,.recibos-table .receipt-warning{color:var(--warning);font-weight:600}.cell-form{min-width:200px!important}.cell-form input,.cell-form select{width:100%;margin-bottom:var(--space-sm)}.cell-form input,.cell-form select,.mora-field input{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);padding:8px 9px;font-family:inherit;font-size:var(--font-size-xs)}.mora-field{color:var(--text-secondary);font-size:var(--font-size-xs);display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.mora-field input{width:68px;padding:6px}.receiver-cell strong{color:var(--text-primary)}.receipt-select{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.receipt-select:disabled{cursor:not-allowed;opacity:.45}.empty-receipts{text-align:center;padding:4rem var(--space-xl);color:var(--text-secondary);background:radial-gradient(circle at 50% 45%,rgba(39,159,141,.07),transparent 32%)}.empty-receipts-icon{display:flex;align-items:center;justify-content:center;width:190px;height:58px;margin:0 auto var(--space-md);padding:.35rem .55rem;border:1px solid var(--border-color);border-radius:13px;background:#fff;box-shadow:var(--shadow-sm)}.empty-receipts-icon img{width:100%;height:100%;object-fit:contain}.empty-receipts>span{color:var(--primary-dark);font-size:.62rem;font-weight:850;letter-spacing:.1em}.empty-receipts h3{color:var(--text-primary);font-size:var(--font-size-lg);margin-bottom:var(--space-sm)}.empty-receipts p{max-width:430px;margin:0 auto var(--space-xl);font-size:var(--font-size-sm)}@media(max-width:900px){.recibos-hero{grid-template-columns:1fr}.recibos-hero-panel{max-width:440px}.recibos-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.fixed-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.recibos-table-header{flex-direction:column}}@media(max-width:520px){.recibos-hero{padding:var(--space-xl)}.recibos-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.fixed-fields{grid-template-columns:1fr}}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all var(--transition-base)}.card:hover{border-color:var(--border-color-hover)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.card-title{font-size:var(--font-size-md);font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg);margin-bottom:var(--space-2xl)}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-xl);display:flex;align-items:flex-start;gap:var(--space-lg);transition:all var(--transition-base)}.stat-card:hover{border-color:var(--border-color-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}.stat-icon.purple{background:var(--primary-bg);color:var(--primary)}.stat-icon.blue{background:var(--info-bg);color:var(--accent)}.stat-icon.green{background:var(--success-bg);color:var(--success)}.stat-icon.red{background:var(--danger-bg);color:var(--danger)}.stat-icon.yellow{background:var(--warning-bg);color:var(--warning)}.stat-info h3{font-size:var(--font-size-2xl);font-weight:800;line-height:1;margin-bottom:var(--space-xs)}.stat-info p{font-size:var(--font-size-sm);color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;border:1px solid transparent;transition:all var(--transition-fast);white-space:nowrap;text-decoration:none}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:var(--shadow-glow)}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-light),var(--primary));box-shadow:0 0 30px #845ef74d;transform:translateY(-1px)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--border-color-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#ee5a5a;transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--primary-bg);color:var(--primary)}.btn-sm{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-xs)}.btn-icon{width:36px;height:36px;padding:0;border-radius:var(--radius-md)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap}.badge-creada{background:var(--info-bg);color:var(--accent-dark)}.badge-recibida{background:#7048e81a;color:var(--primary-dark)}.badge-en_progreso{background:var(--warning-bg);color:var(--warning)}.badge-delegada{background:#e6770014;color:#d96e00}.badge-pendiente_verificacion{background:#e677001a;color:#c96600}.badge-completada{background:#2f9e441a;color:var(--success)}.badge-verificada{background:var(--success-bg);color:var(--success)}.badge-vencida{background:var(--danger-bg);color:var(--danger)}.badge-sin_verificar{background:#e031311a;color:var(--danger)}.badge-solicitada{background:var(--info-bg);color:var(--accent-dark)}.badge-en_preparacion{background:var(--warning-bg);color:var(--warning)}.badge-lista_para_firma{background:#7048e81a;color:var(--primary-dark)}.badge-firmada{background:var(--success-bg);color:var(--success)}.badge-entregada{background:#2f9e440f;color:#2b8a3e}.badge-registrado{background:var(--info-bg);color:var(--accent-dark)}.badge-notificado{background:var(--success-bg);color:var(--success)}.badge-priority-urgente{background:var(--danger-bg);color:var(--danger)}.badge-priority-normal{background:var(--warning-bg);color:var(--warning)}.badge-priority-baja{background:var(--success-bg);color:var(--success)}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-sm)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-md) var(--space-lg);background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);transition:all var(--transition-fast);outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #845ef726}.form-input::placeholder{color:var(--text-tertiary)}.form-textarea{min-height:100px;resize:vertical}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%235c5f77' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border-color)}.table{width:100%;border-collapse:collapse}.table th{background:var(--bg-tertiary);padding:var(--space-md) var(--space-lg);font-size:var(--font-size-xs);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;text-align:left;white-space:nowrap}.table td{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--border-color);font-size:var(--font-size-sm);vertical-align:middle}.table tr:hover td{background:var(--bg-card-hover)}.table-row-clickable{cursor:pointer}.modal-overlay{position:fixed;inset:0;background:#00000059;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-xl);animation:fadeIn .2s ease}.modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:slideUp .25s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xl) var(--space-2xl);border-bottom:1px solid var(--border-color)}.modal-header h3{font-size:var(--font-size-lg);font-weight:700}.modal-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:1.3rem;padding:var(--space-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.modal-close:hover{background:var(--danger-bg);color:var(--danger)}.modal-body{padding:var(--space-2xl);overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-md);padding:var(--space-lg) var(--space-2xl);border-top:1px solid var(--border-color)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl) var(--space-xl);text-align:center}.empty-state-icon{font-size:3rem;margin-bottom:var(--space-lg);opacity:.4}.empty-state h3{font-size:var(--font-size-lg);color:var(--text-secondary);margin-bottom:var(--space-sm)}.empty-state p{font-size:var(--font-size-sm);color:var(--text-tertiary);max-width:320px}.notification-btn{position:relative;color:var(--text-secondary)}.notification-btn:hover{background:var(--primary-bg);color:var(--primary)}.notification-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;background:var(--danger);border-radius:var(--radius-full);border:2px solid var(--bg-secondary)}.notification-popover{position:absolute;z-index:300;top:var(--header-height);right:var(--space-2xl);width:min(360px,calc(100% - 2rem));max-height:400px;overflow:hidden;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-secondary);box-shadow:var(--shadow-lg);animation:slideUp .2s ease}.notification-popover-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border-color)}.notification-popover-title{font-size:var(--font-size-sm);font-weight:700}.notification-popover-list{max-height:340px;overflow-y:auto}.notification-popover-empty{padding:var(--space-2xl);color:var(--text-tertiary);font-size:var(--font-size-sm);text-align:center}.notification-popover-item{padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--border-color);background:transparent;transition:background var(--transition-fast)}.notification-popover-item:last-child{border-bottom:0}.notification-popover-item:hover{background:var(--bg-card-hover)}.notification-popover-item.unread{background:var(--primary-bg)}.notification-popover-item.unread:hover{background:var(--primary-bg-hover)}.notification-popover-item p{margin-bottom:2px;font-size:var(--font-size-sm);font-weight:400}.notification-popover-item.unread p{font-weight:600}.notification-popover-item span{color:var(--text-tertiary);font-size:var(--font-size-xs)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(120deg,rgba(39,159,141,.11),transparent 38%),linear-gradient(310deg,rgba(239,181,29,.12),transparent 34%),#f8fbf9;position:relative;overflow:auto}.login-bg-gradient{position:absolute;width:600px;height:600px;border-radius:50%;filter:blur(120px);opacity:.15}.login-bg-gradient.purple{top:-280px;left:-180px;background:var(--primary)}.login-bg-gradient.blue{bottom:-300px;right:-190px;background:var(--accent)}.login-shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(400px,1.05fr) minmax(390px,.95fr);width:min(1080px,100%);min-height:660px;background:#fff;border:1px solid var(--border-color);border-radius:28px;overflow:hidden;box-shadow:0 30px 80px #1c463c29}.login-showcase{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:2.8rem 3rem;color:#fff;background:linear-gradient(145deg,#147465,#249d8b 68%,#32ad99)}.login-showcase:before{content:"";position:absolute;width:380px;height:380px;top:-245px;right:-145px;border:54px solid rgba(255,194,34,.95);border-radius:50%}.login-showcase:after{content:"";position:absolute;width:230px;height:360px;right:-155px;bottom:-165px;transform:rotate(28deg);background:#ef4028;opacity:.9}.login-brand-full{position:relative;z-index:1;width:275px;height:58px;padding:.35rem .5rem;object-fit:contain;object-position:left center;border-radius:9px;background:#fff}.login-showcase-copy{position:relative;z-index:1;margin-top:auto}.login-kicker{display:block;margin-bottom:.7rem;color:#ffffffb8;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.login-showcase h1{max-width:470px;font-size:clamp(2rem,4vw,3.25rem);line-height:1.03;letter-spacing:-.055em}.login-showcase-copy p{max-width:470px;margin-top:1.1rem;color:#ffffffc7;font-size:.9rem;line-height:1.65}.login-feature-list{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.7rem}.login-feature-list span{display:flex;align-items:center;gap:.4rem;padding:.45rem .65rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#ffffff1a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:.66rem;font-weight:700}.feature-dot{width:7px;height:7px;border-radius:50%}.feature-dot.teal{background:#7ce4d2}.feature-dot.gold{background:#ffc222}.feature-dot.red{background:#ff705c}.login-showcase-footer{position:relative;z-index:1;display:flex;align-items:center;gap:.7rem;margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.18)}.login-showcase-footer img{width:54px;height:48px;padding:.28rem;object-fit:contain;border-radius:10px;background:#fff}.login-showcase-footer span{color:#ffffffb8;font-size:.67rem;line-height:1.4}.login-card{display:flex;flex-direction:column;justify-content:center;padding:2.65rem 3.1rem;text-align:center;background:#fff}.login-logo{width:72px;height:66px;border-radius:13px;background:#fff;border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:var(--font-size-xl);color:#fff;margin:0 auto 1rem;box-shadow:0 8px 25px #279f8d1a}.login-logo img{width:58px;height:50px;object-fit:contain}.login-welcome{color:var(--primary-dark);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.login-card h2{margin-top:.2rem;font-size:1.85rem;font-weight:800;letter-spacing:-.04em;margin-bottom:var(--space-sm)}.login-card>p{color:var(--text-secondary);font-size:var(--font-size-sm);margin-bottom:1.45rem}.login-btn{width:100%;padding:.8rem var(--space-xl);border-radius:var(--radius-md);background:#fff;color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:600;border:1px solid var(--border-color);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-md);transition:all var(--transition-fast)}.login-btn:hover{color:var(--primary-dark);border-color:var(--primary-light);background:var(--primary-bg);transform:translateY(-2px);box-shadow:var(--shadow-md)}.login-btn img{width:20px;height:20px}.demo-access{margin-top:1.45rem;padding-top:1.2rem;border-top:1px solid var(--border-color)}.demo-access-label{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:.65rem;text-align:left}.demo-access-label span{color:var(--text-primary);font-size:.72rem;font-weight:800}.demo-access-label small{color:var(--text-tertiary);font-size:.62rem}.demo-role-list{display:flex;flex-direction:column;gap:.38rem}.demo-role-btn{display:grid;grid-template-columns:1.3fr .9fr 18px;align-items:center;gap:.5rem;width:100%;padding:.55rem .7rem;color:var(--text-primary);border:1px solid transparent;border-radius:9px;background:var(--bg-input);font:inherit;font-size:.68rem;text-align:left;cursor:pointer;transition:all var(--transition-fast)}.demo-role-label{display:flex;align-items:center;gap:.5rem;min-width:0;font-weight:750}.demo-role-label>span{min-width:0;line-height:1.25}.demo-role-label .app-icon{color:var(--primary-dark)}.demo-role-name{color:var(--text-tertiary);text-align:right}.demo-role-arrow{display:flex;align-items:center;justify-content:center;color:var(--primary);opacity:0;transform:translate(-4px);transition:all var(--transition-fast)}.demo-role-btn:hover{border-color:#279f8d47;background:var(--primary-bg)}.demo-role-btn:hover .demo-role-arrow,.demo-role-btn:focus-visible .demo-role-arrow{opacity:1;transform:translate(0)}.demo-role-btn:focus-visible{outline:3px solid rgba(39,159,141,.2);outline-offset:2px}.login-security{display:block;margin-top:1.1rem;color:var(--text-tertiary);font-size:.59rem}@media(max-width:880px){.login-container{padding:1rem;align-items:flex-start}.login-shell{grid-template-columns:1fr;width:min(560px,100%)}.login-showcase{min-height:310px;padding:2rem}.login-showcase-copy{margin-top:3rem}.login-showcase h1{font-size:2.15rem}.login-showcase-footer{display:none}.login-card{padding:2.2rem}}@media(max-width:480px){.login-container{padding:0}.login-shell{min-height:100vh;border:0;border-radius:0}.login-showcase{min-height:255px;padding:1.5rem}.login-brand-full{width:210px;height:48px}.login-showcase-copy{margin-top:2rem}.login-showcase h1{font-size:1.75rem}.login-showcase-copy p,.login-feature-list{display:none}.login-card{padding:2rem 1.35rem;justify-content:flex-start}.demo-access-label small{display:none}}.family-portal-shell{--text-tertiary: #5f746d;display:grid;grid-template-columns:270px minmax(0,1fr);height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;overflow:hidden;background:radial-gradient(circle at 10% 0%,rgba(39,159,141,.1),transparent 34%),radial-gradient(circle at 95% 8%,rgba(239,181,29,.11),transparent 28%),#f7faf8}.family-portal-shell-blocked{grid-template-columns:minmax(0,1fr)}.family-portal-sidebar{position:sticky;z-index:40;top:0;display:flex;width:270px;height:100vh;height:100dvh;min-height:0;flex-direction:column;border-right:1px solid rgba(185,204,195,.82);background:#fffffff5;box-shadow:10px 0 32px #153f370b;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.family-portal-sidebar-brand{display:flex;align-items:center;justify-content:space-between;min-height:88px;padding:1.1rem 1rem;border-bottom:1px solid var(--border-color)}.family-portal-sidebar-brand>a{display:flex;min-width:0;align-items:center;gap:.75rem;color:var(--text-primary);text-decoration:none}.family-portal-sidebar-brand img{width:44px;height:44px;padding:.3rem;object-fit:contain;border:1px solid var(--border-color);border-radius:12px;background:#fff}.family-portal-sidebar-brand strong,.family-portal-sidebar-brand span,.family-portal-sidebar-session strong,.family-portal-sidebar-session span{display:block}.family-portal-sidebar-brand strong{font-size:.94rem;line-height:1.2}.family-portal-sidebar-brand span{margin-top:.14rem;color:var(--text-tertiary);font-size:.74rem}.family-portal-sidebar-close{display:none}.family-portal-sidebar-nav{min-height:0;flex:1;padding:.55rem .75rem 1rem;overflow-y:auto;scrollbar-width:thin}.family-portal-sidebar-group+.family-portal-sidebar-group{margin-top:.45rem;padding-top:.45rem;border-top:1px solid rgba(217,229,223,.8)}.family-portal-sidebar-group h2{padding:.65rem .7rem .38rem;color:var(--text-tertiary);font-size:.72rem;font-weight:850;letter-spacing:.085em;text-transform:uppercase}.family-portal-sidebar-link{position:relative;display:flex;min-height:46px;align-items:center;gap:.72rem;padding:.55rem .7rem;color:var(--text-secondary);border-radius:11px;text-decoration:none;transition:color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.family-portal-sidebar-link>span{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;flex:0 0 auto;color:var(--primary-dark);border-radius:9px;background:var(--primary-bg)}.family-portal-sidebar-link strong{min-width:0;font-size:.84rem;font-weight:680;line-height:1.25}.family-portal-sidebar-link:hover{color:var(--text-primary);background:#f3f8f5}.family-portal-sidebar-link-active{color:var(--csa-gold-700);background:linear-gradient(135deg,var(--csa-gold-100),#fff6d8);box-shadow:inset 0 0 0 1px #efb51d80}.family-portal-sidebar-link-active:before{position:absolute;top:22%;bottom:22%;left:0;width:3px;border-radius:var(--radius-full);background:var(--csa-gold-500);content:""}.family-portal-sidebar-link-active>span{color:var(--csa-teal-700);background:#ffffffb8}.family-portal-sidebar-session{display:grid;grid-template-columns:40px minmax(0,1fr) 44px;gap:.65rem;align-items:center;padding:.9rem .85rem;border-top:1px solid var(--border-color);background:#f8fbf9eb}.family-portal-sidebar-session>div{min-width:0}.family-portal-sidebar-session strong{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.family-portal-sidebar-session span:not(.family-session-avatar){margin-top:.12rem;color:var(--text-tertiary);font-size:.72rem}.family-session-avatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--primary-dark);border-radius:12px;background:var(--primary-bg);font-size:.75rem;font-weight:850}.family-portal-sidebar-session button,.family-portal-workspace-account button,.family-portal-menu-button,.family-portal-sidebar-close{width:44px;height:44px;color:var(--text-secondary);border:1px solid transparent;border-radius:12px;background:transparent;font:inherit;cursor:pointer}.family-portal-sidebar-session button:hover,.family-portal-sidebar-session button:focus-visible,.family-portal-workspace-account button:hover,.family-portal-workspace-account button:focus-visible{color:var(--danger);border-color:#df402c2e;background:var(--danger-bg);outline:0}.family-portal-workspace{min-width:0;height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.family-portal-workspace-header{position:sticky;z-index:30;top:0;display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.5rem;border-bottom:1px solid rgba(189,206,197,.72);background:#ffffffe6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.family-portal-workspace-title,.family-portal-workspace-account{display:flex;min-width:0;align-items:center;gap:.7rem}.family-portal-workspace-title>img{width:42px;height:42px;padding:.28rem;object-fit:contain;border:1px solid var(--border-color);border-radius:11px;background:#fff}.family-portal-workspace-title span,.family-portal-workspace-title strong{display:block}.family-portal-workspace-title span{color:var(--text-tertiary);font-size:.7rem;font-weight:750}.family-portal-workspace-title strong{margin-top:.08rem;font-size:1rem;line-height:1.25}.family-portal-verified-session{display:inline-flex;min-height:34px;align-items:center;gap:.4rem;padding:.35rem .62rem;color:var(--success);border-radius:999px;background:var(--success-bg);font-size:.72rem;font-weight:760}.family-portal-menu-button{display:none;color:var(--text-primary);border-color:var(--border-color);background:#fff}.family-portal-main{padding:1.5rem}.family-portal-navigation-scrim{display:none}@media(max-width:900px){.family-portal-shell,.family-portal-shell-with-navigation{grid-template-columns:minmax(0,1fr)}.family-portal-sidebar{position:fixed;visibility:hidden;z-index:900;top:0;left:0;width:min(300px,calc(100vw - 2.5rem));transform:translate(-105%);transition:transform .18s ease,visibility .18s ease}.family-portal-sidebar-open{visibility:visible;transform:translate(0)}.family-portal-sidebar-close,.family-portal-menu-button{display:inline-flex}.family-portal-navigation-scrim{position:fixed;visibility:hidden;z-index:850;inset:0;display:block;opacity:0;border:0;background:#0827207a;cursor:pointer;transition:opacity .18s ease,visibility .18s ease}.family-portal-navigation-scrim-visible{visibility:visible;opacity:1}}@media(max-width:640px){.family-portal-workspace-header{min-height:66px;padding:.55rem .8rem}.family-portal-workspace-title{gap:.55rem}.family-portal-workspace-title strong{max-width:180px;overflow:hidden;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.family-portal-verified-session{display:none}.family-session-avatar{width:38px;height:38px}.family-portal-main{padding:1rem .85rem calc(1.5rem + env(safe-area-inset-bottom))}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes loadingShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.97);opacity:.82}}.animate-in{animation:slideUp .3s ease}.alert-banner{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-bottom:var(--space-lg)}.alert-banner.danger{background:var(--danger-bg);border:1px solid rgba(255,107,107,.2);color:var(--danger)}.alert-banner.warning{background:var(--warning-bg);border:1px solid rgba(252,196,25,.2);color:var(--warning)}.alert-banner.info{background:var(--info-bg);border:1px solid rgba(51,154,240,.2);color:var(--accent)}.alert-banner-icon{font-size:1.1rem;flex-shrink:0}.order-list{display:flex;flex-direction:column;gap:var(--space-md)}.order-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);display:flex;align-items:center;gap:var(--space-lg);cursor:pointer;transition:all var(--transition-fast)}.order-item:hover{border-color:var(--primary);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.order-item-priority{width:4px;height:40px;border-radius:var(--radius-full);flex-shrink:0}.order-item-priority.urgente{background:var(--danger)}.order-item-priority.normal{background:var(--warning)}.order-item-priority.baja{background:var(--success)}.order-item-content{flex:1;min-width:0}.order-item-title{font-size:var(--font-size-sm);font-weight:600;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-item-meta{font-size:var(--font-size-xs);color:var(--text-tertiary);display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.order-item-right{display:flex;align-items:center;gap:var(--space-md);flex-shrink:0}.tabs{display:flex;gap:var(--space-xs);border-bottom:1px solid var(--border-color);margin-bottom:var(--space-xl);overflow-x:auto}.tab{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-sm);font-weight:500;color:var(--text-tertiary);cursor:pointer;border:none;background:none;white-space:nowrap;position:relative;transition:all var(--transition-fast);font-family:var(--font-family)}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--primary-light);font-weight:600}.tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--primary);border-radius:var(--radius-full) var(--radius-full) 0 0}.filter-bar{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl);flex-wrap:wrap}.search-input{flex:1;min-width:200px;padding:var(--space-md) var(--space-lg);padding-left:36px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);transition:all var(--transition-fast);outline:none}.search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #845ef726}.search-wrapper{position:relative;flex:1;min-width:200px}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);font-size:.9rem}.boletas-page{max-width:1380px;margin:0 auto;padding-bottom:var(--space-3xl)}.boletas-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr);gap:var(--space-3xl);min-height:255px;padding:2rem 2.25rem;border:1px solid var(--border-color);border-radius:22px;background:#fff;box-shadow:var(--shadow-sm)}.boletas-hero:after{content:"";position:absolute;width:420px;height:420px;top:-275px;right:175px;border-radius:50%;background:#efb51d29;pointer-events:none}.boletas-hero-copy,.boletas-hero-status{position:relative;z-index:1}.boletas-brand{display:block;width:min(260px,55%);height:54px;margin-bottom:1.4rem;object-fit:contain;object-position:left center}.boletas-eyebrow,.section-kicker{display:block;color:var(--primary-dark);font-size:var(--font-size-xs);font-weight:800;letter-spacing:.09em;text-transform:uppercase}.boletas-hero h1{max-width:620px;margin:.4rem 0 .55rem;color:var(--text-primary);font-size:clamp(1.7rem,3vw,2.45rem);line-height:1.15;letter-spacing:-.04em}.boletas-hero p{max-width:580px;color:var(--text-secondary);font-size:.98rem}.boletas-hero-status{align-self:center;padding:1.35rem 1.45rem;color:#fff;border-radius:16px;background:linear-gradient(140deg,#167565,#249c8b);box-shadow:0 14px 30px #19756538}.boletas-status-topline{display:flex;align-items:center;gap:.45rem;opacity:.78;font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-light);box-shadow:0 0 0 4px #ffffff1f}.boletas-hero-status>strong{display:block;margin-top:1rem;font-size:1.45rem;line-height:1.1}.boletas-hero-status>span{display:block;margin-top:.25rem;font-size:var(--font-size-sm);opacity:.76}.boletas-status-divider{height:1px;margin:1rem 0;background:#fff3}.boletas-status-metric{display:flex;align-items:center;gap:.65rem}.boletas-status-metric b{font-size:2rem;line-height:1}.boletas-status-metric span{font-size:var(--font-size-xs);line-height:1.35;opacity:.86}.academic-workspace-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin:1rem 0;padding:.35rem;border:1px solid var(--border-color);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}.academic-workspace-tabs button{flex:1 0 auto}.academic-workspace-tabs button{display:flex;align-items:center;justify-content:center;gap:.42rem;min-height:45px;padding:.55rem .65rem;color:var(--text-secondary);border:0;border-radius:10px;background:transparent;font:inherit;font-size:var(--csa-text-xs);font-weight:650;white-space:nowrap;cursor:pointer;transition:all var(--transition-fast)}.academic-workspace-tabs button>span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--primary-dark);border-radius:7px;background:var(--primary-bg);font-size:.68rem;font-weight:900}.academic-workspace-tabs button:hover{color:var(--text-primary);background:#f7faf8}.academic-workspace-tabs button.active{color:var(--csa-gold-700);background:var(--csa-gold-100);box-shadow:inset 0 0 0 1px var(--csa-gold-200)}.academic-workspace-tabs button.active>span{color:var(--csa-gold-700);background:var(--csa-gold-50)}.teacher-dashboard{display:grid;gap:.9rem}.teacher-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.teacher-metric-grid article{display:flex;align-items:center;gap:.75rem;min-height:104px;padding:.95rem 1rem;border:1px solid var(--border-color);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}.teacher-metric-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 auto;border-radius:12px;font-size:.9rem;font-weight:900}.teacher-metric-icon.teal{color:var(--primary-dark);background:var(--primary-bg)}.teacher-metric-icon.gold{color:#8a6206;background:var(--warning-bg)}.teacher-metric-icon.blue{color:var(--info);background:var(--info-bg)}.teacher-metric-icon.red{color:var(--danger);background:var(--danger-bg)}.teacher-metric-grid small,.teacher-metric-grid strong,.teacher-metric-grid p{display:block}.teacher-metric-grid small{color:var(--text-tertiary);font-size:.6rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase}.teacher-metric-grid strong{margin-top:.18rem;font-size:1.5rem;line-height:1}.teacher-metric-grid p{margin-top:.2rem;color:var(--text-secondary);font-size:.62rem}.teacher-dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:.8rem}.academic-dashboard-card,.academic-work-panel{border:1px solid var(--border-color);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}.academic-dashboard-card{padding:1.1rem 1.15rem}.academic-dashboard-card>header,.academic-work-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.academic-dashboard-card h2{margin-top:.18rem;font-size:1rem}.academic-dashboard-card>header button{color:var(--primary-dark);border:0;background:transparent;font:inherit;font-size:.63rem;font-weight:800;cursor:pointer}.teacher-schedule-list{display:grid;gap:.25rem;margin-top:.8rem}.teacher-schedule-list>div{display:grid;grid-template-columns:42px 8px 1fr;gap:.6rem;align-items:center;padding:.55rem .4rem;border-bottom:1px solid #edf2ef}.teacher-schedule-list>div:last-child{border-bottom:0}.teacher-schedule-list>div>span{color:var(--primary-dark);font-size:.66rem;font-weight:850}.teacher-schedule-list i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #efb51d1f}.teacher-schedule-list b,.teacher-schedule-list small{display:block}.teacher-schedule-list b{font-size:.7rem}.teacher-schedule-list small{margin-top:.08rem;color:var(--text-tertiary);font-size:.6rem}.teacher-quick-actions{display:grid;gap:.55rem;margin-top:.8rem}.teacher-quick-actions button{display:grid;grid-template-columns:34px 1fr;column-gap:.65rem;align-items:center;padding:.7rem;color:var(--text-primary);border:1px solid var(--border-color);border-radius:10px;background:#f9fbfa;text-align:left;cursor:pointer}.teacher-quick-actions button:hover{border-color:var(--primary-light);background:var(--primary-bg)}.teacher-quick-actions button>span{grid-row:1 / 3;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:var(--primary-dark);border-radius:9px;background:#fff;font-weight:900}.teacher-quick-actions b{font-size:.68rem}.teacher-quick-actions small{color:var(--text-tertiary);font-size:.57rem}.attention-card{grid-column:1 / -1}.attendance-class-average{padding:.3rem .5rem;color:var(--success);border-radius:999px;background:var(--success-bg);font-size:.58rem;font-weight:800}.student-attention-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:.8rem}.student-attention-list button{display:flex;align-items:center;gap:.65rem;padding:.65rem;color:var(--text-primary);border:1px solid var(--border-color);border-radius:10px;background:#fff;text-align:left;cursor:pointer}.student-attention-list button>div{flex:1}.student-attention-list b,.student-attention-list small{display:block}.student-attention-list b{font-size:.69rem}.student-attention-list small{margin-top:.1rem;color:var(--danger);font-size:.59rem}.student-attention-list i{color:var(--primary-dark);font-size:.6rem;font-style:normal;font-weight:800}.academic-work-panel{overflow:hidden}.academic-work-panel-heading{align-items:flex-end;padding:1.3rem 1.4rem 1.1rem;border-bottom:1px solid var(--border-color)}.academic-work-panel-heading h2{margin-top:.2rem;font-size:1.2rem}.academic-work-panel-heading p{max-width:680px;margin-top:.25rem;color:var(--text-secondary);font-size:.68rem}.workspace-count,.saved-indicator{display:inline-flex;align-items:center;min-height:30px;padding:0 .58rem;color:var(--primary-dark);border-radius:999px;background:var(--primary-bg);font-size:.62rem;font-weight:800;white-space:nowrap}.saved-indicator{color:var(--success);background:var(--success-bg)}.assigned-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;padding:1.1rem 1.25rem 1.35rem}.assigned-course-grid article{display:grid;grid-template-columns:48px 1fr;gap:.75rem;padding:.9rem;border:1px solid var(--border-color);border-radius:13px;background:#fff}.course-color{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;color:#fff;border-radius:13px;background:var(--primary);font-size:.7rem;font-weight:900}.course-color.course-2{background:#e1a916}.course-color.course-3{background:#e9583f}.assigned-course-copy>span{color:var(--primary-dark);font-size:.58rem;font-weight:800;text-transform:uppercase}.assigned-course-copy h3{margin-top:.18rem;font-size:.8rem}.assigned-course-copy p,.assigned-course-copy small{display:block;margin-top:.15rem;color:var(--text-secondary);font-size:.62rem}.assigned-course-copy small{color:var(--text-tertiary)}.course-progress{grid-column:1 / -1;margin-top:.35rem}.course-progress>div{display:flex;justify-content:space-between;color:var(--text-tertiary);font-size:.58rem}.course-progress>i{display:block;height:6px;margin-top:.35rem;overflow:hidden;border-radius:999px;background:#e9efec}.course-progress>i>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary-dark),var(--primary-light))}.course-directory-panel{background:#f8fbf9}.course-directory-panel>.academic-work-panel-heading{background:#fff}.course-directory-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;padding:.9rem 1.4rem .75rem}.course-directory-summary article{padding:.72rem .8rem;border:1px solid var(--border-color);border-radius:10px;background:#fff}.course-directory-summary span,.course-directory-summary strong,.course-directory-summary small{display:block}.course-directory-summary span{color:var(--text-tertiary);font-size:.54rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.course-directory-summary strong{margin-top:.2rem;color:var(--text-primary);font-size:1.15rem;line-height:1}.course-directory-summary small{margin-top:.18rem;color:var(--text-secondary);font-size:.55rem}.course-directory-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 190px 210px;gap:.65rem;align-items:end;padding:0 1.4rem .9rem;border-bottom:1px solid var(--border-color)}.course-directory-toolbar>label>span{display:block;margin-bottom:.28rem;color:var(--text-tertiary);font-size:.54rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.course-directory-toolbar input,.course-directory-toolbar select{width:100%;height:39px;padding:0 .7rem;color:var(--text-primary);border:1px solid var(--border-color);border-radius:9px;outline:0;background:#fff;font:inherit;font-size:.65rem}.course-directory-toolbar input:focus,.course-directory-toolbar select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg)}.course-directory-search{position:relative}.course-directory-search>span{position:absolute;z-index:1;left:.7rem;bottom:.7rem;margin:0!important;color:var(--primary-dark)!important;font-size:.75rem!important}.course-directory-search input{padding-left:2rem}.course-level-directory{display:grid;gap:.8rem;padding:1rem 1.25rem 1.35rem}.course-level-block{overflow:hidden;border:1px solid var(--border-color);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}.course-level-block>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid var(--border-color);background:linear-gradient(110deg,#fff,#f2f8f5)}.course-level-block>header>div{display:flex;align-items:center;gap:.65rem}.course-level-block>header h3{margin-top:.08rem;font-size:.82rem}.course-level-block>header>small{color:var(--primary-dark);font-size:.58rem;font-weight:800}.course-level-monogram{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;color:#fff;border-radius:11px;background:var(--primary-dark);font-size:.58rem;font-weight:900;letter-spacing:.05em}.course-level-monogram.pre_primaria{color:#745407;background:var(--warning-bg)}.course-level-monogram.basico{background:#d9523c}.course-level-monogram.diversificado{background:#3779a7}.course-grade-groups{display:grid;gap:.55rem;padding:.75rem}.course-grade-group{overflow:hidden;border:1px solid var(--border-color);border-radius:11px;background:#fff}.course-grade-group.expanded{border-color:#249c8b61;box-shadow:0 4px 13px #1a5b4c12}.course-grade-heading{display:grid;grid-template-columns:38px minmax(160px,.75fr) minmax(260px,1.25fr) 28px;gap:.7rem;align-items:center;width:100%;padding:.65rem .75rem;color:var(--text-primary);border:0;background:#fbfdfc;text-align:left;cursor:pointer}.course-grade-heading:hover{background:var(--primary-bg)}.course-grade-order{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:var(--primary-dark);border-radius:9px;background:var(--primary-bg);font-size:.59rem;font-weight:900}.course-grade-title b,.course-grade-title small{display:block}.course-grade-title b{font-size:.71rem}.course-grade-title small{margin-top:.12rem;color:var(--primary-dark);font-size:.57rem;font-weight:750}.course-grade-meta{display:flex;flex-wrap:wrap;gap:.35rem}.course-grade-meta i{padding:.25rem .45rem;color:var(--text-secondary);border-radius:999px;background:#edf2ef;font-size:.54rem;font-style:normal;font-weight:750}.course-grade-toggle{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;color:var(--primary-dark);border-radius:7px;background:#fff;font-size:.85rem;font-weight:700}.course-subject-list{display:grid;border-top:1px solid var(--border-color)}.course-subject-row{display:grid;grid-template-columns:38px minmax(170px,.9fr) minmax(150px,.8fr) minmax(220px,1.25fr) 130px;gap:.75rem;align-items:center;padding:.68rem .8rem;border-bottom:1px solid #edf2ef}.course-subject-row:last-child{border-bottom:0}.course-subject-row:hover{background:#fbfdfc}.course-subject-monogram{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--primary-dark);border-radius:9px;background:var(--primary-bg);font-size:.58rem;font-weight:900}.course-subject-main h4{font-size:.68rem}.course-subject-main>div{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.23rem}.course-subject-main>div span{padding:.2rem .35rem;color:var(--primary-dark);border:1px solid rgba(36,156,139,.2);border-radius:999px;background:var(--primary-bg);font-size:.5rem;font-weight:800}.course-subject-detail span,.course-subject-detail b,.course-subject-detail small{display:block}.course-subject-detail span,.course-subject-progress span{color:var(--text-tertiary);font-size:.5rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.course-subject-detail b{margin-top:.13rem;color:var(--text-secondary);font-size:.57rem;line-height:1.35}.course-subject-detail small{margin-top:.1rem;color:var(--text-tertiary);font-size:.52rem}.course-subject-progress>div{display:flex;align-items:center;justify-content:space-between}.course-subject-progress b{color:var(--primary-dark);font-size:.6rem}.course-subject-progress>i{display:block;height:6px;margin-top:.3rem;overflow:hidden;border-radius:999px;background:#e7edeb}.course-subject-progress>i>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary-dark),var(--primary-light))}.course-directory-empty{padding:2.2rem 1rem;color:var(--text-secondary);text-align:center}.course-directory-empty>span{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;color:var(--primary-dark);border-radius:12px;background:var(--primary-bg)}.course-directory-empty h3{margin-top:.55rem;font-size:.78rem}.course-directory-empty p{margin-top:.2rem;color:var(--text-tertiary);font-size:.6rem}.academic-workspace-filters{display:grid;grid-template-columns:minmax(280px,1fr) minmax(180px,.55fr) 120px;gap:.7rem;align-items:end;padding:.85rem 1.4rem;background:#f7faf8;border-bottom:1px solid var(--border-color)}.academic-workspace-filters label>span,.analytics-student-select>span{display:block;margin-bottom:.28rem;color:var(--text-tertiary);font-size:.58rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.academic-workspace-filters select,.academic-workspace-filters input,.analytics-student-select select{width:100%;height:39px;padding:0 .7rem;color:var(--text-primary);border:1px solid var(--border-color);border-radius:9px;outline:0;background:#fff;font:inherit;font-size:.68rem}.attendance-summary,.grade-scale-note{display:flex;align-items:center;justify-content:center;flex-direction:column;height:39px;color:var(--primary-dark);border-radius:9px;background:var(--primary-bg)}.attendance-summary strong,.grade-scale-note b{font-size:.75rem;line-height:1}.attendance-summary span,.grade-scale-note span{margin-top:.12rem;font-size:.52rem}.academic-entry-table-wrap{overflow-x:auto}.academic-entry-table{width:100%;min-width:760px;border-collapse:collapse}.academic-entry-table th{padding:.7rem 1.4rem;color:var(--text-tertiary);border-bottom:1px solid var(--border-color);background:#fcfdfc;font-size:.59rem;font-weight:850;letter-spacing:.06em;text-align:left;text-transform:uppercase}.academic-entry-table td{padding:.7rem 1.4rem;border-bottom:1px solid #edf2ef;font-size:.67rem}.academic-entry-table tbody tr:last-child td{border-bottom:0}.academic-entry-table select,.academic-entry-table input{width:100%;height:36px;padding:0 .65rem;color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;outline:0;background:#fff;font:inherit;font-size:.66rem}.academic-entry-table input:focus,.academic-entry-table select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg)}.attendance-select.presente{color:var(--success);background:var(--success-bg)}.attendance-select.ausente{color:var(--danger);background:var(--danger-bg)}.attendance-select.tardanza,.attendance-select.justificada{color:var(--warning);background:var(--warning-bg)}.weekly-attendance-panel{--weekly-student-column: 280px}.weekly-attendance-filters{display:grid;grid-template-columns:minmax(300px,1.25fr) minmax(230px,.75fr) minmax(180px,.55fr);gap:.75rem;align-items:end;padding:.9rem 1.4rem;border-bottom:1px solid var(--border-color);background:#f7faf8}.weekly-attendance-filters>label>span,.weekly-week-picker>span,.weekly-week-label>span{display:block;margin-bottom:.3rem;color:var(--text-tertiary);font-size:.56rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.weekly-attendance-filters select,.weekly-week-picker input{width:100%;height:40px;padding:0 .7rem;color:var(--text-primary);border:1px solid var(--border-color);border-radius:9px;outline:0;background:#fff;font:inherit;font-size:.66rem}.weekly-attendance-filters select:focus,.weekly-week-picker input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg)}.weekly-week-picker>div{display:grid;grid-template-columns:40px 1fr 40px;gap:.35rem}.weekly-week-picker button{height:40px;color:var(--primary-dark);border:1px solid var(--border-color);border-radius:9px;background:#fff;font:inherit;font-weight:900;cursor:pointer}.weekly-week-picker button:hover:not(:disabled){border-color:var(--primary-light);background:var(--primary-bg)}.weekly-week-picker button:disabled{color:var(--text-tertiary);background:#edf2ef;cursor:not-allowed}.weekly-week-label{min-height:40px;padding:.48rem .65rem;border-radius:9px;background:var(--primary-bg)}.weekly-week-label>span{margin-bottom:.1rem;color:var(--primary-dark)}.weekly-week-label strong{display:block;color:var(--primary-dark);font-size:.65rem}.weekly-configuration-warning{display:flex;align-items:flex-start;gap:.6rem;margin:.75rem 1.4rem 0;padding:.65rem .75rem;color:#745407;border:1px solid rgba(189,126,0,.18);border-radius:9px;background:var(--warning-bg)}.weekly-configuration-warning>span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 auto;border-radius:6px;background:#bd7e0021;font-size:.6rem;font-weight:900}.weekly-configuration-warning p{font-size:.6rem;line-height:1.45}.weekly-attendance-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem;padding:.9rem 1.4rem .65rem}.weekly-attendance-summary article{padding:.68rem .75rem;border:1px solid var(--border-color);border-radius:10px;background:#fff}.weekly-attendance-summary article.primary{border-color:#1f896238;background:var(--success-bg)}.weekly-attendance-summary span,.weekly-attendance-summary strong,.weekly-attendance-summary small{display:block}.weekly-attendance-summary span{color:var(--text-tertiary);font-size:.52rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.weekly-attendance-summary strong{margin-top:.18rem;color:var(--text-primary);font-size:1.15rem;line-height:1}.weekly-attendance-summary small{margin-top:.2rem;color:var(--text-secondary);font-size:.52rem}.weekly-day-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;padding:.2rem 1.4rem .85rem;border-bottom:1px solid var(--border-color)}.weekly-day-tabs button{min-height:70px;padding:.55rem .6rem;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:10px;background:#fbfdfc;text-align:left;cursor:pointer}.weekly-day-tabs button:hover:not(:disabled),.weekly-day-tabs button.active{color:var(--primary-dark);border-color:var(--primary-light);background:var(--primary-bg);box-shadow:0 4px 12px #176f6114}.weekly-day-tabs button.disabled-day{color:var(--text-tertiary);background:#f0f3f1;cursor:not-allowed;box-shadow:none}.weekly-day-tabs span,.weekly-day-tabs b,.weekly-day-tabs small{display:block}.weekly-day-tabs span{font-size:.54rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.weekly-day-tabs b{margin-top:.12rem;font-size:.67rem}.weekly-day-tabs small{margin-top:.15rem;color:inherit;font-size:.53rem;opacity:.78}.weekly-bulk-toolbar{display:grid;grid-template-columns:minmax(210px,.65fr) minmax(400px,1.35fr) minmax(230px,.7fr);gap:.75rem;align-items:center;padding:.75rem 1.4rem;border-bottom:1px solid rgba(36,156,139,.2);background:linear-gradient(100deg,#edf8f4,#f8fcfa)}.weekly-bulk-heading{display:flex;align-items:center;gap:.55rem}.weekly-bulk-heading>span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 auto;color:#fff;border-radius:10px;background:var(--primary-dark);font-size:.8rem;font-weight:900}.weekly-bulk-heading b,.weekly-bulk-heading small{display:block}.weekly-bulk-heading b{font-size:.63rem}.weekly-bulk-heading small{margin-top:.1rem;color:var(--text-secondary);font-size:.53rem;line-height:1.3}.weekly-status-actions{display:flex;flex-wrap:wrap;gap:.35rem}.weekly-status-button{min-height:34px;padding:0 .6rem;border:1px solid transparent;border-radius:8px;font:inherit;font-size:.56rem;font-weight:850;cursor:pointer}.weekly-status-button:disabled{opacity:.42;cursor:not-allowed}.weekly-status-button.ausente{color:var(--danger);border-color:#d0433d33;background:var(--danger-bg)}.weekly-status-button.tardanza{color:var(--warning);border-color:#bd7e0033;background:var(--warning-bg)}.weekly-status-button.justificada{color:var(--info);border-color:#3779a733;background:var(--info-bg)}.weekly-status-button.presente{color:var(--success);border-color:#1f896233;background:var(--success-bg)}.weekly-bulk-note>span{display:block;margin-bottom:.25rem;color:var(--text-tertiary);font-size:.52rem;font-weight:850;text-transform:uppercase}.weekly-bulk-note input{width:100%;height:36px;padding:0 .65rem;color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;outline:0;background:#fff;font:inherit;font-size:.6rem}.weekly-bulk-note input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #249c8b1a}.weekly-student-search{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.4rem;border-bottom:1px solid var(--border-color)}.weekly-student-search label{position:relative;width:min(420px,100%)}.weekly-student-search label>span{position:absolute;top:50%;left:.7rem;color:var(--primary-dark);transform:translateY(-50%);font-size:.72rem}.weekly-student-search input{width:100%;height:38px;padding:0 .7rem 0 2rem;color:var(--text-primary);border:1px solid var(--border-color);border-radius:9px;outline:0;background:#fff;font:inherit;font-size:.64rem}.weekly-student-search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg)}.weekly-student-search small{color:var(--text-tertiary);font-size:.57rem;font-weight:750}.weekly-attendance-table-wrap{max-height:570px;overflow:auto;border-bottom:1px solid var(--border-color)}.weekly-attendance-table{width:100%;min-width:960px;border-collapse:separate;border-spacing:0;table-layout:fixed}.weekly-attendance-table th,.weekly-attendance-table td{padding:.55rem .65rem;border-right:1px solid #edf2ef;border-bottom:1px solid #edf2ef;background:#fff;font-size:.62rem}.weekly-attendance-table th{position:sticky;z-index:3;top:0;color:var(--text-tertiary);background:#f8faf9;font-size:.54rem;font-weight:850;letter-spacing:.04em;text-align:center;text-transform:uppercase}.weekly-attendance-table th small,.weekly-attendance-table th i{display:block;margin-top:.1rem;font-size:.48rem;font-style:normal;font-weight:650;letter-spacing:0;text-transform:none}.weekly-attendance-table th i{color:var(--warning)}.weekly-attendance-table tr.selected td{background:#fbfefc}.weekly-attendance-table .weekly-student-column{position:sticky;z-index:2;left:0;width:var(--weekly-student-column);min-width:var(--weekly-student-column);text-align:left}.weekly-attendance-table thead .weekly-student-column{z-index:4;background:#f8faf9}.weekly-attendance-table .weekly-day-column{width:132px}.weekly-attendance-table .weekly-day-column.active{background:#f5fbf8}.weekly-attendance-table .weekly-day-column.unavailable{color:var(--text-tertiary);background:#f1f4f2}.weekly-select-all,.weekly-student-identity{display:flex;align-items:center;gap:.6rem}.weekly-select-all input,.weekly-student-identity>input{width:16px;height:16px;flex:0 0 auto;accent-color:var(--primary-dark)}.weekly-student-identity>div{min-width:0}.weekly-student-identity b,.weekly-student-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weekly-student-identity b{color:var(--text-primary);font-size:.64rem}.weekly-student-identity small{margin-top:.1rem;color:var(--text-tertiary);font-size:.53rem}.weekly-attendance-cell{position:relative;display:flex;align-items:center;justify-content:center;gap:.25rem;width:100%;min-height:36px;padding:.3rem .35rem;border:1px solid transparent;border-radius:8px;font:inherit;cursor:pointer}.weekly-attendance-cell b{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:6px;background:#ffffffb3;font-size:.53rem}.weekly-attendance-cell span{font-size:.54rem;font-weight:800}.weekly-attendance-cell i{font-size:.8rem;line-height:1}.weekly-attendance-cell:disabled{cursor:default}.weekly-attendance-cell.presente{color:var(--success);background:var(--success-bg)}.weekly-attendance-cell.ausente{color:var(--danger);background:var(--danger-bg)}.weekly-attendance-cell.tardanza{color:var(--warning);background:var(--warning-bg)}.weekly-attendance-cell.justificada{color:var(--info);background:var(--info-bg)}.weekly-attendance-cell.targeted{border-color:currentColor;box-shadow:0 0 0 2px #249c8b1a}.weekly-no-session{display:block;color:var(--text-tertiary);text-align:center}.grade-entry-input{width:78px!important;color:var(--primary-dark)!important;font-size:.85rem!important;font-weight:850!important;text-align:center}.academic-result{display:inline-flex;padding:.28rem .5rem;border-radius:999px;font-size:.58rem;font-weight:800}.academic-result.approved{color:var(--success);background:var(--success-bg)}.academic-result.failed{color:var(--danger);background:var(--danger-bg)}.academic-work-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.4rem 1rem;border-top:1px solid var(--border-color);background:#fbfdfc}.academic-work-footer p{color:var(--text-tertiary);font-size:.62rem}.academic-footer-actions,.boleta-lifecycle-actions{display:flex;gap:.55rem;align-items:center}.gradebook-heading-status{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}.workflow-badge,.configuration-total{display:inline-flex;align-items:center;min-height:30px;padding:0 .62rem;border-radius:999px;font-size:.6rem;font-weight:850;white-space:nowrap}.workflow-badge.borrador{color:var(--text-secondary);background:#edf2ef}.workflow-badge.en-revisión{color:var(--warning);background:var(--warning-bg)}.workflow-badge.corrección-requerida{color:var(--danger);background:var(--danger-bg)}.workflow-badge.aprobado{color:var(--success);background:var(--success-bg)}.academic-lock-notice{display:flex;gap:.65rem;align-items:flex-start;margin:.85rem 1.4rem;padding:.75rem .85rem;color:#745407;border:1px solid rgba(189,126,0,.16);border-radius:10px;background:var(--warning-bg)}.academic-lock-notice>span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 auto;border-radius:7px;background:#bd7e0021;font-size:.62rem;font-weight:900}.academic-lock-notice p{font-size:.64rem;line-height:1.48}.academic-lock-notice.correction-note{color:var(--danger);border-color:#d0433d38;background:var(--danger-bg)}.academic-lock-notice.correction-note>span{background:#d0433d1f}.activity-weight-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;padding:.85rem 1.4rem;border-bottom:1px solid var(--border-color);background:#fff}.activity-weight-strip>div{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:45px;padding:.55rem .65rem;border:1px solid var(--border-color);border-radius:9px;background:#fbfdfc}.activity-weight-strip span{color:var(--text-secondary);font-size:.58rem}.activity-weight-strip b{color:var(--primary-dark);font-size:.72rem}.activity-weight-strip>div.valid{border-color:#1f896247;background:var(--success-bg)}.activity-weight-strip>div.invalid{border-color:#d0433d3d;background:var(--danger-bg)}.weighted-grade-table{min-width:1180px}.weighted-grade-table th{padding-right:.7rem;padding-left:.7rem}.weighted-grade-table th:first-child,.weighted-grade-table td:first-child{padding-left:1.4rem}.weighted-grade-table th small{display:block;margin-top:.13rem;color:var(--primary-dark);font-size:.52rem}.weighted-grade-table td{padding-right:.7rem;padding-left:.7rem}.weighted-grade-table input:disabled{color:var(--text-secondary)!important;background:#f1f4f2;cursor:not-allowed}.weighted-result{color:var(--primary-dark);font-size:.82rem}.evaluation-setup-grid{display:grid;gap:.65rem;padding:1rem 1.4rem}.evaluation-setup-grid article{display:grid;grid-template-columns:40px minmax(220px,1fr) 180px;gap:.8rem;align-items:end;padding:.75rem;border:1px solid var(--border-color);border-radius:11px;background:#fbfdfc}.evaluation-setup-grid article>span{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--primary-dark);border-radius:10px;background:var(--primary-bg);font-size:.65rem;font-weight:900}.evaluation-setup-grid label>span,.evaluation-setup-grid label{color:var(--text-tertiary);font-size:.58rem;font-weight:800;text-transform:uppercase}.evaluation-setup-grid input{width:100%;height:39px;margin-top:.28rem;padding:0 .7rem;color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;background:#fff;font:inherit;font-size:.67rem;text-transform:none}.evaluation-setup-grid input:disabled{color:var(--text-secondary);background:#f1f4f2}.evaluation-setup-grid label>div{display:flex;align-items:center;gap:.45rem}.evaluation-setup-grid label>div b{color:var(--primary-dark);font-size:.75rem}.configuration-total.valid{color:var(--success);background:var(--success-bg)}.configuration-total.invalid{color:var(--danger);background:var(--danger-bg)}.configuration-validation{display:flex;gap:.7rem;align-items:flex-start;margin:0 1.4rem 1rem;padding:.8rem;border-radius:10px}.configuration-validation.valid{color:var(--success);background:var(--success-bg)}.configuration-validation.invalid{color:var(--danger);background:var(--danger-bg)}.configuration-validation>span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 auto;border-radius:50%;background:#fff;font-size:.65rem;font-weight:900}.configuration-validation b,.configuration-validation p{display:block}.configuration-validation b{font-size:.68rem}.configuration-validation p{margin-top:.13rem;color:var(--text-secondary);font-size:.61rem}.academic-review-list{display:grid;gap:.65rem;padding:1rem 1.4rem}.academic-review-list article{display:grid;grid-template-columns:minmax(210px,1fr) 130px minmax(200px,.8fr) auto;gap:.8rem;align-items:end;padding:.85rem;border:1px solid var(--border-color);border-radius:12px;background:#fff}.review-course-main h3{margin-top:.42rem;font-size:.77rem}.review-course-main p,.review-course-metric small{margin-top:.12rem;color:var(--text-tertiary);font-size:.58rem}.review-course-metric span,.review-course-metric strong,.review-course-metric small{display:block}.review-course-metric span,.review-note>span{color:var(--text-tertiary);font-size:.54rem;font-weight:800;text-transform:uppercase}.review-course-metric strong{margin-top:.18rem;color:var(--primary-dark);font-size:1rem}.review-note input{width:100%;height:38px;margin-top:.28rem;padding:0 .65rem;border:1px solid var(--border-color);border-radius:8px;background:#fff;font:inherit;font-size:.62rem}.review-note input:disabled{background:#f1f4f2}.review-actions{display:flex;gap:.45rem}.review-actions .btn{white-space:nowrap}.academic-close-checklist,.academic-audit-panel{margin-top:1rem;padding:1.1rem 1.25rem;border:1px solid var(--border-color);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}.academic-close-checklist header,.academic-audit-panel header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.academic-close-checklist h2,.academic-audit-panel h2{margin-top:.18rem;font-size:1rem}.academic-close-checklist header>b{color:var(--primary-dark);font-size:.68rem}.academic-close-checklist>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin-top:.85rem}.academic-close-checklist>div span{display:flex;align-items:center;gap:.42rem;padding:.62rem;color:var(--text-tertiary);border:1px solid var(--border-color);border-radius:9px;background:#f7f9f8;font-size:.61rem;font-weight:750}.academic-close-checklist>div span.done{color:var(--success);border-color:#1f896240;background:var(--success-bg)}.academic-close-checklist>p{margin-top:.7rem;color:var(--text-secondary);font-size:.61rem}.boletas-action-card{align-items:flex-start;flex-direction:column}.boletas-action-card small{display:block;margin-top:.18rem;color:var(--text-tertiary);font-size:.56rem}.academic-audit-panel>div{display:grid;gap:.45rem;margin-top:.8rem}.academic-audit-panel article{display:flex;gap:.6rem;align-items:center;padding:.55rem .65rem;border-radius:9px;background:#f8faf9}.academic-audit-panel article>span{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;color:var(--success);border-radius:50%;background:var(--success-bg);font-size:.58rem;font-weight:900}.academic-audit-panel b,.academic-audit-panel small{display:block}.academic-audit-panel b{font-size:.64rem}.academic-audit-panel small{margin-top:.1rem;color:var(--text-tertiary);font-size:.56rem}.boleta-draft-watermark{margin:-.4rem 0 1rem;padding:.42rem;color:#8a6206;border:1px dashed rgba(189,126,0,.45);border-radius:7px;background:var(--warning-bg);font-size:.61rem;font-weight:900;letter-spacing:.09em;text-align:center}.boleta-sheet-header small{display:block;margin-top:.25rem;color:var(--text-tertiary);font-size:.57rem}.academic-scope-empty{display:flex;gap:1rem;align-items:flex-start;margin-top:.9rem;padding:1.2rem 1.3rem;border:1px solid var(--border-color);border-radius:15px;background:#fff;box-shadow:var(--shadow-sm)}.academic-scope-empty>span{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 auto;border-radius:12px;background:var(--primary-bg);font-size:1rem}.academic-scope-empty h2{margin-top:.2rem;font-size:1rem}.academic-scope-empty p{margin-top:.25rem;color:var(--text-secondary);font-size:.66rem;line-height:1.5}.analytics-student-select{width:min(280px,100%)}.analytics-student-header{display:flex;align-items:center;gap:.8rem;padding:1rem 1.4rem;border-bottom:1px solid var(--border-color);background:#fbfdfc}.analytics-avatar{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;color:#fff;border-radius:14px;background:linear-gradient(145deg,var(--primary),var(--primary-dark));font-size:.75rem;font-weight:900}.analytics-student-header h3{font-size:.95rem}.analytics-student-header p{margin-top:.12rem;color:var(--text-tertiary);font-size:.62rem}.student-risk{margin-left:auto;padding:.3rem .55rem;border-radius:999px;font-size:.58rem;font-weight:800}.student-risk.stable{color:var(--success);background:var(--success-bg)}.student-risk.attention{color:var(--danger);background:var(--danger-bg)}.analytics-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;padding:.9rem 1.4rem}.analytics-metrics article{padding:.75rem;border:1px solid var(--border-color);border-radius:10px}.analytics-metrics span,.analytics-metrics strong,.analytics-metrics small{display:block}.analytics-metrics span{color:var(--text-tertiary);font-size:.58rem;font-weight:800;text-transform:uppercase}.analytics-metrics strong{margin-top:.25rem;font-size:1.3rem}.analytics-metrics small{margin-top:.15rem;color:var(--text-secondary);font-size:.57rem}.analytics-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:.75rem;padding:0 1.4rem 1rem}.analytics-card{min-width:0;padding:.9rem;border:1px solid var(--border-color);border-radius:12px}.analytics-card>header{display:flex;justify-content:space-between;gap:1rem}.analytics-card h3{margin-top:.15rem;font-size:.8rem}.analytics-card>header>small{color:var(--text-tertiary);font-size:.55rem}.unit-bar-chart{display:flex;align-items:flex-end;justify-content:space-around;gap:.75rem;height:210px;padding:1.6rem .5rem 0;border-bottom:1px solid var(--border-color)}.unit-bar-chart>div{display:flex;align-items:center;flex-direction:column;justify-content:flex-end;width:46px;height:100%}.unit-bar-chart>div>span{position:relative;display:block;width:32px;min-height:12px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,var(--primary-light),var(--primary-dark))}.unit-bar-chart b{position:absolute;top:-1.1rem;left:50%;transform:translate(-50%);color:var(--text-secondary);font-size:.57rem}.unit-bar-chart small{margin-top:.35rem;color:var(--text-tertiary);font-size:.57rem}.subject-bar-chart{display:grid;gap:.65rem;margin-top:.9rem}.subject-bar-chart>div{display:grid;grid-template-columns:minmax(125px,1fr) 1.6fr 28px;gap:.55rem;align-items:center}.subject-bar-chart>div>span{overflow:hidden;color:var(--text-secondary);font-size:.58rem;text-overflow:ellipsis;white-space:nowrap}.subject-bar-chart i{height:8px;overflow:hidden;border-radius:999px;background:#e9efec}.subject-bar-chart i>b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#f1c64d)}.subject-bar-chart strong{color:var(--text-primary);font-size:.6rem}.analytics-note{display:flex;align-items:flex-start;gap:.6rem;margin:0 1.4rem 1.3rem;padding:.7rem;color:var(--info);border-radius:9px;background:var(--info-bg)}.analytics-note>span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 auto;border-radius:50%;background:#fff;font-size:.65rem;font-weight:900}.analytics-note p{font-size:.61rem;line-height:1.45}.teacher-guide-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:.8rem;padding:1rem 1.3rem}.teacher-guide-steps{display:grid;gap:.5rem}.teacher-guide-steps article{display:flex;gap:.7rem;padding:.7rem;border:1px solid var(--border-color);border-radius:10px;background:#fff}.teacher-guide-steps article>span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 auto;color:var(--primary-dark);border-radius:9px;background:var(--primary-bg);font-size:.61rem;font-weight:900}.teacher-guide-steps h3{font-size:.7rem}.teacher-guide-steps p{margin-top:.14rem;color:var(--text-secondary);font-size:.61rem;line-height:1.4}.teacher-support-card{align-self:start;padding:1rem;color:#fff;border-radius:13px;background:linear-gradient(145deg,var(--primary-dark),#249886)}.teacher-support-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;color:var(--primary-dark);border-radius:10px;background:#fff;font-weight:900}.teacher-support-card h3{margin-top:.7rem;font-size:.9rem}.teacher-support-card>p{margin-top:.25rem;color:#fffc;font-size:.62rem;line-height:1.5}.teacher-support-card>div{margin-top:.75rem;padding-top:.65rem;border-top:1px solid rgba(255,255,255,.18)}.teacher-support-card>div span,.teacher-support-card>div b,.teacher-support-card>div small{display:block}.teacher-support-card>div span{color:#ffffffa6;font-size:.52rem;font-weight:800;text-transform:uppercase}.teacher-support-card>div b{margin-top:.15rem;font-size:.67rem}.teacher-support-card>div small{margin-top:.1rem;color:#ffffffb3;font-size:.54rem}.teacher-support-card .btn{width:100%;margin-top:.9rem;color:#ffffffbf;border-color:#ffffff38;background:#ffffff1a}.teacher-guide-reminder{display:flex;align-items:flex-start;gap:.55rem;margin:0 1.3rem 1.2rem;padding:.7rem;color:#795608;border-radius:9px;background:var(--warning-bg)}.teacher-guide-reminder>span{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;flex:0 0 auto;border-radius:7px;background:#bd7e0021;font-size:.6rem;font-weight:900}.teacher-guide-reminder p{font-size:.6rem;line-height:1.45}.boletas-unit-section{display:flex;align-items:end;justify-content:space-between;gap:var(--space-xl);margin:2rem 0 1rem}.boletas-unit-section h2,.boletas-panel-heading h2{margin-top:.22rem;font-size:1.25rem;letter-spacing:-.025em}.unit-switcher{display:grid;grid-template-columns:repeat(4,minmax(105px,1fr));gap:.45rem}.unit-option{min-width:112px;padding:.6rem .75rem;color:var(--text-secondary);text-align:left;border:1px solid var(--border-color);border-radius:10px;background:#fff;cursor:pointer;transition:all var(--transition-fast)}.unit-option:hover{border-color:var(--primary-light);color:var(--primary-dark)}.unit-option.active{color:var(--primary-dark);border-color:var(--primary);background:var(--primary-bg);box-shadow:inset 0 0 0 1px var(--primary)}.unit-option span,.unit-option small{display:block}.unit-option span{font-size:var(--font-size-sm);font-weight:750}.unit-option small{margin-top:.1rem;color:var(--text-tertiary);font-size:.65rem}.unit-option.active small{color:var(--primary-dark)}.unit-option:disabled{color:var(--text-tertiary);border-color:var(--border-color);background:#f1f4f2;cursor:not-allowed;opacity:.72}.unit-option:disabled:hover{color:var(--text-tertiary);border-color:var(--border-color)}.boletas-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(245px,1.15fr);gap:var(--space-md)}.boletas-stat-card,.boletas-action-card{min-height:132px;padding:1.15rem 1.2rem;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm)}.boletas-stat-card{position:relative;overflow:hidden}.boletas-stat-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--primary)}.boletas-stat-card.accent-gold:before{background:var(--accent)}.boletas-stat-card.accent-red:before{background:var(--danger)}.stat-label{display:block;color:var(--text-tertiary);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.boletas-stat-card strong{display:block;margin-top:.55rem;font-size:1.85rem;line-height:1;letter-spacing:-.04em}.stat-caption{display:block;margin-top:.4rem;color:var(--text-secondary);font-size:var(--font-size-xs)}.boletas-action-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(118deg,#fff,#f8fcfa)}.boletas-action-card strong{display:block;margin-top:.3rem;font-size:1.05rem}.boletas-action-card .btn{white-space:nowrap}.boletas-panel{margin-top:var(--space-xl);overflow:hidden;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm)}.boletas-panel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1.4rem 1.45rem 1.25rem;border-bottom:1px solid var(--border-color)}.boletas-panel-heading p{margin-top:.3rem;color:var(--text-secondary);font-size:var(--font-size-sm)}.boletas-filter-group{display:flex;align-items:center;gap:.6rem}.boletas-search{display:flex;align-items:center;gap:.4rem;width:205px;padding:.56rem .7rem;color:var(--text-tertiary);border:1px solid var(--border-color);border-radius:8px;background:var(--bg-input)}.boletas-search span{font-size:1.2rem;line-height:.7}.boletas-search input{width:100%;outline:none;border:0;background:transparent;color:var(--text-primary);font:inherit;font-size:var(--font-size-sm)}.boletas-filter-group select{height:37px;padding:0 2rem 0 .7rem;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:8px;background:#fff;font:inherit;font-size:var(--font-size-sm)}.boletas-table-wrap{overflow-x:auto}.boletas-table{width:100%;border-collapse:collapse;min-width:780px}.boletas-table th{padding:.75rem 1.45rem;color:var(--text-tertiary);border-bottom:1px solid var(--border-color);background:#fbfdfc;font-size:.65rem;font-weight:800;letter-spacing:.07em;text-align:left;text-transform:uppercase;white-space:nowrap}.boletas-table td{padding:.9rem 1.45rem;color:var(--text-secondary);border-bottom:1px solid #edf2ef;font-size:var(--font-size-sm);vertical-align:middle}.boletas-table tbody tr:last-child td{border-bottom:none}.boletas-table tbody tr{transition:background var(--transition-fast)}.boletas-table tbody tr:hover{background:#f8fcfa}.boletas-table td small{display:block;margin-top:.14rem;color:var(--text-tertiary);font-size:.68rem}.student-identity{display:flex;align-items:center;gap:.7rem;min-width:210px}.student-identity b{display:block;color:var(--text-primary);font-size:var(--font-size-sm)}.student-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 auto;color:var(--primary-dark);border-radius:50%;background:#dff3ed;font-size:.68rem;font-weight:800}.grade-value{color:var(--primary-dark);font-size:1rem;font-weight:800}.grade-value.needs-attention{color:var(--danger)}.boleta-status{display:inline-block;padding:.25rem .52rem;border-radius:999px;font-size:.66rem;font-weight:800}.boleta-status.lista,.boleta-status.lista-para-cierre,.boleta-status.cerrada,.boleta-status.publicada{color:var(--success);background:var(--success-bg)}.boleta-status.pendiente{color:var(--danger);background:var(--danger-bg)}.boleta-status.en-revisión{color:var(--warning);background:var(--warning-bg)}.boleta-view-btn{padding:.38rem 0;color:var(--primary-dark);border:0;background:transparent;font:inherit;font-size:var(--font-size-xs);font-weight:800;cursor:pointer;white-space:nowrap}.boleta-view-btn span{display:inline-block;margin-left:.2rem;transition:transform var(--transition-fast)}.boleta-view-btn:hover span{transform:translate(3px)}.boletas-empty{padding:2.8rem!important;color:var(--text-tertiary)!important;text-align:center}.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}.boleta-overlay{position:fixed;z-index:500;inset:0;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#1027218c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.boleta-dialog{position:relative;width:min(850px,100%);max-height:calc(100vh - 3rem);overflow:auto;border-radius:16px;background:#fff;box-shadow:0 24px 70px #0b241c47}.boleta-close{position:absolute;z-index:2;top:.7rem;right:.75rem;width:30px;height:30px;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:50%;background:#fff;font-size:1.35rem;line-height:1;cursor:pointer}.boleta-sheet{padding:2.2rem 2.4rem 1.75rem}.boleta-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1.1rem;border-bottom:3px solid var(--primary)}.boleta-sheet-header img{width:185px;height:45px;object-fit:contain;object-position:left center}.boleta-sheet-header div{text-align:right}.boleta-sheet-header span,.boleta-sheet-header b{display:block}.boleta-sheet-header span{color:var(--primary-dark);font-size:.65rem;font-weight:800;letter-spacing:.1em}.boleta-sheet-header b{margin-top:.25rem;color:var(--text-secondary);font-size:var(--font-size-xs)}.boleta-student-data{display:grid;grid-template-columns:1.4fr 1fr 1.15fr;gap:1rem;padding:1.25rem 0}.boleta-student-data span,.boleta-student-data b{display:block}.boleta-student-data span{margin-bottom:.22rem;color:var(--text-tertiary);font-size:.64rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.boleta-student-data b{color:var(--text-primary);font-size:var(--font-size-sm)}.boleta-grades-table{width:100%;border-collapse:collapse}.boleta-grades-table th{padding:.55rem .65rem;color:#fff;background:var(--primary-dark);font-size:.66rem;text-align:left;text-transform:uppercase;letter-spacing:.05em}.boleta-grades-table th:first-child{border-radius:5px 0 0 5px}.boleta-grades-table th:last-child{border-radius:0 5px 5px 0}.boleta-grades-table td{padding:.6rem .65rem;color:var(--text-secondary);border-bottom:1px solid var(--border-color);font-size:var(--font-size-xs)}.boleta-grades-table td:first-child small{display:block;margin-top:.12rem;color:var(--text-tertiary);font-size:.56rem}.boleta-grades-table td:nth-child(2){color:var(--text-primary);text-align:center}.boleta-sheet-footer{display:grid;grid-template-columns:135px 120px 1fr;gap:1rem;align-items:center;margin-top:1.2rem;padding:.9rem 1rem;border-radius:9px;background:var(--primary-bg)}.boleta-sheet-footer div span,.boleta-sheet-footer div strong{display:block}.boleta-sheet-footer div span{color:var(--primary-dark);font-size:.63rem;font-weight:800;text-transform:uppercase}.boleta-sheet-footer div strong{margin-top:.15rem;color:var(--text-primary);font-size:1.2rem}.boleta-sheet-footer p{color:var(--text-secondary);font-size:.65rem;line-height:1.4}.boleta-dialog-actions{display:flex;justify-content:flex-end;gap:.65rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color);background:#fbfdfc}@media print{body{overflow:visible;background:#fff}.boleta-overlay{position:static;display:block;padding:0;background:#fff}.boleta-dialog{width:100%;max-height:none;overflow:visible;border-radius:0;box-shadow:none}.boleta-close,.boleta-dialog-actions{display:none}.boleta-sheet{padding:0}}@media(max-width:768px){.sidebar{position:fixed;visibility:hidden;left:0;top:0;bottom:0;transform:translate(-100%);z-index:200;box-shadow:var(--shadow-lg)}.sidebar.open{visibility:visible;transform:translate(0)}.sidebar-close-btn{display:inline-flex}.sidebar-overlay{position:fixed;inset:0;padding:0;border:0;background:#00000080;z-index:199;cursor:pointer}.mobile-menu-btn{display:inline-flex}.notification-popover{right:var(--space-lg)}.page-content{padding:var(--space-lg)}.main-header{padding:0 var(--space-lg)}.main-header-module-icon,.main-header-cycle{display:none}.main-header-context>span{display:none}.main-header-left h2{max-width:min(62vw,330px);overflow:hidden;font-size:var(--font-size-lg);text-overflow:ellipsis;white-space:nowrap}.stats-grid{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.filter-bar{flex-direction:column;align-items:stretch}.modal{max-height:95vh;margin:var(--space-md)}.page-loading-skeleton{grid-template-columns:1fr}.page-loading-skeleton .page-loading-skeleton-hero{min-height:250px}.order-item{flex-wrap:wrap}.boletas-hero{grid-template-columns:1fr;gap:var(--space-xl);padding:1.5rem}.boletas-hero-status{max-width:360px}.boletas-unit-section,.boletas-panel-heading{align-items:flex-start;flex-direction:column}.unit-switcher{width:100%}.boletas-summary-grid{grid-template-columns:repeat(2,1fr)}.boletas-filter-group{width:100%}.boletas-search{flex:1}.academic-workspace-tabs{grid-template-columns:repeat(7,minmax(145px,1fr))}.teacher-metric-grid{grid-template-columns:repeat(2,1fr)}.teacher-dashboard-grid,.analytics-grid,.teacher-guide-grid,.assigned-course-grid{grid-template-columns:1fr}.course-directory-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.course-directory-toolbar{grid-template-columns:1fr 1fr}.course-directory-search{grid-column:1 / -1}.course-grade-heading{grid-template-columns:38px 1fr 28px}.course-grade-meta{grid-column:2}.course-grade-toggle{grid-column:3;grid-row:1 / 3}.course-subject-row{grid-template-columns:38px minmax(0,1fr) 120px}.course-subject-detail:nth-of-type(3){grid-column:2 / -1}.course-subject-progress{grid-column:2 / -1}.academic-workspace-filters{grid-template-columns:1fr 1fr}.academic-workspace-filters>:last-child{grid-column:1 / -1}.weekly-attendance-filters{grid-template-columns:1fr 1fr}.weekly-attendance-filters>label:first-child{grid-column:1 / -1}.weekly-attendance-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.weekly-bulk-toolbar{grid-template-columns:1fr}.weekly-day-tabs{display:flex;overflow-x:auto}.weekly-day-tabs button{min-width:135px;flex:1 0 135px}.weekly-attendance-panel{--weekly-student-column: 245px}.analytics-metrics{grid-template-columns:repeat(2,1fr)}.academic-work-panel-heading{align-items:flex-start;flex-direction:column}.activity-weight-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.evaluation-setup-grid article{grid-template-columns:40px 1fr}.evaluation-setup-grid article label:last-child{grid-column:2}.academic-review-list article{grid-template-columns:1fr 130px}.review-note,.review-actions{grid-column:1 / -1}.academic-close-checklist>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){:root{--sidebar-width: min(88vw, 320px)}.main-header-left{gap:var(--space-sm)}.main-header-left h2{max-width:58vw}.notification-popover{right:.65rem;width:calc(100% - 1.3rem)}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.activity-weight-strip,.academic-close-checklist>div{grid-template-columns:1fr}.course-directory-summary,.course-directory-toolbar{grid-template-columns:1fr}.course-directory-search{grid-column:auto}.course-level-directory{padding:.75rem}.course-grade-heading{grid-template-columns:34px 1fr 28px}.course-grade-meta{grid-column:1 / -1}.course-grade-toggle{grid-column:3;grid-row:1}.course-subject-row{grid-template-columns:34px 1fr}.course-subject-detail,.course-subject-detail:nth-of-type(3),.course-subject-progress{grid-column:2}.academic-work-footer,.academic-footer-actions,.boleta-lifecycle-actions{align-items:stretch;flex-direction:column}.academic-footer-actions .btn,.boleta-lifecycle-actions .btn{width:100%}.boletas-hero{padding:1.25rem}.boletas-brand{width:220px;max-width:75%}.unit-switcher{grid-template-columns:repeat(2,1fr)}.unit-option{min-width:0}.boletas-summary-grid{grid-template-columns:1fr}.boletas-action-card{min-height:100px}.boletas-filter-group{align-items:stretch;flex-direction:column}.boletas-search{width:100%;flex:initial}.boleta-overlay{padding:.55rem}.boleta-sheet{padding:1.35rem 1rem}.boleta-sheet-header{align-items:flex-start;flex-direction:column}.boleta-sheet-header div{text-align:left}.boleta-student-data{grid-template-columns:1fr;gap:.65rem}.boleta-sheet-footer{grid-template-columns:1fr 1fr}.boleta-sheet-footer p{grid-column:1 / -1}.teacher-metric-grid,.student-attention-list,.analytics-metrics,.academic-workspace-filters{grid-template-columns:1fr}.academic-workspace-filters>:last-child{grid-column:auto}.weekly-attendance-filters{grid-template-columns:1fr;padding:.75rem}.weekly-attendance-filters>label:first-child{grid-column:auto}.weekly-attendance-summary{grid-template-columns:repeat(2,minmax(0,1fr));padding:.75rem}.weekly-day-tabs{padding:0 .75rem .75rem}.weekly-bulk-toolbar{padding:.75rem}.weekly-status-actions{display:grid;grid-template-columns:1fr 1fr}.weekly-status-button{width:100%}.weekly-student-search{align-items:stretch;flex-direction:column;padding:.65rem .75rem}.weekly-student-search label{width:100%}.weekly-attendance-panel{--weekly-student-column: 205px}.weekly-attendance-table th,.weekly-attendance-table td{padding:.45rem}.weekly-attendance-cell span{display:none}.weekly-configuration-warning{margin:.65rem .75rem 0}.academic-work-footer{align-items:stretch;flex-direction:column}.academic-work-footer .btn{width:100%}.analytics-student-header{align-items:flex-start;flex-wrap:wrap}.student-risk{margin-left:0}.subject-bar-chart>div{grid-template-columns:105px 1fr 25px}}.students-page{width:min(1500px,100%);margin:0 auto}.students-hero{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;min-height:210px;padding:2rem 2.2rem;overflow:hidden;color:#fff;border-radius:22px;background:radial-gradient(circle at 80% -15%,rgba(239,181,29,.95) 0 16%,transparent 16.3%),linear-gradient(120deg,#176f61,#249886 58%,#31aa96);box-shadow:0 18px 45px #1975652e}.students-hero:after{content:"";position:absolute;right:-70px;bottom:-110px;width:280px;height:280px;border:52px solid rgba(255,255,255,.1);border-radius:50%}.students-hero-copy,.students-hero-actions{position:relative;z-index:1}.students-hero-copy{max-width:680px}.students-phase{display:inline-flex;align-items:center;padding:.34rem .65rem;color:#0f5e51;border-radius:999px;background:#dff7ef;font-size:.68rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.students-hero .students-phase{color:#fff;border:1px solid rgba(255,255,255,.25);background:#ffffff24}.students-hero h1{margin-top:.85rem;font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.04;letter-spacing:-.045em}.students-hero p{max-width:650px;margin-top:.7rem;color:#ffffffd1;font-size:.93rem}.students-hero-actions{display:flex;align-items:flex-end;flex-direction:column;gap:.85rem}.demo-data-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .65rem;color:#ffffffeb;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:#0f5e513d;font-size:.67rem;font-weight:700}.demo-data-pill i{width:7px;height:7px;border-radius:50%;background:#7de3d1;box-shadow:0 0 0 4px #7de3d121}.students-primary-action{min-height:44px;padding-inline:1.1rem;color:#17483f!important;background:#fff!important;box-shadow:0 8px 20px #0e4d4238}.students-primary-action:hover{background:#f5fffb!important}.students-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin:1rem 0}.student-stat{position:relative;display:flex;align-items:center;gap:.85rem;min-height:118px;padding:1rem 1.1rem;overflow:hidden;border:1px solid var(--border-color);border-radius:15px;background:#fff;box-shadow:var(--shadow-sm)}.student-stat:after{content:"";position:absolute;top:0;right:0;width:54px;height:4px;border-radius:0 0 0 4px;background:var(--primary)}.student-stat-docs:after{background:var(--accent)}.student-stat-guardians:after{background:var(--danger)}.student-stat-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 auto;color:var(--primary-dark);border-radius:12px;background:var(--primary-bg);font-size:1rem;font-weight:900}.student-stat-docs .student-stat-icon{color:var(--accent-dark);background:#efb51d1f}.student-stat-guardians .student-stat-icon{color:var(--danger);background:var(--danger-bg)}.student-stat small,.student-stat strong,.student-stat p{display:block}.student-stat small{color:var(--text-tertiary);font-size:.65rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.student-stat strong{margin-top:.15rem;font-size:1.65rem;line-height:1;letter-spacing:-.04em}.student-stat p{margin-top:.23rem;color:var(--text-secondary);font-size:.7rem}.students-panel{overflow:hidden;border:1px solid var(--border-color);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.students-panel-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1.25rem 1.35rem 1rem}.students-panel-header h2{margin-top:.2rem;font-size:1.25rem;letter-spacing:-.02em}.students-panel-header p{margin-top:.2rem;color:var(--text-tertiary);font-size:.72rem}.students-import:disabled{cursor:not-allowed;opacity:.58}.students-toolbar{display:grid;grid-template-columns:minmax(270px,1fr) 175px 220px;gap:.65rem;padding:.85rem 1.35rem;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);background:#f8fbf9}.students-search{display:flex;align-items:center;gap:.5rem;height:40px;padding:0 .75rem;color:var(--text-tertiary);border:1px solid var(--border-color);border-radius:9px;background:#fff}.students-search>span{font-size:1.2rem;line-height:1}.students-search input{width:100%;color:var(--text-primary);outline:0;border:0;background:transparent;font:inherit;font-size:var(--font-size-sm)}.students-toolbar select{width:100%;height:40px;padding:0 2rem 0 .75rem;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:9px;background:#fff;font:inherit;font-size:var(--font-size-sm)}.students-table-wrap{overflow-x:auto}.school-samples-panel{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin:1.25rem 0;padding:1.25rem;border:1px solid var(--border-color);border-radius:16px;background:var(--csa-gold-50, #fff9e8)}.school-samples-panel>div{flex:1 1 320px;min-width:0}.school-samples-panel h2{margin:.3rem 0;font-size:1.1rem}.school-samples-panel p{margin:.4rem 0 0;font-size:.85rem;color:var(--text-secondary)}.school-samples-feedback{flex-basis:100%}.school-samples-panel>.btn{max-width:100%;white-space:normal}.students-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.35rem;font-size:.85rem}.students-pagination>span:first-child{margin-right:auto}.students-toolbar>label{min-width:0}.students-toolbar select{max-width:100%}.students-table{width:100%;min-width:1040px;border-collapse:collapse}.students-table th{padding:.72rem 1.35rem;color:var(--text-tertiary);border-bottom:1px solid var(--border-color);background:#fcfdfc;font-size:.62rem;font-weight:850;letter-spacing:.075em;text-align:left;text-transform:uppercase;white-space:nowrap}.students-table td{padding:.82rem 1.35rem;color:var(--text-secondary);border-bottom:1px solid #edf2ef;font-size:.75rem;vertical-align:middle}.students-table tbody tr{transition:background var(--transition-fast)}.students-table tbody tr:hover{background:#f8fcfa}.students-table tbody tr:last-child td{border-bottom:0}.students-table td b,.students-table td small{display:block}.students-table td b{color:var(--text-primary);font-size:.75rem}.students-table td small{margin-top:.15rem;color:var(--text-tertiary);font-size:.65rem}.students-table td small.mineduc-row-code{color:var(--primary-dark);font-size:.57rem;font-weight:750}.student-row-identity{display:flex;align-items:center;gap:.7rem;min-width:205px}.student-row-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 auto;color:#fff;border-radius:11px;background:linear-gradient(145deg,var(--primary),var(--primary-dark));font-size:.65rem;font-weight:850;letter-spacing:.02em}.document-progress{width:105px;height:5px;overflow:hidden;border-radius:999px;background:#e7eeea}.document-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--primary-light))}.student-status{display:inline-flex;align-items:center;max-width:160px;padding:.28rem .52rem;border-radius:999px;color:var(--success);background:var(--success-bg);font-size:.63rem;font-weight:800;line-height:1.25}.student-status-preinscrito{color:#16768a;background:var(--info-bg)}.student-status-documentacion-pendiente{color:var(--warning);background:var(--warning-bg)}.student-open{padding:.4rem 0;color:var(--primary-dark);border:0;background:none;font:inherit;font-size:.68rem;font-weight:850;cursor:pointer;white-space:nowrap}.student-open span{display:inline-block;margin-left:.18rem;transition:transform var(--transition-fast)}.student-open:hover span{transform:translate(3px)}.students-empty{padding:3rem!important;color:var(--text-tertiary)!important;text-align:center}.student-profile-overlay{position:fixed;z-index:600;inset:0;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0b2a2294;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.student-profile-dialog,.student-create-dialog{position:relative;width:min(930px,100%);max-height:calc(100vh - 3rem);overflow:auto;border-radius:20px;background:#f7faf8;box-shadow:0 28px 80px #08251d4d}.student-profile-close{position:absolute;z-index:3;top:.85rem;right:.9rem;display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:50%;background:#fff;font-size:1.3rem;cursor:pointer}.student-profile-header{display:flex;align-items:center;gap:1rem;padding:1.55rem 3.7rem 1.35rem 1.6rem;border-bottom:1px solid var(--border-color);background:#fff}.student-profile-avatar{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;flex:0 0 auto;color:#fff;border-radius:17px;background:linear-gradient(145deg,var(--primary),var(--primary-dark));font-size:.9rem;font-weight:850}.student-profile-header h2{margin-top:.2rem;font-size:1.45rem;letter-spacing:-.03em}.student-profile-header p{color:var(--text-tertiary);font-size:.72rem}.student-profile-header>.student-status{margin-left:auto}.student-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;padding:1rem}.student-profile-card{padding:1.15rem;border:1px solid var(--border-color);border-radius:14px;background:#fff}.student-documents-card,.student-identifiers-card{grid-column:1 / -1}.student-identifiers-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.student-identifiers-grid>div{position:relative;padding:.85rem;overflow:hidden;border:1px solid var(--border-color);border-radius:10px;background:#f8fbf9}.student-identifiers-grid>div:after{content:"";position:absolute;top:0;right:0;width:44px;height:4px;border-radius:0 0 0 4px;background:var(--primary)}.student-identifiers-grid>div.mineduc:after{background:var(--accent)}.student-identifiers-grid span,.student-identifiers-grid strong,.student-identifiers-grid small{display:block}.student-identifiers-grid span{color:var(--text-tertiary);font-size:.6rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.student-identifiers-grid strong{margin-top:.25rem;color:var(--text-primary);font-size:.85rem}.student-identifiers-grid small{margin-top:.16rem;color:var(--text-tertiary);font-size:.58rem}.student-profile-card-title{display:flex;align-items:center;gap:.55rem;margin-bottom:.95rem}.student-profile-card-title>span{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;color:var(--primary-dark);border-radius:8px;background:var(--primary-bg);font-size:.62rem;font-weight:900}.student-profile-card-title h3{font-size:.9rem}.student-data-list{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.student-data-list div{padding:.7rem;border-radius:9px;background:#f7faf8}.student-data-list dt{color:var(--text-tertiary);font-size:.62rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.student-data-list dd{margin-top:.22rem;color:var(--text-primary);font-size:.76rem;font-weight:700}.guardian-block{padding:.75rem 0;border-bottom:1px solid var(--border-color)}.guardian-block.secondary{border-bottom:0}.guardian-tag{display:block;margin-bottom:.25rem;color:var(--primary-dark);font-size:.61rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.guardian-block b{font-size:.79rem}.guardian-block p{color:var(--text-secondary);font-size:.7rem}.guardian-missing{margin-top:.75rem;padding:.65rem;color:var(--warning);border-radius:8px;background:var(--warning-bg);font-size:.68rem;font-weight:700}.student-document-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem}.student-document-list>div{display:flex;align-items:center;gap:.6rem;padding:.7rem;border:1px solid var(--border-color);border-radius:9px}.student-document-list>div>span{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;flex:0 0 auto;border-radius:7px;font-size:.68rem;font-weight:900}.student-document-list .complete>span{color:var(--success);background:var(--success-bg)}.student-document-list .pending>span{color:var(--warning);background:var(--warning-bg)}.student-document-list b,.student-document-list small{display:block}.student-document-list b{font-size:.72rem}.student-document-list small{margin-top:.1rem;color:var(--text-tertiary);font-size:.62rem}.student-profile-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem 1rem}.student-profile-footer p{max-width:610px;color:var(--text-tertiary);font-size:.66rem}.student-create-dialog{width:min(700px,100%);background:#fff}.student-create-dialog>header{padding:1.45rem 3.8rem 1rem 1.5rem;border-bottom:1px solid var(--border-color)}.student-create-dialog>header h2{margin-top:.55rem;font-size:1.4rem}.student-create-dialog>header p{margin-top:.3rem;color:var(--text-secondary);font-size:.72rem}.student-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;padding:1.15rem 1.5rem}.student-form-grid label>span{display:block;margin-bottom:.3rem;color:var(--text-secondary);font-size:.68rem;font-weight:750}.student-form-grid input,.student-form-grid select{width:100%;height:41px;padding:0 .75rem;color:var(--text-primary);border:1px solid var(--border-color);border-radius:9px;outline:0;background:var(--bg-input);font:inherit;font-size:.76rem}.student-form-grid input:focus,.student-form-grid select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg)}.student-form-wide{grid-column:1 / -1}.student-form-divider{position:relative;margin-top:.25rem;border-top:1px solid var(--border-color)}.student-form-divider span{position:relative;top:-.65rem;display:inline-block;padding-right:.65rem;color:var(--primary-dark);background:#fff;font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.student-create-dialog>footer{display:flex;justify-content:flex-end;gap:.65rem;padding:.9rem 1.5rem 1.2rem;border-top:1px solid var(--border-color)}@media(max-width:1050px){.students-stats{grid-template-columns:repeat(2,1fr)}.students-toolbar{grid-template-columns:1fr 150px 190px}}@media(max-width:768px){.students-hero{align-items:flex-start;flex-direction:column;min-height:0;padding:1.45rem}.students-hero-actions{width:100%;align-items:stretch}.demo-data-pill{width:fit-content}.students-primary-action{justify-content:center}.students-toolbar{grid-template-columns:1fr}.students-panel-header{align-items:flex-start}.student-profile-overlay{padding:.65rem}.student-profile-dialog,.student-create-dialog{max-height:calc(100vh - 1.3rem)}.student-profile-header{align-items:flex-start;flex-wrap:wrap}.student-profile-header>.student-status{margin-left:76px}.student-profile-grid{grid-template-columns:1fr}.student-documents-card{grid-column:auto}.student-document-list,.student-identifiers-grid{grid-template-columns:1fr}}@media(max-width:480px){.students-stats{grid-template-columns:1fr}.student-stat{min-height:94px}.students-panel-header{flex-direction:column}.student-profile-header{padding-left:1rem}.student-profile-avatar{width:52px;height:52px}.student-profile-header>.student-status{margin-left:0}.student-data-list,.student-form-grid{grid-template-columns:1fr}.student-form-wide{grid-column:auto}.student-form-divider{grid-column:1}.student-profile-footer{align-items:stretch;flex-direction:column}.student-profile-footer .btn{width:100%}.student-create-dialog>footer{flex-direction:column-reverse}.student-create-dialog>footer .btn{width:100%}}.academic-structure-page{width:min(1500px,100%);margin:0 auto}.academic-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr);gap:2rem;align-items:center;min-height:230px;padding:2rem 2.15rem;overflow:hidden;border:1px solid #d8e7df;border-radius:22px;background:linear-gradient(120deg,#fff,#f7fbf9 66%,#ecf7f3);box-shadow:var(--shadow-sm)}.academic-hero:before{content:"";position:absolute;top:-125px;right:80px;width:265px;height:265px;border:46px solid rgba(239,181,29,.84);border-radius:50%}.academic-hero:after{content:"";position:absolute;right:-90px;bottom:-185px;width:320px;height:320px;border-radius:50%;background:#279f8d1a}.academic-hero>div,.academic-hero>aside{position:relative;z-index:1}.academic-phase{display:inline-flex;padding:.34rem .65rem;color:var(--primary-dark);border-radius:999px;background:var(--primary-bg);font-size:.65rem;font-weight:850;letter-spacing:.065em;text-transform:uppercase}.academic-hero h1{max-width:720px;margin-top:.8rem;color:var(--text-primary);font-size:clamp(1.85rem,3.1vw,2.8rem);line-height:1.04;letter-spacing:-.05em}.academic-hero>div>p{max-width:690px;margin-top:.7rem;color:var(--text-secondary);font-size:.9rem}.academic-hero aside{display:flex;flex-direction:column;padding:1.15rem;border:1px solid rgba(39,159,141,.2);border-radius:15px;background:#ffffffe0;box-shadow:0 12px 28px #1c594b1a}.academic-hero aside span{color:var(--primary-dark);font-size:.62rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.academic-hero aside strong{margin-top:.45rem;font-size:1.05rem}.academic-hero aside small{margin-top:.2rem;color:var(--text-tertiary);font-size:.67rem}.academic-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0}.academic-summary article{display:flex;align-items:center;gap:.8rem;min-height:86px;padding:.9rem 1rem;border:1px solid var(--border-color);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}.academic-summary-number{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex:0 0 auto;color:var(--primary-dark);border-radius:13px;background:var(--primary-bg);font-size:1.35rem;font-weight:900}.academic-summary .attention .academic-summary-number{color:var(--warning);background:var(--warning-bg)}.academic-summary b,.academic-summary small{display:block}.academic-summary b{font-size:.78rem}.academic-summary small{margin-top:.1rem;color:var(--text-tertiary);font-size:.63rem}.academic-tabs{display:flex;gap:.25rem;width:fit-content;margin-bottom:.75rem;padding:.27rem;border:1px solid var(--border-color);border-radius:11px;background:#fff}.academic-tabs button{padding:.52rem .8rem;color:var(--text-secondary);border:0;border-radius:8px;background:transparent;font:inherit;font-size:.7rem;font-weight:750;cursor:pointer}.academic-tabs button:hover{color:var(--text-primary);background:var(--bg-card-hover)}.academic-tabs button.active{color:#fff;background:var(--primary-dark);box-shadow:0 4px 10px #19756533}.academic-catalog-panel{display:grid;grid-template-columns:275px minmax(0,1fr);min-height:515px;overflow:hidden;border:1px solid var(--border-color);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.level-selector{padding:1.2rem 1rem;border-right:1px solid var(--border-color);background:#f7faf8}.level-selector header{padding:0 .25rem .9rem}.level-selector h2{margin-top:.15rem;font-size:1.1rem}.level-selector-list{display:flex;flex-direction:column;gap:.38rem}.level-selector-list button{display:grid;grid-template-columns:38px 1fr auto;gap:.65rem;align-items:center;width:100%;padding:.65rem;color:var(--text-secondary);border:1px solid transparent;border-radius:10px;background:transparent;text-align:left;cursor:pointer;transition:all var(--transition-fast)}.level-selector-list button:hover{border-color:var(--border-color);background:#fff}.level-selector-list button.active{color:var(--text-primary);border-color:#279f8d47;background:#fff;box-shadow:var(--shadow-sm)}.level-monogram{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;color:var(--primary-dark);border-radius:10px;background:var(--primary-bg);font-size:.58rem;font-weight:900;letter-spacing:.04em}.level-monogram.gold{color:var(--accent-dark);background:#efb51d21}.level-monogram.red{color:var(--danger);background:var(--danger-bg)}.level-monogram.blue{color:var(--info);background:var(--info-bg)}.level-selector-list b,.level-selector-list small{display:block}.level-selector-list b{font-size:.73rem}.level-selector-list small{color:var(--text-tertiary);font-size:.61rem}.level-selector-list i{color:var(--text-tertiary);font-size:.7rem;font-style:normal}.level-selector-list button.active i{color:var(--primary)}.level-selector>p{margin:1.1rem .25rem 0;padding-top:.9rem;color:var(--text-tertiary);border-top:1px solid var(--border-color);font-size:.62rem;line-height:1.45}.grade-catalog{min-width:0;padding:1.25rem}.grade-catalog-header,.courses-panel-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.grade-catalog-header h2,.courses-panel-header h2{margin-top:.15rem;font-size:1.2rem}.grade-catalog-header p,.courses-panel-header p{margin-top:.15rem;color:var(--text-tertiary);font-size:.67rem}.grade-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.grade-card{display:grid;grid-template-columns:34px 1fr 26px;gap:.7rem;min-height:126px;padding:.85rem;border:1px solid var(--border-color);border-radius:12px;background:#fff;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.grade-card:hover{border-color:#bcd4c8;box-shadow:0 5px 15px #1e514312}.grade-order{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:var(--primary-dark);border-radius:9px;background:var(--primary-bg);font-size:.66rem;font-weight:900}.grade-card-main>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.grade-card h3{font-size:.79rem}.catalog-status{display:inline-flex;padding:.25rem .47rem;border-radius:999px;font-size:.59rem;font-weight:800;white-space:nowrap}.catalog-status.active{color:var(--success);background:var(--success-bg)}.catalog-status.pending{color:var(--warning);background:var(--warning-bg)}.grade-card-main>p{margin-top:.75rem;color:var(--text-tertiary);font-size:.61rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.section-pills{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.section-pills span,.section-pills button{display:inline-flex;align-items:center;min-height:26px;padding:0 .48rem;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:7px;background:#f8fbf9;font-size:.61rem;font-weight:700}.section-pills button{color:var(--primary-dark);background:var(--primary-bg);cursor:pointer}.section-pills button:disabled{cursor:not-allowed;opacity:.45}.catalog-more{align-self:start;color:var(--text-tertiary);border:0;background:none;font-size:.7rem;cursor:not-allowed;opacity:.6}.courses-panel,.cycle-panel{overflow:hidden;border:1px solid var(--border-color);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.courses-panel-header{margin:0;padding:1.25rem 1.35rem 1rem}.courses-toolbar{display:grid;grid-template-columns:minmax(250px,1fr) 210px;gap:.65rem;padding:.75rem 1.35rem;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);background:#f8fbf9}.courses-search{display:flex;align-items:center;gap:.45rem;height:39px;padding:0 .75rem;color:var(--text-tertiary);border:1px solid var(--border-color);border-radius:9px;background:#fff}.courses-search input{width:100%;color:var(--text-primary);outline:0;border:0;background:transparent;font:inherit;font-size:.73rem}.courses-toolbar select{width:100%;height:39px;padding:0 .75rem;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:9px;background:#fff;font:inherit;font-size:.73rem}.courses-table-wrap{max-width:100%;overflow-x:auto}.courses-table{width:100%;min-width:780px;border-collapse:collapse}.courses-table th{padding:.72rem 1.35rem;color:var(--text-tertiary);border-bottom:1px solid var(--border-color);background:#fcfdfc;font-size:.61rem;font-weight:850;letter-spacing:.07em;text-align:left;text-transform:uppercase}.courses-table td{padding:.82rem 1.35rem;color:var(--text-secondary);border-bottom:1px solid #edf2ef;font-size:.72rem}.courses-table tbody tr:last-child td{border-bottom:0}.courses-table tbody tr:hover{background:#f8fcfa}.courses-table td b{color:var(--text-primary)}.courses-table td small{margin-left:.25rem;color:var(--text-tertiary);font-size:.61rem}.course-code{display:inline-flex;padding:.3rem .45rem;color:var(--primary-dark);border-radius:7px;background:var(--primary-bg);font-size:.62rem;font-weight:850;letter-spacing:.04em}.course-level-tags{display:flex;flex-wrap:wrap;gap:.25rem}.course-level-tags span{padding:.2rem .38rem;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:999px;background:#fff;font-size:.57rem;font-weight:700}.courses-empty{padding:2.8rem!important;color:var(--text-tertiary)!important;text-align:center}.cycle-card-main{display:flex;align-items:center;gap:.9rem;padding:1.4rem 1.5rem;border-bottom:1px solid var(--border-color);background:linear-gradient(115deg,#fff,#f4faf7)}.cycle-card-main img{width:54px;height:54px;padding:.35rem;object-fit:contain;border:1px solid var(--border-color);border-radius:13px;background:#fff}.cycle-card-main h2{margin-top:.08rem;font-size:1.5rem}.cycle-card-main p{color:var(--text-tertiary);font-size:.68rem}.cycle-status{display:inline-flex;align-items:center;gap:.4rem;margin-left:auto;padding:.35rem .55rem;color:var(--warning);border-radius:999px;background:var(--warning-bg);font-size:.62rem;font-weight:800}.cycle-status i{width:7px;height:7px;border-radius:50%;background:var(--accent)}.cycle-settings-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;padding:1rem 1.5rem}.cycle-settings-grid article{padding:.9rem;border:1px solid var(--border-color);border-radius:11px;background:#f9fbfa}.cycle-settings-grid span,.cycle-settings-grid strong,.cycle-settings-grid small{display:block}.cycle-settings-grid span{color:var(--text-tertiary);font-size:.61rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.cycle-settings-grid strong{margin-top:.3rem;font-size:1rem}.cycle-settings-grid small{margin-top:.1rem;color:var(--text-tertiary);font-size:.59rem}.cycle-units{padding:.45rem 1.5rem 1.2rem}.cycle-units-heading h3{margin-top:.1rem;font-size:.95rem}.cycle-timeline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-top:.9rem}.cycle-timeline:before{content:"";position:absolute;z-index:0;top:17px;left:9%;right:9%;height:2px;background:var(--border-color)}.cycle-timeline article{position:relative;z-index:1;display:flex;gap:.55rem;padding:.65rem;border:1px solid var(--border-color);border-radius:10px;background:#fff}.cycle-timeline article>span{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;flex:0 0 auto;color:var(--primary-dark);border:4px solid #ffffff;border-radius:50%;background:#dff3ed;box-shadow:0 0 0 1px var(--border-color);font-size:.66rem;font-weight:900}.cycle-timeline article.pending>span{color:var(--warning);background:#fff2cf}.cycle-timeline b,.cycle-timeline p,.cycle-timeline small{display:block}.cycle-timeline b{font-size:.69rem}.cycle-timeline p{color:var(--text-secondary);font-size:.61rem}.cycle-timeline small{margin-top:.15rem;color:var(--success);font-size:.57rem;font-weight:800}.cycle-timeline .pending small{color:var(--warning)}.cycle-warning{display:flex;align-items:center;gap:.65rem;margin:0 1.5rem 1.35rem;padding:.75rem;color:var(--warning);border-radius:10px;background:var(--warning-bg)}.cycle-warning>span{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:0 0 auto;border-radius:7px;background:#bd7e001f;font-weight:900}.cycle-warning p{font-size:.66rem}.catalog-overlay{position:fixed;z-index:620;inset:0;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0b2a2294;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.catalog-dialog{position:relative;width:min(590px,100%);max-height:calc(100vh - 3rem);overflow:auto;border-radius:18px;background:#fff;box-shadow:0 26px 75px #08251d4d}.catalog-dialog-close{position:absolute;top:.85rem;right:.9rem;display:flex;align-items:center;justify-content:center;width:31px;height:31px;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:50%;background:#fff;font-size:1.25rem;cursor:pointer}.catalog-dialog>header{padding:1.4rem 3.6rem 1rem 1.4rem;border-bottom:1px solid var(--border-color)}.catalog-dialog>header h2{margin-top:.55rem;font-size:1.35rem}.catalog-dialog>header p{margin-top:.25rem;color:var(--text-secondary);font-size:.68rem}.catalog-form{display:grid;gap:.8rem;padding:1.1rem 1.4rem}.catalog-form.two-columns{grid-template-columns:1fr 1fr}.catalog-form-wide{grid-column:1 / -1}.catalog-form label>span{display:block;margin-bottom:.28rem;color:var(--text-secondary);font-size:.66rem;font-weight:750}.catalog-form input,.catalog-form select{width:100%;height:41px;padding:0 .75rem;color:var(--text-primary);border:1px solid var(--border-color);border-radius:9px;outline:0;background:var(--bg-input);font:inherit;font-size:.74rem}.catalog-form input:focus,.catalog-form select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg)}.catalog-dialog>footer{display:flex;justify-content:flex-end;gap:.6rem;padding:.9rem 1.4rem 1.15rem;border-top:1px solid var(--border-color)}@media(max-width:1050px){.academic-summary{grid-template-columns:repeat(2,1fr)}.grade-card-list{grid-template-columns:1fr}.cycle-settings-grid,.cycle-timeline{grid-template-columns:repeat(2,1fr)}.cycle-timeline:before{display:none}}@media(max-width:768px){.academic-hero{grid-template-columns:1fr;min-height:0;padding:1.45rem}.academic-hero:before{right:-60px}.academic-hero aside{max-width:360px}.academic-tabs{width:100%;overflow-x:auto}.academic-tabs button{flex:1 0 auto}.academic-catalog-panel{grid-template-columns:1fr}.level-selector{border-right:0;border-bottom:1px solid var(--border-color)}.level-selector-list{display:grid;grid-template-columns:repeat(2,1fr)}.level-selector>p{display:none}.grade-catalog-header,.courses-panel-header{align-items:flex-start;flex-direction:column}.courses-toolbar{grid-template-columns:1fr}}@media(max-width:480px){.academic-summary{grid-template-columns:1fr}.academic-summary article{min-height:76px}.level-selector-list{grid-template-columns:1fr}.grade-catalog{padding:1rem}.grade-card{grid-template-columns:30px 1fr}.grade-order{width:30px;height:30px}.catalog-more{display:none}.cycle-card-main{align-items:flex-start;flex-wrap:wrap}.cycle-status{margin-left:0}.cycle-settings-grid,.cycle-timeline,.catalog-form.two-columns{grid-template-columns:1fr}.catalog-form-wide{grid-column:auto}.catalog-dialog>footer{flex-direction:column-reverse}.catalog-dialog>footer .btn{width:100%}}.families-page,.enrollments-page{width:min(1500px,100%);margin:0 auto}.families-hero{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;min-height:210px;padding:2rem 2.15rem;overflow:hidden;border-radius:22px;color:#fff;background:linear-gradient(120deg,#153f37,#197565 52%,#2aa18d);box-shadow:0 18px 42px #153f372b}.families-hero:before{content:"";position:absolute;top:-130px;right:150px;width:270px;height:270px;border:48px solid rgba(239,181,29,.93);border-radius:50%}.families-hero:after{content:"";position:absolute;right:-60px;bottom:-95px;width:220px;height:220px;border-radius:50%;background:#ffffff17}.families-hero>*{position:relative;z-index:1}.families-hero>div{max-width:720px}.families-phase,.enrollments-phase{display:inline-flex;padding:.34rem .65rem;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:#ffffff1f;font-size:.65rem;font-weight:850;letter-spacing:.065em;text-transform:uppercase}.families-hero h1{margin-top:.8rem;font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.04;letter-spacing:-.05em}.families-hero p{margin-top:.65rem;color:#fffc;font-size:.88rem}.families-hero .btn{color:var(--primary-dark);background:#fff;white-space:nowrap;box-shadow:0 8px 20px #07312938}.families-summary,.enrollment-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1rem 0}.families-summary article,.enrollment-stats article{display:flex;align-items:center;gap:.75rem;min-height:104px;padding:.95rem 1rem;border:1px solid var(--border-color);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}.families-summary article>span,.enrollment-stats article>span{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 auto;color:var(--primary-dark);border-radius:11px;background:var(--primary-bg);font-size:.67rem;font-weight:900}.families-summary article.pending>span,.enrollment-stats article.attention>span{color:var(--danger);background:var(--danger-bg)}.families-summary small,.families-summary strong,.families-summary p,.enrollment-stats small,.enrollment-stats strong,.enrollment-stats p{display:block}.families-summary small,.enrollment-stats small{color:var(--text-tertiary);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.families-summary strong,.enrollment-stats strong{margin-top:.15rem;font-size:1.45rem;line-height:1}.families-summary p,.enrollment-stats p{margin-top:.2rem;color:var(--text-secondary);font-size:.65rem}.families-panel,.enrollments-panel{overflow:hidden;border:1px solid var(--border-color);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.families-panel-header,.enrollments-panel-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1.2rem 1.35rem 1rem}.families-panel-header h2,.enrollments-panel-header h2{margin-top:.15rem;font-size:1.2rem}.families-panel-header p,.enrollments-panel-header p{margin-top:.15rem;color:var(--text-tertiary);font-size:.67rem}.demo-data-pill.light{color:var(--primary-dark);border-color:var(--border-color);background:var(--primary-bg)}.demo-data-pill.light i{background:var(--primary)}.families-toolbar,.enrollments-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) 230px;gap:.65rem;padding:.78rem 1.35rem;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);background:#f8fbf9}.families-search,.enrollments-search{display:flex;align-items:center;gap:.45rem;height:40px;padding:0 .75rem;color:var(--text-tertiary);border:1px solid var(--border-color);border-radius:9px;background:#fff}.families-search input,.enrollments-search input{width:100%;color:var(--text-primary);outline:0;border:0;background:transparent;font:inherit;font-size:.73rem}.families-toolbar select,.enrollments-toolbar select{width:100%;height:40px;padding:0 .75rem;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:9px;background:#fff;font:inherit;font-size:.7rem}.family-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;padding:1rem 1.35rem 1.35rem}.family-card{overflow:hidden;border:1px solid var(--border-color);border-radius:14px;background:#fff;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.family-card:hover{border-color:#bdd4c9;box-shadow:0 7px 20px #1d524414}.family-card>header{display:flex;align-items:center;gap:.65rem;padding:.85rem .9rem;border-bottom:1px solid var(--border-color);background:#fbfdfc}.family-avatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 auto;color:#fff;border-radius:11px;background:linear-gradient(145deg,var(--primary),var(--primary-dark));font-size:.65rem;font-weight:850}.family-card header h3{font-size:.78rem}.family-card header p{color:var(--text-tertiary);font-size:.62rem}.family-status{display:inline-flex;max-width:140px;margin-left:auto;padding:.27rem .48rem;color:var(--success);border-radius:999px;background:var(--success-bg);font-size:.58rem;font-weight:800;line-height:1.25;text-align:center}.family-status.contacto-pendiente,.family-status.verificacion-pendiente{color:var(--warning);background:var(--warning-bg)}.family-status.sin-acceso-al-portal{color:var(--text-secondary);background:var(--bg-tertiary)}.family-primary-contact{padding:.8rem .9rem;border-bottom:1px solid var(--border-color)}.family-primary-contact span{display:block;color:var(--primary-dark);font-size:.59rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.family-primary-contact b{display:block;margin-top:.2rem;font-size:.73rem}.family-primary-contact p{color:var(--text-secondary);font-size:.63rem}.family-student-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;padding:.75rem .9rem}.family-student-list>div{display:flex;align-items:center;gap:.45rem;min-width:0;padding:.45rem;border-radius:8px;background:#f7faf8}.family-student-list>div>span{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;flex:0 0 auto;color:var(--primary-dark);border-radius:7px;background:var(--primary-bg);font-size:.55rem;font-weight:850}.family-student-list b,.family-student-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-student-list b{font-size:.65rem}.family-student-list small{color:var(--text-tertiary);font-size:.55rem}.family-student-list small.family-mineduc-code,.family-linked-students p.family-mineduc-code{color:var(--primary-dark);font-size:.53rem;font-weight:750}.family-card>footer{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.65rem .9rem;border-top:1px solid var(--border-color);background:#fbfdfc}.family-card>footer>span{color:var(--text-tertiary);font-size:.59rem}.family-card>footer button{color:var(--primary-dark);border:0;background:none;font:inherit;font-size:.63rem;font-weight:850;cursor:pointer}.family-card>footer button i{margin-left:.2rem;font-style:normal}.families-empty{grid-column:1/-1;padding:3rem;color:var(--text-tertiary);text-align:center}.family-overlay,.enrollment-overlay{position:fixed;z-index:630;inset:0;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0b2a2296;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.family-dialog,.family-create-dialog,.enrollment-dialog,.import-dialog,.student-sync-dialog{position:relative;width:min(900px,100%);max-height:calc(100vh - 3rem);overflow:auto;border-radius:19px;background:#f7faf8;box-shadow:0 28px 80px #08251d4f}.family-dialog-close,.enrollment-dialog-close{position:absolute;z-index:3;top:.85rem;right:.9rem;display:flex;align-items:center;justify-content:center;width:31px;height:31px;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:50%;background:#fff;font-size:1.25rem;cursor:pointer}.family-dialog-header{display:flex;align-items:center;gap:.8rem;padding:1.4rem 3.7rem 1.2rem 1.4rem;border-bottom:1px solid var(--border-color);background:#fff}.family-dialog-mark{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;flex:0 0 auto;color:#fff;border-radius:15px;background:linear-gradient(145deg,var(--primary),var(--primary-dark));font-size:.75rem;font-weight:850}.family-dialog-header h2{margin-top:.15rem;font-size:1.3rem}.family-dialog-header p{color:var(--text-tertiary);font-size:.64rem}.family-dialog-body{padding:1rem}.family-dialog-section{padding:1rem;border:1px solid var(--border-color);border-radius:13px;background:#fff}.family-dialog-section+.family-dialog-section{margin-top:.75rem}.family-section-title,.enrollment-section-title{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.family-section-title>span,.enrollment-section-title>span{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;color:var(--primary-dark);border-radius:8px;background:var(--primary-bg);font-size:.59rem;font-weight:900}.family-section-title h3,.enrollment-section-title h3{font-size:.83rem}.family-guardian-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem}.family-guardian-card,.family-missing-guardian{padding:.8rem;border:1px solid var(--border-color);border-radius:9px}.family-guardian-card span{color:var(--primary-dark);font-size:.58rem;font-weight:850;text-transform:uppercase}.family-guardian-card b{display:block;margin:.2rem 0;font-size:.73rem}.family-guardian-card p{color:var(--text-secondary);font-size:.63rem}.family-guardian-card small{display:inline-flex;margin-top:.45rem;padding:.22rem .4rem;border-radius:999px;font-size:.56rem;font-weight:800}.family-guardian-card small.verified{color:var(--success);background:var(--success-bg)}.family-guardian-card small.pending,.family-missing-guardian{color:var(--warning);background:var(--warning-bg)}.family-missing-guardian b{font-size:.7rem}.family-missing-guardian p{margin-top:.2rem;font-size:.61rem}.family-linked-students{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}.family-linked-students article{display:grid;grid-template-columns:34px 1fr auto;gap:.6rem;align-items:center;padding:.65rem;border:1px solid var(--border-color);border-radius:9px}.family-linked-students article>span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:var(--primary-dark);border-radius:9px;background:var(--primary-bg);font-size:.57rem;font-weight:850}.family-linked-students b{font-size:.68rem}.family-linked-students p,.family-linked-students small{color:var(--text-tertiary);font-size:.57rem}.family-linked-students small{text-align:right}.family-access-rule{display:flex;align-items:center;gap:.6rem;margin-top:.75rem;padding:.75rem;color:var(--primary-dark);border-radius:10px;background:var(--primary-bg)}.family-access-rule p{font-size:.63rem}.family-dialog-footer,.enrollment-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem 1rem}.family-dialog-footer p,.enrollment-footer-note>p{max-width:590px;color:var(--text-tertiary);font-size:.61rem}.family-create-dialog{width:min(680px,100%);background:#fff}.family-create-dialog>header{padding:1.4rem 3.7rem 1rem 1.4rem;border-bottom:1px solid var(--border-color)}.family-create-dialog>header .families-phase{color:var(--primary-dark);border:0;background:var(--primary-bg)}.family-create-dialog>header h2{margin-top:.5rem;font-size:1.3rem}.family-create-dialog>header p{margin-top:.25rem;color:var(--text-secondary);font-size:.66rem}.family-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding:1rem 1.4rem}.family-form-grid label>span{display:block;margin-bottom:.28rem;color:var(--text-secondary);font-size:.65rem;font-weight:750}.family-form-grid input,.family-form-grid select{width:100%;height:40px;padding:0 .7rem;color:var(--text-primary);border:1px solid var(--border-color);border-radius:9px;outline:0;background:var(--bg-input);font:inherit;font-size:.73rem}.family-form-grid input:focus,.family-form-grid select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg)}.family-form-wide{grid-column:1/-1}.family-form-divider{margin-top:.2rem;border-top:1px solid var(--border-color)}.family-form-divider span{position:relative;top:-.62rem;padding-right:.6rem;color:var(--primary-dark);background:#fff;font-size:.61rem;font-weight:850;text-transform:uppercase}.family-create-dialog>footer{display:flex;justify-content:flex-end;gap:.6rem;padding:.85rem 1.4rem 1.1rem;border-top:1px solid var(--border-color)}.enrollments-hero{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;min-height:205px;padding:1.9rem 2.1rem;overflow:hidden;color:#fff;border-radius:22px;background:linear-gradient(120deg,#1c7a69,#2aa18d 62%,#4ab39f);box-shadow:0 17px 42px #1c7a692b}.enrollments-hero:before{content:"";position:absolute;top:-145px;right:120px;width:275px;height:275px;border:52px solid rgba(239,181,29,.92);border-radius:50%}.enrollments-hero>*{position:relative;z-index:1}.enrollments-hero>div:first-child{max-width:720px}.enrollments-hero h1{margin-top:.78rem;font-size:clamp(1.75rem,3vw,2.55rem);line-height:1.05;letter-spacing:-.05em}.enrollments-hero p{margin-top:.62rem;color:#ffffffcf;font-size:.86rem}.enrollment-hero-actions{display:flex;align-items:flex-end;flex-direction:column;gap:.65rem}.enrollment-hero-actions>span{display:inline-flex;align-items:center;gap:.4rem;padding:.34rem .55rem;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:#0e5d4f2e;font-size:.61rem;font-weight:750}.enrollment-hero-actions>span i{width:7px;height:7px;border-radius:50%;background:#85edda}.enrollment-hero-actions .btn{color:var(--primary-dark);background:#fff;white-space:nowrap}.enrollment-mode-tabs{display:flex;gap:.45rem;width:fit-content;margin-bottom:.8rem;padding:.3rem;border:1px solid var(--border-color);border-radius:13px;background:#fff;box-shadow:var(--shadow-sm)}.enrollment-mode-tabs button{display:flex;align-items:center;gap:.55rem;min-width:185px;padding:.55rem .7rem;color:var(--text-secondary);border:0;border-radius:10px;background:transparent;font:inherit;text-align:left;cursor:pointer}.enrollment-mode-tabs button>span{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;flex:0 0 auto;color:var(--primary-dark);border-radius:8px;background:var(--primary-bg);font-size:.61rem;font-weight:900}.enrollment-mode-tabs button b,.enrollment-mode-tabs button small{display:block}.enrollment-mode-tabs button b{font-size:.68rem}.enrollment-mode-tabs button small{margin-top:.08rem;color:var(--text-tertiary);font-size:.55rem}.enrollment-mode-tabs button.active{color:#fff;background:var(--primary-dark);box-shadow:0 5px 13px #19756533}.enrollment-mode-tabs button.active>span{color:var(--primary-dark);background:#fff}.enrollment-mode-tabs button.active small{color:#ffffffb8}.workflow-strip{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem;padding:.75rem .9rem;overflow-x:auto;border:1px solid var(--border-color);border-radius:12px;background:#fff}.workflow-strip>div{display:flex;align-items:center;gap:.35rem;flex:0 0 auto}.workflow-strip>div>span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--primary-dark);border-radius:7px;background:var(--primary-bg);font-size:.59rem;font-weight:900}.workflow-strip b{font-size:.64rem}.workflow-strip i{margin-left:.3rem;color:var(--text-tertiary);font-style:normal}.workflow-strip>p{margin-left:auto;color:var(--text-tertiary);font-size:.58rem;white-space:nowrap}.enrollments-toolbar{grid-template-columns:minmax(240px,1fr) 110px 160px 205px}.enrollments-table-wrap{max-width:100%;overflow-x:auto}.enrollments-table{width:100%;min-width:1080px;border-collapse:collapse}.enrollments-table th{padding:.72rem 1.3rem;color:var(--text-tertiary);border-bottom:1px solid var(--border-color);background:#fcfdfc;font-size:.61rem;font-weight:850;letter-spacing:.07em;text-align:left;text-transform:uppercase}.enrollments-table td{padding:.82rem 1.3rem;color:var(--text-secondary);border-bottom:1px solid #edf2ef;font-size:.71rem}.enrollments-table tbody tr:last-child td{border-bottom:0}.enrollments-table tbody tr:hover{background:#f8fcfa}.enrollments-table td b,.enrollments-table td small{display:block}.enrollments-table td b{color:var(--text-primary);font-size:.71rem}.enrollments-table td small{margin-top:.12rem;color:var(--text-tertiary);font-size:.59rem}.enrollments-table td small.enrollment-mineduc-code,.import-preview td small.enrollment-mineduc-code{color:var(--primary-dark);font-size:.55rem;font-weight:750}.enrollment-student{display:flex;align-items:center;gap:.6rem;min-width:205px}.enrollment-student>span{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;flex:0 0 auto;color:#fff;border-radius:10px;background:linear-gradient(145deg,var(--primary),var(--primary-dark));font-size:.59rem;font-weight:850}.enrollment-cycle-badge{display:inline-flex;min-width:48px;justify-content:center;padding:.28rem .45rem;color:var(--primary-dark);border:1px solid #cde2da;border-radius:8px;background:var(--primary-bg);font-size:.62rem;font-weight:850}.enrollment-status{display:inline-flex;max-width:145px;padding:.27rem .48rem;color:var(--text-secondary);border-radius:999px;background:var(--bg-tertiary);font-size:.59rem;font-weight:800;line-height:1.25;text-align:center}.enrollment-status.en-revision{color:var(--info);background:var(--info-bg)}.enrollment-status.correccion-requerida{color:var(--danger);background:var(--danger-bg)}.enrollment-status.aprobada{color:var(--warning);background:var(--warning-bg)}.enrollment-status.activa{color:var(--success);background:var(--success-bg)}.paperwork-pending-label{display:block;margin-top:.3rem;color:var(--warning)!important;font-size:.56rem!important;font-weight:800;white-space:nowrap}.enrollment-open{color:var(--primary-dark);border:0;background:none;font:inherit;font-size:.63rem;font-weight:850;cursor:pointer;white-space:nowrap}.enrollment-open span{display:inline-block;margin-left:.15rem;transition:transform var(--transition-fast)}.enrollment-open:hover span{transform:translate(3px)}.enrollments-empty{padding:3rem!important;color:var(--text-tertiary)!important;text-align:center}.enrollment-dialog{width:min(900px,100%)}.enrollment-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.4rem 3.7rem 1.15rem 1.4rem;border-bottom:1px solid var(--border-color);background:#fff}.enrollment-dialog>header h2{margin-top:.15rem;font-size:1.3rem}.enrollment-dialog>header p{color:var(--text-tertiary);font-size:.64rem}.enrollment-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding:1rem}.enrollment-review-grid>section{padding:1rem;border:1px solid var(--border-color);border-radius:12px;background:#fff}.enrollment-review-grid dl{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.enrollment-review-grid dl div{padding:.62rem;border-radius:8px;background:#f7faf8}.enrollment-review-grid dt{color:var(--text-tertiary);font-size:.57rem;font-weight:800;text-transform:uppercase}.enrollment-review-grid dd{margin-top:.16rem;color:var(--text-primary);font-size:.68rem;font-weight:700}.enrollment-review-grid dl div.mineduc-identifier{border:1px solid rgba(239,181,29,.28);background:#efb51d12}.enrollment-review-grid dl div.mineduc-identifier dt{color:var(--accent-dark)}.enrollment-checklist{display:grid;gap:.45rem}.enrollment-checklist>div{display:flex;align-items:center;gap:.5rem;padding:.53rem;border:1px solid var(--border-color);border-radius:8px}.enrollment-checklist>div>span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 auto;border-radius:7px;font-size:.6rem;font-weight:900}.enrollment-checklist .complete>span{color:var(--success);background:var(--success-bg)}.enrollment-checklist .pending>span{color:var(--warning);background:var(--warning-bg)}.enrollment-checklist b,.enrollment-checklist small{display:block}.enrollment-checklist b{font-size:.66rem}.enrollment-checklist small{color:var(--text-tertiary);font-size:.56rem}.enrollment-observations{grid-column:1/-1}.enrollment-observations>p{padding:.6rem;color:var(--warning);border-radius:8px;background:var(--warning-bg);font-size:.64rem}.enrollment-observations>p.clear{color:var(--success);background:var(--success-bg)}.enrollment-dialog>footer>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.enrollment-dialog>footer .enrollment-footer-note{display:block}.enrollment-footer-note .enrollment-blocked-message{margin-top:.35rem;color:var(--danger);font-weight:750}.enrollment-footer-note .enrollment-paperwork-message{margin-top:.35rem;color:#806019;font-weight:750}.enrollment-correction-field{display:grid;min-width:210px;gap:.2rem;text-align:left}.enrollment-correction-field span{color:var(--danger);font-size:.56rem;font-weight:800;text-transform:uppercase}.enrollment-correction-field input{width:100%;height:36px;padding:0 .65rem;border:1px solid rgba(208,67,61,.25);border-radius:8px;outline:0;background:#fff;font:inherit;font-size:.64rem}.enrollment-correction-field input:focus{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-bg)}.enrollment-dialog>footer .btn:disabled{cursor:not-allowed;opacity:.48}.warning-action{color:var(--danger);border-color:#df402c40;background:var(--danger-bg)}.student-sync-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:.8rem}.student-sync-overview article{display:flex;gap:.7rem;min-height:105px;padding:.9rem 1rem;border:1px solid var(--border-color);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}.student-sync-overview article>span{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 auto;color:var(--primary-dark);border-radius:10px;background:var(--primary-bg);font-size:.62rem;font-weight:900}.student-sync-overview small,.student-sync-overview strong,.student-sync-overview p{display:block}.student-sync-overview small{color:var(--text-tertiary);font-size:.55rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.student-sync-overview strong{margin-top:.15rem;font-size:.72rem}.student-sync-overview p{margin-top:.2rem;color:var(--text-secondary);font-size:.61rem;line-height:1.4}.student-sync-panel{overflow:hidden;border:1px solid var(--border-color);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.student-sync-panel>header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1.2rem 1.35rem 1rem}.student-sync-panel>header h2{margin-top:.15rem;font-size:1.2rem}.student-sync-panel>header p{max-width:780px;margin-top:.15rem;color:var(--text-tertiary);font-size:.67rem}.student-sync-count{display:inline-flex;padding:.34rem .55rem;color:var(--primary-dark);border-radius:999px;background:var(--primary-bg);font-size:.61rem;font-weight:850;white-space:nowrap}.student-sync-boundary{display:flex;align-items:flex-start;gap:.65rem;margin:0 1.35rem .9rem;padding:.75rem .8rem;color:#315b71;border:1px solid #cee1eb;border-radius:11px;background:#f1f8fb}.student-sync-boundary>span{flex:0 0 auto}.student-sync-boundary b{display:block;font-size:.66rem}.student-sync-boundary p{margin-top:.1rem;font-size:.59rem;line-height:1.45}.student-sync-list{border-top:1px solid var(--border-color)}.student-sync-list>article{display:grid;grid-template-columns:minmax(190px,.9fr) minmax(330px,1.4fr) minmax(190px,.72fr) auto;gap:.9rem;align-items:center;padding:.85rem 1.35rem;border-bottom:1px solid #edf2ef}.student-sync-list>article:last-child{border-bottom:0}.student-sync-list>article:hover{background:#f8fcfa}.student-sync-kind{display:inline-flex;padding:.24rem .44rem;border-radius:999px;font-size:.53rem;font-weight:850}.student-sync-kind-new{color:var(--primary-dark);background:var(--primary-bg)}.student-sync-kind-reenrollment{color:#5f4b9a;background:#f0ecff}.student-sync-kind-update{color:var(--info);background:var(--info-bg)}.student-sync-kind-conflict{color:var(--danger);background:var(--danger-bg)}.student-sync-kind-neutral{color:var(--text-secondary);background:var(--bg-tertiary)}.student-sync-main h3{margin-top:.28rem;font-size:.72rem}.student-sync-main p{margin-top:.12rem;color:var(--text-tertiary);font-size:.59rem}.student-sync-list dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.student-sync-list dl>div{min-width:0;padding:.5rem;border-radius:8px;background:#f7faf8}.student-sync-list dt{color:var(--text-tertiary);font-size:.5rem;font-weight:800;text-transform:uppercase}.student-sync-list dd{overflow:hidden;margin-top:.12rem;color:var(--text-primary);font-size:.58rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.student-sync-result{display:flex;align-items:flex-start;flex-direction:column;gap:.2rem}.student-sync-status{display:inline-flex;padding:.27rem .48rem;border-radius:999px;font-size:.57rem;font-weight:850;white-space:nowrap}.student-sync-status-pending{color:var(--info);background:var(--info-bg)}.student-sync-status-warning{color:var(--warning);background:var(--warning-bg)}.student-sync-status-success{color:var(--success);background:var(--success-bg)}.student-sync-status-danger{color:var(--danger);background:var(--danger-bg)}.student-sync-status-neutral{color:var(--text-secondary);background:var(--bg-tertiary)}.student-sync-result small{color:var(--text-tertiary);font-size:.53rem;line-height:1.3}.student-sync-result small.error{color:var(--danger)}.student-sync-dialog{width:min(820px,100%)}.student-sync-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.4rem 3.8rem 1.05rem 1.4rem;border-bottom:1px solid var(--border-color);background:#fff}.student-sync-dialog>header .enrollments-phase{color:var(--primary-dark);border:0;background:var(--primary-bg)}.student-sync-dialog>header h2{margin-top:.48rem;font-size:1.25rem}.student-sync-dialog>header p{margin-top:.14rem;color:var(--text-tertiary);font-size:.61rem}.student-sync-dialog-body{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding:1rem}.student-sync-dialog-body>section{padding:.9rem;border:1px solid var(--border-color);border-radius:12px;background:#fff}.student-sync-dialog-body dl{display:grid;gap:.45rem;margin-top:.65rem}.student-sync-dialog-body dl>div{padding:.55rem;border-radius:8px;background:#f7faf8}.student-sync-dialog-body dt{color:var(--text-tertiary);font-size:.52rem;font-weight:850;text-transform:uppercase}.student-sync-dialog-body dd{margin-top:.13rem;color:var(--text-primary);font-size:.63rem;font-weight:700;overflow-wrap:anywhere}.student-sync-dialog-body>aside,.student-sync-message{grid-column:1/-1}.student-sync-dialog-body>aside{display:flex;gap:.6rem;padding:.75rem;color:var(--primary-dark);border-radius:10px;background:var(--primary-bg)}.student-sync-dialog-body>aside>span{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;flex:0 0 auto;border-radius:7px;background:#fff;font-size:.64rem;font-weight:900}.student-sync-dialog-body>aside p{font-size:.61rem;line-height:1.5}.student-sync-message{padding:.75rem;color:var(--success);border-radius:10px;background:var(--success-bg)}.student-sync-message.error{color:var(--danger);background:var(--danger-bg)}.student-sync-message b{display:block;font-size:.65rem}.student-sync-message p{margin-top:.12rem;font-size:.59rem}.student-sync-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem 1rem;border-top:1px solid var(--border-color)}.student-sync-dialog>footer>p{max-width:480px;color:var(--text-tertiary);font-size:.58rem;line-height:1.45}.student-sync-dialog>footer>div{display:flex;gap:.45rem}.request-history-summary{display:block;margin-top:.25rem;color:var(--text-tertiary);font-size:.55rem;white-space:nowrap}.import-dialog{width:min(980px,100%);background:#fff}.import-dialog>header{padding:1.4rem 3.8rem 1rem 1.4rem;border-bottom:1px solid var(--border-color)}.import-dialog>header .enrollments-phase{color:var(--primary-dark);border:0;background:var(--primary-bg)}.import-dialog>header h2{margin-top:.5rem;font-size:1.35rem}.import-dialog>header p{margin-top:.25rem;color:var(--text-secondary);font-size:.68rem}.import-warning{display:flex;align-items:center;gap:.55rem;margin:.9rem 1.4rem 0;padding:.65rem;color:var(--warning);border-radius:9px;background:var(--warning-bg)}.import-warning>span{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;flex:0 0 auto;border-radius:7px;background:#bd7e001f;font-weight:900}.import-warning p{font-size:.62rem}.import-dropzone{position:relative;margin:1rem 1.4rem;padding:2.3rem 1rem;border:2px dashed #c7d9cf;border-radius:13px;background:#f8fbf9;text-align:center}.import-dropzone input{position:absolute;width:1px;height:1px;opacity:0}.import-dropzone>span{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;color:var(--primary-dark);border-radius:13px;background:var(--primary-bg);font-size:1.15rem;font-weight:900}.import-dropzone h3{margin-top:.6rem;font-size:.85rem}.import-dropzone p{margin:.2rem 0 .75rem;color:var(--text-tertiary);font-size:.62rem}.import-error{display:flex;gap:.7rem;margin:1rem 1.4rem;padding:1rem;color:var(--danger);border-radius:10px;background:var(--danger-bg)}.import-error>span{font-size:1.2rem;font-weight:900}.import-error b{font-size:.74rem}.import-error p{font-size:.64rem}.import-error button{margin-top:.45rem;color:var(--danger);border:0;background:none;font:inherit;font-size:.62rem;font-weight:850;cursor:pointer}.import-preview{margin:1rem 1.4rem;overflow:hidden;border:1px solid var(--border-color);border-radius:12px}.import-preview-summary{display:grid;grid-template-columns:minmax(220px,1fr) repeat(3,95px);gap:.6rem;align-items:center;padding:.75rem;border-bottom:1px solid var(--border-color);background:#f8fbf9}.import-preview-summary>div span,.import-preview-summary>div b{display:block}.import-preview-summary>div span{color:var(--text-tertiary);font-size:.57rem;font-weight:800;text-transform:uppercase}.import-preview-summary>div b{overflow:hidden;margin-top:.12rem;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.import-preview-summary article{padding:.45rem;border-radius:8px;background:#fff;text-align:center}.import-preview-summary article strong,.import-preview-summary article small{display:block}.import-preview-summary article strong{font-size:1rem}.import-preview-summary article small{color:var(--text-tertiary);font-size:.55rem}.import-preview-summary article.valid strong{color:var(--success)}.import-preview-summary article.invalid strong{color:var(--danger)}.import-preview-table-wrap{max-height:330px;overflow:auto}.import-preview table{width:100%;min-width:790px;border-collapse:collapse}.import-preview th{position:sticky;top:0;z-index:1;padding:.62rem .7rem;color:var(--text-tertiary);border-bottom:1px solid var(--border-color);background:#fff;font-size:.56rem;font-weight:850;text-align:left;text-transform:uppercase}.import-preview td{padding:.62rem .7rem;color:var(--text-secondary);border-bottom:1px solid #edf2ef;font-size:.63rem;vertical-align:top}.import-preview tr.invalid{background:#df402c06}.import-preview td b,.import-preview td small{display:block}.import-preview td b{color:var(--text-primary);font-size:.64rem}.import-preview td small{color:var(--text-tertiary);font-size:.55rem}.import-preview td ul{margin:0;padding-left:.9rem;color:var(--danger);font-size:.56rem}.row-valid{color:var(--success);font-weight:850}.import-limit{padding:.5rem;color:var(--text-tertiary);background:#f8fbf9;font-size:.57rem;text-align:center}.import-dialog>footer{display:flex;justify-content:flex-end;gap:.55rem;padding:.85rem 1.4rem 1.1rem;border-top:1px solid var(--border-color)}@media(max-width:1050px){.families-summary,.enrollment-stats{grid-template-columns:repeat(2,1fr)}.family-card-grid{grid-template-columns:1fr}.student-sync-list>article{grid-template-columns:minmax(190px,.75fr) minmax(300px,1.25fr) minmax(170px,.6fr)}.student-sync-list>article>button{grid-column:3;justify-self:start}}@media(max-width:768px){.families-hero,.enrollments-hero{align-items:flex-start;flex-direction:column;min-height:0;padding:1.45rem}.families-hero .btn,.enrollment-hero-actions,.enrollment-hero-actions .btn{width:100%}.enrollment-hero-actions{align-items:stretch}.families-toolbar,.enrollments-toolbar{grid-template-columns:1fr}.families-panel-header,.enrollments-panel-header{align-items:flex-start;flex-direction:column}.family-guardian-grid,.family-linked-students,.enrollment-review-grid{grid-template-columns:1fr}.enrollment-observations{grid-column:auto}.family-dialog-header{align-items:flex-start;flex-wrap:wrap}.family-dialog-header>.family-status{margin-left:64px}.family-dialog-footer,.enrollment-dialog>footer{align-items:stretch;flex-direction:column}.enrollment-dialog>footer>div{justify-content:stretch}.enrollment-dialog>footer .btn{flex:1}.import-preview-summary{grid-template-columns:repeat(3,1fr)}.import-preview-summary>div{grid-column:1/-1}.import-dialog>footer{flex-wrap:wrap}.student-sync-overview{grid-template-columns:1fr}.student-sync-list>article{grid-template-columns:1fr}.student-sync-list>article>button{grid-column:auto}.student-sync-list dl,.student-sync-dialog-body{grid-template-columns:1fr}.student-sync-dialog-body>aside,.student-sync-message{grid-column:auto}.student-sync-dialog>footer{align-items:stretch;flex-direction:column}.student-sync-dialog>footer>div{justify-content:flex-end}}@media(max-width:480px){.families-summary,.enrollment-stats{grid-template-columns:1fr}.family-card-grid{padding:.75rem}.family-card>header{align-items:flex-start;flex-wrap:wrap}.family-card .family-status{margin-left:47px}.family-student-list,.family-form-grid{grid-template-columns:1fr}.family-form-wide{grid-column:auto}.family-create-dialog>footer,.import-dialog>footer{flex-direction:column-reverse}.family-create-dialog>footer .btn,.import-dialog>footer .btn{width:100%}.enrollment-review-grid dl{grid-template-columns:1fr}.workflow-strip>p{display:none}.enrollment-mode-tabs{width:100%}.enrollment-mode-tabs button{min-width:0;flex:1}.student-sync-panel>header{align-items:flex-start;flex-direction:column}.student-sync-dialog>footer>div{flex-direction:column}.student-sync-dialog>footer .btn{width:100%}}.agenda-page{width:min(1500px,100%);margin:0 auto;padding-bottom:2rem}.agenda-hero{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;min-height:220px;padding:2rem 2.15rem;overflow:hidden;color:#fff;border-radius:22px;background:linear-gradient(120deg,#176f61,#249886 62%,#32aa96);box-shadow:0 18px 45px #1975652e}.agenda-hero:before{content:"";position:absolute;top:-155px;right:120px;width:290px;height:290px;border:50px solid rgba(239,181,29,.92);border-radius:50%}.agenda-hero:after{content:"";position:absolute;right:-70px;bottom:-115px;width:260px;height:260px;border-radius:50%;background:#ee4b33c7}.agenda-hero>*{position:relative;z-index:1}.agenda-hero>div:first-child{max-width:760px}.agenda-phase{display:inline-flex;padding:.34rem .62rem;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:#ffffff24;font-size:.62rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.agenda-hero h1{margin-top:.8rem;font-size:clamp(1.75rem,3vw,2.55rem);line-height:1.06;letter-spacing:-.045em}.agenda-hero p{max-width:690px;margin-top:.65rem;color:#ffffffd1;font-size:.85rem}.agenda-hero-actions{display:flex;align-items:flex-end;flex-direction:column;gap:.75rem}.agenda-hero-actions>span{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .55rem;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:#0f5e5140;font-size:.6rem;font-weight:750}.agenda-hero-actions>span i{width:7px;height:7px;border-radius:50%;background:#76e0ce}.agenda-hero-actions .btn{color:var(--primary-dark);background:#fff}.agenda-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1rem 0}.agenda-summary article{display:flex;align-items:center;gap:.75rem;min-height:102px;padding:.95rem 1rem;border:1px solid var(--border-color);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}.agenda-summary article>span{display:inline-flex;align-items:center;justify-content:center;width:43px;height:43px;flex:0 0 auto;color:var(--primary-dark);border-radius:11px;background:var(--primary-bg);font-size:.68rem;font-weight:900}.agenda-summary article.attention>span{color:var(--warning);background:var(--warning-bg)}.agenda-summary small,.agenda-summary strong,.agenda-summary p{display:block}.agenda-summary small{color:var(--text-tertiary);font-size:.6rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase}.agenda-summary strong{margin-top:.16rem;font-size:1.2rem;line-height:1}.agenda-summary p{margin-top:.2rem;color:var(--text-secondary);font-size:.61rem}.agenda-tabs{display:flex;gap:.3rem;width:fit-content;margin-bottom:.75rem;padding:.3rem;border:1px solid var(--border-color);border-radius:11px;background:#fff}.agenda-tabs button{padding:.55rem .8rem;color:var(--text-secondary);border:0;border-radius:8px;background:transparent;font:inherit;font-size:.67rem;font-weight:750;cursor:pointer}.agenda-tabs button.active{color:#fff;background:var(--primary-dark);box-shadow:0 5px 12px #1975652e}.agenda-calendar-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(285px,.45fr);gap:.8rem}.institutional-calendar,.day-agenda-panel,.communications-panel{overflow:hidden;border:1px solid var(--border-color);border-radius:17px;background:#fff;box-shadow:var(--shadow-sm)}.institutional-calendar>header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem .9rem;border-bottom:1px solid var(--border-color)}.institutional-calendar h2,.day-agenda-panel h2,.communications-panel h2{margin-top:.15rem;font-size:1.1rem}.calendar-header-tools{display:flex;align-items:center;gap:.9rem}.calendar-legend{display:flex;gap:.75rem;color:var(--text-tertiary);font-size:.58rem}.calendar-legend span{display:flex;align-items:center;gap:.3rem}.calendar-legend i{width:7px;height:7px;border-radius:50%}.calendar-legend i.event{background:var(--primary)}.calendar-legend i.notice{background:var(--accent)}.calendar-navigation{display:flex;overflow:hidden;border:1px solid var(--border-color);border-radius:9px;background:#fff}.calendar-navigation button{min-width:32px;height:32px;padding:0 .5rem;color:var(--text-secondary);border:0;border-left:1px solid var(--border-color);background:transparent;font:inherit;font-size:.8rem;font-weight:800;cursor:pointer}.calendar-navigation button:first-child{border-left:0}.calendar-navigation button:hover{color:var(--primary-dark);background:var(--primary-bg)}.calendar-navigation .today-button{font-size:.56rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekday-row{padding:0 .75rem;color:var(--text-tertiary);border-bottom:1px solid var(--border-color);background:#f8fbf9;font-size:.56rem;font-weight:850;text-align:center;text-transform:uppercase}.weekday-row span{padding:.55rem 0}.days-grid{padding:.75rem}.days-grid>button,.calendar-empty{position:relative;min-height:84px;padding:.5rem;border:0;border-right:1px solid #edf2ef;border-bottom:1px solid #edf2ef;background:#fff;text-align:left}.days-grid>button{color:var(--text-secondary);cursor:pointer}.days-grid>button:hover{background:#f8fcfa}.days-grid>button.selected{z-index:1;border-radius:9px;background:var(--primary-bg);box-shadow:inset 0 0 0 1px var(--primary)}.days-grid>button.today>span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:#fff;border-radius:50%;background:var(--primary-dark)}.days-grid>button>span{font-size:.65rem;font-weight:850}.days-grid>button>div{display:flex;gap:.25rem;margin-top:.6rem}.days-grid>button i{width:8px;height:8px;border-radius:50%}.days-grid>button i.evento{background:var(--primary)}.days-grid>button i.aviso{background:var(--accent)}.days-grid>button small{display:block;margin-top:.28rem;color:var(--text-tertiary);font-size:.5rem}.day-agenda-panel{display:flex;flex-direction:column}.day-agenda-panel>header{padding:1.15rem 1.15rem .85rem;border-bottom:1px solid var(--border-color)}.day-agenda-panel>header p{margin-top:.15rem;color:var(--text-tertiary);font-size:.6rem}.day-entry-list{display:grid;gap:.4rem;flex:1;padding:.75rem}.day-entry-list>button{display:grid;grid-template-columns:38px 1fr 12px;gap:.55rem;align-items:center;padding:.65rem;color:var(--text-primary);border:1px solid var(--border-color);border-radius:10px;background:#fff;text-align:left;cursor:pointer}.day-entry-list>button:hover{border-color:var(--primary-light);background:#f8fcfa}.agenda-type-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;font-size:.58rem;font-weight:900}.agenda-type-icon.evento{color:var(--primary-dark);background:var(--primary-bg)}.agenda-type-icon.aviso{color:#8a6206;background:var(--warning-bg)}.day-entry-list small,.day-entry-list b,.day-entry-list p{display:block}.day-entry-list small{color:var(--text-tertiary);font-size:.53rem}.day-entry-list b{margin-top:.1rem;font-size:.65rem}.day-entry-list p{margin-top:.1rem;color:var(--primary-dark);font-size:.54rem;font-weight:750}.day-entry-list>button>i{color:var(--text-tertiary);font-size:.6rem;font-style:normal}.day-empty{padding:2rem 1rem;color:var(--text-tertiary);text-align:center}.day-empty span{font-size:1.5rem}.day-empty p{margin-top:.4rem;font-size:.62rem}.day-add-button{margin:0 .75rem .8rem}.communications-panel>header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem .9rem}.communications-panel>header p{margin-top:.15rem;color:var(--text-tertiary);font-size:.62rem}.communications-panel>header>div:last-child{display:flex;gap:.45rem}.communications-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) repeat(3,minmax(140px,auto));gap:.6rem;padding:.75rem 1.25rem;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);background:#f8fbf9}.communications-toolbar label{display:flex;align-items:center;gap:.45rem;height:39px;padding:0 .7rem;color:var(--text-tertiary);border:1px solid var(--border-color);border-radius:9px;background:#fff}.communications-toolbar input{width:100%;color:var(--text-primary);outline:0;border:0;background:transparent;font:inherit;font-size:.68rem}.communications-toolbar select{height:39px;padding:0 .7rem;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:9px;background:#fff;font:inherit;font-size:.68rem}.communication-list{display:grid;gap:.55rem;padding:.9rem 1.15rem 1.15rem}.communication-list article{display:grid;grid-template-columns:55px 1fr auto;gap:.8rem;align-items:center;padding:.75rem;border:1px solid var(--border-color);border-radius:11px}.communication-date{display:flex;align-items:center;justify-content:center;flex-direction:column;width:55px;height:55px;color:#fff;border-radius:12px;background:var(--primary)}.communication-date.aviso{color:#6b4b04;background:var(--accent)}.communication-date strong{font-size:1.15rem;line-height:1}.communication-date span{margin-top:.15rem;font-size:.5rem;font-weight:850;letter-spacing:.08em}.communication-copy>div{display:flex;gap:.35rem}.communication-type,.agenda-status{display:inline-flex;padding:.23rem .42rem;border-radius:999px;font-size:.52rem;font-weight:850}.communication-type.evento{color:var(--primary-dark);background:var(--primary-bg)}.communication-type.aviso{color:#7f5906;background:var(--warning-bg)}.agenda-status.publicado{color:var(--success);background:var(--success-bg)}.agenda-status.programado{color:var(--info);background:var(--info-bg)}.agenda-status.borrador{color:var(--warning);background:var(--warning-bg)}.agenda-status.cancelado{color:var(--danger);background:var(--danger-bg)}.communication-copy h3{margin-top:.28rem;font-size:.75rem}.communication-copy p{margin-top:.15rem;color:var(--text-secondary);font-size:.62rem}.communication-copy small{display:block;margin-top:.28rem;color:var(--text-tertiary);font-size:.54rem}.communication-list article>button{color:var(--primary-dark);border:0;background:transparent;font:inherit;font-size:.6rem;font-weight:850;cursor:pointer}.communication-empty{padding:2.5rem 1rem;color:var(--text-tertiary);text-align:center}.communication-empty>span,.communication-empty>b,.communication-empty>p{display:block}.communication-empty>span{font-size:1.5rem}.communication-empty>b{margin-top:.5rem;color:var(--text-secondary);font-size:.7rem}.communication-empty>p{margin-top:.2rem;font-size:.6rem}.agenda-overlay{position:fixed;z-index:650;inset:0;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0b2a2294;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.agenda-detail-dialog,.agenda-create-dialog{position:relative;width:min(650px,100%);max-height:calc(100vh - 3rem);overflow:auto;border-radius:18px;background:#fff;box-shadow:0 28px 80px #08251d4d}.agenda-detail-dialog>header,.agenda-create-dialog>header{padding:1.35rem 3.8rem 1rem 1.4rem;border-bottom:1px solid var(--border-color)}.agenda-detail-dialog>header h2,.agenda-create-dialog>header h2{margin-top:.5rem;font-size:1.25rem}.agenda-detail-dialog>header p,.agenda-create-dialog>header p{margin-top:.2rem;color:var(--text-tertiary);font-size:.65rem}.agenda-create-dialog .agenda-phase{color:var(--primary-dark);border:0;background:var(--primary-bg)}.agenda-detail-body{padding:1rem 1.4rem}.agenda-detail-body>p{color:var(--text-secondary);font-size:.72rem;line-height:1.55}.agenda-detail-body dl{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:.9rem}.agenda-detail-body dl>div{padding:.7rem;border-radius:9px;background:#f8fbf9}.agenda-detail-body dt{color:var(--text-tertiary);font-size:.56rem;font-weight:800;text-transform:uppercase}.agenda-detail-body dd{margin-top:.2rem;color:var(--text-primary);font-size:.66rem;font-weight:700}.agenda-scope-note{display:flex;gap:.55rem;margin-top:.85rem;padding:.7rem;color:var(--info);border-radius:9px;background:var(--info-bg)}.agenda-scope-note span{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;flex:0 0 auto;border-radius:50%;background:#fff;font-size:.62rem;font-weight:900}.agenda-scope-note p{font-size:.59rem;line-height:1.45}.agenda-permission-note{display:flex;gap:.55rem;margin-top:.55rem;padding:.7rem;color:var(--primary-dark);border-radius:9px;background:var(--primary-bg)}.agenda-permission-note span{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;flex:0 0 auto;border-radius:50%;background:#fff;font-size:.62rem;font-weight:900}.agenda-permission-note p{font-size:.59rem;line-height:1.45}.agenda-history{margin-top:.9rem;padding-top:.85rem;border-top:1px solid var(--border-color)}.agenda-history h3{margin-bottom:.55rem;font-size:.65rem}.agenda-history>div{display:flex;gap:.55rem;align-items:flex-start;position:relative;padding:.18rem 0 .55rem}.agenda-history>div:after{content:"";position:absolute;top:12px;bottom:-4px;left:4px;width:1px;background:var(--border-color)}.agenda-history>div:last-child:after{display:none}.agenda-history>div>i{position:relative;z-index:1;width:9px;height:9px;flex:0 0 auto;margin-top:.2rem;border:2px solid #ffffff;border-radius:50%;background:var(--primary);box-shadow:0 0 0 1px var(--primary)}.agenda-history b,.agenda-history span{display:block}.agenda-history b{color:var(--text-primary);font-size:.6rem}.agenda-history span{margin-top:.08rem;color:var(--text-tertiary);font-size:.54rem}.agenda-detail-dialog>footer,.agenda-create-dialog>footer{display:flex;justify-content:flex-end;gap:.55rem;padding:.85rem 1.4rem 1.1rem;border-top:1px solid var(--border-color);background:#fbfdfc}.agenda-cancel-button{color:var(--danger);border:1px solid #f0c8c2;background:#fff}.agenda-cancel-button:hover{background:var(--danger-bg)}.agenda-delete-confirmation{margin-top:1rem;padding:1rem;border:1px solid #f0c8c2;border-radius:12px;background:var(--danger-bg)}.agenda-delete-confirmation p{margin-top:.5rem}.agenda-delete-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.agenda-edit-note{margin:1rem 1.4rem;color:var(--text-secondary);font-size:.85rem;line-height:1.5}.agenda-form-permission{margin:1rem 1.4rem 0;padding:.75rem;color:var(--primary-dark);border:1px solid #cfe5df;border-radius:10px;background:var(--primary-bg)}.agenda-form-permission b{display:block;font-size:.63rem}.agenda-form-permission p{margin-top:.15rem;font-size:.58rem;line-height:1.45}.agenda-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding:1rem 1.4rem}.agenda-form-grid label>span{display:block;margin-bottom:.28rem;color:var(--text-secondary);font-size:.62rem;font-weight:750}.agenda-form-grid input,.agenda-form-grid select,.agenda-form-grid textarea{width:100%;min-height:40px;padding:0 .7rem;color:var(--text-primary);border:1px solid var(--border-color);border-radius:9px;outline:0;background:#fff;font:inherit;font-size:.68rem}.agenda-form-grid textarea{min-height:85px;padding-top:.65rem;resize:vertical}.agenda-form-grid input:focus,.agenda-form-grid select:focus,.agenda-form-grid textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg)}.agenda-form-grid select:disabled{color:var(--text-tertiary);background:#f2f5f3;cursor:not-allowed}.agenda-form-wide{grid-column:1 / -1}.agenda-form-errors{margin:0 1.4rem 1rem;padding:.7rem;color:var(--danger);border-radius:9px;background:var(--danger-bg);font-size:.6rem}.agenda-form-errors ul{margin:.3rem 0 0;padding-left:1rem}.form-validation-summary{margin:0 1.4rem 1rem;padding:.75rem .85rem;color:var(--danger);border:1px solid #f0c8c2;border-radius:10px;background:var(--danger-bg);font-size:.68rem}.form-validation-summary b{display:block}.form-validation-summary ul{margin:.35rem 0 0;padding-left:1.1rem;line-height:1.5}.order-delegate-control{display:flex;align-items:center;gap:.4rem}.order-delegate-control .form-select{width:180px;min-height:34px;font-size:var(--font-size-xs)}@media(max-width:480px){.order-delegate-control{width:100%;align-items:stretch;flex-direction:column}.order-delegate-control .form-select,.order-delegate-control .btn{width:100%}}@media(max-width:950px){.communications-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-summary{grid-template-columns:repeat(2,1fr)}.agenda-calendar-layout,.assigned-course-grid{grid-template-columns:1fr}}@media(max-width:768px){.agenda-hero{align-items:flex-start;flex-direction:column;min-height:0;padding:1.45rem}.agenda-hero-actions{width:100%;align-items:stretch}.agenda-hero-actions>span{width:fit-content}.agenda-tabs{width:100%}.agenda-tabs button{flex:1}.communications-panel>header{align-items:flex-start;flex-direction:column}.calendar-header-tools{align-items:flex-end;flex-direction:column-reverse}.communications-toolbar{grid-template-columns:1fr}.communication-list article{grid-template-columns:48px 1fr}.communication-list article>button{grid-column:2;justify-self:start}}@media(max-width:480px){.agenda-summary{grid-template-columns:1fr}.institutional-calendar>header{align-items:flex-start;flex-direction:column}.calendar-header-tools{width:100%;align-items:flex-start}.days-grid>button,.calendar-empty{min-height:58px;padding:.3rem}.agenda-form-grid,.agenda-detail-body dl{grid-template-columns:1fr}.agenda-form-wide{grid-column:auto}.agenda-detail-dialog>footer,.agenda-create-dialog>footer{flex-direction:column-reverse}.agenda-detail-dialog>footer .btn,.agenda-create-dialog>footer .btn{width:100%}}.teacher-workspace-page>.boletas-hero{margin-bottom:1.25rem}.boletas-page .boletas-hero.boletas-hero-compact{min-height:0;padding:1.25rem 1.5rem;gap:1.5rem;grid-template-columns:minmax(0,1fr) auto;align-items:center}.boletas-hero-compact .boletas-brand,.boletas-hero-compact .boletas-hero-copy>p,.boletas-hero-compact .boletas-status-divider,.boletas-hero-compact .boletas-status-metric{display:none}.boletas-page .boletas-hero-compact .boletas-hero-copy h1{font-size:1.7rem;margin-bottom:0}.boletas-page .boletas-hero-compact .boletas-hero-status{padding:.8rem 1rem;min-width:200px;box-shadow:none}.boletas-hero-compact .boletas-hero-status>strong{margin-top:.4rem;font-size:1.2rem}.boletas-hero-compact .boletas-status-topline{font-size:.75rem;letter-spacing:.02em}@media(max-width:600px){.boletas-page .boletas-hero.boletas-hero-compact{grid-template-columns:1fr;gap:.85rem;padding:1rem}.boletas-page .boletas-hero-compact .boletas-hero-status{width:100%;max-width:none;display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center}.boletas-hero-compact .boletas-status-topline{display:none}.boletas-hero-compact .boletas-hero-status>strong,.boletas-hero-compact .boletas-hero-status>span{margin:0}}:root{--csa-teal-50: #eef9f6;--csa-teal-100: #d9f1eb;--csa-teal-200: #b7e3d9;--csa-teal-300: #82cfbf;--csa-teal-400: #4db8a5;--csa-teal-500: #279f8d;--csa-teal-600: #1f8978;--csa-teal-700: #176f63;--csa-teal-800: #15594f;--csa-teal-900: #12483f;--csa-gold-50: #fffaf0;--csa-gold-100: #fff1c2;--csa-gold-200: #f6d66f;--csa-gold-500: #efb51d;--csa-gold-600: #c88e08;--csa-gold-700: #6e4b00;--csa-red-500: #df402c;--csa-red-600: #bd3424;--csa-canvas: #f7faf8;--csa-surface: #ffffff;--csa-surface-subtle: #f2f7f4;--csa-surface-muted: #e8f0ec;--csa-border: #d9e5df;--csa-border-strong: #b9ccc3;--csa-ink: #18302b;--csa-ink-muted: #52655f;--csa-ink-soft: #71857e;--csa-success: #20795e;--csa-success-bg: #edf8f3;--csa-warning: #9d6900;--csa-warning-bg: #fff7e5;--csa-danger: #c93b29;--csa-danger-bg: #fff0ed;--csa-info: #19798b;--csa-info-bg: #ebf7f9;--csa-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--csa-text-xs: .75rem;--csa-text-sm: .875rem;--csa-text-base: 1rem;--csa-text-md: 1.125rem;--csa-text-lg: 1.25rem;--csa-text-xl: 1.5rem;--csa-text-2xl: 2rem;--csa-text-3xl: 2.5rem;--csa-title-page: 2rem;--csa-title-section: 1.25rem;--csa-title-card: 1rem;--csa-title-chrome: 1.125rem;--csa-weight-heading: 650;--csa-leading-heading: 1.2;--csa-tracking-heading: -.025em;--csa-brand-gradient: linear-gradient(120deg, var(--csa-teal-700), var(--csa-teal-500) 66%, var(--csa-teal-400));--csa-selection-bg: var(--csa-gold-100);--csa-selection-border: var(--csa-gold-200);--csa-selection-ink: var(--csa-gold-700);--csa-ease-out: cubic-bezier(.22, 1, .36, 1);--csa-ease-standard: cubic-bezier(.2, 0, 0, 1);--csa-duration-fast: .14s;--csa-duration-base: .22s;--csa-duration-panel: .28s;--transition-fast: var(--csa-duration-fast) var(--csa-ease-standard);--transition-base: var(--csa-duration-base) var(--csa-ease-out);--transition-slow: var(--csa-duration-panel) var(--csa-ease-out);--csa-space-1: .25rem;--csa-space-2: .5rem;--csa-space-3: .75rem;--csa-space-4: 1rem;--csa-space-5: 1.25rem;--csa-space-6: 1.5rem;--csa-space-8: 2rem;--csa-space-10: 2.5rem;--csa-space-12: 3rem;--csa-radius-sm: 8px;--csa-radius-md: 12px;--csa-radius-lg: 16px;--csa-radius-hero: 22px;--csa-radius-pill: 999px;--csa-shadow-sm: 0 2px 8px rgba(20, 72, 61, .06);--csa-shadow-md: 0 10px 30px rgba(20, 72, 61, .1);--csa-shadow-dialog: 0 24px 72px rgba(8, 37, 29, .26);--csa-focus-ring: 0 0 0 3px rgba(39, 159, 141, .2);--csa-control-height: 44px;--csa-page-width: 1500px;--primary: var(--csa-teal-500);--primary-light: var(--csa-teal-400);--primary-dark: var(--csa-teal-700);--primary-bg: rgba(39, 159, 141, .09);--primary-bg-hover: rgba(39, 159, 141, .15);--accent: var(--csa-gold-500);--accent-light: #f8ca4b;--accent-dark: var(--csa-gold-600);--success: var(--csa-success);--success-bg: var(--csa-success-bg);--warning: var(--csa-warning);--warning-bg: var(--csa-warning-bg);--danger: var(--csa-danger);--danger-bg: var(--csa-danger-bg);--info: var(--csa-info);--info-bg: var(--csa-info-bg);--bg-primary: var(--csa-canvas);--bg-secondary: var(--csa-surface);--bg-tertiary: var(--csa-surface-subtle);--bg-elevated: var(--csa-surface-muted);--bg-card: var(--csa-surface);--bg-card-hover: #f8fcfa;--bg-input: #f8fbf9;--border-color: var(--csa-border);--border-color-hover: var(--csa-border-strong);--text-primary: var(--csa-ink);--text-secondary: var(--csa-ink-muted);--text-tertiary: var(--csa-ink-soft);--font-family: var(--csa-font-sans);--font-size-xs: var(--csa-text-xs);--font-size-sm: var(--csa-text-sm);--font-size-base: var(--csa-text-base);--font-size-md: var(--csa-text-md);--font-size-lg: var(--csa-text-lg);--font-size-xl: var(--csa-text-xl);--font-size-2xl: var(--csa-text-2xl);--font-size-3xl: var(--csa-text-3xl);--radius-sm: var(--csa-radius-sm);--radius-md: var(--csa-radius-md);--radius-lg: var(--csa-radius-lg);--radius-xl: var(--csa-radius-hero);--radius-full: var(--csa-radius-pill);--shadow-sm: var(--csa-shadow-sm);--shadow-md: var(--csa-shadow-md);--shadow-lg: var(--csa-shadow-dialog);--shadow-glow: 0 4px 14px rgba(39, 159, 141, .18);--shadow-glow-accent: 0 4px 14px rgba(239, 181, 29, .18)}.csa-confirm-dialog{max-width:min(480px,calc(100vw - 2rem));margin:auto;padding:1.6rem;border:1px solid var(--csa-border);border-radius:18px;color:var(--csa-ink);background:var(--csa-surface);box-shadow:0 24px 80px #18302b30}.csa-confirm-dialog::backdrop{background:#18302b65;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.csa-confirm-dialog h2{font-size:1.35rem;margin:.65rem 0}.csa-confirm-dialog p{color:var(--csa-ink-muted);line-height:1.7;font-size:.9rem}.csa-confirm-dialog>div{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.3rem}html{font-size:100%;text-size-adjust:100%;-webkit-text-size-adjust:100%}body,button,input,select,textarea{font-family:var(--csa-font-sans)}body{color:var(--csa-ink);background:var(--csa-canvas);font-size:var(--csa-text-base)}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:not(:disabled),[role=button]:not([aria-disabled=true]){cursor:pointer}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid rgba(39,159,141,.34);outline-offset:2px;box-shadow:var(--csa-focus-ring)}:where(button,input,select,textarea):disabled{cursor:not-allowed}:where(input,select,textarea)::placeholder{color:var(--csa-ink-soft);opacity:.9}:where(input,select,textarea)[aria-invalid=true]{border-color:var(--csa-danger)!important;background:var(--csa-danger-bg)!important;box-shadow:0 0 0 3px #c93b291f!important}:where(.page-content>:not(.recibos-page),.family-portal-main) :where(button,input:not([type=checkbox]):not([type=radio]):not([type=file]),select){min-height:var(--csa-control-height)}:where(.page-content>:not(.recibos-page),.family-portal-main) :where(button,input,select,textarea){font-size:var(--csa-text-sm)}:where(.page-content>:not(.recibos-page),.family-portal-main) :where(small,th,[class*=eyebrow],[class*=kicker],[class*=-phase]){font-size:var(--csa-text-xs);line-height:1.4}.sidebar :where(a,button),.main-header :where(button){min-height:var(--csa-control-height)}.app-page,.ui-page{width:min(var(--csa-page-width),100%);margin-inline:auto;padding-bottom:var(--csa-space-10)}.app-stack,.ui-stack{display:grid;gap:var(--csa-space-4)}.app-card,.ui-card,.app-panel,.ui-panel,.card,.table-container{color:var(--csa-ink);border:1px solid var(--csa-border);border-radius:var(--csa-radius-lg);background:var(--csa-surface);box-shadow:var(--csa-shadow-sm)}.app-card,.ui-card{padding:var(--csa-space-5)}.app-panel,.ui-panel{overflow:hidden}.app-section-heading,.ui-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--csa-space-4);padding:var(--csa-space-5) var(--csa-space-6);border-bottom:1px solid var(--csa-border)}.app-section-heading h2,.ui-section-heading h2{color:var(--csa-ink);font-size:var(--csa-text-lg);line-height:1.25;letter-spacing:-.02em}.app-section-heading p,.ui-section-heading p{max-width:70ch;margin-top:var(--csa-space-1);color:var(--csa-ink-muted);font-size:var(--csa-text-sm);line-height:1.55}.app-eyebrow,.ui-eyebrow,.section-kicker{display:block;color:var(--csa-teal-700);font-size:var(--csa-text-xs);font-weight:800;letter-spacing:.075em;line-height:1.4;text-transform:uppercase}.btn,.app-button,.ui-button{min-height:var(--csa-control-height);padding:.65rem 1rem;border:1px solid transparent;border-radius:var(--csa-radius-md);font:inherit;font-size:var(--csa-text-sm);font-weight:700;line-height:1.2;text-decoration:none;transition:color .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.btn-primary,.app-button--primary,.ui-button--primary{color:#fff;background:var(--csa-teal-700);box-shadow:0 5px 14px #176f632e}.btn-primary:hover,.app-button--primary:hover,.ui-button--primary:hover{color:#fff;background:var(--csa-teal-600);box-shadow:0 7px 18px #176f6338;transform:translateY(-1px)}.btn:active,.app-button:active,.ui-button:active{transform:translateY(0)}.btn-secondary,.app-button--secondary,.ui-button--secondary{color:var(--csa-ink);border-color:var(--csa-border);background:var(--csa-surface)}.btn-secondary:hover,.app-button--secondary:hover,.ui-button--secondary:hover{color:var(--csa-teal-700);border-color:var(--csa-teal-300);background:var(--csa-teal-50)}.btn-danger,.app-button--danger,.ui-button--danger{color:#fff;background:var(--csa-danger)}.btn-ghost,.app-button--ghost,.ui-button--ghost{color:var(--csa-ink-muted);background:transparent}.btn-ghost:hover,.app-button--ghost:hover,.ui-button--ghost:hover{color:var(--csa-teal-700);background:var(--csa-teal-50)}.btn-icon,.app-icon-button,.ui-icon-button{width:var(--csa-control-height);min-width:var(--csa-control-height);height:var(--csa-control-height);padding:0;border-radius:var(--csa-radius-md)}.record-inline-status{display:inline-flex;align-items:center;gap:var(--csa-space-2);margin-inline-start:var(--csa-space-2);vertical-align:middle}p.record-inline-status{margin-inline-start:0}.app-field,.ui-field,.form-group{display:grid;gap:var(--csa-space-2)}.app-label,.ui-label,.form-label{color:var(--csa-ink-muted);font-size:var(--csa-text-sm);font-weight:700}.app-input,.app-select,.app-textarea,.ui-input,.ui-select,.ui-textarea,.form-input,.form-select,.form-textarea{width:100%;min-height:var(--csa-control-height);padding:.65rem .8rem;color:var(--csa-ink);border:1px solid var(--csa-border);border-radius:var(--csa-radius-md);outline:0;background:var(--csa-surface);font:inherit;font-size:var(--csa-text-sm)}.app-textarea,.ui-textarea,.form-textarea{min-height:112px;resize:vertical}:where(.app-input,.app-select,.app-textarea,.ui-input,.ui-select,.ui-textarea,.form-input,.form-select,.form-textarea):focus{border-color:var(--csa-teal-500);box-shadow:var(--csa-focus-ring)}:where(.app-input,.app-select,.app-textarea,.ui-input,.ui-select,.ui-textarea,.form-input,.form-select,.form-textarea):disabled{color:var(--csa-ink-soft);border-color:var(--csa-border);background:var(--csa-surface-subtle);opacity:1}.app-tabs,.ui-tabs{display:flex;gap:var(--csa-space-1);overflow-x:auto;padding:var(--csa-space-1);border:1px solid var(--csa-border);border-radius:var(--csa-radius-md);background:var(--csa-surface);box-shadow:var(--csa-shadow-sm)}.app-tabs>button,.ui-tabs>button{flex:0 0 auto;min-height:var(--csa-control-height);padding:.6rem .85rem;color:var(--csa-ink-muted);border:0;border-radius:var(--csa-radius-sm);background:transparent;font:inherit;font-size:var(--csa-text-sm);font-weight:700;cursor:pointer}.app-tabs>button:hover,.ui-tabs>button:hover{color:var(--csa-teal-700);background:var(--csa-teal-50)}.app-tabs>button.active,.ui-tabs>button.active,.app-tabs>button[aria-selected=true],.ui-tabs>button[aria-selected=true]{color:#fff;background:var(--csa-teal-700);box-shadow:0 5px 12px #176f632e}.app-badge,.ui-badge{display:inline-flex;align-items:center;min-height:26px;padding:.25rem .55rem;border-radius:var(--csa-radius-pill);font-size:var(--csa-text-xs);font-weight:750;line-height:1.2}.app-badge--success,.ui-badge--success{color:var(--csa-success);background:var(--csa-success-bg)}.app-badge--warning,.ui-badge--warning{color:var(--csa-warning);background:var(--csa-warning-bg)}.app-badge--danger,.ui-badge--danger{color:var(--csa-danger);background:var(--csa-danger-bg)}.app-badge--info,.ui-badge--info{color:var(--csa-info);background:var(--csa-info-bg)}.app-table-wrap,.ui-table-wrap{overflow-x:auto;scrollbar-gutter:stable;border:1px solid var(--csa-border);border-radius:var(--csa-radius-lg);background:var(--csa-surface)}.app-table,.ui-table{width:100%;border-collapse:collapse;color:var(--csa-ink)}.app-table th,.ui-table th{padding:.8rem 1rem;color:var(--csa-ink-muted);border-bottom:1px solid var(--csa-border);background:var(--csa-surface-subtle);font-size:var(--csa-text-xs);font-weight:800;letter-spacing:.045em;text-align:left;text-transform:uppercase;white-space:nowrap}:where(.table-container,.students-table-wrap,.enrollments-table-wrap,.courses-table-wrap,.boletas-table-wrap,.weekly-attendance-table-wrap,.academic-entry-table-wrap,.consolidation-table-wrap,.family-portal-charge-table-wrap,.import-preview-table-wrap){scrollbar-gutter:stable}:where(.table-container,.students-table-wrap,.enrollments-table-wrap,.courses-table-wrap,.boletas-table-wrap,.weekly-attendance-table-wrap,.academic-entry-table-wrap,.consolidation-table-wrap,.family-portal-charge-table-wrap,.import-preview-table-wrap):focus-within{border-color:var(--csa-teal-300);box-shadow:var(--csa-focus-ring)}:where(.table-container,.students-table-wrap,.enrollments-table-wrap,.courses-table-wrap,.boletas-table-wrap,.weekly-attendance-table-wrap,.academic-entry-table-wrap,.consolidation-table-wrap,.family-portal-charge-table-wrap,.import-preview-table-wrap) thead th{position:sticky;z-index:2;top:0}.app-table td,.ui-table td{padding:.8rem 1rem;border-bottom:1px solid var(--csa-border);font-size:var(--csa-text-sm);vertical-align:middle}.app-table tbody tr:hover,.ui-table tbody tr:hover{background:#f8fcfa}.app-dialog-overlay,.ui-dialog-overlay{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:var(--csa-space-6);background:#0b2a2294;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.app-dialog,.ui-dialog,.modal{width:min(680px,100%);max-height:calc(100vh - 3rem);overflow:auto;color:var(--csa-ink);border:1px solid var(--csa-border);border-radius:var(--csa-radius-hero);background:var(--csa-surface);box-shadow:var(--csa-shadow-dialog)}.app-dialog__header,.ui-dialog__header{padding:var(--csa-space-6);border-bottom:1px solid var(--csa-border)}.app-dialog__body,.ui-dialog__body{padding:var(--csa-space-6)}.app-dialog__footer,.ui-dialog__footer{display:flex;justify-content:flex-end;gap:var(--csa-space-3);padding:var(--csa-space-4) var(--csa-space-6);border-top:1px solid var(--csa-border);background:#fbfdfc}.app-empty-state,.ui-empty-state{display:grid;justify-items:center;gap:var(--csa-space-2);min-height:240px;padding:var(--csa-space-10) var(--csa-space-6);color:var(--csa-ink-muted);text-align:center}.app-notice,.ui-notice{display:flex;align-items:flex-start;gap:var(--csa-space-3);padding:var(--csa-space-4);color:var(--csa-info);border:1px solid rgba(25,121,139,.18);border-radius:var(--csa-radius-md);background:var(--csa-info-bg);font-size:var(--csa-text-sm);line-height:1.5}:where(.students-toolbar,.families-toolbar,.enrollments-toolbar,.courses-toolbar,.course-directory-toolbar,.academic-workspace-filters,.weekly-attendance-filters,.communications-toolbar,.family-access-toolbar,.phase9-filters,.consolidation-exception-filters){gap:var(--csa-space-3);border-color:var(--csa-border);background:linear-gradient(180deg,#fbfdfc,var(--csa-surface-subtle))}:where(.students-toolbar,.families-toolbar,.enrollments-toolbar,.courses-toolbar,.course-directory-toolbar,.academic-workspace-filters,.weekly-attendance-filters,.communications-toolbar,.family-access-toolbar,.phase9-filters,.consolidation-exception-filters) :where(input,select){background-color:var(--csa-surface)}.app-page-hero.app-page-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:clamp(1.5rem,3vw,2.5rem);align-items:center;min-height:230px;padding:clamp(1.6rem,3vw,2.25rem);overflow:hidden;color:#fff;border-radius:var(--csa-radius-hero);background:linear-gradient(120deg,var(--csa-teal-700) 0%,var(--csa-teal-500) 66%,var(--csa-teal-400) 100%);box-shadow:0 18px 45px #176f632e}.app-page-hero.app-page-hero:before,.app-page-hero.app-page-hero:after{position:absolute;z-index:-1;content:"";pointer-events:none}.app-page-hero.app-page-hero:before{top:-155px;right:11%;width:285px;height:285px;border:48px solid rgba(239,181,29,.94);border-radius:50%}.app-page-hero.app-page-hero:after{right:-85px;bottom:-145px;width:280px;height:280px;border-radius:50%;background:#df402cdb}.app-page-hero>*{position:relative;z-index:1;min-width:0}.app-page-intro{margin-bottom:var(--csa-space-6)}.app-page-intro-copy{max-width:780px}.app-page-eyebrow,.app-page-hero>:first-child>[class*=phase],.app-page-hero>:first-child>[class*=eyebrow],.app-page-hero>:first-child>[class*=kicker]{display:inline-flex;align-items:center;gap:var(--csa-space-2);min-height:30px;padding:.35rem .7rem;color:#fffffff0;border:1px solid rgba(255,255,255,.25);border-radius:var(--csa-radius-pill);background:#ffffff1f;font-size:var(--csa-text-xs);font-weight:800;letter-spacing:.065em;text-transform:uppercase}.app-page-intro-copy>h1,.app-page-hero>:first-child>h1,.app-page-hero>:first-child>h2{max-width:780px;margin-top:var(--csa-space-3);color:#fff;font-size:clamp(1.85rem,3.2vw,2.75rem);line-height:1.08;letter-spacing:-.042em}.app-page-intro-copy>p,.app-page-hero>:first-child>p{max-width:720px;margin-top:var(--csa-space-3);color:#ffffffdb;font-size:var(--csa-text-base);line-height:1.6}.app-page-intro-aside,.app-page-hero>:is(aside,[class*=hero-actions],[class*=hero-status],[class*=hero-control],[class*=hero-boundary],[class*=access-pilot]){padding:var(--csa-space-5);color:var(--csa-ink);border:1px solid rgba(255,255,255,.46);border-radius:var(--csa-radius-lg);background:#fffffff2;box-shadow:0 14px 32px #07393129;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-page-intro-meta{display:grid;gap:var(--csa-space-1)}.app-page-intro-meta small{color:var(--csa-teal-700);font-weight:800;letter-spacing:.055em;text-transform:uppercase}.app-page-intro-meta strong{color:var(--csa-ink);font-size:var(--csa-text-lg)}.app-page-intro-meta span{color:var(--csa-ink-muted);font-size:var(--csa-text-sm);line-height:1.45}.app-page-intro-actions{display:flex;flex-wrap:wrap;gap:var(--csa-space-2);margin-top:var(--csa-space-4)}.app-page-intro-actions .btn-primary,.app-page-hero>:is([class*=hero-actions],button.btn-primary) .btn-primary,.app-page-hero>button.btn-primary{color:#fff;background:var(--csa-teal-700)}.app-page-hero-watermark{position:absolute;right:24%;bottom:-18px;z-index:0;color:#ffffff1c;pointer-events:none}.app-page-hero__eyebrow{display:inline-flex;align-items:center;min-height:28px;padding:.3rem .6rem;color:#ffffffeb;border:1px solid rgba(255,255,255,.24);border-radius:var(--csa-radius-pill);background:#ffffff1f;font-size:var(--csa-text-xs);font-weight:800;letter-spacing:.065em;text-transform:uppercase}.app-page-hero h1{max-width:760px;margin-top:var(--csa-space-3);color:#fff;font-size:clamp(1.85rem,3.2vw,2.75rem);line-height:1.05;letter-spacing:-.045em}.app-page-hero__content>p{max-width:720px;margin-top:var(--csa-space-3);color:#ffffffd6;font-size:var(--csa-text-base);line-height:1.6}.app-page-hero__aside{padding:var(--csa-space-5);color:var(--csa-ink);border:1px solid rgba(255,255,255,.42);border-radius:var(--csa-radius-lg);background:#fffffff0;box-shadow:0 14px 32px #07393129;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-page-hero__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--csa-space-2)}.app-page-hero__actions .btn,.app-page-hero__actions .app-button,.app-page-hero__actions .ui-button{color:var(--csa-teal-700);border-color:#ffffffb3;background:#fff}.stat-card{width:100%;color:inherit;border:1px solid var(--csa-border);background:var(--csa-surface);text-align:left}.dashboard-two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--csa-space-6)}.dashboard-side-column{display:flex;flex-direction:column;gap:var(--csa-space-6)}.inline-heading-icon,.inline-success,.record-line{display:inline-flex;align-items:center;gap:var(--csa-space-2)}.record-type-icon{display:inline-grid;flex:0 0 auto;width:40px;height:40px;place-items:center;color:var(--csa-teal-700);border-radius:var(--csa-radius-md);background:var(--csa-teal-50)}.app-page-hero .finance-hero-boundary{grid-template-columns:auto minmax(0,1fr)}.app-page-hero .finance-hero-boundary a{width:100%;min-width:0;max-width:100%;white-space:normal;text-align:center}.dashboard-overview{display:grid;gap:var(--csa-space-5);width:min(var(--csa-page-width),100%);margin-inline:auto;padding-bottom:var(--csa-space-10)}.dashboard-welcome{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--csa-space-6);min-height:164px;overflow:hidden;padding:var(--csa-space-8);color:#fff;border-radius:var(--csa-radius-hero);background:radial-gradient(circle at 88% -35%,rgba(239,181,29,.92) 0 26%,transparent 27%),linear-gradient(125deg,var(--csa-teal-800),var(--csa-teal-500));box-shadow:var(--csa-shadow-md)}.dashboard-welcome:after{content:"";position:absolute;right:-84px;bottom:-116px;width:250px;height:250px;border:42px solid rgba(255,255,255,.1);border-radius:50%}.dashboard-welcome-copy,.dashboard-profile-summary{position:relative;z-index:1}.dashboard-kicker,.dashboard-panel-kicker{display:block;color:inherit;font-size:var(--csa-text-xs);font-weight:800;letter-spacing:.1em;text-transform:uppercase}.dashboard-welcome h1{margin:var(--csa-space-2) 0 var(--csa-space-2);color:#fff;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.08;letter-spacing:-.04em}.dashboard-welcome p{max-width:650px;color:#ffffffd1;font-size:var(--csa-text-sm)}.dashboard-profile-summary{display:flex;align-items:center;gap:var(--csa-space-3);min-width:218px;padding:var(--csa-space-4);border:1px solid rgba(255,255,255,.2);border-radius:var(--csa-radius-lg);background:#ffffff1c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dashboard-profile-summary>span{display:grid;width:42px;height:42px;place-items:center;color:var(--csa-teal-800);border-radius:var(--csa-radius-md);background:var(--csa-gold-200)}.dashboard-profile-summary small,.dashboard-profile-summary strong{display:block}.dashboard-profile-summary small{color:#ffffffb8}.dashboard-profile-summary strong{margin-top:2px;color:#fff;font-size:var(--csa-text-sm)}.dashboard-alert-strip{display:flex;flex-wrap:wrap;gap:var(--csa-space-3)}.dashboard-alert{display:flex;align-items:center;gap:var(--csa-space-2);min-height:42px!important;padding:.6rem .85rem;color:var(--csa-ink);border:1px solid var(--csa-border);border-radius:var(--csa-radius-pill);background:var(--csa-surface);box-shadow:var(--csa-shadow-sm)}.dashboard-alert span{margin-right:var(--csa-space-2)}.dashboard-alert-danger{color:var(--csa-danger);border-color:#f0c1b9;background:var(--csa-danger-bg)}.dashboard-alert-gold{color:var(--csa-gold-700);border-color:var(--csa-gold-200);background:var(--csa-gold-50)}.dashboard-layout-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--csa-space-5);align-items:start}.dashboard-primary-column,.dashboard-agenda-column{display:grid;gap:var(--csa-space-5);min-width:0}.dashboard-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--csa-space-4)}.dashboard-metric-card{position:relative;display:grid;grid-template-columns:42px 1fr auto;grid-template-rows:auto auto;align-items:center;gap:0 var(--csa-space-3);min-height:126px!important;overflow:hidden;padding:var(--csa-space-4);text-align:left;color:var(--csa-ink);border:0;border-radius:var(--csa-radius-lg);box-shadow:var(--csa-shadow-sm);transition:transform .16s ease,box-shadow .16s ease}.dashboard-metric-card:hover{transform:translateY(-3px);box-shadow:var(--csa-shadow-md)}.dashboard-metric-gold{background:linear-gradient(145deg,#f8cd5e,var(--csa-gold-500))}.dashboard-metric-red{background:linear-gradient(145deg,#fff2ee,#ffd9d1)}.dashboard-metric-teal{background:linear-gradient(145deg,var(--csa-teal-50),var(--csa-teal-100))}.dashboard-metric-green{background:linear-gradient(145deg,#edf8f3,#d5eee3)}.dashboard-metric-icon{display:grid;grid-row:1 / 3;width:42px;height:42px;place-items:center;color:var(--csa-teal-800);border-radius:var(--csa-radius-md);background:#ffffff9e}.dashboard-metric-value{align-self:end;font-size:1.75rem;line-height:1;letter-spacing:-.04em}.dashboard-metric-label{align-self:start;margin-top:.2rem;color:var(--csa-ink-muted);font-size:var(--csa-text-xs);font-weight:700}.dashboard-metric-arrow{display:grid;grid-row:1 / 3;grid-column:3;width:30px;height:30px;place-items:center;border:1px solid rgba(24,48,43,.18);border-radius:50%}.dashboard-information-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:var(--csa-space-5)}.dashboard-panel{min-width:0;padding:var(--csa-space-5);border:1px solid var(--csa-border);border-radius:var(--csa-radius-lg);background:var(--csa-surface);box-shadow:var(--csa-shadow-sm)}.dashboard-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--csa-space-4);margin-bottom:var(--csa-space-5)}.dashboard-panel-kicker{margin-bottom:.25rem;color:var(--csa-teal-600)}.dashboard-panel h2{margin:0;color:var(--csa-ink);font-size:var(--csa-text-md);line-height:1.25}.dashboard-link-button{min-height:36px!important;padding:.4rem .6rem;color:var(--csa-teal-700);border:0;border-radius:var(--csa-radius-sm);background:transparent;font-weight:750}.dashboard-link-button:hover{background:var(--csa-teal-50)}.dashboard-progress-summary{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--csa-space-5);min-width:0}.dashboard-donut{display:grid;flex:0 0 140px;width:140px;height:140px;place-items:center;border-radius:50%;background:conic-gradient(var(--csa-teal-500) var(--dashboard-progress),var(--csa-gold-200) 0)}.dashboard-donut.is-empty{background:var(--csa-border)}.dashboard-donut>div{display:grid;width:102px;height:102px;place-content:center;text-align:center;border-radius:50%;background:var(--csa-surface);box-shadow:inset 0 0 0 1px var(--csa-border)}.dashboard-donut strong{color:var(--csa-ink);font-size:var(--csa-text-xl)}.dashboard-donut span{color:var(--csa-ink-soft);font-size:var(--csa-text-xs)}.dashboard-progress-bars{display:grid;flex:1 1 170px;min-width:0;max-width:100%;gap:var(--csa-space-3)}.dashboard-progress-row{display:flex;align-items:center;justify-content:space-between;gap:var(--csa-space-3);color:var(--csa-ink-muted);font-size:var(--csa-text-sm)}.dashboard-progress-row span{display:flex;align-items:center;gap:var(--csa-space-2);min-width:0;overflow-wrap:anywhere}.dashboard-progress-row strong{color:var(--csa-ink)}.progress-dot{display:inline-block;flex:0 0 9px;width:9px;height:9px;border-radius:50%}.dashboard-progress-caption{color:var(--csa-ink-muted);font-size:var(--csa-text-xs);line-height:1.5}.progress-dot-teal{background:var(--csa-teal-500)}.progress-dot-gold{background:var(--csa-gold-500)}.dashboard-progress-track{height:7px;overflow:hidden;border-radius:var(--csa-radius-pill);background:var(--csa-surface-muted)}.dashboard-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--csa-teal-500)}.dashboard-progress-track-gold span{background:var(--csa-gold-500)}.dashboard-shortcuts{display:grid;gap:var(--csa-space-2)}.dashboard-shortcuts>button{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:var(--csa-space-3);width:100%;min-height:48px;padding:.35rem .5rem;text-align:left;color:var(--csa-ink);border:0;border-radius:var(--csa-radius-md);background:transparent}.dashboard-shortcuts>button:hover{background:var(--csa-surface-subtle)}.dashboard-shortcut-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:var(--csa-radius-md)}.shortcut-teal{color:var(--csa-teal-700);background:var(--csa-teal-100)}.shortcut-gold{color:var(--csa-gold-700);background:var(--csa-gold-100)}.shortcut-red{color:var(--csa-red-600);background:var(--csa-danger-bg)}.shortcut-green{color:var(--csa-success);background:var(--csa-success-bg)}.dashboard-order-list{display:grid}.dashboard-order-list>button{display:grid;grid-template-columns:5px minmax(0,1fr) auto 20px;align-items:center;gap:var(--csa-space-3);width:100%;min-height:66px;padding:var(--csa-space-3) 0;text-align:left;color:var(--csa-ink);border:0;border-bottom:1px solid var(--csa-border);background:transparent}.dashboard-order-list>button:last-child{border-bottom:0}.dashboard-order-list>button:hover .dashboard-order-copy strong{color:var(--csa-teal-700)}.dashboard-priority{width:4px;height:32px;border-radius:var(--csa-radius-pill);background:var(--csa-border-strong)}.priority-alta,.priority-urgente{background:var(--csa-red-500)}.priority-media{background:var(--csa-gold-500)}.priority-baja{background:var(--csa-teal-400)}.dashboard-order-copy{min-width:0}.dashboard-order-copy strong,.dashboard-order-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-order-copy strong{font-size:var(--csa-text-sm)}.dashboard-order-copy small{margin-top:.25rem;color:var(--csa-ink-soft)}.dashboard-empty-copy{padding:var(--csa-space-6);text-align:center;color:var(--csa-ink-soft)}.dashboard-agenda-column{position:sticky;top:var(--csa-space-5)}.dashboard-calendar-open{display:grid;width:40px;height:40px;place-items:center;color:var(--csa-teal-700);border:0;border-radius:var(--csa-radius-md);background:var(--csa-teal-50)}.dashboard-calendar-weekdays,.dashboard-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem}.dashboard-calendar-weekdays{margin-bottom:var(--csa-space-2);color:var(--csa-ink-soft);font-size:var(--csa-text-xs);font-weight:800;text-align:center}.dashboard-calendar-days span{display:grid;aspect-ratio:1;place-items:center;color:var(--csa-ink-muted);border-radius:50%;font-size:var(--csa-text-xs);font-weight:650}.dashboard-calendar-days .is-outside{color:#c3cfca}.dashboard-calendar-days .is-today{color:var(--csa-ink);background:var(--csa-gold-200);box-shadow:inset 0 0 0 1px var(--csa-gold-500)}.dashboard-calendar-days .has-events{position:relative;font-weight:800}.dashboard-calendar-days .has-events:after{content:"";position:absolute;bottom:2px;width:5px;height:5px;border-radius:50%;background:var(--csa-teal-700)}.dashboard-calendar-caption{display:flex;align-items:center;gap:8px;margin:14px 0 0;color:var(--csa-ink-muted);font-size:var(--csa-text-xs)}.dashboard-calendar-caption i{flex:0 0 5px;height:5px;border-radius:50%;background:var(--csa-teal-700)}.agenda-level-selection{display:flex;flex-wrap:wrap;gap:12px;min-width:0;padding:16px;border:1px solid var(--csa-border);border-radius:var(--csa-radius-md)}.agenda-level-selection legend{padding:0 6px;color:var(--csa-ink-muted);font-size:var(--csa-text-sm);font-weight:700}.agenda-form-grid .agenda-level-selection label{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border-radius:var(--csa-radius-sm);background:var(--csa-teal-50)}.agenda-form-grid .agenda-level-selection input{width:18px;height:18px;min-height:18px;padding:0;accent-color:var(--csa-teal-700)}.agenda-form-grid .agenda-level-selection label>span{margin:0;font-size:var(--csa-text-sm)}.agenda-level-selection>small{flex-basis:100%;color:var(--csa-ink-muted);font-size:var(--csa-text-xs)}.agenda-audience-preview{display:flex;gap:12px;margin:0 1.4rem 1rem;padding:16px;border:1px solid var(--csa-gold-200);border-radius:var(--csa-radius-md);background:var(--csa-gold-50)}.agenda-audience-preview>svg{flex-shrink:0;color:var(--csa-teal-700)}.agenda-audience-preview strong{font-size:var(--csa-text-sm)}.agenda-audience-preview p{margin:6px 0 0;color:var(--csa-ink-muted);line-height:1.5;font-size:var(--csa-text-sm)}.dashboard-upcoming-list{display:grid;gap:var(--csa-space-3)}.dashboard-upcoming-list>button{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:var(--csa-space-3);width:100%;min-height:64px;padding:var(--csa-space-2);text-align:left;color:var(--csa-ink);border:0;border-radius:var(--csa-radius-md);background:var(--csa-surface-subtle)}.dashboard-upcoming-list>button:hover{background:var(--csa-teal-50)}.dashboard-upcoming-date{display:grid;width:50px;height:50px;place-content:center;text-align:center;border-radius:var(--csa-radius-md)}.dashboard-upcoming-date strong,.dashboard-upcoming-date small{display:block;line-height:1}.dashboard-upcoming-date strong{font-size:var(--csa-text-md)}.dashboard-upcoming-date small{margin-top:.25rem;text-transform:uppercase}.upcoming-gold{color:var(--csa-gold-700);background:var(--csa-gold-100)}.upcoming-teal{color:var(--csa-teal-700);background:var(--csa-teal-100)}.dashboard-upcoming-copy{min-width:0}.dashboard-upcoming-copy strong,.dashboard-upcoming-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-upcoming-copy strong{font-size:var(--csa-text-sm)}.dashboard-upcoming-copy small{margin-top:.25rem;color:var(--csa-ink-soft)}.dashboard-empty-agenda{display:flex;align-items:center;gap:var(--csa-space-3);padding:var(--csa-space-4);color:var(--csa-ink-soft);border-radius:var(--csa-radius-md);background:var(--csa-surface-subtle);font-size:var(--csa-text-sm)}.dashboard-day-summary{display:flex;align-items:center;gap:var(--csa-space-3);padding:var(--csa-space-4);color:var(--csa-teal-800);border:1px solid var(--csa-teal-200);border-radius:var(--csa-radius-lg);background:var(--csa-teal-50)}.dashboard-day-summary>span{display:grid;width:42px;height:42px;place-items:center;color:#fff;border-radius:var(--csa-radius-md);background:var(--csa-teal-600)}.dashboard-day-summary small,.dashboard-day-summary strong{display:block}.dashboard-day-summary small{color:var(--csa-ink-soft)}.dashboard-day-summary strong{margin-top:.2rem;font-size:var(--csa-text-sm)}.sidebar-nav{scrollbar-width:thin;scrollbar-color:var(--csa-border-strong) transparent}.sidebar-nav-group+.sidebar-nav-group{margin-top:var(--csa-space-1)}.nav-item-icon{border-radius:8px;transition:background .16s ease,color .16s ease}.nav-item:hover .nav-item-icon{color:var(--csa-teal-700)}.nav-item.active .nav-item-icon{height:28px;color:var(--csa-teal-800);background:#ffffff85}@media(max-width:1240px){.dashboard-layout-grid{grid-template-columns:minmax(0,1fr) 300px}.dashboard-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.dashboard-layout-grid{grid-template-columns:1fr}.dashboard-agenda-column{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-day-summary{grid-column:1 / -1}}@media(max-width:1024px){.app-page-hero.app-page-hero{grid-template-columns:1fr}.app-page-hero__aside{width:min(520px,100%)}}@media(max-width:768px){.dashboard-two-column{grid-template-columns:1fr}.dashboard-welcome{align-items:flex-start;flex-direction:column;padding:var(--csa-space-6)}.dashboard-profile-summary{width:min(100%,320px)}.dashboard-information-grid,.dashboard-agenda-column{grid-template-columns:1fr}.dashboard-day-summary{grid-column:auto}.app-page,.ui-page{padding-bottom:var(--csa-space-8)}.app-page-hero.app-page-hero{min-height:210px;padding:var(--csa-space-6);border-radius:var(--csa-radius-lg)}.app-page-hero h1{font-size:clamp(1.65rem,7vw,2.15rem)}.app-section-heading,.ui-section-heading{align-items:stretch;flex-direction:column;padding:var(--csa-space-5)}.app-dialog__footer,.ui-dialog__footer{flex-direction:column-reverse}.app-dialog__footer>*,.ui-dialog__footer>*{width:100%}}@media(max-width:480px){.dashboard-metric-grid{grid-template-columns:1fr}.dashboard-metric-card{min-height:104px!important}.dashboard-progress-summary{grid-template-columns:1fr;justify-items:center}.dashboard-progress-bars{width:100%}.dashboard-order-list>button{grid-template-columns:5px minmax(0,1fr) 18px}.dashboard-order-list .badge{display:none}.dashboard-alert-strip{display:grid}.dashboard-alert{width:100%}.app-page-hero.app-page-hero{padding:var(--csa-space-5)}.app-page-hero.app-page-hero:before{right:-80px}.app-page-hero__actions{align-items:stretch;flex-direction:column}.app-page-hero__actions>*{width:100%}.app-card,.ui-card{padding:var(--csa-space-4)}.app-dialog-overlay,.ui-dialog-overlay{align-items:end;padding:0}.app-dialog,.ui-dialog{width:100%;max-height:92vh;border-radius:var(--csa-radius-hero) var(--csa-radius-hero) 0 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media screen{#root :where(h1,h2,h3,h4,button,input,select,textarea,table){font-family:var(--csa-font-sans)}#root :is(h1,h2,h3):not(:where(.recibos-page *,.boleta-preview *,.boleta-paper *)){font-weight:var(--csa-weight-heading);line-height:var(--csa-leading-heading);letter-spacing:var(--csa-tracking-heading);text-wrap:balance;overflow-wrap:break-word}#root h1:not(:where(.recibos-page *,.boleta-preview *,.boleta-paper *)){font-size:var(--csa-title-page)}#root h2:not(:where(.recibos-page *,.boleta-preview *,.boleta-paper *)){font-size:var(--csa-title-section)}#root h3:not(:where(.recibos-page *,.boleta-preview *,.boleta-paper *)){font-size:var(--csa-title-card);line-height:1.4}#root :is(.main-header,.family-portal-header) h2{font-size:var(--csa-title-chrome)}#root .sidebar-logo-text h1,#root .family-portal-sidebar-brand strong{font-size:var(--csa-title-chrome);line-height:1.3}#root .family-portal-workspace-title strong{font-size:var(--csa-title-chrome)}#root .family-portal-sidebar-group h2{font-size:var(--csa-text-xs);line-height:1.4;letter-spacing:.075em}#root .app-page-hero>:first-child>h2{font-size:var(--csa-title-page)}#root :is(.app-page-hero,.dashboard-welcome):not(.recibos-hero){background:var(--csa-brand-gradient);border-radius:var(--csa-radius-hero)}#root :is(.app-page-hero,.dashboard-welcome) h1{color:var(--csa-surface)}#root :is(.app-page-hero,.dashboard-welcome)>:first-child>p{font-size:var(--csa-text-sm);line-height:1.65}#root :is(.nav-item.active,.family-portal-sidebar-link-active,.academic-workspace-tabs button.active,.grade-sheet-units button.active,.unit-option.active,.family-student-chips button[aria-pressed=true]){color:var(--csa-selection-ink);background:var(--csa-selection-bg);border-color:var(--csa-selection-border);box-shadow:inset 0 0 0 1px var(--csa-selection-border)}#root :is(.grade-sheet-units,.academic-workspace-tabs){border-radius:var(--csa-radius-lg);background:var(--csa-surface-subtle)}#root .csa-selection-surface{position:relative;isolation:isolate}#root .csa-selection-indicator{position:absolute;pointer-events:none;z-index:-1;top:0;left:0;visibility:hidden;border-radius:var(--csa-radius-md);background:var(--csa-selection-bg);box-shadow:inset 0 0 0 1px var(--csa-selection-border)}#root .csa-selection-indicator[data-ready=true]{visibility:visible}#root .csa-selection-indicator[data-animate=true]{transition:transform var(--transition-slow),width var(--transition-slow),height var(--transition-slow)}#root .csa-selection-surface:has(>.csa-selection-indicator[data-ready=true]) :is(.nav-item.active,.family-portal-sidebar-link-active,button[aria-current=page]){background:transparent;box-shadow:none;border-color:transparent}#root :is(.family-portal-panel,.academic-work-panel,.dashboard-panel,.secretaria-panel,.consolidation-card,.grade-sheet-config){border-color:var(--csa-border);border-radius:var(--csa-radius-lg);background-color:var(--csa-surface);box-shadow:var(--csa-shadow-sm)}#root .grade-sheet-table .grade-sheet-result{color:var(--csa-selection-ink);background:var(--csa-gold-50)}#root .grade-sheet-status{color:var(--csa-selection-ink);background:var(--csa-selection-bg)}#root .grade-sheet-status.complete{color:var(--csa-success);background:var(--csa-success-bg)}#root :is(.grade-sheet-table,.dashboard-metric-value,.family-portal-metric-grid strong){font-variant-numeric:tabular-nums}#root :is(button,.btn,.nav-item,.family-portal-sidebar-link):not(:where(.recibos-page *)){transition-property:background-color,border-color,color,box-shadow,transform;transition-duration:var(--csa-duration-fast);transition-timing-function:var(--csa-ease-standard)}#root :is(input,select,textarea):not(:where(.recibos-page *)){transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast)}#root :is(input[type=checkbox],input[type=radio]){accent-color:var(--csa-teal-700)}#root :is(input,select,textarea):focus-visible{outline:2px solid var(--csa-teal-500);outline-offset:2px;box-shadow:var(--csa-focus-ring)}#root ::selection{color:var(--csa-ink);background:var(--csa-gold-200)}#root :is(.btn,.app-button,.ui-button,.btn-icon,.nav-item,.family-portal-sidebar-link,.academic-workspace-tabs button,.grade-sheet-units button,.family-student-chips button):not(:disabled):not([aria-disabled=true]):active{transform:scale(.985)}#root .animate-in:not(.recibos-page){animation:csa-page-enter var(--transition-base)}#root .animate-in .animate-in{animation:none}#root .family-portal-panel{animation:csa-page-enter var(--transition-base)}#root :is(.academic-work-panel,.grade-sheet-config){animation:csa-page-enter var(--transition-base)}#root :is(.modal-overlay,.app-dialog-overlay,.ui-dialog-overlay,.student-profile-overlay,.family-overlay,.family-access-overlay,.enrollment-overlay,.agenda-overlay,.family-portal-dialog-overlay),body>.family-portal-dialog-overlay{background:#12302b66;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:csa-backdrop-enter var(--transition-fast)}#root :is(.modal,.app-dialog,.ui-dialog),#root :is(.student-profile-overlay,.family-overlay,.family-access-overlay,.enrollment-overlay,.agenda-overlay,.family-portal-dialog-overlay)>:is([class*=dialog],[class*=modal]),body>.family-portal-dialog-overlay>.family-portal-report-dialog,.csa-confirm-dialog[open]{animation:csa-dialog-enter var(--csa-duration-panel) var(--csa-ease-out)}.csa-confirm-dialog::backdrop{animation:csa-backdrop-enter var(--transition-fast)}#root .notification-popover{transform-origin:top right;animation:csa-popover-enter var(--transition-base)}#root .nav-item-icon,#root .family-portal-sidebar-link>span{transition:background-color var(--transition-fast),color var(--transition-fast)}@media(hover:hover)and (pointer:fine){#root :is(.dashboard-metric-card,.secretaria-shortcut,.family-portal-metric-grid>button):is(a,button):hover{transform:translateY(-2px);box-shadow:var(--csa-shadow-md)}}@media(max-width:768px){:root{--csa-title-page: 1.625rem;--csa-title-section: 1.125rem}#root .sidebar{transition:transform var(--transition-slow),visibility 0s linear var(--csa-duration-panel)}#root .sidebar.open{transition-delay:0s}#root .sidebar-overlay{animation:csa-backdrop-enter var(--transition-base)}#root :is(.page-content,.family-portal-main) :is(input,select,textarea):not([type=checkbox]):not([type=radio]){font-size:var(--csa-text-base)}}@media(max-width:900px){#root .family-portal-sidebar{transition:transform var(--transition-slow),visibility 0s linear var(--csa-duration-panel)}#root .family-portal-sidebar-open{transition-delay:0s}#root .family-portal-navigation-scrim{transition:opacity var(--transition-base),visibility 0s linear var(--csa-duration-base)}#root .family-portal-navigation-scrim-visible{transition-delay:0s}}}@keyframes csa-page-enter{0%{opacity:.92}to{opacity:1}}@keyframes csa-backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes csa-dialog-enter{0%{opacity:.6;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@keyframes csa-popover-enter{0%{opacity:.7;transform:translateY(-4px) scale(.985)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-delay:0ms!important;transition-delay:0ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}#root :is(.btn,.app-button,.ui-button,.btn-icon,.nav-item,.family-portal-sidebar-link,.academic-workspace-tabs button,.grade-sheet-units button,.family-student-chips button,.dashboard-metric-card,.secretaria-shortcut,.family-portal-metric-grid>button):is(:hover,:active){transform:none}}@media screen{#root .course-assignment-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1rem;margin:1rem 0}#root .course-assignment-form label{display:grid;gap:.4rem;min-width:0}#root .course-assignment-form :is(input,select){min-width:0;max-width:100%;min-height:44px}#root .weekly-student-search{flex-wrap:wrap}#root .weekly-student-search label:has(input[type=checkbox]){display:flex;align-items:center;gap:.4rem;flex:0 1 auto}#root .weekly-student-search input[type=checkbox]{width:18px;height:18px;flex:0 0 18px}#root .grade-release-settings{padding:1rem}#root .grade-release-settings summary{cursor:pointer;font-weight:700;padding:.5rem 0}#root .grade-release-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1rem;margin:1rem 0}#root .grade-release-grid form{display:grid;gap:.6rem;min-width:0;padding:1rem;border:1px solid var(--csa-border);border-radius:12px}#root .grade-release-grid label{display:grid;gap:.3rem}#root .grade-release-grid input{min-width:0;width:100%;min-height:44px}#root :is(.teacher-metric-grid,.analytics-metrics,.boletas-summary-grid,.family-portal-metric-grid,.secretaria-counts,.finance-metric-grid){grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));align-items:stretch}#root :is(.teacher-metric-grid,.analytics-metrics,.boletas-summary-grid,.family-portal-metric-grid,.secretaria-counts,.finance-metric-grid)>*{min-width:0;max-width:100%;height:auto;overflow-wrap:anywhere}#root .teacher-metric-grid article{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:.85rem;padding:1rem;background:var(--csa-surface)}#root .teacher-metric-grid article>div{min-width:0}#root .teacher-metric-grid small{font-size:var(--csa-text-xs);line-height:1.45;white-space:normal}#root .teacher-metric-grid strong{font-size:1.75rem;line-height:1.2}#root .teacher-metric-grid p{font-size:var(--csa-text-sm);line-height:1.5;white-space:normal}#root .family-portal-metric-grid>button{grid-template-columns:46px minmax(0,1fr)}#root .dashboard-metric-card{grid-template-columns:42px minmax(0,1fr) 30px}#root :is(.dashboard-metric-label,.dashboard-metric-value){min-width:0;overflow-wrap:anywhere}#root :is(.teacher-dashboard-grid,.teacher-dashboard,.academic-dashboard-card,.academic-work-panel,.boletas-panel,.grade-sheet-panel,.dashboard-panel,.family-portal-panel,.secretaria-panel){min-width:0;max-width:100%}#root .teacher-dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,23rem),1fr))}#root .teacher-schedule-list>div{grid-template-columns:42px 8px minmax(0,1fr)}#root .teacher-quick-actions button{grid-template-columns:34px minmax(0,1fr)}#root :is(.teacher-schedule-list,.teacher-quick-actions) :is(b,small){overflow-wrap:anywhere}#root :is(.academic-dashboard-card>header,.academic-work-panel-heading,.boletas-panel-heading,.boleta-lifecycle-actions){flex-wrap:wrap}#root :is(.boletas-filter-group,.boletas-search){min-width:0;max-width:100%}#root .boletas-filter-group>:is(select,input,label){min-width:0;max-width:100%}#root :is(.boletas-table-wrap,.grade-sheet-table-wrap){min-width:0;max-width:100%;overflow-x:auto}}@media screen{.course-weekdays{min-width:0;border:1px solid var(--border-color, #d8e5e1);border-radius:12px;padding:12px}.course-assignment-form .course-weekdays label{display:flex;align-items:center;gap:8px;margin:6px 0}.course-assignment-form .course-weekdays input{width:18px;height:18px;min-height:18px;flex:0 0 18px}}@media screen{#root .weekly-attendance-panel{--weekly-student-column: 230px;--weekly-day-width: 148px;container:attendance / inline-size}#root .weekly-attendance-panel .academic-work-panel-heading p{font-size:var(--csa-text-sm)}#root .attendance-view-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1rem;padding:.75rem 1.4rem}#root .attendance-view-toolbar p,#root .attendance-marking-help p{margin:0;color:var(--csa-ink-muted);font-size:var(--csa-text-sm);line-height:1.5}#root .attendance-view-switch{display:inline-flex;padding:4px;gap:4px;flex-shrink:0;border:1px solid var(--csa-border-strong);border-radius:12px;background:var(--csa-surface-subtle)}#root .attendance-view-switch button{min-height:44px;padding:.55rem 1rem;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--csa-ink-muted);font:inherit;font-size:var(--csa-text-sm);font-weight:750;cursor:pointer}#root .attendance-view-switch button[aria-pressed=true]{color:var(--csa-gold-700);background:var(--csa-gold-100);border-color:var(--csa-gold-200)}#root .weekly-day-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible}#root .weekly-day-tabs button{min-width:0;min-height:62px;border-color:var(--csa-border);background:var(--csa-surface);color:var(--csa-ink-muted)}#root .weekly-day-tabs button.active{background:var(--csa-gold-50);border:1px solid var(--csa-gold-200);color:var(--csa-gold-700);box-shadow:inset 0 -3px var(--csa-gold-200)}#root .weekly-day-tabs button.disabled-day{color:var(--csa-ink-muted);background:var(--csa-surface-subtle);border-color:var(--csa-border);opacity:.8}#root .weekly-day-tabs :is(span,b,small){white-space:normal;overflow-wrap:anywhere}#root .weekly-day-tabs :is(span,b){font-size:var(--csa-text-xs)}#root .weekly-day-tabs .attendance-day-short{display:none}#root .attendance-marking-help{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;padding:.6rem 1.4rem;background:var(--csa-surface)}#root .attendance-marking-help p{font-size:var(--csa-text-xs)}#root .attendance-status-legend{display:flex;flex-wrap:wrap;gap:.5rem .8rem}#root .attendance-status-legend>span{display:inline-flex;gap:.35rem;align-items:center;font-size:var(--csa-text-xs);font-weight:550}#root .attendance-status-legend b{display:grid;place-items:center;width:22px;height:22px;border-radius:6px}#root .attendance-status-legend .presente b{background:var(--csa-teal-100);color:var(--csa-teal-800)}#root .attendance-status-legend .ausente b{background:var(--csa-danger-bg);color:var(--csa-danger)}#root .attendance-status-legend .tardanza b{background:var(--csa-gold-100);color:var(--csa-gold-700)}#root .weekly-bulk-toolbar{grid-template-columns:minmax(0,1fr) auto;background:var(--csa-teal-50)}#root .weekly-bulk-note{grid-column:1 / -1;min-width:0}#root .weekly-status-button{min-height:44px}#root .weekly-student-search label:has(input[type=checkbox]){width:auto;font-size:var(--csa-text-sm)}#root .weekly-student-search input[type=checkbox]{padding:0}#root .attendance-scroll-hint{margin:0;padding:.4rem 1.4rem;color:var(--csa-ink-soft);background:var(--csa-surface);font-size:var(--csa-text-xs)}#root .weekly-attendance-table-wrap{width:100%;min-width:0;max-width:100%;max-height:620px;overflow:auto;isolation:isolate;scrollbar-gutter:auto}#root .weekly-attendance-table{width:100%;min-width:calc(var(--weekly-student-column) + 5 * var(--weekly-day-width));table-layout:fixed;border-collapse:separate;border-spacing:0}#root .weekly-attendance-table .attendance-student-col{width:var(--weekly-student-column)}#root .weekly-attendance-table .attendance-date-col{width:auto}#root .weekly-attendance-table :is(th,td){padding:.45rem .5rem;vertical-align:middle;border-color:var(--csa-border)}#root .weekly-attendance-table td{height:66px}#root .weekly-attendance-table td.weekly-day-column{padding-inline:4px}#root .weekly-attendance-table .weekly-student-column{width:auto;min-width:0;box-shadow:1px 0 0 var(--csa-border-strong)}#root .weekly-attendance-table .weekly-day-column{display:table-cell;width:auto}#root .weekly-attendance-table th,#root .weekly-attendance-table thead .weekly-student-column{color:var(--csa-teal-800);background:var(--csa-teal-50);font-size:var(--csa-text-xs);white-space:normal;font-weight:650;letter-spacing:.02em}#root .weekly-attendance-table th{z-index:3}#root .weekly-attendance-table thead .weekly-student-column{z-index:4}#root .weekly-attendance-table th small{color:inherit;font-size:var(--csa-text-xs);margin-top:.2rem;font-weight:500}#root .weekly-attendance-table th.weekly-day-column.active{color:var(--csa-gold-700);background:var(--csa-gold-50);box-shadow:inset 0 -3px var(--csa-gold-200)}#root .weekly-attendance-table td.weekly-day-column.active{background:var(--csa-surface)}#root .weekly-attendance-table th.weekly-day-column.unavailable{color:var(--csa-ink-muted);background:var(--csa-surface-subtle)}#root .weekly-attendance-table td.weekly-day-column.unavailable{background:var(--csa-surface-subtle)}#root .weekly-attendance-table th i{color:inherit}#root .weekly-attendance-table tr.selected .weekly-student-column{background:var(--csa-teal-50)}#root .weekly-student-identity{gap:.5rem}#root .weekly-student-identity b{white-space:normal;overflow-wrap:anywhere;line-height:1.35;font-size:var(--csa-text-sm);font-weight:600}#root .weekly-student-identity small{font-size:var(--csa-text-xs)}#root .weekly-student-identity .student-avatar{flex:0 0 32px;width:32px;height:32px;font-size:var(--csa-text-xs)}#root .attendance-week-view .weekly-student-identity .student-avatar{display:none}#root .weekly-student-identity>input,#root .weekly-select-all input{height:17px;width:17px}#root .attendance-touch-options{display:grid;grid-template-columns:repeat(3,minmax(44px,1fr));gap:0;width:max-content;max-width:100%;margin:0 auto;padding:2px;border:1px solid var(--csa-border);border-radius:11px;background:var(--csa-surface-subtle)}#root .attendance-touch-option{display:inline-flex;gap:.35rem;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:.35rem;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--csa-ink-muted);font:inherit;font-size:var(--csa-text-sm);font-weight:600;cursor:pointer;touch-action:manipulation;transition:background-color .14s ease,color .14s ease,box-shadow .14s ease}#root .attendance-touch-option b{font-size:var(--csa-text-sm)}#root .attendance-touch-option span{display:none}#root .attendance-touch-option[aria-pressed=true]{font-weight:750;box-shadow:0 1px 3px #18302b12}#root .attendance-touch-option.presente[aria-pressed=true]{color:var(--csa-teal-800);background:var(--csa-teal-100);border-color:var(--csa-teal-200)}#root .attendance-touch-option.ausente[aria-pressed=true]{color:var(--csa-red-600);background:var(--csa-danger-bg);border-color:var(--csa-red-500)}#root .attendance-touch-option.tardanza[aria-pressed=true]{color:var(--csa-gold-700);background:var(--csa-gold-100);border-color:var(--csa-gold-200)}#root .attendance-touch-option:not([aria-pressed=true]):hover:not(:disabled){background:var(--csa-surface-muted)}#root .attendance-touch-option:disabled{cursor:default;opacity:1}#root :is(.attendance-cell-note,.attendance-permission-note){display:block;margin-top:.4rem;font-size:var(--csa-text-xs);line-height:1.4;overflow-wrap:anywhere;white-space:normal}#root .attendance-permission-note{padding:.35rem;border-radius:6px;background:var(--csa-info-bg);color:var(--csa-info)}#root .attendance-day-view .weekly-attendance-table{min-width:0}#root .attendance-day-view .attendance-student-col{width:42%}#root .attendance-day-view .attendance-date-col{width:58%}#root .attendance-day-view .weekly-student-column{position:static}#root .attendance-day-view thead .weekly-student-column{position:sticky}#root .attendance-save-copy{flex:1 1 230px}#root .attendance-save-copy strong{display:flex;align-items:center;gap:.4rem;margin-bottom:.25rem;font-size:var(--csa-text-sm);font-weight:650}#root .attendance-save-copy p{margin:0;font-size:var(--csa-text-xs);line-height:1.5}#root .weekly-attendance-panel .academic-work-footer{flex-wrap:wrap;background:var(--csa-surface)}#root .weekly-attendance-panel .academic-footer-actions{flex-wrap:wrap;flex-direction:row}#root .weekly-attendance-panel .academic-footer-actions .btn{width:auto;min-height:44px;padding:.6rem .9rem;font-size:var(--csa-text-sm);box-shadow:none}#root .weekly-attendance-panel .academic-footer-actions .attendance-discard-btn{border-color:transparent;background:transparent;color:var(--csa-ink-muted);font-size:var(--csa-text-xs)}#root .weekly-attendance-panel :is(button,input,.weekly-attendance-table-wrap):focus-visible{outline:3px solid var(--csa-teal-500);outline-offset:3px}@container attendance (min-width: 720px){#root .attendance-day-view .attendance-touch-option span{display:inline}#root .attendance-day-view .attendance-touch-option b{display:none}#root .attendance-day-view .attendance-touch-options{width:310px}}@container attendance (max-width: 620px){#root :is(.attendance-view-toolbar,.attendance-marking-help){padding:.75rem}#root .weekly-day-tabs{gap:.3rem;padding:.25rem .75rem .75rem}#root .weekly-day-tabs button{padding:.4rem .15rem;min-height:58px;text-align:center}#root .weekly-day-tabs small{display:none}#root .weekly-day-tabs span,#root .weekly-day-tabs b{font-size:12px}#root .weekly-day-tabs .attendance-day-full{display:none}#root .weekly-day-tabs .attendance-day-short{display:block}#root .weekly-bulk-toolbar{grid-template-columns:minmax(0,1fr)}#root .weekly-status-actions{display:flex;flex-wrap:wrap}#root .weekly-status-button{width:auto;flex:1}#root .weekly-student-identity .student-avatar{display:none}#root .weekly-student-identity{gap:.4rem}#root .weekly-student-identity :is(b,small){font-size:12px}#root .attendance-week-view .attendance-student-col{width:150px}#root .attendance-week-view .weekly-attendance-table{min-width:890px}#root .weekly-attendance-table :is(th,td){padding:.5rem .3rem}#root .attendance-day-view .attendance-student-col{width:calc(100% - 150px)}#root .attendance-day-view .attendance-date-col{width:150px}#root .attendance-save-copy{flex-basis:auto}#root .weekly-attendance-panel .academic-footer-actions{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}#root .weekly-attendance-panel .academic-footer-actions .btn{padding:.55rem;font-size:13px}#root .weekly-attendance-panel .academic-footer-actions .attendance-discard-btn{grid-column:1 / -1;justify-self:start;padding-left:0}#root .weekly-attendance-panel .academic-footer-actions .btn:only-child{grid-column:1 / -1}}}.attendance-submit-dialog{width:480px;max-height:calc(100dvh - 2rem);overflow-y:auto}.attendance-submit-dialog form>header{display:flex;justify-content:space-between;align-items:center}.attendance-submit-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--csa-gold-100);color:var(--csa-gold-700)}.attendance-dialog-close{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:10px;background:transparent;color:var(--csa-ink-muted);cursor:pointer}.attendance-dialog-close:hover{background:var(--csa-surface-muted)}.attendance-submit-dialog .attendance-submit-context{font-size:var(--csa-text-sm);line-height:1.5}.attendance-submit-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:1rem 0 .5rem}.attendance-submit-summary>div{padding:.8rem .4rem;text-align:center;border:1px solid var(--csa-border);border-radius:10px;background:var(--csa-surface-subtle)}.attendance-submit-summary b{display:block;font-size:1.4rem;font-variant-numeric:tabular-nums}.attendance-submit-summary span,.attendance-submit-count{color:var(--csa-ink-muted);font-size:var(--csa-text-xs);line-height:1.5}.attendance-submit-count{display:block}.attendance-late-reason{display:grid;gap:.5rem;font-size:var(--csa-text-sm);font-weight:600}.attendance-late-reason textarea{width:100%;min-height:80px;padding:.65rem;border:1px solid var(--csa-border-strong);border-radius:10px;color:var(--csa-ink);font:inherit;font-weight:400;resize:vertical}.attendance-submit-dialog form>footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem;margin-top:1.2rem}.attendance-submit-dialog footer .btn{min-height:44px;font-size:var(--csa-text-sm)}.attendance-submit-dialog .attendance-submit-error{color:var(--csa-danger)}.attendance-submit-dialog :is(button,textarea):focus-visible{outline:3px solid var(--csa-teal-500);outline-offset:2px}@media(prefers-reduced-motion:reduce){#root .attendance-touch-option{transition:none}}
