@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap";.csel-root{display:grid;grid-template-columns:440px 1fr;min-height:100%;flex:1;width:100%;min-width:0}@media(max-width:860px){.csel-root{grid-template-columns:1fr}.csel-sidebar{display:none}}.csel-sidebar{background:linear-gradient(160deg,#4338ca,#6366f1 45%,#7c3aed);display:flex;flex-direction:column;justify-content:space-between;padding:28px;position:relative;overflow:hidden}.csel-sidebar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 10% 80%,rgba(255,255,255,.14) 0%,transparent 50%),radial-gradient(circle at 90% 10%,rgba(255,255,255,.08) 0%,transparent 45%);pointer-events:none}.csel-tv{background:#00000047;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex:1;display:flex;flex-direction:column;position:relative;z-index:1;box-shadow:0 8px 32px #0000004d}.csel-tv__screen{position:relative;background:#050508;aspect-ratio:16/9;overflow:hidden}.csel-tv__shine{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.07) 0%,transparent 55%);pointer-events:none;z-index:2}.csel-tv__placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#0d0d1a,#1e1b4b);color:#ffffff59;font-size:13px;font-weight:700;letter-spacing:.04em}.csel-tv__info{padding:18px 22px 20px;display:flex;flex-direction:column;gap:10px}.csel-tv__title{margin:0;font-size:14px;font-weight:800;color:#fff;line-height:1.4}.csel-tv__text{margin:0;font-size:12px;color:#fff9;line-height:1.6;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.csel-tv__live{display:inline-flex;align-items:center;gap:6px;background:#ef4444d9;color:#fff;font-size:9px;font-weight:900;padding:3px 10px;border-radius:99px;letter-spacing:.1em;text-transform:uppercase;width:fit-content}.csel-tv__dot{width:6px;height:6px;border-radius:50%;background:#fff;animation:csel-pulse 1.4s ease-in-out infinite;flex-shrink:0}@keyframes csel-pulse{0%,to{opacity:1}50%{opacity:.3}}.csel-brand{display:flex;align-items:center;gap:12px;padding-top:20px;margin-top:20px;border-top:1px solid rgba(255,255,255,.15);position:relative;z-index:1}.csel-brand__name{font-size:15px;font-weight:700;color:#fff}.csel-brand__name strong{color:#c4b5fd}.csel-brand__tag{font-size:11px;color:#ffffff80;margin-top:2px}.csel-main{background:#f1f5f9;padding:48px 56px;overflow-y:auto;display:flex;flex-direction:column;align-items:center;width:100%;box-sizing:border-box}@media(max-width:640px){.csel-main{padding:28px 16px}}.csel-header{margin-bottom:40px;text-align:center;width:100%;max-width:720px}.csel-header__title{font-size:clamp(24px,3vw,34px);font-weight:900;color:#0f172a;margin:0 0 10px;letter-spacing:-.03em}.csel-header__sub{font-size:16px;color:#64748b;margin:0;font-weight:500}.csel-workspaces{display:flex;gap:32px;width:100%;max-width:720px;flex-wrap:wrap;margin-bottom:36px;justify-content:center}.csel-workspace-col{display:flex;flex-direction:column;gap:14px;flex:1;min-width:220px;max-width:320px}.csel-col-label{font-size:11px;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;margin-bottom:2px}.csel-card{background:#fff;border-radius:20px;padding:22px 18px 16px;border:2px solid #e2e8f0;cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;position:relative;box-shadow:0 2px 10px #0000000d}.csel-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px #0000001a;border-color:var(--accent, #6366f1)}.csel-card--active{border-color:var(--accent, #6366f1);box-shadow:0 0 0 4px var(--accent-soft, rgba(99,102,241,.12)),0 8px 28px #00000014}.csel-card__active-badge{position:absolute;top:10px;right:10px;background:var(--accent, #6366f1);color:#fff;font-size:9px;font-weight:900;padding:3px 9px;border-radius:99px;text-transform:uppercase;letter-spacing:.05em}.csel-card__icon{width:60px;height:60px;border-radius:18px;background:var(--accent-soft, rgba(99,102,241,.08));display:flex;align-items:center;justify-content:center;font-size:28px}.csel-card__name{font-size:15px;font-weight:800;color:#0f172a;line-height:1.3}.csel-card__sub{font-size:11px;color:#94a3b8;font-weight:600}.csel-card__role{font-size:11px;font-weight:700;color:#64748b}.csel-card__badge{background:var(--accent-soft, rgba(99,102,241,.08));color:var(--accent, #6366f1);font-size:10px;font-weight:800;padding:3px 12px;border-radius:99px;text-transform:uppercase;letter-spacing:.04em}.csel-card__cta{font-size:11px;font-weight:800;color:var(--accent, #6366f1);letter-spacing:.05em;text-transform:uppercase;margin-top:4px;opacity:.6;transition:opacity .15s}.csel-card:hover .csel-card__cta{opacity:1}.csel-empty{text-align:center;padding:28px 16px;border:2px dashed #e2e8f0;border-radius:18px;color:#94a3b8;font-size:13px;font-weight:600;background:#ffffff80}.csel-divider{width:100%;max-width:720px;border:none;border-top:1.5px solid #e2e8f0;margin-bottom:24px}.csel-actions-label{font-size:12px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;margin:0 0 16px;text-align:center}.csel-actions{display:flex;gap:12px;flex-wrap:wrap;width:100%;max-width:720px;justify-content:center}.csel-action{flex:1;min-width:180px;max-width:230px;display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:18px;border:2px solid transparent;background:#fff;cursor:pointer;font-family:inherit;transition:transform .15s,box-shadow .15s,border-color .15s;box-shadow:0 2px 8px #0000000d;text-align:left}.csel-action:hover{transform:translateY(-3px);box-shadow:0 10px 28px #0000001a}.csel-action--purple{border-color:#6366f133}.csel-action--purple:hover{border-color:#6366f1}.csel-action--blue{border-color:#3b82f633}.csel-action--blue:hover{border-color:#3b82f6}.csel-action--gold{border-color:#f59e0b33}.csel-action--gold:hover{border-color:#f59e0b}.csel-action__icon{font-size:24px;width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.csel-action--purple .csel-action__icon{background:#6366f11a}.csel-action--blue .csel-action__icon{background:#3b82f61a}.csel-action--gold .csel-action__icon{background:#f59e0b1a}.csel-action__label{font-size:13px;font-weight:800;color:#0f172a;line-height:1.2}.csel-action__desc{font-size:11px;color:#94a3b8;font-weight:500;line-height:1.3;margin-top:2px}.csel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;animation:csel-fade-in .18s ease}@keyframes csel-fade-in{0%{opacity:0}to{opacity:1}}.csel-modal{background:#fff;border-radius:24px;width:100%;max-width:460px;padding:36px 32px 28px;box-shadow:0 24px 70px #0003;animation:csel-slide-up .22s ease;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}@keyframes csel-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.csel-modal__icon{width:72px;height:72px;border-radius:22px;background:#6366f11a;display:flex;align-items:center;justify-content:center;font-size:36px;margin-bottom:4px}.csel-modal__icon--warn{background:#ef44441a}.csel-modal__icon--gold{background:#f59e0b1a}.csel-modal__icon--purple{background:#6366f11a}.csel-modal__title{font-size:20px;font-weight:900;color:#0f172a;margin:0;letter-spacing:-.02em}.csel-modal__body{font-size:14px;color:#475569;line-height:1.6;margin:0}.csel-modal__list{list-style:none;margin:0;width:100%;background:#f8fafc;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;text-align:left}.csel-modal__list li{font-size:13px;color:#475569;font-weight:500;line-height:1.4}.csel-modal__input{width:100%;padding:14px 18px;border-radius:14px;border:2px solid #e2e8f0;font-size:16px;font-weight:700;color:#0f172a;text-align:center;text-transform:uppercase;letter-spacing:.08em;font-family:inherit;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.csel-modal__input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 4px #6366f11f}.csel-modal__footer{display:flex;gap:10px;width:100%;margin-top:4px}.csel-btn{flex:1;padding:13px 18px;border-radius:14px;font-size:14px;font-weight:800;font-family:inherit;cursor:pointer;transition:all .15s;border:none}.csel-btn--ghost{background:#f1f5f9;color:#64748b;border:1.5px solid #e2e8f0}.csel-btn--ghost:hover{background:#e2e8f0}.csel-btn--primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 6px 18px #6366f159}.csel-btn--primary:hover{transform:translateY(-1px);box-shadow:0 10px 24px #6366f173}.csel-btn--primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.csel-btn--gold{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 6px 18px #f59e0b59}.csel-btn--gold:hover{transform:translateY(-1px);box-shadow:0 10px 24px #f59e0b73}.csel-btn--purple{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;box-shadow:0 6px 18px #8b5cf659}.csel-btn--purple:hover{transform:translateY(-1px)}.app-shell{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;overflow:hidden}.app-topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:60px;padding:10px 24px;background:#fffffff7;border-bottom:1px solid rgba(148,163,184,.2);position:sticky;top:0;z-index:1100;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 4px 24px #0f172a0a;flex-shrink:0}.app-logo{display:flex;align-items:center;justify-content:center;gap:10px;font-size:18px;font-weight:800;letter-spacing:-.03em;color:#1e293b}.app-logo-text{color:#1e293b}.app-logo-accent{color:#3b82f6}.app-topbar-right{display:flex;align-items:center;gap:16px;justify-content:flex-end}.app-user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#3b82f6);color:#fff;font-size:15px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.app-body{display:flex;flex:1;overflow:hidden;min-height:0;position:relative;z-index:0}.app-sidebar{width:230px;min-width:230px;background:#fff;border-right:1px solid #e8edf4;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;flex-shrink:0}.sidebar-top-section{padding:14px 12px 10px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid #f1f5f9}.sidebar-link--dashboard{font-size:14px!important;font-weight:800!important;padding:10px 14px!important;border-radius:12px!important;background:#6366f10f}.sidebar-link--dashboard.active{background:#6366f11f!important;color:#4338ca!important;border-left-color:#6366f1!important}.sidebar-btn-switch{width:100%;display:flex;align-items:center;gap:10px;padding:9px 14px;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;cursor:pointer;font-size:12px;font-weight:700;color:#6366f1;font-family:inherit;transition:background .15s,border-color .15s,color .15s,transform .15s;text-align:left}.sidebar-btn-switch:hover{background:#6366f114;border-color:#6366f1;transform:translate(2px)}.app-sidebar-nav{flex:1;padding:8px 12px 16px;display:flex;flex-direction:column;gap:4px}.sidebar-group{margin-bottom:4px}.sidebar-group-label{font-size:10px;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;padding:10px 8px 4px}.sidebar-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.sidebar-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;font-size:13px;font-weight:600;color:#475569;text-decoration:none;border-left:3px solid transparent;transition:background .13s,color .13s,border-color .13s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-link:hover{background:#6366f10f;color:#4338ca}.sidebar-link.active{background:#6366f11a;color:#4338ca;border-left-color:#6366f1;font-weight:700}.sidebar-icon{font-size:15px;flex-shrink:0}.app-main{flex:1;overflow-y:auto;padding:24px 32px;min-width:0}.topbar-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;margin-right:4px;flex-shrink:0}.topbar-hamburger span{display:block;width:22px;height:2px;background:var(--text-main, #1e293b);border-radius:2px;transition:all .2s}@media(max-width:1024px){.topbar-hamburger{display:flex}.app-topbar{padding:8px 14px;min-height:52px}.app-logo-text,#topbar-theme-toggle,#topbar-user-avatar{display:none!important}#btn-signout{font-size:12px!important;padding:6px 12px!important}.app-topbar-right>button{display:none!important}#btn-signout{display:flex!important}.app-topbar-right>div{display:none!important}.app-sidebar{display:none!important}.app-sidebar.sidebar--open{display:flex!important;position:fixed;top:0;left:0;bottom:0;z-index:1000;width:260px;box-shadow:4px 0 32px #0003}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:999}.app-main{padding:12px 14px 80px}}.app-sidebar-nav a.active,.app-sidebar-nav .sidebar-link.active{background:#6366f11a;color:#3730a3;border-left-color:#6366f1;font-weight:700}html.dark-theme .sidebar-top-section{border-bottom-color:#33415566!important}html.dark-theme .sidebar-btn-switch{background:#6366f11a!important;border-color:#6366f14d!important;color:#a5b4fc!important}html.dark-theme .sidebar-group-label{color:#475569!important}html.dark-theme .sidebar-link--dashboard{background:#6366f11a!important}@keyframes orb-drift{0%,to{transform:translate(0) scale(1)}40%{transform:translate(40px,-50px) scale(1.1)}70%{transform:translate(-30px,30px) scale(.93)}}@keyframes fade-up{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes logo-glow{0%,to{box-shadow:0 8px 32px #6366f173,0 0 0 1px #ffffff40}50%{box-shadow:0 12px 48px #6366f1b3,0 0 0 1px #ffffff59}}.auth-page-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px 64px;background:#eef2ff;position:relative;overflow:hidden}.auth-page-wrap:before{content:"";position:fixed;width:900px;height:900px;border-radius:50%;background:radial-gradient(circle,rgba(165,180,252,.55) 0%,rgba(196,181,253,.3) 40%,transparent 70%);top:-300px;right:-200px;animation:orb-drift 14s ease-in-out infinite;pointer-events:none}.auth-page-wrap:after{content:"";position:fixed;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(20,184,166,.25) 0%,rgba(56,189,248,.15) 50%,transparent 70%);bottom:-180px;left:-120px;animation:orb-drift 18s ease-in-out infinite reverse;pointer-events:none}.auth-orb2{position:fixed;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(251,191,36,.18) 0%,transparent 70%);top:50%;left:40%;transform:translate(-50%,-50%);animation:orb-drift 22s ease-in-out infinite;pointer-events:none}.auth-flow{width:100%;max-width:980px;position:relative;z-index:1;animation:fade-up .5s cubic-bezier(.22,.68,0,1.2) both}.auth-split{display:grid;grid-template-columns:380px 1fr;min-height:580px;align-items:stretch;border-radius:32px;overflow:hidden;box-shadow:0 2px 0 1px #ffffffe6,0 32px 100px #4f46e533,0 8px 32px #00000014}@media(max-width:860px){.auth-split{grid-template-columns:1fr}.auth-brand-panel{order:-1;border-radius:32px 32px 0 0!important;min-height:220px}.auth-action-panel{border-radius:0 0 32px 32px;order:1}}.auth-brand-panel{background:linear-gradient(145deg,#4f46e5,#6366f1 35%,#7c3aed 65%,#5b21b6);color:#fff;padding:56px 44px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-brand-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 80%,rgba(255,255,255,.12) 0%,transparent 50%),radial-gradient(circle at 80% 10%,rgba(255,255,255,.1) 0%,transparent 45%),radial-gradient(circle at 60% 60%,rgba(124,58,237,.4) 0%,transparent 60%);pointer-events:none}.auth-brand-panel:after{content:"";position:absolute;bottom:0;right:0;width:220px;height:220px;background:radial-gradient(circle 2px at 20px 20px,rgba(255,255,255,.35) 100%,transparent),radial-gradient(circle 2px at 60px 20px,rgba(255,255,255,.25) 100%,transparent),radial-gradient(circle 2px at 100px 20px,rgba(255,255,255,.2) 100%,transparent),radial-gradient(circle 2px at 140px 20px,rgba(255,255,255,.15) 100%,transparent),radial-gradient(circle 2px at 20px 60px,rgba(255,255,255,.25) 100%,transparent),radial-gradient(circle 2px at 60px 60px,rgba(255,255,255,.3) 100%,transparent),radial-gradient(circle 2px at 100px 60px,rgba(255,255,255,.2) 100%,transparent),radial-gradient(circle 2px at 20px 100px,rgba(255,255,255,.2) 100%,transparent),radial-gradient(circle 2px at 60px 100px,rgba(255,255,255,.15) 100%,transparent);pointer-events:none}.auth-brand-header{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:32px}.auth-brand-logo-img-wrap{width:72px;height:72px;border-radius:18px;background:transparent;border:none;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 8px 24px rgba(0,0,0,.35));animation:logo-glow 3s ease-in-out infinite}.auth-brand-logo-placeholder{font-size:30px;font-weight:900;color:#fff}.auth-brand-logo{font-size:30px;font-weight:900;letter-spacing:-.04em;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.2)}.auth-brand-logo span{color:#c4b5fd}.auth-brand-tagline{font-size:19px;font-weight:600;color:#ffffffeb;line-height:1.45;margin:0}.auth-brand-chips{display:flex;flex-direction:column;gap:11px;margin-top:24px}.auth-brand-chip{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:#ffffffc7}.auth-brand-chip-dot{width:7px;height:7px;border-radius:50%;background:#ffffffe6;flex-shrink:0;box-shadow:0 0 8px #fffc}.auth-brand-footnote{margin-top:auto;padding-top:24px;font-size:11px;color:#ffffff73;line-height:1.5;border-top:1px solid rgba(255,255,255,.12)}.auth-action-panel{background:#ffffffeb;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);padding:52px 48px;display:flex;flex-direction:column;justify-content:center;align-items:center}.auth-action-inner{width:100%;max-width:380px}.auth-action-title{font-size:24px;font-weight:900;color:#1e1b4b;margin:0 0 6px;letter-spacing:-.03em}.auth-action-sub{font-size:14px;color:#64748b;margin:0 0 28px;line-height:1.5}.auth-primary-actions{display:flex;flex-direction:column;gap:12px}.btn-primary{width:100%;padding:13px 18px;border-radius:12px;border:none;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 4px 18px #6366f166;transition:filter .15s,transform .12s,box-shadow .15s}.btn-primary:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 8px 28px #6366f180}.btn-secondary{width:100%;padding:13px 18px;border-radius:12px;border:1.5px solid #e2e8f0;background:#fff;color:#334155;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s,transform .12s}.btn-secondary:hover{background:#f8fafc;border-color:#c7d2fe;transform:translateY(-1px)}.btn-secondary:disabled,.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.auth-divider{display:flex;align-items:center;gap:14px;margin:20px 0;color:#cbd5e1;font-size:11px;font-weight:700;letter-spacing:.08em}.auth-btn-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;padding:12px 20px;border-radius:12px;border:1.5px solid #e2e8f0;background:#fff;color:#334155;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;box-shadow:0 1px 4px #0000000d;transition:all .18s}.auth-btn-google:hover{background:#f8fafc;border-color:#c7d2fe;box-shadow:0 4px 14px #6366f11f;transform:translateY(-1px)}form{display:flex;flex-direction:column;gap:14px;margin-bottom:0}form label{display:block;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}form input[type=text],form input[type=email],form input[type=password],form input[type=date]{width:100%;padding:12px 14px;border-radius:11px;border:1.5px solid #e2e8f0;background:#f8fafc;font-size:14px;color:#1e293b;outline:none;font-family:inherit;transition:border-color .15s,box-shadow .15s,background .15s;box-sizing:border-box}form input::placeholder{color:#94a3b8}form input:focus{border-color:#6366f1;background:#fff;box-shadow:0 0 0 3px #6366f11f}.auth-btn-submit{display:block;width:100%;padding:13px 18px;border-radius:12px;border:none;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-size:15px;font-weight:700;cursor:pointer;margin-top:4px;font-family:inherit;box-shadow:0 4px 18px #6366f161;transition:filter .15s,transform .12s,box-shadow .15s}.auth-btn-submit:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 8px 28px #6366f17a}.auth-btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-form-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:13px}.auth-field-error{font-size:11px;font-weight:600;color:#dc2626;margin-top:3px;min-height:16px;line-height:1.4}.input-toggle-btn{position:absolute;right:10px;background:none;border:none;padding:4px;cursor:pointer;color:#94a3b8;display:flex;align-items:center;transition:color .15s}.input-toggle-btn:hover{color:#6366f1}.auth-link-quiet button{background:none;border:none;padding:0;font:inherit;font-weight:700;color:#6366f1;cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color .15s}.auth-link-quiet button:hover{color:#4f46e5}.auth-admin-link{margin-top:24px;text-align:center;font-size:12px;color:#94a3b8}.auth-foot-link{background:none;border:none;padding:0;font:inherit;color:#94a3b8;text-decoration:underline;cursor:pointer;transition:color .15s}.auth-foot-link:hover{color:#6366f1}form input[type=checkbox]{accent-color:#6366f1}@media(max-width:860px){.auth-action-panel{border-radius:0 0 32px 32px;padding:36px 28px 44px}}@media(max-width:540px){.auth-page-wrap{padding:0;background:#eef2ff;align-items:flex-start}.auth-split{border-radius:0!important;box-shadow:none!important;min-height:100vh}.auth-brand-panel{padding:24px 20px 20px!important;min-height:180px!important}.auth-brand-chips,.auth-brand-footnote{display:none}.auth-brand-logo{font-size:20px!important}.auth-brand-tagline{font-size:12px!important;margin-top:4px!important}.auth-action-panel{padding:28px 20px 36px}.auth-action-title{font-size:22px!important}.btn-primary,.btn-secondary,.auth-btn-google{min-height:52px!important;font-size:16px!important;border-radius:16px!important}.auth-primary-actions{gap:12px}form input,.ds-input{min-height:52px!important;font-size:16px!important;border-radius:14px!important}}.ndash-wrap{max-width:1140px;margin:0 auto;padding:20px 24px 32px}.sup-search{width:100%;padding:10px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:14px;font-weight:500;color:#1e293b;font-family:inherit;background:#f8fafc;box-sizing:border-box;transition:border-color .15s;display:block}.sup-search:focus{outline:none;border-color:#6366f1;background:#fff}.form-input{width:100%;padding:10px 14px;border:2px solid #e2e8f0;border-radius:12px;font-size:14px;font-weight:500;color:#1e293b;font-family:inherit;background:#f8fafc;box-sizing:border-box;transition:border-color .15s}.form-input:focus{outline:none;border-color:#6366f1;background:#fff}.form-textarea{width:100%;padding:10px 14px;border:2px solid #e2e8f0;border-radius:12px;font-size:14px;font-weight:500;color:#1e293b;font-family:inherit;background:#f8fafc;box-sizing:border-box;resize:vertical;transition:border-color .15s}.form-textarea:focus{outline:none;border-color:#6366f1;background:#fff}.btn-secondary{padding:8px 16px;border-radius:10px;background:#f1f5f9;color:#475569;border:1.5px solid #e2e8f0;cursor:pointer;font-size:13px;font-weight:700;font-family:inherit;transition:background .15s,border-color .15s}.btn-secondary:hover{background:#e2e8f0;border-color:#cbd5e1}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{padding:8px 16px;border-radius:10px;background:#fee2e2;color:#dc2626;border:1.5px solid #fca5a5;cursor:pointer;font-size:13px;font-weight:700;font-family:inherit;transition:background .15s}.btn-danger:hover{background:#fca5a5}.member-info .member-role{font-size:11px;color:#94a3b8;font-weight:600;margin-top:2px}.member-info .member-subjects{font-size:11px;color:#64748b;font-weight:600}.sup-obs-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:8px;box-shadow:0 2px 6px #0000000a}.sup-obs-header{display:flex;align-items:center;gap:10px}.sup-obs-teacher{font-size:13px;font-weight:800;color:#1e293b}.sup-obs-date{font-size:11px;color:#94a3b8;margin-left:auto}.sup-obs-text{font-size:13px;color:#475569;line-height:1.6}.sup-obs-rating{display:flex;gap:6px;flex-wrap:wrap}.sup-obs-tag{font-size:10px;font-weight:800;padding:3px 10px;border-radius:99px;text-transform:uppercase;letter-spacing:.06em}.seat-occupied{background:#ede9fe!important;border-color:#a78bfa!important}.seat-empty{background:#f8fafc!important;border-color:#e2e8f0!important}.stat-chip{display:flex;flex-direction:column;align-items:center;background:#f8fafc;border-radius:12px;padding:14px 16px;border:1.5px solid #f1f5f9;min-width:80px;text-align:center}.stat-chip__val{font-size:22px;font-weight:900;color:#1e293b}.stat-chip__lbl{font-size:10px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin-top:2px}.rank-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;background:#f8fafc;border:1.5px solid #f1f5f9;margin-bottom:6px}.rank-pos{font-size:18px;font-weight:900;width:32px;text-align:center;flex-shrink:0}.rank-name{flex:1;font-size:14px;font-weight:700;color:#1e293b}.rank-score{font-size:16px;font-weight:900;color:#4f46e5}.msg-bubble{background:#f1f5f9;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.msg-bubble__subject{font-size:13px;font-weight:800;color:#1e293b}.msg-bubble__body{font-size:13px;color:#475569;line-height:1.5}.msg-bubble__meta{font-size:11px;color:#94a3b8;font-weight:600}:root{--nav-blue: #3b82f6;--nav-purple: #8b5cf6;--nav-teal: #14b8a6;--nav-red: #f43f5e;--nav-amber: #f59e0b;--nav-green: #10b981;--nav-orange: #f97316;--nav-sky: #0ea5e9;--nav-indigo: #6366f1;--nav-slate: #64748b;--nav-violet: #a855f7;--dash-qa-asist: linear-gradient(135deg, #14b8a6 0%, #0f766e 100%);--dash-qa-alumno: linear-gradient(135deg, #60a5fa 0%, #1d4ed8 100%);--dash-qa-anec: linear-gradient(135deg, #1d4ed8 0%, #0f766e 100%);--dash-qa-eval: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%)}.modern-command-center{background:linear-gradient(135deg,#0284c7,#2563eb 55%,#4f46e5);border-radius:24px;padding:28px 32px;margin:0 0 28px;display:flex;justify-content:space-between;align-items:center;color:#fff;position:relative;overflow:hidden;box-shadow:0 20px 50px #1e1b4b26,inset 0 0 0 1px #ffffff1a;border:1px solid rgba(255,255,255,.05);gap:16px}.mcc-logo-wrap{width:72px;height:72px;border-radius:20px;background:#ffffff26;border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;box-shadow:0 4px 16px #0003}.mcc-logo{width:100%;height:100%;object-fit:contain;padding:6px}.mcc-logo-placeholder{font-size:34px}.mcc-institution{flex:1;min-width:0}.mcc-institution h1{font-size:clamp(18px,3vw,28px);font-weight:900;color:#fff;margin:0;text-shadow:0 2px 8px rgba(0,0,0,.3);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mcc-institution p{font-size:18px;font-weight:900;color:#fff;text-transform:uppercase;letter-spacing:.06em;text-shadow:0 2px 8px rgba(0,0,0,.3);margin:8px 0 0}.mcc-profile{display:flex;align-items:center;gap:14px;flex-shrink:0;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:12px 18px}.mcc-profile__avatar{width:48px;height:48px;border-radius:50%;background:#ffffff40;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:900;color:#fff;border:2px solid rgba(255,255,255,.4)}.mcc-profile__details{display:flex;flex-direction:column;gap:2px}.mcc-profile__role{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#a5b4fce6}.mcc-profile__name{font-size:15px;font-weight:800;color:#fff}.mcc-profile__date{font-size:11px;color:#fff9;display:flex;align-items:center;gap:6px}.modern-pill-sm{display:inline-flex;align-items:center;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:20px;background:#10b98133;color:#6ee7b7;border:1px solid rgba(16,185,129,.3)}.dir-nav-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-bottom:28px}.dir-nav-tile{position:relative;border:1px solid rgba(255,255,255,.4);background:#fff9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:16px;padding:14px 10px 12px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;font:inherit;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00000008}.dir-nav-tile .p-ico{font-size:22px;transition:transform .3s ease}.dir-nav-tile span:nth-child(2){font-size:12px;font-weight:700;color:#334155}.dir-nav-tile .tile-detail{font-size:10px;color:#94a3b8}.dir-nav-tile.is-active span:nth-child(2){font-weight:800;color:#1e293b}.dir-nav-tile.np-slate.is-active{background:#64748b1a!important;border-color:var(--nav-slate)!important}.dir-nav-tile.np-orange.is-active{background:#f973161a!important;border-color:var(--nav-orange)!important}.dir-nav-tile.np-emerald.is-active{background:#0596691a!important;border-color:#059669!important}.dir-nav-tile.np-emerald:hover{border-color:#059669}.modern-stat-card{background:#ffffffb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.4);border-radius:24px;padding:24px;display:flex;align-items:center;gap:18px;box-shadow:0 8px 32px #1f26870d;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden;cursor:pointer}.stat-ico{width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:24px;transition:all .3s ease;box-shadow:0 4px 12px #0000000d;flex-shrink:0}.stat-content{flex:1;min-width:0}.stat-label{font-size:11px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.1em;margin:0}.stat-value{font-family:var(--font-heading, "Outfit", sans-serif);font-size:30px;font-weight:800;color:#1e293b;margin:2px 0 0;letter-spacing:-.02em}.stat-detail-link{font-size:10px;font-weight:700;color:#94a3b8;text-transform:lowercase;align-self:flex-end;transition:color .2s}.dir-dash__card{background:#fff9;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border:1px solid rgba(255,255,255,.5);border-radius:28px;padding:24px;margin-bottom:24px;box-shadow:0 10px 15px -3px #0000000d,0 4px 6px -4px #00000008;transition:all .3s cubic-bezier(.4,0,.2,1)}.dir-dash__card h3{margin:0 0 18px;font-size:18px;font-weight:800;color:var(--color-primary-deep, #1d4ed8);letter-spacing:-.02em;display:flex;align-items:center;gap:10px}.join-card{display:flex;align-items:center;gap:12px;padding:14px;background:#fff;border-radius:14px;border:1px solid #e2e8f0;margin-bottom:10px}.join-info{flex:1}.join-name{font-size:14px;font-weight:700;color:#1e293b}.join-meta{font-size:12px;color:#64748b;margin-top:2px}.join-actions{display:flex;gap:8px}.btn-approve{padding:6px 14px;border-radius:8px;border:none;cursor:pointer;background:#22c55e;color:#fff;font-size:13px;font-weight:700;transition:background .2s}.btn-approve:hover{background:#16a34a}.btn-reject{padding:6px 12px;border-radius:8px;border:none;cursor:pointer;background:#f1f5f9;color:#64748b;font-size:13px;transition:background .2s}.btn-reject:hover{background:#fee2e2;color:#dc2626}.members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.member-card{background:#fff;border:2px solid transparent;border-radius:20px;padding:18px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 12px #0000000a;border-color:var(--role-border, #e2e8f0)}.member-card:hover{transform:translateY(-4px);border-color:var(--role-color, #3b82f6);box-shadow:0 12px 24px #00000014}.role--teacher{--role-color: #8b5cf6;--role-border: #ddd6fe;--role-gradient: linear-gradient(135deg,#a78bfa,#8b5cf6)}.role--director{--role-color: #0f172a;--role-border: #cbd5e1;--role-gradient: linear-gradient(135deg,#1e293b,#0f172a)}.role--coordinator{--role-color: #0d9488;--role-border: #99f6e4;--role-gradient: linear-gradient(135deg,#2dd4bf,#0d9488)}.role--orientador{--role-color: #0284c7;--role-border: #bae6fd;--role-gradient: linear-gradient(135deg,#38bdf8,#0284c7)}.role--registrar{--role-color: #ec4899;--role-border: #fbcfe8;--role-gradient: linear-gradient(135deg,#f472b6,#ec4899)}.member-avatar{width:44px;height:44px;border-radius:14px;background:var(--role-gradient, linear-gradient(135deg,#3b82f6,#1d4ed8));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:18px;flex-shrink:0}.member-info{flex:1;min-width:0}.member-name{font-size:14px;font-weight:700;color:#1e293b}.member-role-badge{display:inline-flex;margin-top:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:20px;background:#0000000d;color:var(--role-color, #475569)}.members-show-more{background:none;border:1px dashed #cbd5e1;border-radius:14px;padding:12px;color:#64748b;font-size:13px;font-weight:600;cursor:pointer;width:100%;transition:all .2s}.members-show-more:hover{background:#f8fafc;border-color:#3b82f6;color:#3b82f6}.dash-panel--accent-line:after{content:"";position:absolute;top:0;left:24px;right:24px;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,#3b82f6,#14b8a6);opacity:.8}.dash-panel-title{display:flex;align-items:center;gap:12px;margin:0 0 16px;font-size:1.1rem;font-weight:800;color:#1d4ed8;letter-spacing:-.02em;font-family:var(--font-heading, "Outfit", sans-serif)}.dash-ico{font-size:20px;line-height:1;padding:8px;background:#fffc;border-radius:10px;box-shadow:0 2px 6px #0000000a;border:1px solid rgba(255,255,255,.6)}.tdash-actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px}.tdash-action-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:1px solid rgba(0,0,0,.04);border-radius:20px;padding:24px 10px;display:flex;flex-direction:column;align-items:center;gap:14px;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 12px #00000005;position:relative;overflow:hidden;font:inherit}.tdash-action-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--card-color, #3b82f6);opacity:.8}.tdash-action-card:hover{transform:translateY(-8px);box-shadow:0 20px 30px #0000000f;border-color:var(--card-color, #3b82f6)}.tdash-action-card:hover .tdash-action-card__icon{background:var(--card-color, #3b82f6);color:#fff;transform:scale(1.1) rotate(5deg)}.tdash-action-card span{font-size:13px;font-weight:800;color:#475569;letter-spacing:.2px;text-align:center}.dash-qa-btn{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:none;border-radius:14px;font-size:15px;font-weight:700;cursor:pointer;color:#fff;text-align:left;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 12px #00000014;font:inherit}.dash-qa-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000001f}.dash-home-grid{display:grid;grid-template-columns:1fr minmax(260px,300px);gap:18px;margin-bottom:22px;align-items:start}@media(max-width:900px){.dash-home-grid{grid-template-columns:1fr}}.dash-course-list{display:flex;flex-direction:column;gap:0}.dash-course-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 10px;border-bottom:1px solid #f1f5f9;cursor:pointer;border-radius:10px;transition:background .15s;background:transparent;border-left:none;border-right:none;border-top:none;font:inherit;color:inherit;text-align:left;width:100%}.dash-course-row:hover{background:#3b82f60a}.dash-course-row strong{display:block;font-size:15px;color:#1e293b}.dash-course-row span{font-size:13px;color:#64748b}.dash-course-row .dash-chev{color:#94a3b8;font-size:18px}.activity-list{display:flex;flex-direction:column;gap:12px}.activity-row{padding:14px 16px;background:#fff9;border-radius:14px;border:1px solid rgba(255,255,255,.5);border-left-width:3px;display:flex;align-items:flex-start;gap:12px}.activity-icon{font-size:18px;flex-shrink:0}.activity-label{font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.activity-value{font-size:15px;font-weight:600;color:#1e293b;margin-top:2px}.empty-msg{font-size:14px;color:#94a3b8;padding:16px 0;text-align:center}.btn-primary{padding:10px 20px;border-radius:12px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;cursor:pointer;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 12px #3b82f640}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3b82f659}.btn-ghost{padding:8px 14px;border-radius:10px;background:#3b82f60f;color:#3b82f6;border:1px solid rgba(59,130,246,.15);cursor:pointer;font-size:13px;font-weight:700;transition:all .2s}.btn-ghost:hover{background:#3b82f61f}.announcements-list{display:flex;flex-direction:column;gap:10px}.announcement-card{padding:14px;background:#ffffff80;border-radius:14px;border:1px solid #e2e8f0}.ann-title{font-size:14px;font-weight:700;color:#1e293b}.ann-body{font-size:13px;color:#475569;margin-top:4px}.ann-meta{font-size:11px;color:#94a3b8;margin-top:6px}.mcc-eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:#ffffffa6}.mcc-pill{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:2px 10px;border-radius:20px;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.25)}.mcc-teacher-right{display:flex;flex-direction:column;align-items:flex-end;gap:12px;flex-shrink:0}.mcc-stat-pill{background:#ffffff2e;border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:12px 18px;text-align:center;min-width:76px}.mcc-stat-pill__val{font-size:24px;font-weight:900;font-family:var(--font-heading,"Outfit",sans-serif);line-height:1}.mcc-stat-pill__lbl{font-size:10px;font-weight:700;opacity:.75;margin-top:4px}.ndash-ticker{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding:13px 20px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#0284c7,#2563eb,#4f46e5);box-shadow:0 4px 20px #2563eb38}.ndash-ticker__ico{width:38px;height:38px;border-radius:12px;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.ndash-ticker__text{flex:1;font-size:13px;font-weight:700;color:#fff}.ndash-ticker__pill{font-size:11px;font-weight:800;padding:5px 14px;border-radius:99px;background:#ffffff38;color:#fff;border:1.5px solid rgba(255,255,255,.4);white-space:nowrap;flex-shrink:0;letter-spacing:.04em}.ndash-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:16px;margin-bottom:28px}.ndash-action-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:22px 12px;aspect-ratio:1 / .95;border-radius:24px;background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 15px #0000000a;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);overflow:hidden;border:none;width:100%;font:inherit}.ndash-action-tile .p-ico{font-size:28px;transition:transform .3s ease}.ndash-action-tile span:not(.p-ico):not(.tile-detail){font-size:12px;font-weight:800;color:#334155;text-transform:uppercase;letter-spacing:.5px;text-align:center;line-height:1.2}.ndash-action-tile .tile-detail{font-size:10px;font-weight:500;color:#94a3b8;text-align:center;line-height:1.2}.ndash-action-tile:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 12px 30px #0000001a}.ndash-action-tile:hover .p-ico{transform:scale(1.2) rotate(5deg)}.ndash-action-tile:hover span{color:#fff}.ndash-action-tile:hover .tile-detail{color:#ffffffbf}.ndash-action-tile.np-blue:hover{background:linear-gradient(135deg,#3b82f6,#2563eb)}.ndash-action-tile.np-purple:hover{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.ndash-action-tile.np-amber:hover{background:linear-gradient(135deg,#f59e0b,#d97706)}.ndash-action-tile.np-red:hover{background:linear-gradient(135deg,#ef4444,#dc2626)}.ndash-action-tile.np-sky:hover{background:linear-gradient(135deg,#0ea5e9,#0284c7)}.ndash-action-tile.np-orange:hover{background:linear-gradient(135deg,#f97316,#ea580c)}.ndash-action-tile.np-violet:hover{background:linear-gradient(135deg,#a855f7,#9333ea)}.ndash-action-tile.np-teal:hover{background:linear-gradient(135deg,#14b8a6,#0d9488)}.ndash-action-tile.np-indigo:hover{background:linear-gradient(135deg,#6366f1,#4f46e5)}.ndash-action-tile.np-green:hover{background:linear-gradient(135deg,#10b981,#059669)}.ndash-action-tile.np-slate:hover{background:linear-gradient(135deg,#64748b,#475569)}.ndash-action-tile.is-active,.ndash-action-tile.is-active span{color:#fff}.ndash-action-tile.np-indigo.is-active{background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 8px 24px #6366f159}.ndash-action-tile.np-blue.is-active{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 8px 24px #3b82f659}.ndash-grid{display:grid;grid-template-columns:1fr 380px;gap:20px;align-items:start}@media(max-width:860px){.ndash-grid{grid-template-columns:1fr}}.ndash-card{background:#fff;border-radius:24px;padding:22px 24px;border:1px solid rgba(226,232,240,.6);box-shadow:0 1px 2px #0000000a,0 4px 12px #0000000f,0 16px 40px #6366f11a;transition:transform .2s ease,box-shadow .2s ease;margin-bottom:20px}.ndash-card:hover{transform:translateY(-5px);box-shadow:0 2px 4px #0000000d,0 8px 20px #00000014,0 28px 56px #6366f126}.ndash-card-title{font-size:14px;font-weight:800;color:#0f172a;display:flex;align-items:center;gap:7px;margin:0 0 16px}.ndash-card-title-ico{font-size:17px}.ndash-timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.ndash-sidebar{display:flex;flex-direction:column}.tdash-timeline-list{display:flex;flex-direction:column;gap:0}.tdash-timeline-item{display:flex;align-items:center;gap:12px;padding:12px 8px;border-bottom:1px solid #f1f5f9;background:transparent;border-left:none;border-right:none;border-top:none;cursor:pointer;font:inherit;text-align:left;width:100%;transition:background .15s;border-radius:10px}.tdash-timeline-item:last-child{border-bottom:none}.tdash-timeline-item:hover{background:#6366f10a}.tdash-timeline-time{font-size:11px;font-weight:700;color:#6366f1;white-space:nowrap;min-width:80px}.tdash-timeline-info{flex:1}.tdash-timeline-name{font-size:14px;font-weight:700;color:#0f172a}.tdash-timeline-chev{color:#94a3b8;font-size:18px}.tdash-course-pill{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0;cursor:pointer;font:inherit;text-align:left;width:100%;transition:all .2s}.tdash-course-pill:hover{background:#eff6ff;border-color:#bfdbfe}.tdash-course-pill__ico{font-size:20px}.tdash-course-pill__body{flex:1}.tdash-course-pill__name{font-size:14px;font-weight:700;color:#0f172a}.tdash-course-pill__meta{font-size:12px;color:#64748b;margin-top:2px}.ndash-activity-list{display:flex;flex-direction:column;gap:10px}.ndash-activity-row{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:12px;background:#f8fafc;border-left:3px solid #e2e8f0}.ndash-activity-ico{font-size:18px;flex-shrink:0}.ndash-activity-lbl{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.ndash-activity-val{font-size:14px;font-weight:600;color:#0f172a;margin-top:2px}.ndash-announcements{display:flex;flex-direction:column;gap:10px}.ndash-announcement{padding:12px 14px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}.ndash-announcement__title{font-size:13px;font-weight:700;color:#0f172a}.ndash-announcement__body{font-size:12px;color:#475569;margin-top:4px}.ndash-announcement__meta{font-size:11px;color:#94a3b8;margin-top:5px}.ndash-action-link{display:block;width:100%;text-align:center;margin-top:12px;padding:8px;border-radius:10px;border:1px dashed #bfdbfe;background:none;cursor:pointer;font:inherit;font-size:13px;font-weight:700;color:#3b82f6;transition:all .2s}.ndash-action-link:hover{background:#eff6ff;border-color:#3b82f6}@media(max-width:600px){.modern-command-center{flex-direction:column;padding:20px;gap:16px}.mcc-profile{width:100%}.dir-nav-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.tdash-actions-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:1024px){.dir-nav-grid{grid-template-columns:repeat(3,1fr);gap:10px}.dir-nav-tile{padding:16px 8px 14px;border-radius:18px;min-height:90px}.dir-nav-tile .p-ico{font-size:28px}.dir-nav-tile span:nth-child(2){font-size:11px}.dir-nav-tile .tile-detail{display:none}.stats-grid-modern{grid-template-columns:repeat(2,1fr);gap:12px}.modern-stat-card{padding:18px 14px}.stat-value{font-size:24px}.dir-dash__card{padding:16px;border-radius:20px}.modern-command-center{flex-direction:row;flex-wrap:wrap;padding:18px 16px;gap:12px}.mcc-institution h1{font-size:16px}.mcc-profile{padding:10px 14px}.mcc-profile__name{font-size:13px}.mcc-logo-wrap{width:54px;height:54px}.dir-nav-tile span:nth-child(2){white-space:normal;text-align:center;line-height:1.2}.ndash-actions{grid-template-columns:repeat(4,1fr);gap:10px}.ndash-action-tile{padding:18px 8px;border-radius:18px;min-height:80px}.ndash-action-tile .p-ico{font-size:26px}.ndash-action-tile span:not(.p-ico):not(.tile-detail){font-size:10px}.ndash-action-tile .tile-detail{display:none}.ndash-wrap{padding:12px 14px 24px}.ndash-actions{grid-template-columns:repeat(3,1fr)!important;gap:10px!important}.ndash-action-tile{padding:18px 8px!important;border-radius:18px!important;min-height:80px!important;aspect-ratio:unset!important}.ndash-action-tile .p-ico{font-size:26px!important}.tdash-timeline-item{padding:10px 8px}.tdash-timeline-name{font-size:13px}.stat-chip{min-width:70px;padding:10px}.stat-chip__val{font-size:20px}.ndash-sidebar{display:none}.ndash-grid{grid-template-columns:1fr!important}.ndash-card{padding:16px!important;border-radius:18px!important}.ndash-wrap{padding:12px 14px 24px!important}.dir-members-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.mcc-profile-teacher{display:none!important}.ndash-action-link{white-space:normal!important;text-align:center!important;overflow:visible!important}.empty-msg{overflow:visible!important;white-space:normal!important;text-overflow:clip!important}}.courses-page{display:flex;flex-direction:column;gap:24px;max-width:1100px}.courses-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.courses-title{font-size:26px;font-weight:900;color:var(--text-main);margin:0 0 4px;letter-spacing:-.03em}.courses-subtitle{font-size:13px;color:var(--text-muted);font-weight:600;margin:0}.courses-search{width:100%;max-width:360px;padding:10px 16px;border-radius:12px;border:1.5px solid var(--border-color);background:var(--bg-card);font-size:14px;font-family:inherit;color:var(--text-main);outline:none;transition:border-color .15s}.courses-search:focus{border-color:#3b82f6}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.courses-empty{font-size:14px;color:var(--text-muted);padding:40px 0;text-align:center}.course-card{background:var(--bg-card);border-radius:18px;border:1px solid var(--border-color);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}.course-card:hover{box-shadow:0 6px 20px #00000014;transform:translateY(-2px)}.course-card-top{display:flex;align-items:center;gap:14px;padding:18px 18px 14px;cursor:pointer}.course-initial{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;font-size:20px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0}.course-name{font-size:16px;font-weight:800;color:var(--text-main)}.course-meta{font-size:12px;color:var(--text-muted);font-weight:600;margin-top:3px}.course-card-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 18px 14px;border-top:1px solid var(--border-color);gap:8px}.course-students{font-size:12px;font-weight:700;color:var(--text-muted)}.course-actions{display:flex;gap:8px}.btn-enter{padding:6px 14px;border-radius:8px;border:none;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:filter .15s}.btn-enter:hover{filter:brightness(1.1)}.btn-del{padding:6px 10px;border-radius:8px;border:1px solid #fca5a5;background:#fff1f2;color:#ef4444;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s}.btn-del:hover{background:#fecaca}.modal-box{background:var(--bg-card);border-radius:20px;width:100%;max-width:420px;padding:28px;display:flex;flex-direction:column;gap:20px}.modal-form{display:flex;flex-direction:column;gap:14px}.form-select{padding:10px 14px;border-radius:10px;border:1.5px solid var(--border-color);background:var(--bg-main);font-size:14px;font-family:inherit;color:var(--text-main);outline:none;cursor:pointer;transition:border-color .15s}.st-page{display:flex;flex-direction:column;gap:24px;max-width:900px}.st-page-header{display:flex;flex-direction:column;gap:4px}.st-page-title{font-size:26px;font-weight:900;color:var(--text-main);margin:0;letter-spacing:-.03em}.st-page-sub{font-size:13px;color:var(--text-muted);font-weight:600;margin:0}.st-loading{font-size:14px;color:var(--text-muted);padding:40px 0;text-align:center}.st-course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.st-course-card{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;border:1.5px solid var(--border-color);background:var(--bg-card);cursor:pointer;font-family:inherit;text-align:left;transition:box-shadow .15s,transform .15s}.st-course-card:hover{box-shadow:0 4px 16px #00000014;transform:translateY(-2px)}.st-course-initial{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;font-size:18px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0}.st-course-name{font-size:15px;font-weight:800;color:var(--text-main)}.st-course-meta{font-size:12px;color:var(--text-muted);font-weight:600;margin-top:2px}.st-view{display:flex;flex-direction:column;gap:16px}.st-view-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.st-view-header-left{display:flex;align-items:flex-start;gap:14px}.st-back{background:none;border:1.5px solid var(--border-color);border-radius:10px;padding:8px 14px;font-size:13px;font-weight:700;color:var(--text-muted);cursor:pointer;font-family:inherit;white-space:nowrap;margin-top:4px;transition:background .15s,color .15s}.st-back:hover{background:var(--bg-main);color:var(--text-main)}.st-view-title{font-size:22px;font-weight:900;color:var(--text-main);margin:0 0 4px;letter-spacing:-.03em}.st-view-sub{font-size:12px;color:var(--text-muted);font-weight:600;margin:0}.st-search{width:100%;max-width:360px;padding:10px 16px;border-radius:12px;border:1.5px solid var(--border-color);background:var(--bg-card);font-size:14px;font-family:inherit;color:var(--text-main);outline:none;transition:border-color .15s}.st-search:focus{border-color:#8b5cf6}.st-list{display:flex;flex-direction:column;gap:0;background:var(--bg-card);border-radius:16px;border:1px solid var(--border-color);overflow:hidden}.st-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #f1f5f9;cursor:pointer;transition:background .12s}.st-row:last-child{border-bottom:none}.st-row:hover{background:#f8fafc}.st-row-num{font-size:11px;font-weight:800;color:var(--text-muted);min-width:24px;text-align:center;flex-shrink:0}.st-row-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;font-size:15px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.st-mini-avatar{width:100%;height:100%;object-fit:cover}.st-row-info{flex:1;min-width:0}.st-row-name{font-size:14px;font-weight:700;color:var(--text-main)}.st-row-meta{font-size:11px;color:var(--text-muted);font-weight:600;margin-top:2px}.st-row-arrow{font-size:18px;color:#cbd5e1;flex-shrink:0}.sidebar-backdrop{position:fixed;top:60px;right:0;bottom:0;background:transparent;z-index:9000;display:flex;justify-content:flex-end;pointer-events:none}.sidebar-backdrop>*{pointer-events:all}.sidebar-panel{background:var(--bg-card);width:380px;max-width:100vw;height:100%;display:flex;flex-direction:column;box-shadow:-8px 0 40px #0000002e;overflow:hidden}.sidebar-head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border-color)}.st-panel-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;font-size:18px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.st-avatar-img{width:100%;height:100%;object-fit:cover}.sidebar-sub{font-size:11px;color:var(--text-muted);font-weight:600;margin:0}.sidebar-close{background:none;border:none;font-size:18px;color:var(--text-muted);cursor:pointer;padding:4px;margin-left:auto;flex-shrink:0}.sidebar-body{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:16px}.st-detail-grid{display:flex;flex-direction:column;gap:0;border-radius:12px;border:1px solid var(--border-color);overflow:hidden}.info-row{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid #f1f5f9;font-size:13px}.info-row:last-child{border-bottom:none}.info-label{color:var(--text-muted);font-weight:600;flex-shrink:0}.info-value{color:var(--text-main);font-weight:700;text-align:right}.st-panel-actions{display:flex;gap:10px}.st-form{display:flex;flex-direction:column;gap:16px}.st-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:500px){.st-form-grid{grid-template-columns:1fr}}.st-form-extra{background:#f8fafc;border-radius:12px;border:1px solid var(--border-color);overflow:hidden}.st-form-summary{padding:12px 16px;font-size:12px;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;-webkit-user-select:none;user-select:none}.st-form-extra-grid{padding:0 16px 16px}.form-label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.req{color:#ef4444}.form-input{padding:10px 14px;border-radius:10px;border:1.5px solid var(--border-color);background:var(--bg-card);font-size:14px;font-family:inherit;color:var(--text-main);outline:none;transition:border-color .15s}.form-input:focus{border-color:#8b5cf6}.form-select{padding:10px 14px;border-radius:10px;border:1.5px solid var(--border-color);background:var(--bg-card);font-size:14px;font-family:inherit;color:var(--text-main);outline:none;cursor:pointer;transition:border-color .15s}.form-select:focus{border-color:#8b5cf6}.modal-box{background:var(--bg-card);border-radius:20px;width:100%;max-width:440px;padding:28px;display:flex;flex-direction:column;gap:20px;max-height:90vh;overflow-y:auto}.modal-box--wide{max-width:600px}.modal-close{background:none;border:none;font-size:18px;color:var(--text-muted);cursor:pointer;padding:4px;line-height:1}.modal-close:hover{color:var(--text-main)}.modal-footer{display:flex;gap:10px;justify-content:flex-end;padding-top:4px}.btn-primary{padding:10px 20px;border-radius:12px;border:none;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:filter .15s,transform .1s;white-space:nowrap}.btn-secondary{padding:10px 18px;border-radius:12px;border:1.5px solid var(--border-color);background:transparent;color:var(--text-main);font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s}.btn-danger{padding:10px 18px;border-radius:12px;border:none;background:#fee2e2;color:#dc2626;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s}.btn-danger:hover{background:#fecaca}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.st-panel-wide{width:460px}.st-panel-tabs{display:flex;border-bottom:1px solid var(--border-color);overflow-x:auto;scrollbar-width:none;flex-shrink:0}.st-panel-tabs::-webkit-scrollbar{display:none}.st-panel-tab{padding:10px 14px;background:none;border:none;border-bottom:2px solid transparent;font-size:12px;font-weight:700;color:var(--text-muted);cursor:pointer;white-space:nowrap;font-family:inherit;transition:color .12s;flex-shrink:0}.st-panel-tab:hover{color:var(--text-main)}.st-panel-tab--active{color:#8b5cf6;border-bottom-color:#8b5cf6}.st-tab-empty{font-size:13px;color:var(--text-muted);text-align:center;padding:32px 0;margin:0}@media(max-width:1024px){.st-panel-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap!important}.st-panel-tab{white-space:nowrap;min-width:auto;padding:8px 14px;font-size:13px}.st-list-item{padding:12px 14px}.st-initials{width:36px;height:36px;font-size:14px}.st-name{font-size:14px}.st-meta{font-size:11px}}.cd-page{display:flex;flex-direction:column;gap:0;max-width:1200px}.cd-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.cd-header-left{display:flex;align-items:flex-start;gap:14px}.cd-back{background:none;border:1.5px solid var(--border-color);border-radius:10px;padding:8px 14px;font-size:13px;font-weight:700;color:var(--text-muted);cursor:pointer;font-family:inherit;white-space:nowrap;margin-top:4px;transition:background .15s,color .15s}.cd-back:hover{background:var(--bg-main);color:var(--text-main)}.cd-title{font-size:24px;font-weight:900;color:var(--text-main);margin:0 0 4px;letter-spacing:-.03em}.cd-subtitle{font-size:12px;color:var(--text-muted);font-weight:600;margin:0}.cd-students-btn{padding:8px 18px;border-radius:12px;border:1.5px solid var(--border-color);background:var(--bg-card);font-size:13px;font-weight:700;color:var(--text-main);cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .15s}.cd-students-btn:hover{background:var(--bg-main)}.cd-tabs{display:flex;gap:4px;border-bottom:2px solid var(--border-color);margin-bottom:20px;overflow-x:auto;scrollbar-width:none}.cd-tabs::-webkit-scrollbar{display:none}.cd-tab{padding:10px 18px;border:none;background:none;font-size:13px;font-weight:700;color:var(--text-muted);cursor:pointer;font-family:inherit;border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap;transition:color .15s}.cd-tab:hover{color:var(--text-main)}.cd-tab--active{color:#3b82f6;border-bottom-color:#3b82f6}.cd-content{min-height:300px}.tab-loading{font-size:14px;color:var(--text-muted);padding:40px 0;text-align:center}.tab-pending{display:flex;flex-direction:column;align-items:center;gap:8px;padding:60px 20px;text-align:center}.tab-pending-icon{font-size:40px}.tab-pending-msg{font-size:15px;font-weight:700;color:var(--text-main);margin:0}.tab-pending-sub{font-size:13px;color:var(--text-muted);margin:0}.grade-table-wrap{overflow-x:auto;border-radius:16px;border:1px solid var(--border-color);background:var(--bg-card)}.grade-table{width:100%;border-collapse:collapse;font-size:13px}.grade-table.table-compact{width:auto}.grade-table.table-compact .col-grade{width:110px;min-width:110px;max-width:140px}.grade-table.table-compact td{padding:8px 10px}.grade-table thead{background:#f8fafc;border-bottom:2px solid var(--border-color)}.grade-table th{padding:12px 10px;font-size:11px;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;text-align:center}.grade-table th.col-name,.grade-table td.col-name{text-align:left;padding-left:16px}.grade-table td{padding:8px 10px;border-bottom:1px solid #f1f5f9;text-align:center;vertical-align:middle}.grade-table tr:last-child td{border-bottom:none}.grade-table tbody tr:hover{background:#fafafa}.col-num{width:44px;color:var(--text-muted);font-weight:700}.col-name{min-width:160px;font-weight:700;color:var(--text-main)}.col-grade{width:70px}.col-month{width:56px}.col-avg{width:64px}.grade-cell{display:flex;align-items:center;justify-content:center;height:36px;border-radius:8px;font-size:14px;font-weight:800;transition:background .12s}.grade-cell--editable{cursor:pointer}.grade-cell--editable:hover{background:#f1f5f9}.grade-input{width:60px;text-align:center;padding:6px 4px;border-radius:8px;border:2px solid #3b82f6;font-size:14px;font-weight:800;font-family:inherit;color:var(--text-main);outline:none;background:#eff6ff;-moz-appearance:textfield}.grade-input::-webkit-inner-spin-button,.grade-input::-webkit-outer-spin-button{-webkit-appearance:none}.att-cell{display:flex;align-items:center;justify-content:center;height:32px;border-radius:8px;font-size:12px;font-weight:800}.att-cell--avg{font-size:13px}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:900;display:flex;justify-content:flex-end}.sidebar-panel{background:var(--bg-card);width:300px;height:100%;display:flex;flex-direction:column;box-shadow:-4px 0 24px #0000001f}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--border-color)}.sidebar-title{font-size:15px;font-weight:800;color:var(--text-main);margin:0}.sidebar-close{background:none;border:none;font-size:18px;color:var(--text-muted);cursor:pointer;padding:4px}.sidebar-close:hover{color:var(--text-main)}.sidebar-list{flex:1;overflow-y:auto;padding:12px 0}.sidebar-student{display:flex;align-items:center;gap:12px;padding:10px 20px;border-bottom:1px solid #f1f5f9}.sidebar-student:last-child{border-bottom:none}.sidebar-num{font-size:11px;font-weight:800;color:var(--text-muted);min-width:24px}.sidebar-name{font-size:13px;font-weight:700;color:var(--text-main)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;display:flex;justify-content:center;align-items:center;padding:16px}.modal-sheet{width:100%;max-width:620px;max-height:90vh;border-radius:20px;overflow:hidden;display:flex;flex-direction:column}@media(orientation:portrait)and (max-width:1024px){.modal-overlay{align-items:flex-end;padding:0}.modal-sheet{border-radius:20px 20px 0 0;max-height:92vh;max-width:100%}}@media(orientation:landscape)and (max-width:1024px){.modal-overlay{align-items:center;padding:8px}.modal-sheet{border-radius:16px;max-height:95vh;max-width:700px}}@media(max-width:1024px){.course-tab-nav,.tab-nav{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap!important;gap:4px;padding-bottom:4px}.tab-action-btn,.btn-outline-sm{min-height:40px;padding:8px 14px;font-size:13px}.formativa-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.course-hero-name{font-size:22px!important}.course-quick-actions{grid-template-columns:repeat(2,1fr)!important}}@media(max-width:1024px)and (orientation:portrait){.modal-overlay{align-items:flex-end;padding:0}.modal-sheet{border-radius:20px 20px 0 0;max-height:92vh;max-width:100%}}@media(max-width:1024px)and (orientation:landscape){.modal-overlay{align-items:center;padding:8px}.modal-sheet{max-height:95vh;border-radius:16px}}@media(max-width:1024px){.course-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap!important;padding-bottom:4px}.course-tab{white-space:nowrap;flex-shrink:0;padding:8px 14px!important;font-size:12px!important}.formativa-table-wrap,.nb-table-wrap,.grade-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.col-name{position:sticky!important;left:0!important;z-index:2!important;background:var(--bg-card, #fff)!important;min-width:140px!important;max-width:160px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;box-shadow:3px 0 5px -2px #0000000f!important}.course-actions-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.course-header-card{padding:16px!important}}.gr-page{display:flex;flex-direction:column;gap:24px;max-width:1300px}.nb-page-header{display:flex;flex-direction:column;gap:4px}.nb-page-title{font-size:26px;font-weight:900;color:var(--text-main);margin:0;letter-spacing:-.03em}.nb-page-sub{font-size:13px;color:var(--text-muted);font-weight:600;margin:0}.nb-course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.nb-course-card{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;border:1.5px solid var(--border-color);background:var(--bg-card);cursor:pointer;font-family:inherit;text-align:left;transition:box-shadow .15s,transform .15s}.nb-course-card:hover{box-shadow:0 4px 16px #00000014;transform:translateY(-2px)}.nb-course-initial{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:18px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nb-course-name{font-size:15px;font-weight:800;color:var(--text-main)}.nb-course-meta{font-size:12px;color:var(--text-muted);font-weight:600;margin-top:2px}.nb-page{display:flex;flex-direction:column;gap:16px}.nb-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.nb-header-left{display:flex;align-items:flex-start;gap:14px}.nb-back{background:none;border:1.5px solid var(--border-color);border-radius:10px;padding:8px 14px;font-size:13px;font-weight:700;color:var(--text-muted);cursor:pointer;font-family:inherit;white-space:nowrap;margin-top:4px;transition:background .15s,color .15s}.nb-back:hover{background:var(--bg-main);color:var(--text-main)}.nb-title{font-size:22px;font-weight:900;color:var(--text-main);margin:0 0 4px;letter-spacing:-.03em}.nb-sub{font-size:12px;color:var(--text-muted);font-weight:600;margin:0}.nb-add-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:14px 18px;background:#f8fafc;border-radius:14px;border:1.5px solid var(--border-color)}.nb-add-input{flex:1;min-width:200px;padding:9px 14px;border-radius:10px;border:1.5px solid var(--border-color);font-size:14px;font-family:inherit;color:var(--text-main);outline:none;background:var(--bg-card)}.nb-add-input:focus{border-color:#f59e0b}.nb-add-max{width:70px;padding:9px 10px;border-radius:10px;border:1.5px solid var(--border-color);font-size:14px;font-family:inherit;text-align:center;color:var(--text-main);outline:none;background:var(--bg-card)}.btn-sm-primary{padding:9px 16px;border-radius:10px;border:none;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap;transition:filter .15s}.btn-sm-primary:hover{filter:brightness(1.08)}.btn-sm-primary:disabled{opacity:.6;cursor:not-allowed}.btn-sm-ghost{padding:9px 14px;border-radius:10px;border:1.5px solid var(--border-color);background:transparent;font-size:13px;font-weight:700;color:var(--text-muted);cursor:pointer;font-family:inherit;transition:background .15s}.btn-sm-ghost:hover{background:var(--bg-main)}.nb-period-pills{display:flex;gap:8px;flex-wrap:wrap}.nb-pill{padding:6px 16px;border-radius:20px;border:1.5px solid var(--border-color);background:var(--bg-card);font-size:12px;font-weight:800;color:var(--text-muted);cursor:pointer;font-family:inherit;transition:background .12s,color .12s,border-color .12s}.nb-pill:hover{background:var(--bg-main)}.nb-pill--active{background:#eff6ff;color:#3b82f6;border-color:#3b82f6}.nb-empty{font-size:14px;color:var(--text-muted);padding:48px 0;text-align:center}.nb-table-wrap{overflow-x:auto;border-radius:16px;border:1px solid var(--border-color);background:var(--bg-card)}.nb-table{width:100%;border-collapse:collapse;font-size:12px}.nb-table thead{background:#f8fafc;border-bottom:2px solid var(--border-color)}.nb-table th{padding:10px 8px;font-size:11px;font-weight:800;color:var(--text-muted);text-align:center;white-space:nowrap;border-right:1px solid #e2e8f0}.nb-table th:last-child{border-right:none}.nb-table td{padding:6px 8px;border-bottom:1px solid #f1f5f9;border-right:1px solid #f1f5f9;text-align:center;vertical-align:middle}.nb-table td:last-child{border-right:none}.nb-table tr:last-child td{border-bottom:none}.nb-table tbody tr:hover{background:#fafafa}.nb-col-num{width:36px}.nb-col-name{min-width:160px;text-align:left!important;padding-left:14px!important;font-weight:700;color:var(--text-main)}.nb-col-grade{width:90px}.nb-col-avg{width:80px}.nb-th-inner{display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;position:relative}.nb-th-title{font-size:11px;font-weight:800;max-width:80px;overflow:hidden;text-overflow:ellipsis}.nb-th-max{font-size:10px;font-weight:600;opacity:.7}.nb-del-btn{position:absolute;top:-6px;right:-6px;background:#fee2e2;border:none;border-radius:50%;width:16px;height:16px;font-size:9px;color:#dc2626;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s}th:hover .nb-del-btn{opacity:1}.nb-grade-cell{display:flex;align-items:center;justify-content:center;height:32px;border-radius:8px;font-size:13px;font-weight:800;transition:background .12s}.nb-grade-cell--editable{cursor:pointer}.nb-grade-cell--editable:hover{background:#f1f5f9}.nb-grade-input{width:64px;text-align:center;padding:5px 4px;border-radius:8px;border:2px solid #f59e0b;font-size:13px;font-weight:800;font-family:inherit;color:var(--text-main);outline:none;background:#fffbeb;-moz-appearance:textfield}.nb-grade-input::-webkit-inner-spin-button,.nb-grade-input::-webkit-outer-spin-button{-webkit-appearance:none}.nb-avg-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:800}.btn-primary{padding:10px 20px;border-radius:12px;border:none;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:filter .15s,transform .1s;white-space:nowrap}@media(max-width:1024px){.nb-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:14px}.nb-col-name{min-width:110px;max-width:130px;font-size:12px}.nb-table th,.nb-table td{padding:7px 5px;font-size:12px}.grade-cell{min-width:38px;font-size:13px}.grade-input{width:48px;font-size:14px}}.instrum-root{display:flex;flex-direction:column;gap:20px;max-width:1100px}.instrum-header-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 4px}.instrum-header-bar__left{display:flex;align-items:center;gap:12px}.instrum-header-bar__icon{width:44px;height:44px;border-radius:14px;background:#6366f11a;border:1.5px solid rgba(99,102,241,.2);display:flex;align-items:center;justify-content:center;font-size:20px}.instrum-header-bar__title{font-size:18px;font-weight:800;color:#1e293b;margin:0}.instrum-header-bar__sub{font-size:12px;color:#94a3b8;font-weight:600;margin:0}.instrum-tabs{display:flex;gap:4px;border-bottom:2px solid #e2e8f0}.instrum-tab{padding:10px 20px;border:none;background:none;font-size:13px;font-weight:700;color:#94a3b8;cursor:pointer;font-family:inherit;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s}.instrum-tab:hover{color:#1e293b}.instrum-tab--active{color:#6366f1;border-bottom-color:#6366f1}.instrum-empty-state{padding:64px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.instrum-empty-ico{font-size:52px;opacity:.4}.instrum-empty-title{font-size:15px;font-weight:800;color:#475569;margin:0}.instrum-empty-sub{font-size:13px;color:#94a3b8;margin:0}.instrum-biblioteca-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:8px}.instrum-biblioteca-count{font-size:12px;font-weight:700;color:#64748b}.instrum-biblioteca-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.instrum-card{background:#fff;border-radius:16px;border:1.5px solid #e2e8f0;padding:18px;display:flex;flex-direction:column;gap:12px;transition:box-shadow .15s,transform .15s}.instrum-card:hover{box-shadow:0 4px 16px #00000012;transform:translateY(-2px)}.instrum-card__ico{font-size:28px;flex-shrink:0;line-height:1}.instrum-card__body{flex:1;min-width:0}.instrum-card__name{font-size:14px;font-weight:800;color:#1e293b}.instrum-card__meta{font-size:11px;color:#94a3b8;font-weight:600;margin-top:3px}.instrum-card__actions{display:flex;gap:8px;flex-wrap:wrap}.instrum-card__btn{padding:6px 12px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;border:1.5px solid #e2e8f0;background:#f8fafc;color:#475569;transition:background .12s}.instrum-card__btn:hover{background:#f1f5f9}.instrum-card__btn--apply{border-color:#6366f14d;background:#eef2ff;color:#4f46e5}.instrum-card__btn--apply:hover{background:#e0e7ff}.instrum-card__btn--edit{border-color:#f59e0b4d;background:#fffbeb;color:#92400e}.instrum-card__btn--edit:hover{background:#fef3c7}.instrum-card__btn--del{border-color:#fca5a5;background:#fff1f2;color:#ef4444}.instrum-card__btn--del:hover{background:#fecaca}.instrum-form-card{background:#fff;border-radius:20px;border:1.5px solid #e2e8f0;padding:28px;display:flex;flex-direction:column;gap:28px;box-shadow:0 4px 20px #0000000a}.instrum-form-section{display:flex;flex-direction:column;gap:14px}.instrum-form-section-label{font-size:13px;font-weight:800;color:#1e293b;padding-bottom:8px;border-bottom:1.5px solid #f1f5f9}.instrum-tipo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.instrum-tipo-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;border-radius:14px;border:2px solid #e2e8f0;background:#f8fafc;cursor:pointer;font-family:inherit;transition:border-color .15s,background .15s,transform .12s;text-align:center}.instrum-tipo-card:hover{border-color:#c7d2fe;background:#eef2ff;transform:translateY(-2px)}.instrum-tipo-card.is-active{border-color:#6366f1;background:#eef2ff}.instrum-tipo-card-name{font-size:13px;font-weight:800;color:#1e293b}.instrum-tipo-card-desc{font-size:11px;color:#94a3b8;font-weight:600}.instrum-clase-wrap{margin-top:-8px}.instrum-clase-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.instrum-clase-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 10px;border-radius:12px;border:2px solid #e2e8f0;background:#f8fafc;cursor:pointer;font-family:inherit;transition:border-color .15s,background .15s;text-align:center}.instrum-clase-card:hover{border-color:#c7d2fe;background:#eef2ff}.instrum-clase-card.is-active{border-color:#6366f1;background:#eef2ff}.instrum-clase-desc{font-size:10px;color:#94a3b8;font-weight:600}.instrum-unified-card{background:#f8fafc;border-radius:14px;border:1.5px solid #e2e8f0;padding:18px;display:flex;flex-direction:column;gap:14px}.instrum-unified-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.instrum-unified-row--structure{align-items:center}.instrum-unified-divider{border:none;border-top:1px solid #e2e8f0;margin:4px 0}.instrum-unified-ai{display:flex;justify-content:flex-end}.instrum-compact-label{display:block;font-size:11px;font-weight:700;color:#64748b;margin-bottom:5px;text-transform:uppercase;letter-spacing:.04em}.instrum-form-group{display:flex;flex-direction:column;min-width:120px}.instrum-label{display:block;font-size:11px;font-weight:700;color:#64748b;margin-bottom:5px}.instrum-input{padding:9px 12px;border-radius:10px;border:1.5px solid #e2e8f0;background:#fff;font-size:13px;font-family:inherit;color:#1e293b;outline:none;transition:border-color .15s;width:100%;box-sizing:border-box}.instrum-input:focus{border-color:#6366f1}.instrum-input--compact{padding:7px 10px;font-size:12px}.instrum-stepper-group{display:flex;align-items:center;gap:10px}.instrum-stepper{display:flex;align-items:center;gap:6px;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;padding:4px}.instrum-stepper--compact{gap:4px}.instrum-stepper-btn{width:28px;height:28px;border-radius:8px;border:none;background:#f1f5f9;color:#475569;font-size:16px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s}.instrum-stepper-btn:hover{background:#e2e8f0}.instrum-stepper-btn:disabled{opacity:.4;cursor:not-allowed}.instrum-stepper-input{width:36px;text-align:center;font-size:14px;font-weight:800;color:#1e293b;border:none;background:transparent;outline:none}.instrum-criterios-section{display:flex;flex-direction:column;gap:12px}.instrum-criterios-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.instrum-section-title{font-size:13px;font-weight:800;color:#475569}.instrum-peso-total-wrap{display:flex;align-items:center;gap:8px}.instrum-peso-warn{font-size:12px;font-weight:700;color:#dc2626}.instrum-panel-title{font-size:14px;font-weight:800;color:#1e293b}.instrum-panel-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.instrum-criterios-wrap{display:flex;flex-direction:column;gap:0}.instrum-criterios-list{display:flex;flex-direction:column;gap:10px}.instrum-criterio-row{background:#f8fafc;border-radius:12px;border:1.5px solid #e2e8f0;padding:14px;display:flex;flex-direction:column;gap:10px}.instrum-criterio-top{display:flex;align-items:center;gap:10px}.instrum-criterio-nombre{flex:1}.instrum-criterio-remove{width:28px;height:28px;border-radius:8px;border:1px solid #fca5a5;background:#fff1f2;color:#ef4444;font-size:14px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.instrum-criterio-remove:hover{background:#fecaca}.instrum-criterio-niveles{display:flex;gap:8px;flex-wrap:wrap}.instrum-form-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.instrum-btn-save{padding:10px 22px;border-radius:12px;border:none;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:filter .15s,transform .1s}.instrum-btn-save:hover{filter:brightness(1.08);transform:translateY(-1px)}.instrum-btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none}.instrum-btn-cancel{padding:10px 18px;border-radius:12px;border:1.5px solid #e2e8f0;background:transparent;color:#475569;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}.instrum-btn-cancel:hover{background:#f8fafc}.instrum-btn-ia-premium{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:10px;border:none;background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;font-size:12px;font-weight:800;cursor:pointer;font-family:inherit;letter-spacing:.03em;transition:filter .15s}.instrum-btn-ia-premium:hover{filter:brightness(1.1)}.instrum-btn-ia-premium:disabled{opacity:.6;cursor:not-allowed}.instrum-btn-ia-premium--compact{padding:6px 12px;font-size:11px}.instrum-btn-back{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;border:1.5px solid #e2e8f0;background:transparent;color:#64748b;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .12s}.instrum-btn-back:hover{background:#f1f5f9}.instrum-btn-back--panel{margin-bottom:12px}.instrum-aplicar-config{display:flex;flex-direction:column;gap:20px}.instrum-applied-summary{background:#f8fafc;border-radius:16px;border:1.5px solid #e2e8f0;padding:18px;display:flex;align-items:center;gap:16px}.instrum-applied-ico{font-size:36px}.instrum-applied-details{flex:1;min-width:0}.instrum-applied-name{font-size:15px;font-weight:800;color:#1e293b}.instrum-applied-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;background:#eef2ff;color:#4f46e5;margin-top:4px}.instrum-tabla-scroll{overflow-x:auto;border-radius:16px;border:1.5px solid #e2e8f0}.instrum-tabla{width:100%;border-collapse:collapse;font-size:12px;background:#fff}.instrum-tabla-header{background:#f8fafc;border-bottom:2px solid #e2e8f0}.instrum-tabla th{padding:10px 8px;font-size:11px;font-weight:800;color:#64748b;text-align:center}.instrum-tabla td{padding:8px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.instrum-tabla tr:last-child td{border-bottom:none}.instrum-tabla tbody tr:hover{background:#fafafa}.btn-secondary{padding:10px 18px;border-radius:12px;border:1.5px solid #e2e8f0;background:transparent;color:#1e293b;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}.btn-secondary:hover{background:#f8fafc}.btn-sm-outline{padding:6px 12px;border-radius:8px;border:1.5px solid #e2e8f0;background:transparent;font-size:12px;font-weight:700;color:#475569;cursor:pointer;font-family:inherit}.btn-sm-outline:hover{background:#f8fafc}.form-label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.form-input{padding:9px 12px;border-radius:10px;border:1.5px solid #e2e8f0;background:#fff;font-size:13px;font-family:inherit;color:#1e293b;outline:none;transition:border-color .15s;width:100%;box-sizing:border-box}.form-input:focus{border-color:#6366f1}.form-select{padding:9px 12px;border-radius:10px;border:1.5px solid #e2e8f0;background:#fff;font-size:13px;font-family:inherit;color:#1e293b;outline:none;cursor:pointer;transition:border-color .15s;width:100%;box-sizing:border-box}.form-select:focus{border-color:#6366f1}@media(max-width:1024px){.instrum-root{padding:12px}.instrum-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:4px}.instrum-tab{white-space:nowrap;padding:10px 14px;font-size:13px}.instrum-biblioteca-grid{grid-template-columns:1fr!important}.instrum-card{padding:14px;border-radius:14px}.instrum-tabla-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.instrum-tabla th,.instrum-tabla td{padding:8px;font-size:12px}}.planning-page{display:flex;flex-direction:column;gap:20px;max-width:900px}.planning-header{display:flex;flex-direction:column;gap:4px}.planning-title{font-size:26px;font-weight:900;color:var(--text-main);margin:0;letter-spacing:-.03em}.planning-sub{font-size:13px;color:var(--text-muted);font-weight:600;margin:0}.planning-tabs{display:flex;gap:4px;border-bottom:2px solid var(--border-color)}.planning-tab{padding:10px 20px;border:none;background:none;font-size:13px;font-weight:700;color:var(--text-muted);cursor:pointer;font-family:inherit;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s}.planning-tab:hover{color:var(--text-main)}.planning-tab--active{color:#3b82f6;border-bottom-color:#3b82f6}.tipo-panel{display:flex;flex-direction:column;gap:20px}.tipo-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.tipo-title{font-size:16px;font-weight:800;color:var(--text-main);margin:0}.plan-form{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:16px}.plan-form-top{display:flex;gap:12px;flex-wrap:wrap}.plan-form-grid{display:flex;flex-direction:column;gap:12px}.plan-form-actions{display:flex;gap:10px;justify-content:flex-end}.dias-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.plan-sec-header{background:#1e3a5f;color:#fff;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:7px 12px;border-radius:8px 8px 0 0;margin-bottom:0;margin-top:14px;display:flex;align-items:center;justify-content:space-between}.plan-sec-header--ai{margin-top:14px}.plan-sec-body{border:1.5px solid #e2e8f0;border-top:none;border-radius:0 0 8px 8px;padding:14px;margin-bottom:0}.plan-grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.plan-grid-3col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:10px}.plan-grid-2col:last-child,.plan-grid-3col:last-child{margin-bottom:0}.plan-field{display:flex;flex-direction:column;gap:5px}.plan-field-lbl{font-size:11px;font-weight:700;color:#64748b;display:block}.plan-moment-box{border-radius:8px;padding:10px;margin-bottom:10px}.plan-moment-box--inicio{border:1.5px solid #bfdbfe;background:#eff6ff}.plan-moment-box--desarrollo{border:1.5px solid #bbf7d0;background:#f0fdf4}.plan-moment-box--cierre{border:1.5px solid #fde68a;background:#fffbeb}.plan-moment-title{font-size:11px;font-weight:800;text-transform:uppercase;margin-bottom:8px}.plan-moment-title--inicio{color:#1e40af}.plan-moment-title--desarrollo{color:#166534}.plan-moment-title--cierre{color:#92400e}.plan-cf-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}.plan-cf-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#374151;cursor:pointer}.plan-template-btns{display:flex;gap:8px;margin-bottom:16px}.plan-tpl-btn{padding:7px 16px;border-radius:10px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;border:2px solid #e2e8f0;background:#f8fafc;color:#475569;transition:background .12s,border-color .12s}.plan-tpl-btn--active{border-color:#6366f1;background:#6366f1;color:#fff}.plan-list{display:flex;flex-direction:column;gap:10px}.plan-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;padding:16px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.plan-card-body{flex:1;min-width:0}.plan-card-title{font-size:14px;font-weight:800;color:var(--text-main)}.plan-card-meta{font-size:11px;color:var(--text-muted);font-weight:600;margin-top:3px}.plan-card-preview{font-size:12px;color:var(--text-muted);margin:6px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-card-actions{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap;align-items:flex-start}.plan-empty{font-size:14px;color:var(--text-muted);padding:32px 0;text-align:center}.plan-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.plan-search{max-width:220px}.form-input{padding:9px 13px;border-radius:10px;border:1.5px solid var(--border-color);background:var(--bg-card);font-size:14px;font-family:inherit;color:var(--text-main);outline:none;transition:border-color .15s}.form-input:focus{border-color:#3b82f6}.btn-sm-danger{padding:6px 10px;border-radius:8px;border:1px solid #fca5a5;background:#fff1f2;color:#ef4444;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit}.btn-sm-danger:hover{background:#fecaca}@media(max-width:1024px){.planning-page{gap:14px}.planning-title{font-size:20px!important}.planning-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:0}.planning-tab{padding:10px 14px;white-space:nowrap;flex-shrink:0}.plan-grid-2col,.plan-grid-3col,.plan-cf-grid{grid-template-columns:1fr!important}.dias-grid{grid-template-columns:1fr 1fr!important}.plan-form{padding:14px!important}.plan-form-top{flex-direction:column}.plan-form-actions{justify-content:stretch}.plan-form-actions .btn-primary,.plan-form-actions .btn-secondary{flex:1;text-align:center}.plan-card{flex-direction:column;gap:10px}.plan-card-actions{width:100%;justify-content:flex-end}.plan-filters{flex-direction:column;align-items:stretch}.plan-search{max-width:100%}.tipo-panel-header{flex-direction:column;align-items:flex-start;gap:8px}.plan-template-btns{flex-wrap:wrap}.plan-tpl-btn{flex:1;text-align:center;min-width:80px}}.alerts-page{display:flex;flex-direction:column;gap:20px;max-width:900px}.alerts-header{display:flex;flex-direction:column;gap:4px}.alerts-title{font-size:26px;font-weight:900;color:var(--text-main);margin:0;letter-spacing:-.03em}.alerts-sub{font-size:13px;color:var(--text-muted);font-weight:600;margin:0}.pending-tasks{background:#fffbeb;border:1px solid #fde68a;border-radius:14px;padding:14px 18px;display:flex;flex-direction:column;gap:8px}.pending-tasks-title{font-size:13px;font-weight:800;color:#92400e}.pending-task-row{display:flex;align-items:center;gap:10px;font-size:13px;color:#78350f}.pending-task-icon{font-size:16px;flex-shrink:0}.pending-task-text{font-weight:600}.alerts-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.alerts-kpi{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;padding:16px;text-align:center}.alerts-kpi-value{font-size:28px;font-weight:900;line-height:1}.alerts-kpi-label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:4px}.alerts-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.alerts-filter-pills{display:flex;gap:6px;flex-wrap:wrap}.alerts-pill{padding:6px 14px;border-radius:20px;border:1.5px solid var(--border-color);background:var(--bg-card);font-size:12px;font-weight:700;color:var(--text-muted);cursor:pointer;font-family:inherit;transition:background .12s,color .12s,border-color .12s}.alerts-pill:hover{background:var(--bg-main)}.alerts-pill--active{background:#fee2e2;color:#dc2626;border-color:#dc2626}.alerts-search{padding:8px 14px;border-radius:10px;border:1.5px solid var(--border-color);background:var(--bg-card);font-size:13px;font-family:inherit;color:var(--text-main);outline:none;margin-left:auto}.alerts-search:focus{border-color:#3b82f6}.alerts-empty{font-size:14px;color:var(--text-muted);padding:48px 0;text-align:center}.alerts-list{display:flex;flex-direction:column;gap:10px}.alert-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.alert-card-top{display:flex;align-items:center;gap:12px}.alert-avatar{width:38px;height:38px;border-radius:50%;font-size:15px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0}.alert-student-info{flex:1;min-width:0}.alert-student-name{font-size:13px;font-weight:800;color:var(--text-main)}.alert-student-meta{font-size:11px;color:var(--text-muted);font-weight:600;margin-top:2px}.alert-level-badge{padding:3px 10px;border-radius:20px;font-size:11px;font-weight:800;flex-shrink:0}.alert-score{font-size:20px;font-weight:900;min-width:36px;text-align:right;flex-shrink:0}.alert-bar-wrap{background:#f1f5f9;border-radius:4px;height:5px;overflow:hidden}.alert-bar{height:100%;border-radius:4px;transition:width .3s}.alert-indicators{display:flex;gap:8px;flex-wrap:wrap}.alert-ind{font-size:11px;font-weight:700;color:var(--text-muted);background:#f8fafc;border:1px solid var(--border-color);border-radius:20px;padding:3px 10px}.ori-page{display:flex;flex-direction:column;gap:20px;max-width:900px}.ori-header{display:flex;flex-direction:column;gap:4px}.ori-title{font-size:26px;font-weight:900;color:var(--text-main);margin:0;letter-spacing:-.03em}.ori-sub{font-size:13px;color:var(--text-muted);font-weight:600;margin:0}.ori-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.ori-kpi{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;padding:16px;text-align:center}.ori-kpi-value{font-size:28px;font-weight:900;line-height:1}.ori-kpi-label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:4px}.ori-tabs{display:flex;gap:4px;border-bottom:2px solid var(--border-color)}.ori-tab{padding:10px 20px;border:none;background:none;font-size:13px;font-weight:700;color:var(--text-muted);cursor:pointer;font-family:inherit;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s}.ori-tab:hover{color:var(--text-main)}.ori-tab--active{color:#3b82f6;border-bottom-color:#3b82f6}.ori-search{padding:9px 14px;border-radius:10px;border:1.5px solid var(--border-color);background:var(--bg-card);font-size:13px;font-family:inherit;color:var(--text-main);outline:none;width:100%;box-sizing:border-box}.ori-search:focus{border-color:#3b82f6}.ori-empty{font-size:14px;color:var(--text-muted);padding:48px 0;text-align:center}.ori-student-list{display:flex;flex-direction:column;gap:10px}.ori-student-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:12px}.ori-student-avatar{width:38px;height:38px;border-radius:50%;font-size:15px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ori-student-body{flex:1;min-width:0}.ori-student-name{font-size:13px;font-weight:800;color:var(--text-main)}.ori-student-meta{font-size:11px;color:var(--text-muted);font-weight:600;margin-top:2px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.ori-ind{font-size:11px;font-weight:700}.ori-level-badge{padding:3px 10px;border-radius:20px;font-size:11px;font-weight:800;flex-shrink:0}.ori-interv-list{display:flex;flex-direction:column;gap:10px}.ori-interv-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.ori-interv-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ori-interv-badge{padding:3px 10px;border-radius:20px;font-size:11px;font-weight:800;flex-shrink:0}.ori-interv-student{font-size:13px;font-weight:800;color:var(--text-main);flex:1}.ori-interv-date{font-size:11px;color:var(--text-muted);font-weight:600;flex-shrink:0}.ori-interv-desc{font-size:13px;color:var(--text-main);margin:0;line-height:1.5}.ori-interv-rec{font-size:12px;color:var(--text-muted);margin:0;font-style:italic}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-box{background:var(--bg-card);border-radius:18px;padding:24px;width:100%;max-width:520px;display:flex;flex-direction:column;gap:16px;box-shadow:0 20px 60px #0003;max-height:90vh;overflow-y:auto}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:18px;font-weight:900;color:var(--text-main);margin:0}.modal-close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-muted);padding:4px}.modal-footer{display:flex;gap:10px;justify-content:flex-end}.interv-student{font-size:13px;font-weight:700;color:#3b82f6;background:#eff6ff;padding:8px 12px;border-radius:10px}.form-label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.form-select{padding:9px 13px;border-radius:10px;border:1.5px solid var(--border-color);background:var(--bg-card);font-size:14px;font-family:inherit;color:var(--text-main);outline:none;cursor:pointer}.form-select:focus{border-color:#3b82f6}.form-textarea{padding:9px 13px;border-radius:10px;border:1.5px solid var(--border-color);background:var(--bg-card);font-size:13px;font-family:inherit;color:var(--text-main);outline:none;resize:vertical;transition:border-color .15s}.form-textarea:focus{border-color:#3b82f6}.btn-primary{padding:10px 20px;border-radius:12px;border:none;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:filter .15s,transform .1s;white-space:nowrap}.btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{padding:10px 18px;border-radius:12px;border:1.5px solid var(--border-color);background:transparent;color:var(--text-main);font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}.btn-secondary:hover{background:var(--bg-main)}.btn-sm-outline{padding:6px 12px;border-radius:8px;border:1.5px solid var(--border-color);background:transparent;font-size:12px;font-weight:700;color:var(--text-main);cursor:pointer;font-family:inherit;transition:background .12s}.btn-sm-outline:hover{background:var(--bg-main)}.sup-page{display:flex;flex-direction:column;gap:20px;max-width:900px}.sup-header{display:flex;flex-direction:column;gap:4px}.sup-title{font-size:26px;font-weight:900;color:var(--text-main);margin:0;letter-spacing:-.03em}.sup-sub{font-size:13px;color:var(--text-muted);font-weight:600;margin:0}.sup-search{padding:9px 14px;border-radius:10px;border:1.5px solid var(--border-color);background:var(--bg-card);font-size:13px;font-family:inherit;color:var(--text-main);outline:none;width:100%;box-sizing:border-box}.sup-search:focus{border-color:#3b82f6}.sup-empty{font-size:14px;color:var(--text-muted);padding:48px 0;text-align:center}.sup-back-btn{background:none;border:none;font-size:13px;font-weight:700;color:#3b82f6;cursor:pointer;padding:0;margin-bottom:12px;display:inline-flex;align-items:center;gap:4px}.sup-back-btn:hover{text-decoration:underline}.sup-teacher-list{display:flex;flex-direction:column;gap:8px}.sup-teacher-card{display:flex;align-items:center;gap:14px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;padding:14px 16px;cursor:pointer;font-family:inherit;width:100%;text-align:left;transition:border-color .15s,box-shadow .15s}.sup-teacher-card:hover{border-color:#3b82f6;box-shadow:0 2px 12px #3b82f61a}.sup-teacher-card-avatar{width:42px;height:42px;border-radius:50%;background:#eff6ff;color:#3b82f6;font-size:16px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sup-teacher-card-body{flex:1;min-width:0}.sup-teacher-card-name{font-size:14px;font-weight:800;color:var(--text-main)}.sup-teacher-card-email{font-size:12px;color:var(--text-muted);font-weight:600;margin-top:2px}.sup-teacher-card-arrow{font-size:20px;color:var(--text-muted);flex-shrink:0}.sup-teacher-view{display:flex;flex-direction:column;gap:16px}.sup-teacher-header{display:flex;align-items:center;gap:14px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;padding:16px 18px}.sup-teacher-avatar{width:48px;height:48px;border-radius:50%;background:#eff6ff;color:#3b82f6;font-size:18px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sup-teacher-name{font-size:16px;font-weight:900;color:var(--text-main)}.sup-teacher-email{font-size:12px;color:var(--text-muted);font-weight:600;margin-top:2px}.sup-teacher-course{font-size:13px;color:#3b82f6;font-weight:700;margin-top:2px}.sup-courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.sup-course-card{background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:14px;padding:18px 16px;cursor:pointer;font-family:inherit;text-align:left;transition:border-color .15s,box-shadow .15s}.sup-course-card:hover{border-color:#3b82f6;box-shadow:0 2px 12px #3b82f61f}.sup-course-label{font-size:15px;font-weight:900;color:var(--text-main)}.sup-course-materia{font-size:12px;color:var(--text-muted);font-weight:600;margin-top:4px}.sup-course-panel{display:flex;flex-direction:column;gap:14px}.sup-course-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.sup-stat{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:14px;text-align:center}.sup-stat-value{font-size:26px;font-weight:900;line-height:1}.sup-stat-label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:4px}.sup-student-list{display:flex;flex-direction:column;gap:8px}.sup-student-row{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.sup-student-row--risk{border-left:4px solid #f59e0b}.sup-student-name{font-size:13px;font-weight:800;color:var(--text-main)}.sup-student-indicators{display:flex;gap:6px;flex-wrap:wrap}.sup-ind{font-size:11px;font-weight:700;padding:3px 8px;border-radius:20px}.sup-ind--grade{background:#fef3c7;color:#92400e}.sup-ind--abs{background:#fee2e2;color:#991b1b}.sup-ind--inc{background:#fff7ed;color:#9a3412}.sup-ind--ok{background:#dcfce7;color:#166534}.rep-page{max-width:1200px;margin:0 auto}.rep-banner{background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;padding:24px 28px;display:flex;align-items:center;gap:20px;margin-bottom:24px;box-shadow:0 2px 10px #0000000a}.rep-banner-icon{width:60px;height:60px;background:#4f46e514;border:1px solid rgba(79,70,229,.15);border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}.rep-banner-title{margin:0 0 4px;font-size:24px;font-weight:900;color:#0f172a;letter-spacing:-.03em}.rep-banner-sub{margin:0;font-size:14px;color:#64748b;font-weight:500}.rep-main-tabs{display:flex;gap:8px;margin-bottom:24px;background:#f1f5f9;padding:6px;border-radius:16px;width:fit-content}.rep-main-tab{display:flex;align-items:center;gap:8px;padding:10px 22px;border-radius:12px;border:none;background:transparent;font-size:14px;font-weight:700;color:#64748b;cursor:pointer;font-family:inherit;transition:background .15s,color .15s,box-shadow .15s}.rep-main-tab.active{background:#fff;color:#4f46e5;box-shadow:0 2px 8px #00000014}.rep-content{display:flex;flex-direction:column;gap:20px}.rep-sub-tabs{display:flex;gap:12px;margin-bottom:4px}.rep-sub-tab{display:flex;align-items:center;gap:12px;padding:14px 20px;border-radius:16px;border:2px solid #e2e8f0;background:#fff;cursor:pointer;font-family:inherit;transition:border-color .15s,box-shadow .15s;min-width:180px}.rep-sub-tab.active{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.rep-sub-tab-ico{font-size:22px}.rep-sub-tab-name{display:block;font-size:13px;font-weight:800;color:#0f172a}.rep-sub-tab-desc{display:block;font-size:11px;color:#94a3b8;font-weight:500;margin-top:1px}.rep-glass-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;padding:24px 26px;box-shadow:0 2px 10px #0000000a}.rep-panel{display:flex;flex-direction:column;gap:16px}.rep-panel--2col{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}@media(max-width:1024px){.rep-panel--2col{grid-template-columns:1fr}}.rep-card-header{display:flex;align-items:center;gap:18px;margin-bottom:24px}.rep-card-icon{width:56px;height:56px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0;color:#fff}.rep-card-title{font-size:18px;font-weight:900;color:#0f172a;letter-spacing:-.02em}.rep-card-desc{font-size:13px;color:#64748b;font-weight:500;margin-top:2px}.rep-field-label{display:block;font-size:11px;font-weight:900;color:#94a3b8;text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}.rep-select{width:100%;padding:12px 36px 12px 16px;border:2px solid #e2e8f0;border-radius:14px;font-size:14px;font-weight:600;color:#1e293b;font-family:inherit;background:#f8fafc;cursor:pointer;transition:border-color .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2394a3b8' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.rep-select:focus{outline:none;border-color:#6366f1;background-color:#fff}.rep-select:disabled{opacity:.5;cursor:not-allowed}.rep-selectors-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.rep-selectors-grid--3{grid-template-columns:1fr 1fr 1fr}@media(max-width:640px){.rep-selectors-grid,.rep-selectors-grid--3{grid-template-columns:1fr}}.rep-textarea{width:100%;padding:16px 18px;border:2px solid #e2e8f0;border-radius:16px;font-family:inherit;font-size:14px;font-weight:500;color:#1e293b;line-height:1.65;resize:vertical;box-sizing:border-box;transition:border-color .15s;background:#fafafe}.rep-textarea:focus{outline:none;border-color:#6366f1;background:#fff}.rep-action-row{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}.rep-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:14px;border:none;font-size:13px;font-weight:800;font-family:inherit;cursor:pointer;transition:transform .15s,box-shadow .15s,opacity .15s;white-space:nowrap}.rep-btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.rep-btn:not(:disabled):hover{transform:translateY(-2px)}.rep-btn--primary{flex:1.5;background:linear-gradient(135deg,#4f46e5,#3730a3);color:#fff;box-shadow:0 6px 18px #4f46e54d;min-width:180px}.rep-btn--primary:not(:disabled):hover{box-shadow:0 10px 26px #4f46e566}.rep-btn--secondary{flex:1;background:#f1f5f9;color:#475569;border:1.5px solid #e2e8f0}.rep-btn--secondary:not(:disabled):hover{background:#e2e8f0}.rep-btn--ai{flex:1;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 4px 14px #6366f14d}.rep-btn-sm{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:10px;border:none;font-size:12px;font-weight:700;font-family:inherit;cursor:pointer;transition:transform .13s}.rep-btn-sm:disabled{opacity:.45;cursor:not-allowed}.rep-btn-sm--ai{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;box-shadow:0 4px 12px #4f46e54d}.rep-add-btn{width:50px;height:50px;background:#4f46e5;color:#fff;border:none;border-radius:14px;cursor:pointer;font-size:22px;flex-shrink:0;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px #4f46e540;transition:transform .15s}.rep-add-btn:not(:disabled):hover{transform:scale(1.08)}.rep-add-btn:disabled{opacity:.4;cursor:not-allowed}.rep-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;min-height:36px}.rep-chip{display:inline-flex;align-items:center;gap:8px;background:#ede9fe;color:#4338ca;border-radius:99px;padding:5px 12px;font-size:12px;font-weight:700}.rep-chip button{background:none;border:none;cursor:pointer;color:#7c3aed;font-size:16px;line-height:1;padding:0;display:flex;align-items:center}.rep-autostats-section-label{font-size:11px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}.rep-autostats{background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;padding:20px 24px;box-shadow:0 2px 8px #0000000a}.rep-alerts{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:12px 16px;margin-bottom:16px;display:flex;flex-direction:column;gap:6px}.rep-alert-item{font-size:13px;font-weight:700}.rep-stats-grid{display:flex;gap:12px;flex-wrap:wrap}.rep-stat-box{flex:1;min-width:80px;background:#f8fafc;border-radius:14px;padding:14px 12px;text-align:center;border-top-width:3px;border-top-style:solid;border-left:none;border-right:none;border-bottom:none}.rep-stat-label{font-size:11px;font-weight:800;letter-spacing:.06em;margin-bottom:4px}.rep-stat-val{font-size:22px;font-weight:900}.rep-stat-badge{font-size:11px;font-weight:800;padding:2px 8px;border-radius:99px;display:inline-block;margin-top:4px}.rep-stat-sub{font-size:10px;color:#94a3b8;font-weight:600;margin-top:2px}.rep-ai-box{background:#faf5ff;border:1.5px solid #e9d5ff;border-radius:12px;padding:10px 14px;margin-top:10px}.rep-ai-label{font-size:10px;font-weight:800;color:#6366f1;text-transform:uppercase;letter-spacing:.08em}.rep-info-box{margin-top:16px;padding:14px 16px;background:#4f46e50a;border-radius:12px;border:1px solid rgba(79,70,229,.08);font-size:12px;color:#475569;line-height:1.6;font-weight:600}.rep-incidents-section{margin-top:16px;border-top:1.5px solid #f1f5f9;padding-top:14px}.rep-incidents-header{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:800;color:#475569;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.rep-incidents-count{background:#f1f5f9;color:#64748b;font-size:10px;font-weight:800;padding:3px 10px;border-radius:99px}.rep-incidents-list{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto}.rep-incident-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#f8fafc;border-radius:12px;border:1px solid #f1f5f9;transition:background .12s}.rep-incident-row:hover{background:#f1f5f9}.rep-incident-date{font-size:11px;font-weight:700;color:#94a3b8;white-space:nowrap;min-width:64px}.rep-incident-body{flex:1;min-width:0}.rep-incident-title{font-size:13px;font-weight:700;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rep-incident-cat{font-size:11px;color:#94a3b8;font-weight:600;margin-top:1px}.rep-incident-badge{font-size:10px;font-weight:800;padding:3px 9px;border-radius:99px;text-transform:capitalize;white-space:nowrap}.rep-incident-badge--open{background:#fee2e2;color:#991b1b}.rep-incident-badge--closed{background:#dcfce7;color:#166534}.rep-order-row{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1.5px solid #f1f5f9;flex-wrap:wrap}.rep-order-box{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#4f46e50f,#6366f10a);border:2px solid rgba(79,70,229,.2);border-radius:14px;padding:10px 16px}.rep-order-input{font-family:Courier New,monospace;font-size:15px;font-weight:800;color:#4f46e5;letter-spacing:.08em;border:none;background:transparent;outline:none;width:200px}.rep-order-input::placeholder{color:#c7d2fe}.rep-center-tag{display:flex;align-items:center;gap:8px;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;padding:8px 14px;font-size:13px;font-weight:700;color:#475569;flex:1}.rep-select--lg{font-size:15px!important;padding:14px 40px 14px 18px!important;border-radius:16px!important;font-weight:700!important}.rep-faltas-law{display:flex;gap:10px;align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px 14px;font-size:12px;color:#475569;line-height:1.6;margin-bottom:20px}.rep-faltas-section{margin-bottom:24px;border-radius:16px;border:1.5px solid;overflow:hidden}.rep-faltas-section--leve{border-color:#fde68a}.rep-faltas-section--grave{border-color:#fca5a5}.rep-faltas-section--gravisima{border-color:#f87171}.rep-faltas-title{font-size:13px;font-weight:900;padding:10px 16px;letter-spacing:.02em}.rep-faltas-section--leve .rep-faltas-title{background:#fef9c3;color:#854d0e}.rep-faltas-section--grave .rep-faltas-title{background:#fee2e2;color:#991b1b}.rep-faltas-section--gravisima .rep-faltas-title{background:#fecaca;color:#7f1d1d}.rep-faltas-list{padding:10px 16px 14px;display:flex;flex-direction:column;gap:6px;background:#fff}.rep-falta-item{display:flex;align-items:flex-start;gap:10px;padding:7px 10px;border-radius:8px;cursor:pointer;font-size:13px;color:#374151;font-weight:500;line-height:1.4;transition:background .12s;border:1.5px solid transparent}.rep-falta-item:hover{background:#f8fafc}.rep-falta-item.checked{background:#fef2f2;border-color:#fca5a5;color:#991b1b;font-weight:700}.rep-faltas-section--leve .rep-falta-item.checked{background:#fefce8;border-color:#fde68a;color:#854d0e}.rep-falta-item input[type=checkbox]{margin-top:2px;flex-shrink:0;width:16px;height:16px;accent-color:#6366f1;cursor:pointer}.rep-faltas-extra{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:12px;font-weight:700;color:#64748b}.rep-falta-input{border:1.5px solid #e2e8f0;border-radius:8px;padding:5px 10px;font-size:13px;font-family:inherit;width:60px;text-align:center}.rep-falta-input--wide{flex:1;width:auto;text-align:left}.rep-falta-input:focus{outline:none;border-color:#6366f1}.rep-loading{padding:20px;text-align:center;color:#94a3b8;font-size:14px;font-weight:600}.tt-glass-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#ffffffe6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.5);border-radius:20px;padding:14px 20px;margin-bottom:20px;box-shadow:0 4px 24px #0000000f;flex-wrap:wrap}.tt-glass-info{flex:1;text-align:center;font-size:15px;font-weight:800;color:#1e293b;min-width:0}.tt-glass-subtitle{font-size:12px;font-weight:600;color:#94a3b8;margin-top:2px}.tt-glass-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tt-glass-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:12px;border:1.5px solid #e2e8f0;background:#fff;font-size:13px;font-weight:700;color:#475569;cursor:pointer;font-family:inherit;transition:background .12s,border-color .12s}.tt-glass-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.tt-mode-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:800;white-space:nowrap}.tt-mode-badge.mode-personal{background:#7c3aed1a;color:#7c3aed;border:1.5px solid rgba(124,58,237,.2)}.tt-mode-badge.mode-center{background:#0ea5e91a;color:#0369a1;border:1.5px solid rgba(14,165,233,.2)}#timetable-teacher-selector-wrap{display:flex;align-items:center}.tt-teacher-select{padding:8px 12px;border-radius:10px;border:1.5px solid #e2e8f0;background:#fff;font-size:13px;font-weight:600;color:#1e293b;font-family:inherit;cursor:pointer;outline:none;transition:border-color .15s}.tt-teacher-select:focus{border-color:#3b82f6}.tt-clean-grid{min-width:600px}.tt-clean-headers{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;gap:8px;margin-bottom:8px}.tt-clean-day-label{text-align:center;font-size:12px;font-weight:800;color:#64748b;padding:8px 4px;border-radius:8px;background:#f8fafc;text-transform:uppercase;letter-spacing:.06em}.tt-clean-day-label.today{background:#eff6ff;color:#2563eb}.tt-clean-body{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;gap:8px;align-items:start}.tt-clean-col{display:flex;flex-direction:column;gap:6px}.tt-block{border-radius:14px;padding:10px 12px;background:var(--cell-bg, #3b82f6);border:1px solid var(--cell-border, rgba(255,255,255,.15));color:var(--cell-color, #fff);display:flex;flex-direction:column;gap:2px;cursor:pointer;transition:filter .15s,transform .1s;position:relative;overflow:hidden;min-height:60px;box-sizing:border-box}.tt-block:hover{filter:brightness(.95);transform:translateY(-1px)}.tt-block--empty{background:#f8fafc;border:1.5px dashed #e2e8f0;cursor:default;opacity:.5}.tt-block--empty:hover{filter:none;transform:none}.tt-block-time-top{font-size:10px;font-weight:700;opacity:.8;line-height:1}.tt-block-label{font-size:13px;font-weight:800;line-height:1.2;word-break:break-word}.tt-block-time-bot{font-size:10px;font-weight:600;opacity:.7;line-height:1;margin-top:auto}.tt-block.slot-fixed{cursor:default}.tt-block.slot-fixed:hover{filter:none;transform:none}.tt-block.slot-pedagogica{border-style:dashed;opacity:.8}@media(max-width:1024px){.tt-glass-nav{padding:10px 14px;flex-wrap:wrap;gap:8px}.tt-glass-info{font-size:13px}.tt-glass-btn{padding:7px 12px;font-size:12px}.tt-mode-badge{font-size:11px}}*{box-sizing:border-box}a,button,input[type=button],input[type=submit],input[type=checkbox],input[type=radio],.btn,label,select,summary,[role=button],[onclick],.sidebar-item,.sidebar-btn-switch,.tab-item{cursor:pointer!important}button *,a *,[data-tooltip],[data-dir-tab],[data-tab],[data-view],.tdash-action-card,.pdash-wizard-card,.clsrm-seat,.sidebar-link,.segment-btn,.instrum-tab,.course-tab,.tab-btn,.alertas-filter-btn,.quick-action-btn,.modern-stat-card[onclick],div[onclick],span[onclick]{cursor:pointer!important}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-heading: "Outfit", var(--font-sans);--color-primary: #3b82f6;--color-primary-deep: #1d4ed8;--color-primary-light: #60a5fa;--color-teal: #14b8a6;--color-teal-deep: #0f766e;--color-teal-soft: #ccfbf1;--color-amber: #f59e0b;--color-amber-soft: #fef3c7;--color-ink: #0f172a;--color-ink-muted: #64748b;--color-paper: #ffffff;--color-surface: #ffffff;--color-surface-2: #f8fafc;--text: var(--color-ink);--text-muted: var(--color-ink-muted);--bg-base: #f1f5f9;--bg-base-gradient: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 40%, #eef2f6 100%);--bg-card: rgba(255, 255, 255, .95);--bg-elevated: #ffffff;--border: rgba(148, 163, 184, .2);--border-strong: rgba(148, 163, 184, .35);--accent: var(--color-primary);--accent-green: #10b981;--accent-warm: var(--color-amber);--shadow-xs: 0 1px 2px rgba(15, 23, 42, .05);--shadow-sm: 0 4px 12px rgba(15, 23, 42, .04);--shadow-md: 0 10px 30px rgba(15, 23, 42, .06);--shadow-lg: 0 20px 40px rgba(15, 23, 42, .08);--shadow: var(--shadow-md);--shadow-card: var(--shadow-md), 0 0 0 1px rgba(148, 163, 184, .1);--radius: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 999px;--sidebar-width: 260px;--app-topbar-h: 72px;--sidebar-bg: #ffffff;--sidebar-item-bg: transparent;--sidebar-item-hover: #f1f5f9;--sidebar-item-active: #eff6ff;--sidebar-border-active: var(--color-primary);--sidebar-text: #334155;--ring: 0 0 0 3px rgba(61, 90, 128, .22);--ring-teal: 0 0 0 3px rgba(42, 157, 143, .25);--dash-qa-asist: linear-gradient(135deg, var(--color-teal) 0%, var(--color-teal-deep) 100%);--dash-qa-alumno: linear-gradient(135deg, var(--color-primary-light) 0%, var(--color-primary-deep) 100%);--dash-qa-anec: linear-gradient(135deg, var(--color-primary-deep) 0%, var(--color-teal-deep) 100%);--dash-qa-eval: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-deep) 100%);--app-page-bg: #F8FAFC;--app-heading: #1F2937;--app-muted: #6B7280;--app-card-bg: #FFFFFF;--app-card-radius: 16px;--app-btn-radius: 12px;--app-input-border: #E5E7EB;--app-gradient: linear-gradient(135deg, var(--color-primary) 0%, var(--color-teal) 100%);--app-shadow-card: 0 4px 24px rgba(15, 23, 42, .06), 0 0 0 1px rgba(15, 23, 42, .04)}:root{--ds-bg-page: var(--app-page-bg);--ds-bg-surface: var(--app-card-bg);--ds-bg-surface-soft: var(--color-surface-2);--ds-text: var(--app-heading);--ds-text-muted: var(--app-muted);--ds-border: rgba(148, 163, 184, .14);--ds-border-strong: var(--border-strong);--ds-radius-control: var(--app-btn-radius);--ds-radius-card: var(--app-card-radius);--ds-shadow-card: var(--app-shadow-card);--ds-shadow-soft: var(--shadow-xs);--ds-gradient-primary: linear-gradient(135deg, var(--color-primary) 0%, var(--color-teal-deep) 100%);--ds-focus-ring: 0 0 0 3px rgba(42, 157, 143, .2)}html.dark-theme{--color-ink: #f8fafc;--color-ink-muted: #94a3b8;--color-paper: #0f172a;--color-surface: #1e293b;--color-surface-2: #334155;--bg-base: #0f172a;--bg-base-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 40%, #020617 100%);--bg-card: rgba(30, 41, 59, .95);--bg-elevated: #1e293b;--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .2);--sidebar-bg: #1e293b;--sidebar-item-hover: #334155;--sidebar-item-active: rgba(59, 130, 246, .2);--sidebar-text: #e2e8f0;--app-page-bg: #0f172a;--app-heading: #f8fafc;--app-muted: #94a3b8;--app-card-bg: #1e293b;--app-input-border: #334155;--ds-bg-page: var(--app-page-bg);--ds-bg-surface: var(--app-card-bg);--ds-bg-surface-soft: var(--color-surface-2);--ds-text: var(--app-heading);--ds-text-muted: var(--app-muted);--ds-border: var(--border);--ds-border-strong: var(--border-strong);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 4px 12px rgba(0, 0, 0, .4);--shadow-md: 0 10px 30px rgba(0, 0, 0, .5);--app-shadow-card: 0 4px 24px rgba(0, 0, 0, .4), 0 0 0 1px rgba(255, 255, 255, .05)}html.dark-theme .app-card,html.dark-theme .ds-card,html.dark-theme .dash-hero-card,html.dark-theme .student-card{background:#1e293bd9;box-shadow:var(--app-shadow-card);border:1px solid var(--border)}html.dark-theme table thead th{background:#1e293be6;color:var(--color-ink-muted);border-bottom:2px solid var(--border-strong)}html.dark-theme table tbody tr:hover td{background:#33415599}html.dark-theme .app-topbar,html.dark-theme .app-sidebar{background:var(--sidebar-bg)!important;border-color:var(--border);color:var(--sidebar-text)}html.dark-theme .btn-app-secondary{background:var(--color-surface-2);color:var(--app-heading);border-color:var(--border-strong)}html.dark-theme .btn-app-secondary:hover:not(:disabled){background:#475569}.skeleton-box{position:relative;overflow:hidden;background-color:var(--color-surface-2);border-radius:var(--radius);color:transparent!important;pointer-events:none}.skeleton-box:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 1.5s infinite}html.dark-theme .skeleton-box:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent)}@keyframes shimmer{to{transform:translate(100%)}}.skeleton-text{height:1em;margin-bottom:.5em;border-radius:4px}.skeleton-text.short{width:50%}body{font-family:var(--font-sans);font-size:15px;line-height:1.6;margin:0;color:var(--app-heading);background:var(--bg-base-gradient);background-attachment:fixed;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.view-dashboard{background:linear-gradient(135deg,#f0f4ff,#fdf6ff 40%,#f0fff8,#fffbf0);background-attachment:scroll}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;letter-spacing:-.02em}.btn-view-back{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#fffc;border:1px solid var(--border);border-radius:99px;color:var(--color-ink);font-size:13.5px;font-weight:600;text-decoration:none;transition:all .2s ease;box-shadow:var(--shadow-xs);white-space:nowrap;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);margin-bottom:12px}.btn-view-back:hover{background:#fff;border-color:var(--color-primary);color:var(--color-primary);transform:translate(-3px);box-shadow:var(--shadow-sm)}.btn-view-back i,.btn-view-back span.icon{font-size:16px;line-height:1}html.dark-theme .btn-view-back{background:#1e293bcc;color:#f8fafc;border-color:#ffffff1a}html.dark-theme .btn-view-back:hover{background:#1e293b;border-color:var(--color-primary-light);color:var(--color-primary-light)}.u-hidden{display:none}.u-w-full{width:100%}.u-flex{display:flex}.u-flex-wrap{flex-wrap:wrap}.u-flex-col{flex-direction:column}.u-items-center{align-items:center}.u-items-end{align-items:flex-end}.u-items-stretch{align-items:stretch}.u-justify-end{justify-content:flex-end}.u-gap-6{gap:6px}.u-gap-8{gap:8px}.u-gap-10{gap:10px}.u-gap-12{gap:12px}.u-gap-14{gap:14px}.u-flex-1{flex:1}.u-minw-160{min-width:160px}.u-minw-200{min-width:200px}.u-minw-220{min-width:220px}.u-mt-4{margin-top:4px}.u-mt-6{margin-top:6px}.u-mt-8{margin-top:8px}.u-mt-10{margin-top:10px}.u-mt-12{margin-top:12px}.u-mt-14{margin-top:14px}.u-mt-16{margin-top:16px}.u-mt-18{margin-top:18px}.u-mt-20{margin-top:20px}.u-mt-22{margin-top:22px}.u-mt-24{margin-top:24px}.u-mt-28{margin-top:28px}.u-mb-10{margin-bottom:10px}.u-mb-12{margin-bottom:12px}.u-mb-14{margin-bottom:14px}.u-mb-16{margin-bottom:16px}.u-mb-20{margin-bottom:20px}.u-my-0{margin-top:0;margin-bottom:0}.u-text-11{font-size:11px}.u-text-12{font-size:12px}.u-text-13{font-size:13px}.u-text-14{font-size:14px}.u-text-15{font-size:15px}.u-fw-400{font-weight:400}.u-fw-700{font-weight:700}.u-break-word{word-break:break-all}.u-pos-relative{position:relative}.u-overflow-x-auto{overflow-x:auto}.u-p-12{padding:12px}.u-h3-section{font-size:14px;margin:0 0 10px;font-weight:800;color:var(--color-primary-deep)}.u-label-12{font-size:12px;font-weight:600;letter-spacing:.02em}.u-btn-text-12{font-size:12px}.u-break-all{word-break:break-all}.auth-actions-stack{margin-top:22px;flex-direction:column;align-items:stretch}.auth-link-back{margin-top:8px}.profile-panel{margin-bottom:14px;padding:12px 14px}.profile-panel-title{margin:0 0 8px;font-size:15px}.profile-panel-note{margin:0 0 10px;font-size:12px}.profile-code-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.profile-code-label{font-size:11px;min-width:5rem}.horario-scroll-wrap{margin-top:16px;overflow-x:auto}.join-pending-card{max-width:520px}.schedule-type-buttons--stack{max-width:320px}.ds-page{max-width:1120px;margin:0 auto;padding:8px 0 28px;color:var(--ds-text)}.ds-stack>*+*{margin-top:16px}.ds-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.ds-card{background:var(--ds-bg-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius-card);box-shadow:var(--ds-shadow-card);padding:20px 22px}.ds-title{margin:0 0 6px;font-size:1.35rem;font-weight:800;letter-spacing:-.02em;color:var(--ds-text)}.ds-lead{margin:0;color:var(--ds-text-muted);font-size:.95rem;max-width:62ch}.ds-label{display:block;margin:0 0 6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ds-text-muted)}.ds-input{width:100%;min-height:42px;padding:11px 14px;border-radius:var(--ds-radius-control);border:1px solid var(--ds-border-strong);background:var(--ds-bg-surface-soft);color:var(--ds-text);font:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s,background .2s}.ds-input:focus{outline:none;border-color:var(--color-teal);box-shadow:var(--ds-focus-ring);background:var(--ds-bg-surface)}.ds-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:var(--ds-radius-control);min-height:42px;padding:11px 18px;background:var(--ds-gradient-primary);color:#fff;font:inherit;font-size:14px;font-weight:700;letter-spacing:.02em;cursor:pointer;box-shadow:0 4px 16px #2a9d8f47;transition:transform .15s ease,box-shadow .2s ease,filter .15s ease}.ds-btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.04);box-shadow:0 8px 24px #3d5a8038}.ds-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;filter:none;box-shadow:none}.ds-btn--secondary{background:var(--ds-bg-surface);color:var(--color-primary-deep);border-color:var(--ds-border-strong);box-shadow:var(--ds-shadow-soft)}.ds-btn--secondary:hover:not(:disabled){background:var(--color-teal-soft);border-color:#2a9d8f66;box-shadow:var(--shadow-sm)}:where(.btn.ds-btn){min-height:42px}:where(.app-card.ds-card,.card.ds-card){padding:20px 22px}:where(input.ds-input,select.ds-input,textarea.ds-input){font-family:inherit}.ds-input.is-error,.input.is-error,.input-field.is-error{border-color:#f87171!important;box-shadow:0 0 0 3px #f8717126!important;background:#fef2f280!important}.field-error{display:block;color:#ef4444;font-size:12px;font-weight:600;margin-top:5px;margin-left:2px}.btn.sm{min-height:36px;padding:7px 14px;font-size:13px}.app-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.app-page-header h2{margin:0 0 6px;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;color:var(--app-heading)}.app-page-header .muted,.app-lead{color:var(--app-muted);font-size:.95rem;margin:0;max-width:52ch}.app-card{background:#ffffffb3;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:var(--app-card-radius);box-shadow:var(--app-shadow-card),0 0 0 1px #fff9 inset;padding:24px;border:1px solid rgba(148,163,184,.2)}.app-card--interactive{transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.app-card--interactive:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 16px 40px #0f172a14,0 0 0 1px #fffc inset;border-color:#3d5a8040;background:#ffffffd9}.btn-app-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:none;border-radius:var(--app-btn-radius);background:var(--app-gradient);color:#fff!important;font-weight:600;font-size:14px;cursor:pointer;box-shadow:0 8px 20px #2a9d8f38;transition:transform .15s ease,box-shadow .2s ease}.btn-app-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 28px #2a9d8f47}.btn-app-primary:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.btn-app-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid rgba(148,163,184,.3);border-radius:var(--app-btn-radius);background:#ffffff80;color:var(--app-heading)!important;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease}:root{--ui-surface: #ffffff;--ui-surface-soft: #f8fafc;--ui-border: #e5e7eb;--ui-border-strong: #d1d5db;--ui-text: #1f2937;--ui-muted: #6b7280;--ui-radius-card: 16px;--ui-radius-control: 12px;--ui-shadow-card: 0 4px 24px rgba(15, 23, 42, .06), 0 0 0 1px rgba(15, 23, 42, .04);--ui-shadow-hover: 0 10px 30px rgba(15, 23, 42, .1), 0 0 0 1px rgba(15, 23, 42, .05)}.btn-primary,.btn-primary-solid{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:var(--ui-radius-control);min-height:44px;padding:11px 18px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-teal-deep) 100%);color:#fff;font:inherit;font-size:14px;font-weight:700;letter-spacing:.02em;box-shadow:0 6px 18px #2a9d8f3d;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,filter .15s ease}.btn-primary:hover:not(:disabled),.btn-primary-solid:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.03);box-shadow:0 10px 26px #3d5a803d}.btn-secondary,.btn-outline{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-control);min-height:44px;padding:11px 16px;background:var(--ui-surface);color:var(--ui-text);font:inherit;font-size:14px;font-weight:600;letter-spacing:.01em;box-shadow:var(--shadow-xs);cursor:pointer;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.btn-secondary:hover:not(:disabled),.btn-outline:hover:not(:disabled){border-color:#3d5a8059;background:var(--ui-surface-soft);box-shadow:var(--shadow-sm)}.input,.input-field{width:100%;min-height:44px;padding:11px 14px;border-radius:var(--ui-radius-control);border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text);font:inherit;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.input:focus,.input-field:focus{outline:none;border-color:var(--color-teal);box-shadow:0 0 0 3px #2a9d8f33}.card-soft,.card-unified{background:var(--ui-surface);border:1px solid rgba(148,163,184,.14);border-radius:var(--ui-radius-card);box-shadow:var(--ui-shadow-card);padding:20px 22px}@keyframes view-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.view-entering{animation:view-fade-in .18s ease both}.btn-app-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--app-btn-radius);border:1px solid var(--app-input-border);background:#fff;color:var(--app-heading);font-weight:600;font-size:14px;cursor:pointer;transition:border-color .2s,background .2s}.btn-app-secondary:hover:not(:disabled){border-color:#3d5a8059;background:#f8fafc}.app-input,.app-select-wrap select,select.app-input{width:100%;min-height:44px;padding:10px 14px;border-radius:12px;border:1px solid var(--app-input-border);background:#fff;font:inherit;color:var(--app-heading);transition:border-color .2s,box-shadow .2s}.app-input:focus,select:focus{outline:none;border-color:var(--color-teal);box-shadow:0 0 0 3px #2a9d8f33}.app-empty{grid-column:1 / -1;text-align:center;padding:48px 24px;color:var(--text-muted);font-size:15px;line-height:1.6;background:#f8fafcb3;border:1.5px dashed rgba(148,163,184,.35);border-radius:var(--radius-xl);margin:8px 0}.app-empty strong{display:block;font-size:17px;font-weight:700;color:var(--color-primary-deep);margin-bottom:6px}.app-main{position:relative;flex:1;min-height:0;overflow-y:auto;padding-bottom:120px}.app-main:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(52rem 32rem at 8% -8%,rgba(61,90,128,.08),transparent 70%),radial-gradient(46rem 28rem at 92% 6%,rgba(42,157,143,.07),transparent 72%);z-index:0}.app-main>*{position:relative;z-index:1}.grid>section.card{box-shadow:0 10px 36px #0f172a14,0 0 0 1px #0f172a0d;contain:layout style}.grid>aside.card{box-shadow:0 8px 26px #0f172a12,0 0 0 1px #0f172a0a}#view-dashboard .dash-panel,#view-dashboard .dash-today-block,#view-dashboard .dashboard-section-card,.course-card,.student-card,.attendance-student-card,#view-grades .grades-main,#view-course-detail .course-layout,#student-detail-panel .student-tab-content,#view-placeholder #report-panel-general,#view-placeholder #report-panel-individual,#view-evidencias .evidence-hero,#view-evidencias .card{transition:transform .2s ease,box-shadow .25s ease,border-color .2s ease}.course-card.is-active{border-color:var(--color-teal);border-width:2px;box-shadow:0 10px 30px #2a9d8f26;background-color:#f0fdfa}.course-card.is-active:after{content:"TRABAJANDO";position:absolute;top:10px;right:12px;background:var(--color-teal);color:#fff;font-size:9px;font-weight:800;padding:2px 6px;border-radius:4px;letter-spacing:.05em}#view-dashboard .dash-panel:hover,#view-dashboard .dash-today-block:hover,#view-dashboard .dashboard-section-card:hover,#view-grades .grades-main:hover,#view-course-detail .course-layout:hover,#student-detail-panel .student-tab-content:hover,#view-placeholder #report-panel-general:hover,#view-placeholder #report-panel-individual:hover,#view-evidencias .evidence-hero:hover{transform:translateY(-2px);box-shadow:0 14px 34px #0f172a17}.btn,.btn-app-primary,.btn-app-secondary{transition:transform .14s ease,box-shadow .22s ease,border-color .2s ease}.btn:active,.btn-app-primary:active,.btn-app-secondary:active{transform:translateY(0);filter:saturate(1.05)}.app-page-header{margin-bottom:22px;padding-bottom:8px;border-bottom:1px solid rgba(148,163,184,.16)}.app-page-header h2{line-height:1.2}table thead th{background:#f8fafcf2;color:var(--color-ink-muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:12px;border-bottom:2px solid var(--border)}table tbody tr{transition:all .2s ease}table tbody tr:hover td{background:#f1f5f999}@media(prefers-reduced-motion:reduce){#view-dashboard .dash-panel,#view-dashboard .dash-today-block,#view-dashboard .dashboard-section-card,.course-card,.student-card,.attendance-student-card,#view-grades .grades-main,#view-course-detail .course-layout,#student-detail-panel .student-tab-content,#view-placeholder #report-panel-general,#view-placeholder #report-panel-individual,#view-evidencias .evidence-hero,#view-evidencias .card,.btn,.btn-app-primary,.btn-app-secondary{transition:none!important}.app-main:before{background:none}}body.view-dashboard .app-main:before{display:none!important}body.view-dashboard .app-topbar{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fff!important;box-shadow:var(--shadow-xs)!important}body.view-dashboard #view-dashboard .dash-panel,body.view-dashboard #view-dashboard .dash-today-block,body.view-dashboard #view-dashboard .dashboard-section-card,body.view-dashboard #view-dashboard .dash-hero-card,body.view-dashboard #view-dashboard .tdash-announcements,body.view-dashboard #view-dashboard .tdash-progress.dash-panel{transition:none!important;animation:none!important;transform:none!important;filter:none!important;box-shadow:var(--shadow-xs)!important;contain:paint}body.view-dashboard #view-dashboard .dashboard-section-card.collapsible .section-body{transition:none!important}body.app-performance-lite .app-topbar,body.app-performance-lite .app-sidebar,body.app-performance-lite .card,body.app-performance-lite .panel-subtle,body.app-performance-lite .btn,body.app-performance-lite .dash-panel,body.app-performance-lite .dash-today-block,body.app-performance-lite .dashboard-section-card{transition:none!important;animation:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:var(--shadow-xs)!important}body.app-performance-lite .card:before,body.app-performance-lite .dashboard-section-card:before,body.app-performance-lite .dash-panel:before,body.app-performance-lite .dash-today-block:before{display:none!important}body.app-performance-lite *{animation-iteration-count:1!important;animation-duration:.01ms!important;transition-duration:.01ms!important}body.app-performance-lite .sync-dot,body.app-performance-lite .shimmer,body.app-performance-lite .loading-shimmer{animation:none!important;background:#e2e8f0!important}body.app-performance-lite .card,body.app-performance-lite .btn,body.app-performance-lite .dash-panel{box-shadow:0 1px 2px #0000000d!important}@media(hover:none),(pointer:coarse),(max-width:900px){.app-main:before{display:none!important}.grid>section.card,.grid>aside.card,.app-topbar,.topbar,.topbar-dropdown,.app-card,.dash-hero-card,.dashboard-section-card,.course-card,.student-card,.attendance-student-card{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:var(--shadow-xs)!important}.btn,.btn-app-primary,.btn-app-secondary,.dash-hero-card,.course-card,.student-card,.attendance-student-card,table tbody tr{transition:none!important;animation:none!important}}.dash-teacher-hero{margin-bottom:22px}.dash-teacher-hero__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.dash-hero-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;text-align:left;padding:22px 24px;border:1px solid rgba(255,255,255,.4);border-radius:var(--app-card-radius);background:#ffffffa6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-sm),0 0 0 1px #ffffff80 inset;cursor:pointer;font:inherit;color:inherit;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.dash-hero-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#fffc,#ffffff1a);opacity:0;transition:opacity .3s ease;z-index:0}.dash-hero-card>*{position:relative;z-index:1}.dash-hero-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:var(--shadow-lg),0 0 0 1px #fffc inset;background:#ffffffd9;border-color:#fffc}.dash-hero-card:hover:before{opacity:1}.dash-hero-card__ico{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;background:var(--app-gradient);color:#fff;box-shadow:0 4px 12px #3b82f640;transition:transform .3s ease}.dash-hero-card:hover .dash-hero-card__ico{transform:scale(1.1) rotate(-3deg)}.dash-hero-card__title{font-weight:700;font-size:1.05rem;color:var(--app-heading)}.dash-hero-card__action{font-size:13px;font-weight:600;color:var(--color-teal-deep);margin-top:auto}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:8px}.course-card.app-card{display:flex;flex-direction:column;gap:12px;padding:20px 22px}.course-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.course-card__name{margin:0;font-size:1.05rem;font-weight:700;color:var(--app-heading);line-height:1.35}.course-card__meta{font-size:13px;color:var(--app-muted)}.attendance-card{padding:24px;display:flex;flex-direction:column;gap:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid var(--border-subtle);background:var(--bg-card);position:relative;overflow:hidden;border-radius:20px}.attendance-card:hover{transform:translateY(-4px);border-color:var(--color-primary-deep);box-shadow:0 12px 30px #0f172a14;background:#fff}.attendance-card__icon{width:48px;height:48px;border-radius:14px;background:#6366f11a;color:#6366f1;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.attendance-card:hover .attendance-card__icon{background:#6366f1;color:#fff;transform:scale(1.1)}.attendance-card__name{margin:0;font-size:18px;font-weight:800;color:var(--color-primary-deep);letter-spacing:-.02em}.attendance-card__meta{margin:4px 0 0;font-size:14px;color:#64748b}.attendance-card__action{margin-top:auto;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#6366f1;opacity:.8;transition:opacity .2s}.attendance-card:hover .attendance-card__action{opacity:1}.course-card__tanda{font-size:12px;color:var(--app-muted)}.course-card__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:12px}.student-card{display:flex;flex-direction:column;gap:14px;padding:20px 18px;border-radius:var(--app-card-radius);background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-sm),0 0 0 1px #fff9 inset;border:1px solid rgba(148,163,184,.2);transition:all .3s cubic-bezier(.4,0,.2,1)}.student-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md),0 0 0 1px #fffc inset;background:#ffffffd9}.student-card__row{display:flex;align-items:center;gap:14px}.student-card__avatar{width:52px;height:52px;border-radius:50%;overflow:hidden;flex-shrink:0;background:linear-gradient(145deg,#e2e8f0,#f1f5f9);display:flex;align-items:center;justify-content:center;font-size:22px;border:2px solid rgba(255,255,255,.9);box-shadow:0 2px 8px #0f172a0f}.student-card__avatar img{width:100%;height:100%;object-fit:cover}.student-card__body{min-width:0;flex:1}.student-card__name{margin:0;font-weight:700;font-size:15px;color:var(--app-heading);line-height:1.3}.student-card__course{margin:4px 0 0;font-size:13px;color:var(--app-muted)}.student-card__actions{display:flex;gap:8px}.student-card__actions .btn-app-primary,.student-card__actions .btn-app-secondary{flex:1;min-height:40px;font-size:13px}.attendance-modern{margin-top:12px}.attendance-month-strip{display:flex;flex-wrap:wrap;gap:8px;padding:14px 16px;margin-bottom:14px;align-items:center}.attendance-month-strip__label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--app-muted);width:100%;margin-bottom:2px}.attendance-month-pill{border:1px solid var(--app-input-border);background:#fff;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;color:var(--app-heading);cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}.attendance-month-pill:hover{border-color:var(--color-teal);background:#2a9d8f0f}.attendance-students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.attendance-student-card{border-radius:var(--app-card-radius);background:var(--app-card-bg);padding:16px 18px;box-shadow:var(--app-shadow-card);border:1px solid rgba(148,163,184,.12)}.attendance-student-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(148,163,184,.15)}.attendance-student-card__name{font-weight:700;color:var(--app-heading);font-size:15px}.attendance-student-card__year{font-size:13px;font-weight:700;white-space:nowrap}.attendance-student-card__months{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}@media(max-width:768px){.attendance-student-card__months{grid-template-columns:repeat(3,1fr)}}@media(max-width:480px){.attendance-student-card__months{grid-template-columns:repeat(2,1fr)}}.attendance-mini-pct{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:11px;font-weight:700;padding:6px 4px;min-height:52px;border-radius:8px;background:#f8fafc;border:1px solid rgba(148,163,184,.15)}.attendance-mini-pct .lbl{display:block;font-size:9px;font-weight:600;color:var(--app-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.attendance-mini-pct .val{display:block;font-size:12px;font-weight:800;line-height:1.1}.attendance-student-card .student-link{cursor:pointer;color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}.attendance-student-card .student-link:hover{color:var(--color-teal-deep)}a{color:inherit}button,input[type=button],input[type=submit],input[type=reset],[role=button]{cursor:pointer}button:disabled,input:disabled,[aria-disabled=true]{cursor:not-allowed}#saved-schedules-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;align-items:center;justify-content:center;padding:24px;background:#00000059;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:saved-schedules-fadeIn .2s ease-out}#saved-schedules-modal[data-open=true]{display:flex}@keyframes saved-schedules-fadeIn{0%{opacity:0}to{opacity:1}}#saved-schedules-dropdown-panel{min-width:340px;max-width:420px;max-height:85vh;overflow:hidden;background:var(--bg-card);border:1px solid var(--border);border-radius:20px;box-shadow:0 25px 50px -12px #0003,0 0 0 1px #ffffff80 inset;animation:saved-schedules-scaleIn .25s cubic-bezier(.34,1.56,.64,1)}@keyframes saved-schedules-scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}#saved-schedules-modal .saved-schedules-header{padding:20px 20px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border)}#saved-schedules-modal .saved-schedules-header h2{margin:0;font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--text);display:flex;align-items:center;gap:10px}#saved-schedules-modal .saved-schedules-header h2:before{content:"";width:28px;height:28px;border-radius:10px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-teal) 100%);flex-shrink:0}#saved-schedules-modal .btn-saved-schedules-close{width:44px;height:44px;border:none;border-radius:12px;background:#0000000d;color:var(--text-muted);cursor:pointer;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}#saved-schedules-modal .btn-saved-schedules-close:hover{background:#0000001a;color:var(--text)}#saved-schedules-modal .saved-schedules-actions{padding:14px 20px 16px;border-bottom:1px solid rgba(2,132,199,.1)}#saved-schedules-modal .btn-saved-schedules-new{width:100%;padding:12px 16px;border-radius:var(--radius);font-size:14px;font-weight:600;border:none;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-teal) 100%);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s,box-shadow .2s}#saved-schedules-modal .btn-saved-schedules-new:hover{transform:translateY(-1px);box-shadow:0 10px 28px #2a9d8f47}#saved-schedules-dropdown-list{padding:12px 20px 20px;overflow:auto;max-height:min(340px,55vh);display:flex;flex-direction:column;gap:8px}#saved-schedules-dropdown-list .saved-schedule-item{width:100%;text-align:left;margin:0;padding:14px 16px;border-radius:12px;border:1px solid var(--border);background:#ffffffb3;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;transition:border-color .2s,background .2s,box-shadow .2s}#saved-schedules-dropdown-list .saved-schedule-item:hover{border-color:#3d5a8059;background:var(--color-teal-soft)}#saved-schedules-dropdown-list .saved-schedule-item.is-active{border-color:var(--color-teal);background:linear-gradient(135deg,#2a9d8f1f,#3d5a800f);box-shadow:0 0 0 1px #2a9d8f38}#saved-schedules-dropdown-list .saved-schedule-row{display:flex;align-items:center;gap:8px}#saved-schedules-dropdown-list .saved-schedule-row .saved-schedule-item{flex:1;min-width:0}#saved-schedules-dropdown-list .saved-schedule-delete{flex-shrink:0;padding:6px 10px;font-size:11px;font-weight:600;border-radius:8px;border:1px solid rgba(239,68,68,.5);background:#ef444414;color:#dc2626;cursor:pointer;transition:background .2s}#saved-schedules-dropdown-list .saved-schedule-delete:hover{background:#ef44442e}#saved-schedules-dropdown-list .saved-schedule-item .schedule-name{font-size:14px;font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#saved-schedules-dropdown-list .saved-schedule-item .schedule-badge{font-size:11px;font-weight:700;color:var(--color-teal-deep);flex-shrink:0}#saved-schedules-dropdown-list .saved-schedule-item:not(.is-active) .schedule-badge{color:var(--text-muted);font-weight:500}#saved-schedules-dropdown-list .saved-schedules-empty{padding:24px 16px;text-align:center;font-size:14px;color:var(--text-muted)}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-topbar{display:flex;align-items:center;justify-content:space-between;min-height:var(--app-topbar-h);height:auto;padding:10px 24px;background:#ffffffbf;border-bottom:1px solid rgba(148,163,184,.2);position:sticky;top:0;z-index:400;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 4px 24px #0f172a0a}.app-logo{display:flex;align-items:center;gap:14px;font-size:20px;font-weight:800;letter-spacing:-.03em;color:var(--color-primary-deep);font-family:var(--font-heading)}.svg-sprite-defs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}.app-logo-mark-wrap{width:64px;height:64px;border-radius:18px;flex-shrink:0;overflow:visible;filter:drop-shadow(0 4px 14px rgba(26,35,50,.18))}.app-logo-mark{width:100%;height:100%;display:block}.app-logo-text{line-height:1.15}.app-logo-accent{color:var(--color-teal-deep)}.app-topbar-right{position:relative;display:flex;align-items:center;gap:8px;flex-shrink:1;min-width:0}.topbar-goto-login{display:none;flex-shrink:0}body:not(.app-authenticated) .topbar-goto-login{display:inline-flex}body.app-authenticated .topbar-goto-login{display:none!important}.app-topbar-right .icon-btn{width:40px;height:40px;border-radius:50%;border:none;background:transparent}.sidebar-btn-switch{width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--sidebar-item-bg, transparent);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:14px;font-weight:600;color:var(--text-muted);transition:all .2s ease}.sidebar-btn-switch:hover{background:var(--sidebar-item-hover);border-color:var(--color-teal);color:var(--color-primary-deep);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.sidebar-btn-switch .icon{font-size:18px;color:var(--color-primary);transition:transform .2s ease}.sidebar-btn-switch:hover .icon{transform:rotate(180deg)}.context-selector{display:flex;align-items:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50px;padding:4px 12px;margin-right:12px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none;max-width:280px;position:relative}.context-selector:hover{background:#ffffff26;border-color:#ffffff4d}.context-info{display:flex;flex-direction:column;margin-right:8px;min-width:0}.context-center-name{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#ffffffe6}.context-tanda{font-size:10px;font-weight:500;color:#fff9;text-transform:capitalize}.context-chevron{font-size:10px;color:#ffffff80}.context-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:320px;background:#fff;border-radius:12px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;z-index:1000;padding:8px;border:1px solid rgba(0,0,0,.05);display:none;animation:dropdownFadeIn .2s cubic-bezier(.16,1,.3,1)}.context-dropdown.active{display:block}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.context-dropdown-header{padding:10px 12px;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #f1f5f9;margin-bottom:6px;display:flex;justify-content:space-between;align-items:center}.context-item{padding:10px 12px;border-radius:8px;display:flex;flex-direction:column;gap:2px;cursor:pointer;transition:background .15s ease;border:1px solid transparent}.context-item:hover{background:#f8fafc}.context-item.active{background:#eff6ff;border-color:#bfdbfe}.context-item-center{font-size:13px;font-weight:600;color:#1e293b}.context-item-meta{font-size:11px;color:#64748b;display:flex;align-items:center;gap:6px}.context-badge{padding:2px 6px;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase}.badge-role{background:#e2e8f0;color:#475569}.badge-tanda{background:#dcfce7;color:#15803d}.badge-personal{background:#fee2e2;color:#991b1b}.context-dropdown-actions{margin-top:8px;padding-top:8px;border-top:1px solid #f1f5f9}.btn-add-context{width:100%;padding:10px;background:#f1f5f9;border:none;border-radius:8px;color:#475569;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease}.btn-add-context:hover{background:#e2e8f0;color:#0f172a}:root{--ctx-primary: var(--primary-color, #2563eb);--ctx-bg-soft: #f8fafc;--ctx-border: #e2e8f0}body.ctx-personal{--ctx-primary: #475569;--ctx-bg-soft: #f1f5f9;--theme-color: #64748b}body.ctx-center{background-color:var(--ctx-bg-soft)}body.ctx-personal .topbar{border-bottom:2px solid var(--ctx-border)}body[data-active-center] .topbar{border-bottom-color:var(--ctx-primary);box-shadow:0 4px 12px -4px #0000000d}body[data-active-center] .sidebar{border-right:1px solid var(--ctx-border)}body[data-active-center] .sidebar:after{content:"";position:absolute;top:0;right:1px;width:4px;height:100%;background:var(--ctx-primary);opacity:.15;pointer-events:none}.context-switch-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#0f172a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease;color:#fff}.context-switch-overlay.active{opacity:1;pointer-events:all}.context-switch-card{background:#fff;padding:32px;border-radius:20px;box-shadow:0 25px 50px -12px #00000040;text-align:center;transform:translateY(20px);transition:transform .4s cubic-bezier(.175,.885,.32,1.275);max-width:380px;width:90%;color:#0f172a}.context-switch-overlay.active .context-switch-card{transform:translateY(0)}.context-switch-loader{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:var(--ctx-primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 20px}.context-switch-title{font-weight:800;font-size:18px;margin-bottom:8px}.context-switch-subtitle{font-size:14px;color:#64748b}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-context-header{margin-bottom:24px;padding:16px 20px;background:#fff;border-radius:12px;border-left:4px solid var(--ctx-primary);display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-sm)}.ctx-badge-circle{width:10px;height:10px;border-radius:50%;background:var(--ctx-primary);box-shadow:0 0 8px var(--ctx-primary)}.dashboard-context-label{font-size:13px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.dashboard-context-name{font-size:16px;font-weight:700;color:#0f172a}body.ctx-theme-blue{--ctx-primary: #2563eb}body.ctx-theme-emerald{--ctx-primary: #059669}body.ctx-theme-indigo{--ctx-primary: #4f46e5}body.ctx-theme-orange{--ctx-primary: #d97706}body.ctx-theme-rose{--ctx-primary: #e11d48}body.ctx-theme-slate{--ctx-primary: #475569}.context-switch-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:50px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;margin-bottom:20px;box-shadow:0 4px 12px #0000001a}.badge-personal{background:#4755691a;color:#475569;border:1px solid rgba(71,85,105,.2)}.badge-center{background:#2563eb1a;color:#2563eb;border:1px solid rgba(37,99,235,.2)}.context-switch-overlay.ctx-personal .badge-personal{background:#fff}body.view-auth{overflow-y:auto!important;height:auto!important;min-height:100vh!important;background:var(--bg-base-gradient)}body.view-auth .app-shell{display:flex!important;flex-direction:column!important;height:auto!important;min-height:100vh!important;max-height:none!important;overflow:visible!important}body.view-auth .app-body,body.view-auth .app-main{display:block!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;flex:none!important;padding:0!important;margin:0!important}body.view-auth .grid{display:flex!important;justify-content:center!important;align-items:flex-start!important;min-height:100vh!important;height:auto!important;padding:40px 16px 80px!important;overflow:visible!important;background:var(--bg-base-gradient)}body.view-auth .grid>.card,body.view-auth .grid>section.card{contain:none!important;width:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;background:transparent!important;border:none!important;box-shadow:none!important;overflow:visible!important;height:auto!important;border-radius:0!important}body.view-auth .grid>.card:before{display:none}body.view-auth main{background:transparent}body.view-auth:not(.app-authenticated) .app-sidebar-backdrop{display:none!important;pointer-events:none!important}body.view-auth #topbar-context-selector,body.view-auth #topbar-user-avatar,body.view-auth #topbar-settings,body.view-auth #topbar-notif-container,body.view-auth #user-pill,body.view-auth #btn-signout{display:none!important}body.view-auth #toast{position:fixed!important;top:20px!important;left:50%!important;transform:translate(-50%)!important;z-index:999999!important}#view-auth{position:relative;z-index:10;pointer-events:auto;overflow:visible}.auth-flow{width:100%;max-width:1000px;margin:20px auto;background:#fff;border-radius:32px;box-shadow:0 40px 100px #0f172a26;border:1px solid rgba(255,255,255,.8);position:relative;z-index:10;height:auto;overflow:visible}.auth-step{display:none}.auth-step.is-active{display:block}.auth-split{display:grid;grid-template-columns:360px 1fr;min-height:520px;height:auto;align-items:stretch}@media(max-width:1024px){.auth-split{grid-template-columns:300px 1fr}}@media(max-width:860px){.auth-split{grid-template-columns:1fr;min-height:auto}.auth-brand-panel{padding:40px 32px!important;min-height:auto!important;border-radius:32px 32px 0 0}.auth-action-panel{order:-1;border-radius:32px 32px 0 0}}.auth-brand-panel{background:linear-gradient(165deg,#4f46e5,#6366f1 45%,#3730a3);color:#f8fafc;padding:56px 48px;display:flex;flex-direction:column;justify-content:space-between;border-radius:32px 0 0 32px;position:relative;overflow:hidden}.auth-brand-panel:before{content:"";position:absolute;top:0;right:0;width:100%;height:100%;background:radial-gradient(circle at top right,rgba(255,255,255,.12),transparent 65%),radial-gradient(circle at bottom left,rgba(167,139,250,.15),transparent 60%);pointer-events:none}.auth-brand-panel>*{position:relative;z-index:1}.auth-brand-header{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:24px}.auth-brand-logo-img-wrap{width:120px;height:120px;border-radius:32px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;box-shadow:0 16px 32px #0000004d}.auth-brand-logo-svg{width:100%;height:100%;display:block}.auth-brand-logo{font-size:clamp(24px,3.5vw,32px);font-weight:800;letter-spacing:-.04em;line-height:1.2}.auth-brand-logo span{color:#c7d2fe}.auth-brand-tagline{font-size:clamp(16px,2vw,20px);font-weight:500;opacity:.95;line-height:1.45;max-width:320px;margin:0}.auth-brand-footnote{margin-top:auto;padding-top:24px;font-size:13px;opacity:.7;line-height:1.5}.auth-action-panel{background:#fff;padding:48px 40px;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;border-radius:0 32px 32px 0;height:auto;overflow:visible}.auth-action-inner{width:100%;max-width:400px;margin:auto 0;padding:32px 0}.auth-action-title{font-size:22px;font-weight:800;color:#4f46e5;margin:0 0 8px;letter-spacing:-.02em}.auth-action-sub{font-size:15px;color:#64748b;margin:0 0 28px}.auth-primary-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:0}.auth-primary-actions .btn-primary,.auth-primary-actions .btn-secondary{width:100%;justify-content:center}.auth-divider{display:flex;align-items:center;gap:14px;margin:20px 0;color:#94a3b8;font-size:12px;font-weight:600}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.auth-btn-google{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;padding:12px 24px;border-radius:12px;border:1px solid #e2e8f0;background:#fff;color:#334155;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000000f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-btn-google:hover{background:#f8fafc;border-color:#cbd5e1;box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.auth-btn-google svg{flex-shrink:0}#auth-login-form,#auth-register-form{display:flex;flex-direction:column;gap:12px;margin-bottom:0}#auth-login-form label,#auth-register-form label{display:block;font-size:11px;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}#auth-login-form input,#auth-register-form input{width:100%;padding:11px 14px;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;font-size:14px;color:#1e293b;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;box-sizing:border-box}#auth-login-form input:focus,#auth-register-form input:focus{border-color:#6366f1;background:#fff;box-shadow:0 0 0 3px #6366f11f}.auth-btn-submit{display:block;width:100%;padding:12px 18px;border-radius:10px;border:none;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-size:15px;font-weight:700;cursor:pointer;margin-top:8px;transition:filter .15s ease,transform .1s ease;box-shadow:0 4px 14px #6366f159}.auth-btn-submit:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.auth-btn-submit:disabled,.auth-btn-submit.is-loading{opacity:.7;cursor:not-allowed;transform:none}.auth-form-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:8px 0;font-size:13px}.auth-form-footer label{display:inline-flex!important;align-items:center!important;gap:7px!important;font-size:13px!important;font-weight:500!important;text-transform:none!important;letter-spacing:normal!important;color:#64748b!important;cursor:pointer!important;margin:0!important}.auth-field-error{font-size:11px;font-weight:600;color:#b91c1c;margin-top:3px;min-height:16px;line-height:1.4}.input-with-toggle{position:relative;display:flex;align-items:center}.input-with-toggle input{flex:1;padding-right:42px!important}.input-toggle-btn{position:absolute;right:10px;background:none;border:none;padding:4px;cursor:pointer;color:#94a3b8;display:flex;align-items:center;justify-content:center;line-height:1;transition:color .15s}.input-toggle-btn:hover{color:#475569}.auth-link-quiet{display:block;text-align:center;margin-top:16px;font-size:13px;color:#64748b}.auth-link-quiet button,.auth-link-quiet a{background:none;border:none;padding:0;font:inherit;font-weight:700;color:#0f766e;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.auth-link-quiet button:hover,.auth-link-quiet a:hover{color:#1d4ed8}.auth-admin-link{margin-top:20px;text-align:center;font-size:12px;color:#94a3b8}.auth-foot-link{background:none;border:none;padding:0;font:inherit;color:#94a3b8;font-size:12px;text-decoration:underline;cursor:pointer}.auth-foot-link:hover{color:#64748b}.auth-action-panel p.muted{font-size:13px;color:#64748b;line-height:1.5;margin:4px 0 0}.auth-step[data-auth-step=admin] .auth-action-inner .row{display:flex;flex-direction:column;gap:12px}@media(max-width:540px){.auth-action-panel{padding:36px 24px}.auth-brand-panel{padding:36px 24px!important}.auth-flow{border-radius:20px;margin:12px auto}body.view-auth .grid{padding:20px 12px 60px!important}}.btn{border:1px solid transparent;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-teal-deep) 100%);color:#fff;padding:11px 18px;border-radius:var(--app-btn-radius);cursor:pointer;font-size:14px;font-weight:700;letter-spacing:.02em;box-shadow:0 4px 16px #2a9d8f47;transition:all .1s ease-out;touch-action:manipulation}.btn:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 8px 24px #3d5a8038}.btn:active{transform:scale(.96)}.btn.secondary{background:var(--bg-elevated);color:var(--color-primary-deep);border-color:var(--border-strong);box-shadow:var(--shadow-xs)}.btn.secondary:hover{background:var(--color-teal-soft);border-color:#2a9d8f66;box-shadow:var(--shadow-sm)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none;filter:none}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.btn.sm{padding:8px 14px;font-size:13px;box-shadow:0 3px 12px #2a9d8f33}.btn.sm:hover{box-shadow:0 6px 18px #3d5a802e}.btn.primary-blue{background:linear-gradient(135deg,var(--color-primary-deep) 0%,var(--color-primary) 100%)}.btn.primary-blue:hover{box-shadow:0 8px 26px #2c476840}.btn.secondary-slate{background:var(--color-surface-2);border-color:var(--border-strong);color:var(--text)}.btn.secondary-slate:hover{background:var(--color-amber-soft);border-color:#e9c46a8c}.toast{border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text);border-radius:var(--radius-pill);padding:11px 16px;font-size:13px;font-weight:600;box-shadow:var(--shadow-md);max-width:min(96vw,520px);white-space:normal;word-break:break-word;line-height:1.35;position:relative;z-index:500;transition:opacity .4s ease,transform .4s ease;opacity:0}.toast.error{border-color:#c5303059;background:#fff5f5;color:#9b2c2c}.toast.ok{border-color:#2a9d6a66;background:var(--color-teal-soft);color:#1d6b52}table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;background:var(--bg-elevated);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-xs)}th,td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left}th{font-size:11px;color:var(--color-primary-deep);font-weight:800;text-transform:uppercase;letter-spacing:.07em;background:linear-gradient(180deg,var(--color-teal-soft) 0%,rgba(232,246,244,.5) 100%)}tr:nth-child(2n) td{background:#f4f7faa6}tr:nth-child(odd) td{background:var(--bg-elevated)}tr:hover td{background:#fdf8eb8c}.course-main-table tr:hover td,.timetable-grid tr:hover td{background:transparent}.pill{font-size:11px;padding:4px 11px;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--color-surface-2);color:var(--color-primary-deep);font-weight:600}.timetable-grid{margin-top:10px;overflow-x:auto}.timetable-grid table{font-size:13px;table-layout:fixed;min-width:400px}.timetable-grid th,.timetable-grid td{padding:6px 8px;border:1px solid rgba(51,65,85,.6);vertical-align:top}.timetable-grid .time-cell{width:56px;color:var(--text-muted);font-size:11px;white-space:nowrap}.timetable-grid .block-cell{min-height:32px}.timetable-grid .block-card{padding:6px 8px;border-radius:8px;font-size:12px;color:#0f172a;box-shadow:0 2px 8px #0003;height:100%;box-sizing:border-box;cursor:pointer}.timetable-grid .block-card .name{font-weight:600}.timetable-grid .block-card .time{font-size:11px;opacity:.9}.student-detail-header{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.student-detail-header .photo-placeholder{width:64px;height:64px;border-radius:50%;background:var(--color-teal-soft);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--color-teal-deep);font-size:12px;font-weight:600;text-align:center}.student-detail-header .name-title{font-size:20px;font-weight:800;margin:0;color:var(--color-primary-deep);letter-spacing:-.02em}.student-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;border-bottom:1px solid var(--border);padding-bottom:0}.student-tabs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;color:var(--text-muted);padding:10px 14px;cursor:pointer;font-size:13px;font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:var(--radius) var(--radius) 0 0;transition:color .2s,background .2s}.student-tabs button:hover{color:var(--color-primary-deep);background:#3d5a800f}.student-tabs button.active{color:var(--color-teal-deep);border-bottom-color:var(--color-teal);background:var(--color-teal-soft)}#student-detail-panel{max-width:920px;margin:0 auto}#student-detail-panel .student-detail-header{padding:20px 22px;background:var(--app-card-bg);border-radius:var(--app-card-radius);box-shadow:var(--app-shadow-card);border:1px solid rgba(148,163,184,.12);margin-bottom:16px}#student-detail-panel .student-detail-header .photo-placeholder{width:88px;height:88px;border:3px solid #fff;box-shadow:0 4px 16px #0f172a14}#student-detail-panel .student-tab-content{background:var(--app-card-bg);border-radius:var(--app-card-radius);padding:22px 24px;box-shadow:var(--app-shadow-card);border:1px solid rgba(148,163,184,.12);margin-top:12px}#student-detail-panel .student-datos-grid .field label{color:var(--app-muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.student-ficha-title{font-size:1.35rem;font-weight:700;color:var(--app-heading);letter-spacing:-.02em;margin:0 0 4px}#view-grades .grades-main{background:var(--app-card-bg);border-radius:var(--app-card-radius);padding:22px 24px;box-shadow:var(--app-shadow-card);border:1px solid rgba(148,163,184,.12)}#view-grades .grades-sidebar-inner{background:var(--app-card-bg);border-radius:var(--app-card-radius);padding:18px;box-shadow:var(--app-shadow-card);border:1px solid rgba(148,163,184,.12)}#view-placeholder #report-panel-general,#view-placeholder #report-panel-individual{border:1px solid rgba(148,163,184,.12);border-radius:var(--app-card-radius);box-shadow:var(--app-shadow-card)}.report-supplied-data{color:#38bdf8;font-weight:600}.student-datos-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}@media(max-width:600px){.student-datos-grid{grid-template-columns:1fr}}.student-datos-grid .field{display:flex;flex-direction:column;gap:4px}.student-datos-grid .field label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.student-datos-grid .field input,.student-datos-grid .field .value{font-size:14px;color:var(--text)}table td{color:var(--text)}.course-layout{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:16px;align-items:flex-start}.course-main{max-width:100%;overflow-x:auto}@media(max-width:900px){.course-layout{grid-template-columns:1fr}}#course-students-sidebar{border-radius:var(--app-card-radius);border:1px solid rgba(148,163,184,.12);padding:16px;background:var(--app-card-bg);box-shadow:var(--app-shadow-card);max-height:480px;overflow-y:auto;display:flex;flex-direction:column}#course-students-sidebar .course-students-top{flex:0 0 auto}#course-students-sidebar #course-add-student-form-wrap{margin-top:auto;flex:0 0 auto;padding-top:12px;border-top:1px solid rgba(148,163,184,.2)}#course-students-sidebar h3{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary);font-weight:800}.course-student-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;cursor:pointer}.course-student-avatar{width:24px;height:24px;border-radius:999px;background:var(--color-teal-soft);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--color-teal-deep);font-weight:700}.course-student-item span{color:var(--text)}.course-student-index{width:18px;text-align:right;color:var(--text-muted);font-size:11px}.course-main-table table th,.course-main-table table td{padding:4px 6px;font-size:12px}#course-tab-sumativa .course-main-table table{table-layout:fixed}#course-tab-sumativa table thead tr:nth-child(2) th{padding:8px 12px;font-size:13px}#course-tab-sumativa table tbody td{min-width:80px;height:32px}.clickable,.attendance-cell{cursor:pointer}#course-tab-sumativa table th:nth-child(n+2):nth-child(-n+9),#course-tab-sumativa table td:nth-child(n+2):nth-child(-n+9){background:#38bdf826}#course-tab-sumativa table th:nth-child(n+10):nth-child(-n+17),#course-tab-sumativa table td:nth-child(n+10):nth-child(-n+17){background:#34d39926}#course-tab-sumativa table th:nth-child(n+18):nth-child(-n+25),#course-tab-sumativa table td:nth-child(n+18):nth-child(-n+25){background:#facc1526}#course-tab-sumativa table th:nth-child(n+26):nth-child(-n+33),#course-tab-sumativa table td:nth-child(n+26):nth-child(-n+33){background:#f871712e}#course-students-sidebar form{margin-top:8px;display:flex;flex-direction:column;gap:6px}#course-students-sidebar form input{font-size:12px;padding:6px 8px}.attendance-month-days{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:2px}.attendance-month-day{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;background:var(--color-primary);color:#fff;font-size:10px;font-weight:700}body.view-onboarding main{background:var(--bg-elevated)}.onboarding-wrap{max-width:480px;margin:0 auto;padding:32px 20px 48px}.onboarding-wrap .card{padding:28px 28px 32px}.onboarding-wrap h2{margin:0 0 10px;font-size:24px;font-weight:800;color:var(--color-primary-deep);letter-spacing:-.02em}body.view-auth main{background:var(--bg-elevated)}body.view-setup-center main{background:linear-gradient(180deg,var(--app-page-bg) 0%,#f1f5f9 100%)}body.view-profile main{background:linear-gradient(180deg,var(--app-page-bg) 0%,#f1f5f9 100%)}body.view-profile #view-profile .profile-shell,body.view-profile #view-profile .profile-prefs-card,body.view-profile #view-profile .profile-meta-tile,body.view-profile #view-profile .panel-subtle,body.view-profile #view-profile .profile-director-form-card{transition:none!important;box-shadow:var(--shadow-xs)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;contain:paint}.onboarding-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;max-width:700px;margin:24px auto}.choice-card-premium{background:var(--bg-elevated);border:2px solid var(--border-color);border-radius:20px;padding:32px 24px;cursor:pointer;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;gap:12px;position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}.choice-card-premium:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-teal));opacity:0;transition:opacity .3s ease}.choice-card-premium:hover{transform:translateY(-8px);border-color:var(--color-primary);box-shadow:var(--shadow-lg),0 0 0 1px var(--color-primary-soft)}.choice-card-premium:hover:before{opacity:1}.choice-card-premium .icon-wrap{font-size:48px;margin-bottom:8px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));transition:transform .3s ease}.choice-card-premium:hover .icon-wrap{transform:scale(1.1) rotate(5deg)}.choice-card-premium h4{font-size:18px;font-weight:700;color:var(--color-primary-deep);margin:0}.choice-card-premium p{font-size:13px;color:var(--text-muted);line-height:1.5;margin:0}.choice-card-premium .choice-badge{position:absolute;top:12px;right:12px;background:var(--color-teal-soft);color:var(--color-teal-deep);font-size:10px;font-weight:800;padding:2px 8px;border-radius:10px;text-transform:uppercase;opacity:0;transform:translate(10px);transition:all .3s ease}.choice-card-premium:hover .choice-badge{opacity:1;transform:translate(0)}.app-topbar-right .icon-btn{color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:background .2s,color .2s}.app-topbar-right .icon-btn:hover{background:var(--color-teal-soft);color:var(--color-primary-deep)}.app-topbar{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:10px 24px;gap:12px}.app-topbar>:first-child{justify-self:start}.app-topbar>:nth-child(2){justify-self:center}.app-topbar>:last-child{justify-self:end}.app-logo{display:flex;align-items:center;gap:14px}.app-topbar-right{display:flex;align-items:center;gap:8px}.app-user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-teal) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;border:2px solid rgba(255,255,255,.85);box-shadow:var(--shadow-xs)}.sync-status{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#94a3b81a;border-radius:var(--radius-pill);font-size:13px;cursor:help;transition:all .3s ease}.sync-status .sync-icon{filter:grayscale(1);opacity:.6}.sync-status.online .sync-icon{filter:none;opacity:1}.sync-status .sync-dot{width:8px;height:8px;border-radius:50%;background:#94a3b8}.sync-status.online .sync-dot{background:#10b981}.sync-status.offline .sync-dot{background:#ef4444}.sync-status.syncing .sync-dot{background:#3b82f6;animation:syncPulse 1s infinite alternate}@keyframes syncPulse{0%{opacity:.4;transform:scale(.8)}to{opacity:1;transform:scale(1.2)}}.app-body{display:flex;flex:1;min-height:0;position:relative}.app-sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-width);background:#ffffff73;backdrop-filter:blur(28px) saturate(160%);-webkit-backdrop-filter:blur(28px) saturate(160%);border-right:1px solid rgba(255,255,255,.4);padding:calc(var(--app-topbar-h) + 18px) 0 24px;display:none;box-shadow:15px 0 45px #0f172a0d;z-index:1000;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .3s ease;transform:translate(0)}body.app-authenticated .app-sidebar{display:block}body.app-admin .app-sidebar,body.hide-sidebar .app-sidebar{display:none!important}body.hide-sidebar .app-main{margin-left:0!important;padding-left:24px!important;width:100%!important}body.hide-sidebar .sidebar-toggle,body.app-admin #sidebar-toggle{display:none!important}.app-sidebar-nav{list-style:none;margin:0;padding:0 12px}.app-sidebar-nav li{margin-bottom:4px}.app-sidebar-nav a,.app-sidebar-nav button.sidebar-link{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:none;border-radius:var(--radius);border-left:3px solid transparent;background:var(--sidebar-item-bg);color:var(--sidebar-text);font-size:14px;font-weight:600;cursor:pointer;text-align:left;text-decoration:none;transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .15s}.app-sidebar-nav a:hover,.app-sidebar-nav button.sidebar-link:hover{background:var(--sidebar-item-hover);color:var(--color-primary-deep);border-left-color:var(--color-teal);box-shadow:var(--shadow-xs);transform:translate(4px)}.app-sidebar-nav a[data-active=true],.app-sidebar-nav button.sidebar-link[data-active=true]{background:var(--sidebar-item-active);color:var(--color-primary-deep);border-left-color:var(--sidebar-border-active);box-shadow:none}.app-sidebar-nav .sidebar-icon{font-size:20px;width:26px;text-align:center}.app-main{flex:1;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;padding:28px 24px 40px;transition:padding-left .3s ease}body.app-authenticated:not(.sidebar-collapsed) .app-main{padding-left:calc(var(--sidebar-width) + 24px)}@media(max-width:1024px){body.app-authenticated:not(.sidebar-collapsed) .app-main{padding-left:24px}}.app-boot-error{margin-bottom:16px;padding:14px 16px;border-radius:var(--radius-lg);border:1px solid rgba(248,113,113,.55);background:#fef2f2f2;color:#991b1b;font-size:14px;line-height:1.5;position:relative;z-index:500}.app-boot-error code{font-size:12px;background:#fffc;padding:2px 6px;border-radius:6px}.app-sidebar-backdrop{display:none}@media(max-width:768px){:root{--app-topbar-h: 60px}.app-sidebar{top:var(--app-topbar-h);z-index:1100;width:min(288px,calc(100vw - 48px));transform:translate(-100%)}body.app-authenticated:not(.sidebar-collapsed) .app-sidebar{transform:translate(0)}body.app-authenticated:not(.sidebar-collapsed) .app-sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;top:var(--app-topbar-h);z-index:1050;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}body.app-admin .app-sidebar-backdrop{display:none!important}}.container{max-width:1120px;margin:0 auto;padding:0 24px}.topbar{display:none}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text)}.brand{display:flex;align-items:baseline;gap:10px}.brand h1{font-size:18px;margin:0;letter-spacing:.2px;font-weight:600;color:var(--color-primary-deep)}.badge{font-size:12px;color:var(--color-primary-deep);background:var(--color-teal-soft);border:1px solid var(--border-strong);padding:2px 10px;border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.nav button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-strong);background:var(--bg-elevated);padding:8px 12px;border-radius:var(--radius-pill);cursor:pointer;font-size:13px;font-weight:600;color:var(--text-muted);transition:background .12s ease,border-color .12s ease,color .12s ease,transform 80ms ease,box-shadow .12s ease}.nav button:hover{background:var(--color-teal-soft);color:var(--color-primary-deep);transform:translateY(-1px)}.nav button[data-active=true]{border-color:var(--color-teal);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-teal-deep) 100%);color:#fff;box-shadow:0 6px 18px #3d5a8033}.nav .right{margin-left:10px;display:flex;gap:8px;align-items:center}#nav-admin-tabs,.nav[data-mode=admin] #nav-user-tabs{display:none!important}.nav[data-mode=admin] #nav-admin-tabs{display:inline-flex!important}.dashboard-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}@media(max-width:900px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.dashboard-stats{grid-template-columns:1fr}}.stat-card{background:#ffffffe0;border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-xl);padding:24px 20px;box-shadow:var(--shadow-sm),0 0 0 1px #ffffff80 inset;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),background .25s ease;backface-visibility:hidden}.stat-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-lg),0 0 0 1px #fffc inset;background:#ffffffd9}.stat-card .stat-label{font-size:12px;color:var(--text-muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.stat-card .stat-value{font-size:28px;font-weight:800;color:var(--color-primary-deep);letter-spacing:-.03em}.stat-card .stat-value.stat-accent{color:var(--color-teal-deep)}.dashboard-section-card{background:#ffffffeb;border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-xl);padding:24px;margin-bottom:22px;box-shadow:var(--shadow-sm),0 0 0 1px #fff6 inset;position:relative;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1);backface-visibility:hidden}.dashboard-section-card h3{font-size:17px;margin:0 0 18px;color:var(--color-primary-deep);font-weight:800;letter-spacing:-.02em}.dashboard-section-card.collapsible .section-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 0}.dashboard-section-card.collapsible .section-header:hover{color:var(--accent)}.dashboard-section-card.collapsible .section-header .section-chevron{transition:transform .2s;color:var(--text-muted)}.dashboard-section-card.collapsible.collapsed .section-chevron{transform:rotate(-90deg)}.dashboard-section-card.collapsible .section-body{overflow:hidden;transition:opacity .2s}.dashboard-section-card.collapsible.collapsed .section-body{display:none}.quick-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px 14px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);font-size:14px;font-weight:700;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s,background .18s;box-shadow:var(--shadow-xs)}.quick-action-btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--color-teal) 42%,var(--border) 58%);background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-teal-soft) 100%)}.quick-action-btn .qa-icon{font-size:24px}body.app-nav-mode-center-teacher .quick-action-btn[data-view=courses],body.app-nav-mode-center-teacher .quick-action-btn[data-view=students],body.app-nav-mode-center-teacher .dash-hero-card.quick-action-btn[data-view=courses],body.app-nav-mode-center-teacher .dash-hero-card.quick-action-btn[data-view=students]{display:none!important}#dashboard-personal-root .quick-action-btn[data-view=courses],#dashboard-personal-root .quick-action-btn[data-view=students]{display:flex!important}body.app-nav-mode-center-teacher .sidebar-dash-duplicate,body.app-nav-mode-center-teacher #dashboard-section-acciones{display:none!important}body.app-nav-mode-registrar .app-sidebar-nav>ul>li:not(.sidebar-li-registrar){display:none!important}body.app-nav-mode-registrar .app-sidebar-nav>ul>li.sidebar-li-registrar{display:list-item!important}body.app-nav-mode-registrar #dashboard-teacher-root,body.app-nav-mode-registrar #dashboard-teacher-root .tdash-progress,body.app-nav-mode-registrar #dashboard-teacher-root .dash-home-grid,body.app-nav-mode-registrar #dashboard-teacher-root .dash-today-block,body.app-nav-mode-registrar #dashboard-teacher-root .dash-bottom-grid,body.app-nav-mode-registrar #dashboard-teacher-root .dashboard-section-card,body.app-nav-mode-registrar #dashboard-teacher-root .dash-section-label,body.app-nav-mode-registrar #topbar-notifications,body.app-independent-visual-only #timetable-director-only-banner,body.app-independent-visual-only #saved-schedules-dropdown,body.app-independent-visual-only #timetable-visual-week-nav,body.app-independent-visual-only #timetable-week-label{display:none!important}body.app-independent-user .app-center-only,body.app-independent-user .app-sidebar-nav li.sidebar-nav-center-only,body.app-independent-user #dashboard-btn-supervision{display:none!important}.dir-dash__members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:32px;margin-top:10px;padding:10px 5px}.member-card{background:#fff;border:2px solid transparent;border-radius:28px;padding:28px;display:flex;flex-direction:column;gap:18px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden;box-shadow:0 10px 25px -5px #0000000d,0 8px 10px -6px #0000000d;border-color:var(--role-border, #e2e8f0)}.role--director{--role-color: #0f172a;--role-bg: #f8fafc;--role-border: #cbd5e1;--role-gradient: linear-gradient(135deg, #1e293b, #0f172a)}.role--teacher{--role-color: #8b5cf6;--role-bg: #f5f3ff;--role-border: #ddd6fe;--role-gradient: linear-gradient(135deg, #a78bfa, #8b5cf6)}.role--coordinator{--role-color: #0d9488;--role-bg: #f0fdfa;--role-border: #99f6e4;--role-gradient: linear-gradient(135deg, #2dd4bf, #0d9488)}.role--orientador{--role-color: #0284c7;--role-bg: #f0f9ff;--role-border: #bae6fd;--role-gradient: linear-gradient(135deg, #38bdf8, #0284c7)}.role--registrar{--role-color: #ec4899;--role-bg: #fdf2f8;--role-border: #fbcfe8;--role-gradient: linear-gradient(135deg, #f472b6, #ec4899)}.member-card:hover{transform:translateY(-12px) scale(1.02);border-color:var(--role-color);box-shadow:0 25px 50px -12px #00000026,0 10px 20px -5px var(--role-shadow, rgba(0, 0, 0, .1))}.member-card--empty{border-color:#fca5a5;background:linear-gradient(to bottom,#fff,snow)}.member-card--empty .member-card__activity-val{color:#ef4444;font-weight:700;font-style:italic}.member-card--empty:after{content:"!";position:absolute;bottom:-10px;right:-5px;font-size:80px;font-weight:900;color:#ef44440d;pointer-events:none}.member-card__header{display:flex;align-items:center;gap:16px}.member-card__avatar{width:60px;height:60px;border-radius:18px;background:var(--role-gradient, linear-gradient(135deg, #64748b, #475569));display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;color:#fff;box-shadow:0 8px 16px var(--role-shadow, rgba(0, 0, 0, .1));flex-shrink:0}.member-card__info{flex:1;min-width:0}.member-card__name{font-size:17px;font-weight:800;color:var(--color-primary-deep);margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Outfit,sans-serif}.member-card__role-badge{display:inline-flex;padding:4px 10px;border-radius:8px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:var(--role-bg, #f1f5f9);color:var(--role-color, #475569);border:1px solid var(--role-border, rgba(0, 0, 0, .05))}.member-card__body{padding-top:16px;border-top:1px solid rgba(0,0,0,.04)}.member-card__activity{font-size:12px;color:var(--text-muted);display:flex;flex-direction:column;gap:6px}.member-card__activity-label{font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8}.member-card__courses-grid{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.course-chip-mini{padding:5px 12px;border-radius:10px;font-size:11px;font-weight:800;background:var(--role-bg);color:var(--role-color);border:1.5px solid var(--role-border);white-space:nowrap;transition:all .25s ease;box-shadow:0 2px 4px #00000005}.course-chip-mini:hover{transform:translateY(-2px);background:var(--role-color);color:#fff;box-shadow:0 6px 12px var(--role-shadow, rgba(0,0,0,.1))}.member-card__activity-empty{font-size:11px;color:#ef4444;font-style:italic;font-weight:600;padding:4px 0}.member-card__footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:20px;border-top:1px solid rgba(0,0,0,.04)}.member-card__actions{display:flex;gap:8px;width:100%}.member-card__actions .action-btn{flex:1;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border:1px solid rgba(0,0,0,.05);background:#f8fafc;position:relative}.member-card__actions .action-btn:hover{transform:translateY(-4px);box-shadow:0 6px 12px #00000014;background:#fff;border-color:var(--btn-hover-color, var(--color-primary));color:var(--btn-hover-color, var(--color-primary))}.member-card__actions .action-btn.btn-notebook{--btn-hover-color: #3b82f6}.member-card__actions .action-btn.btn-supervision{--btn-hover-color: #8b5cf6}.member-card__actions .action-btn.btn-assign{--btn-hover-color: #10b981}.member-card__actions .action-btn.btn-config{--btn-hover-color: #64748b}.member-card__actions .action-btn:after{content:attr(title);position:absolute;bottom:-30px;left:50%;transform:translate(-50%);background:#1e293b;color:#fff;padding:4px 8px;border-radius:6px;font-size:10px;font-weight:700;white-space:nowrap;opacity:0;pointer-events:none;transition:all .2s;z-index:10}.member-card__actions .action-btn:hover:after{opacity:1;bottom:-35px}.role--director{--role-gradient: linear-gradient(135deg, #4338ca, #3730a3);--role-shadow: rgba(67, 56, 202, .3);--role-bg: rgba(67, 56, 202, .1);--role-color: #4338ca;--role-border: rgba(67, 56, 202, .2)}.role--coordinator{--role-gradient: linear-gradient(135deg, #8b5cf6, #7c3aed);--role-shadow: rgba(139, 92, 246, .3);--role-bg: rgba(139, 92, 246, .1);--role-color: #8b5cf6;--role-border: rgba(139, 92, 246, .2)}.role--orientador{--role-gradient: linear-gradient(135deg, #10b981, #059669);--role-shadow: rgba(16, 185, 129, .3);--role-bg: rgba(16, 185, 129, .1);--role-color: #10b981;--role-border: rgba(16, 185, 129, .2)}.role--registrar{--role-gradient: linear-gradient(135deg, #f59e0b, #d97706);--role-shadow: rgba(245, 158, 11, .3);--role-bg: rgba(245, 158, 11, .1);--role-color: #f59e0b;--role-border: rgba(245, 158, 11, .2)}.role--teacher{--role-gradient: linear-gradient(135deg, #3b82f6, #2563eb);--role-shadow: rgba(59, 130, 246, .3);--role-bg: rgba(59, 130, 246, .1);--role-color: #3b82f6;--role-border: rgba(59, 130, 246, .2)}.member-card__status{position:absolute;top:24px;right:24px;width:10px;height:10px;border-radius:50%;background:#10b981;box-shadow:0 0 10px #10b98166;animation:pulseStatus 2s infinite}@keyframes pulseStatus{0%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}to{transform:scale(1);opacity:1}}#dashboard-teacher-root .dash-teacher-stack>.tdash-announcements,#dashboard-teacher-root .dash-teacher-stack>.dash-welcome,#dashboard-teacher-root .dash-teacher-stack>.dash-teacher-hero,#dashboard-teacher-root .dash-teacher-stack>.tdash-progress,#dashboard-teacher-root .dash-teacher-stack>.dash-home-grid,#dashboard-teacher-root .dash-teacher-stack>.dash-today-block,#dashboard-teacher-root .dash-teacher-stack>.dash-bottom-grid,#dashboard-teacher-root .dash-teacher-stack>.dashboard-sections-grid{margin-bottom:0}.dash-control-center{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.dash-control-welcome{display:flex;justify-content:space-between;align-items:center;padding:0 4px}.dash-welcome-content .modern-title{margin:0;font-size:clamp(24px,4vw,32px);font-weight:800;letter-spacing:-.04em;color:var(--color-primary-deep)}.dash-welcome-content .modern-date{margin:4px 0 0;font-size:15px;color:var(--text-muted);font-weight:500}.dash-welcome-badges{display:flex;gap:8px}.modern-pill{padding:6px 12px;border-radius:var(--radius-pill);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.modern-pill.success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.modern-pill.primary{background:#dbeafe;color:#1e40af;border:1px solid #bfdbfe}.live-insights-bar{background:linear-gradient(135deg,#0f172a,#1e293b);border-radius:var(--radius-lg);padding:14px 20px;display:flex;align-items:center;gap:16px;position:relative;overflow:hidden;box-shadow:var(--shadow-lg),0 0 0 1px #ffffff0d inset}.insights-glare{position:absolute;top:-100%;left:-100%;width:300%;height:300%;background:radial-gradient(circle,rgba(56,189,248,.12) 0%,transparent 70%);pointer-events:none;animation:insights-float 20s infinite ease-in-out}@keyframes insights-float{0%,to{transform:translate(-10%,-10%)}50%{transform:translate(10%,10%)}}.insights-icon{font-size:20px;width:40px;height:40px;background:#38bdf81a;border:1px solid rgba(56,189,248,.3);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#38bdf8;text-shadow:0 0 10px rgba(56,189,248,.5);flex-shrink:0}.insights-ticker-wrap{flex:1;overflow:hidden}.insights-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#38bdf8;font-weight:800;margin-bottom:2px;opacity:.8}.insights-ticker{color:#f1f5f9;font-size:14px;font-weight:500;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dash-section-label{font-size:14px;color:var(--text-muted);margin:0 0 12px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.dash-collapsible-title{margin:0;font-size:17px;font-weight:800;color:var(--color-primary-deep);letter-spacing:-.02em}.dash-home-grid{display:grid;grid-template-columns:1fr minmax(260px,300px);gap:18px;margin-bottom:22px;align-items:stretch}@media(max-width:1024px){.dash-home-grid{grid-template-columns:1fr}.dash-home-grid .dash-panel--summary{grid-column:1}}@media(max-width:720px){.dash-home-grid{grid-template-columns:1fr}}.dash-panel{background:#ffffffa6;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.5);border-radius:32px;padding:24px 28px;box-shadow:0 10px 15px -3px #00000005,0 4px 6px -2px #00000003,inset 0 0 0 1px #ffffff80;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.165,.84,.44,1)}.dash-panel:hover{transform:translateY(-8px) scale(1.005);background:#ffffffd9;box-shadow:0 20px 25px -5px #00000014,0 8px 10px -6px #0000000a}.dash-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#3b82f60d,#14b8a60d);opacity:0;transition:opacity .3s}.dash-panel:hover:before{opacity:1}.dash-panel--accent-line:after{content:"";position:absolute;top:0;left:24px;right:24px;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,var(--color-primary),var(--color-teal));opacity:.8}.dash-panel-title{display:flex;align-items:center;gap:12px;margin:0 0 16px;font-size:1.15rem;font-weight:800;color:var(--color-primary-deep);letter-spacing:-.02em;font-family:var(--font-heading)}.dash-panel-title .dash-ico{font-size:22px;line-height:1;padding:8px;background:var(--color-surface-2);border-radius:10px;box-shadow:var(--shadow-xs);border:1px solid rgba(255,255,255,.6)}.dash-panel__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;align-items:center}.dash-course-list{display:flex;flex-direction:column;gap:0;max-height:280px;overflow-y:auto}.dash-course-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 10px;border-bottom:1px solid var(--border);cursor:pointer;border-radius:var(--radius);transition:background .15s;text-align:left;width:100%;border-left:none;border-right:none;border-top:none;background:transparent;font:inherit;color:inherit}.dash-course-row:last-child{border-bottom:none}.dash-course-row:hover{background:var(--color-surface-2)}.dash-course-row strong{display:block;font-size:15px;color:var(--color-ink)}.dash-course-row span{font-size:13px;color:var(--text-muted)}.dash-course-row .dash-chev{color:var(--text-muted);font-size:18px}.dash-day-row,.dash-eval-row{border-bottom:1px solid var(--border);color:var(--text);font-size:14px}.dash-day-row{padding:8px 0}.dash-eval-row{padding:6px 0}.dash-day-row:last-child,.dash-eval-row:last-child{border-bottom:none}.dash-qa-stack{display:flex;flex-direction:column;gap:10px}.dash-qa-btn{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:none;border-radius:var(--radius-lg);font-size:15px;font-weight:700;cursor:pointer;color:#fff;text-align:left;transition:transform .15s,box-shadow .15s;box-shadow:var(--shadow-sm)}.dash-qa-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.dash-qa-btn .dq-ico{font-size:22px;width:28px;text-align:center}.dash-qa-btn--asist{background:var(--dash-qa-asist)}.dash-qa-btn--alumno{background:var(--dash-qa-alumno)}.dash-qa-btn--anec{background:var(--dash-qa-anec)}.dash-qa-btn--eval{background:var(--dash-qa-eval)}.dash-summary-stats{display:flex;flex-direction:column;gap:14px}.dash-summary-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--color-surface-2);border-radius:var(--radius-lg);border:1px solid var(--border)}.dash-summary-row .ds-ico{font-size:22px}.dash-summary-row .ds-val{font-size:22px;font-weight:800;color:var(--color-primary-deep)}.dash-summary-row .ds-lab{font-size:12px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.dash-today-block{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-xl);padding:22px;margin-bottom:22px;box-shadow:var(--shadow-card);position:relative}.dash-today-block>h3{margin:0 0 8px;font-size:17px;font-weight:800;color:var(--color-primary-deep)}.dash-plan-cards{display:flex;flex-direction:column;gap:14px;margin-top:16px}.dash-plan-card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;background:var(--color-surface-2);display:grid;gap:12px}.dash-plan-card .dpc-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px}.dash-plan-card .dpc-course{font-size:17px;font-weight:800;color:var(--color-ink)}.dash-plan-card .dpc-time{font-size:13px;color:var(--text-muted);font-weight:600}.dash-plan-card .dpc-tema{font-size:14px;color:var(--color-primary-deep);font-weight:600}.dash-plan-card .dpc-teach{font-size:13px;color:var(--text-muted);line-height:1.45;max-height:3.2em;overflow:hidden}.dash-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:4px 10px;border-radius:var(--radius-pill)}.dash-status--pend{background:var(--color-amber-soft);color:var(--color-primary-deep);border:1px solid color-mix(in srgb,var(--color-amber) 48%,var(--border) 52%)}.dash-status--ok{background:var(--color-teal-soft);color:var(--color-teal-deep);border:1px solid color-mix(in srgb,var(--color-teal) 32%,var(--border) 68%)}.dash-status--part{background:color-mix(in srgb,var(--color-amber-soft) 85%,var(--color-teal-soft) 15%);color:color-mix(in srgb,var(--color-primary-deep) 55%,var(--color-ink) 45%);border:1px solid color-mix(in srgb,var(--color-amber) 38%,var(--border) 62%)}.dash-status--no{background:color-mix(in srgb,var(--color-surface-2) 82%,var(--color-primary) 18%);color:var(--color-primary-deep);border:1px solid color-mix(in srgb,var(--color-primary) 22%,var(--border) 78%)}.dash-plan-actions{display:flex;flex-wrap:wrap;gap:8px}.dash-plan-actions .btn{font-size:13px;padding:8px 14px}.dash-bottom-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:18px;margin-bottom:24px}.dashboard-sections-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:16px;margin-bottom:14px}.dashboard-sections-grid .dashboard-section-card{margin-bottom:0}@media(max-width:1180px){.dash-bottom-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}}@media(max-width:1024px){.dash-bottom-grid,.dashboard-sections-grid{grid-template-columns:1fr}}.dash-reminder-list,.dash-activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.dash-reminder-list li,.dash-activity-list li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--text);line-height:1.4}.dash-activity-list li{color:var(--text-muted)}.dash-premium-card{background:linear-gradient(160deg,var(--color-primary-deep) 0%,var(--color-ink) 100%);color:var(--sidebar-text);border:1px solid color-mix(in srgb,var(--sidebar-text) 14%,transparent)}.dash-premium-card .dash-panel-title{color:var(--sidebar-text)}.dash-premium-btns{display:flex;flex-direction:column;gap:10px}.dash-premium-btns .btn{background:var(--sidebar-item-bg);color:var(--sidebar-text);border:1px solid var(--sidebar-item-hover)}.dash-premium-btns .btn:hover{background:var(--sidebar-item-hover)}.dash-premium-foot{margin-top:14px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--sidebar-text) 18%,transparent);font-size:12px;opacity:.9;display:flex;align-items:center;gap:8px}.sidebar-toggle{width:44px;height:44px;border-radius:12px;border:1px solid rgba(148,163,184,.3);background:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}#view-dashboard,#view-attendance,#view-grades,#view-courses,#view-students,#view-placeholder,#view-initial-config{color:var(--ui-text);font-family:var(--font-sans);line-height:1.55}#view-dashboard .muted,#view-attendance .muted,#view-grades .muted,#view-courses .muted,#view-students .muted,#view-placeholder .muted,#view-initial-config .muted{color:var(--ui-muted)}#view-dashboard>*+*,#view-attendance>*+*,#view-grades>*+*,#view-courses>*+*,#view-students>*+*,#view-placeholder>*+*{margin-top:16px}#view-dashboard .dash-panel,#view-dashboard .dash-today-block,#view-dashboard .dashboard-section-card,#view-dashboard .dash-hero-card,#view-attendance .card,#view-attendance .attendance-student-card,#view-grades .grades-main,#view-grades .card,#view-courses .card,#view-courses .course-card,#view-students .card,#view-students .student-card,#view-students .student-tab-content,#view-placeholder #report-panel-general,#view-placeholder #report-panel-individual,#view-placeholder .card{background:var(--ui-surface);border:1px solid rgba(148,163,184,.14);border-radius:var(--ui-radius-card);box-shadow:var(--ui-shadow-card)}#view-dashboard .dash-panel:hover,#view-dashboard .dash-today-block:hover,#view-dashboard .dashboard-section-card:hover,#view-attendance .attendance-student-card:hover,#view-grades .grades-main:hover,#view-courses .course-card:hover,#view-students .student-card:hover,#view-placeholder #report-panel-general:hover,#view-placeholder #report-panel-individual:hover{box-shadow:var(--ui-shadow-hover)}#view-dashboard .btn,#view-attendance .btn,#view-grades .btn,#view-courses .btn,#view-students .btn,#view-placeholder .btn,#view-initial-config .btn{border-radius:var(--ui-radius-control);min-height:42px;font-weight:700;letter-spacing:.02em}#view-dashboard .btn.secondary,#view-attendance .btn.secondary,#view-grades .btn.secondary,#view-courses .btn.secondary,#view-students .btn.secondary,#view-placeholder .btn.secondary,#view-initial-config .btn.secondary{background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-border-strong);box-shadow:var(--shadow-xs)}#view-dashboard .btn.secondary:hover,#view-attendance .btn.secondary:hover,#view-grades .btn.secondary:hover,#view-courses .btn.secondary:hover,#view-students .btn.secondary:hover,#view-placeholder .btn.secondary:hover,#view-initial-config .btn.secondary:hover{background:var(--ui-surface-soft);border-color:#3d5a8059}#view-dashboard input:not([type=checkbox]):not([type=radio]),#view-dashboard select,#view-dashboard textarea,#view-attendance input:not([type=checkbox]):not([type=radio]),#view-attendance select,#view-attendance textarea,#view-grades input:not([type=checkbox]):not([type=radio]),#view-grades select,#view-grades textarea,#view-courses input:not([type=checkbox]):not([type=radio]),#view-courses select,#view-courses textarea,#view-students input:not([type=checkbox]):not([type=radio]),#view-students select,#view-students textarea,#view-placeholder input:not([type=checkbox]):not([type=radio]),#view-placeholder select,#view-placeholder textarea,#view-initial-config input:not([type=checkbox]):not([type=radio]),#view-initial-config select,#view-initial-config textarea{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-control);color:var(--ui-text);min-height:42px;font-size:14px;box-shadow:none}#view-dashboard input:focus,#view-dashboard select:focus,#view-dashboard textarea:focus,#view-attendance input:focus,#view-attendance select:focus,#view-attendance textarea:focus,#view-grades input:focus,#view-grades select:focus,#view-grades textarea:focus,#view-courses input:focus,#view-courses select:focus,#view-courses textarea:focus,#view-students input:focus,#view-students select:focus,#view-students textarea:focus,#view-placeholder input:focus,#view-placeholder select:focus,#view-placeholder textarea:focus,#view-initial-config input:focus,#view-initial-config select:focus,#view-initial-config textarea:focus{border-color:var(--color-teal);box-shadow:0 0 0 3px #2a9d8f33}#view-dashboard h2,#view-attendance h2,#view-grades h2,#view-courses h2,#view-students h2,#view-placeholder h2,#view-initial-config h2{color:var(--ui-text);letter-spacing:-.02em;font-weight:800}#view-dashboard h3,#view-attendance h3,#view-grades h3,#view-courses h3,#view-students h3,#view-placeholder h3,#view-initial-config h3{color:var(--color-primary-deep);font-weight:700;letter-spacing:-.01em}.wizard-step-card:hover{transform:translateY(-4px);border-color:var(--color-primary)!important;box-shadow:0 10px 20px #00000014;background:#fff!important}.wizard-step-card:after{content:"→";position:absolute;bottom:16px;right:16px;font-weight:800;color:var(--color-primary);opacity:0;transition:opacity .2s}.wizard-step-card:hover:after{opacity:1}.dash-teacher-hero{margin-bottom:24px}.dash-teacher-hero__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}.dash-hero-card{background:#ffffffe0!important;border:1px solid rgba(255,255,255,.4)!important;border-radius:var(--radius-xl)!important;padding:24px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:12px!important;text-align:left!important;transition:transform .3s cubic-bezier(.165,.84,.44,1),box-shadow .3s ease!important;cursor:pointer!important;position:relative!important;overflow:hidden!important;box-shadow:var(--shadow-sm),0 1px 3px #00000005!important}.dash-hero-card:hover{transform:translateY(-8px)!important;background:#ffffffe6!important;box-shadow:var(--shadow-lg),0 15px 35px #0f172a1a!important;border-color:var(--color-primary-light)!important}.dash-hero-card__ico{font-size:32px!important;width:60px!important;height:60px!important;background:var(--color-surface-2)!important;border-radius:18px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin-bottom:8px!important;box-shadow:var(--shadow-xs)!important;transition:transform .3s ease!important}.dash-hero-card:hover .dash-hero-card__ico{transform:scale(1.1) rotate(5deg);background:var(--color-teal-soft)!important;color:var(--color-primary-deep)}.dash-hero-card__title{font-family:var(--font-heading)!important;font-size:19px!important;font-weight:800!important;color:var(--color-primary-deep)!important;margin:0!important;letter-spacing:-.03em!important;line-height:1.2!important}.dash-hero-card__action{font-size:13px!important;font-weight:600!important;color:var(--text-muted)!important;opacity:.7!important}.dash-hero-card[data-view=timetable]{border-left:5px solid var(--color-amber)!important}.dash-hero-card[data-view=courses]{border-left:5px solid var(--color-primary)!important}.dash-hero-card[data-view=students]{border-left:5px solid var(--color-teal)!important}.dash-hero-card[data-view=attendance]{border-left:5px solid #10b981!important}@keyframes modern-shimmer{0%{transform:translate(-150%) skew(-25deg)}to{transform:translate(150%) skew(-25deg)}}.shimmer-effect{position:relative;overflow:hidden}.shimmer-effect:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:modern-shimmer 3s infinite linear;pointer-events:none}@media(max-width:768px){.dash-teacher-hero__grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.dash-teacher-hero__grid{grid-template-columns:1fr}}.modern-command-center{background:linear-gradient(135deg,#0284c7,#2563eb 55%,#4f46e5);border-radius:24px;padding:28px 32px;margin:8px 0 28px;display:flex;justify-content:space-between;align-items:center;color:#fff;position:relative;overflow:hidden;box-shadow:0 20px 50px #1e1b4b26,inset 0 0 0 1px #ffffff1a;border:1px solid rgba(255,255,255,.05)}.modern-command-center:before{content:"";position:absolute;top:-20%;right:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(99,102,241,.15) 0%,transparent 70%);pointer-events:none}.dir-dash__header-section{display:flex;flex-direction:column;z-index:2}.institution-info{flex:1;min-width:0}.institution-info .dir-dash__eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:#a5b4fccc;font-weight:800;margin:0 0 6px}.institution-info .dir-dash__title{font-size:clamp(22px,4vw,32px);font-weight:900;letter-spacing:-.04em;margin:0;color:#fff;line-height:1.1}.dir-dash__sub-detail{margin-top:8px;font-size:13px;font-weight:600;color:#ffffff80;display:flex;align-items:center;gap:6px}.center-actions{align-items:center;padding:0 20px}.sync-btn-premium{background:#ffffff1a!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2)!important;color:#fff!important;height:48px!important;padding:0 24px!important;border-radius:16px!important;font-size:14px!important;display:flex!important;align-items:center!important;gap:10px!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.sync-btn-premium:hover{background:#fff3!important;transform:translateY(-2px);box-shadow:0 8px 20px #0003}.user-profile-card{flex-direction:row!important;align-items:center;background:#ffffff0f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:12px 18px;gap:16px;transition:all .3s ease}.user-profile-card:hover{background:#ffffff1a;border-color:#fff3}.profile-card__avatar{width:48px;height:48px;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:#fff;box-shadow:0 8px 16px #4f46e540;flex-shrink:0}.profile-card__details{display:flex;flex-direction:column;min-width:140px}.profile-card__role{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#a5b4fce6;margin:0}.profile-card__name{font-size:16px;font-weight:700;color:#fff;margin:2px 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-card__footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-card__date{font-size:11px;font-weight:600;color:#ffffff80;white-space:nowrap}.user-profile-card .modern-pill{font-size:9px;padding:2px 8px;height:auto;line-height:1.4}@media(max-width:1024px){.modern-command-center{flex-direction:column;align-items:flex-start;gap:24px;padding:24px}.center-actions{padding:0;align-items:flex-start}.user-profile-card{width:100%;justify-content:flex-start}}@media(max-width:640px){.institution-info .dir-dash__title{font-size:24px}.profile-card__details{min-width:0;flex:1}.sync-btn-premium{width:100%;justify-content:center}}.segment-control{background:#f1f5f9cc;padding:8px;border-radius:20px;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:28px;border:1px solid rgba(148,163,184,.15);width:100%;box-sizing:border-box}.segment-btn{padding:11px 18px;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--text-muted);font-size:13px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:7px;white-space:nowrap}.segment-btn:hover{background:#ffffff80;color:var(--color-primary-deep)}.segment-btn.is-active{background:#fff;color:#4338ca;box-shadow:var(--shadow-sm),0 4px 12px #4338ca1f}.segment-btn .ico{font-size:18px}.modern-pill.secondary{background:#ffffff1a;color:#e0e7ff;border:1px solid rgba(255,255,255,.2)}.modern-pill.info{background:#38bdf826;color:#7dd3fc;border:1px solid rgba(56,189,248,.3)}.stats-grid-modern{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:28px}.modern-stat-card{background:#fff;border:1px solid rgba(148,163,184,.1);border-radius:var(--radius-xl);padding:24px;display:flex;align-items:center;gap:16px;transition:all .3s ease;box-shadow:var(--shadow-sm)}.modern-stat-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md),0 10px 20px #00000008}.modern-stat-card .stat-ico{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px}.modern-stat-card.teachers .stat-ico{background:#e0e7ff;color:#4338ca}.modern-stat-card.students .stat-ico{background:#dcfce7;color:#166534}.modern-stat-card.attendance .stat-ico{background:#fef9c3;color:#854d0e}.modern-stat-card.notebooks .stat-ico{background:#fae8ff;color:#86198f}.modern-stat-card .stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-weight:800;margin:0}.modern-stat-card .stat-value{font-size:26px;font-weight:900;color:var(--color-primary-deep);margin:2px 0 0;letter-spacing:-.02em}.dir-dash__card{background:#fff9;-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border:1px solid rgba(255,255,255,.5);border-radius:28px;padding:24px;margin-bottom:24px;box-shadow:0 10px 15px -3px #0000000d,0 4px 6px -4px #00000008;transition:all .3s cubic-bezier(.4,0,.2,1)}.dir-dash__card:hover{transform:translateY(-4px);background:#fffc;box-shadow:0 20px 25px -5px #00000014}.dir-dash__card h3{margin:0 0 18px;font-size:18px;font-weight:800;color:var(--color-primary-deep);letter-spacing:-.02em}@media(max-width:768px){.modern-command-center{flex-direction:column;padding:24px;gap:20px}.dir-dash__user-info{text-align:left}.segment-control{display:flex;flex-wrap:wrap;width:100%;border-radius:16px}.segment-btn{white-space:nowrap}}.split-portal-container{display:flex;min-height:100vh;background:radial-gradient(circle at 20% 20%,#eff6ff,#f1f5f9,#f8fafc);width:100%}#view-dashboard{background:radial-gradient(circle at 0% 0%,#eff6ff,#f8fafc);min-height:100vh}body.ctx-personal #view-dashboard{background:radial-gradient(circle at 0% 0%,#ecfdf5,#f8fafc)}body.ctx-center #view-dashboard{background:radial-gradient(circle at 0% 0%,#eff6ff,#f8fafc)}.split-portal-sidebar{width:28%;min-width:280px;max-width:360px;background:linear-gradient(160deg,#0f172a,#1e2d4a);padding:36px 24px;display:flex;flex-direction:column;justify-content:center;gap:0;position:relative;overflow:hidden;color:#fff;box-shadow:8px 0 32px #0000002e}.split-portal-sidebar:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(37,99,235,.1) 0%,transparent 70%);pointer-events:none}.split-portal-main{flex:1;padding:40px 30px;display:flex;flex-direction:column;justify-content:flex-start;background:radial-gradient(circle at 20% 20%,#eff6ff,#f1f5f9,#f8fafc);position:relative;overflow-y:auto}.split-portal-main:after{content:"";position:absolute;top:10%;right:5%;width:300px;height:300px;background:radial-gradient(circle,rgba(59,130,246,.05) 0%,transparent 70%);filter:blur(60px);pointer-events:none;z-index:0}.digital-bulletin{position:relative;z-index:2;background:#0f172a66;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.08);border-radius:32px;overflow:hidden;box-shadow:0 30px 60px -15px #0006,inset 0 1px 1px #ffffff1a;transition:all .5s cubic-bezier(.23,1,.32,1)}.digital-bulletin:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.05),transparent 60%);z-index:5}.digital-bulletin:hover{transform:translateY(-8px) scale(1.01);background:#0f172a80;border-color:#2563eb4d;box-shadow:0 40px 70px -15px #00000080,0 0 30px #2563eb26}.digital-bulletin__screen{width:100%;background:#000;position:relative;aspect-ratio:16 / 9;overflow:hidden}.digital-bulletin__shine{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.08) 45%,rgba(255,255,255,.03) 50%,transparent 60%);z-index:3;pointer-events:none;mix-blend-mode:overlay}.video-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.video-placeholder{text-align:center;color:#fff6;font-weight:600;letter-spacing:.02em}.video-placeholder .ico{font-size:44px;display:block;margin-bottom:12px;filter:drop-shadow(0 0 10px rgba(37,99,235,.3))}.digital-bulletin__content{padding:32px;background:linear-gradient(to bottom,#0f172a00,#0f172a99)}.digital-bulletin__badge{display:inline-flex;align-items:center;padding:6px 14px;background:#2563eb14;color:#60a5fa;border:1px solid rgba(37,99,235,.2);border-radius:20px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px}.digital-bulletin__title{font-size:24px;font-weight:800;margin:0 0 12px;color:#fff;line-height:1.25;letter-spacing:-.01em}.digital-bulletin__text{font-size:15px;color:#94a3b8;line-height:1.6;margin:0 0 24px;font-weight:500}.digital-bulletin__status{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:800;color:#f87171;text-transform:uppercase;letter-spacing:.05em}.live-dot{width:10px;height:10px;background:#ef4444;border-radius:50%;box-shadow:0 0 10px #ef4444;animation:pulse-red-glow 2s infinite ease-in-out}@keyframes pulse-red-glow{0%,to{transform:scale(1);opacity:.8;box-shadow:0 0 5px #ef4444}50%{transform:scale(1.2);opacity:1;box-shadow:0 0 15px #ef4444}}.portal-welcome-title{font-size:36px;font-weight:900;color:#1e293b;letter-spacing:-.04em}.portal-choice-grid{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;margin:0 auto;max-width:950px}.portal-actions-row{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;align-items:center;margin:0 auto;max-width:950px}.portal-sidebar-brand{display:flex;align-items:center;gap:12px;margin-top:24px;padding:16px 18px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative;z-index:2}.portal-sidebar-brand__logo{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#ffffff14;border-radius:12px;border:1px solid rgba(255,255,255,.12)}.portal-sidebar-brand__logo svg{width:32px;height:32px}.portal-sidebar-brand__text{display:flex;flex-direction:column;gap:2px}.portal-sidebar-brand__name{font-size:15px;font-weight:600;color:#ffffffe6;letter-spacing:-.01em}.portal-sidebar-brand__name strong{color:#60a5fa;font-weight:800}.portal-sidebar-brand__tagline{font-size:11px;color:#94a3b8cc;letter-spacing:.01em}.initial-config-view{min-height:100vh;background:#f8fafc;display:flex;align-items:flex-start;justify-content:center}.initial-config-centered-wrap{width:100%;max-width:820px;padding:48px 24px}@media(max-width:768px){.split-portal-container{flex-direction:column}.split-portal-sidebar{width:100%;padding:30px 20px;min-width:unset}.split-portal-main{padding:40px 20px}.digital-bulletin{max-width:600px;margin:0 auto}.portal-welcome-title{font-size:28px}.portal-sidebar-brand{max-width:600px;margin:20px auto 0}.initial-config-centered-wrap{padding:32px 16px}}.dash-at-risk-card{display:flex;align-items:center;justify-content:space-between;background:#ffffff08;border:1px solid rgba(226,232,240,.1);border-radius:12px;padding:12px 16px;margin-bottom:10px;transition:transform .2s,background .2s}.dash-at-risk-card:hover{background:#ffffff0d;transform:translate(4px)}.dash-at-risk-info{flex:1}.dash-at-risk-name{font-weight:700;font-size:14px;color:var(--text-color, #e2e8f0);margin-bottom:2px}.dash-at-risk-meta{font-size:11px;color:#94a3b8}.dash-at-risk-score{font-size:22px;font-weight:800;margin-left:12px;min-width:40px;text-align:right}.teacher-at-risk-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:800;color:#fca311;margin-bottom:14px}.dir-dash__card--at-risk{border-left:4px solid #ef4444!important}.dir-dash__alert--exit{animation:slideInUp .4s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dir-dash__alert--exit button:hover{background:#dc2626!important;transform:scale(1.05)}.dir-dash__alert--exit button:active{transform:scale(.95)}.portal-choice-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;padding:20px;perspective:1000px;max-width:1000px;margin:0 auto}.context-card{position:relative;background:#fff9;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:1px solid rgba(255,255,255,.4);border-radius:32px;padding:32px 24px;width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;transition:all .5s cubic-bezier(.23,1,.32,1);box-shadow:0 10px 25px -5px #0000000d,0 8px 10px -6px #00000008,inset 0 0 0 1px #ffffff80;overflow:hidden;z-index:1;animation:float-in .6s cubic-bezier(.16,1,.3,1) backwards}@keyframes float-in{0%{opacity:0;transform:translateY(20px) rotateX(-5deg)}to{opacity:1;transform:translateY(0) rotateX(0)}}.context-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--card-accent, var(--color-primary));opacity:.8}.context-card:hover{transform:translateY(-12px) scale(1.02);background:#ffffffe0;border-color:var(--card-accent, var(--color-primary));box-shadow:0 25px 40px -10px #0000001f,0 12px 15px -8px #00000014,0 0 0 3px #3b82f60d}.context-card__icon-wrap{width:72px;height:72px;border-radius:22px;background:var(--card-bg-soft, #f1f5f9);display:flex;align-items:center;justify-content:center;font-size:38px;margin-bottom:16px;transition:transform .4s ease;box-shadow:var(--shadow-sm)}.context-card:hover .context-card__icon-wrap{transform:scale(1.1) rotate(5deg)}.context-card__title{font-size:16px;font-weight:800;color:var(--color-primary-deep);margin-bottom:6px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.context-card__meta{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.context-card__badge{padding:4px 12px;border-radius:10px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;background:var(--card-accent-soft, rgba(59, 130, 246, .1));color:var(--card-accent, var(--color-primary));margin-top:auto}.context-card__enter{margin-top:16px;font-size:12px;font-weight:900;color:var(--card-accent, var(--color-primary));opacity:0;transform:translateY(10px);transition:all .3s ease}.context-card:hover .context-card__enter{opacity:1;transform:translateY(0)}.context-card__delete{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:12px;background:#ef44441a;color:#ef4444;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;opacity:0;transition:all .2s ease;border:1px solid rgba(239,68,68,.2);z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.context-card:hover .context-card__delete{opacity:1}.context-card__delete:hover{background:#ef4444;color:#fff;transform:scale(1.1);box-shadow:0 4px 12px #ef44444d}.portal-actions-row{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;padding:0 20px}.portal-action-btn{position:relative;background:#fff9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5);border-radius:20px;padding:16px 24px;display:flex;align-items:center;gap:16px;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 15px #0000000d;max-width:320px;flex:1 1 280px}.portal-action-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;padding:1px;background:linear-gradient(135deg,#fffc,#ffffff1a,#fff6);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.portal-action-btn:hover{transform:translateY(-5px) scale(1.02);background:#ffffffd9;box-shadow:0 15px 30px #0000001a;border-color:var(--action-color, var(--color-primary))}.portal-action-btn__icon{font-size:26px;background:var(--action-color-soft, #f1f5f9);width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:14px;transition:transform .3s ease}.portal-action-btn:hover .portal-action-btn__icon{transform:scale(1.15) rotate(-5deg)}.portal-action-btn__text-wrap{display:flex;flex-direction:column;text-align:left}.portal-action-btn__label{font-size:15px;font-weight:800;color:var(--color-primary-deep)}.portal-action-btn__desc{font-size:12px;color:var(--text-muted);font-weight:500;line-height:1.2}.wizard-card-premium{background:#ffffff73;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.3);border-radius:32px;padding:40px;box-shadow:0 30px 60px -15px #0000001a,inset 0 0 0 1px #fff6;max-width:680px;margin:0 auto;transition:all .4s ease}.wizard-section-title{font-family:var(--font-heading);font-size:15px;font-weight:800;color:var(--color-primary-deep);text-transform:uppercase;letter-spacing:.1em;margin-bottom:20px;display:flex;align-items:center;gap:10px}.wizard-field{margin-bottom:20px}.wizard-label{display:block;font-size:13px;font-weight:700;color:var(--color-primary-deep);margin-bottom:8px;opacity:.9}.wizard-input-premium{width:100%;padding:12px 16px;background:#fff9;border:1.5px solid rgba(0,0,0,.05);border-radius:14px;font-size:14px;font-weight:600;color:var(--color-primary-deep);transition:all .3s ease;box-shadow:inset 0 2px 4px #00000005}.wizard-input-premium:focus{outline:none;background:#ffffffe6;border-color:var(--color-primary);box-shadow:0 0 0 4px #2563eb1a}.wizard-success-vault{background:#0f172a08;border:1px dashed rgba(37,99,235,.2);border-radius:20px;padding:24px;margin:20px 0}.wizard-code-card{background:#fff;padding:16px;border-radius:16px;border:1px solid rgba(0,0,0,.04);box-shadow:var(--shadow-sm);transition:transform .2s ease}.wizard-code-card:hover{transform:scale(1.02);border-color:var(--color-primary-light)}.wizard-code-label{font-size:10px;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.wizard-code-value{font-family:JetBrains Mono,Cascadia Code,monospace;font-size:15px;font-weight:800;color:var(--color-primary-deep);letter-spacing:.05em}.copy-badge{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#10b981e6,#059669e6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border-radius:16px;font-size:13px;font-weight:800;opacity:0;pointer-events:none;transition:all .4s cubic-bezier(.19,1,.22,1);z-index:10;letter-spacing:.02em;text-align:center;padding:12px}.copy-badge.visible{opacity:1}.btn-whatsapp:hover{background:#128c7e!important;transform:translateY(-2px);box-shadow:0 4px 12px #25d3664d}.btn-email:hover{background:#2563eb!important;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.copy-badge:before{content:"🎉";margin-right:8px;font-size:18px}.students-search-container{background:#fff6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.4);border-radius:20px;padding:8px 16px;display:flex;align-items:center;gap:12px;margin-bottom:24px;box-shadow:0 4px 15px #00000008;transition:all .3s cubic-bezier(.23,1,.32,1)}.students-search-container:focus-within{background:#fff9;border-color:var(--color-primary-light);box-shadow:0 8px 25px #2563eb14;transform:translateY(-2px)}.students-search-input-premium{background:transparent!important;border:none!important;box-shadow:none!important;padding:8px 0!important;font-size:15px!important;font-weight:600!important;color:var(--color-primary-deep)!important;width:100%}.students-grid-premium{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:10px}.student-card-premium{position:relative;background:#fff6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.4);border-radius:24px;padding:20px;display:flex;align-items:center;gap:16px;transition:all .4s cubic-bezier(.23,1,.32,1);cursor:pointer;overflow:hidden}.student-card-premium:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent);z-index:0;opacity:0;transition:opacity .4s ease}.student-card-premium:hover{transform:translateY(-6px) scale(1.02);background:#fff9;border-color:#2563eb33;box-shadow:0 20px 40px -10px #00000014,0 0 20px #2563eb0d}.student-card-premium:hover:before{opacity:1}.student-card-avatar{position:relative;z-index:1;width:64px;height:64px;border-radius:50%;background:var(--color-primary-light);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:#fff;flex-shrink:0;box-shadow:0 8px 16px #2563eb26;overflow:hidden;border:2px solid #fff}.student-card-info{position:relative;z-index:1;flex:1;min-width:0}.student-card-name{font-size:16px;font-weight:800;color:var(--color-primary-deep);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.student-card-meta{font-size:12px;font-weight:600;color:var(--text-muted);display:flex;align-items:center;gap:6px}.student-card-badge{padding:3px 8px;border-radius:8px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:#2563eb14;color:#3b82f6}.student-card-actions-premium{position:absolute;right:12px;bottom:12px;opacity:0;transform:translate(10px);transition:all .3s ease;z-index:2}.student-card-premium:hover .student-card-actions-premium{opacity:1;transform:translate(0)}.table-premium-container{background:#fff6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.4);border-radius:24px;overflow:auto;box-shadow:0 10px 30px #0000000a;margin-bottom:30px}.table-premium{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.table-premium th{position:sticky;top:0;background:#f8fafcd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;padding:14px 16px;text-align:left;font-weight:800;color:var(--color-primary-deep);text-transform:uppercase;letter-spacing:.08em;font-size:11px;border-bottom:2px solid rgba(37,99,235,.1)}.table-premium td{padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.04);color:var(--text-main);font-weight:600;transition:background .2s ease}.table-premium tr:hover td{background:#2563eb08}.table-premium .sticky-col{position:sticky;left:0;background:#ffffffe6;z-index:5;font-weight:800;border-right:1px solid rgba(0,0,0,.05)}.table-premium th.sticky-col{z-index:11;background:#f8fafc}.students-search-container{display:flex;align-items:center;gap:12px;padding:12px 20px;background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);border-radius:50px;box-shadow:0 4px 12px #0000000d;margin-bottom:24px;transition:all .3s ease}.students-search-container:focus-within{background:#ffffffe6;box-shadow:0 8px 24px #0000001a;border-color:var(--color-teal)}.students-search-input-premium{border:none!important;background:transparent!important;width:100%;font-size:15px;font-weight:500;color:var(--text);outline:none!important;padding:0!important;box-shadow:none!important}.students-grid-premium{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.student-card-premium{display:flex;align-items:center;gap:16px;padding:16px;background:#fff9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.4);border-radius:20px;box-shadow:0 4px 6px -1px #0000001a;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:hidden}.student-card-premium:hover{transform:translateY(-4px) scale(1.02);background:#fffc;box-shadow:0 10px 25px -5px #3b82f626;border-color:#3b82f64d}.student-card-avatar{width:56px;height:56px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#3b82f61a,#14b8a61a);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;color:var(--color-primary-deep);border:2px solid #fff;box-shadow:0 4px 10px #0000000d;overflow:hidden}.student-card-avatar img{width:100%;height:100%;object-fit:cover}.student-card-info{flex:1;min-width:0}.student-card-name{margin:0;font-size:16px;font-weight:700;color:var(--color-primary-deep);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-card-meta{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:6px;margin-top:2px}.student-card-badge{background:#14b8a61a;color:#0d9488;padding:2px 8px;border-radius:4px;font-weight:700;font-size:10px;text-transform:uppercase}.student-card-actions-premium{opacity:0;transition:opacity .2s ease}.student-card-premium:hover .student-card-actions-premium{opacity:1}.table-premium-container{width:100%;overflow-x:auto;border-radius:16px;border:1px solid rgba(148,163,184,.2);background:#fff6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 20px #00000008}.table-premium{width:100%;border-collapse:separate!important;border-spacing:0!important}.table-premium th{position:sticky;top:0;z-index:20;background:#f8fafcf2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:12px 16px;text-align:left;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:2px solid rgba(20,184,166,.2);white-space:nowrap}.table-premium .sticky-col{position:sticky;left:0;z-index:15;background:inherit;border-right:1px solid rgba(148,163,184,.1)}.table-premium th.sticky-col{z-index:25}.table-premium td{padding:8px 16px;font-size:13px;color:var(--text);border-bottom:1px solid rgba(148,163,184,.08);transition:background .2s;white-space:nowrap}.table-premium tr:last-child td{border-bottom:none}.table-premium tr:hover td{background:#3b82f60a}.table-premium .cell-grade{font-weight:700;text-align:center;min-width:50px}.table-premium .cell-student-name{font-weight:600;color:var(--color-primary-deep)}.grade-badge-premium{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:4px;border-radius:8px;font-weight:800;font-size:13px;background:#94a3b80d;border:1px solid rgba(148,163,184,.1)}.grade-badge-premium.high{background:#10b9811a;color:#059669;border-color:#10b98133}.grade-badge-premium.mid{background:#f59e0b1a;color:#d97706;border-color:#f59e0b33}.grade-badge-premium.low{background:#ef44441a;color:#dc2626;border-color:#ef444433}.reg-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px;padding:10px 4px 40px}@media(max-width:768px){.reg-action-grid{grid-template-columns:1fr}}.reg-action-card{background:#fff9;backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);border:1px solid rgba(255,255,255,.5);border-radius:28px;padding:32px;display:flex;align-items:center;gap:24px;cursor:pointer;transition:all .4s cubic-bezier(.165,.84,.44,1);text-align:left;box-shadow:0 10px 25px -5px #00000008,0 8px 10px -6px #00000003,inset 0 0 0 1px #fff9;width:100%;position:relative;overflow:hidden}.reg-action-card:hover{transform:translateY(-8px) scale(1.02);background:#fff;border-color:var(--color-primary);box-shadow:0 25px 35px -5px #00000014,0 12px 18px -6px #0000000a}.reg-action-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#14b8a60d,#3b82f60d);opacity:0;transition:opacity .4s}.reg-action-card:hover:before{opacity:1}.reg-action-card__icon{font-size:36px;width:72px;height:72px;background:linear-gradient(135deg,var(--color-surface-2) 0%,var(--bg-elevated) 100%);border:1px solid rgba(255,255,255,.8);border-radius:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-sm);transition:transform .3s ease;z-index:1}.reg-action-card:hover .reg-action-card__icon{transform:scale(1.1) rotate(5deg);background:var(--color-teal-soft);border-color:var(--color-teal)}.reg-action-card__info{z-index:1}.reg-action-card__info h3{margin:0 0 6px;font-size:1.25rem;font-weight:850;color:var(--color-primary-deep);letter-spacing:-.03em}.reg-action-card__info p{margin:0;font-size:14px;color:var(--text-muted);line-height:1.5;font-weight:500}.reg-quick-form{background:rgba(var(--color-primary-rgb),.03);border:1px solid rgba(var(--color-primary-rgb),.1);border-radius:20px;padding:24px;display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end;margin-bottom:24px}.reg-quick-form__group{display:flex;flex-direction:column;gap:8px;flex:1;min-width:180px}.reg-quick-form__group label{font-size:12px;font-weight:800;color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;padding-left:4px}.modern-select{background:#fff;border:2px solid var(--border-color);border-radius:14px;padding:12px 40px 12px 16px;font-size:14px;font-weight:600;color:var(--text-main);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2364748b' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}.modern-select:hover{border-color:var(--color-primary-light);transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.modern-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(var(--color-primary-rgb),.1)}.btn-modern-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-deep) 100%);color:#fff;border:none;border-radius:14px;padding:14px 28px;font-size:14px;font-weight:800;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 8px 20px -6px rgba(var(--color-primary-rgb),.4)}.btn-modern-primary:hover{transform:scale(1.05) translateY(-2px);box-shadow:0 12px 25px -8px rgba(var(--color-primary-rgb),.5)}.btn-modern-primary:active{transform:scale(.98)}.reg-dash__table--modern{width:100%;border-collapse:separate;border-spacing:0 8px}.reg-dash__table--modern thead th{padding:12px 16px;font-size:11px;font-weight:850;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.reg-dash__table--modern tbody tr{background:#fff;box-shadow:0 2px 8px #00000005;transition:all .3s}.reg-dash__table--modern tbody tr:hover{transform:scale(1.005) translateY(-2px);box-shadow:0 8px 20px #0000000f;z-index:2}.reg-dash__table--modern td{padding:16px}.reg-dash__table--modern td:first-child{border-radius:12px 0 0 12px}.reg-dash__table--modern td:last-child{border-radius:0 12px 12px 0}.btn-delete-row{width:36px;height:36px;border-radius:10px;border:1px solid rgba(239,68,68,.1);background:#ef44440d;color:#ef4444;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.btn-delete-row:hover{background:#ef4444;color:#fff;transform:rotate(8deg) scale(1.1)}.reg-section-footer{margin-top:40px;padding-top:24px;border-top:2px dashed rgba(var(--color-primary-rgb),.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.footer-hint{font-size:13px;color:var(--text-muted);font-weight:500}.btn-modern-action{background:linear-gradient(135deg,#0f172a,#334155);color:#fff;border:none;border-radius:16px;padding:18px 36px;font-size:15px;font-weight:850;cursor:pointer;transition:all .4s cubic-bezier(.165,.84,.44,1);box-shadow:0 15px 30px -10px #0f172a66;display:flex;align-items:center;gap:12px}.btn-modern-action:hover{transform:translateY(-5px);box-shadow:0 25px 45px -12px #0f172a80;padding-right:42px}.animate-row-exit{animation:slideOutLeft .5s forwards ease-in}@keyframes slideOutLeft{to{opacity:0;transform:translate(-100px);height:0;padding:0;margin:0}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.animate-fade-in-up{animation:fadeInScale .6s cubic-bezier(.165,.84,.44,1) forwards}.reg-dash__card{background:#ffffffb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.4);border-radius:24px;padding:32px;box-shadow:0 20px 50px #0000000d;margin-bottom:30px;position:relative;overflow:visible}.reg-dash__card--main{border-top:4px solid var(--color-primary)}.reg-dashboard-section{padding:20px 0;max-width:1200px;margin:0 auto}#dashboard-workspace-root{overflow-y:auto;height:100%}.course-badge-btn{display:inline-flex;align-items:center;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-deep) 100%);color:#fff;padding:8px 16px;border-radius:12px;font-weight:800;font-size:14px;box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.2);cursor:default;transition:all .2s}.course-badge-btn:hover{transform:translateY(-2px);box-shadow:0 6px 15px rgba(var(--color-primary-rgb),.3)}.badge-grade{display:flex;align-items:center;gap:6px}.badge-grade:before{content:"📚";font-size:12px}.course-section-pill{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:#fff;border:2px solid var(--color-primary-light);color:var(--color-primary-deep);border-radius:50%;font-weight:900;font-size:16px;box-shadow:0 2px 6px #0000000d}.animate-pulse{animation:optimisticPulse 1.5s infinite ease-in-out}@keyframes optimisticPulse{0%{opacity:.6;transform:scale(.98)}50%{opacity:1;transform:scale(1)}to{opacity:.6;transform:scale(.98)}}.btn-modern-danger{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#ef444414;color:#ef4444;border:1.5px solid rgba(239,68,68,.2);border-radius:10px;font-size:11px;font-weight:800;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);text-transform:uppercase;letter-spacing:.03em}.btn-modern-danger:hover{background:#ef4444;color:#fff;border-color:#ef4444;transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.btn-modern-exit{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#f8fafc;color:#64748b;border:1.5px solid #e2e8f0;border-radius:10px;font-size:11px;font-weight:800;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.03em}.btn-modern-exit:hover{background:#fff;color:var(--color-primary);border-color:var(--color-primary);transform:translateY(-1px);box-shadow:0 4px 10px #0000000d}.btn-delete-row-modern{background:transparent;border:none;color:#ef4444;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .2s}.btn-delete-row-modern:hover{background:#ef44441a}.reg-enrollment-ficha{background:#ffffffb3;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(var(--color-primary-rgb),.15);border-radius:24px;padding:30px;box-shadow:0 10px 40px #0000000d}.reg-photo-upload-container{display:flex;flex-direction:column;align-items:center;gap:15px;padding:20px;background:rgba(var(--color-primary-rgb),.03);border-radius:20px;border:2px dashed rgba(var(--color-primary-rgb),.15);transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.reg-photo-upload-container:hover{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.06);transform:translateY(-2px)}.reg-photo-frame{width:130px;height:130px;border-radius:20px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;box-shadow:0 12px 30px #0000001a;border:4px solid white}.reg-photo-frame img{width:100%;height:100%;object-fit:cover}.reg-photo-frame .placeholder-ico{font-size:45px;opacity:.3}.reg-photo-hint{font-size:11px;font-weight:800;color:var(--color-primary);text-transform:uppercase;letter-spacing:.08em}#reg-enrollment-students-tbody tr{transition:all .3s cubic-bezier(.4,0,.2,1)}#reg-enrollment-students-tbody tr:hover{background:#ffffff80!important;transform:translate(5px)}.student-list-item-modern{display:flex;align-items:center;gap:18px;padding:12px 10px}.student-list-avatar-frame{width:55px;height:55px;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 5px 15px #0000000f;display:flex;align-items:center;justify-content:center;border:2px solid white}.student-list-avatar-frame img{width:100%;height:100%;object-fit:cover}.student-list-info{display:flex;flex-direction:column;gap:2px}.student-list-name{font-weight:800;color:var(--text-color);font-size:15px;letter-spacing:-.01em}.student-list-meta{font-size:11px;color:var(--text-muted);font-weight:700;text-transform:uppercase;opacity:.7}.btn-premium-nav{display:inline-flex;align-items:center;gap:10px;padding:10px 20px;background:linear-gradient(135deg,#fff,#f8f9fa);color:var(--color-primary-deep);border:1.5px solid rgba(var(--color-primary-rgb),.1);border-radius:14px;font-family:Outfit,sans-serif;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;box-shadow:0 4px 15px #0000000a;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none}.btn-premium-nav:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(var(--color-primary-rgb),.15);border-color:var(--color-primary);background:#fff}.btn-premium-nav.danger{color:#ef4444;border-color:#ef44441a}.btn-premium-nav.danger:hover{background:snow;border-color:#ef4444;box-shadow:0 8px 25px #ef444426}.modern-input,.modern-select{font-family:Outfit,sans-serif!important;font-size:14px!important;font-weight:600!important}.reg-quick-form__group label{font-family:Outfit,sans-serif;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.05em;opacity:.7;margin-bottom:6px}.tdash-action-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:1px solid rgba(0,0,0,.04);border-radius:20px;padding:24px 10px;display:flex;flex-direction:column;align-items:center;gap:14px;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 12px #00000005;position:relative;overflow:hidden}.tdash-action-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--card-color, var(--color-primary));opacity:.8}.tdash-action-card:hover{transform:translateY(-8px);box-shadow:0 20px 30px #0000000f;background:#fff;border-color:var(--card-color)}.tdash-action-card__icon{font-size:28px;background:#00000008;width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:18px;transition:all .3s ease}.tdash-action-card:hover .tdash-action-card__icon{background:var(--card-color);color:#fff;transform:scale(1.1) rotate(5deg)}.tdash-action-card span{font-size:14px;font-weight:800;color:#475569;letter-spacing:.2px}.tdash-timeline-wrapper{position:relative;padding-left:30px;margin-top:10px}.tdash-timeline-card{transition:all .3s cubic-bezier(.4,0,.2,1)}.tdash-timeline-card:hover{transform:scale(1.02) translate(5px);box-shadow:0 10px 30px #0000000a}.tdash-timeline-card.is-active{background:#fff;border-left:4px solid var(--color-primary)!important}@keyframes pulse-subtle{0%{transform:scale(1);box-shadow:0 10px 25px #3b82f61a}50%{transform:scale(1.01);box-shadow:0 15px 35px #3b82f626}to{transform:scale(1);box-shadow:0 10px 25px #3b82f61a}}.pulse-subtle{animation:pulse-subtle 3s infinite ease-in-out}.animate-fade-in{animation:fadeIn .8s ease-out forwards}.animate-fade-in-up{animation:fadeInUp .6s cubic-bezier(.23,1,.32,1) forwards}.anim-played.animate-fade-in,.anim-played.animate-fade-in-up{animation:none!important;opacity:1!important;transform:none!important}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.shimmer-line{height:14px;background:#f1f5f9;background:linear-gradient(to right,#f1f5f9 8%,#e2e8f0 18%,#f1f5f9 33%);background-size:800px 104px;border-radius:4px;animation:shimmer 1.5s infinite linear}@keyframes shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}@media(max-width:850px){.tdash-summary-grid{grid-template-columns:1fr}.tdash-header-glass{padding:20px;text-align:center;justify-content:center}.tdash-header-glass div:last-child{text-align:center;width:100%}}:root{--premium-bg: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);--premium-glass: rgba(255, 255, 255, .7);--premium-border: rgba(255, 255, 255, .5);--premium-shadow: 0 8px 32px rgba(0, 0, 0, .05);--chat-bubble-self: var(--color-primary);--chat-bubble-other: #f1f5f9}.premium-container{padding:32px;max-width:1400px;margin:0 auto;animation:fadeIn .5s ease-out}.reg-command-center{display:block;max-width:1200px;margin:0 auto;width:100%}.reg-main-actions{width:100%}@media(max-width:950px){.reg-command-center{padding:0 16px}}.glass-card{background:var(--premium-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--premium-border);border-radius:24px;padding:24px;box-shadow:var(--premium-shadow);transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000014;border-color:#fffc}.premium-header{margin-bottom:40px}.premium-header__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.premium-header__title{font-size:32px;font-weight:900;font-family:Outfit,sans-serif;color:#0f172a;letter-spacing:-.02em}.premium-header__subtitle{font-size:15px;color:#64748b;font-weight:500}.premium-action-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.premium-action-card{display:flex;flex-direction:column;padding:24px;gap:16px;cursor:pointer;text-align:left;border:2px solid transparent}.premium-action-card:hover{background:#fff}.premium-action-card__icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 8px 16px #0000000d}.premium-action-card__title{font-size:16px;font-weight:800;color:#1e293b;font-family:Outfit,sans-serif}.premium-action-card__desc{font-size:13px;color:#64748b;line-height:1.5}.premium-messenger{display:flex;flex-direction:column;width:350px;flex-shrink:0;height:calc(100vh - 240px);min-height:500px;max-height:800px;overflow:hidden;border-radius:24px;position:sticky;top:24px;transition:width .3s ease}.messenger-header{padding:20px;border-bottom:1px solid rgba(0,0,0,.05);display:flex;justify-content:space-between;align-items:center}.messenger-header__title{font-family:Outfit,sans-serif;font-weight:800;font-size:18px;display:flex;align-items:center;gap:10px}.messenger-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px;background:#f8fafc4d}.chat-bubble{max-width:85%;padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.5;position:relative;box-shadow:0 2px 4px #00000005}.chat-bubble--self{align-self:flex-end;background:var(--chat-bubble-self);color:#fff;border-bottom-right-radius:4px}.chat-bubble--other{align-self:flex-start;background:var(--chat-bubble-other);color:#1e293b;border-bottom-left-radius:4px}.chat-bubble__meta{font-size:10px;margin-top:4px;opacity:.7;display:flex;justify-content:space-between}.messenger-footer{padding:16px;background:#fff;border-top:1px solid rgba(0,0,0,.05)}.messenger-input-wrap{display:flex;gap:10px;background:#f8fafc;padding:8px;border-radius:16px;border:1px solid #e2e8f0}.messenger-input{flex:1;border:none;background:transparent;padding:8px 12px;font-size:14px;outline:none}.messenger-send-btn{width:40px;height:40px;border-radius:12px;background:var(--color-primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s}.messenger-send-btn:hover{transform:scale(1.05)}.messenger-recipient-bar{padding:8px 16px;background:#f1f5f9;font-size:12px;font-weight:700;color:#475569;display:flex;align-items:center;gap:8px;cursor:pointer}.recipient-picker{position:absolute;bottom:80px;left:20px;right:20px;background:#fff;border-radius:16px;box-shadow:0 10px 25px #0000001a;z-index:100;max-height:250px;overflow-y:auto;border:1px solid #e2e8f0;display:none}.recipient-option{padding:12px 16px;cursor:pointer;display:flex;align-items:center;gap:12px;transition:background .2s}.recipient-option:hover{background:#f8fafc}.recipient-option__avatar{width:32px;height:32px;border-radius:50%;background:#e2e8f0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}.recipient-option__info{flex:1}.recipient-option__name{font-size:13px;font-weight:700;color:#1e293b}.recipient-option__role{font-size:11px;color:#94a3b8}.msg-preview-item{display:flex;gap:12px;align-items:flex-start;padding:10px;border-radius:16px;transition:all .2s ease;background:#f8fafc80;border:1px solid rgba(0,0,0,.02)}.msg-preview-item:hover{background:#f1f5f9;transform:translate(4px)}.msg-preview-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#475569;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex-shrink:0;border:1.5px solid white;box-shadow:0 4px 10px #0000000d}.msg-preview-content{flex:1;min-width:0}.msg-preview-sender{font-size:12px;font-weight:800;color:#1e293b;margin-bottom:4px;display:flex;justify-content:space-between}.msg-preview-time{font-size:10px;font-weight:600;color:#94a3b8}.msg-preview-bubble{font-size:12.5px;color:#475569;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;background:#fff;padding:10px 14px;border-radius:2px 18px 18px;box-shadow:0 2px 8px #00000005;border:1px solid rgba(0,0,0,.03)}.dir-dash__card[onclick]:hover{border-color:#3b82f64d;box-shadow:0 15px 40px #1f26871a}.modern-status-alert{margin-top:24px;margin-bottom:32px;background:#fff6;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,.3);border-radius:30px;padding:30px;box-shadow:0 20px 50px #0000000a,inset 0 0 0 1px #fff6;transition:all .4s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.modern-status-alert:before{content:"";position:absolute;top:0;left:0;bottom:0;width:6px;background:linear-gradient(to bottom,#f59e0b,#d97706);opacity:.9;box-shadow:2px 0 10px #f59e0b4d}.modern-status-alert--info:before{background:linear-gradient(to bottom,#64748b,#475569);box-shadow:2px 0 10px #64748b33}.modern-status-alert--warning:before{background:linear-gradient(to bottom,#f59e0b,#d97706);box-shadow:2px 0 10px #f59e0b4d}.alert-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.alert-header__main{display:flex;align-items:center;gap:18px}.alert-header__icon{font-size:22px;background:linear-gradient(135deg,#f59e0b26,#f59e0b0d);color:#d97706;width:52px;height:52px;border-radius:18px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(245,158,11,.2);box-shadow:0 4px 15px #f59e0b1a}.alert-header__title{font-family:Outfit,sans-serif;font-weight:800;color:#1e293b;font-size:18px;letter-spacing:-.02em}.alert-header__subtitle{font-size:13px;color:#64748b;font-weight:700;margin-top:1px}.alert-body{display:flex;flex-wrap:wrap;gap:12px 16px}.missing-course-pill{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;background:#fff9;border:1px solid rgba(255,255,255,.8);border-radius:16px;font-size:12.5px;font-weight:700;color:#334155;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00000008;cursor:default;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.missing-course-pill:before{content:"🏫";font-size:14px;opacity:.8}.missing-course-pill:hover{background:#fff;border-color:#f59e0b;color:#b45309;transform:translateY(-4px) scale(1.03);box-shadow:0 10px 20px #f59e0b1f}.dir-nav-tile{position:relative;border:1px solid rgba(255,255,255,.4);background:#fff9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00000008}.dir-nav-tile:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 12px 24px #00000014;background:#fff}:root{--nav-blue: #3b82f6;--nav-purple: #8b5cf6;--nav-teal: #14b8a6;--nav-red: #f43f5e;--nav-amber: #f59e0b;--nav-green: #10b981;--nav-orange: #f97316;--nav-sky: #0ea5e9;--nav-indigo: #6366f1;--nav-slate: #64748b;--nav-violet: #a855f7}.dir-nav-tile .p-ico{transition:transform .3s ease;filter:drop-shadow(0 2px 4px rgba(0,0,0,.05))}.dir-nav-tile.np-blue.is-active{background:#3b82f61a!important;border-color:var(--nav-blue)!important;box-shadow:0 0 20px #3b82f626!important}.dir-nav-tile.np-blue:hover{border-color:var(--nav-blue)}.dir-nav-tile.np-purple.is-active{background:#8b5cf61a!important;border-color:var(--nav-purple)!important;box-shadow:0 0 20px #8b5cf626!important}.dir-nav-tile.np-purple:hover{border-color:var(--nav-purple)}.dir-nav-tile.np-teal.is-active{background:#14b8a61a!important;border-color:var(--nav-teal)!important;box-shadow:0 0 20px #14b8a626!important}.dir-nav-tile.np-teal:hover{border-color:var(--nav-teal)}.dir-nav-tile.np-red.is-active{background:#f43f5e1a!important;border-color:var(--nav-red)!important;box-shadow:0 0 20px #f43f5e26!important}.dir-nav-tile.np-red:hover{border-color:var(--nav-red)}.dir-nav-tile.np-amber.is-active{background:#f59e0b1a!important;border-color:var(--nav-amber)!important;box-shadow:0 0 20px #f59e0b26!important}.dir-nav-tile.np-amber:hover{border-color:var(--nav-amber)}.dir-nav-tile.np-green.is-active{background:#10b9811a!important;border-color:var(--nav-green)!important;box-shadow:0 0 20px #10b98126!important}.dir-nav-tile.np-green:hover{border-color:var(--nav-green)}.dir-nav-tile.np-sky.is-active{background:#0ea5e91a!important;border-color:var(--nav-sky)!important;box-shadow:0 0 20px #0ea5e926!important}.dir-nav-tile.np-sky:hover{border-color:var(--nav-sky)}.dir-nav-tile.np-indigo.is-active{background:#6366f11a!important;border-color:var(--nav-indigo)!important;box-shadow:0 0 20px #6366f126!important}.dir-nav-tile.np-indigo:hover{border-color:var(--nav-indigo)}.dir-nav-tile.np-orange.is-active{background:#f973161a!important;border-color:var(--nav-orange)!important;box-shadow:0 0 20px #f9731626!important}.dir-nav-tile.np-orange:hover{border-color:var(--nav-orange)}.dir-nav-tile.np-slate.is-active{background:#64748b1a!important;border-color:var(--nav-slate)!important;box-shadow:0 0 20px #64748b26!important}.dir-nav-tile.np-slate:hover{border-color:var(--nav-slate)}.dir-nav-tile.np-violet.is-active{background:#a855f71a!important;border-color:var(--nav-violet)!important;box-shadow:0 0 20px #a855f726!important}.dir-nav-tile.np-violet:hover{border-color:var(--nav-violet)}.dir-nav-tile.is-active span:last-child{font-weight:800;color:#1e293b}.dir-nav-tile:hover span:last-child{color:#1e293b}.modern-stat-card{background:#ffffffb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.4);border-radius:24px;padding:24px;display:flex;align-items:center;gap:18px;box-shadow:0 8px 32px #1f26870d;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden}.modern-stat-card:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 15px 45px #1f26871f;background:#fff}.stat-ico{width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:24px;transition:all .3s ease;box-shadow:0 4px 12px #0000000d}.stat-label{font-family:Inter,sans-serif;font-size:11px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.1em;margin:0}.stat-value{font-family:Outfit,sans-serif;font-size:30px;font-weight:800;color:#1e293b;margin:2px 0 0}.stat-detail-link{font-size:10px;font-weight:700;color:#94a3b8;text-transform:lowercase;margin-left:auto;transition:color .2s}.stat-card--teachers .stat-ico{background:#3b82f61a;color:#3b82f6}.stat-card--teachers:hover{border-color:#3b82f666}.stat-card--teachers:hover .stat-ico{background:#3b82f6;color:#fff;transform:rotate(-5deg)}.stat-card--students .stat-ico{background:#14b8a61a;color:#14b8a6}.stat-card--students:hover{border-color:#14b8a666}.stat-card--students:hover .stat-ico{background:#14b8a6;color:#fff;transform:rotate(5deg)}.stat-card--notebooks .stat-ico{background:#f59e0b1a;color:#f59e0b}.stat-card--notebooks:hover{border-color:#f59e0b66}.stat-card--notebooks:hover .stat-ico{background:#f59e0b;color:#fff;transform:scale(1.1)}.stat-card--attendance .stat-ico{background:#10b9811a;color:#10b981}.stat-card--attendance:hover{border-color:#10b98166}.stat-card--attendance:hover .stat-ico{background:#10b981;color:#fff;transform:translateY(-3px)}.modern-stat-card:hover .stat-detail-link{color:#1e293b}body.view-dashboard main{background:linear-gradient(180deg,var(--app-page-bg) 0%,#f1f5f9 100%)}body.dashboard-director-mode.view-dashboard main{background:var(--bg-base-gradient)}@keyframes dir-dash-header-shimmer{0%,to{opacity:.45;transform:translate(0) scale(1)}50%{opacity:.75;transform:translate(2%,-2%) scale(1.03)}}@keyframes dir-dash-stat-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes dir-dash-panel-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dir-dash{position:relative;max-width:1180px;margin:0 auto;padding-bottom:36px}.dir-dash__header.modern-command-center{background:linear-gradient(135deg,#1e1b4b,#3730a3)!important;color:#fff!important}.dir-dash__header-glow{pointer-events:none;position:absolute;width:120%;height:140%;right:-15%;top:-55%;background:radial-gradient(ellipse at 30% 40%,rgba(42,157,143,.14),transparent 55%),radial-gradient(ellipse at 70% 70%,rgba(61,90,128,.12),transparent 50%);animation:dir-dash-header-shimmer 12s ease-in-out infinite}.dir-dash__header-main{position:relative;flex:1;min-width:min(100%,260px);z-index:1}.dir-dash__eyebrow{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--color-teal-deep);margin:0 0 8px}.dir-dash__title{color:#fff!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important}.dir-dash__sub{margin:0;font-size:14px;color:var(--text-muted);font-weight:500}.dir-dash__sub--lead{color:var(--color-ink);font-size:15px;margin-bottom:10px}.dir-dash__sub--lead strong{color:var(--color-primary-deep);font-weight:800}.dir-dash__header-badges{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.dir-dash__pill{display:inline-flex;align-items:center;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:5px 11px;border-radius:var(--radius-pill);background:linear-gradient(135deg,var(--color-teal-soft) 0%,color-mix(in srgb,var(--color-teal-soft) 40%,var(--color-surface) 60%) 100%);color:var(--color-teal-deep);border:1px solid color-mix(in srgb,var(--color-teal) 32%,var(--border) 68%);box-shadow:0 1px #ffffffbf inset}.dir-dash__pill--soft{background:color-mix(in srgb,var(--color-amber-soft) 55%,var(--color-surface) 45%);color:var(--color-primary-deep);border-color:color-mix(in srgb,var(--color-amber) 35%,var(--border) 65%)}.dir-dash__header-meta{position:relative;z-index:1;text-align:right}.dir-dash__date{font-size:14px;font-weight:700;color:var(--color-primary-deep);margin:0 0 10px;padding:8px 14px;display:inline-block;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-surface) 75%,var(--color-teal-soft) 25%);border:1px solid color-mix(in srgb,var(--border) 70%,var(--color-teal) 30%)}.dir-dash__notif-wrap{position:relative;display:inline-block}.dir-dash__notif-btn{width:48px;height:48px;border-radius:14px;border:1px solid color-mix(in srgb,var(--color-teal) 28%,var(--border) 72%);background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-teal-soft) 100%);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s,border-color .2s,background .2s;box-shadow:0 4px 14px #2a9d8f1f}.dir-dash__notif-ico{font-size:22px;line-height:1;display:block;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.dir-dash__notif-btn:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 8px 22px #3d5a8024;border-color:color-mix(in srgb,var(--color-teal) 45%,var(--border) 55%)}.dir-dash__notif-btn:hover .dir-dash__notif-ico{transform:rotate(-14deg) scale(1.08)}.dir-dash__notif-btn:active{transform:translateY(0) scale(.98)}.dir-dash__notif-pop{display:none;position:absolute;right:0;top:calc(100% + 10px);width:min(320px,88vw);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:12px 14px;z-index:40;font-size:13px}.dir-dash__notif-pop.is-open{display:block;animation:dir-dash-panel-in .3s ease}.dir-nav-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;margin-bottom:28px;width:100%}.dir-nav-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:16px 8px;border-radius:20px;border:none;cursor:pointer;text-align:center;line-height:1.2;word-break:break-word;transition:transform .15s,box-shadow .15s,background .2s,color .2s;background:#fff;color:#475569;box-shadow:0 1px 4px #0000000f}.dir-nav-tile span:not(.p-ico):not(.tile-detail){font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.dir-nav-tile .tile-detail{font-size:9px;font-weight:600;color:#94a3b8;text-transform:none;letter-spacing:0;opacity:.85}.dir-nav-tile:hover .tile-detail,.dir-nav-tile.is-active .tile-detail{color:#ffffffe6}.dir-nav-tile .p-ico{font-size:28px;line-height:1}.dir-nav-tile:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0000001a;color:#fff!important}.dir-nav-tile.np-blue:hover{background:linear-gradient(135deg,#60a5fa,#3b82f6)}.dir-nav-tile.np-purple:hover{background:linear-gradient(135deg,#a78bfa,#8b5cf6)}.dir-nav-tile.np-teal:hover{background:linear-gradient(135deg,#2dd4bf,#14b8a6)}.dir-nav-tile.np-red:hover{background:linear-gradient(135deg,#f87171,#ef4444)}.dir-nav-tile.np-indigo:hover{background:linear-gradient(135deg,#818cf8,#6366f1)}.dir-nav-tile.np-sky:hover{background:linear-gradient(135deg,#7dd3fc,#38bdf8)}.dir-nav-tile.np-amber:hover{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.dir-nav-tile.np-green:hover{background:linear-gradient(135deg,#4ade80,#22c55e)}.dir-nav-tile.np-orange:hover{background:linear-gradient(135deg,#fb923c,#f97316)}.dir-nav-tile.np-slate:hover{background:linear-gradient(135deg,#94a3b8,#64748b)}.dir-nav-tile.np-violet:hover{background:linear-gradient(135deg,#c084fc,#a855f7)}.dir-nav-tile.is-active{box-shadow:0 4px 16px #00000021;transform:translateY(-1px);color:#fff!important}.dir-nav-tile.np-blue.is-active{background:linear-gradient(135deg,#3b82f6,#2563eb)}.dir-nav-tile.np-purple.is-active{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.dir-nav-tile.np-teal.is-active{background:linear-gradient(135deg,#14b8a6,#0d9488)}.dir-nav-tile.np-red.is-active{background:linear-gradient(135deg,#ef4444,#dc2626)}.dir-nav-tile.np-indigo.is-active{background:linear-gradient(135deg,#6366f1,#4f46e5)}.dir-nav-tile.np-sky.is-active{background:linear-gradient(135deg,#38bdf8,#0ea5e9)}.dir-nav-tile.np-amber.is-active{background:linear-gradient(135deg,#f59e0b,#d97706)}.dir-nav-tile.np-green.is-active{background:linear-gradient(135deg,#22c55e,#16a34a)}.dir-nav-tile.np-orange.is-active{background:linear-gradient(135deg,#f97316,#ea580c)}.dir-nav-tile.np-slate.is-active{background:linear-gradient(135deg,#64748b,#475569)}.dir-nav-tile.np-violet.is-active{background:linear-gradient(135deg,#a855f7,#9333ea)}.dir-dash__panel[hidden]{display:none!important}.dir-dash__panel.dir-dash__panel--enter:not([hidden]){animation:dir-dash-panel-in .38s cubic-bezier(.22,1,.36,1)}.dir-dash__stats.stats-grid-modern{display:grid!important}.dir-dash__grid-2{display:grid;gap:16px;margin-bottom:16px}@media(min-width:900px){.dir-dash__grid-2{grid-template-columns:1fr 1fr}}.dir-dash__card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;box-shadow:var(--shadow-card);transition:transform .22s ease,box-shadow .25s,border-color .2s}.dir-dash__card:hover{border-color:color-mix(in srgb,var(--color-teal) 20%,var(--border) 80%);box-shadow:0 16px 40px #3d5a8014}.dir-dash__card--pending{margin-bottom:20px;border:1px solid color-mix(in srgb,var(--color-primary) 35%,var(--border) 65%);background:linear-gradient(135deg,color-mix(in srgb,var(--color-teal-soft) 40%,var(--color-surface) 60%),color-mix(in srgb,var(--color-primary-light) 8%,var(--color-surface) 92%));box-shadow:0 10px 28px #3d5a8014}.dir-dash__card--pending:hover{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--border) 55%)}.dir-dash__card h3{margin:0 0 12px;font-size:15px;font-weight:800;color:var(--color-primary-deep)}.dir-dash__chart-wrap{position:relative;height:220px;width:100%}.dir-dash__alerts{margin-bottom:16px}.dir-dash__alert-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.dir-dash__alert-list li{padding:12px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--color-amber-soft);font-size:13px;color:var(--color-ink)}.dir-dash__table-wrap{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-elevated)}.dir-dash__table{width:100%;border-collapse:collapse;font-size:13px;min-width:520px}.dir-dash__table th,.dir-dash__table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border)}.dir-dash__table th{background:var(--color-teal-soft);font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-primary-deep)}.dir-dash__table tr:last-child td{border-bottom:none}.dir-dash__badge{display:inline-flex;padding:4px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:800}.dir-dash__badge--ok{background:var(--color-teal-soft);color:var(--color-teal-deep)}.dir-dash__badge--warn{background:var(--color-amber-soft);color:var(--color-primary-deep)}.dir-dash__notice-box{margin-top:16px}.dir-dash__notice-box textarea{width:100%;min-height:88px;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--border);font-family:inherit;font-size:14px;resize:vertical}.dir-dash__notice-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;align-items:center}#dashboard-director-root .dir-dash__btn-send{min-height:42px;padding:0 20px;font-size:14px;border-radius:12px;transition:transform .18s ease,box-shadow .22s}#dashboard-director-root .dir-dash__btn-send:hover:not(:disabled){transform:translateY(-2px) scale(1.02)}#dashboard-director-root .dir-dash__btn-send:active:not(:disabled){transform:translateY(0) scale(.98)}.dir-dash__pending-row{border-bottom:1px solid color-mix(in srgb,var(--border) 88%,var(--color-primary) 12%);padding:14px 0;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.dir-dash__pending-row:last-child{border-bottom:none}.dir-dash__pending-main{flex:1;min-width:200px}.dir-dash__pending-actions{display:flex;gap:10px;flex-shrink:0;align-items:center}.dir-dash__btn-join{border:none;cursor:pointer;font-family:inherit;font-weight:700;font-size:13px;padding:10px 18px;border-radius:12px;transition:transform .18s ease,box-shadow .2s,filter .2s}.dir-dash__btn-join--approve{background:linear-gradient(135deg,var(--color-teal) 0%,var(--color-teal-deep) 100%);color:#fff;box-shadow:0 6px 18px #2a9d8f4d}.dir-dash__btn-join--approve:hover{transform:translateY(-2px);box-shadow:0 10px 24px #2a9d8f59}.dir-dash__btn-join--reject{background:var(--color-surface);color:var(--color-primary-deep);border:1px solid color-mix(in srgb,var(--color-primary) 25%,var(--border) 75%);box-shadow:var(--shadow-xs)}.dir-dash__btn-join--reject:hover{transform:translateY(-2px);background:var(--color-surface-2)}.dir-dash__btn-join:active{transform:scale(.97)}.dir-dash__table-btn{border-radius:10px!important;font-weight:700!important;transition:transform .18s ease,box-shadow .2s,border-color .2s,background .2s!important}.dir-dash__table-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3d5a801f}.dir-dash__table-btn:active{transform:scale(.97)}@media(max-width:520px){.dir-dash__nav-btn .dir-dash__nav-txt{display:none}.dir-dash__nav-btn{padding:11px 13px}.dir-dash__nav-ico{font-size:18px}}.dir-dash__notice-recipient-label{display:block;font-size:12px;font-weight:700;color:var(--text-muted);margin:10px 0 6px}.dir-dash__notice-recipient{width:100%;max-width:100%;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--border);font-family:inherit;font-size:14px;background:var(--bg-elevated);color:inherit}#dashboard-director-root .dir-dash__sub.muted{margin-top:6px;font-size:12px}#dir-dash-notif-pop>p.muted{margin:0;font-size:12px}ul#dir-dash-notif-list{margin-top:10px}#dir-dash-pending-joins-card{margin-bottom:20px}#dir-dash-pending-joins-card>p.muted{margin:0 0 12px;font-size:13px}#dir-dash-students-sex-summary{margin:-8px 0 18px;font-size:13px;line-height:1.5}#dir-dash-today-reports-list{font-size:13px}#dashboard-director-root [data-dir-panel=reports] .dir-dash__card>p.muted,#dashboard-director-root [data-dir-panel=settings] .dir-dash__card>p.muted{margin:0 0 14px;font-size:14px}#dashboard-director-root [data-dir-panel=notices] .dir-dash__card>p.muted:first-of-type{margin:0 0 8px;font-size:13px}#dashboard-director-root .dir-dash__notice-box>p.muted:first-of-type{margin:0 0 10px;font-size:13px}#dashboard-director-root .dir-dash__notice-actions+h3{margin-top:22px;margin-bottom:0;font-size:15px;font-weight:800;color:var(--color-primary-deep)}#dir-dash-notice-history{font-size:13px}.dir-dash__codes-banner{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dir-dash__code-item{display:flex;align-items:center;gap:8px;background:#ffffff1a;padding:4px 4px 4px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.1);font-size:12px;font-weight:600}.dir-dash__code-label{text-transform:uppercase;font-size:10px;letter-spacing:.05em;opacity:.8}.dir-dash__code-val{font-family:var(--font-mono, monospace);font-weight:800;color:#fff;letter-spacing:.02em}.dir-dash__code-copy{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff26;border:none;border-radius:6px;cursor:pointer;color:#fff;transition:all .2s cubic-bezier(.22,1,.36,1)}.dir-dash__code-copy:hover{background:#ffffff40;transform:translateY(-1px)}.dir-dash__code-copy:active{transform:translateY(0) scale(.95)}.dir-dash__code-item--doc{border-left:3px solid #38bdf8}.dir-dash__code-item--cor{border-left:3px solid #10b981}.dir-dash__code-item--reg{border-left:3px solid #f59e0b}.dir-dash__code-item--ori{border-left:3px solid #f472b6}#dashboard-teacher-root .tdash-announcements.dash-panel{margin-bottom:0}.tdash-announcements__title.dash-panel-title{width:100%;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;margin-bottom:14px}.tdash-announcements__title-main{display:inline-flex;align-items:center;gap:10px;min-width:0}.tdash-announcements__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.tdash-announcements__item{padding:12px 14px;background:var(--bg-elevated);border-radius:var(--radius);border:1px solid var(--border);font-size:14px;line-height:1.45}.tdash-announcements__item--highlight{padding:14px 16px;font-size:14px;line-height:1.5;font-weight:600;border:1px solid color-mix(in srgb,var(--color-amber) 38%,var(--border));background:color-mix(in srgb,var(--color-amber-soft) 50%,var(--bg-elevated));box-shadow:var(--shadow-xs)}.tdash-announcements__body{display:block}.tdash-announcements__meta{font-size:11px;color:var(--text-muted);margin-top:6px;font-weight:600}.tdash-announcements__badge{display:inline-block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:var(--radius-pill);background:var(--color-teal-soft);color:var(--color-teal-deep);margin-right:6px;vertical-align:middle}.tdash-announcements__title:not(.dash-panel-title){display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:0 0 10px;font-size:15px;font-weight:800;color:var(--color-primary-deep)}.tdash-announcements__title-actions{display:flex;gap:6px;flex-wrap:wrap}#teacher-dash-announcements-list>li.muted:first-child{list-style:none;padding:8px 0}#teacher-dash-announcement-composer{display:none;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}#teacher-dash-announcement-composer>p.muted:first-of-type{margin:0 0 8px;font-size:12px;font-weight:700}#teacher-dash-announcement-composer label[for=teacher-dash-announcement-recipient]{display:block;font-size:11px;font-weight:700;margin-bottom:6px}#teacher-dash-announcement-recipient{width:100%;margin-bottom:10px}#teacher-dash-announcement-text{width:100%;min-height:72px}#teacher-dash-announcement-send{margin-top:8px}.tdash-announcements-personal{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.tdash-announcements-personal__label{margin:0 0 10px;font-size:11px;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.dash-course-list>p.muted:only-child{margin:0}.dash-today-block>p.muted:first-of-type{margin:0;font-size:14px}body.app-independent-visual-only #timetable-director-only-banner,body.app-independent-visual-only #saved-schedules-dropdown,body.app-independent-visual-only #timetable-visual-week-nav,body.app-independent-visual-only #timetable-week-label{display:none!important}body.app-independent-visual-only #horario-grid-area>:not(#horario-classes-section){display:none!important}body.app-anecdotal-open{overflow:hidden!important;touch-action:none}body.app-anecdotal-open .app-topbar,body.app-anecdotal-open .app-sidebar,body.app-anecdotal-open .app-sidebar-backdrop{display:none!important}.chart-container-premium{background:#fff6;border:1px solid rgba(148,163,184,.1);border-radius:var(--radius-lg);padding:12px;height:180px!important;overflow:hidden;position:relative}.chart-label{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;text-align:center}body.app-independent-visual-only #horario-classes-section>h3,body.app-independent-visual-only #horario-classes-section>p.muted,body.app-independent-visual-only #horario-classes-section .actions,body.app-independent-visual-only #classes-form-box,body.app-independent-visual-only #classes-list{display:none!important}body.app-independent-visual-only #visual-schedule-wrap>p.muted{display:none!important}body.app-independent-visual-only #visual-schedule-wrap>h3.u-h3-section{display:none!important}body.app-independent-visual-only #independent-visual-week-controls{display:grid!important;grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto;gap:10px;align-items:start;margin:18px 0 8px}body.app-independent-visual-only #independent-visual-schedule-title{text-align:center;font-weight:900;letter-spacing:.01em;color:var(--color-primary-deep);font-size:18px;line-height:1.2;margin:0;padding:0 10px;height:34px;display:flex;align-items:center;justify-content:center;transform:translateY(6px);white-space:nowrap;max-width:min(52vw,560px);overflow:hidden;text-overflow:ellipsis}body.app-independent-visual-only #independent-week-left{grid-column:1;grid-row:2;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:8px}body.app-independent-visual-only #independent-week-left .visual-week-left-spacer{height:34px}body.app-independent-visual-only #independent-week-center{grid-column:2;grid-row:2;display:flex;justify-content:center;align-items:center}body.app-independent-visual-only #independent-week-right{grid-column:3;grid-row:2;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-end;gap:8px}body.app-independent-visual-only #independent-week-right #btn-view-saved-schedules{margin-top:-10px}body.app-independent-visual-only #independent-week-bottom{position:absolute;right:0;bottom:0;display:flex;justify-content:flex-end;align-items:center;padding:0 0 2px}body.app-independent-visual-only #independent-week-left .btn,body.app-independent-visual-only #independent-week-right .btn,body.app-independent-visual-only #independent-week-bottom .btn{box-shadow:var(--shadow-xs)}body.app-independent-visual-only #visual-schedule-wrap{padding-bottom:62px!important}body.app-independent-user .app-center-only,body.app-independent-user .app-sidebar-nav li.sidebar-nav-center-only{display:none!important}.schedule-editor-grid{border-collapse:collapse;width:100%;min-width:520px;background:var(--bg-elevated);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-xs)}.schedule-editor-grid th,.schedule-editor-grid td{border:1px solid var(--border);padding:8px 10px;color:var(--text)}.schedule-editor-grid th{background:var(--color-teal-soft);font-weight:700;text-align:center;color:var(--color-primary-deep);font-size:12px}.schedule-editor-grid td select{width:100%;min-width:100px;padding:6px 8px;background:var(--color-surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);font-size:13px}.schedule-editor-grid .period-label{font-weight:500;white-space:nowrap}.visual-week-schedule{margin-top:14px}table.visual-week-schedule{border-collapse:separate;border-spacing:0;width:100%;min-width:520px;font-size:15px;background:linear-gradient(145deg,rgba(255,255,255,.98),var(--color-surface-2));border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);border:1px solid var(--border)}table.visual-week-schedule th,table.visual-week-schedule td{border:1px solid var(--border);padding:14px 16px;vertical-align:top;color:var(--text)}table.visual-week-schedule thead th{background:linear-gradient(180deg,var(--color-teal-soft) 0%,rgba(232,246,244,.5) 100%);font-weight:700;text-align:center;font-size:14px;color:var(--color-primary-deep)}.visual-week-schedule table{border-collapse:separate;border-spacing:0;width:100%;min-width:520px;font-size:15px;background:linear-gradient(145deg,#fffffff7,#f8fafcfa);border-radius:14px;overflow:hidden;box-shadow:0 4px 20px #0284c71f,0 0 0 1px #0284c714}.visual-week-schedule th,.visual-week-schedule td{border:1px solid rgba(2,132,199,.18);padding:14px 16px;vertical-align:top;color:var(--text)}.visual-week-schedule thead th{background:linear-gradient(180deg,#38bdf840,#38bdf81f);font-weight:700;text-align:center;font-size:15px;letter-spacing:.03em;padding:16px 12px}.visual-week-schedule tbody td{background:#fff9}.visual-week-schedule tbody tr:nth-child(2n) td{background:#e0f2fe40}.visual-week-schedule tbody tr:hover td{background:#38bdf814}.visual-week-schedule .schedule-time-cell{width:88px;min-width:88px;color:var(--text);font-weight:700;white-space:nowrap;background:linear-gradient(90deg,#38bdf82e,#38bdf80f)!important;letter-spacing:.02em;vertical-align:middle}.visual-week-schedule .schedule-time-start,.visual-week-schedule .schedule-time-end{font-size:13px;line-height:1.35;text-align:center}.visual-week-schedule .schedule-time-start{margin-bottom:2px}.visual-week-schedule .schedule-time-end{color:var(--text-muted);font-size:12px}.visual-week-schedule thead .schedule-time-cell{font-size:16px;padding:14px 10px}.visual-week-schedule .schedule-cell-content{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:100%;padding:8px 6px;gap:4px}.visual-week-schedule .schedule-cell-content .cell-time-top{font-size:13px;font-weight:700;color:var(--text)}.visual-week-schedule .schedule-cell-content .cell-course{font-size:14px;font-weight:600;color:var(--text);line-height:1.3;flex:1;display:flex;align-items:center;justify-content:center}.visual-week-schedule .schedule-cell-content .cell-time-bottom{font-size:12px;font-weight:600;color:var(--text-muted)}.visual-week-schedule .schedule-day-cell{vertical-align:middle!important}.visual-week-schedule table.visual-schedule-by-time{table-layout:fixed;width:100%}.visual-week-schedule table.visual-schedule-by-time tbody tr td{vertical-align:top}.visual-week-schedule .schedule-day-col{width:calc(100% / 7);min-width:96px;box-sizing:border-box}.visual-week-schedule .schedule-empty-message{text-align:center;padding:28px 16px;color:var(--text-muted);font-size:15px}.visual-week-schedule .schedule-by-blocks{display:flex;flex-direction:column;width:100%;min-width:420px;background:linear-gradient(145deg,#fffffff7,#f8fafcfa);border-radius:14px;overflow:hidden;box-shadow:0 4px 20px #0284c71f,0 0 0 1px #0284c714}.visual-week-schedule .schedule-days-header{display:flex;border-bottom:2px solid rgba(2,132,199,.25);background:linear-gradient(180deg,#38bdf840,#38bdf81f)}.visual-week-schedule .schedule-days-header .schedule-day-label.schedule-day-is-today,.visual-week-schedule .schedule-day-column.schedule-day-is-today{background:linear-gradient(180deg,#2765f538,#2765f514);border-radius:10px;box-shadow:inset 0 0 0 2px #2765f58c}.visual-week-schedule .schedule-days-header .schedule-day-label.schedule-day-is-today{color:#e0e7ff}.visual-week-schedule .schedule-days-header .schedule-day-label{flex:1;min-width:96px;padding:14px 8px;font-weight:700;text-align:center;font-size:15px;color:var(--text)}.visual-week-schedule .schedule-days-body{display:flex;overflow-x:auto;min-height:520px}.visual-week-schedule .schedule-day-column{flex:1;min-width:96px;border-right:1px solid rgba(2,132,199,.15)}.visual-week-schedule .schedule-day-column:last-child{border-right:none}.visual-week-schedule .schedule-day-ruler{position:relative;width:100%;margin:0;background:#fff6}.visual-week-schedule .schedule-block{--chip-h: 200;position:absolute;left:4px;right:4px;margin-top:0;box-sizing:border-box;border-radius:8px;border:1px solid hsl(var(--chip-h) 90% 65% / .55);background:radial-gradient(circle at top left,hsl(var(--chip-h) 90% 60% / .35),#38bdf814);overflow:hidden;display:flex;align-items:stretch;z-index:2;cursor:pointer}.visual-week-schedule .schedule-block .schedule-cell-content{width:100%;padding:10px 12px}.visual-week-schedule .schedule-empty-day{position:absolute;top:50%;left:0;right:0;text-align:center;color:var(--text-muted);font-size:15px}.visual-week-schedule .schedule-block-recreo{background:linear-gradient(135deg,#fbbf2473,#f59e0b38)!important;border-color:#f59e0b99!important}.visual-week-schedule .schedule-block-almuerzo{background:linear-gradient(135deg,#22c55e59,#10b9812e)!important;border-color:#10b9818c!important}.visual-week-schedule .schedule-block-receso{background:linear-gradient(135deg,#a855f752,#6366f12e)!important;border-color:#6366f18c!important}.visual-week-schedule .schedule-block-hora{background:linear-gradient(135deg,#3b82f647,#9333ea29)!important;border-color:#3b82f685!important}.schedule-block-menu{position:fixed;z-index:1060;min-width:216px;max-width:min(280px,calc(100vw - 24px));padding:6px;margin:0;display:flex;flex-direction:column;gap:2px;background:var(--app-card-bg);border:1px solid rgba(148,163,184,.16);border-radius:var(--radius-lg);box-shadow:0 18px 44px #0f172a1f,0 0 0 1px #ffffff80 inset}.schedule-block-menu button{display:block;width:100%;margin:0;padding:10px 14px;text-align:left;font:inherit;font-size:13px;font-weight:600;color:var(--color-primary-deep);background:transparent;border:none;border-radius:var(--radius);cursor:pointer;transition:background .12s ease,color .12s ease}.schedule-block-menu button:hover{background:var(--color-teal-soft);color:var(--color-primary-deep)}.schedule-block-menu button:focus{outline:none}.schedule-block-menu button:focus-visible{background:var(--color-teal-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-teal) 55%,transparent)}.visual-week-schedule .schedule-block{cursor:pointer}.visual-week-schedule .schedule-block-recreo,.visual-week-schedule .schedule-block-almuerzo,.visual-week-schedule .schedule-block-receso,.visual-week-schedule .schedule-block-hora{cursor:default}.horario-cursos-list{display:flex;flex-wrap:wrap;gap:10px}#crear-horario-tbody tr:hover td{background:transparent!important}#crear-horario-tbody .crear-horario-cell{cursor:pointer;-webkit-user-select:none;user-select:none;transition:filter .15s ease,box-shadow .15s ease,outline-color .15s ease}#crear-horario-tbody .crear-horario-cell:hover{filter:brightness(.98);box-shadow:inset 0 0 0 2px #2563eb33}#crear-horario-tbody .crear-horario-cell.is-active{box-shadow:inset 0 0 0 2px #2563eb73}.horario-curso-chip{--chip-h: 200;padding:12px 18px;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--color-primary-deep);font-size:15px;font-weight:700;letter-spacing:.01em;display:inline-flex;align-items:center;gap:8px;box-shadow:var(--shadow-xs);cursor:pointer;transition:background .18s,transform .1s,box-shadow .18s,border-color .18s}.horario-curso-chip:before{content:"👥";font-size:16px}.horario-curso-chip:hover{transform:translateY(-2px);border-color:#2a9d8f73;background:var(--color-teal-soft);box-shadow:var(--shadow-md)}.horario-curso-chip.active{border-color:var(--color-teal);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-teal-deep) 100%);color:#fff;box-shadow:0 6px 22px #3d5a8038}.course-tab{cursor:pointer}.horario-year-controls{margin-bottom:20px;padding:18px 20px;display:block!important;visibility:visible!important;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.horario-controls-grid{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:14px 20px;align-items:end}@media(max-width:720px){.horario-controls-grid{grid-template-columns:1fr 1fr}}.horario-controls-grid label{display:block;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:4px}.horario-controls-grid input,.horario-controls-grid select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid rgba(148,163,184,.4);background:#ffffffe6;color:var(--text);font-size:13px}.horario-controls-actions .btn{white-space:nowrap}.horario-director-only-banner{margin:0 0 12px;padding:10px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--color-amber) 55%,var(--border));background:color-mix(in srgb,var(--color-amber-soft) 70%,var(--bg-elevated));color:var(--color-primary-deep);font-size:12px;font-weight:700;line-height:1.4}.tt-nav-bar{background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);border-radius:24px;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 10px 30px #0000000a;margin-bottom:24px}.tt-nav-btn{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:10px 18px;font-size:13px;font-weight:700;color:#475569;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.tt-nav-btn:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px)}.tt-nav-center{text-align:center}.tt-header-top{display:flex;align-items:center;justify-content:center;gap:10px}.tt-center-name{margin:0;font-size:18px;font-weight:900;color:#1e293b;font-family:Outfit,sans-serif}.tt-tanda-badge{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 12px #6366f133}.tt-month-label{font-size:11px;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:2px;margin-top:4px}.tt-readonly-mode .schedule-cell-content{cursor:default!important;pointer-events:none}.tt-readonly-mode .schedule-cell-content:hover{transform:none!important;box-shadow:none!important;filter:none!important}.horario-title-btn{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%;padding:14px 18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--color-teal-soft) 0%,var(--bg-elevated) 100%);color:var(--text);font-size:18px;font-weight:800;cursor:pointer;text-align:left;transition:background .2s,border-color .2s,box-shadow .2s;box-shadow:var(--shadow-xs)}.horario-title-btn:hover{background:var(--bg-elevated);border-color:#2a9d8f66;box-shadow:var(--shadow-sm)}.horario-title-text{flex:1}.horario-title-hint{font-size:12px;font-weight:400;color:var(--text-muted)}.horario-title-chevron{font-size:12px;color:var(--text-muted);transition:transform .2s}.horario-title-btn[aria-expanded=true] .horario-title-chevron{transform:rotate(180deg)}.horario-sub-buttons .horario-sub-btn{padding:8px 14px;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}.horario-sub-buttons .horario-sub-btn:hover{background:var(--color-teal-soft);border-color:#2a9d8f73}.horario-sub-buttons .horario-sub-btn.active{background:linear-gradient(135deg,var(--color-teal-soft) 0%,rgba(233,196,106,.2) 100%);border-color:var(--color-teal);color:var(--color-primary-deep)}#students-course-buttons .horario-sub-btn{padding:10px 18px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px;box-shadow:var(--shadow-xs);transition:background .2s,transform .1s,box-shadow .2s,border-color .2s}#students-course-buttons .horario-sub-btn:before{content:"📚";font-size:14px}#students-course-buttons .horario-sub-btn:hover{transform:translateY(-2px);background:var(--color-teal-soft);border-color:#2a9d8f73;box-shadow:var(--shadow-sm)}#timetable-grid.tt-readonly-mode .schedule-cell-content{cursor:default!important;pointer-events:none!important;box-shadow:none!important;transform:none!important}#timetable-grid.tt-readonly-mode .schedule-day-cell:hover{background:transparent!important}.tt-supervision-mode #timetable-teacher-selector-wrap{flex-direction:column!important;align-items:flex-start!important;gap:8px!important;margin-top:0!important}.tt-supervision-mode #timetable-teacher-selector-wrap span{font-size:16px!important;font-weight:900!important;color:#4f46e5!important;text-transform:none!important;letter-spacing:-.5px!important}.tt-supervision-mode #timetable-teacher-select{min-width:320px!important;padding:10px 16px!important;border:2px solid #e0e7ff!important;background:#fff!important;font-size:15px!important;box-shadow:0 4px 6px -1px #0000000d!important}.tt-supervision-mode #timetable-visual-week-nav,.tt-supervision-mode #tt-nav-center-tanda{display:none!important}.tt-supervision-mode #tt-nav-center-name{font-size:20px!important;color:#0f172a!important;letter-spacing:-.5px!important}.tt-supervision-mode #tt-header-month{font-size:13px!important;color:#6366f1!important;font-weight:800!important;background:#f5f3ff;padding:4px 12px;border-radius:99px;display:inline-block}#leader-dash-center-students-sex-body{margin:0;font-size:13px;line-height:1.5}#dashboard-schedule-wrap{overflow-x:auto;margin-top:12px}#dashboard-section-horario .section-body>div+div,#dashboard-section-evaluaciones .section-body>div+div{margin-top:12px}#dashboard-evaluaciones-list{margin-top:12px}#dashboard-section-acciones .section-header h3{margin:0}#dashboard-section-acciones .section-body>div:first-of-type{margin-top:12px;display:flex;flex-wrap:wrap;gap:10px}#dashboard-btn-horario,#dashboard-btn-evaluaciones,#dashboard-btn-asistencia{padding:10px 16px}#registrar-courses-catalog-card{margin-top:16px;padding:16px 18px}#registrar-courses-catalog-card>h3{font-size:15px;margin:0 0 8px}#registrar-courses-catalog-card>p.muted{margin:0 0 12px;font-size:13px}#registrar-courses-catalog-card .row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}#registrar-courses-catalog-card .row>div:last-of-type{align-self:flex-end}#registrar-courses-catalog-card select{margin-top:4px}#registrar-curso-grado,#registrar-curso-seccion{min-width:120px}#registrar-curso-tanda{min-width:160px}#course-add-name-tanda-grid{margin-top:12px;display:grid;gap:12px;grid-template-columns:1fr minmax(160px,220px);align-items:end}#courses-add-legacy>p.muted{margin:8px 0 0;font-size:12px}#courses-add-legacy>.actions{margin-top:12px}.courses-grid{transition:opacity .25s ease;min-height:200px}.courses-grid.is-loading{opacity:.6;pointer-events:none}.course-card-skeleton{background:var(--background-alt);border:1px solid var(--border);border-radius:16px;padding:24px;height:140px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;animation:skeleton-pulse 1.5s ease-in-out infinite;box-shadow:var(--shadow-xs);margin-bottom:16px}.course-card-skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,#fff0,#fff6,#fff0);animation:skeleton-shimmer 2s infinite}.skeleton-text{height:14px;background:#94a3b833;border-radius:4px;margin-bottom:8px}.skeleton-text.title{width:70%;height:18px;margin-bottom:12px}.skeleton-text.meta{width:40%}.skeleton-text.btn{width:30%;height:32px;margin-top:auto;border-radius:8px}@keyframes skeleton-pulse{0%{opacity:.6}50%{opacity:.9}to{opacity:.6}}@keyframes skeleton-shimmer{to{transform:translate(100%)}}html.dark-theme .course-card-skeleton{background:#1e293b80;border-color:#ffffff1a}html.dark-theme .course-card-skeleton:after{background:linear-gradient(90deg,#fff0,#ffffff0d,#fff0)}:root{--student-avatar-size: 100px;--student-card-bg: #ffffff;--tab-inactive: #64748b;--tab-active: #6366f1}.student-detail-header-v2{padding:24px 32px 0;margin-bottom:24px}.student-profile-main-card{background:var(--student-card-bg);border-radius:24px;padding:24px;display:flex;align-items:center;gap:28px;box-shadow:0 10px 30px #0000000a;border:1px solid rgba(0,0,0,.03);position:relative;overflow:hidden;transition:transform .3s ease}.student-avatar-wrapper{position:relative;flex-shrink:0}.student-photo-circle{width:var(--student-avatar-size);height:var(--student-avatar-size);border-radius:50%;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);display:flex;align-items:center;justify-content:center;overflow:hidden;border:4px solid #fff;box-shadow:0 8px 20px #00000014}.student-photo-circle img{width:100%;height:100%;object-fit:cover}.photo-fallback-icon{font-size:44px;opacity:.2}.photo-upload-trigger{position:absolute;bottom:0;right:0;width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 10px #0000001a;transition:all .2s;z-index:2}.photo-upload-trigger:hover{transform:scale(1.1);border-color:var(--tab-active);color:var(--tab-active)}.student-main-info{flex:1;min-width:0}.student-context-tag{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:#94a3b8;margin-bottom:6px}.student-name-display{margin:0 0 8px;font-size:28px;font-weight:900;color:#1e293b;letter-spacing:-.03em;line-height:1}.student-sub-badges{display:flex;gap:12px;flex-wrap:wrap}.sub-badge{background:#f8fafc;padding:6px 14px;border-radius:12px;font-size:12px;font-weight:700;color:#64748b;display:flex;align-items:center;gap:6px;border:1px solid #f1f5f9}.sub-badge .icon{font-size:14px;opacity:.7}.student-header-actions{align-self:flex-start}.btn-close-modern{width:40px;height:40px;border-radius:14px;background:#fff;border:1px solid #f1f5f9;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-close-modern:hover{background:#fee2e2;color:#ef4444;border-color:#fca5a5;transform:rotate(90deg)}.student-tabs-container{padding:0 32px;margin-bottom:24px}.student-tabs-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.student-tab-card{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:#fff;border:1.5px solid #e2e8f0;color:#64748b;font-family:Outfit,sans-serif;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-align:left;box-shadow:0 1px 3px #0000000a}.student-tab-card:hover{background:#f8fafc;border-color:#c7d2fe;transform:translateY(-2px);box-shadow:0 4px 12px #6366f11a}.student-tab-card.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:#6366f1;color:#fff;box-shadow:0 6px 20px #6366f14d;transform:translateY(-1px)}.tab-card-icon{font-size:22px;flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border-radius:10px;transition:background .2s}.student-tab-card.active .tab-card-icon{background:#fff3}.tab-card-text{display:flex;flex-direction:column;min-width:0}.tab-card-title{font-size:13px;font-weight:800;color:#1e293b;line-height:1.2}.student-tab-card.active .tab-card-title{color:#fff}.tab-card-desc{font-size:10px;font-weight:600;color:#94a3b8;line-height:1.3;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-tab-card.active .tab-card-desc{color:#fffc}.tab-icon{font-size:18px}.student-tab-content{background:#fff;margin:0 32px 32px;padding:32px;border-radius:24px;box-shadow:0 10px 40px #00000008;border:1px solid rgba(0,0,0,.02);animation:slideUp .4s ease-out}.student-datos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:11px;font-weight:800;text-transform:uppercase;color:#6366f1;letter-spacing:.5px}.field input,.field select{padding:14px 18px;border-radius:14px;border:1.5px solid #e2e8f0;background:#f8fafc;font-size:15px;font-weight:600;color:#1e293b;transition:all .2s}.field input:focus,.field select:focus{outline:none;border-color:#6366f1;background:#fff;box-shadow:0 0 0 4px #6366f11a}.field input[readonly]{background:#f1f5f9;cursor:default;opacity:.8}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin-bottom:32px}.kpi-card-modern{padding:20px;border-radius:20px;display:flex;flex-direction:column;gap:12px;transition:transform .2s}.kpi-card-modern:hover{transform:translateY(-4px)}.kpi-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.kpi-value{font-size:32px;font-weight:900;font-family:Outfit,sans-serif}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.note-card-modern:hover,.evidence-card-mini:hover{transform:translateY(-4px);border-color:#6366f1!important;box-shadow:0 12px 20px -10px #6366f126}.badge-item-modern:hover{transform:scale(1.05);background:#d1fae5!important}@media(max-width:768px){.kpi-grid{grid-template-columns:1fr 1fr}.student-detail-header-v2{flex-direction:column;text-align:center}.student-header-info-v2{align-items:center}}@media(max-width:900px){.student-tabs-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.student-profile-main-card{flex-direction:column;text-align:center}.student-sub-badges{justify-content:center}.student-detail-header-v2{padding:16px 16px 0}.student-tabs-container{padding:0 16px}.student-tabs-grid{grid-template-columns:repeat(2,1fr)}.student-tab-content{margin:0 16px 16px;padding:20px}}.btn-action-modern{padding:12px 20px;border-radius:14px;border:none;font-weight:800;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:12px;transition:all .2s cubic-bezier(.4,0,.2,1);text-align:left;box-shadow:0 4px 12px #0000000d}.btn-action-modern:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000001a;opacity:.95}.btn-action-modern:active{transform:translateY(0)}.btn-action-modern .icon{font-size:20px}.timeline-modern{position:relative;padding-left:32px}.timeline-modern:before{content:"";position:absolute;left:7px;top:10px;bottom:10px;width:2px;background:#f1f5f9}.timeline-item-v2{position:relative;margin-bottom:24px}.timeline-dot{position:absolute;left:-32px;top:6px;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--tab-active);z-index:1}.resource-card-v2{background:#fff;border:1.5px solid #f1f5f9;padding:18px;border-radius:18px;display:flex;align-items:center;gap:16px;transition:all .3s ease}.resource-card-v2:hover{border-color:var(--tab-active);background:#f8fafc;transform:translate(8px)}.resource-icon-box{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;background:#f1f5f9;color:#64748b}.badge-reward-v2{background:#fff;border:2px solid #ecfdf5;padding:16px;border-radius:20px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;transition:all .3s ease;box-shadow:0 4px 10px #10b9810d}.badge-reward-v2:hover{transform:scale(1.05) rotate(2deg);border-color:#10b981;box-shadow:0 10px 20px #10b9811a}.badge-ico-v2{font-size:32px;margin-bottom:4px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}@keyframes popIn{0%{transform:scale(.8);opacity:0}90%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.student-detail-overlay-mode{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;background:#f8fafc!important;z-index:99999!important;overflow-y:auto!important;overflow-x:hidden!important;padding:0!important;margin:0!important;border:none!important;border-radius:0!important;display:block!important;animation:studentModalFadeIn .35s cubic-bezier(.16,1,.3,1)}@keyframes studentModalFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.student-detail-overlay-mode .student-detail-header-v2{position:sticky;top:0;z-index:100;background:#f8fafcf7;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #e2e8f0;margin-bottom:0;padding:24px 32px;display:flex;justify-content:center}.student-detail-overlay-mode .student-profile-main-card{max-width:1100px;width:100%;margin:0 auto}.student-detail-overlay-mode .student-tabs-container{max-width:1100px;width:100%;margin:0 auto;padding:16px 32px;box-sizing:border-box}.student-detail-overlay-mode .student-tab-content{max-width:1100px;width:100%;margin:0 auto 40px;box-sizing:border-box}@media(max-width:768px){.student-detail-overlay-mode .student-detail-header-v2{padding:16px}.student-detail-overlay-mode .student-tabs-container{padding:12px 16px}.student-detail-overlay-mode .student-tab-content{margin:0 16px 24px;max-width:calc(100% - 32px)}}#view-course-detail>.student-tabs{margin-top:16px;border-bottom:none;gap:8px;align-items:center;padding:0 0 4px;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:0;border:none;box-shadow:none;margin-bottom:20px}#view-course-detail>.student-tabs .course-tab{border:1px solid transparent;margin-bottom:0;border-radius:14px;padding:10px 20px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:transparent;color:#64748b;transition:all .25s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1.1;min-width:110px}.tab-detail{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.7;margin-top:1px}#view-course-detail>.student-tabs .course-tab:hover{background:#fff9;color:#1e293b;transform:translateY(-1px)}#view-course-detail>.student-tabs .course-tab.active{transform:scale(1.02)}#view-course-detail>.student-tabs .course-tab.active .tab-detail{opacity:.9}.tab-label-short{display:none}.tab-label-full{display:inline}@media(max-width:640px){#view-course-detail>.student-tabs{gap:3px}#view-course-detail>.student-tabs .course-tab{padding:7px 9px;font-size:11px}.tab-label-full{display:none}.tab-label-short{display:inline}.tab-detail{display:none}}#view-course-detail .course-students-top>h3{margin:0 0 8px}#view-course-detail #course-add-student-form,#view-course-detail #course-edit-student-form{padding:12px 14px}#view-course-detail #course-add-student-form>p.muted:first-child,#view-course-detail #course-edit-student-form>p.muted:first-child{margin:0 0 10px;font-size:12px}#view-course-detail .course-add-student-table{width:100%;font-size:13px}#view-course-detail .course-add-student-table .label-cell{padding:6px 8px 6px 0;color:var(--text-muted)}#view-course-detail .course-add-student-table td:not(.label-cell){padding:6px 0}#view-course-detail .course-add-student-table input,#view-course-detail .course-add-student-table select{width:100%}#view-course-detail .course-student-form-actions{margin-top:12px;display:flex;gap:8px}#course-student-catalog-title{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);text-align:center}#course-tab-diagnostica>p.muted:first-child,#course-tab-asistencia>p.muted:first-child,#course-tab-sumativa>p.muted:first-child,#course-tab-formativa>p.muted:first-child,#course-tab-promedio>p.muted:first-child{margin-top:8px}#course-tab-asistencia>p.muted:first-child{margin-bottom:10px}#course-attendance-modern>p.muted:first-child{margin:0}#course-attendance-days .course-detail-subtitle,#sumativa-detail .course-detail-subtitle,#formativa-detail .course-detail-subtitle{margin:0 0 8px;text-transform:uppercase;letter-spacing:.1em;font-size:13px;color:#a5b4fc}#sumativa-detail .course-detail-subtitle--sumativa{font-size:14px;font-weight:900;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.6)}#course-attendance-days .course-detail-hint,#sumativa-detail .course-detail-hint,#formativa-detail .course-detail-hint{margin-bottom:6px;font-size:12px}#course-tab-diagnostica .course-main-table,#course-attendance-days .course-main-table,#course-tab-sumativa .course-main-table,#sumativa-detail .course-main-table,#course-tab-formativa .course-main-table,#formativa-detail .course-main-table,#course-tab-promedio .course-main-table{margin-top:8px}.list-item-muted{list-style:none}.list-item-muted--padded{padding:16px}body.course-full #course-students-sidebar{display:none}body.course-full.course-detail-student-sheet-open #course-students-sidebar{display:flex!important;flex-direction:column;position:fixed;right:0;top:0;bottom:0;width:min(360px,94vw);z-index:60;margin:0;padding:14px 16px;background:var(--app-card-bg, #fff);border-left:1px solid var(--border);box-shadow:-12px 0 32px #0f172a1f;overflow-y:auto}body.course-full .app-main.ds-page{max-width:98%!important;transition:max-width .3s ease}body.course-full .course-main{max-width:100%}body.course-full .app-sidebar{display:none!important}body.course-full #view-course-detail{padding:16px 0 0}#view-course-detail.is-loading>*{opacity:0;pointer-events:none}#view-course-detail.is-loading:after{content:"Cargando curso...";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:700;color:var(--text-muted);font-size:14px}body.course-full #view-course-detail .student-tabs{background:transparent;border:none;border-radius:0;padding:0 0 4px;box-shadow:none}body.course-full #view-course-detail .student-tabs button.course-tab{padding:10px 16px;font-weight:700;font-size:14px;border-bottom:none!important;border-radius:var(--radius-pill)}body.course-full #view-course-detail .student-tabs button.course-tab:hover{color:var(--color-primary-deep);background:#ffffffd9}body.course-full #view-course-detail .course-layout{background:var(--app-card-bg);border:1px solid rgba(148,163,184,.12);border-radius:var(--app-card-radius);padding:20px;gap:18px;box-shadow:var(--app-shadow-card)}body.course-full #view-course-detail .course-main{background:#fff;border:1px solid rgba(148,163,184,.12);border-radius:var(--app-card-radius);padding:18px}body.course-full #view-course-detail .course-main-table table{border-radius:12px;overflow:hidden}body.course-full #view-course-detail h2#course-detail-title{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;color:var(--app-heading)}#view-course-detail .app-page-header{padding:14px 16px;border:1px solid color-mix(in srgb,var(--color-primary) 20%,var(--border));border-radius:14px;background:linear-gradient(135deg,#2765f51a,#14b8a614);box-shadow:var(--shadow-xs);margin-bottom:8px}#view-course-detail .app-page-header .app-lead{color:var(--text-muted)}#view-course-detail .student-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;border-radius:0;padding:0 0 4px;margin-bottom:20px;box-shadow:none;scrollbar-width:none}#view-course-detail .student-tabs::-webkit-scrollbar{display:none}#view-course-detail .course-tab{border:none;background:transparent;color:#64748b;font-weight:700;font-size:13px;padding:10px 20px;border-radius:14px;transition:all .3s ease;cursor:pointer;white-space:nowrap}#view-course-detail .course-tab:hover{background:#ffffff80;color:#1e293b}#view-course-detail .course-tab.active{transform:translateY(-1px)}#view-course-detail .course-tab[data-course-tab=diagnostica]{color:#6d28d9}#view-course-detail .course-tab[data-course-tab=diagnostica]:hover,#view-course-detail .course-tab[data-course-tab=diagnostica].active{background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff;box-shadow:0 8px 20px #6d28d959;border-color:transparent}#view-course-detail .course-tab[data-course-tab=formativa]{color:#1d4ed8}#view-course-detail .course-tab[data-course-tab=formativa]:hover,#view-course-detail .course-tab[data-course-tab=formativa].active{background:linear-gradient(135deg,#2563eb,#60a5fa);color:#fff;box-shadow:0 8px 20px #2563eb59;border-color:transparent}#view-course-detail .course-tab[data-course-tab=sumativa]{color:#be185d}#view-course-detail .course-tab[data-course-tab=sumativa]:hover,#view-course-detail .course-tab[data-course-tab=sumativa].active{background:linear-gradient(135deg,#db2777,#f472b6);color:#fff;box-shadow:0 8px 20px #db277759;border-color:transparent}#view-course-detail .course-tab[data-course-tab=promedio]{color:#c2410c}#view-course-detail .course-tab[data-course-tab=promedio]:hover,#view-course-detail .course-tab[data-course-tab=promedio].active{background:linear-gradient(135deg,#ea580c,#fb923c);color:#fff;box-shadow:0 8px 20px #ea580c59;border-color:transparent}#view-course-detail .course-tab[data-course-tab=asistencia]{color:#0f766e}#view-course-detail .course-tab[data-course-tab=asistencia]:hover,#view-course-detail .course-tab[data-course-tab=asistencia].active{background:linear-gradient(135deg,#0d9488,#2dd4bf);color:#fff;box-shadow:0 8px 20px #0d948859;border-color:transparent}#view-course-detail .course-layout{border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,#fffffffa,#f8fafcfa);box-shadow:var(--shadow-xs)}#view-course-detail .course-main{background:#fff;border:1px solid var(--border);border-radius:12px}#view-course-detail .course-main-table{border:1px solid var(--border);border-radius:12px;overflow-x:auto;overflow-y:hidden;background:#fff;box-shadow:var(--shadow-sm)}#view-course-detail .course-main-table table{margin:0;width:100%;border-collapse:separate;border-spacing:0}#view-course-detail .course-main-table thead th{background:#f8fafce6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--color-ink-muted);border-bottom:2px solid var(--border);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:13px;position:sticky;top:0;z-index:10}#view-course-detail .course-main-table th:first-child,#view-course-detail .course-main-table td:first-child{position:sticky;left:0;background:#fff;z-index:20;border-right:2px solid rgba(148,163,184,.15);box-shadow:4px 0 12px #0f172a05}#view-course-detail .course-main-table th:first-child{z-index:30;background:#f8fafcf2!important}#view-course-detail .course-main-table tbody tr{transition:all .2s ease}#view-course-detail .course-main-table tbody tr:hover td{background:#f1f5f9b3}#view-course-detail .course-main-table tbody tr:hover td:first-child{background:#f1f5f9f2}#view-course-detail .course-main-table tbody tr:nth-child(2n) td{background:#f8fafc66}#view-course-detail .course-main-table tbody tr:nth-child(2n) td:first-child{background:#fafcfdf2}#view-course-detail .course-main-table tbody td{border-bottom:1px solid rgba(148,163,184,.18);font-weight:500}.clickable-header{cursor:pointer;transition:all .2s ease}.clickable-header:hover{background:#2563eb14!important;color:#2563eb!important}.asistencia-hero{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#0d94881a,#14b8a60f);border:1.5px solid rgba(13,148,136,.22);border-radius:16px;padding:14px 16px;margin-bottom:16px}.asistencia-hero__left{display:flex;align-items:center;gap:12px}.asistencia-hero__icon{font-size:28px;line-height:1;flex-shrink:0}.asistencia-hero__title{margin:0 0 2px;font-size:15px;font-weight:800;color:#0f766e}.asistencia-hero__sub{margin:0;font-size:12px;color:#5eead4;font-weight:500}@media(prefers-color-scheme:dark){.asistencia-hero__sub{color:#0d9488}}.asistencia-hero__export{flex-shrink:0}.tab-action-banner{display:flex;align-items:center;gap:12px;background:#f8fafce6;border:1px solid rgba(148,163,184,.18);border-radius:16px;padding:12px 16px;margin-bottom:16px;flex-wrap:wrap}.tab-action-banner--diagnostica{background:linear-gradient(135deg,#6366f112,#8b5cf60d);border-color:#6366f12e}.tab-action-banner--formativa{background:linear-gradient(135deg,#2563eb12,#3b82f60d);border-color:#2563eb26}.tab-action-banner--sumativa{background:linear-gradient(135deg,#f59e0b12,#fbbf240d);border-color:#f59e0b2e}.tab-action-banner--promedio{background:linear-gradient(135deg,#10b98112,#0596690d);border-color:#10b9812e}.tab-action-banner__icon{font-size:26px;line-height:1;flex-shrink:0}.tab-action-banner__body{flex:1;min-width:120px}.tab-action-banner__title{margin:0 0 2px;font-size:14px;font-weight:800;color:#1e293b}.tab-action-banner__hint{margin:0;font-size:12px;color:#64748b;line-height:1.4}.tab-action-banner__actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.period-action-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:36px;padding:0 12px;border-radius:10px;border:1.5px solid rgba(37,99,235,.25);background:#fff;color:#2563eb;font-size:12px;font-weight:800;letter-spacing:.03em;cursor:pointer;transition:all .2s ease;white-space:nowrap}.period-action-btn:hover{background:#2563eb;color:#fff;border-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb40}.period-action-btn.active{background:#2563eb;color:#fff;border-color:#2563eb}.period-action-btn--export{border-color:#94a3b859;color:#64748b;background:#f8fafce6}.period-action-btn--export:hover{background:#64748b;color:#fff;border-color:#64748b;box-shadow:0 4px 12px #64748b33}.tab-action-banner--sumativa .period-action-btn{border-color:#f59e0b59;color:#b45309}.tab-action-banner--sumativa .period-action-btn:hover,.tab-action-banner--sumativa .period-action-btn.active{background:#d97706;color:#fff;border-color:#d97706;box-shadow:0 4px 12px #d977064d}.period-close-btn{border-color:#10b98159;color:#065f46}.period-close-btn:hover{background:#10b981;color:#fff;border-color:#10b981;box-shadow:0 4px 12px #10b9814d}.period-close-btn.closed{background:#10b981;color:#fff;border-color:#10b981;opacity:.7;cursor:default;pointer-events:none}.period-close-btn.reopened{border-color:#f59e0b66;color:#92400e;background:#fef3c7cc}@media(max-width:640px){.tab-action-banner{padding:10px 12px;gap:8px}.tab-action-banner__actions{width:100%;justify-content:flex-start}.asistencia-hero{flex-direction:column;align-items:flex-start}}.table-premium-container{background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 20px #0000000a}.attendance-summary-table .sticky-col{position:sticky;left:0;background:#fff;z-index:10;box-shadow:2px 0 5px #00000005}.attendance-summary-table tr:hover .sticky-col{background:#f8fafc}.attendance-month-header{transition:all .18s ease;padding:8px 6px;text-align:center;cursor:pointer;vertical-align:middle}.attendance-month-header div{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;padding:7px 14px;border-radius:20px;background:#eff6ff;color:#3b82f6;font-weight:800;font-size:10px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border:1.5px solid #bfdbfe;transition:all .18s ease;min-width:80px}.attendance-month-header:hover div{background:#e0e7ff;color:#4338ca;border-color:#c7d2fe;transform:translateY(-2px);box-shadow:0 4px 12px #6366f126}.attendance-month-header.is-active{background:transparent!important}.attendance-month-header.is-active div{background:#6366f1;color:#fff;border-color:#6366f1;box-shadow:0 4px 14px #6366f166;transform:translateY(-1px)}input.formativa-input{width:64px;min-width:64px;box-sizing:border-box}.formativa-sum-cell,.formativa-avg-cell{min-width:60px;text-align:center}:root{--cp1: #6366f1;--cp2: #f59e0b;--cp3: #10b981;--cp4: #ef4444}th.sumativa-cp1{color:var(--cp1);border-bottom:3px solid var(--cp1)}th.sumativa-cp2{color:var(--cp2);border-bottom:3px solid var(--cp2)}th.sumativa-cp3{color:var(--cp3);border-bottom:3px solid var(--cp3)}th.sumativa-cp4{color:var(--cp4);border-bottom:3px solid var(--cp4)}th.sumativa-cp1.active-period{background:color-mix(in srgb,var(--cp1) 12%,transparent)}th.sumativa-cp2.active-period{background:color-mix(in srgb,var(--cp2) 12%,transparent)}th.sumativa-cp3.active-period{background:color-mix(in srgb,var(--cp3) 12%,transparent)}th.sumativa-cp4.active-period{background:color-mix(in srgb,var(--cp4) 12%,transparent)}.sumativa-cp1-btn{border-color:var(--cp1)!important;color:var(--cp1)!important}.sumativa-cp2-btn{border-color:var(--cp2)!important;color:var(--cp2)!important}.sumativa-cp3-btn{border-color:var(--cp3)!important;color:var(--cp3)!important}.sumativa-cp4-btn{border-color:var(--cp4)!important;color:var(--cp4)!important}.sumativa-cp1-btn.active{background:var(--cp1)!important;color:#fff!important}.sumativa-cp2-btn.active{background:var(--cp2)!important;color:#fff!important}.sumativa-cp3-btn.active{background:var(--cp3)!important;color:#fff!important}.sumativa-cp4-btn.active{background:var(--cp4)!important;color:#fff!important}#sumativa-detail[class*=cp-accent-]{border-radius:16px;padding:20px 20px 20px 16px;transition:background .25s ease,border-color .25s ease}#sumativa-detail.cp-accent-1{background:color-mix(in srgb,var(--cp1) 7%,white);border-left:5px solid var(--cp1)}#sumativa-detail.cp-accent-2{background:color-mix(in srgb,var(--cp2) 7%,white);border-left:5px solid var(--cp2)}#sumativa-detail.cp-accent-3{background:color-mix(in srgb,var(--cp3) 7%,white);border-left:5px solid var(--cp3)}#sumativa-detail.cp-accent-4{background:color-mix(in srgb,var(--cp4) 7%,white);border-left:5px solid var(--cp4)}#sumativa-detail.cp-accent-1 .course-detail-subtitle{color:var(--cp1)}#sumativa-detail.cp-accent-2 .course-detail-subtitle{color:var(--cp2)}#sumativa-detail.cp-accent-3 .course-detail-subtitle{color:var(--cp3)}#sumativa-detail.cp-accent-4 .course-detail-subtitle{color:var(--cp4)}#sumativa-detail.cp-accent-1 thead{background:color-mix(in srgb,var(--cp1) 14%,white)}#sumativa-detail.cp-accent-2 thead{background:color-mix(in srgb,var(--cp2) 14%,white)}#sumativa-detail.cp-accent-3 thead{background:color-mix(in srgb,var(--cp3) 14%,white)}#sumativa-detail.cp-accent-4 thead{background:color-mix(in srgb,var(--cp4) 14%,white)}#sumativa-detail.cp-accent-1 thead th{color:var(--cp1);border-bottom-color:var(--cp1)}#sumativa-detail.cp-accent-2 thead th{color:var(--cp2);border-bottom-color:var(--cp2)}#sumativa-detail.cp-accent-3 thead th{color:var(--cp3);border-bottom-color:var(--cp3)}#sumativa-detail.cp-accent-4 thead th{color:var(--cp4);border-bottom-color:var(--cp4)}#sumativa-detail.cp-accent-1 #btn-close-sumativa-detail{border-color:var(--cp1);color:var(--cp1)}#sumativa-detail.cp-accent-2 #btn-close-sumativa-detail{border-color:var(--cp2);color:var(--cp2)}#sumativa-detail.cp-accent-3 #btn-close-sumativa-detail{border-color:var(--cp3);color:var(--cp3)}#sumativa-detail.cp-accent-4 #btn-close-sumativa-detail{border-color:var(--cp4);color:var(--cp4)}.cp-clickable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;position:relative;text-align:center;vertical-align:middle;padding:10px 8px!important}.cp-clickable-header .cp-label{display:block;font-weight:700;font-size:13px}.cp-clickable-header .cp-hint{display:block;font-size:9px;font-weight:500;opacity:.55;margin-top:2px;letter-spacing:.02em;transition:opacity .2s}.cp-clickable-header:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.cp-clickable-header:hover .cp-hint{opacity:1}.cp-clickable-header:active{transform:translateY(0)}th.sumativa-cp1.active-period{background:color-mix(in srgb,var(--cp1) 15%,white)!important;box-shadow:0 4px 12px color-mix(in srgb,var(--cp1) 30%,transparent)}th.sumativa-cp2.active-period{background:color-mix(in srgb,var(--cp2) 15%,white)!important;box-shadow:0 4px 12px color-mix(in srgb,var(--cp2) 30%,transparent)}th.sumativa-cp3.active-period{background:color-mix(in srgb,var(--cp3) 15%,white)!important;box-shadow:0 4px 12px color-mix(in srgb,var(--cp3) 30%,transparent)}th.sumativa-cp4.active-period{background:color-mix(in srgb,var(--cp4) 15%,white)!important;box-shadow:0 4px 12px color-mix(in srgb,var(--cp4) 30%,transparent)}th.active-period .cp-hint{opacity:0}.sumativa-sub-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .15s ease,background .15s ease;text-align:center}.sumativa-sub-header .sumativa-sub-inner{display:flex;flex-direction:column;align-items:center;gap:2px}.sumativa-sub-header .sub-label{font-weight:700;font-size:12px}.sumativa-sub-header .sub-hint{font-size:9px;font-weight:500;opacity:.5;transition:opacity .2s;letter-spacing:.01em}.sumativa-sub-header:hover{transform:translateY(-2px)}.sumativa-sub-header:hover .sub-hint{opacity:1}.sumativa-sub-rp{opacity:.75}.sumativa-sub-rp:hover{opacity:1}:root{--pg1: #6366f1;--pg1-bg: #eef2ff;--pg2: #f59e0b;--pg2-bg: #fffbeb;--pg3: #10b981;--pg3-bg: #ecfdf5;--pg4: #ef4444;--pg4-bg: #fef2f2}.sumativa-group-row th{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:6px 4px;border-radius:6px 6px 0 0}.sumativa-period-group.sumativa-pg-1{background:var(--pg1-bg);color:var(--pg1);border-bottom:2px solid var(--pg1)}.sumativa-period-group.sumativa-pg-2{background:var(--pg2-bg);color:var(--pg2);border-bottom:2px solid var(--pg2)}.sumativa-period-group.sumativa-pg-3{background:var(--pg3-bg);color:var(--pg3);border-bottom:2px solid var(--pg3)}.sumativa-period-group.sumativa-pg-4{background:var(--pg4-bg);color:var(--pg4);border-bottom:2px solid var(--pg4)}.sumativa-sub-p.sumativa-pg-1{color:var(--pg1)}.sumativa-sub-p.sumativa-pg-2{color:var(--pg2)}.sumativa-sub-p.sumativa-pg-3{color:var(--pg3)}.sumativa-sub-p.sumativa-pg-4{color:var(--pg4)}.sumativa-sub-rp{color:#94a3b8!important;font-style:italic}.sumativa-sub-rp:hover{color:#64748b!important}.sumativa-cell-p.sumativa-pg-1{background:color-mix(in srgb,var(--pg1) 4%,white)}.sumativa-cell-p.sumativa-pg-2{background:color-mix(in srgb,var(--pg2) 4%,white)}.sumativa-cell-p.sumativa-pg-3{background:color-mix(in srgb,var(--pg3) 4%,white)}.sumativa-cell-p.sumativa-pg-4{background:color-mix(in srgb,var(--pg4) 4%,white)}.sumativa-cell-rp{background:#f8fafc}.sumativa-cell-p.sumativa-pg-1,.sumativa-period-group.sumativa-pg-1,.sumativa-sub-p.sumativa-pg-1{border-left:2px solid color-mix(in srgb,var(--pg1) 20%,transparent)}.sumativa-cell-p.sumativa-pg-2,.sumativa-period-group.sumativa-pg-2,.sumativa-sub-p.sumativa-pg-2{border-left:2px solid color-mix(in srgb,var(--pg2) 20%,transparent)}.sumativa-cell-p.sumativa-pg-3,.sumativa-period-group.sumativa-pg-3,.sumativa-sub-p.sumativa-pg-3{border-left:2px solid color-mix(in srgb,var(--pg3) 20%,transparent)}.sumativa-cell-p.sumativa-pg-4,.sumativa-period-group.sumativa-pg-4,.sumativa-sub-p.sumativa-pg-4{border-left:2px solid color-mix(in srgb,var(--pg4) 20%,transparent)}.sumativa-student-th{font-weight:700;font-size:12px;color:var(--app-heading);background:#f8fafc}.sumativa-student-td{font-weight:500;font-size:13px}#sumativa-detail td,#sumativa-detail th{text-align:center;vertical-align:middle;padding:8px 6px}#sumativa-detail td.sumativa-student-td{text-align:left;padding-left:14px;font-size:13px;min-width:180px}#sumativa-detail .sumativa-cell-p .sumativa-sub-inner{display:flex;align-items:center;justify-content:center}#sumativa-detail .sumativa-cell-p .sumativa-sub-value{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:32px;border-radius:8px;font-weight:700;font-size:13px;background:#ffffffb3;border:1.5px solid rgba(0,0,0,.08)}#sumativa-detail .sumativa-cell-p .sumativa-sub-value:empty{min-width:28px;height:28px;background:#fff6;border:1.5px dashed rgba(0,0,0,.12)}#sumativa-detail .sumativa-cell-rp .sumativa-sub-inner,#sumativa-detail .sumativa-cell-rp .sumativa-rp-cell{display:flex;align-items:center;justify-content:center;cursor:pointer}#sumativa-detail .sumativa-cell-rp .sumativa-sub-value{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:32px;border-radius:8px;font-weight:600;font-size:13px;background:#f1f5f9;border:1.5px solid #e2e8f0;color:#64748b;transition:border-color .15s,background .15s}#sumativa-detail .sumativa-cell-rp .sumativa-sub-value:empty{min-width:38px;height:32px;background:#f8fafc;border:1.5px dashed #cbd5e1}#sumativa-detail .rp-manual-input{width:52px;height:32px;border-radius:8px;border:1.5px solid #94a3b8;text-align:center;font-size:13px;font-weight:600;background:#fff;outline:none;padding:0 4px;transition:border-color .15s,box-shadow .15s}#sumativa-detail .rp-manual-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}#sumativa-detail .rp-manual-hidden{display:none!important}#sumativa-detail tbody td:hover{filter:brightness(.82);transition:filter .12s;cursor:default}.sumativa-cp-cell{cursor:pointer;transition:filter .15s}.sumativa-cp-cell:hover{filter:brightness(.88)}.cp-empty-hint{display:inline-block;color:#cbd5e1;font-size:13px;font-weight:500}td.sumativa-competencia-prom[data-competencia="1"]{background:color-mix(in srgb,var(--cp1) 6%,white)}td.sumativa-competencia-prom[data-competencia="2"]{background:color-mix(in srgb,var(--cp2) 6%,white)}td.sumativa-competencia-prom[data-competencia="3"]{background:color-mix(in srgb,var(--cp3) 6%,white)}td.sumativa-competencia-prom[data-competencia="4"]{background:color-mix(in srgb,var(--cp4) 6%,white)}.period-th{text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .15s ease,filter .15s ease;padding:10px 8px!important}.period-th .period-th-label{display:block;font-weight:800;font-size:13px;letter-spacing:.03em}.period-th .period-th-hint{display:block;font-size:9px;font-weight:500;opacity:.5;margin-top:2px;transition:opacity .2s}.period-th:hover{transform:translateY(-2px);filter:brightness(.92)}.period-th:hover .period-th-hint{opacity:1}.period-th:active{transform:translateY(0)}.period-th--1{color:var(--pg1);border-bottom:3px solid var(--pg1);background:color-mix(in srgb,var(--pg1) 6%,white)}.period-th--2{color:var(--pg2);border-bottom:3px solid var(--pg2);background:color-mix(in srgb,var(--pg2) 6%,white)}.period-th--3{color:var(--pg3);border-bottom:3px solid var(--pg3);background:color-mix(in srgb,var(--pg3) 6%,white)}.period-th--4{color:var(--pg4);border-bottom:3px solid var(--pg4);background:color-mix(in srgb,var(--pg4) 6%,white)}.period-th--1.active-period{background:color-mix(in srgb,var(--pg1) 18%,white)!important;box-shadow:0 4px 12px color-mix(in srgb,var(--pg1) 25%,transparent)}.period-th--2.active-period{background:color-mix(in srgb,var(--pg2) 18%,white)!important;box-shadow:0 4px 12px color-mix(in srgb,var(--pg2) 25%,transparent)}.period-th--3.active-period{background:color-mix(in srgb,var(--pg3) 18%,white)!important;box-shadow:0 4px 12px color-mix(in srgb,var(--pg3) 25%,transparent)}.period-th--4.active-period{background:color-mix(in srgb,var(--pg4) 18%,white)!important;box-shadow:0 4px 12px color-mix(in srgb,var(--pg4) 25%,transparent)}.active-period .period-th-hint{opacity:0}td.cell-grade[data-period="1"],td.formativa-p-sum[data-period="1"]{background:color-mix(in srgb,var(--pg1) 5%,white)}td.cell-grade[data-period="2"],td.formativa-p-sum[data-period="2"]{background:color-mix(in srgb,var(--pg2) 5%,white)}td.cell-grade[data-period="3"],td.formativa-p-sum[data-period="3"]{background:color-mix(in srgb,var(--pg3) 5%,white)}td.cell-grade[data-period="4"],td.formativa-p-sum[data-period="4"]{background:color-mix(in srgb,var(--pg4) 5%,white)}#course-tab-diagnostica .tab-action-banner__actions .period-action-btn:nth-child(1),#course-tab-formativa .tab-action-banner__actions .period-action-btn:nth-child(1){border-color:var(--pg1)!important;color:var(--pg1)!important}#course-tab-diagnostica .tab-action-banner__actions .period-action-btn:nth-child(2),#course-tab-formativa .tab-action-banner__actions .period-action-btn:nth-child(2){border-color:var(--pg2)!important;color:var(--pg2)!important}#course-tab-diagnostica .tab-action-banner__actions .period-action-btn:nth-child(3),#course-tab-formativa .tab-action-banner__actions .period-action-btn:nth-child(3){border-color:var(--pg3)!important;color:var(--pg3)!important}#course-tab-diagnostica .tab-action-banner__actions .period-action-btn:nth-child(4),#course-tab-formativa .tab-action-banner__actions .period-action-btn:nth-child(4){border-color:var(--pg4)!important;color:var(--pg4)!important}#course-tab-diagnostica .tab-action-banner__actions .period-action-btn:nth-child(1).active,#course-tab-formativa .tab-action-banner__actions .period-action-btn:nth-child(1).active{background:var(--pg1)!important;color:#fff!important}#course-tab-diagnostica .tab-action-banner__actions .period-action-btn:nth-child(2).active,#course-tab-formativa .tab-action-banner__actions .period-action-btn:nth-child(2).active{background:var(--pg2)!important;color:#fff!important}#course-tab-diagnostica .tab-action-banner__actions .period-action-btn:nth-child(3).active,#course-tab-formativa .tab-action-banner__actions .period-action-btn:nth-child(3).active{background:var(--pg3)!important;color:#fff!important}#course-tab-diagnostica .tab-action-banner__actions .period-action-btn:nth-child(4).active,#course-tab-formativa .tab-action-banner__actions .period-action-btn:nth-child(4).active{background:var(--pg4)!important;color:#fff!important}#formativa-detail thead th{text-align:center;vertical-align:middle}#formativa-detail thead th:first-child{text-align:left}#formativa-detail .formativa-avg-cell{text-align:center;vertical-align:middle;font-weight:700}#formativa-detail input.formativa-input{display:block;margin:0 auto;text-align:center}.attendance-month-header.is-current-month{background:transparent!important}.attendance-month-header.is-current-month div,.attendance-month-header.is-current-month div *{background:#fef3c7!important;color:#92400e!important;border-color:#fcd34d!important;box-shadow:0 4px 14px #f59e0b59!important;transform:translateY(-2px);font-weight:900!important}.month-current-badge{display:inline-block;font-size:9px;font-weight:800;background:#f59e0b;color:#fff;border-radius:6px;padding:1px 6px;margin-left:5px;vertical-align:middle;letter-spacing:.04em;text-transform:uppercase}.attendance-pct-cell{padding:8px 6px;border-right:1px solid rgba(0,0,0,.04)}.attendance-pct-badge{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:5px 10px;border-radius:20px;font-size:12px;font-weight:800;letter-spacing:.02em;border:1.5px solid transparent}.attendance-pct-badge.attendance-high,.attendance-pct-badge.grade-high{background:#dcfce7;color:#15803d;border-color:#bbf7d0}.attendance-pct-badge.attendance-mid,.attendance-pct-badge.grade-mid{background:#fef9c3;color:#854d0e;border-color:#fde047}.attendance-pct-badge.attendance-low,.attendance-pct-badge.grade-low,.attendance-pct-badge.grade-bad{background:#fee2e2;color:#b91c1c;border-color:#fca5a5}.attendance-pct-badge.attendance-none,.attendance-pct-badge:not([class*=grade]):not([class*=attendance-h]):not([class*=attendance-m]):not([class*=attendance-l]){background:#f1f5f9;color:#94a3b8;border-color:#e2e8f0}.attendance-pct-empty{color:#cbd5e1;font-size:14px;font-weight:700}.attendance-current-month-cell{background:color-mix(in srgb,#10b981 7%,white)!important;border-left:2px solid rgba(16,185,129,.35)!important;border-right:2px solid rgba(16,185,129,.35)!important}.attendance-pct-cell:hover .attendance-pct-badge{filter:brightness(.92);transition:filter .12s}.manual-col-header{padding:0!important;position:relative;overflow:hidden;transition:all .2s ease;border-bottom:2px solid rgba(0,0,0,.05)!important;vertical-align:top}th.manual-col-header.header-default{background:#f8fafc!important;border-top:4px solid #6366f1!important}th.manual-col-header.header-instrument--rubrica{background:linear-gradient(180deg,#f5f3ff,#fff)!important;border-top:4px solid #6366f1!important}th.manual-col-header.header-instrument--cotejo{background:linear-gradient(180deg,#f0fdf4,#fff)!important;border-top:4px solid #22c55e!important}th.manual-col-header.header-instrument--escala{background:linear-gradient(180deg,#fffbeb,#fff)!important;border-top:4px solid #f59e0b!important}th.manual-col-header.header-instrument--estimativa{background:linear-gradient(180deg,#fdf2f8,#fff)!important;border-top:4px solid #ec4899!important}th.manual-col-header.header-instrument{background:linear-gradient(180deg,#f0fdfa,#fff)!important;border-top:4px solid #14b8a6!important}.formativa-header-btn{position:relative;padding:16px 10px;min-height:92px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:background .2s ease,transform .2s ease;cursor:pointer;width:100%}.manual-col-header:hover{background:#00000005!important}.manual-col-header:hover .formativa-header-btn{transform:translateY(-1px)}.formativa-header-instrument{font-size:8.5px!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.1em;opacity:.5;margin-bottom:2px}.header-instrument--rubrica .formativa-header-instrument{color:#4338ca;opacity:.7}.header-instrument--cotejo .formativa-header-instrument{color:#065f46;opacity:.7}.header-instrument--escala .formativa-header-instrument{color:#92400e;opacity:.7}.header-instrument--estimativa .formativa-header-instrument{color:#9d174d;opacity:.7}.formativa-header-label{font-size:12px!important;font-weight:900!important;text-transform:uppercase;letter-spacing:.02em;color:#0f172a!important;line-height:1.2;text-align:center}.formativa-header-footer{display:flex;align-items:center;gap:6px;margin-top:4px}.formativa-header-sub{font-size:9.5px!important;opacity:.45;font-weight:700}.btn-delete-col{position:absolute!important;top:5px!important;right:5px!important;width:20px!important;height:20px!important;border-radius:6px!important;background:#fffc!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:10px!important;border:1px solid rgba(0,0,0,.05)!important;opacity:0;transition:all .2s ease;cursor:pointer}.manual-col-header:hover .btn-delete-col{opacity:1}.btn-delete-col:hover{background:#fee2e2!important;color:#ef4444!important}.formativa-input{border:none!important;background:transparent!important;text-align:center!important;font-size:15px!important;font-weight:700!important;color:#1e293b!important;width:100%!important;height:38px!important;border-radius:8px!important;transition:all .2s ease!important;box-shadow:none!important}.formativa-input:hover{background:#6366f10d!important}.formativa-input:focus{background:#6366f11a!important;outline:none!important;box-shadow:inset 0 0 0 1px #6366f133!important}.formativa-input::-webkit-inner-spin-button,.formativa-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}#formativa-detail-tbody tr:hover td{background-color:#6366f108!important}.formativa-avg-cell{background:#f1f5f980!important;text-align:center!important;font-family:Outfit,sans-serif!important;font-weight:850!important;font-size:15px!important;border-left:2px solid rgba(0,0,0,.03)!important}.avg-bad{color:#ef4444!important}.avg-mid{color:#f59e0b!important}.avg-good{color:#6366f1!important}.avg-zero{color:#94a3b8!important;opacity:.5}.formativa-avg-cell{color:#1e293b!important}.avg-base{color:#94a3b8!important;font-weight:500!important;font-size:13px!important;margin-left:1px}.avg-good,.avg-mid,.avg-bad{font-weight:900!important}.grades-view-layout{display:flex;flex-direction:column;min-height:100%;background:#f8fafc;animation:fadeInGrades .4s cubic-bezier(.16,1,.3,1)}@keyframes fadeInGrades{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.grades-main{width:100%;padding:0 0 40px}.eval-header{display:flex;align-items:center;justify-content:space-between;padding:28px 32px 24px;background:#fff;border-bottom:1px solid #f1f5f9;gap:16px}.eval-header__left{display:flex;align-items:center;gap:16px}.eval-header__icon{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#6366f1,#0d9488);display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0;box-shadow:0 8px 20px #6366f140}.eval-header__title{font-size:26px;font-weight:900;color:#0f172a;letter-spacing:-.03em;margin:0 0 2px}.eval-header__sub{font-size:13px;color:#64748b;font-weight:600;margin:0}.eval-header__close{width:38px;height:38px;border-radius:12px;background:#f1f5f9;border:1px solid #e2e8f0;color:#64748b;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.eval-header__close:hover{background:#fee2e2;color:#ef4444;border-color:#fca5a5}.eval-selection-area{padding:32px}.eval-selection-lead{font-size:15px;font-weight:700;color:#64748b;margin-bottom:20px}.eval-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 32px;background:#fff;border-bottom:1px solid #f1f5f9}.eval-toolbar__left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.eval-toolbar__right{display:flex;align-items:center;gap:8px;flex-shrink:0}.eval-select-wrap{display:flex;align-items:center;gap:8px;background:#f1f5f9;border-radius:12px;padding:8px 14px;border:1.5px solid #e2e8f0}.eval-select-ico{font-size:16px}.eval-select{border:none;background:transparent;font-size:14px;font-weight:700;color:#1e293b;outline:none;cursor:pointer;font-family:inherit}.eval-period-pills{display:flex;gap:6px}.eval-period-pill{padding:7px 14px;border-radius:20px;border:1.5px solid #e2e8f0;background:#fff;color:#64748b;font-size:12px;font-weight:800;cursor:pointer;transition:all .18s;font-family:inherit;letter-spacing:.02em}.eval-period-pill:hover{border-color:#6366f1;color:#6366f1;background:#eef2ff}.eval-period-pill.active{background:linear-gradient(135deg,#6366f1,#4f46e5);border-color:#6366f1;color:#fff;box-shadow:0 4px 12px #6366f14d}.eval-add-form{display:flex;align-items:center;gap:8px}.eval-add-input{padding:9px 14px;border-radius:10px;border:1.5px solid #e2e8f0;font-size:13px;font-family:inherit;font-weight:600;color:#1e293b;outline:none;transition:border-color .2s;background:#fff}.eval-add-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.eval-add-input--sm{width:90px}.eval-add-btn{padding:9px 18px;border-radius:10px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;font-size:13px;font-weight:800;cursor:pointer;font-family:inherit;transition:all .2s;white-space:nowrap;box-shadow:0 4px 12px #6366f140}.eval-add-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #6366f159}.eval-add-btn:active{transform:translateY(0)}.eval-stats-banner{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;padding:20px 32px;background:#f8fafc;border-bottom:1px solid #f1f5f9}.eval-stat-card{background:#fff;padding:18px 20px;border-radius:16px;border:1px solid #f1f5f9;box-shadow:0 2px 8px #00000008;display:flex;flex-direction:column;gap:6px}.eval-stat-val{font-size:26px;font-weight:950;color:var(--color-primary-deep,#4f46e5);line-height:1;font-family:Outfit,sans-serif}.eval-stat-label{font-size:11px;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em}.eval-table-wrap{overflow-x:auto;padding:24px 32px}.eval-table{width:100%;border-collapse:collapse;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 4px 24px #0000000d;border:1px solid #f1f5f9}.eval-table thead th{background:#f8fafc;padding:14px 16px;text-align:left;font-size:11px;font-weight:800;text-transform:uppercase;color:#64748b;border-bottom:2px solid #f1f5f9;letter-spacing:.05em;white-space:nowrap}.eval-table tbody tr{transition:background .15s}.eval-table tbody tr:hover{background:#f8fafc}.eval-table tbody tr:last-child td{border-bottom:none}.eval-table tbody td{padding:12px 16px;border-bottom:1px solid #f8fafc;font-size:14px;color:#1e293b;font-weight:600;vertical-align:middle}.eval-table th.sticky-col,.eval-table td.sticky-col{position:sticky;left:0;z-index:5;background:#fff;border-right:2px solid #f1f5f9;min-width:160px;max-width:200px;font-weight:800}.eval-table th.sticky-col{background:#f8fafc;z-index:6}.grade-input-modern{width:64px;background:#f1f5f9;border:2px solid transparent;border-radius:10px;padding:7px 6px;text-align:center;font-family:inherit;font-weight:800;font-size:14px;color:#1e293b;transition:all .2s;outline:none;-moz-appearance:textfield}.grade-input-modern::-webkit-inner-spin-button,.grade-input-modern::-webkit-outer-spin-button{-webkit-appearance:none}.grade-input-modern:focus{background:#fff;border-color:#6366f1;box-shadow:0 0 0 4px #6366f11f;transform:scale(1.08)}.grade-input-modern.grade-bad{background:#fff1f2;color:#dc2626;border-color:#fecaca}.grade-input-modern.grade-good{background:#f0fdf4;color:#16a34a;border-color:#bbf7d0}.grade-input-modern.grade-bad:focus{border-color:#ef4444;box-shadow:0 0 0 4px #ef44441f}.grade-input-modern.grade-good:focus{border-color:#22c55e;box-shadow:0 0 0 4px #22c55e1f}.grade-bad{color:#dc2626}.grade-good{color:#16a34a}.grade-excelent{color:#7c3aed}.grades-courses-grid-premium{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:16px}.evaluation-course-card{background:#fff;border-radius:20px;border:1.5px solid #f1f5f9;padding:20px;cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden;box-shadow:0 4px 16px #0000000a}.evaluation-course-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#6366f1,#0d9488)}.evaluation-course-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px #6366f126;border-color:#c7d2fe}.evaluation-course-card.active-eval-card{border-color:#6366f1;border-width:2px;box-shadow:0 12px 32px #6366f133}.evaluation-course-card.active-eval-card:after{content:"ACTIVO";position:absolute;top:12px;right:12px;background:#6366f1;color:#fff;font-size:9px;font-weight:900;padding:2px 8px;border-radius:6px;letter-spacing:.06em}.eval-card-icon{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#6366f11a,#0d94881a);color:#6366f1;display:flex;align-items:center;justify-content:center;font-size:22px}.eval-card-info h3{font-size:18px;font-weight:800;color:#1e293b;margin-bottom:2px}.eval-card-info p{font-size:13px;color:#64748b;font-weight:500}.eval-card-stats{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid #f1f5f9}.eval-card-badge{padding:3px 10px;background:#6366f114;color:#6366f1;border-radius:20px;font-size:11px;font-weight:800;text-transform:uppercase}@media(max-width:768px){.eval-toolbar,.eval-table-wrap{padding:16px}.eval-header{padding:20px 16px}.eval-stats-banner{padding:16px}.eval-add-form{flex-wrap:wrap}.eval-toolbar__left,.eval-toolbar__right{width:100%}}.eval-period-pill[data-period=P1]{border-color:#6366f1;color:#6366f1}.eval-period-pill[data-period=P2]{border-color:#f59e0b;color:#f59e0b}.eval-period-pill[data-period=P3]{border-color:#10b981;color:#10b981}.eval-period-pill[data-period=P4]{border-color:#ef4444;color:#ef4444}.eval-period-pill[data-period=P1].active{background:#6366f1;border-color:#6366f1;color:#fff;box-shadow:0 4px 12px #6366f159}.eval-period-pill[data-period=P2].active{background:#f59e0b;border-color:#f59e0b;color:#fff;box-shadow:0 4px 12px #f59e0b59}.eval-period-pill[data-period=P3].active{background:#10b981;border-color:#10b981;color:#fff;box-shadow:0 4px 12px #10b98159}.eval-period-pill[data-period=P4].active{background:#ef4444;border-color:#ef4444;color:#fff;box-shadow:0 4px 12px #ef444459}.eval-period-pill[data-period=P1]:hover{background:#eef2ff}.eval-period-pill[data-period=P2]:hover{background:#fffbeb}.eval-period-pill[data-period=P3]:hover{background:#ecfdf5}.eval-period-pill[data-period=P4]:hover{background:#fef2f2}.eval-table tbody tr:hover{background:transparent}.eval-table tbody td:hover{background:#f1f5f9;transition:background .12s}.grade-input-modern{display:block;margin:0 auto;text-align:center}.grades-assessment-th{cursor:default;transition:filter .15s}.grades-assessment-th:hover{filter:brightness(.93)}.eval-table td.sticky-col .cell-student-wrapper{white-space:nowrap}.rubric-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}.rubric-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#1a233280;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer}.rubric-modal-box{position:relative;width:100%;max-width:960px;max-height:90vh;overflow:hidden;background:var(--bg-elevated);border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.rubric-view{display:flex;flex-direction:column;overflow:hidden;padding:20px 24px 24px}.rubric-modal-header,.rubric-editor-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.rubric-modal-header h2,.rubric-editor-header h2{margin:0;font-size:18px;letter-spacing:.04em;color:var(--color-primary-deep);font-weight:800}.btn-icon{width:44px;height:44px;border-radius:50%;border:1px solid var(--border-strong);background:var(--color-surface-2);color:var(--text-muted);font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s,border-color .15s,background .15s;flex-shrink:0}.btn-icon:hover{color:var(--color-primary-deep);border-color:var(--color-teal);background:var(--color-teal-soft)}.rubric-title-input{flex:1;font-size:18px;font-weight:600;padding:10px 14px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--color-surface-2);color:var(--text);min-width:0}.rubric-title-input:focus{outline:none;border-color:var(--color-teal);box-shadow:var(--ring-teal)}.rubric-name-wrap{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.rubric-name-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0}.rubric-editor-actions{display:flex;align-items:center;gap:8px}.rubric-menu-wrap{position:relative}.rubric-menu-btn{padding:8px 14px;font-size:13px;cursor:pointer}.rubric-menu-dropdown{position:absolute;top:100%;right:0;margin-top:6px;min-width:200px;padding:6px 0;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:10}.rubric-menu-dropdown[hidden]{display:none!important}.rubric-menu-item{display:block;width:100%;padding:10px 16px;text-align:left;border:none;background:none;color:var(--text);font-size:13px;cursor:pointer;transition:background .12s}.rubric-menu-item:hover{background:var(--color-teal-soft)}.rubric-menu-item-danger{color:#f87171}.rubric-menu-item-danger:hover{background:#f8717133}.rubric-list{list-style:none;margin:16px 0 0;padding:0;overflow-y:auto}.rubric-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin-bottom:8px;background:var(--color-surface-2);border-radius:var(--radius-lg);border:1px solid var(--border);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.rubric-list li:hover{background:var(--color-teal-soft);border-color:#2a9d8f59;box-shadow:var(--shadow-xs)}.rubric-list li>span{display:flex;flex-direction:column;gap:2px}.rubric-list li .rubric-item-title{font-weight:600;color:var(--color-primary-deep)}.rubric-list li .rubric-item-meta{font-size:12px;color:var(--text-muted)}.rubric-list-submenu{position:fixed;z-index:110;min-width:180px;padding:6px 0;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.rubric-list-submenu[hidden]{display:none!important}.rubric-submenu-item{display:block;width:100%;padding:10px 16px;text-align:left;border:none;background:none;color:var(--text);font-size:13px;cursor:pointer;transition:background .12s}.rubric-submenu-item:hover{background:var(--color-teal-soft)}.rubric-submenu-item-danger{color:#f87171}.rubric-submenu-item-danger:hover{background:#f8717133}.rubric-table-wrap{overflow:auto;margin-top:16px;flex:1;min-height:200px}.rubric-editor-actions-bottom{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.rubric-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.rubric-table th,.rubric-table td{border:1px solid var(--border);padding:10px 12px;vertical-align:top}.rubric-table thead th{font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-primary-deep);text-align:center;background:var(--color-teal-soft)}.rubric-table thead th.rubric-th-criterion{text-align:left;min-width:140px;width:180px}.rubric-table thead th.rubric-th-level{min-width:120px}.rubric-table tbody td{background:var(--bg-elevated);color:var(--text)}.rubric-table tbody tr:hover td{background:var(--color-amber-soft)}.rubric-table .rubric-cell-criterion{font-weight:600;color:var(--text);min-height:80px;padding:10px 12px;vertical-align:top}.rubric-table .rubric-cell-criterion textarea{width:100%;min-height:60px;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--color-surface-2);color:var(--text);font-size:13px;box-sizing:border-box;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;resize:vertical;font-family:inherit}.rubric-criterion-label{white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word}.rubric-table .rubric-cell-criterion textarea:focus{outline:none;border-color:var(--color-teal);box-shadow:var(--ring-teal)}.rubric-table .rubric-cell-desc{padding:10px 12px;min-height:80px;vertical-align:top}.rubric-table .rubric-cell-desc textarea{width:100%;min-height:80px;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--color-surface-2);color:var(--text);font-size:12px;resize:vertical;font-family:inherit;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word}.rubric-table .rubric-cell-desc textarea:focus{outline:none;border-color:var(--color-teal);box-shadow:var(--ring-teal)}.rubric-table .rubric-cell-readonly{min-height:80px;padding:10px 12px;font-size:12px;color:var(--text-muted);white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;max-width:100%}.rubric-cell-selectable{cursor:pointer;border-radius:8px;transition:background-color .15s,box-shadow .15s}.rubric-cell-selectable:hover{background:#94a3b833}.rubric-cell-selected{background:#3b82f659;box-shadow:0 0 0 2px #3b82f699}.rubric-sum-display{margin-bottom:12px;display:inline-flex;align-items:center;gap:8px}.rubric-sum-casillita{display:inline-flex;align-items:center;justify-content:center;min-width:56px;height:44px;padding:0 12px;background:var(--color-teal-soft);border:2px solid var(--border-strong);border-radius:var(--radius);font-size:18px;font-weight:800;color:var(--color-primary-deep)}.rubric-sum-label{color:var(--text-muted);font-size:13px}.rubric-sum-value{color:var(--color-teal-deep);font-size:1.1em;font-weight:700}.rubric-sum-warning{margin-top:6px;padding:8px 12px;background:#fff5f5;border:1px solid rgba(197,48,48,.25);border-radius:var(--radius);color:#9b2c2c;font-size:12px;width:100%}.rubric-criterion-color{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:8px;vertical-align:middle}.rubric-level-color{display:block;height:4px;border-radius:2px;margin-bottom:6px}.rubric-btn-remove{width:26px;height:26px;border-radius:6px;border:1px solid rgba(248,113,113,.6);background:#f8717133;color:#f87171;font-size:16px;line-height:1;cursor:pointer;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.rubric-btn-remove:hover{background:#f8717166;color:#fef2f2}.rubric-value-input{width:64px;padding:4px 8px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--color-surface-2);color:var(--text);font-size:13px;text-align:center;font-weight:600}.rubric-th-value{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}#view-attendance .app-card{max-width:560px}#view-attendance .app-card label[for=attendance-course]{font-weight:600;font-size:13px;color:var(--app-muted)}#attendance-course{margin-top:8px}#attendance-course-hint{margin:12px 0 0;font-size:14px}#course-attendance-days .attendance-cell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:28px;border-radius:6px;border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text);font-weight:800;font-size:14px;cursor:pointer;outline:none;transition:all .15s ease}#course-attendance-days .attendance-cell:focus,#course-attendance-days .attendance-cell:focus-visible{border-color:var(--color-teal);box-shadow:var(--ring-teal);background:var(--color-teal-soft)}#course-attendance-days .attendance-cell[data-status=P]{color:#16a34a!important;background-color:#f0fdf4!important;border-color:#bbf7d0!important}#course-attendance-days .attendance-cell[data-status=A]{color:#dc2626!important;background-color:#fef2f2!important;border-color:#fecaca!important}#course-attendance-days .attendance-cell[data-status=E]{color:#ca8a04!important;background-color:#fef9c3!important;border-color:#fef08a!important}#course-attendance-days .attendance-cell[data-status=T]{color:#d97706!important;background-color:#fffbeb!important;border-color:#fde68a!important}#course-attendance-days .attendance-cell[data-status=R]{color:#7c3aed!important;background-color:#f5f3ff!important;border-color:#e9d5ff!important}#course-attendance-days .attendance-cell.attendance-cell--locked{cursor:not-allowed;background:#f8fafc;border:1px solid #e2e8f0;font-size:14px}#course-attendance-days .attendance-cell.attendance-cell--locked:not([data-status=P]):not([data-status=A]):not([data-status=E]):not([data-status=T]):not([data-status=R]){color:#64748b}.attendance-lock-mini{position:absolute;top:2px;right:2px;pointer-events:none;opacity:.65;color:#94a3b8;display:flex;align-items:center;justify-content:center}.att-note-ico{position:absolute;bottom:-2px;right:1px;font-size:9px;pointer-events:none;line-height:1}#course-attendance-days .attendance-cell.attendance-cell--nl{cursor:default;background:#e2e8f0;border-style:solid;border-color:#cbd5e1;color:#475569;font-size:10px;font-weight:800;letter-spacing:.04em}.pct-cell{font-weight:700;text-align:center}.pct-90{color:#60a5fa}.pct-80{color:#4ade80}.pct-70{color:#facc15}.pct-0{color:#f97373}#view-course-detail .attendance-month-strip{border:1px solid var(--border);border-radius:12px;background:#fff;padding:10px 12px}#view-course-detail .attendance-month-strip__label{font-size:12px;color:var(--text-muted);font-weight:800;letter-spacing:.08em}#view-course-detail .attendance-month-pill{border:1px solid var(--border-strong);background:#fffffffa;color:var(--text);font-weight:700}#view-course-detail .attendance-month-pill:hover{border-color:color-mix(in srgb,var(--color-primary) 38%,var(--border-strong));background:var(--color-teal-soft);color:var(--color-primary-deep)}#view-course-detail #course-attendance-days>h3{color:var(--color-primary-deep)!important;text-transform:none!important;letter-spacing:.02em!important;font-size:15px!important}#view-course-detail .attendance-student-card{border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:var(--shadow-xs)}.att-ratif-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 16px;border-radius:10px;font-size:13px}.att-ratif-banner--pending{background:#eab3081a;border:1px solid rgba(234,179,8,.4);color:#92400e}.att-ratif-banner--done{background:#22c55e14;border:1px solid rgba(34,197,94,.3);color:#166534}@media(max-width:640px){#view-attendance header.app-page-header{padding:14px 16px!important;gap:10px!important}#view-attendance header h2{font-size:16px!important}#view-attendance .app-lead{font-size:12px!important}#view-attendance .u-p-20{padding:12px!important}.attendance-card{flex-direction:row!important;align-items:center!important;padding:14px 16px!important;gap:12px!important;border-radius:16px!important}.attendance-card:hover{transform:none!important}.attendance-card__icon{width:40px!important;height:40px!important;border-radius:12px!important;flex-shrink:0!important}.attendance-card__content{flex:1!important;min-width:0!important}.attendance-card__name{font-size:15px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attendance-card__meta{font-size:12px!important;margin-top:2px!important}.attendance-card__action{margin-top:0!important;flex-shrink:0}#course-attendance-days table{display:none!important}#att-mobile-list{display:flex!important}.att-mobile-btn{min-width:52px!important;min-height:48px!important;font-size:16px!important;font-weight:800!important}}.attendance-popover{position:absolute;z-index:9999;display:none;gap:8px;padding:6px 8px;background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(226,232,240,.9);border-radius:30px;box-shadow:0 10px 25px -5px #0f172a26,0 8px 10px -6px #0f172a26;transition:opacity .15s ease,transform .15s ease;pointer-events:auto}.attendance-popover.popover-right{transform:translateY(-50%) translate(10px)}.attendance-popover.popover-right:after{content:"";position:absolute;top:50%;left:-6px;transform:translateY(-50%);border-width:6px 6px 6px 0;border-style:solid;border-color:transparent rgba(255,255,255,.95) transparent transparent;display:block;width:0}.attendance-popover.popover-left{transform:translateY(-50%) translate(-10px)}.attendance-popover.popover-left:after{content:"";position:absolute;top:50%;right:-6px;transform:translateY(-50%);border-width:6px 0 6px 6px;border-style:solid;border-color:transparent transparent transparent rgba(255,255,255,.95);display:block;width:0}.att-popover-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:none;font-size:14px;font-weight:800;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);outline:none;background:#f8fafc;color:#64748b;box-shadow:0 2px 4px #0000000d}.att-popover-btn:hover{transform:scale(1.15)}.att-popover-btn--p{color:#16a34a;background:#f0fdf4;border:1.5px solid #bbf7d0}.att-popover-btn--p:hover{background:#22c55e;color:#fff;border-color:#22c55e;box-shadow:0 4px 12px #22c55e59}.att-popover-btn--a{color:#dc2626;background:#fef2f2;border:1.5px solid #fecaca}.att-popover-btn--a:hover{background:#ef4444;color:#fff;border-color:#ef4444;box-shadow:0 4px 12px #ef444459}.att-popover-btn--e{color:#d97706;background:#fffbeb;border:1.5px solid #fef3c7}.att-popover-btn--e:hover{background:#f59e0b;color:#fff;border-color:#f59e0b;box-shadow:0 4px 12px #f59e0b59}.att-popover-btn--t{color:#b45309;background:#fffbeb;border:1.5px solid #fde68a}.att-popover-btn--t:hover{background:#d97706;color:#fff;border-color:#d97706;box-shadow:0 4px 12px #d9770659}.att-popover-btn--r{color:#6d28d9;background:#f5f3ff;border:1.5px solid #ddd6fe}.att-popover-btn--r:hover{background:#8b5cf6;color:#fff;border-color:#8b5cf6;box-shadow:0 4px 12px #8b5cf659}.att-popover-btn--clear{color:#475569;background:#f1f5f9;border:1.5px solid #cbd5e1;font-size:11px}.att-popover-btn--clear:hover{background:#64748b;color:#fff;border-color:#64748b;box-shadow:0 4px 12px #64748b59}#course-attendance-days .attendance-cell.attendance-cell--active{outline:none!important;border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f673!important;transform:scale(1.08);z-index:5}.attendance-popover.popover-right{opacity:0;transform:translateY(-50%) translate(2px) scale(.95)}.attendance-popover.popover-right.is-showing{display:flex!important;opacity:1;transform:translateY(-50%) translate(10px) scale(1)!important}.attendance-popover.popover-left{opacity:0;transform:translateY(-50%) translate(-2px) scale(.95)}.attendance-popover.popover-left.is-showing{display:flex!important;opacity:1;transform:translateY(-50%) translate(-10px) scale(1)!important}.btn-terminar-floating{position:fixed!important;bottom:24px!important;left:50%!important;transform:translate(-50%) translateY(0)!important;z-index:999;background:linear-gradient(135deg,#3b82f6,#1d4ed8)!important;color:#fff!important;border:none!important;border-radius:30px!important;padding:14px 28px!important;font-size:14px!important;font-weight:800!important;letter-spacing:.03em!important;text-transform:uppercase!important;box-shadow:0 8px 30px #3b82f666,0 4px 10px #0000001a!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;gap:8px!important;transform:translate(-50%) translateY(24px)!important;opacity:0!important;pointer-events:none!important;transition:all .3s cubic-bezier(.34,1.56,.64,1)!important}.btn-terminar-floating.is-visible{transform:translate(-50%) translateY(0)!important;opacity:1!important;pointer-events:auto!important}.btn-terminar-floating.is-visible:hover{background:linear-gradient(135deg,#2563eb,#1e40af)!important;transform:translate(-50%) translateY(-3px)!important;box-shadow:0 12px 35px #3b82f68c,0 6px 15px #0000001f!important}.btn-terminar-floating.is-visible:active{transform:translate(-50%) translateY(-1px)!important;box-shadow:0 6px 20px #3b82f64d,0 2px 5px #0000001a!important}#view-instrumentos{background:#f8fafc;min-height:100%;animation:fadeInInstrum .4s cubic-bezier(.16,1,.3,1)}@keyframes fadeInInstrum{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.instrum-root{max-width:1240px;margin:0 auto}.instrum-header-bar{display:flex;align-items:center;justify-content:space-between;padding:28px 32px 24px;background:#fff;border-bottom:1px solid #f1f5f9;gap:16px}.instrum-header-bar__left{display:flex;align-items:center;gap:16px}.instrum-header-bar__icon{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#0d9488,#6366f1);display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0;box-shadow:0 8px 20px #0d948840}.instrum-header-bar__title{font-size:26px;font-weight:900;color:#0f172a;letter-spacing:-.03em;margin:0 0 2px}.instrum-header-bar__sub{font-size:13px;color:#64748b;font-weight:600;margin:0}.instrum-header-bar__close{width:38px;height:38px;border-radius:12px;background:#f1f5f9;border:1px solid #e2e8f0;color:#64748b;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.instrum-header-bar__close:hover{background:#fee2e2;color:#ef4444;border-color:#fca5a5}.instrum-tabs{display:flex;gap:6px;padding:16px 32px;background:#fff;border-bottom:1px solid #f1f5f9;position:relative;z-index:10}.instrum-tab{display:flex;align-items:center;gap:8px;padding:9px 18px;border-radius:20px;border:1.5px solid #e2e8f0;background:#fff;color:#64748b;font-size:13px;font-weight:700;cursor:pointer;transition:all .18s;font-family:inherit;letter-spacing:.01em}.instrum-tab:hover{border-color:#0d9488;color:#0d9488;background:#f0fdfa}.instrum-tab.is-active{background:linear-gradient(135deg,#0d9488,#6366f1);border-color:#0d9488;color:#fff;box-shadow:0 4px 12px #0d94884d}.instrum-panel{display:none;padding:28px 32px}.instrum-panel.is-active{display:block}.instrum-biblioteca-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.instrum-biblioteca-count{font-size:12px;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em}.instrum-btn-new{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:12px;background:linear-gradient(135deg,#0d9488,#6366f1);color:#fff;border:none;font-size:13px;font-weight:800;cursor:pointer;font-family:inherit;transition:all .2s;box-shadow:0 4px 12px #0d948840}.instrum-btn-new:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0d948859}.instrum-btn-save{padding:9px 20px;border-radius:10px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;font-size:13px;font-weight:800;cursor:pointer;font-family:inherit;transition:all .2s;box-shadow:0 4px 12px #6366f140}.instrum-btn-save:hover{transform:translateY(-1px)}.instrum-btn-cancel{padding:9px 18px;border-radius:10px;background:#fff;color:#64748b;border:1.5px solid #e2e8f0;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .2s}.instrum-btn-cancel:hover{border-color:#64748b;color:#1e293b}.instrum-btn-back--panel{padding:7px 16px;border-radius:10px;background:#fff;color:#64748b;border:1.5px solid #e2e8f0;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .2s}.instrum-btn-back--panel:hover{border-color:#64748b}.instrum-btn-add-criterio{padding:6px 14px;border-radius:8px;background:#f1f5f9;color:#6366f1;border:1.5px solid #e2e8f0;font-size:12px;font-weight:800;cursor:pointer;font-family:inherit;transition:all .2s}.instrum-btn-add-criterio:hover{background:#eef2ff;border-color:#c7d2fe}.instrum-biblioteca-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.instrum-card{background:#fff;border-radius:20px;border:1.5px solid #f1f5f9;padding:20px;cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;box-shadow:0 4px 16px #0000000a}.instrum-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#0d9488,#6366f1)}.instrum-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px #0d948826;border-color:#99f6e4}.instrum-card-ico{font-size:28px}.instrum-card-tipo{display:inline-block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;padding:3px 10px;border-radius:20px;width:fit-content}.instrum-card-tipo--rubrica{background:#6366f11a;color:#4f46e5}.instrum-card-tipo--cotejo{background:#10b9811a;color:#065f46}.instrum-card-tipo--escala{background:#f59e0b1a;color:#92400e}.instrum-card-tipo--estimativa{background:#ec48991a;color:#9d174d}.instrum-card-name{font-size:15px;font-weight:800;color:#1e293b;margin:0;line-height:1.3}.instrum-card-meta{font-size:12px;color:#94a3b8;font-weight:600}.instrum-card-actions{display:flex;gap:6px;padding-top:10px;border-top:1px solid #f1f5f9}.instrum-card-actions .btn{flex:1;font-size:12px;padding:6px 10px;border-radius:8px}.instrum-empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:64px 20px;background:#fff;border-radius:24px;border:2px dashed #e2e8f0}.instrum-empty-ico{font-size:56px;margin-bottom:16px;opacity:.4}.instrum-empty-title{font-size:18px;font-weight:800;color:#1e293b;margin:0 0 8px}.instrum-empty-sub{font-size:14px;color:#64748b;margin:0 0 24px;max-width:360px;line-height:1.6}.instrum-panel-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.instrum-panel-title{font-size:18px;font-weight:900;color:#0f172a;margin:0}.instrum-form-card{background:#fff;border-radius:20px;border:1px solid #f1f5f9;padding:24px;box-shadow:0 4px 24px #0000000d}.instrum-form-row{display:flex;gap:16px}.instrum-form-row--2col>*{flex:1;min-width:0}.instrum-form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.instrum-label{font-size:13px;font-weight:700;color:#1e293b}.instrum-required{color:#ef4444}.instrum-input{padding:10px 14px;border:1.5px solid #e2e8f0;border-radius:10px;background:#f8fafc;font-size:14px;color:#1e293b;font-family:inherit;font-weight:600;transition:border-color .18s,box-shadow .18s;outline:none}.instrum-input:focus{border-color:#6366f1;background:#fff;box-shadow:0 0 0 3px #6366f11a}.instrum-criterios-wrap{margin-bottom:16px}.instrum-criterios-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.instrum-section-title{font-size:14px;font-weight:800;color:#1e293b;margin:0}.instrum-tipo-hint{font-size:12px;color:#64748b;background:#f8fafc;border-radius:10px;padding:10px 14px;margin-bottom:12px;border:1px solid #f1f5f9}.instrum-criterios-list{display:flex;flex-direction:column;gap:10px;max-height:44vh;overflow-y:auto;padding-right:4px}.instrum-criterio-row{display:grid;grid-template-columns:1fr auto 34px;gap:10px;align-items:start;background:#f8fafc;border:1.5px solid #f1f5f9;border-radius:12px;padding:14px;transition:border-color .15s}.instrum-criterio-row:focus-within{border-color:#6366f1}.instrum-criterio-main{display:flex;flex-direction:column;gap:8px}.instrum-criterio-remove{background:transparent;border:1.5px solid #e2e8f0;border-radius:8px;width:32px;height:32px;cursor:pointer;color:#94a3b8;display:flex;align-items:center;justify-content:center;font-size:15px;transition:all .15s}.instrum-criterio-remove:hover{border-color:#ef4444;color:#ef4444;background:#ef44440f}.instrum-criterio-levels{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.instrum-criterio-levels label{display:flex;flex-direction:column;font-size:10px;font-weight:700;color:#94a3b8;gap:4px;text-transform:uppercase;letter-spacing:.04em}.instrum-criterio-levels input[type=text]{padding:6px 8px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:12px;background:#fff;width:100%;font-family:inherit;outline:none;transition:border-color .15s}.instrum-criterio-levels input[type=text]:focus{border-color:#6366f1}.instrum-peso-total-wrap{text-align:right;font-size:12px;color:#64748b;margin-top:10px;font-weight:600}.instrum-peso-warn{color:#ef4444;margin-left:8px;font-weight:700}.instrum-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #f1f5f9}.instrum-form-actions--left{justify-content:flex-start}.instrum-aplicar-config{background:#fff;border:1px solid #f1f5f9;border-radius:20px;padding:24px;box-shadow:0 4px 16px #0000000a;margin-bottom:24px;display:flex;flex-direction:column;gap:16px}.instrum-tabla-wrap{margin-top:4px}.instrum-tabla-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.instrum-tabla-scroll{overflow-x:auto;border-radius:16px;border:1px solid #f1f5f9;box-shadow:0 4px 16px #0000000a;max-height:52vh}.instrum-tabla{width:100%;border-collapse:collapse;font-size:13px;background:#fff}.instrum-tabla thead th{background:#f8fafc;padding:12px 14px;font-weight:800;font-size:11px;text-align:left;border-bottom:2px solid #f1f5f9;white-space:nowrap;position:sticky;top:0;z-index:2;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.instrum-tabla thead th:first-child{position:sticky;left:0;z-index:3;background:#f8fafc}.instrum-tabla tbody tr{transition:background .12s}.instrum-tabla tbody tr:hover{background:#f8fafc}.instrum-tabla tbody td{padding:10px 14px;border-bottom:1px solid #f8fafc;vertical-align:middle;color:#1e293b;font-weight:600}.instrum-tabla tbody td:first-child{font-weight:800;position:sticky;left:0;background:#fff;z-index:1;border-right:1px solid #f1f5f9}.instrum-tabla tr:hover td:first-child{background:#f8fafc}.instrum-tabla select,.instrum-tabla input[type=number]{padding:6px 8px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:12px;background:#f8fafc;font-family:inherit;outline:none;transition:border-color .15s}.instrum-tabla select:focus,.instrum-tabla input[type=number]:focus{border-color:#6366f1;background:#fff}.instrum-tabla select{width:100%;min-width:110px}.instrum-tabla input[type=number]{width:64px}.instrum-tabla td.instrum-td-total{font-weight:900;color:#6366f1}.instrum-tabla-totals{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.instrum-total-badge{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:700;background:#fff;border:1.5px solid #f1f5f9;box-shadow:0 2px 8px #0000000a}@media(max-width:768px){.instrum-header-bar{padding:20px 16px}.instrum-tabs{padding:12px 16px}.instrum-panel{padding:20px 16px}.instrum-form-row--2col{flex-direction:column}}.instrum-form-section{margin-bottom:24px}.instrum-form-section-label{font-size:12px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.07em;margin-bottom:12px}.instrum-nombre-full{width:100%;box-sizing:border-box;font-size:15px;padding:12px 16px}.instrum-tipo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media(max-width:768px){.instrum-tipo-grid{grid-template-columns:repeat(2,1fr)}}.instrum-tipo-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;border-radius:16px;border:2px solid #e2e8f0;background:#f8fafc;cursor:pointer;transition:all .18s ease;text-align:center;font-family:inherit}.instrum-tipo-card:hover{border-color:#6366f1;background:#eef2ff;transform:translateY(-3px);box-shadow:0 6px 18px #6366f126}.instrum-tipo-card.active{border-color:#6366f1;background:linear-gradient(135deg,#eef2ff,#f0fdf9);box-shadow:0 0 0 3px #6366f12e,0 6px 18px #6366f11f}.instrum-tipo-card-ico{font-size:28px}.instrum-tipo-card-name{font-size:13px;font-weight:800;color:#1e293b;line-height:1.2}.instrum-tipo-card.active .instrum-tipo-card-name{color:#4338ca}.instrum-tipo-card-desc{font-size:10px;color:#94a3b8;line-height:1.4}.instrum-criterios-section{border-top:1px solid #f1f5f9;padding-top:20px;margin-top:4px;animation:fadeInInstrum .25s ease}.instrum-clase-wrap{display:none;margin-bottom:20px}.instrum-clase-wrap.visible{display:block}.instrum-clase-grid{display:flex;flex-wrap:wrap;gap:10px}.instrum-clase-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;border-radius:14px;border:2px solid #e2e8f0;background:#f8fafc;cursor:pointer;transition:all .18s ease;min-width:110px;flex:1;text-align:center}.instrum-clase-card:hover{border-color:#6366f1;background:#eef2ff;transform:translateY(-2px);box-shadow:0 4px 14px #6366f126}.instrum-clase-card.active{border-color:#6366f1;background:#eef2ff;box-shadow:0 0 0 3px #6366f133}.instrum-clase-ico{font-size:22px}.instrum-clase-name{font-size:12px;font-weight:800;color:#1e293b}.instrum-clase-desc{font-size:10px;color:#64748b;line-height:1.3}.instrum-clase-card.active .instrum-clase-name{color:#4338ca}.instrum-card-clase{display:inline-block;font-size:10px;font-weight:700;background:#eef2ff;color:#4338ca;border-radius:6px;padding:2px 8px;margin-top:2px}.instrum-matrix-eval{display:grid;grid-template-columns:240px 1fr;gap:32px;margin-top:20px;background:#fff;border-radius:24px;padding:24px;border:1px solid #f1f5f9;box-shadow:0 10px 30px #0000000d;min-height:500px}@media(max-width:900px){.instrum-matrix-eval{grid-template-columns:1fr}}.instrum-student-list{display:flex;flex-direction:column;gap:8px;border-right:1.5px solid #f1f5f9;padding-right:16px;max-height:600px;overflow-y:auto}.instrum-student-item{padding:12px 16px;border-radius:14px;border:1.5px solid #f1f5f9;background:#f8fafc;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .2s}.instrum-student-item:hover{border-color:#6366f1;background:#f1f5f9}.instrum-student-item.is-active{background:#eef2ff;border-color:#6366f1;box-shadow:0 4px 12px #6366f126}.instrum-student-name{font-size:14px;font-weight:800;color:#1e293b}.instrum-student-score{font-size:11px;font-weight:900;color:#6366f1;background:#fff;padding:2px 8px;border-radius:10px}.instrum-student-number{font-size:10px;font-weight:900;color:#64748b;width:24px;height:24px;background:#e2e8f0;border-radius:6px;display:flex;align-items:center;justify-content:center;margin-right:10px;flex-shrink:0}.instrum-student-item.is-active .instrum-student-number{background:#6366f1;color:#fff}.instrum-rubric-eval-area{display:flex;flex-direction:column;gap:20px}.instrum-rubric-matrix{width:100%;border-collapse:separate;border-spacing:6px;table-layout:fixed}.instrum-rubric-matrix th{padding:14px;border-radius:12px;font-size:13px;font-weight:800;text-align:center;color:#1e293b;border:1.5px solid #f1f5f9}.instrum-level-col-0{background:#dcfce7;color:#166534;border-color:#bbf7d0!important}.instrum-level-col-1{background:#fef9c3;color:#854d0e;border-color:#fef08a!important}.instrum-level-col-2{background:#ffedd5;color:#9a3412;border-color:#fed7aa!important}.instrum-level-col-3{background:#fee2e2;color:#991b1b;border-color:#fecaca!important}.instrum-rubric-row{background:#fff}.instrum-rubric-crit-cell{background:#f8fafc;padding:16px;border-radius:12px;border:1.5px solid #f1f5f9;width:220px}.instrum-rubric-crit-name{font-size:15px;font-weight:800;color:#1e293b;display:block;margin-bottom:6px}.instrum-rubric-crit-peso{font-size:12px;font-weight:700;color:#64748b}.instrum-rubric-cell{padding:16px;border-radius:12px;border:2px solid #f1f5f9;cursor:pointer;font-size:13px;line-height:1.5;color:#334155;font-weight:500;transition:all .2s;height:100%;vertical-align:top;background:#fff}.instrum-rubric-cell:hover{border-color:#6366f1;background:#f8fafc;transform:scale(1.02);z-index:10;position:relative}.instrum-rubric-cell.is-selected{border-color:#6366f1;background:#eef2ff;color:#4338ca;box-shadow:0 4px 12px #6366f11a;font-weight:600}.instrum-rubric-cell.is-selected.is-cotejo-si{border-color:#10b981;background:#ecfdf5;color:#065f46}.instrum-rubric-cell.is-selected.is-cotejo-no{border-color:#ef4444;background:#fef2f2;color:#991b1b}.instrum-matrix-student-nav{display:flex;align-items:center;justify-content:center;gap:60px;margin-bottom:24px;padding:20px;background:#f8fafc;border-radius:20px;border:1.5px solid #f1f5f9;box-shadow:inset 0 2px 10px #00000005}.instrum-matrix-nav-btn{width:48px;height:48px;border-radius:50%;border:2px solid #e2e8f0;background:#fff;color:#6366f1;font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 12px #0000000f;outline:none}.instrum-matrix-nav-btn:hover{background:#6366f1;color:#fff;border-color:#6366f1;transform:scale(1.15);box-shadow:0 8px 20px #6366f140}.instrum-matrix-nav-btn:active{transform:scale(.95)}.instrum-matrix-student-info{text-align:center;min-width:300px}.instrum-matrix-eval-label{font-size:11px;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;display:block;margin-bottom:6px}.instrum-matrix-student-name{font-size:24px;font-weight:900;color:#0f172a;margin:0;letter-spacing:-.02em}.instrum-applied-summary{display:flex;align-items:center;gap:20px;padding:24px;background:linear-gradient(135deg,#fff,#f1f5f9);border:2px solid #e2e8f0;border-radius:24px;margin-bottom:32px;box-shadow:0 10px 25px #0000000a;position:relative;overflow:hidden}.instrum-applied-summary:after{content:"Instrumento Seleccionado";position:absolute;top:10px;right:14px;font-size:9px;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em}.instrum-applied-ico{width:64px;height:64px;background:#fff;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:32px;box-shadow:0 4px 12px #0000000d}.instrum-applied-details{flex:1}.instrum-applied-tag{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:4px 12px;border-radius:20px;display:inline-block}.instrum-applied-name{margin:8px 0 0;font-size:22px;font-weight:900;color:#0f172a;letter-spacing:-.02em}.instrum-applied-tag--rubrica{background:#6366f11a;color:#4f46e5}.instrum-applied-tag--cotejo{background:#10b9811a;color:#065f46}.instrum-applied-tag--escala{background:#f59e0b1a;color:#92400e}.instrum-applied-tag--estimativa{background:#ec48991a;color:#9d174d}.formativa-header-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 14px;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);min-width:110px;-webkit-user-select:none;user-select:none;box-shadow:0 2px 5px #00000005}.formativa-header-btn:hover{background:#f8fafc;border-color:#3b82f6;box-shadow:0 6px 15px #3b82f614;transform:translateY(-2px)}.formativa-header-label{font-size:10px;font-weight:800;color:#1e293b;text-transform:uppercase;letter-spacing:.08em;line-height:1.2}.formativa-header-sub{font-size:9px;color:#94a3b8;font-weight:600;margin-top:4px}.rubric-btn{border-color:#6366f140;background:#6366f105}.rubric-btn:hover{border-color:#6366f1;background:#fff;box-shadow:0 6px 15px #6366f11f}.formativa-header-edit-ico{font-size:9px;font-weight:800;color:#6366f1;margin-top:4px;display:flex;align-items:center;gap:4px;text-transform:uppercase}.formativa-header-clickable{padding:8px 4px!important}.formativa-header-clickable:hover{background:transparent!important}.instrum-structure-card{display:flex;gap:32px;align-items:stretch;flex-wrap:wrap;background:#f8fafc;padding:24px;border-radius:20px;border:1.5px solid #e2e8f0;margin-top:8px}@media(max-width:768px){.instrum-structure-card{flex-direction:column;gap:20px}}.instrum-structure-controls{display:flex;gap:24px;flex:1}.instrum-stepper-group{flex:1;min-width:140px}.instrum-stepper-label{display:block;font-size:11px;font-weight:800;color:#64748b;margin-bottom:10px;text-transform:uppercase;letter-spacing:.08em}.instrum-stepper{display:flex;align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:14px;overflow:hidden;height:48px;transition:border-color .2s,box-shadow .2s}.instrum-stepper:focus-within{border-color:#6366f1;box-shadow:0 0 0 4px #6366f11a}.instrum-stepper-btn{width:44px;height:100%;border:none;background:#f8fafc;color:#475569;font-size:18px;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.instrum-stepper-btn:hover{background:#eef2ff;color:#6366f1}.instrum-stepper-btn:active{background:#e0e7ff}.instrum-stepper-input{flex:1;border:none;text-align:center;font-size:16px;font-weight:800;color:#1e293b;width:100%;background:#fff;outline:none;-moz-appearance:textfield}.instrum-stepper-input::-webkit-outer-spin-button,.instrum-stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.instrum-structure-ai{flex:1;display:flex;flex-direction:column;justify-content:center;gap:12px;border-left:2px dashed #e2e8f0;padding-left:32px}@media(max-width:768px){.instrum-structure-ai{border-left:none;border-top:2px dashed #e2e8f0;padding-left:0;padding-top:20px}}.instrum-structure-hint{font-size:12px;color:#64748b;margin:0;font-weight:600}.instrum-btn-ia-premium{background:linear-gradient(135deg,#8b5cf6,#6366f1,#0ea5e9);background-size:200% 200%;animation:iaGradientShift 4s ease infinite;color:#fff;border:none;border-radius:14px;padding:12px 24px;font-size:14px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 8px 24px #6366f14d}@keyframes iaGradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.instrum-btn-ia-premium:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 12px 32px #6366f173}.instrum-btn-ia-premium:active{transform:translateY(0) scale(.98)}.instrum-btn-ia-premium:disabled{background:#cbd5e1;animation:none;box-shadow:none;cursor:not-allowed}.instrum-nivel-label{display:flex;flex-direction:column;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:10px;transition:all .2s;cursor:text}.instrum-nivel-label:focus-within{border-color:#6366f1;background:#f8fafc}.instrum-nivel-label--num{align-items:center;text-align:center}.instrum-nivel-num-badge{background:#6366f1;color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;margin-bottom:4px}.instrum-context-card{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;background:#fff;padding:20px;border-radius:20px;border:1.5px solid #f1f5f9;box-shadow:0 4px 12px #00000008}.instrum-value-input-wrap{position:relative;display:flex;align-items:center}.instrum-value-suffix{position:absolute;right:12px;font-size:11px;font-weight:800;color:#94a3b8;text-transform:uppercase;pointer-events:none}.instrum-value-input-wrap .instrum-input{padding-right:40px}.instrum-unified-card{background:#fff;border:1.5px solid #f1f5f9;border-radius:20px;padding:16px 20px;box-shadow:0 4px 12px #00000008;display:flex;flex-direction:column;gap:12px}.instrum-unified-row{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.instrum-unified-divider{height:1.5px;background:#f1f5f9;margin:4px 0}.instrum-compact-label{font-size:10px;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;display:block}.instrum-input--compact{height:40px!important;font-size:13px!important;padding:8px 12px!important}.instrum-stepper--compact{height:40px!important}.instrum-stepper--compact .instrum-stepper-btn{width:36px!important;font-size:16px!important}.instrum-stepper--compact .instrum-stepper-input{font-size:14px!important}.instrum-unified-ai{flex:1.5;display:flex;justify-content:flex-end}.instrum-btn-ia-premium--compact{padding:8px 20px!important;font-size:13px!important;border-radius:12px!important;height:40px!important;width:100%;max-width:240px}#report-director-readonly-banner{margin-bottom:12px;border:1px solid rgba(37,99,235,.28);background:#dbeafe80;color:#1e3a8a}#view-placeholder>.student-tabs{margin-bottom:10px}#report-panel-individual{padding:14px}#report-panel-individual #report-individual-auto+div{margin-top:12px}#report-individual-observation{min-height:100px;width:100%}#report-panel-individual>.actions{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}#report-panel-general{padding:18px}#report-panel-general>div:first-child{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}#report-panel-general label[for=report-general-student-select]+div{display:flex;gap:8px}#report-general-student-select{flex:1}#report-general-selected-list,#report-general-auto{margin-top:12px}#report-general-observation{width:100%;min-height:180px;resize:vertical}#report-panel-general #report-general-auto+div{margin-top:12px}#report-panel-general label[for=report-general-observation]{display:block}#report-panel-general>.actions{margin-top:18px;display:flex;gap:18px;flex-wrap:wrap}.rpt-tab-wrap{display:flex;gap:12px;margin-bottom:35px}.report-tab{display:flex;align-items:center;gap:14px;padding:14px 24px;border-radius:18px;border:2px solid #e2e8f0;background:#fff;cursor:pointer;transition:all .2s ease;font-family:inherit;text-align:left;box-shadow:0 2px 8px #0000000a}.report-tab:hover{border-color:#6366f1;background:#f5f3ff;transform:translateY(-2px);box-shadow:0 8px 20px #6366f126}.rpt-tab-ico{font-size:28px;flex-shrink:0;line-height:1}.rpt-tab-body{display:flex;flex-direction:column;gap:3px}.rpt-tab-name{font-size:14px;font-weight:800;color:#1e293b;line-height:1}.rpt-tab-desc{font-size:11px;font-weight:500;color:#94a3b8;line-height:1}.report-tab.active{border-color:#6366f1;background:linear-gradient(135deg,#eef2ff,#f5f3ff);box-shadow:0 6px 18px #6366f133}.report-tab.active .rpt-tab-name{color:#4338ca}.report-tab.active .rpt-tab-desc{color:#818cf8}.report-tab:hover .rpt-tab-name{color:#4338ca}.report-tab:hover .rpt-tab-desc{color:#818cf8}#view-supervision{background:#f1f5f9;min-height:100vh;padding:60px 20px}.supervision-floating-container{max-width:760px;margin:0 auto;background:#fff;border-radius:32px;border:1px solid transparent;background-image:linear-gradient(#fff,#fff),linear-gradient(135deg,#e2e8f0,#cbd5e1,#e2e8f0);background-origin:border-box;background-clip:padding-box,border-box;box-shadow:0 25px 50px -12px #00000014,0 10px 15px -10px #0000000d;padding:48px;position:relative}.supervision-card-header{text-align:center;margin-bottom:48px}.supervision-card-title{font-family:Outfit,sans-serif;font-size:34px;font-weight:950;color:#0f172a;letter-spacing:-.04em;margin-bottom:8px}.supervision-card-subtitle{font-size:15px;color:#64748b;font-weight:500;max-width:440px;margin:0 auto}.supervision-selector-box{display:flex;flex-direction:column;gap:28px;margin-bottom:48px}.supervision-input-group{display:flex;flex-direction:column;gap:8px}.supervision-input-label{font-size:11px;font-weight:850;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;padding-left:4px}.supervision-input-select{width:100%;height:56px;border-radius:16px;border:2px solid #e2e8f0;background:#f8fafc;font-size:15px;font-weight:800;color:#1e293b;padding:0 48px 0 20px;outline:none;transition:all .25s cubic-bezier(.4,0,.2,1);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;box-shadow:inset 0 2px 4px #00000005}.supervision-input-select:hover{border-color:#cbd5e1;background:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #00000008,inset 0 2px 4px #00000005}.supervision-input-select:focus{border-color:#6366f1;background:#fff;box-shadow:0 0 0 4px #6366f126}.supervision-input-select:disabled{background-color:#f1f5f9;color:#475569!important;border-color:#e2e8f0;cursor:not-allowed;opacity:.8;-webkit-text-fill-color:#475569}#supervision-readonly-panel{border-top:1.5px solid #f1f5f9;padding-top:48px;margin-top:24px}.supervision-placeholder-centered{text-align:center;padding:24px}.supervision-placeholder-centered i{font-size:48px;margin-bottom:16px;display:block;opacity:.8}.supervision-placeholder-centered h4{font-family:Outfit,sans-serif;font-size:20px;font-weight:800;color:#334155;margin-bottom:8px}.supervision-placeholder-centered p{font-size:14px;color:#64748b;line-height:1.6;max-width:380px;margin:0 auto}.supervision-close-btn{position:absolute;top:24px;right:24px;width:40px;height:40px;border-radius:12px;background:#fff;border:1.5px solid #e2e8f0;color:#64748b;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;transition:all .2s;z-index:10}.supervision-close-btn:hover{background:#0f172a;color:#fff;border-color:#0f172a;transform:rotate(90deg)}.obs-root{padding:32px;max-width:1200px;margin:0 auto;font-family:Inter,sans-serif}.obs-header{display:flex;align-items:center;gap:16px;margin-bottom:28px}.obs-header-icon{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#6366f1,#0d9488);display:flex;align-items:center;justify-content:center;font-size:26px;box-shadow:0 8px 20px #6366f140}.obs-header-title{font-size:26px;font-weight:900;color:#0f172a;letter-spacing:-.03em;margin:0 0 2px}.obs-header-sub{font-size:13px;color:#64748b;margin:0;font-weight:600}.obs-layout{display:grid;grid-template-columns:300px 1fr;gap:24px;align-items:start}.obs-sidebar{background:#fff;border-radius:20px;border:1px solid #f1f5f9;padding:20px;box-shadow:0 4px 16px #0000000a;position:sticky;top:20px}.obs-sidebar-label{font-size:11px;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.07em;margin-bottom:14px}.obs-staff-list{display:flex;flex-direction:column;gap:8px}.obs-staff-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;border:1.5px solid #f1f5f9;cursor:pointer;transition:all .18s}.obs-staff-item:hover{border-color:#6366f1;background:#f8f7ff}.obs-staff-item.active{border-color:#6366f1;background:#eef2ff;box-shadow:0 0 0 3px #6366f11f}.obs-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:15px;flex-shrink:0}.obs-staff-name{font-size:13px;font-weight:700;color:#1e293b}.obs-staff-role{font-size:11px;color:#94a3b8}.obs-empty-state{padding:60px 20px;text-align:center;background:#f8fafc;border:2px dashed #e2e8f0;border-radius:20px}.obs-empty-ico{font-size:48px;margin-bottom:14px;opacity:.4}.obs-empty-text{font-size:15px;color:#64748b;line-height:1.6;margin:0}.obs-loading{padding:40px;text-align:center;color:#64748b;font-size:14px}.obs-muted{color:#94a3b8;font-size:13px;text-align:center;padding:16px}.obs-main{min-height:300px}.obs-detail-root{display:flex;flex-direction:column;gap:20px}.obs-detail-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.obs-detail-name{font-size:22px;font-weight:900;color:#0f172a;margin:0 0 4px}.obs-detail-sub{font-size:13px;color:#64748b;margin:0}.obs-btn-nueva{padding:10px 20px;border-radius:12px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;font-size:13px;font-weight:800;cursor:pointer;font-family:inherit;transition:all .2s;box-shadow:0 4px 12px #6366f14d;white-space:nowrap;flex-shrink:0}.obs-btn-nueva:hover{transform:translateY(-1px);box-shadow:0 6px 18px #6366f166}.obs-summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.obs-summary-card{background:#fff;border:1px solid #f1f5f9;border-radius:16px;padding:16px;text-align:center;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;align-items:center;gap:4px;border-top:3px solid #e2e8f0}.obs-summary-val{font-size:26px;font-weight:900;color:#1e293b}.obs-summary-label{font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.obs-level-badge{font-size:11px;font-weight:800;padding:3px 12px;border-radius:20px;margin-top:4px}.obs-cards-list{display:flex;flex-direction:column;gap:16px}.obs-card{background:#fff;border-radius:20px;border:1px solid #f1f5f9;padding:20px;box-shadow:0 4px 16px #0000000a;animation:fadeInInstrum .3s ease}.obs-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:12px}.obs-card-fecha{font-size:14px;font-weight:700;color:#475569}.obs-total-badge{display:flex;flex-direction:column;align-items:center;padding:8px 16px;border-radius:14px;text-align:center;min-width:80px}.obs-total-num{font-size:18px;font-weight:900;line-height:1.1}.obs-total-pct{font-size:11px;font-weight:700;opacity:.75}.obs-total-lvl{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.obs-btn-print{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;width:36px;height:36px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.obs-btn-print:hover{border-color:#6366f1;background:#eef2ff}.obs-crits-wrap{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.obs-crit-row{display:flex;flex-direction:column;gap:5px}.obs-crit-meta{display:flex;align-items:center;gap:8px}.obs-crit-ico{font-size:16px;flex-shrink:0}.obs-crit-label{font-size:12px;font-weight:700;color:#475569;flex:1}.obs-crit-score{font-size:11px;font-weight:800;padding:2px 10px;border-radius:20px;white-space:nowrap}.obs-crit-bar-bg{height:6px;background:#f1f5f9;border-radius:99px;overflow:hidden}.obs-crit-bar-fill{height:100%;border-radius:99px;transition:width .4s ease}.obs-card-section{margin-top:12px;padding:12px 14px;border-radius:12px;background:#f8fafc;border:1px solid #f1f5f9}.obs-card-section--teal{background:#f0fdfa;border-color:#ccfbf1}.obs-card-section--purple{background:#f5f3ff;border-color:#ddd6fe}.obs-card-section-label{font-size:11px;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}.obs-card-section-body{font-size:13px;color:#475569;line-height:1.6}.obs-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#020c17d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:99999;display:flex;align-items:flex-start;justify-content:center;padding:24px;overflow-y:auto}.obs-modal-card{background:#fff;border-radius:28px;max-width:640px;width:100%;margin:auto;box-shadow:0 25px 50px -12px #00000080;overflow:hidden}.obs-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:28px 28px 0}.obs-modal-title{font-size:22px;font-weight:900;color:#0f172a;margin:0 0 4px}.obs-modal-sub{font-size:14px;color:#64748b;margin:0}.obs-modal-close{background:#f1f5f9;border:none;border-radius:10px;width:34px;height:34px;cursor:pointer;font-size:16px;color:#64748b;flex-shrink:0;transition:all .15s}.obs-modal-close:hover{background:#fee2e2;color:#ef4444}.obs-modal-body{padding:24px 28px;display:flex;flex-direction:column;gap:4px}.obs-modal-section-label{font-size:11px;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;margin-top:12px}.obs-modal-input{width:100%;padding:10px 14px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:14px;font-family:inherit;background:#f8fafc;outline:none;box-sizing:border-box}.obs-modal-input:focus{border-color:#6366f1;background:#fff}.obs-modal-textarea{width:100%;padding:12px 14px;border:1.5px solid #e2e8f0;border-radius:12px;font-size:13px;font-family:inherit;background:#f8fafc;resize:vertical;outline:none;min-height:90px;box-sizing:border-box}.obs-modal-textarea--sm{min-height:68px}.obs-modal-textarea:focus{border-color:#6366f1;background:#fff}.obs-modal-footer{display:flex;gap:12px;padding:20px 28px;border-top:1px solid #f1f5f9}.obs-btn-cancel{flex:1;padding:12px;border-radius:12px;background:#f1f5f9;color:#64748b;border:none;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}.obs-btn-save{flex:2;padding:12px;border-radius:12px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;font-size:14px;font-weight:800;cursor:pointer;font-family:inherit;box-shadow:0 4px 12px #6366f14d}.obs-btn-save:disabled{opacity:.6;cursor:not-allowed}.obs-form-crits{display:flex;flex-direction:column;gap:16px}.obs-form-crit{background:#f8fafc;border:1.5px solid #f1f5f9;border-radius:14px;padding:14px}.obs-form-crit-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:13px}.obs-form-crit-desc{font-size:11px;color:#94a3b8;margin:0 0 12px}.obs-form-badge{font-size:11px;font-weight:800;padding:3px 10px;border-radius:20px;transition:all .15s}.obs-form-levels{display:flex;gap:6px}.obs-level-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:10px;border:2px solid #e2e8f0;background:#fff;cursor:pointer;font-family:inherit;transition:all .15s}.obs-level-btn:hover{border-color:var(--lvl-color);background:var(--lvl-bg)}.obs-level-btn.active{border-color:var(--lvl-color);background:var(--lvl-bg);box-shadow:0 0 0 3px color-mix(in srgb,var(--lvl-color) 20%,transparent)}.obs-level-num{font-size:16px;font-weight:900;color:var(--lvl-color)}.obs-level-name{font-size:9px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.obs-modal-score-preview{text-align:center;padding:10px;background:#f8fafc;border-radius:10px;font-size:13px;color:#64748b;margin-top:4px}@media(max-width:768px){.obs-layout{grid-template-columns:1fr}.obs-summary-strip{grid-template-columns:repeat(2,1fr)}.obs-form-levels{flex-wrap:wrap}}#view-evidencias{max-width:1200px;margin:0 auto;padding-bottom:40px;animation:fadeInEvid .5s ease}@keyframes fadeInEvid{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.evidence-hero{background:linear-gradient(135deg,var(--app-card-bg) 0%,rgba(255,255,255,.8) 100%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(148,163,184,.15);border-radius:20px;padding:24px 28px;margin-bottom:24px;box-shadow:0 12px 30px #00000008;position:relative;overflow:hidden}.evidence-hero:before{content:"";position:absolute;top:-50px;right:-50px;width:150px;height:150px;background:var(--color-primary);filter:blur(80px);opacity:.05}.evidence-hero h2{font-family:Outfit,sans-serif;font-weight:800;color:var(--color-primary-deep);letter-spacing:-.5px}.evidence-management-bar{background:rgba(var(--color-primary-rgb),.03);border:1px dashed rgba(var(--color-primary-rgb),.15);border-radius:16px;padding:16px;margin-bottom:20px;display:flex;align-items:center;gap:15px;animation:slideDownBar .4s cubic-bezier(.16,1,.3,1)}@keyframes slideDownBar{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.supervision-avatar-mini{width:38px;height:38px;border-radius:10px;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;box-shadow:0 4px 10px rgba(var(--color-primary-rgb),.2)}.evidence-controls-grid{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.evidence-controls-card{background:#fff;padding:18px 20px;border-radius:18px;margin-bottom:24px;box-shadow:0 8px 20px #00000005;border:1px solid rgba(0,0,0,.04)}.evidence-controls-card select,.evidence-controls-card input[type=date]{border-radius:12px;border:1.5px solid #eef2f6;background:#fcfdfe;padding:10px 14px;font-size:14px;font-weight:600;color:#475569;transition:all .2s}.evidence-controls-card select:focus,.evidence-controls-card input[type=date]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.evidence-dropzone{border:2px dashed #cbd5e1;border-radius:18px;padding:36px 20px;text-align:center;background:#f8fafc;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;margin-bottom:24px}.evidence-dropzone:hover{background:#f1f5f9;border-color:var(--color-primary)}.evidence-dropzone.evidence-dropzone-active{background:rgba(var(--color-primary-rgb),.05);border-color:var(--color-primary);transform:scale(1.005)}.evidence-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px;margin-top:10px}.evidence-card{border-radius:20px;border:1px solid rgba(0,0,0,.04);background:#fff;display:flex;flex-direction:column;overflow:hidden;transition:all .35s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 15px #00000008;position:relative;height:100%}.evidence-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px #00000014}.evidence-card-media{aspect-ratio:16/11;background:#f1f5f9;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.evidence-card-media img,.evidence-card-media video{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.evidence-card:hover .evidence-card-media img{transform:scale(1.05)}.evidence-card-body{padding:18px;flex:1}.evidence-badge{padding:4px 10px;border-radius:8px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.evidence-badge-general{background:#10b9811a;color:#059669}.evidence-badge-individual{background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary-deep)}.evidence-badge-supervision{background:#6366f11f;color:#4338ca}.app-modal-inner-card--wide{max-width:680px;border-radius:24px;border:none;box-shadow:0 25px 60px #00000040}.evidence-chip{padding:5px 12px;background:#f1f5f9;border-radius:12px;font-size:12px;font-weight:700;color:#475569;border:1px solid #e2e8f0}.teacher-at-risk-panel{background:linear-gradient(145deg,#fef2f273,#fffffff2);border:1px solid rgba(239,68,68,.25);box-shadow:0 4px 14px #dc26260a;transition:transform .2s ease,box-shadow .2s ease}.teacher-at-risk-panel:hover{transform:translateY(-2px);box-shadow:0 6px 20px #dc262614;border-color:#ef444466}.teacher-at-risk-title{color:var(--color-danger)!important;border-bottom:1px solid rgba(239,68,68,.15);padding-bottom:8px;margin-bottom:12px}.at-risk-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:var(--radius);background:#fff;border:1px solid var(--border);margin-bottom:8px;box-shadow:var(--shadow-xs);transition:border-color .2s ease}.at-risk-item:last-child{margin-bottom:0}.at-risk-item:hover{border-color:#ef44444d}.highlight-col{background-color:var(--color-teal-soft)!important;font-weight:700;border-left:1px solid rgba(0,0,0,.05);border-right:1px solid rgba(0,0,0,.05)}.avg-highlight-col{font-size:20px;padding:8px;background:#fef2f2cc;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-danger);flex-shrink:0}.at-risk-content{flex:1;min-width:0}.at-risk-name{font-size:14px;font-weight:700;color:var(--text);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.at-risk-reason{font-size:12px;color:var(--color-danger);font-weight:500}.at-risk-course{font-size:11px;color:var(--text-muted);margin-top:2px}.clsrm-page{display:flex;flex-direction:column;gap:20px;padding:0 0 40px;min-height:100%}.clsrm-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid rgba(148,163,184,.15)}.clsrm-header__left{display:flex;flex-direction:column;gap:10px}.clsrm-back-btn{display:inline-flex;align-items:center;gap:6px;background:#ffffffbf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(0,0,0,.05);padding:7px 14px;border-radius:12px;font-weight:700;font-size:13px;color:#475569;text-decoration:none;transition:all .2s ease;width:fit-content}.clsrm-back-btn:hover{background:#fffffff2;color:#1e293b;transform:translate(-2px)}.clsrm-title{margin:0;font-family:"Outfit",var(--font-sans);font-size:26px;font-weight:900;letter-spacing:-.03em;color:#1e293b;display:flex;align-items:center;gap:8px}.clsrm-title__icon{font-size:24px;line-height:1}.clsrm-subtitle{margin:3px 0 0;font-size:13px;color:#64748b;font-weight:500}.clsrm-header__right{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.clsrm-course-selector{display:flex;flex-direction:column;gap:4px}.clsrm-selector-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.clsrm-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fffc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1.5px solid rgba(148,163,184,.25);border-radius:12px;padding:9px 36px 9px 14px;font-size:14px;font-weight:600;color:#1e293b;min-width:200px;cursor:pointer;transition:border-color .2s,box-shadow .2s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;box-shadow:0 2px 8px #0f172a0a}.clsrm-select:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a626}.clsrm-grid-controls{display:flex;gap:12px;align-items:flex-end}.clsrm-grid-control-group{display:flex;flex-direction:column;gap:4px}.clsrm-stepper{display:flex;align-items:center;gap:0;background:#fffc;border:1.5px solid rgba(148,163,184,.25);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0f172a0a}.clsrm-step-btn{background:none;border:none;width:34px;height:36px;font-size:18px;font-weight:700;color:#64748b;cursor:pointer;transition:background .15s,color .15s;display:flex;align-items:center;justify-content:center}.clsrm-step-btn:hover{background:#14b8a614;color:#0f766e}.clsrm-step-val{min-width:28px;text-align:center;font-size:14px;font-weight:700;color:#1e293b;border-left:1px solid rgba(148,163,184,.2);border-right:1px solid rgba(148,163,184,.2);padding:0 4px;line-height:36px}.clsrm-actions{display:flex;gap:8px;align-items:flex-end}.clsrm-btn-secondary{display:inline-flex;align-items:center;gap:6px;background:#fffc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1.5px solid rgba(148,163,184,.25);border-radius:12px;padding:9px 14px;font-size:13px;font-weight:600;color:#475569;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0f172a0a}.clsrm-btn-secondary:hover{background:#fffffff2;color:#1e293b;border-color:#94a3b866;transform:translateY(-1px)}.clsrm-btn-save{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#3b82f6,#14b8a6);border:none;border-radius:12px;padding:9px 18px;font-size:13px;font-weight:700;color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 4px 14px #3b82f64d}.clsrm-btn-save:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3b82f659}.clsrm-btn-save:active{transform:translateY(0)}.clsrm-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 16px;background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(148,163,184,.15);border-radius:14px;box-shadow:0 2px 10px #0f172a0a}.clsrm-legend-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.clsrm-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#475569}.clsrm-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.clsrm-legend--low .clsrm-legend-dot{background:#22c55e}.clsrm-legend--medium .clsrm-legend-dot{background:#f59e0b}.clsrm-legend--high .clsrm-legend-dot{background:#ef4444}.clsrm-legend--empty .clsrm-legend-dot{background:#94a3b84d;border:1.5px dashed #cbd5e1}.clsrm-legend-sep{color:#e2e8f0;font-size:16px}.clsrm-legend-mode-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:99px;background:linear-gradient(135deg,#3b82f61a,#14b8a61a);color:#0f766e;border:1px solid rgba(20,184,166,.2)}.clsrm-legend-mode-badge.is-readonly{background:#94a3b81a;color:#64748b;border-color:#94a3b833}.clsrm-unassigned-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:#f59e0b;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:99px;padding:3px 10px}.clsrm-risk-alert{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;background:linear-gradient(135deg,#ef44440f,#f59e0b0f);border:1.5px solid rgba(239,68,68,.2);border-radius:16px;animation:clsrm-slide-in .3s ease}.clsrm-risk-alert__icon{font-size:20px;flex-shrink:0}.clsrm-risk-alert__text{flex:1;font-size:13px;color:#b91c1c;line-height:1.5}.clsrm-risk-alert__text strong{font-weight:800}.clsrm-risk-alert__close{background:none;border:none;color:#ef4444;cursor:pointer;font-size:14px;padding:2px 6px;border-radius:6px;transition:background .15s;flex-shrink:0}.clsrm-risk-alert__close:hover{background:#ef44441a}.clsrm-board-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;margin:10px 0 30px}.clsrm-board{width:100%;max-width:550px;padding:16px 32px;background:linear-gradient(135deg,#0f172a,#1e293b);border-radius:24px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 40px #0000004d,inset 0 0 0 1px #ffffff14;position:relative;overflow:hidden}.clsrm-board:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,#14b8a6,transparent);animation:clsrm-scan 3s linear infinite}@keyframes clsrm-scan{0%{transform:translate(-100%)}to{transform:translate(100%)}}.clsrm-board-label{font-family:Outfit,sans-serif;font-size:15px;font-weight:900;letter-spacing:.3em;text-transform:uppercase;color:#14b8a6;text-shadow:0 0 12px rgba(20,184,166,.6)}.clsrm-grid-wrap{width:100%;overflow-x:auto;padding:60px 40px;background:#f8fafc;background-image:linear-gradient(rgba(203,213,225,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(203,213,225,.4) 1px,transparent 1px);background-size:50px 50px;border-radius:40px;border:1px solid rgba(226,232,240,.8);box-shadow:inset 0 10px 40px #0f172a08,0 20px 60px #0f172a0d;margin:20px 0;position:relative;min-height:500px}.clsrm-grid{display:grid;gap:30px;width:fit-content;margin:0 auto}.clsrm-seat{position:relative;width:120px;min-height:155px;border-radius:35px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:12px;padding:18px 10px 20px;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);background:#fffc;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.6);box-shadow:0 4px 15px #0000000d,inset 0 0 0 1px #fff6;-webkit-user-select:none;user-select:none}.clsrm-seat:hover{transform:translateY(-12px) scale(1.08);background:#fff;box-shadow:0 30px 60px #0f172a1f,0 10px 20px #0f172a0a;z-index:50}.clsrm-seat.risk-low{border-bottom:4px solid #10b981}.clsrm-seat.risk-medium{border-bottom:4px solid #f59e0b}.clsrm-seat.risk-high{border-bottom:4px solid #ef4444;animation:clsrm-neon-pulse 2s infinite}@keyframes clsrm-neon-pulse{0%,to{box-shadow:0 0 15px #ef44441a}50%{box-shadow:0 0 30px #ef444440}}.clsrm-seat.risk-high:hover{border-color:#ef4444b3;box-shadow:0 10px 28px #ef44442e}.clsrm-seat-stats{position:absolute;top:12px;display:flex;gap:4px;width:100%;justify-content:center;pointer-events:none;z-index:5}.clsrm-seat-progression{position:absolute;top:14px;left:0;width:100%;display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none;z-index:4}.clsrm-stat-pill{font-size:10px;font-weight:800;padding:3px 8px;border-radius:12px;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;display:flex;align-items:center;gap:4px}.clsrm-stat-pill.att{background:#3b82f61a;color:#2563eb}.clsrm-stat-pill.grade{background:#10b9811a;color:#059669}.clsrm-seat-avatar{width:68px;height:68px;border-radius:26px;background:#e2e8f0;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900;color:#fff;position:relative;overflow:hidden;box-shadow:0 8px 20px #0000001a;transition:transform .3s;pointer-events:none}.clsrm-seat:hover .clsrm-seat-avatar{transform:scale(1.1) rotate(3deg)}.risk-low .clsrm-seat-avatar{background:linear-gradient(135deg,#10b981,#059669)}.risk-medium .clsrm-seat-avatar{background:linear-gradient(135deg,#f59e0b,#d97706)}.risk-high .clsrm-seat-avatar{background:linear-gradient(135deg,#ef4444,#dc2626)}.clsrm-seat-num,.clsrm-seat-name,.clsrm-seat-risk-badge{pointer-events:none}.clsrm-seat-num{position:absolute;bottom:8px;right:8px;font-size:11px;font-weight:900;color:#fff;background:#334155;padding:2px 8px;border-radius:8px;box-shadow:0 2px 6px #0000001a;z-index:20;border:1.5px solid rgba(255,255,255,.3)}.clsrm-seat-name{font-size:13px;font-weight:800;color:#1e293b;letter-spacing:-.01em;text-align:center;max-width:90%;margin-bottom:5px}.clsrm-seat-risk-badge{position:absolute;top:15px;left:15px;width:10px;height:10px;border-radius:50%;border:2px solid #fff;z-index:21}.risk-low .clsrm-seat-risk-badge{background:#10b981}.risk-medium .clsrm-seat-risk-badge{background:#f59e0b}.risk-high .clsrm-seat-risk-badge{background:#ef4444}.is-empty .clsrm-seat-risk-badge{display:none}.clsrm-seat-name{font-size:11.5px;font-weight:700;color:#1e293b;text-align:center;line-height:1.2;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clsrm-seat.is-empty .clsrm-seat-name{font-size:11px;color:#cbd5e1;font-weight:500}.clsrm-bench-wrap{background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1.5px solid rgba(148,163,184,.15);border-radius:18px;padding:16px;box-shadow:0 4px 16px #0f172a0d}.clsrm-bench-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.clsrm-bench-title{font-size:13px;font-weight:700;color:#475569}.clsrm-bench-count{font-size:12px;font-weight:800;background:#f59e0b1a;color:#d97706;border:1px solid rgba(245,158,11,.2);border-radius:99px;padding:2px 9px}.clsrm-bench-list{display:flex;flex-wrap:wrap;gap:8px}.clsrm-bench-chip{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;background:#f8fafce6;border:1.5px solid rgba(148,163,184,.2);border-radius:99px;cursor:grab;transition:all .2s;font-size:12px;font-weight:600;color:#374151}.clsrm-bench-chip:hover{background:#fffffff2;border-color:#14b8a659;transform:translateY(-1px);box-shadow:0 4px 10px #0f172a14}.clsrm-bench-chip.is-dragging{opacity:.4;cursor:grabbing}.clsrm-bench-chip-avatar{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff;overflow:hidden;position:relative;flex-shrink:0}.clsrm-bench-chip-avatar img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0}.risk-low .clsrm-bench-chip-avatar{background:linear-gradient(135deg,#4ade80,#16a34a)}.risk-medium .clsrm-bench-chip-avatar{background:linear-gradient(135deg,#fbbf24,#d97706)}.risk-high .clsrm-bench-chip-avatar{background:linear-gradient(135deg,#f87171,#dc2626)}.clsrm-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 24px;background:#fff9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:2px dashed rgba(148,163,184,.25);border-radius:24px;gap:12px}.clsrm-empty__icon{font-size:52px;line-height:1}.clsrm-empty__title{margin:0;font-family:"Outfit",var(--font-sans);font-size:22px;font-weight:800;color:#1e293b;letter-spacing:-.02em}.clsrm-empty__text{margin:0;font-size:14px;color:#64748b;max-width:380px;line-height:1.6}.clsrm-empty__hint{margin:0;font-size:12px;color:#94a3b8;max-width:340px;line-height:1.6}.clsrm-tooltip{position:fixed;z-index:9999;background:#0f172aeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:16px;padding:14px 16px;min-width:200px;max-width:240px;box-shadow:0 16px 40px #0f172a4d;border:1px solid rgba(255,255,255,.1);pointer-events:none;transition:opacity .15s ease}.clsrm-tooltip__header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.clsrm-tooltip__avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#14b8a6);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;color:#fff;flex-shrink:0;overflow:hidden;position:relative}.clsrm-tooltip__avatar img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0}.clsrm-tooltip__name{font-size:13px;font-weight:700;color:#f1f5f9;line-height:1.3}.clsrm-tooltip__risk{font-size:11px;font-weight:600;color:#94a3b8;margin-top:2px}.clsrm-tooltip__risk.risk-low{color:#4ade80}.clsrm-tooltip__risk.risk-medium{color:#fbbf24}.clsrm-tooltip__risk.risk-high{color:#f87171}.clsrm-tooltip__stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:10px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:10px}.clsrm-tooltip__stat{display:flex;flex-direction:column;align-items:center;gap:2px}.clsrm-tooltip__stat-label{font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.clsrm-tooltip__stat-val{font-size:15px;font-weight:800;color:#f1f5f9;font-family:"Outfit",var(--font-sans)}.clsrm-tooltip__hint{font-size:10.5px;color:#64748b;text-align:center}@keyframes clsrm-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}@keyframes clsrm-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes clsrm-seat-appear{0%{opacity:0;transform:scale(.85) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.clsrm-seat{animation:clsrm-seat-appear .25s ease both}@media(max-width:768px){.clsrm-header{flex-direction:column}.clsrm-header__right{flex-wrap:wrap;width:100%}.clsrm-select{min-width:100%}.clsrm-seat{width:80px;min-height:92px}.clsrm-seat-avatar{width:42px;height:42px;font-size:17px}.clsrm-grid{gap:7px}.clsrm-title{font-size:22px}}@media(max-width:480px){.clsrm-seat{width:68px;min-height:82px;padding:8px 4px 7px}.clsrm-seat-avatar{width:36px;height:36px;font-size:14px}.clsrm-seat-name{font-size:10px;max-width:60px}.clsrm-grid{gap:5px}}.clsrm-empty__icon{font-size:64px;filter:drop-shadow(0 10px 20px rgba(0,0,0,.05));animation:clsrm-float 3s ease-in-out infinite}@keyframes clsrm-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.clsrm-tooltip{position:fixed;z-index:10000;background:#0f172ae6;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.15);border-radius:24px;padding:20px;min-width:260px;box-shadow:0 25px 50px -12px #00000080,inset 0 0 0 1px #ffffff0d;pointer-events:none;color:#fff}.clsrm-tooltip__header{display:flex;align-items:center;gap:12px;margin-bottom:15px}.clsrm-tooltip__name{font-size:15px;font-weight:800;letter-spacing:-.01em}.clsrm-tooltip__stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px;padding-top:15px;border-top:1px solid rgba(255,255,255,.1)}.clsrm-tooltip__stat-val{font-size:18px;font-weight:900;color:#14b8a6}.clsrm-bench-wrap{margin-top:40px;background:#fff9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:32px;padding:28px;border:1px solid rgba(255,255,255,.5)}.clsrm-bench-chip{display:flex;align-items:center;gap:10px;padding:10px 18px 10px 10px;background:#fff;border-radius:20px;font-size:13px;font-weight:800;box-shadow:0 4px 6px -1px #0000000d;cursor:grab;transition:all .2s}.clsrm-bench-chip:hover{transform:scale(1.05);box-shadow:0 10px 15px -3px #0000001a}.clsrm-bench-chip-avatar{width:32px;height:32px;border-radius:10px;background:#e2e8f0}.clsrm-quickview-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0f172a1a;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);z-index:20000;display:flex;justify-content:flex-end;opacity:0;pointer-events:none;transition:opacity .5s ease}.clsrm-quickview-overlay.is-active{opacity:1;pointer-events:auto}.clsrm-quickview-panel{width:100%;max-width:800px;height:96%;margin:1%;background:#ffffffd9;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);box-shadow:0 40px 100px #00000026;transform:translate(100%);transition:transform .6s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;border-radius:40px 0 0 40px;border:1px solid rgba(255,255,255,.7);color:#1e293b}.clsrm-quickview-overlay.is-active .clsrm-quickview-panel{transform:translate(0)}.clsrm-qv-header{padding:60px 50px 40px;background:linear-gradient(135deg,rgba(255,255,255,.4) 0%,transparent 100%);position:relative;display:flex;align-items:center;justify-content:space-between}.clsrm-qv-close{position:absolute;top:30px;right:30px;width:44px;height:44px;border-radius:15px;border:1px solid rgba(0,0,0,.05);background:#fff;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s;box-shadow:0 4px 12px #0000000d}.clsrm-qv-close:hover{background:#f1f5f9;color:#0f172a;transform:rotate(90deg)}.clsrm-qv-content{flex:1;overflow-y:auto;padding:0 50px 50px;display:grid;grid-template-columns:1fr 1.5fr;gap:50px}.clsrm-qv-section-title{font-family:Outfit,sans-serif;font-size:14px;font-weight:900;color:#4f46e5;text-transform:uppercase;letter-spacing:.15em;margin-bottom:25px;display:flex;align-items:center;gap:12px}.clsrm-qv-stats-grid{display:flex;flex-direction:column;gap:20px}.clsrm-qv-stat-card{background:#fff;padding:30px;border-radius:30px;border:1px solid rgba(0,0,0,.03);box-shadow:0 10px 30px #00000005;transition:all .4s}.clsrm-qv-stat-card:hover{transform:scale(1.03);box-shadow:0 20px 40px #0000000d}.clsrm-qv-stat-label{font-size:12px;font-weight:700;color:#94a3b8;text-transform:uppercase}.clsrm-qv-stat-val{font-family:Outfit,sans-serif;font-size:42px;font-weight:900;color:#0f172a;margin-top:8px}#clsrm-qv-history{display:flex;flex-direction:column;gap:20px}.clsrm-qv-history-item{background:#ffffff80;padding:25px;border-radius:25px;border:1px solid rgba(255,255,255,.8);transition:all .3s}.clsrm-qv-history-item:hover{background:#fff}.clsrm-qv-history-date{font-size:12px;font-weight:800;color:#4f46e5;margin-bottom:6px}.clsrm-qv-history-tag{font-size:11px;font-weight:900;color:#94a3b8;text-transform:uppercase}.clsrm-qv-history-body{font-size:15px;color:#334155;line-height:1.6;margin-top:8px;font-weight:500}.clsrm-qv-footer{padding:40px 50px;background:#ffffff80;border-top:1px solid rgba(0,0,0,.05);display:flex;justify-content:flex-end}.clsrm-qv-btn-full{padding:20px 40px;background:#0f172a;color:#fff;border:none;border-radius:22px;font-family:Outfit,sans-serif;font-weight:800;font-size:16px;cursor:pointer;transition:all .3s;box-shadow:0 10px 30px #0f172a33}.clsrm-qv-btn-full:hover{transform:translateY(-5px);background:#1e293b;box-shadow:0 15px 40px #0f172a4d}@media(max-width:768px){.clsrm-grid-wrap{padding:20px 10px;border-radius:20px}.clsrm-seat{width:90px;min-height:120px}.clsrm-seat-avatar{width:44px;height:44px}.clsrm-quickview-panel{max-width:100%}}#view-profile .profile-shell{margin-top:6px;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-card);border:1px solid var(--border);background:var(--bg-elevated)}#view-profile .profile-split{display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,1.3fr);min-height:min(680px,calc(100vh - 130px));align-items:stretch}@media(max-width:900px){#view-profile .profile-split{grid-template-columns:1fr;min-height:0}}#view-profile .profile-split .auth-brand-panel{padding:clamp(26px,5vw,52px);min-height:200px}#view-profile .profile-split .auth-action-panel{padding:clamp(22px,4vw,48px)}#view-profile .auth-action-inner{max-width:640px;width:100%}@media(min-width:1100px){#view-profile .auth-action-inner{max-width:720px}}@media(min-width:901px){#view-profile .profile-split .auth-action-panel{max-height:min(680px,calc(100vh - 130px));overflow-y:auto}}#view-profile .profile-brand-logo-wrap{width:clamp(96px,20vmin,152px);height:clamp(96px,20vmin,152px);border-radius:28px;overflow:visible;filter:drop-shadow(0 12px 36px rgba(0,0,0,.22))}#view-profile .profile-brand-logo-wrap svg{width:100%;height:100%;display:block}#view-profile .profile-meta-grid{display:grid;gap:12px;margin-bottom:4px}@media(min-width:560px){#view-profile .profile-meta-grid{grid-template-columns:1fr 1fr}}@media(min-width:960px){#view-profile .profile-meta-grid{grid-template-columns:1fr 1fr 1fr}}#view-profile .profile-meta-tile{padding:14px 16px;border-radius:var(--radius-lg);background:var(--color-surface-2);border:1px solid var(--border);box-shadow:var(--shadow-xs)}#view-profile .profile-meta-tile .meta-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 8px}#view-profile .profile-meta-tile .meta-value{font-size:14px;color:var(--text);font-weight:600;line-height:1.35;word-break:break-word}#view-profile .profile-meta-tile .meta-value--mono{font-size:11px;font-weight:500;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}#view-profile .profile-prefs-card{margin-top:18px;padding:16px 18px;border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(180deg,rgba(42,157,143,.06) 0%,var(--bg-elevated) 100%);box-shadow:var(--shadow-xs)}#view-profile .profile-admin-toggle{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:14px;font-weight:600;color:var(--text);margin:0}#view-profile .profile-admin-toggle input{margin-top:3px;flex-shrink:0}#view-profile .profile-field-block{margin-top:16px}#view-profile .profile-field-block label.muted{display:block;font-size:12px;font-weight:700;color:var(--text-muted)}#view-profile .profile-field-hint{margin:6px 0 0;font-size:12px;color:var(--text-muted);line-height:1.45}#view-profile .profile-section{margin-top:22px;padding-top:22px;border-top:1px solid var(--border)}#view-profile .profile-section-title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--color-primary-deep);margin:0 0 12px}#view-profile .profile-centro-role-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}#view-profile .profile-centro-role-row label{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--bg-elevated);cursor:pointer;font-weight:600;font-size:14px;transition:border-color .2s,background .2s,box-shadow .2s}#view-profile .profile-centro-role-row label:has(input:checked){border-color:var(--color-primary);background:var(--color-teal-soft);box-shadow:var(--shadow-xs)}#view-profile .input-profile-narrow{max-width:none;width:100%}#view-profile .panel-subtle{margin-top:0;background:var(--bg-elevated)}#view-profile .profile-signout-wrap{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}#view-profile .profile-director-form{display:grid;gap:10px}#view-profile .profile-director-form-card{padding:12px;background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden}#view-profile .profile-director-form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}@media(max-width:760px){#view-profile .profile-director-form-grid-2{grid-template-columns:1fr}}#view-profile .profile-director-form-card label.muted{display:block;margin-bottom:4px;line-height:1.2}#view-profile .profile-director-form-card input,#view-profile .profile-director-form-card select{min-height:40px;width:100%;max-width:100%;min-width:0;box-sizing:border-box}#view-profile .profile-director-year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start}@media(max-width:900px){#view-profile .profile-director-year-grid{grid-template-columns:1fr}}#view-profile .profile-director-form-title{font-size:12px;margin:0 0 10px;font-weight:800;color:var(--text-muted)}#view-profile .profile-director-submit-wrap{display:flex;justify-content:flex-end;margin-top:2px}#view-profile .profile-create-center-live-error{font-size:12px;font-weight:600;color:#b91c1c;min-height:18px;margin-top:2px}#view-profile .profile-field-invalid{border-color:#ef4444!important;box-shadow:0 0 0 2px #ef44441f}#view-profile .profile-field-valid{border-color:#22c55e!important;box-shadow:0 0 0 2px #22c55e1a}#view-profile #btn-signout-profile{width:100%}#view-profile .text-profile-email{padding:0}.cal-modern-layout{display:grid;grid-template-columns:380px 1fr;gap:24px;margin-top:10px}@media(max-width:900px){.cal-modern-layout{grid-template-columns:1fr}}.cal-column-sidebar{display:flex;flex-direction:column;gap:20px}.cal-card-form{padding:24px;border-radius:20px;background:#fff;box-shadow:0 10px 30px #0000000a}.cal-card-title{display:flex;align-items:center;gap:12px;margin-bottom:20px}.cal-card-title h3{margin:0;font-size:18px;font-weight:800;color:#1e293b}.cal-icon-bg{width:40px;height:40px;background:#f1f5f9;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px}.cal-form-row{display:flex;gap:12px;margin-bottom:20px}.ds-select-modern{width:100%;padding:12px;border-radius:12px;border:1.5px solid #e2e8f0;background:#f8fafc;font-family:inherit;font-size:14px;font-weight:600;color:#1e293b;outline:none;transition:all .2s;cursor:pointer}.ds-select-modern:focus{border-color:#6366f1;background:#fff;box-shadow:0 0 0 4px #6366f11a}.cal-btn-save{width:100%;padding:14px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:14px;font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #6366f14d}.cal-btn-save:hover{transform:translateY(-2px);box-shadow:0 8px 20px #6366f166}.btn-arrow{transition:transform .2s}.cal-btn-save:hover .btn-arrow{transform:translate(4px)}.cal-card-grid{padding:20px;border-radius:20px;background:#fff}.cal-grid-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding:0 5px}.cal-grid-month{font-size:14px;font-weight:800;color:#1e293b;text-transform:capitalize}.cal-grid-nav{display:flex;gap:4px}.cal-nav-btn{width:28px;height:28px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s}.cal-nav-btn:hover{background:#f1f5f9;color:#1e293b}.cal-grid-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:10px}.cal-weekday{font-size:10px;font-weight:800;color:#94a3b8;text-transform:uppercase}.cal-grid-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#475569;border-radius:8px;cursor:pointer;transition:all .2s;position:relative}.cal-day:hover{background:#f1f5f9}.cal-day.today{background:#eff6ff;color:#2563eb;font-weight:800}.cal-day.has-event:after{content:"";position:absolute;bottom:4px;width:4px;height:4px;background:#6366f1;border-radius:50%}.cal-day.other-month{color:#cbd5e1;font-weight:400}.cal-column-main{display:flex;flex-direction:column;gap:20px}.cal-main-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.cal-main-header h3{margin:0;font-size:20px;font-weight:800;color:#1e293b}.cal-filter-tabs{display:flex;background:#f1f5f9;padding:4px;border-radius:12px;gap:4px}.cal-tab{padding:6px 14px;border:none;background:transparent;border-radius:8px;font-size:13px;font-weight:700;color:#64748b;cursor:pointer;transition:all .2s}.cal-tab.active{background:#fff;color:#1e293b;box-shadow:0 2px 8px #0000000d}.cal-event-list{display:grid;grid-template-columns:1fr;gap:12px}.cal-event-card{background:#fff;border-radius:18px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;border:1px solid #f1f5f9;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.cal-event-card:hover{transform:translate(6px);border-color:#e2e8f0;box-shadow:0 8px 20px #00000008}.cal-event-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--event-color, #64748b)}.cal-event-info{display:flex;flex-direction:column;gap:4px}.cal-event-title{font-size:15px;font-weight:700;color:#1e293b}.cal-event-meta{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:600;color:#64748b}.cal-event-tag{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:8px;background:var(--event-bg, #f1f5f9);color:var(--event-color, #475569);font-size:11px;font-weight:800;text-transform:uppercase}.cal-event-countdown{padding:4px 8px;border-radius:6px;font-size:11px;font-weight:700}.cal-countdown--urgent{background:#fef2f2;color:#ef4444}.cal-countdown--soon{background:#fff7ed;color:#f97316}.cal-countdown--later{background:#f0fdf4;color:#16a34a}.cal-event-actions{display:flex;gap:8px}.btn-cal-action{width:34px;height:34px;border-radius:10px;border:1.5px solid #f1f5f9;background:#fff;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-cal-action:hover{background:#f8fafc;color:#1e293b;border-color:#e2e8f0}.btn-cal-action.btn-delete:hover{background:#fef2f2;color:#ef4444;border-color:#fecaca}#view-initial-config.initial-config-view{max-width:880px;margin:0 auto;padding:4px 0 32px}#view-initial-config .initial-config-panel{background:var(--app-card-bg);border-radius:var(--app-card-radius);border:1px solid rgba(148,163,184,.12);box-shadow:var(--app-shadow-card);padding:22px 24px;margin-bottom:20px}#view-initial-config .initial-config-panel>h2{margin:0 0 8px;font-size:1.35rem;font-weight:800;letter-spacing:-.02em;color:var(--app-heading)}#view-initial-config .initial-config-panel>.app-lead{margin:0 0 4px;max-width:62ch}#view-initial-config .initial-config-panel .row>div>label,#view-initial-config .initial-config-top-field>label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--app-muted)}#view-initial-config .initial-config-top-field{margin-top:14px}#initial-schedule-type{margin-top:6px;max-width:320px}#view-initial-config .initial-config-actions{margin-top:18px}#initial-config-horario-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:16px}#initial-config-no-templates{margin-top:14px}#view-initial-config .initial-config-actions-choose{margin-top:16px}#initial-config-center-display.initial-config-center-banner{margin-top:14px;margin-bottom:14px;padding:10px 14px;background:var(--color-teal-soft);border:1px solid color-mix(in srgb,var(--color-teal) 28%,var(--border));border-radius:var(--radius);font-size:13px;line-height:1.45;color:var(--color-primary-deep)}#initial-config-center-display.initial-config-center-banner:empty{display:none}#btn-back-to-center-config{margin-bottom:12px}#view-initial-config .initial-config-row-gap{margin-top:12px}#view-initial-config .initial-config-working-days{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;font-size:13px}#view-initial-config .initial-config-working-days label{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 12px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--color-surface-2);font-size:13px;font-weight:600;color:var(--text);transition:background .15s ease,border-color .15s ease}#view-initial-config .initial-config-working-days label:hover{background:var(--color-teal-soft);border-color:color-mix(in srgb,var(--color-teal) 35%,var(--border))}#view-initial-config .initial-config-actions-main{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}#view-initial-config .initial-config-hint{margin-top:8px;font-size:12px}#visual-schedule-initial-wrap{margin-top:22px;padding:18px 20px;background:var(--color-surface-2);border:1px solid rgba(148,163,184,.14);border-radius:var(--app-card-radius);box-shadow:var(--shadow-xs);position:relative}#visual-schedule-initial-wrap>h3{font-size:15px;font-weight:800;color:var(--color-primary-deep);margin:0 0 8px;letter-spacing:-.01em}#visual-schedule-initial-wrap>p.muted{margin:0 0 12px;font-size:13px;color:var(--app-muted)}#visual-schedule-initial{overflow-x:auto}.initial-config-horario-card{padding:18px 20px;border-radius:var(--app-card-radius);border:1px solid rgba(148,163,184,.12);background:var(--app-card-bg);box-shadow:var(--app-shadow-card);cursor:pointer;transition:transform .15s ease,background .2s,border-color .2s,box-shadow .2s;text-align:left}.initial-config-horario-card:hover{transform:translateY(-2px);background:var(--color-teal-soft);border-color:#2a9d8f59;box-shadow:0 12px 32px #0f172a14}.initial-config-horario-card h4{margin:0 0 8px;font-size:15px;font-weight:800;color:var(--color-primary-deep)}.initial-config-horario-card .card-meta{font-size:12px;color:var(--text-muted);line-height:1.5}.initial-config-horario-card .card-meta+.card-meta{margin-top:4px}.tdash-progress.dash-panel{margin-bottom:0}.tdash-progress:not(.dash-panel){margin-bottom:18px;padding:16px 18px;border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow-xs)}.tdash-progress .tdash-progress__title{margin-bottom:14px}.tdash-progress:not(.dash-panel) h3{margin:0 0 12px;font-size:15px;font-weight:800;color:var(--color-primary-deep)}.tdash-progress__row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:14px}.tdash-progress__row:last-child{border-bottom:none}.tdash-progress__ico{font-size:18px;width:28px;text-align:center}.ai-modal-glass{background:#0f172acc!important;backdrop-filter:blur(24px) saturate(180%)!important;-webkit-backdrop-filter:blur(24px) saturate(180%)!important}.ai-card-premium{background:#fffffff2!important;border:1px solid rgba(255,255,255,.4)!important;box-shadow:0 32px 128px #0f172a66!important}body.dark-mode .ai-card-premium{background:#1e293bd9!important;border-color:#ffffff1a!important}.ai-sidebar-glass{background:#f8fafc80!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:1px solid rgba(203,213,225,.4)}body.dark-mode .ai-sidebar-glass{background:#0f172a66!important;border-color:#ffffff0d}.ai-pulse-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:60px 20px}.ai-orb{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#4f46e5,#9333ea);position:relative;box-shadow:0 0 30px #4f46e599}.ai-orb:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:50%;background:inherit;opacity:.4;animation:ai-pulse-ring 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes ai-pulse-ring{0%{transform:scale(.8);opacity:.7}50%{transform:scale(1.4);opacity:0}to{transform:scale(.8);opacity:0}}.ai-typing-text{border-right:3px solid var(--color-teal);animation:ai-caret .8s step-end infinite}@keyframes ai-caret{0%,to{border-color:transparent}50%{border-color:var(--color-teal)}}.ai-result-content{animation:ai-fade-in-up .6s cubic-bezier(.16,1,.3,1)}@keyframes ai-fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ai-btn-premium{transition:all .3s cubic-bezier(.4,0,.2,1)}.ai-btn-premium:hover{transform:translateY(-2px);box-shadow:0 12px 24px #4f46e566;filter:brightness(1.1)}#modal-clase-docente .clase-modal-statuses{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}#modal-clase-docente .clase-modal-statuses label{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-weight:600;font-size:14px}#modal-clase-docente .field-plan-date label{font-weight:600;font-size:13px}#modal-clase-docente{z-index:1100}#modal-clase-docente .app-modal-inner-card{max-width:540px;width:100%}#modal-clase-docente #btn-modal-clase-cerrar{font-size:12px}#modal-clase-subtitle{margin:0 0 14px;font-size:13px}#modal-clase-wrap-fecha{margin-bottom:12px}#modal-clase-fecha{margin-top:4px;max-width:200px}#modal-clase-docente .modal-clase-fields{display:flex;flex-direction:column;gap:12px}#modal-clase-docente .modal-clase-fields input[type=text],#modal-clase-docente .modal-clase-fields textarea{width:100%;margin-top:4px;font-family:inherit}#modal-clase-docente .modal-clase-state-label{font-weight:700;font-size:13px}#modal-clase-docente .modal-clase-actions{margin-top:18px;flex-wrap:wrap;gap:10px}.topbar-dropdown{position:absolute;top:100%;right:12px;margin-top:8px;min-width:280px;max-height:320px;overflow-y:auto;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 12px 40px #00000059;z-index:420;display:none}.topbar-dropdown.is-open{display:block}.topbar-dropdown .dropdown-title{padding:14px 16px;font-size:13px;font-weight:600;border-bottom:1px solid var(--border)}.topbar-dropdown .dropdown-body{padding:12px}.topbar-dropdown .dropdown-empty{color:var(--text-muted);font-size:13px}#secure-confirm-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000000;background:#020617d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:20px;animation:fadeInSecure .3s ease-out}@keyframes fadeInSecure{0%{opacity:0}to{opacity:1}}.secure-confirm-card{background:linear-gradient(145deg,#1e293b,#0f172a);border:2px solid rgba(239,68,68,.3);border-radius:24px;width:100%;max-width:480px;padding:32px;box-shadow:0 25px 80px #0009;animation:slideUpSecure .4s cubic-bezier(.16,1,.3,1)}@keyframes slideUpSecure{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.secure-confirm-icon{width:64px;height:64px;background:#ef444426;border:2px solid rgba(239,68,68,.4);border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 24px;color:#ef4444}.secure-confirm-title{margin:0 0 12px;font-size:22px;font-weight:800;color:#f1f5f9;text-align:center}.secure-confirm-message{margin:0 0 24px;font-size:15px;color:#94a3b8;text-align:center;line-height:1.6}.secure-confirm-warning-box{background:#ef44441a;border-left:4px solid #ef4444;padding:12px 16px;border-radius:8px;margin-bottom:24px;color:#fecaca;font-size:13px;font-weight:600}.secure-confirm-input-wrap{margin-bottom:24px}.secure-confirm-label{display:block;font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.secure-confirm-input{width:100%;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 16px;color:#fff;font-size:16px;font-weight:700;text-align:center;outline:none;transition:all .2s}.secure-confirm-input:focus{border-color:#ef4444;background:#ef44440d}.secure-confirm-actions{display:flex;gap:12px}.secure-confirm-btn{flex:1;padding:14px;border-radius:14px;font-weight:800;font-size:14px;cursor:pointer;border:none;transition:all .2s}.secure-confirm-btn-cancel{background:#334155;color:#cbd5e1}.secure-confirm-btn-confirm{background:#ef4444;color:#fff;box-shadow:0 8px 20px #ef44444d}.secure-confirm-btn-confirm:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(1);box-shadow:none}.secure-confirm-btn:active{transform:scale(.97)}.sidebar-toggle{width:44px;height:44px;border-radius:12px;border:1px solid rgba(148,163,184,.3);background:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:2000;padding:0;box-shadow:0 4px 12px #0f172a14}.sidebar-toggle span{display:block;width:22px;height:2.5px;background:#1e293b;border-radius:4px;transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:center}.sidebar-toggle:hover{background:var(--bg-hover);border-color:var(--color-primary)}body:not(.sidebar-collapsed) .sidebar-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}body:not(.sidebar-collapsed) .sidebar-toggle span:nth-child(2){opacity:0;transform:translate(-10px)}body:not(.sidebar-collapsed) .sidebar-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}body.sidebar-collapsed .app-sidebar{transform:translate(-100%)}@media(min-width:1025px){body.sidebar-collapsed .app-sidebar{transform:translate(-100%)}}.center-schedule-view{padding:24px 20px;max-width:1100px;margin:0 auto}.cs-header{margin-bottom:24px}.cs-title{font-size:22px;font-weight:900;margin:0 0 4px;color:var(--text-primary, #1e293b)}.cs-subtitle{font-size:14px;margin:0}.cs-add-block-card{padding:20px 24px;margin-bottom:28px;border-radius:16px}.cs-section-title{font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted, #64748b);margin:0 0 14px}.cs-form-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.cs-field{display:flex;flex-direction:column;gap:5px;flex:1;min-width:130px}.cs-field label{font-size:12px;font-weight:700;color:var(--text-muted, #64748b);text-transform:uppercase;letter-spacing:.04em}.cs-field input,.cs-field select{padding:9px 12px;border-radius:10px;border:1px solid rgba(148,163,184,.3);font-size:14px;background:var(--bg-input, #fff);color:var(--text-primary, #1e293b);transition:border-color .15s}.cs-field input:focus,.cs-field select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.cs-field--action{flex:0 0 auto;min-width:150px}.cs-field--action .btn{display:flex;align-items:center;gap:6px;white-space:nowrap;width:100%;justify-content:center}.cs-grid-section{background:var(--bg-card, #fff);border-radius:16px;border:1px solid rgba(148,163,184,.2);padding:20px 24px}.cs-grid-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.cs-badge{font-size:12px;font-weight:700;background:#3b82f61a;color:#3b82f6;padding:4px 10px;border-radius:20px}.cs-grid-wrap{overflow-x:auto}.cs-grid-table{width:100%;border-collapse:collapse;font-size:13px}.cs-th{padding:10px 14px;text-align:center;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted, #64748b);border-bottom:2px solid rgba(148,163,184,.2);white-space:nowrap}.cs-th--time{text-align:left;min-width:110px}.cs-th--actions{width:40px}.cs-td{padding:6px 8px;border-bottom:1px solid rgba(148,163,184,.1);vertical-align:middle}.cs-td--time{white-space:nowrap;padding-left:4px}.cs-td--actions{text-align:center}.cs-row:hover .cs-td{background:#94a3b80d}.cs-time-start,.cs-time-end{font-size:13px;font-weight:700;color:var(--text-primary, #1e293b);font-variant-numeric:tabular-nums}.cs-time-sep{color:var(--text-muted, #94a3b8);margin:0 3px;font-size:11px}.cs-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 6px;border-radius:10px;min-width:80px;text-align:center}.cs-cell--class{color:#fff;box-shadow:0 4px 12px #3b82f633}.cs-cell--fixed{border:1px solid rgba(0,0,0,.06)}.cs-cell-icon{font-size:16px;line-height:1}.cs-cell-name{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;line-height:1.2}.btn-cs-delete{background:none;border:none;cursor:pointer;padding:6px;border-radius:8px;color:var(--text-muted, #94a3b8);display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.btn-cs-delete:hover{background:#ef44441a;color:#ef4444}@media(prefers-color-scheme:dark){.cs-field input,.cs-field select{background:#ffffff0d;border-color:#ffffff1a;color:#f1f5f9}.cs-grid-section{background:var(--bg-card, rgba(255, 255, 255, .03));border-color:#ffffff14}.cs-add-block-card{background:var(--bg-card, rgba(255, 255, 255, .04))}}.tss-view{padding:24px 20px;max-width:1200px;margin:0 auto;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tss-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:32px;flex-wrap:wrap;background:#fff;padding:20px;border-radius:20px;box-shadow:0 4px 15px #00000008}.tss-title{font-size:24px;font-weight:900;margin:0 0 4px;letter-spacing:-.02em}.tss-subtitle{margin:0;font-size:14px;color:#64748b}.tss-grid-wrap{overflow-x:auto;background:#ffffff80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:10px;border-radius:24px;border:1px solid rgba(255,255,255,.4)}.tss-table{width:100%;border-collapse:separate;border-spacing:8px}.tss-th{padding:12px;text-align:center;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#64748b;border-bottom:2px solid rgba(148,163,184,.1)}.tss-td{padding:0;vertical-align:middle}.tss-td--time{min-width:120px;background:#fff;border-radius:12px;padding:10px;box-shadow:0 2px 8px #00000005}.tss-label{display:block;font-weight:800;font-size:13px;color:#1e293b}.tss-time{display:block;font-size:11px;color:#94a3b8;font-weight:600;margin-top:2px}.tss-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;border-radius:16px;border:1.5px solid transparent;width:100%;min-height:85px;transition:all .25s cubic-bezier(.165,.84,.44,1);position:relative;overflow:hidden}.tss-cell--fixed{cursor:default;opacity:.9}.tss-cell--class{cursor:pointer;background:#fff;border:1.5px dashed #cbd5e1;color:#94a3b8}.tss-cell--class:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 8px 20px #00000014;border-color:#3b82f6;color:#3b82f6;background:#f0f9ffcc}.tss-cell--assigned{border-style:solid;border-color:#0000000d;box-shadow:0 4px 12px #0000000d}.tss-cell--assigned:after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:.8s;pointer-events:none}.tss-cell--assigned:hover:after{left:150%}.tss-cell-icon{font-size:16px;margin-bottom:4px}.tss-cell-name{font-size:11px;font-weight:800;line-height:1.2;text-transform:uppercase}.tss-cell-subject{font-size:10px;font-weight:600;opacity:.85;margin-top:4px}.tss-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .3s ease}.tss-modal-card{background:#fff;border-radius:28px;width:100%;max-width:520px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 30px 60px #00000040;border:1px solid rgba(255,255,255,.2)}.tss-modal-header{padding:24px 24px 16px;border-bottom:1px solid #f1f5f9}.tss-modal-title{font-size:20px;font-weight:900;margin:0;letter-spacing:-.01em}.tss-course-list{padding:16px;gap:8px}.tss-course-item{border:1.5px solid #f1f5f9;background:#f8fafc;padding:14px;border-radius:16px;transition:all .2s}.tss-course-item:hover{background:#fff;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.tss-course-item--selected{border-color:#3b82f6;background:#eff6ff;border-width:2px}.tss-course-item__name{font-size:14px;font-weight:800;color:#1e293b}.tss-modal-footer{padding:20px 24px;background:#f8fafc;border-bottom-left-radius:28px;border-bottom-right-radius:28px}.tt-clean-grid{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:20px}.tt-clean-headers{display:flex;gap:12px;margin-bottom:24px;padding:0 4px}.tt-clean-day-label{flex:1;text-align:center;padding:16px 8px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:#64748b;border-bottom:2px solid #e2e8f0;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;opacity:.8}.tt-clean-day-label.today{color:#4f46e5;border-bottom:4px solid #4f46e5;opacity:1}.tt-clean-body{display:flex;gap:12px;align-items:flex-start;min-width:800px;padding:0 4px}.tt-clean-col{flex:1;display:flex;flex-direction:column;gap:12px;min-width:0}.tt-block{border-radius:20px;padding:14px 16px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--cell-bg, #4f46e5);color:var(--cell-color, #fff);border:1px solid var(--cell-border, rgba(255,255,255,.1));box-shadow:0 4px 12px #4f46e51f;transition:all .25s cubic-bezier(.165,.84,.44,1);cursor:pointer;overflow:hidden;box-sizing:border-box}.tt-block:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 100%);pointer-events:none}.tt-block:not(.slot-fixed):not(.tt-block--empty):hover{transform:translateY(-4px) scale(1.01);box-shadow:0 12px 28px #00000024;filter:brightness(1.05);z-index:10}.tt-block--empty{background:transparent!important;border:none!important;box-shadow:none!important;cursor:default;pointer-events:none}.tt-block-time-top,.tt-block-time-bot{position:absolute;left:14px;font-size:10px;font-weight:700;opacity:.75;letter-spacing:.2px}.tt-block-time-top{top:12px}.tt-block-time-bot{bottom:12px}.tt-block-label{font-size:14px;font-weight:800;text-align:center;line-height:1.4;word-break:break-word;max-width:90%;z-index:1}.tt-block.slot-pedagogica{background:#f8fafc!important;border:2px dashed #cbd5e1!important;color:#64748b!important;box-shadow:none!important}.tt-block.slot-pedagogica:hover{background:#f1f5f9!important;border-color:#4f46e5!important;color:#4f46e5!important}.tt-block.slot-fixed{background:var(--slot-bg, #f1f5f9)!important;border:1px solid var(--slot-border, rgba(0,0,0,.06))!important;color:var(--slot-color, #64748b)!important;cursor:default!important;box-shadow:none!important;opacity:.9}.tt-block.slot-fixed .tt-block-label{font-size:12px;font-weight:700}@media(max-width:1024px){.tt-clean-body{min-width:1000px}}@media(max-width:640px){.tt-clean-headers{gap:8px;margin-bottom:16px}.tt-clean-body{gap:8px;min-width:700px}.tt-clean-col{gap:8px}.tt-block{border-radius:16px;padding:12px 14px}.tt-block-label{font-size:12px}.tt-clean-day-label{font-size:10px;padding:12px 4px}}.tt-glass-nav{display:flex;justify-content:space-between;align-items:center;width:fit-content;min-width:90%;max-width:1400px;margin:0 auto 32px;padding:12px 32px;background:#ffffffbf;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.4);border-radius:999px;box-shadow:0 10px 40px #0000000a,0 0 20px #4f46e50d;transition:all .4s cubic-bezier(.165,.84,.44,1)}.tt-glass-nav:hover{box-shadow:0 15px 50px #0000000f,0 0 30px #4f46e514;transform:translateY(-2px)}.tt-glass-actions{flex:1;display:flex;align-items:center;gap:14px}.tt-glass-actions:first-child{justify-content:flex-start}.tt-glass-actions:last-child{justify-content:flex-end}.tt-glass-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 20px;background:#7c3aed14;color:#7c3aed;border:1px solid rgba(124,58,237,.2);border-radius:99px;font-size:13px;font-weight:800;line-height:1;cursor:pointer;overflow:hidden;transition:all .3s ease}.tt-glass-btn:after{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:none}.tt-glass-btn:hover{background:#7c3aed;color:#fff;border-color:#7c3aed;box-shadow:0 8px 20px #7c3aed40}.tt-glass-btn:hover:after{left:140%;transition:left .6s ease-in-out}.tt-glass-info{display:flex;flex-direction:column;align-items:center;gap:2px}.tt-glass-title-wrap{display:flex;align-items:center;gap:12px}#tt-nav-center-name{font-size:24px;font-weight:950;color:#1e293b;letter-spacing:-1px;background:linear-gradient(135deg,#1e293b,#475569);-webkit-background-clip:text;background-clip:text;transition:all .3s ease}#tt-nav-center-tanda{display:inline-flex;align-items:center;font-size:11px;font-weight:700;color:#6366f1;text-transform:uppercase;letter-spacing:1.2px}#tt-header-month{font-size:11px;font-weight:700;color:#64748b;text-transform:capitalize;letter-spacing:.3px}.tt-glass-info{gap:6px}.tt-glass-subtitle{display:flex;align-items:center;justify-content:center}.tt-glass-nav-island{display:flex;align-items:center;gap:8px;background:transparent;padding:0;border:none}.tt-island-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:50%;font-size:18px;color:#475569;cursor:pointer;transition:all .2s ease}.tt-island-btn:hover{background:#fff;color:#1e293b;box-shadow:0 2px 8px #0000000f}#timetable-week-label{font-size:12px;font-weight:850;color:#64748b;padding:0 14px;min-width:60px;text-align:center}.tt-teacher-select{height:40px;min-width:200px;max-width:280px;padding:0 40px 0 16px;background:#6366f112 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236366f1' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center;border:1.5px solid rgba(99,102,241,.25);border-radius:99px;font-size:13px;font-weight:700;color:#3730a3;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:all .2s ease;box-shadow:0 2px 8px #6366f114}.tt-teacher-select:hover{background-color:#6366f11f;border-color:#6366f173;box-shadow:0 4px 14px #6366f126}.tt-teacher-select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.tt-teacher-select option{background:#fff;color:#1e293b;font-weight:600}@media(max-width:1024px){.tt-glass-nav{min-width:95%;padding:10px 24px}#tt-nav-center-name{font-size:18px}}.tt-mode-badge{display:none;align-items:center;justify-content:center;height:38px;padding:0 16px;border-radius:99px;font-size:10px;font-weight:950;line-height:1;text-transform:uppercase;letter-spacing:1px;color:#fff;box-shadow:0 4px 10px #0000000d;white-space:nowrap}.tt-mode-badge.mode-personal{display:flex;background:linear-gradient(135deg,#f59e0b,#d97706);border:1px solid rgba(251,191,36,.3)}.tt-mode-badge.mode-center{display:flex;background:linear-gradient(135deg,#10b981,#059669);border:1px solid rgba(16,185,129,.3)}@media(max-width:768px){.tt-mode-badge{font-size:7px;padding:2px 8px}.tt-glass-nav{flex-direction:column;border-radius:24px;padding:20px;width:100%;gap:16px}.tt-glass-actions{width:100%;justify-content:center}.tt-glass-nav-island{width:100%;justify-content:space-between}}@media(max-width:768px){.app-topbar{padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));padding-top:max(8px,env(safe-area-inset-top));gap:8px}.app-logo-mark-wrap{width:44px;height:44px;border-radius:14px}.app-logo{font-size:clamp(16px,4.2vw,18px);gap:10px;min-width:0}.app-logo-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-topbar-right{flex-wrap:wrap;justify-content:flex-end;row-gap:6px}.app-topbar-right .pill{max-width:min(140px,36vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-topbar-right #btn-signout{padding:8px 12px;font-size:13px}.topbar-dropdown{left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));min-width:0;width:auto}.app-main{padding:16px max(14px,env(safe-area-inset-right)) 28px max(14px,env(safe-area-inset-left));padding-bottom:max(28px,env(safe-area-inset-bottom))}.container{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.grid{gap:14px;margin-top:12px}.grid>aside.sidebar-right{display:none}.card{padding:16px 16px 18px;border-radius:14px}.app-page-header{margin-bottom:16px;padding-bottom:6px}.app-page-header h2{font-size:1.2rem}.app-lead,.app-page-header .muted{max-width:none}.app-modal-overlay{align-items:flex-end;justify-content:center;padding:max(10px,env(safe-area-inset-left)) max(10px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom))}.app-modal-overlay .app-modal-inner-card,.app-modal-overlay .card.app-modal-inner-card{width:100%;max-width:100%;max-height:min(88vh,100dvh - 20px);overflow-y:auto;border-radius:16px 16px 0 0}.visual-week-schedule,.timetable-grid,.course-main-table{-webkit-overflow-scrolling:touch}body.view-auth .auth-brand-panel{padding:clamp(20px,6vw,36px)}body.view-auth .auth-brand-logo-img-wrap{width:clamp(100px,26vmin,160px);height:clamp(100px,26vmin,160px)}#saved-schedules-modal{padding:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom))}#saved-schedules-dropdown-panel{max-height:min(90dvh,92vh);overflow-y:auto}.dash-teacher-hero__grid{grid-template-columns:1fr}.stat-card{padding:16px 16px 14px}.stat-card .stat-value{font-size:24px}}@media(max-width:480px){.app-topbar-right .icon-btn,.sidebar-toggle{width:38px;height:38px;font-size:16px}}@media(prefers-reduced-motion:reduce){.app-sidebar{transition:none!important}}.topbar-notif-wrap{position:relative;display:flex;align-items:center}.notif-btn{position:relative;font-size:20px;transition:transform .2s}.notif-btn:hover{transform:scale(1.1)}.notif-badge{position:absolute;top:-2px;right:-2px;background:var(--color-danger);color:#fff;font-size:10px;font-weight:800;padding:2px 5px;border-radius:10px;border:2px solid #fff;min-width:18px;text-align:center}.topbar-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:320px;background:#fffffff2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 10px 40px #0000001a;z-index:1000;display:none;opacity:0;transform:translateY(-10px);transition:all .25s cubic-bezier(.4,0,.2,1)}.topbar-dropdown.is-active{display:block;opacity:1;transform:translateY(0)}.dropdown-header{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.dropdown-title{font-weight:800;font-size:14px;color:var(--text)}.dropdown-body{max-height:48vh;overflow-y:auto;padding:8px 0}.dropdown-empty{padding:32px 20px;text-align:center;color:var(--text-muted);font-size:13px}.notif-item{padding:12px 18px;border-bottom:1px solid var(--border);transition:background .2s;cursor:default}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:#00000005}.notif-item.is-unread{background:#3b82f60a;border-left:3px solid var(--color-primary)}.notif-item-header{display:flex;justify-content:space-between;margin-bottom:4px}.notif-item-title{font-weight:700;font-size:13px;color:var(--text)}.notif-item-date{font-size:11px;color:var(--text-muted)}.notif-item-msg{font-size:13px;color:var(--text-muted);line-height:1.4}.notif-item.warning .notif-item-title{color:#b45309}.notif-item.error .notif-item-title{color:var(--color-danger)}@media print{body.is-printing-report *{visibility:hidden}body.is-printing-report .instrum-root,body.is-printing-report .instrum-root *,body.is-printing-report .instrum-tabla-wrap,body.is-printing-report .instrum-tabla-wrap *{visibility:visible}body.is-printing-report .instrum-root{position:absolute;left:0;top:0;width:100%;padding:0;margin:0;background:#fff}body.is-printing-report .instrum-header-inner #instrum-btn-salir,body.is-printing-report .instrum-tabs,body.is-printing-report .instrum-biblioteca-toolbar,body.is-printing-report .instrum-biblioteca-grid,body.is-printing-report .instrum-form-card,body.is-printing-report .instrum-aplicar-config,body.is-printing-report .instrum-tabla-actions{display:none!important}body.is-printing-report .instrum-tabla-scroll{overflow:visible!important;max-height:none!important;border:none!important;box-shadow:none!important}body.is-printing-report .instrum-tabla{width:100%;border:1px solid #000}body.is-printing-report .instrum-tabla th,body.is-printing-report .instrum-tabla td{border:1px solid #ddd!important;color:#000!important;background:#fff!important}body.is-printing-report .instrum-title{font-size:20pt;margin-bottom:2pt}body.is-printing-report .instrum-subtitle{font-size:11pt;margin-bottom:20pt}}.cell-main-label{flex:1;display:flex;flex-direction:column;gap:2px;align-items:center;width:100%}.label-matter{font-size:14px;font-weight:850;line-height:1.1;color:inherit;text-align:center}.label-course-info{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;opacity:.8;background:#0000000f;padding:1px 6px;border-radius:4px}.role-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.role-director{background:#8b5cf61a;color:#7c3aed;border:1px solid rgba(139,92,246,.2)}.role-registrar{background:#0ea5e91a;color:#0284c7;border:1px solid rgba(14,165,233,.2)}.role-coordinator{background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.2)}.role-orientador{background:#f59e0b1a;color:#d97706;border:1px solid rgba(245,158,11,.2)}.role-teacher{background:#64748b1a;color:#475569;border:1px solid rgba(100,116,139,.2)}.dir-dash__table th{padding:14px 12px;background:#f8fafc;color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;border-bottom:2px solid #e2e8f0}.dir-dash__table td{padding:12px;vertical-align:middle;border-bottom:1px solid #f1f5f9}.course-card--modern{position:relative;background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.4);border-radius:20px;overflow:hidden;transition:all .4s cubic-bezier(.165,.84,.44,1);display:flex;flex-direction:column;padding:20px;box-shadow:0 4px 15px #00000008}.course-card--modern:hover{transform:translateY(-6px);box-shadow:0 12px 30px #00000014;border-color:rgba(var(--primary-rgb, 6, 182, 212),.3)}.course-card--registrar{background:linear-gradient(135deg,#fffc,#f0f9ffcc);border-color:#0ea5e933}.course-card__shimmer{position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:.8s;pointer-events:none}.course-card--modern:hover .course-card__shimmer{left:150%}.course-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.course-card__name{font-size:1.1rem;font-weight:700;color:var(--text-main, #1e293b);margin:0;line-height:1.3}.course-card__badge-tanda{padding:4px 10px;background:rgba(var(--primary-rgb, 6, 182, 212),.1);color:rgb(var(--primary-rgb, 6, 182, 212));border-radius:10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.course-card__stats{font-size:13px;color:var(--text-muted, #64748b);margin-bottom:8px;display:flex;align-items:center;gap:6px}.course-card__owner-tag{font-size:11px;color:#0369a1;background:#f0f9ff;padding:2px 8px;border-radius:6px;display:inline-block}.course-card__actions-grid{margin-top:auto;display:grid;grid-template-columns:1.5fr 1fr 1.2fr;gap:8px;padding-top:15px}.btn-action-main{background:var(--primary, #06b6d4)!important;color:#fff!important;border-radius:12px!important;font-weight:700!important;font-size:13px!important;padding:10px!important;box-shadow:0 4px 12px #06b6d433!important}.btn-delete-modern{background:#fff!important;color:#ef4444!important;border:1.5px solid #fee2e2!important;border-radius:12px!important;font-size:12px!important;font-weight:600!important}.btn-delete-modern:hover{background:#fef2f2!important;border-color:#fecaca!important}.course-card__delete-x{position:absolute;top:12px;right:12px;width:26px;height:26px;background:#ef444414;color:#ef4444;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:900;cursor:pointer;z-index:10;transition:all .2s ease;line-height:1}.course-card__delete-x:hover{background:#ef4444;color:#fff;transform:scale(1.1);box-shadow:0 4px 12px #ef444433}.catalog-empty-state{grid-column:1 / -1;text-align:center;padding:60px 20px;background:#fff6;border:2px dashed rgba(203,213,225,.5);border-radius:24px}.empty-icon{font-size:48px;margin-bottom:20px;filter:grayscale(1) opacity(.5)}.catalog-empty-state h3{margin-bottom:8px;color:var(--text-main)}.catalog-empty-state p{color:var(--text-muted);max-width:400px;margin:0 auto}@media(max-width:600px){.course-card__actions-grid{grid-template-columns:1fr}}[data-tooltip]{position:relative;cursor:help}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%) translateY(5px);background:#1e293bf2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#f8fafc;padding:8px 14px;border-radius:10px;font-size:11px;font-weight:600;line-height:1.4;white-space:pre-wrap;width:max-content;max-width:200px;text-align:center;opacity:0;pointer-events:none;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 10px 20px #00000026,0 0 0 1px #ffffff1a;z-index:10000;font-family:Outfit,sans-serif}[data-tooltip]:before{content:"";position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%) translateY(5px);border:5px solid transparent;border-top-color:#1e293bf2;opacity:0;pointer-events:none;transition:all .25s cubic-bezier(.4,0,.2,1);z-index:10000}body:not(.smart-tooltips-active) [data-tooltip]:hover:after,body:not(.smart-tooltips-active) [data-tooltip]:hover:before{opacity:1;transform:translate(-50%) translateY(0)}[data-tooltip-right]:after{bottom:50%;left:calc(100% + 12px);transform:translateY(50%) translate(-5px)}[data-tooltip-right]:before{bottom:50%;left:calc(100% + 4px);transform:translateY(50%) translate(-5px);border-top-color:transparent;border-right-color:#1e293bf2}[data-tooltip-right]:hover:after,[data-tooltip-right]:hover:before{transform:translateY(50%) translate(0)}.app-tip-card{display:flex;align-items:center;gap:12px;padding:12px 16px;margin:0 0 16px;background:linear-gradient(135deg,#eff6ff,#f0fdf4);border:1.5px solid #bfdbfe;border-left:4px solid #6366f1;border-radius:14px;box-shadow:0 2px 10px #6366f114;opacity:0;transform:translateY(-6px);transition:opacity .25s ease,transform .25s ease}.app-tip-card.app-tip-visible{opacity:1;transform:translateY(0)}.app-tip-card.app-tip-hiding{opacity:0;transform:translateY(-6px)}.app-tip-icon{font-size:20px;flex-shrink:0}.app-tip-text{flex:1;font-size:13px;font-weight:500;color:#1e40af;line-height:1.5}.app-tip-close{background:none;border:none;cursor:pointer;font-size:12px;color:#93c5fd;padding:2px 6px;border-radius:6px;flex-shrink:0;transition:background .15s,color .15s;font-family:inherit}.app-tip-close:hover{background:#dbeafe;color:#1d4ed8}input[type=text]:not([data-no-cap]),input[type=search]:not([data-no-cap]),textarea:not([data-no-cap]){text-transform:capitalize}:root{--text-main: #1e293b;--text-muted: #64748b;--bg-main: #f8fafc;--bg-card: #ffffff;--border-color: #e2e8f0}html.dark-theme{--text-main: #f1f5f9;--text-muted: #94a3b8;--bg-main: #0f172a;--bg-card: #1e293b;--border-color: #334155}html,body,#root{height:100%}body{background:var(--bg-base-gradient, linear-gradient(135deg, #f8fafc 0%, #f1f5f9 40%, #eef2f6 100%));background-attachment:fixed}.view-admin-horarios{padding:24px 20px;max-width:960px;margin:0 auto}.admin-horarios-form-card,.admin-horarios-preview-card{margin-top:24px}.admin-horarios-card-title{font-size:16px;font-weight:800;margin:0 0 16px}.admin-horarios-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:600px){.admin-horarios-form-grid{grid-template-columns:1fr}}.admin-horarios-days{display:flex;flex-wrap:wrap;gap:10px}.admin-horarios-day-label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;cursor:pointer}.admin-horarios-table-wrap{overflow-x:auto;margin-top:12px}.admin-horarios-table{width:100%;border-collapse:collapse;font-size:14px}.admin-horarios-table th,.admin-horarios-table td{padding:10px 12px;text-align:left;border-bottom:1px solid rgba(148,163,184,.15)}.admin-horarios-table th{font-weight:700;font-size:12px;text-transform:uppercase;color:#64748b}.admin-horarios-btn-delete{background:none;border:1px solid #fca5a5;color:#ef4444;border-radius:8px;padding:4px 10px;font-size:12px;font-weight:700;cursor:pointer}.admin-horarios-btn-delete:hover{background:#fef2f2}.mini-cell{padding:6px 8px;border-radius:6px;font-size:11px;font-weight:600;text-align:center}.mini-cell.header{background:#f1f5f9;color:#475569}.mini-cell.slot{background:#fff;border:1px solid #e2e8f0;color:#334155}.anec-card{max-width:900px;margin:0 auto;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 32px 80px #0f172a33;animation:anecFadeIn .3s cubic-bezier(.16,1,.3,1);font-family:Inter,system-ui,sans-serif}@keyframes anecFadeIn{0%{opacity:0;transform:translateY(28px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.anec-hero{background:linear-gradient(135deg,#4f46e5,#7c3aed,#0d9488);padding:28px 36px 22px;color:#fff}.anec-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.anec-hero-title{font-family:Outfit,sans-serif;font-size:22px;font-weight:900;letter-spacing:-.4px;margin:0}.anec-hero-sub{font-size:12px;opacity:.7;margin:4px 0 0}.anec-close-btn{width:36px;height:36px;border-radius:10px;background:#ffffff2e;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.anec-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media(max-width:640px){.anec-info-grid{grid-template-columns:repeat(2,1fr)}}.anec-info-chip{background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:14px;padding:10px 14px}.anec-chip-label{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:1px;opacity:.65;display:block;margin-bottom:3px}.anec-chip-val{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.anec-body{padding:0}.anec-section{padding:24px 36px;border-bottom:1px solid #f1f5f9}.anec-section:last-child{border-bottom:none}.anec-section-title{font-size:10px;font-weight:900;color:#6366f1;text-transform:uppercase;letter-spacing:1.5px;display:flex;align-items:center;gap:8px;margin:0 0 18px}.anec-section-title:before{content:"";display:block;width:20px;height:3px;background:#6366f1;border-radius:2px}.anec-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.anec-grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}@media(max-width:680px){.anec-grid3,.anec-grid2{grid-template-columns:1fr}}.anec-lbl{display:block;font-size:10px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:1px;margin-bottom:7px}.anec-field,.anecdotal-field{width:100%;background:#f8fafc;border:2px solid #e2e8f0;border-radius:13px;padding:11px 15px;color:#1e293b;font-size:14px;font-weight:500;font-family:inherit;transition:.2s;box-sizing:border-box}.anec-field:focus,.anecdotal-field:focus{outline:none;border-color:#6366f1;background:#fff;box-shadow:0 0 0 4px #6366f11a}textarea.anec-field,textarea.anecdotal-field{resize:vertical;line-height:1.65}.anec-step-num{width:24px;height:24px;border-radius:50%;background:#6366f1;color:#fff;font-size:11px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.anec-footer{padding:22px 36px;background:#f8fafc;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid #e2e8f0}.anec-referred{display:flex;align-items:center;gap:10px;background:#fff;border:2px solid #e2e8f0;border-radius:13px;padding:10px 16px;cursor:pointer;transition:.2s}.anec-referred:hover{border-color:#14b8a6;background:#f0fdfa}.anec-btn-save{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;border:none;border-radius:14px;padding:14px 30px;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 8px 22px #14b8a659;transition:.2s}.anec-btn-save:hover{transform:translateY(-2px);box-shadow:0 14px 30px #14b8a673}.anec-history-wrap{padding:24px 36px;background:#f8fafc;border-top:1px solid #e2e8f0}.anecdotal-record-item{background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;padding:18px 22px;margin-bottom:14px;transition:.2s;box-shadow:0 1px 6px #0000000d}.anecdotal-record-item:hover{border-color:#c7d2fe;box-shadow:0 6px 20px #6366f117}.sm-pdf-btn{background:#fff;border:2px solid #e2e8f0;padding:6px 13px;border-radius:10px;font-size:12px;font-weight:700;color:#475569;cursor:pointer;transition:.15s}.sm-pdf-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.anecdotal-severity-tag{display:inline-block;padding:3px 10px;border-radius:8px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}@media(max-width:600px){.anec-section,.anec-footer,.anec-history-wrap{padding:16px}}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}html.dark-theme{color-scheme:dark}html.dark-theme body{background:linear-gradient(135deg,#0f172a,#1e293b 60%,#1a2540)!important;color:#e2e8f0}html.dark-theme .app-topbar{background:#0f172af2!important;border-bottom-color:#33415599!important}html.dark-theme .app-sidebar{background:#0f172af7!important;border-right-color:#33415580!important}html.dark-theme .sidebar-link{color:#94a3b8!important}html.dark-theme .sidebar-link:hover,html.dark-theme .sidebar-link.active{background:#3b82f626!important;color:#93c5fd!important}html.dark-theme .app-main{background:transparent!important}html.dark-theme .ndash-card,html.dark-theme .card,html.dark-theme [class*=-card]{background:#1e293bf2!important;border-color:#33415599!important;color:#e2e8f0!important}html.dark-theme input,html.dark-theme textarea,html.dark-theme select{background:#1e293b!important;border-color:#334155!important;color:#e2e8f0!important}html.dark-theme input::placeholder,html.dark-theme textarea::placeholder{color:#64748b!important}html.dark-theme table th{background:#0f172a99!important;color:#94a3b8!important}html.dark-theme table td{border-color:#33415566!important}html.dark-theme .btn,html.dark-theme button[class*=btn],html.dark-theme .app-logo-text,html.dark-theme .app-logo-accent{color:#e2e8f0!important}html.dark-theme h1,html.dark-theme h2,html.dark-theme h3,html.dark-theme h4,html.dark-theme h5,html.dark-theme h6{color:#f1f5f9!important}html.dark-theme p,html.dark-theme span,html.dark-theme label{color:#cbd5e1}html.dark-theme .att-table{background:#1e293b!important}html.dark-theme .att-table th{background:#0f172a!important;color:#94a3b8!important}html.dark-theme .att-table td{border-color:#334155!important}@media(max-width:1024px){.ndash-wrap,[style*="padding: 24px"],[style*="padding: 20px"]{padding:12px!important}.att-table-wrap,.nb-table-wrap,.instrum-tabla-scroll,.tss-grid-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}input[type=text],input[type=email],input[type=number],input[type=password],input[type=date],input[type=time],select,textarea{min-height:44px!important;font-size:16px!important;border-radius:12px!important}.btn-primary,button.btn-primary{min-height:48px!important;font-size:15px!important}.dir-dash__card,.ndash-card,.dash-panel{padding:14px 16px!important;border-radius:18px!important}.dir-nav-grid{grid-template-columns:repeat(3,1fr)!important;gap:8px!important}.tile-detail,.stat-detail-link{display:none!important}h1,h2,h3{word-break:break-word;overflow-wrap:break-word}.stats-grid-modern{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.instrum-form-grid,.cal-form-row{flex-direction:column!important}.app-main{-webkit-overflow-scrolling:touch}.modal-footer-fixed{position:sticky;bottom:0;background:#fff;padding:12px 16px;border-top:1px solid #f1f5f9;z-index:10}}
