:root{color-scheme:light;--ink: #17212b;--muted: #657486;--line: #cbd5e0;--border: #a0aebc;--surface: #ffffff;--surface-soft: #f4f7fa;--navy: #12314a;--teal: #0a93ad;--red: #d72f35;--gray: #e7ebef;--shadow: 0 18px 45px rgba(18, 49, 74, .12);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--surface-soft);color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer}.screen-loader{display:grid;min-height:100vh;place-items:center;color:var(--muted)}.login-page{display:grid;min-height:100vh;grid-template-columns:minmax(420px,.9fr) minmax(420px,1.1fr);background:#eef3f6}.login-panel{display:grid;place-items:center;padding:48px}.login-panel.single{grid-column:1 / -1}.login-card{width:min(100%,460px);padding:44px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.login-card.compact{text-align:center}.login-logo{width:76px;height:76px;object-fit:contain;margin-bottom:22px}.eyebrow{color:var(--teal);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}.login-card h1{margin:8px 0 10px;font-size:2rem;line-height:1.1}.login-copy{color:var(--muted);line-height:1.6}.login-form,.panel-form{display:grid;gap:18px}label{display:grid;gap:8px;color:#334557;font-size:.92rem;font-weight:700}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:12px 14px;background:#fff;color:var(--ink);outline:none;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0a93ad26}.input-icon{position:relative;display:block}.input-icon svg{position:absolute;top:50%;left:14px;color:var(--muted);transform:translateY(-50%)}.input-icon input{padding-left:44px}.two-factor-note{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.9rem}.primary-button,.ghost-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;border:0;border-radius:8px;font-weight:800}.primary-button{background:var(--navy);color:#fff;padding:0 18px}.primary-button:hover{background:#0b2438}.primary-button:disabled{cursor:not-allowed;opacity:.7}.ghost-button,.icon-button{border:1px solid var(--line);background:#fff;color:var(--ink);padding:0 14px}.form-error,.form-success{margin:0;border-radius:8px;padding:12px 14px;font-size:.9rem}.panel>.form-error,.panel>.form-success{margin-top:14px}.form-error{background:#fff1f2;color:#a51f29}.form-success{background:#edf9f1;color:#17633a}.login-image{position:relative;min-height:100vh;overflow:hidden}.login-image img{width:100%;height:100%;object-fit:cover}.login-image:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(180deg,#0a1f2f0d,#0a1f2f8c)}.login-image-caption{position:absolute;right:36px;bottom:36px;left:36px;z-index:1;display:grid;gap:6px;max-width:520px;color:#fff}.login-image-caption strong{font-size:1.4rem}.app-shell{display:grid;min-height:100vh;grid-template-columns:auto 1fr}.sidebar{position:sticky;top:0;display:flex;width:280px;height:100vh;flex-direction:column;gap:18px;border-right:1px solid rgba(255,255,255,.12);background:var(--navy);color:#fff;padding:20px;transition:width .18s ease}.sidebar.is-collapsed{width:88px;align-items:center}.sidebar-brand{display:flex;align-items:center;gap:12px;min-height:52px}.sidebar-brand img{width:48px;height:48px;object-fit:contain}.sidebar-brand span{display:block;color:#ffffffbd;font-size:.82rem}.sidebar-brand small{display:inline-block;margin-top:6px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:#ffffff1a;color:#ffffffe6;font-size:.68rem;font-weight:900;line-height:1.25;padding:4px 8px;text-transform:uppercase}.sidebar-toggle{width:44px;align-self:flex-end;background:#ffffff14;color:#fff;border-color:#ffffff2e}.sidebar.is-collapsed .sidebar-toggle{align-self:center}.sidebar-nav{display:grid;gap:8px}.sidebar-nav-group{display:grid;gap:4px}.sidebar-nav a{display:flex;align-items:center;gap:12px;min-height:44px;border-radius:8px;color:#ffffffd1;padding:0 12px;text-decoration:none}.sidebar-nav a.sidebar-subitem{min-height:36px;margin-left:14px;padding-left:14px;color:#ffffffad;font-size:.9rem}.sidebar-nav a.sidebar-subitem.active,.sidebar-nav a.sidebar-subitem:hover{color:#fff}.sidebar-nav a.active,.sidebar-nav a:hover{background:#ffffff1f;color:#fff}.sidebar-profile{display:flex;align-items:center;gap:12px;margin-top:auto;border-top:1px solid rgba(255,255,255,.14);padding-top:18px}.sidebar-profile.is-collapsed{justify-content:center}.sidebar-profile-text{min-width:0}.sidebar-profile-text strong,.sidebar-profile-text span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile-text span{display:flex;align-items:center;gap:6px;color:#ffffffb3;font-size:.82rem}.sidebar-profile-text a{display:inline-flex;width:max-content;margin-top:6px;color:#fff;font-size:.84rem;font-weight:800;text-decoration:none}.sidebar-profile-text a:hover{text-decoration:underline}.avatar{display:inline-grid;flex:0 0 auto;place-items:center;border-radius:999px;object-fit:cover;font-weight:900}.avatar-md{width:42px;height:42px;font-size:.92rem}.avatar-lg{width:74px;height:74px;font-size:1.3rem}.avatar-fallback{background:#d7dde3;color:#344557}.main-content{min-width:0;padding:28px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.global-cycle-badge{display:inline-flex;align-items:center;gap:8px;min-height:44px;border:1px solid #bfe7cf;border-radius:8px;background:#edf9f1;color:#17633a;padding:0 14px;font-size:.9rem;font-weight:800}.global-cycle-badge.is-empty{border-color:var(--line);background:#fff;color:var(--muted)}.topbar h1{margin:4px 0 0;font-size:1.55rem}.content-grid,.catalog-page,.dashboard-page,.profile-page,.users-page{display:grid;gap:22px}.dashboard-blank{min-height:calc(100vh - 150px);border:1px dashed var(--line);border-radius:8px;background:#fff}.profile-card{display:flex;align-items:center;gap:18px}.profile-card h2{margin:4px 0}.profile-card p{margin-bottom:10px;color:var(--muted)}.file-upload{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:max-content;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:0 16px;background:#fff;color:var(--ink);font-weight:800}.file-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.two-factor-status{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--muted);font-weight:800}.two-factor-status svg{color:var(--teal)}.two-factor-form{max-width:420px}.qr-code{width:180px;height:180px;border:1px solid var(--line);border-radius:8px}.secret-text{margin:0;color:var(--muted);font-size:.9rem;word-break:break-all}.welcome-section{border-radius:8px;background:#fff;padding:30px;box-shadow:var(--shadow)}.welcome-section h2{margin-bottom:8px;font-size:2rem}.welcome-section p,.panel-heading p{margin-bottom:0;color:var(--muted)}.module-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.module-strip article,.panel{border:1px solid var(--line);border-radius:8px;background:#fff;padding:22px}.module-strip article{display:grid;gap:8px}.module-strip svg{color:var(--teal)}.module-strip span,.user-row span{color:var(--muted)}.panel-heading{margin-bottom:18px}.panel-heading.row{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-heading h2,.panel-heading h3{margin-bottom:6px}.user-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.user-summary article{border:1px solid var(--line);border-radius:8px;padding:14px;background:var(--surface-soft)}.user-summary span{display:block;color:var(--muted);font-size:.82rem;font-weight:800}.user-summary strong{display:block;margin-top:4px;font-size:1.35rem}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.table-toolbar>span{color:var(--muted);font-size:.9rem;font-weight:800;white-space:nowrap}.search-field{position:relative;flex:1;max-width:520px}.search-field svg{position:absolute;top:50%;left:14px;color:var(--muted);transform:translateY(-50%)}.search-field input{padding-left:42px}.data-table{overflow:auto;border:1px solid var(--line);border-radius:8px}.data-table table{width:100%;border-collapse:collapse;min-width:920px}.active-cycle-banner{display:flex;align-items:center;gap:12px;margin-bottom:16px;border:1px solid #bfe7cf;border-radius:8px;background:#edf9f1;padding:14px;color:#17633a}.active-cycle-banner span{display:block;margin-top:2px;color:#2f7650;font-size:.9rem}.checkbox-field{display:flex;align-items:center;gap:10px}.checkbox-field input{width:18px;height:18px}.import-panel{display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:16px;margin-bottom:16px}.file-upload.is-disabled{cursor:not-allowed;opacity:.6}.data-table th,.data-table td{border-bottom:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:middle}.data-table th{background:var(--surface-soft);color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.data-table tbody tr:hover{background:#f8fafc}.data-table tbody tr:last-child td{border-bottom:0}.table-user{display:flex;align-items:center;gap:12px;min-width:0}.table-user div{display:grid;min-width:0}.table-user span{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;color:var(--muted);font-size:.9rem;font-weight:800}.pagination-bar div{display:flex;gap:8px}.pill{border-radius:999px;background:var(--surface-soft);padding:7px 10px;color:var(--muted);font-size:.82rem;font-weight:800;white-space:nowrap}.pill.success{background:#edf9f1;color:#17633a}.pill.danger{background:#fff1f2;color:#a51f29}.profile-select{min-width:150px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 12px;color:var(--ink);font-size:.84rem;font-weight:900}.profile-select:disabled{cursor:not-allowed;opacity:.58}.table-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 10px;color:var(--ink);font-size:.86rem;font-weight:800;white-space:nowrap}.table-actions{display:flex;flex-wrap:wrap;gap:8px}.table-action.danger{border-color:#f5c2c7;color:#a51f29}.table-action.success{border-color:#bfe7cf;color:#17633a}.table-action:disabled{cursor:not-allowed;opacity:.5}.user-form{grid-template-columns:repeat(2,minmax(0,1fr))}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.csv-file-upload{min-height:76px;border-style:dashed;background:#f8fbfc;color:var(--ink)}.import-result-card{display:grid;gap:16px}.user-summary.compact{grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.import-result-section{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#f8fbfc}.import-result-section h4{margin:0;color:var(--ink)}.import-result-list{display:grid;gap:8px;max-height:220px;overflow:auto}.import-result-list div{display:grid;gap:2px;padding:10px 12px;border-radius:8px;background:#fff;border:1px solid var(--line)}.import-result-list span{color:var(--muted);font-size:.86rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;overflow:auto;background:#0c1a267a;padding:24px}.modal-panel{width:min(760px,100%);border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 24px 70px #0a1f2f3d;padding:24px}.modal-header,.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}.modal-header{margin-bottom:20px}.modal-header h3{margin-bottom:0}.modal-actions{justify-content:flex-end}.modal-subtitle{margin:6px 0 0;color:var(--muted);font-size:.88rem;line-height:1.45}.modal-loading{padding:36px 0;color:var(--muted);font-weight:800;text-align:center}.temario-modal{display:flex;flex-direction:column;width:min(1040px,100%);max-height:92vh}.temario-form{overflow:auto;padding-right:4px}.temario-section{display:grid;gap:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:16px}.temario-section-heading,.temario-item-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.temario-section-heading h4{margin:0 0 4px;color:var(--navy);font-size:1rem}.temario-section-heading p{margin:0;color:var(--muted);font-size:.86rem}.temario-list{display:grid;gap:12px}.temario-item{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:14px}.temario-item-header strong{color:var(--navy);font-size:.92rem}.temario-grid{display:grid;gap:14px}.unidad-grid{grid-template-columns:110px minmax(0,1fr)}.libro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.temario-actions{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.ghost-button.compact{min-height:36px;padding:0 12px;font-size:.84rem}.temario-form textarea{min-height:86px;resize:vertical}.editor-toolbar{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px 8px 0 0;background:var(--surface-soft);padding:8px}.rich-html-editor{min-height:220px;border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px;background:#fff;padding:14px 16px;color:var(--navy);line-height:1.6;outline:none}.rich-html-editor:focus{box-shadow:0 0 0 3px #0a93ad1f}.file-current-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px 14px;color:var(--muted);font-size:.9rem}.wide{grid-column:1 / -1}.empty-state{border:1px dashed var(--line);border-radius:8px;padding:24px;color:var(--muted);text-align:center}.accent-icon{color:var(--teal)}.code-input{text-align:center;font-size:1.6rem;letter-spacing:0}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:1000px;margin:40px auto}.catalog-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:44px 30px;background:var(--surface);border:1px solid var(--line);border-radius:12px;text-decoration:none;color:inherit;box-shadow:0 4px 12px #12314a08;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;cursor:pointer}.catalog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--teal)}.catalog-card-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--surface-soft);color:var(--teal);margin-bottom:20px;transition:background .2s ease,color .2s ease}.catalog-card:hover .catalog-card-icon{background:var(--navy);color:#fff}.catalog-card h3{margin:0 0 10px;font-size:1.35rem;color:var(--navy);font-weight:800}.catalog-card p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.5}@media(max-width:920px){.login-page{grid-template-columns:1fr}.login-image{display:none}.login-panel{padding:28px}.app-shell{grid-template-columns:1fr}.sidebar{position:relative;width:100%;height:auto;min-height:auto}.sidebar.is-collapsed{width:100%}.sidebar.is-collapsed .sidebar-nav{grid-template-columns:repeat(2,auto)}.module-strip,.user-summary,.user-form,.catalog-grid,.materia-overview-grid,.unidad-grid,.libro-grid{grid-template-columns:1fr}.table-toolbar,.import-panel,.pagination-bar{align-items:stretch;flex-direction:column}.import-panel{display:flex}.search-field{max-width:none}.topbar{align-items:flex-start;flex-direction:column}.topbar-actions{width:100%;justify-content:flex-start}.temario-section-heading,.temario-item-header{align-items:stretch;flex-direction:column}}@media(max-width:560px){.login-card{padding:28px}.main-content{padding:18px}}.panel-stretched{border:none;border-radius:0;background:#fff;padding:40px;margin:-28px;min-height:calc(100vh - 110px)}@media(max-width:560px){.panel-stretched{margin:-18px;padding:30px 16px}.materia-hero{grid-template-columns:1fr;padding:22px}.materia-hero-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.attribute-item-heading{flex-direction:column}}.teacher-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,320px));gap:24px;max-width:1024px;margin:40px auto;justify-content:center}.teacher-group-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 30px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 12px #12314a08;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;cursor:pointer;position:relative;overflow:hidden}.teacher-group-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--teal)}.teacher-group-card.confirmed{border-top:5px solid #16a34a}.teacher-group-card.pending{border-top:5px solid var(--teal)}.group-card-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--surface-soft);color:var(--teal);margin-bottom:20px;transition:background .2s ease,color .2s ease}.teacher-group-card:hover .group-card-icon{background:var(--navy);color:#fff}.group-card-title{margin:0 0 10px;font-size:1.35rem;color:var(--navy);font-weight:800;line-height:1.3}.group-card-details{display:flex;gap:8px;margin-bottom:12px;justify-content:center;flex-wrap:wrap}.group-number-pill{font-size:.72rem;font-weight:800;text-transform:uppercase;background:var(--surface-soft);color:var(--teal);padding:4px 8px;border-radius:4px;border:1px solid var(--line)}.group-code-pill{font-size:.72rem;font-weight:800;text-transform:uppercase;background:#eef8fb;color:var(--navy);padding:4px 8px;border-radius:4px;border:1px solid #cdebf1}.group-docente-info{font-size:.85rem;color:var(--muted);margin-bottom:16px}.group-docente-emp{font-size:.78rem;opacity:.8}.group-progress-section{margin-top:18px;width:100%}.progress-header{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;font-weight:700;color:#334557;margin-bottom:6px}.progress-bar-container{height:8px;background:var(--gray);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--teal),#0d9488);border-radius:4px;transition:width .4s ease-out}.teacher-group-card.confirmed .progress-bar-fill{background:linear-gradient(90deg,#10b981,#059669)}.group-card-status-badge{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:800;padding:4px 10px;border-radius:20px;margin-top:12px}.status-badge-confirmed{background:#d1fae5;color:#065f46}.status-badge-pending{background:#e0f2fe;color:#0369a1}.group-overview-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:22px}.group-overview-header h2{margin:4px 0 6px;color:var(--navy)}.group-overview-header p{margin:0;color:var(--muted);font-size:.92rem}.group-overview-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.group-overview-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.group-overview-kpis article{display:grid;gap:6px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:16px}.group-overview-kpis svg{color:var(--teal)}.group-overview-kpis span{color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.group-overview-kpis strong{color:var(--navy);font-size:1.45rem}.group-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:18px;align-items:start}.group-overview-card{display:grid;gap:16px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:18px}.group-overview-card-title{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.group-overview-card-title h3{margin:0 0 4px;color:var(--navy)}.group-overview-card-title p{margin:0;color:var(--muted);line-height:1.45}.rubric-distribution-chart,.indicator-performance-list{display:grid;gap:12px}.rubric-distribution-row{display:grid;grid-template-columns:110px minmax(0,1fr) 32px;align-items:center;gap:10px;color:var(--ink);font-size:.88rem;font-weight:800}.rubric-distribution-track{height:14px;border-radius:999px;background:var(--surface-soft);overflow:hidden}.rubric-distribution-track div{height:100%;min-width:4px;border-radius:inherit}.rubric-distribution-track .level-1,.progress-bar-fill.is-risk{background:#e11d48}.rubric-distribution-track .level-2{background:#f59e0b}.rubric-distribution-track .level-3{background:var(--teal)}.rubric-distribution-track .level-4{background:#16a34a}.indicator-performance-list article{display:grid;gap:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:12px}.indicator-performance-heading{display:flex;justify-content:space-between;gap:12px;color:var(--navy);font-weight:900}.indicator-performance-list small{color:var(--muted);font-weight:800}.unit-progress-card{margin-bottom:18px}.unit-progress-layout{display:grid;grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);gap:18px;align-items:stretch}.unit-progress-summary{display:grid;align-content:center;gap:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:16px}.unit-progress-summary strong{color:var(--navy);font-size:1.75rem;line-height:1}.unit-progress-summary span{color:var(--muted);font-weight:800}.unit-progress-track{height:14px;border-radius:999px;background:#e5e7eb;overflow:hidden}.unit-progress-track div{height:100%;border-radius:inherit;background:var(--teal)}.unit-progress-legend{display:flex;flex-wrap:wrap;gap:8px 14px}.unit-progress-legend span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.78rem}.unit-progress-legend i{width:10px;height:10px;border-radius:999px}.unit-progress-bars{display:grid;gap:10px}.unit-progress-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-left-width:5px;border-radius:8px;background:#fff;padding:12px 14px}.unit-progress-item div{display:grid;gap:3px;min-width:0}.unit-progress-item strong{color:var(--navy)}.unit-progress-item span,.unit-progress-item small{color:var(--muted);font-weight:800}.unit-progress-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unit-progress-item.is-completed,.unit-progress-legend .is-completed{border-left-color:#16a34a}.unit-progress-item.is-pending,.unit-progress-legend .is-pending{border-left-color:#f59e0b}.unit-progress-item.is-missed,.unit-progress-legend .is-missed{border-left-color:#e11d48}.unit-progress-legend .is-completed{background:#16a34a}.unit-progress-legend .is-pending{background:#f59e0b}.unit-progress-legend .is-missed{background:#e11d48}.course-planning-stack{display:grid;gap:18px}.course-planning-columns{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:18px;align-items:start}.course-planning-side{display:grid;gap:18px}.course-planning-status{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #cdebf1;border-radius:8px;background:#eef8fb;padding:16px}.course-planning-status.is-closed{border-color:#bfe7cf;background:#edf9f1}.course-planning-status div{display:grid;gap:4px}.course-planning-status strong{color:var(--navy)}.course-planning-status span{color:var(--muted);line-height:1.45}.course-planning-status-actions{display:flex!important;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px!important}.course-planning-status-actions .ghost-button{white-space:nowrap}.planning-unit-list,.planning-rule-list,.planning-partial-list,.planning-activity-list{display:grid;gap:12px}.planning-unit-card,.planning-partial-card{display:grid;gap:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:14px}.planning-unit-card>div:first-child{display:grid;gap:6px}.planning-unit-card strong,.planning-partial-card strong{color:var(--navy)}.planning-unit-card p{margin:0;color:var(--muted);line-height:1.45}.planning-unit-card label,.planning-partial-card label,.planning-activity-row label{display:grid;gap:6px;color:var(--muted);font-size:.82rem;font-weight:900}.planning-unit-card input,.planning-unit-card select,.planning-unit-card textarea,.planning-rule-row textarea,.planning-partial-card input,.planning-activity-row input,.planning-activity-row select{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 12px;color:var(--ink);font:inherit}.planning-followup-grid{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px}.planning-unit-save-row{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:12px}.planning-unit-save-row span{color:var(--muted);font-size:.82rem;font-weight:800}.planning-rule-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.planning-partial-heading{display:grid;grid-template-columns:minmax(0,1fr) 140px auto;gap:12px;align-items:end}.planning-activity-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(140px,.9fr) 90px auto;gap:10px;align-items:end}.planning-error-modal{max-width:460px}.planning-error-body{display:flex;align-items:flex-start;gap:14px;border:1px solid #fecaca;border-radius:8px;background:#fff1f2;color:#991b1b;padding:16px}.planning-error-body svg{flex:0 0 auto}.planning-error-body p{margin:0;line-height:1.5;font-weight:800}@media(max-width:920px){.course-planning-columns,.unit-progress-layout,.planning-followup-grid,.planning-partial-heading,.planning-activity-row,.unit-progress-item{grid-template-columns:1fr}}@media(max-width:920px){.group-overview-header,.group-overview-grid,.group-overview-kpis{grid-template-columns:1fr}}.materia-card-link{color:inherit;text-decoration:none}.materia-card-meta{display:grid;gap:8px;margin-top:8px;color:var(--muted);font-size:.84rem;font-weight:800}.materia-card-meta span{display:inline-flex;align-items:center;justify-content:center;gap:7px}.materia-overview-page{display:grid;gap:18px}.materia-back-row{display:flex;justify-content:flex-start}.materia-hero,.overview-section{border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 4px 12px #12314a08}.materia-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;padding:28px}.materia-hero h2{margin:6px 0 12px;color:var(--navy);font-size:2rem;line-height:1.15}.materia-hero-summary{display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:10px}.materia-hero-summary article{display:grid;gap:2px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:14px;text-align:center}.materia-hero-summary strong{color:var(--teal);font-size:1.55rem}.materia-hero-summary span{color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.materia-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px}.overview-section{display:grid;gap:18px;padding:24px;min-width:0}.overview-section-title{display:flex;align-items:flex-start;gap:12px;color:var(--teal)}.overview-section-title h3{margin:0 0 4px;color:var(--navy);font-size:1.18rem}.overview-section-title p,.muted-note{margin:0;color:var(--muted);line-height:1.5}.program-chip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.program-chip-card{display:grid;gap:4px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:14px}.program-chip-card strong{color:var(--teal);font-size:.9rem}.program-chip-card span{color:var(--ink);font-weight:700}.group-pill-grid{display:flex;flex-wrap:wrap;gap:8px}.attribute-program-list,.attribute-list{display:grid;gap:14px}.attribute-program-card{border:1px solid var(--line);border-radius:8px;overflow:hidden}.attribute-program-card>header{display:grid;gap:3px;background:var(--surface-soft);border-bottom:1px solid var(--line);padding:14px 16px}.attribute-program-card>header strong{color:var(--teal)}.attribute-program-card>header span{color:var(--muted);font-weight:800}.attribute-list{padding:14px}.attribute-item{border:1px solid var(--line);border-radius:8px;padding:14px}.attribute-item-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.attribute-item-heading strong{color:var(--navy)}.attribute-item-heading p{margin:6px 0 0;color:var(--muted);line-height:1.5}.criteria-clean-list{display:grid;gap:10px;margin:14px 0 0;padding:0;list-style:none}.criteria-clean-list li{display:flex;align-items:flex-start;gap:8px;color:var(--ink);line-height:1.45}.criteria-clean-list svg{flex:0 0 auto;margin-top:2px;color:var(--teal)}.unit-timeline{display:grid;gap:14px}.unit-timeline article{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px}.unit-timeline article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--teal);color:#fff;font-weight:900}.unit-timeline strong,.bibliography-list strong{color:var(--navy)}.unit-timeline p,.bibliography-list p{margin:5px 0 0;color:var(--muted);line-height:1.5}.bibliography-list{display:grid;gap:12px}.bibliography-list article{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:14px}.bibliography-list svg{flex:0 0 auto;color:var(--teal)}.suggested-instrument-view{display:grid;gap:14px}.suggested-instrument-html{border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:16px;color:var(--ink);line-height:1.6;overflow-wrap:anywhere}.suggested-instrument-html h1,.suggested-instrument-html h2,.suggested-instrument-html h3{margin:0 0 10px;color:var(--navy)}.suggested-instrument-html p,.suggested-instrument-html ul,.suggested-instrument-html ol{margin-bottom:10px}.wizard-header-container{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;border-bottom:1px solid var(--line);padding-bottom:16px;flex-wrap:wrap;gap:16px}.wizard-tabs{display:flex;background:var(--surface-soft);padding:6px;border-radius:10px;border:1px solid var(--line);gap:4px;flex-wrap:wrap}.wizard-tab{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;border:0;background:transparent;color:var(--muted);font-weight:700;font-size:.9rem;transition:all .2s ease}.wizard-tab:hover:not(:disabled){color:var(--navy);background:#ffffff80}.wizard-tab.active{background:var(--surface);color:var(--navy);box-shadow:0 4px 10px #12314a0d}.wizard-tab.completed{color:var(--teal)}.instrument-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:20px}.instrument-card{border:2px solid var(--line);border-radius:10px;padding:20px;text-align:center;cursor:pointer;background:var(--surface);transition:all .2s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.instrument-card:hover:not(.disabled){border-color:var(--border);background:var(--surface-soft)}.instrument-card.active{border-color:var(--teal);background:#0a93ad0a;color:var(--teal);box-shadow:0 0 0 3px #0a93ad26}.instrument-card.disabled{opacity:.7;cursor:not-allowed}.instrument-card h4{margin:0;font-weight:800;font-size:1rem}.upload-zone{border:2px dashed var(--border);border-radius:12px;padding:40px 20px;text-align:center;background:var(--surface-soft);transition:all .2s ease;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.upload-zone:hover:not(.disabled){border-color:var(--teal);background:#0a93ad05}.upload-zone.disabled{opacity:.6;cursor:not-allowed}.upload-zone.dragover{border-color:var(--teal);background:#0a93ad14}.file-preview-card{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:10px;padding:16px;background:var(--surface);margin-top:16px}.file-info{display:flex;align-items:center;gap:12px}.file-icon-pdf{color:var(--red)}.file-name{font-weight:700;color:var(--navy);word-break:break-all}.file-size{color:var(--muted);font-size:.82rem}.rich-editor{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface)}.rich-editor-toolbar{display:flex;align-items:center;gap:6px;padding:8px;background:var(--surface-soft);border-bottom:1px solid var(--border)}.editor-btn{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--muted);transition:all .15s ease}.editor-btn:hover:not(:disabled){background:#12314a14;color:var(--navy);border-color:var(--line)}.editor-textarea{min-height:180px;border:0;border-radius:0;resize:vertical;font-family:inherit;font-size:.95rem;line-height:1.6}.editor-textarea:focus{box-shadow:none}.editor-visual-area{min-height:180px;padding:14px 18px;background:#fff;color:var(--navy);text-align:left;outline:none;font-family:inherit;font-size:.95rem;line-height:1.6;overflow-y:auto}.editor-visual-area:focus{outline:none}.editor-visual-area[contenteditable=true]{cursor:text}.editor-visual-area[contenteditable=false]{background:var(--surface-soft);cursor:not-allowed;opacity:.8}.editor-visual-area:empty:before{content:attr(placeholder);color:var(--muted);opacity:.7;pointer-events:none}.editor-visual-area h3{margin:10px 0 6px;font-size:1.25rem}.editor-visual-area ul{padding-left:20px;margin:8px 0}.editor-visual-area li{margin-bottom:4px}.editor-btn.toggle-mode-btn{width:auto;padding:0 12px;display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:800}.editor-preview-container{border-top:1px solid var(--line);padding:16px;background:#fdfdfd}.editor-preview-title{font-size:.76rem;font-weight:800;color:var(--muted);text-transform:uppercase;margin-bottom:8px}.editor-preview-content{color:var(--ink);line-height:1.6;font-size:.95rem}.editor-preview-content p{margin-bottom:8px}.career-section{margin-bottom:32px}.career-title-bar{display:flex;align-items:center;justify-content:space-between;background:var(--navy);color:#fff;padding:12px 18px;border-radius:8px;margin-bottom:16px;font-weight:800;font-size:.95rem}.career-title-left{display:flex;align-items:center;gap:12px}.career-count-pill{background:#ffffff2e;padding:2px 8px;border-radius:12px;font-size:.78rem}.students-evaluation-table{width:100%;border-collapse:collapse;margin-bottom:16px}.students-evaluation-table th,.students-evaluation-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.students-evaluation-table th{font-weight:800;color:var(--navy);background:var(--surface-soft);font-size:.88rem}.student-row-header{font-weight:800;color:var(--navy);font-size:1rem}.student-row-sub{font-size:.82rem;color:var(--muted);margin-top:4px}.criteria-cell-details{display:flex;flex-direction:column;gap:16px}.criterion-grade-row{border:1px solid var(--line);border-radius:8px;padding:16px;background:#fafbfc;transition:all .2s ease}.criterion-grade-row:hover{background:var(--surface);box-shadow:0 4px 10px #12314a0a}.criterion-info{margin-bottom:12px}.criterion-code{font-weight:800;color:var(--teal);margin-right:8px;font-size:.88rem;background:#0a93ad14;padding:2px 6px;border-radius:4px}.criterion-desc{font-size:.9rem;color:var(--ink);line-height:1.4}.rubric-pills-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:10px}.rubric-level-card{border-radius:8px;padding:14px;cursor:pointer;transition:all .2s ease;position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:120px}.rubric-level-card.disabled{cursor:not-allowed!important}.level-card-1{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.level-card-1.selected{background:#ef4444;color:#fff;border-color:#ef4444;box-shadow:0 4px 12px #ef444440}.level-card-2{background:#fffbeb;color:#92400e;border:1px solid #fef3c7}.level-card-2.selected{background:#f59e0b;color:#fff;border-color:#f59e0b;box-shadow:0 4px 12px #f59e0b40}.level-card-3{background:#f0fdfa;color:#115e59;border:1px solid #ccfbf1}.level-card-3.selected{background:#14b8a6;color:#fff;border-color:#14b8a6;box-shadow:0 4px 12px #14b8a640}.level-card-4{background:#eff6ff;color:#1e40af;border:1px solid #dbeafe}.level-card-4.selected{background:#3b82f6;color:#fff;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f640}.level-card-name{font-weight:800;font-size:.8rem;text-transform:uppercase;margin-bottom:4px}.level-card-desc{font-size:.78rem;line-height:1.4;margin-bottom:8px;opacity:.95}.level-card-points{font-size:.82rem;font-weight:900;align-self:flex-end}.locked-banner{background:#fff1f2;border:1px solid #fca5a5;border-radius:10px;padding:16px 20px;display:flex;align-items:center;gap:16px;color:#9f1239;margin-bottom:24px}.locked-banner.unlocked-info{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.locked-banner-text h3{margin:0 0 4px;font-size:1.1rem;font-weight:800}.locked-banner-text p{margin:0;font-size:.88rem}.wizard-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-top:24px;flex-wrap:wrap;gap:16px}.upload-progress-container{width:100%;max-width:400px;margin-top:10px}.progress-percentage{font-size:.78rem;color:var(--muted);font-weight:700;text-align:right;margin-top:4px}.dashboard-container{display:flex;flex-direction:column;padding:8px 4px 40px;animation:fadeIn .4s ease-out}.dashboard-header-area{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:8px;flex-wrap:wrap}.dashboard-header-area h1{font-size:2.2rem;font-weight:900;color:#0f172a;letter-spacing:-.03em;margin:0 0 6px}.dashboard-header-area .subtitle{color:#64748b;font-size:.96rem;margin:0}.dashboard-selectors{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.active-cycle-badge{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;font-size:.84rem}.combobox-container{position:relative}.combobox-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:8px 36px 8px 18px;font-size:.88rem;font-weight:800;color:#1e293b;cursor:pointer;outline:none;min-width:200px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23475569' stroke-width='2.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;box-shadow:0 1px 3px #0000000d;transition:all .2s ease}.combobox-select:hover{border-color:#94a3b8;box-shadow:0 2px 5px #00000014}.combobox-select:focus{border-color:#0d9488;box-shadow:0 0 0 3px #0d948826}.auditor-feedback-card{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-radius:16px;border-width:1px;border-style:solid;gap:16px;flex-wrap:wrap;box-shadow:0 4px 15px #00000005}.feedback-content{display:flex;align-items:center;gap:16px}.feedback-icon{flex-shrink:0}.auditor-feedback-card h3{margin:0 0 4px;font-size:1.05rem;font-weight:900;letter-spacing:-.01em}.auditor-feedback-card p{margin:0;font-size:.88rem;line-height:1.5}.feedback-pill{padding:6px 12px;border-radius:999px;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.feedback-success{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#bbf7d0;color:#166534}.feedback-success .feedback-pill{background:#166534;color:#fff}.feedback-success .feedback-icon{color:#166534}.seguimiento-dashboard{gap:0}.seguimiento-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;border:1px solid #cdebf1;border-radius:8px;background:#eef8fb;padding:20px;margin-top:20px}.seguimiento-hero h2{margin:4px 0 8px;color:var(--navy)}.seguimiento-hero p{margin:0;color:var(--muted);line-height:1.5}.seguimiento-score{display:grid;justify-items:center;gap:4px;min-width:150px;border-radius:8px;background:#fff;border:1px solid var(--line);padding:16px}.seguimiento-score strong{color:var(--teal);font-size:2rem;line-height:1}.seguimiento-score span{color:var(--muted);font-size:.82rem;font-weight:900;text-transform:uppercase}.seguimiento-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.seguimiento-funnel,.priority-list,.compact-bars{display:grid;gap:12px}.funnel-row,.priority-row,.compact-bar-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,.45fr);align-items:center;gap:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:12px}.priority-row{grid-template-columns:minmax(0,1fr) auto minmax(140px,.35fr)}.funnel-row strong,.priority-row strong,.compact-bar-row strong{display:block;color:var(--navy)}.funnel-row span,.priority-row span,.compact-bar-row span{display:block;color:var(--muted);font-size:.82rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seguimiento-progress{display:grid;gap:5px}.seguimiento-progress>span{color:var(--muted);font-size:.76rem;font-weight:900;text-align:right}.seguimiento-progress>div{height:10px;border-radius:999px;background:#e5e7eb;overflow:hidden}.seguimiento-progress i{display:block;height:100%;border-radius:inherit;background:var(--teal)}.dashboard-search{display:flex;align-items:center;gap:8px;width:min(360px,100%);border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 12px;color:var(--muted)}.dashboard-search input{width:100%;border:0;outline:0;color:var(--ink);font:inherit}.table-responsive{width:100%;overflow-x:auto}.seguimiento-table{width:100%;border-collapse:collapse;min-width:980px}.seguimiento-table th,.seguimiento-table td{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left;vertical-align:middle}.seguimiento-table th{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.sortable-th{width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:8px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;text-transform:inherit;cursor:pointer;padding:0}.sortable-th small{color:#8aa0b8;font-size:.62rem;font-weight:900;letter-spacing:0;text-transform:uppercase;white-space:nowrap}.sortable-th.active{color:var(--navy)}.sortable-th.active small{color:var(--accent)}.seguimiento-table td{color:var(--ink);font-weight:800}.seguimiento-table td:first-child{min-width:260px}.seguimiento-table td:first-child strong,.seguimiento-table td:first-child span{display:block}.seguimiento-table td:first-child strong{color:var(--navy)}.seguimiento-table td:first-child span{color:var(--muted);font-size:.78rem;margin-top:2px}.catalog-search{display:flex;align-items:center;gap:8px;min-width:min(420px,100%);border:1px solid var(--line);border-radius:999px;background:#fff;padding:10px 14px;color:var(--muted)}.catalog-search input{width:100%;border:0;outline:0;color:var(--ink);font:inherit}.catalog-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0}.catalog-mini-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.catalog-mini-stats>div{display:grid;gap:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:14px}.catalog-mini-stats strong{color:var(--navy)}.catalog-mini-stats span{color:var(--muted);font-size:.84rem;font-weight:800}.estadistica-dashboard{width:100%;min-width:0}.estadistica-top-grid,.estadistica-bottom-grid{display:grid;gap:18px}.estadistica-top-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.estadistica-bottom-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.estadistica-dashboard .dashboard-card{min-width:0}.estadistica-dashboard .dashboard-card-header{padding:20px 22px 10px}.estadistica-dashboard .dashboard-card-header h2{overflow-wrap:anywhere}.estadistica-dashboard .dashboard-card-header p{margin:4px 0 0;line-height:1.35}.stats-bar-list{display:grid;gap:14px;padding:12px 22px 22px;min-width:0}.stats-bar-row{display:grid;grid-template-columns:minmax(62px,.7fr) minmax(70px,1.8fr) minmax(42px,auto);gap:8px;align-items:center;color:var(--muted);font-size:.84rem;font-weight:900;min-width:0}.stats-bar-row span,.stats-bar-row strong{min-width:0;overflow-wrap:anywhere}.stats-bar-row div{height:16px;border-radius:999px;background:#e5e7eb;overflow:hidden}.stats-bar-row i{display:block;height:100%;border-radius:inherit}.stats-bar-row .men,.donut-legend .men,.stat-gender-icons div:first-child svg{color:#0a93ad}.stats-bar-row .men{background:#0a93ad}.stats-bar-row .women{background:#be185d}.stats-bar-row .other{background:#94a3b8}.donut-layout{display:grid;grid-template-columns:minmax(110px,140px) minmax(0,1fr);align-items:center;gap:14px;padding:12px 22px 22px;min-width:0}.stats-donut{width:min(140px,100%);aspect-ratio:1;border-radius:50%;display:grid;place-items:center}.stats-donut>div{width:94px;aspect-ratio:1;border-radius:50%;background:#fff;display:grid;place-items:center;align-content:center;box-shadow:inset 0 0 0 1px var(--line)}.stats-donut strong{color:var(--navy);font-size:1.2rem;line-height:1}.stats-donut span,.donut-legend span{color:var(--muted);font-size:.8rem;font-weight:900}.donut-legend{display:grid;gap:8px;min-width:0}.donut-legend span{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap;line-height:1.25}.donut-legend i{width:10px;height:10px;border-radius:999px}.donut-legend .men{background:#0a93ad}.donut-legend .women{background:#be185d}.donut-legend .other{background:#94a3b8}.vertical-bar-chart{display:flex;align-items:end;gap:10px;min-height:240px;overflow-x:auto;padding:16px 22px 22px;min-width:0}.axis-chart-shell{position:relative;display:grid;gap:8px;padding-top:4px}.axis-label{color:var(--muted);font-size:.76rem;font-weight:900}.axis-label-x{justify-self:center;margin-top:-10px;padding:0 22px 18px;text-align:center}.axis-chart-shell .vertical-bar-chart{padding-left:22px;padding-bottom:8px}.vertical-bar-item{flex:1 0 44px;min-width:44px;display:grid;grid-template-rows:165px auto auto;justify-items:center;gap:6px;color:var(--muted);font-size:.78rem;font-weight:900}.vertical-bar-item>div{width:min(34px,100%);height:165px;display:flex;align-items:end;border-radius:999px;background:#e5e7eb;overflow:hidden}.vertical-bar-item i{width:100%;min-height:4px;border-radius:inherit;background:var(--teal)}.vertical-bar-item strong{color:var(--navy)}.stat-gender-icons{display:grid;grid-template-columns:repeat(2,130px);gap:12px}.stat-gender-icons div{display:grid;justify-items:center;gap:5px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:14px}.stat-gender-icons div:last-child svg{color:#be185d}.stat-gender-icons strong{color:var(--navy);font-size:1.25rem}.stat-gender-icons span{color:var(--muted);font-size:.76rem;font-weight:900}.compact-panel{padding:18px}.statistics-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(220px,1.2fr) auto;gap:14px;align-items:end}.statistics-toolbar .combobox-container,.statistics-toolbar .statistics-search{display:grid;gap:6px}.statistics-toolbar .combobox-container>span,.statistics-toolbar .statistics-search>span{color:var(--muted);font-size:.78rem;font-weight:900}.statistics-toolbar .combobox-select{width:100%}.statistics-search{min-width:0}.statistics-search>div{display:flex;align-items:center;gap:9px;width:100%;min-height:42px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;padding:8px 14px;color:var(--muted);box-shadow:0 1px 3px #0000000d;transition:all .2s ease}.statistics-search>div:focus-within{border-color:#0d9488;box-shadow:0 0 0 3px #0d948826}.statistics-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:.88rem;font-weight:800}.check-filter{display:flex;align-items:center;gap:9px;min-height:42px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);font-size:.82rem;font-weight:900}.check-filter input{width:16px;height:16px;accent-color:var(--teal)}.ranked-table th:first-child,.ranked-table td:first-child{width:52px;color:var(--muted);font-weight:900}.ranked-table th:nth-child(4),.ranked-table th:nth-child(5),.ranked-table th:nth-child(6),.ranked-table th:nth-child(7),.ranked-table th:nth-child(8),.ranked-table td:nth-child(4),.ranked-table td:nth-child(5),.ranked-table td:nth-child(6),.ranked-table td:nth-child(7),.ranked-table td:nth-child(8){text-align:right;white-space:nowrap}.terminal-toolbar{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:14px;align-items:end}.terminal-toolbar .combobox-container{display:grid;gap:6px}.terminal-toolbar .combobox-container>span{color:var(--muted);font-size:.78rem;font-weight:900}.terminal-toolbar .combobox-select{width:100%}.terminal-bar-list{padding-top:16px}.terminal-bar-row{grid-template-columns:minmax(120px,.8fr) minmax(120px,1.7fr) minmax(48px,auto)}.terminal-teal,.terminal-men{background:#0a93ad}.terminal-blue,.terminal-women{background:#2563eb}.terminal-green,.terminal-other{background:#16a34a}.terminal-red{background:#dc2626}.gender-terminal-chart{display:grid;gap:18px;padding:14px 22px 22px}.gender-terminal-row{display:grid;grid-template-columns:90px 72px minmax(80px,1fr) 54px;gap:8px;align-items:center;color:var(--muted);font-size:.78rem;font-weight:900}.gender-terminal-row strong{grid-row:span 3;color:var(--navy)}.gender-terminal-row div{height:12px;border-radius:999px;background:#e5e7eb;overflow:hidden}.gender-terminal-row i{display:block;height:100%;border-radius:inherit}.gender-terminal-row em{color:var(--navy);font-style:normal;text-align:right}.trajectory-funnel{display:grid;gap:13px;padding:18px 22px 22px}.trajectory-funnel-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(120px,1.8fr) 70px;gap:12px;align-items:center;color:var(--muted);font-size:.84rem;font-weight:900}.trajectory-funnel-row div{height:18px;border-radius:999px;background:#e5e7eb;overflow:hidden}.trajectory-funnel-row i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0a93ad,#16a34a)}.trajectory-funnel-row strong{color:var(--navy);text-align:right}.trajectory-table th,.trajectory-table td{white-space:nowrap}.trajectory-table td strong,.trajectory-table td span{display:block}.trajectory-table td span{color:var(--muted);font-size:.72rem}@media(max-width:920px){.catalog-stats-grid,.catalog-mini-stats,.estadistica-top-grid,.estadistica-bottom-grid,.donut-layout,.stat-gender-icons,.statistics-toolbar,.terminal-toolbar{grid-template-columns:1fr}}@media(max-width:1220px){.donut-layout{grid-template-columns:1fr;justify-items:center;text-align:center}.donut-legend{width:100%}.donut-legend span{justify-content:center}}@media(max-width:520px){.estadistica-top-grid,.estadistica-bottom-grid{grid-template-columns:minmax(0,1fr)}.stats-bar-row{grid-template-columns:1fr}.stats-bar-row strong{justify-self:end}.axis-chart-shell .vertical-bar-chart{padding-left:22px}}.pill.warning{background:#fffbeb;color:#92400e}.pill.danger{background:#fff1f2;color:#be123c}@media(max-width:920px){.seguimiento-hero,.seguimiento-grid,.funnel-row,.priority-row,.compact-bar-row{grid-template-columns:1fr}}.feedback-warning{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fde68a;color:#854d0e}.feedback-warning .feedback-pill{background:#854d0e;color:#fff}.feedback-warning .feedback-icon{color:#854d0e}.feedback-danger{background:linear-gradient(135deg,#fff1f2,#ffe4e6);border-color:#fecaca;color:#9f1239}.feedback-danger .feedback-pill{background:#9f1239;color:#fff}.feedback-danger .feedback-icon{color:#9f1239}.feedback-info{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#bae6fd;color:#075985}.feedback-info .feedback-pill{background:#075985;color:#fff}.feedback-info .feedback-icon{color:#075985}.metric-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}.kpi-card{background:#fff;border-radius:16px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 4px 20px #00000008;transition:transform .2s ease,box-shadow .2s ease}.kpi-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #0000000f}.kpi-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.kpi-label{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em;color:#64748b;display:block;margin-bottom:6px}.kpi-value{font-size:2rem;font-weight:900;color:#0f172a;letter-spacing:-.03em;margin:0}.kpi-total{font-size:1.1rem;color:#94a3b8;font-weight:500}.kpi-icon-wrapper{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;flex-shrink:0}.kpi-footer{margin-top:14px}.kpi-footer-text{font-size:.76rem;font-weight:800;color:#64748b}.progress-bar-bg{height:6px;background:#f1f5f9;border-radius:99px;overflow:hidden;width:100%}.progress-bar-fill{height:100%;border-radius:99px;transition:width .8s cubic-bezier(.4,0,.2,1)}.dashboard-card{background:#fff;border-radius:20px;box-shadow:0 4px 30px #00000005;overflow:hidden}.glassmorphic-border{border:1px solid rgba(226,232,240,.8)}.dashboard-card-header{padding:20px 24px;background:#fff}.dashboard-card-header h2{font-size:1.25rem;font-weight:900;color:#0f172a;letter-spacing:-.02em;margin:0}.cacei-standard-tag{font-size:.74rem;font-weight:900;padding:5px 12px;border-radius:999px;border:1px solid;text-transform:uppercase;letter-spacing:.02em}.graph-layout{display:grid;grid-template-columns:3fr 2fr;gap:24px;align-items:stretch}@media(max-width:900px){.graph-layout{grid-template-columns:1fr}}.svg-container{display:flex;align-items:center;justify-content:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:16px}.attainment-svg-chart{width:100%;max-height:290px;overflow:visible}.level-attainment-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(280px,1fr);gap:24px;align-items:stretch}.level-attainment-chart{width:100%;max-height:320px;overflow:visible}.level-attainment-summary{display:flex;flex-direction:column;gap:14px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;padding:18px}.level-attainment-summary h3{margin:0;color:#0f172a;font-size:1rem;font-weight:900}.level-attainment-summary p{margin:0;color:#64748b;line-height:1.55;font-size:.9rem}.level-attainment-list{display:grid;gap:10px;margin-top:auto}.level-attainment-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:12px}.level-attainment-item div{display:grid;gap:2px}.level-attainment-item strong{color:#0f172a;font-size:.9rem}.level-attainment-item span{color:#64748b;font-size:.78rem;font-weight:800}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:28px;border-radius:999px;padding:0 10px;font-size:.74rem;font-weight:900;white-space:nowrap}.badge-teal{background:#ccfbf1;color:#115e59}.badge-rose{background:#ffe4e6;color:#be123c}.badge-slate{background:#e2e8f0;color:#475569}@media(max-width:900px){.level-attainment-layout{grid-template-columns:1fr}}.svg-chart-bar:hover{transform:scaleY(1.02);filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.attributes-legend-pane{display:flex;flex-direction:column;border:1px solid #e2e8f0;border-radius:16px;padding:16px;background:#fff}.legend-title{font-size:.95rem;font-weight:900;color:#334155;margin:0 0 12px;padding-bottom:8px;border-b:1px solid #f1f5f9}.legend-list{display:flex;flex-direction:column;gap:10px;overflow-y:auto;max-height:250px;padding-right:4px}.legend-item-card{padding:12px 14px;border-radius:12px;border:1px solid;transition:transform .2s ease}.legend-item-card:hover{transform:translate(4px)}.legend-code{font-size:.8rem;font-weight:900;color:#1e293b}.legend-name{font-size:.84rem;color:#0f172a}.legend-desc{font-size:.76rem;color:#64748b;line-height:1.4}.materia-search-wrapper{position:relative;width:100%;max-width:320px}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.search-input-field{width:100%;padding:8px 12px 8px 36px;border-radius:999px;border:1px solid #cbd5e1;font-size:.84rem;outline:none;background:#f8fafc;transition:all .2s ease}.search-input-field:focus{border-color:#0d9488;background:#fff;box-shadow:0 0 0 3px #0d94881a}.materia-grid-pane{display:flex;flex-direction:column;gap:14px}.materia-audit-card{border-radius:14px;border:1px solid;background:#fff;overflow:hidden;transition:all .2s ease}.materia-audit-card.is-open{box-shadow:0 4px 15px #0d94880d}.materia-audit-header{transition:background-color .2s ease}.materia-audit-header:hover{background-color:#f8fafc}.materia-clave-tag{background:#e2e8f0;color:#334155;font-size:.72rem;font-weight:900;padding:3px 8px;border-radius:6px;text-transform:uppercase}.materia-nombre-title{font-size:.96rem;font-weight:800;color:#0f172a;margin:0}.materia-status-badge{font-size:.76rem;font-weight:800;padding:4px 10px;border-radius:999px}.materia-attainment-badge{font-size:.86rem;padding:4px 12px;border-radius:8px;min-width:60px;text-align:center}.materia-section-subtitle{font-size:.8rem;font-weight:900;text-transform:uppercase;color:#475569;letter-spacing:.02em}.groups-audit-list{display:flex;flex-direction:column;gap:12px}.group-folder-item{border:1px solid #e2e8f0;transition:all .2s ease}.group-number-badge{background:#e0f2fe;color:#0369a1;font-size:.7rem;font-weight:900;padding:3px 8px;border-radius:6px;text-transform:uppercase}.group-teacher-name{font-size:.82rem;color:#334155}.status-dot-pill{font-size:.72rem;font-weight:800;display:flex;align-items:center;gap:6px;color:#64748b}.status-dot-pill:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%}.dot-confirmed:before{background-color:#10b981}.dot-draft:before{background-color:#f59e0b}.instructions-audit-preview{font-family:inherit;font-size:.74rem;line-height:1.4;border-color:#e2e8f0}.instructions-audit-preview p{margin:0 0 6px}.btn-pdf-audit{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:8px;background:#f43f5e;border:1px solid #e11d48;color:#fff;font-size:.8rem;font-weight:800;text-decoration:none;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px #f43f5e40}.btn-pdf-audit:hover{background:#e11d48;box-shadow:0 4px 10px #f43f5e66;transform:translateY(-1px)}.no-pdf-badge{font-size:.74rem;font-weight:800;border-radius:8px}.tab-btn-capsule{padding:6px 16px;border-radius:999px;font-size:.82rem;font-weight:800;cursor:pointer;transition:all .2s ease;border:1px solid}.active-tab{background:#4f46e5;color:#fff;border-color:#4f46e5;box-shadow:0 4px 10px #4f46e533}.inactive-tab{background:#f1f5f9;color:#475569;border-color:#cbd5e1}.inactive-tab:hover{background:#e2e8f0;color:#1e293b}.criteria-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px}.criterion-stats-card{display:flex;flex-direction:column;justify-content:space-between}.criterion-code-badge{background:#e0e7ff;color:#4338ca;font-size:.7rem;font-weight:900;padding:3px 8px;border-radius:6px}.criterion-desc-text{flex-grow:1}.indicator-list-inline{margin-top:12px;padding:10px;border:1px solid var(--border);border-radius:8px;background:#f8fafc}.indicator-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;color:var(--navy);font-size:.72rem;font-weight:800;text-transform:uppercase}.mini-link-button{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--teal);cursor:pointer;font:inherit;font-size:.72rem;font-weight:800;padding:2px 0}.mini-link-button:hover{color:var(--navy)}.empty-inline-note{margin:0;color:var(--muted);font-size:.82rem}.indicator-stack{display:flex;flex-direction:column;gap:8px}.indicator-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:10px;border:1px solid rgba(14,42,70,.08);border-radius:8px;background:#fff}.indicator-title-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.indicator-title-row strong{color:var(--navy);font-family:monospace}.indicator-main p{margin:0;color:#425466;font-size:.85rem;line-height:1.35}.indicator-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:5px;flex-wrap:wrap}@media(max-width:900px){.indicator-item{grid-template-columns:1fr}.indicator-actions{justify-content:flex-start}}.stacked-horizontal-bar{display:flex;height:24px;width:100%;border-radius:6px;overflow:hidden;background:#f1f5f9}.bar-segment{display:flex;align-items:center;justify-content:center;color:#fff;font-size:.7rem;font-weight:900;transition:width .5s ease;cursor:help;position:relative}.bar-segment-empty{font-size:.7rem;font-weight:700}.content-card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:18px;box-shadow:0 1px 2px #0f172a0a}.teacher-identity-card{display:flex;align-items:center;gap:18px}.curriculum-header-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:18px;flex-wrap:wrap}.curriculum-header-actions .primary-button{align-self:flex-start;min-height:44px;margin-top:10px}.curriculum-download-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:10px}.curriculum-download-actions .primary-button,.curriculum-download-actions .ghost-button{min-height:44px;margin-top:0}.curriculum-status-card{min-width:250px;max-width:310px;border:1px solid;border-radius:8px;padding:10px 12px;background:#fff;margin-bottom:10px}.curriculum-status-card span,.curriculum-status-card small{display:block}.curriculum-status-card span{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.curriculum-status-card strong{display:block;margin:2px 0;color:var(--navy)}.curriculum-status-card small{color:var(--muted);line-height:1.35}.curriculum-status-card.is-complete{border-color:#0da67847;background:#0da6780d}.curriculum-status-card.is-pending{border-color:#f59e0b59;background:#fffbeb}.curriculum-feedback-modal{width:min(520px,100%)}.curriculum-feedback-body{display:flex;align-items:flex-start;gap:14px;padding:16px;border:1px solid;border-radius:8px;margin-bottom:18px}.curriculum-feedback-body p{margin:0;color:var(--navy);font-weight:700;line-height:1.45;white-space:pre-line}.curriculum-feedback-body.is-success{border-color:#16a34a47;background:#f0fdf4}.curriculum-feedback-body.is-success svg{color:#16a34a}.curriculum-feedback-body.is-error{border-color:#b91c1c47;background:#fef2f2}.curriculum-feedback-body.is-error svg{color:#b91c1c}.teacher-identity-main h3{margin:2px 0 10px;color:var(--navy)}.teacher-identity-grid{display:flex;flex-wrap:wrap;gap:10px 18px;color:var(--muted);font-size:.9rem}.teacher-identity-grid strong{color:var(--navy)}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.section-heading h3{margin:0;color:var(--navy)}.section-heading p{margin:4px 0 0;color:var(--muted);font-size:.9rem}.form-grid{display:grid;gap:14px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid label{display:grid;gap:6px;color:var(--navy);font-size:.82rem;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea,.wide-textarea{width:100%;border:1px solid var(--border);border-radius:6px;padding:9px 10px;font:inherit;color:var(--navy);background:#fff}.field-error-text{color:#b91c1c;font-size:.76rem;font-weight:800;line-height:1.3}.full-span{grid-column:1 / -1}.repeat-stack{display:grid;gap:12px}.repeat-card{border:1px solid var(--border);border-radius:8px;padding:14px;background:#f8fafc}.repeat-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.file-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.compact-file-upload{max-width:360px}.pdf-picker-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pdf-view-button{min-height:42px;padding:9px 12px;text-decoration:none}.page-stack-inner{display:grid;gap:18px}.curriculum-readonly input,.curriculum-readonly select,.curriculum-readonly textarea,.curriculum-readonly .file-upload,.curriculum-readonly .icon-button,.curriculum-readonly .ghost-button:not(.pdf-view-button){pointer-events:none;opacity:.72}.curriculum-manager-panel{border-left:4px solid var(--teal)}.manager-select-label{display:grid;gap:6px;max-width:560px;color:var(--navy);font-size:.85rem;font-weight:800}.manager-select-label select{border:1px solid var(--border);border-radius:6px;padding:10px;font:inherit}.curriculum-progress-grid{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;margin-top:18px}.curriculum-progress-chart{width:132px;height:132px;display:grid;place-items:center;border-radius:999px;background:conic-gradient(var(--teal) var(--progress),#e5e7eb 0);position:relative}.curriculum-progress-chart:after{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;border-radius:999px;background:#fff}.curriculum-progress-chart span{position:relative;z-index:1;color:var(--navy);font-size:1.45rem;font-weight:900}.curriculum-progress-details{display:grid;gap:8px}.curriculum-progress-details strong{color:var(--navy);font-size:1.05rem}.curriculum-progress-details span{color:var(--muted)}.curriculum-progress-bar{height:10px;border-radius:999px;background:#e5e7eb;overflow:hidden}.curriculum-progress-bar span{display:block;height:100%;background:var(--teal)}.curriculum-bottom-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;border-color:#0da6783d;background:#0da6780a}.curriculum-bottom-actions div{display:grid;gap:3px}.curriculum-bottom-actions strong{color:var(--navy)}.curriculum-bottom-actions span{color:var(--muted);font-size:.9rem}.alert.warning{background:#fffbeb;color:#92400e;border:1px solid #fde68a}@media(max-width:900px){.form-grid.three{grid-template-columns:1fr}.section-heading{flex-direction:column}.teacher-identity-card{align-items:flex-start}.curriculum-header-actions{justify-content:flex-start;width:100%}.curriculum-status-card{max-width:none;width:100%}.curriculum-download-actions{justify-content:flex-start;width:100%}}.distribution-legend .bullet{width:6px;height:6px;border-radius:50%}.flex-row-spaced{display:flex;justify-content:space-between;align-items:center}.flex-align-center{display:flex;align-items:center}.flex-col-align-end{display:flex;flex-direction:column;align-items:flex-end}.gap-1{gap:4px}.gap-2{gap:8px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mb-3{margin-bottom:12px}.block{display:block}.border-b{border-bottom:1px solid #e2e8f0}.border-t{border-top:1px solid #e2e8f0}.p-4{padding:16px}.p-6{padding:24px}.pb-4{padding-bottom:16px}.grid{display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.gap-4{gap:16px}.rounded-xl{border-radius:12px}.shadow-sm{box-shadow:0 1px 2px #0000000d}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.screen-loader{display:grid;place-items:center;height:60vh;font-size:1.1rem;font-weight:800;color:var(--muted)}
