@font-face{font-family:llScribe Sans;font-weight:400;font-style:normal;font-display:swap;src:local("llScribe Sans Regular"),local("llScribeSans-Regular")}@font-face{font-family:llScribe Sans;font-weight:700;font-style:normal;font-display:swap;src:local("llScribe Sans Bold"),local("llScribeSans-Bold")}:root{--font-family: "llScribe Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--bg-app: #1A1A1A;--bg-elevated: #222222;--bg-surface: #242424;--bg-chat: #172328;--bg-chat-bubble: rgba(22, 34, 40, .94);--bg-input: #2A2A2A;--text-primary: #FFFFFF;--text-secondary: #CCCCCC;--text-muted: #999999;--border: #3A3A3A;--accent-cyan: #1AD4C1;--accent-gold: #F2E8CF;--accent-lime: #C2CF82;--accent-blue: #2B4F6E;--gradient-data: linear-gradient(90deg, #1AD4C1 0%, #F2E8CF 35%, #C2CF82 65%, #2B4F6E 100%);--progress-done: #397A66;--progress-active: #1AD4C1;--progress-started: #F2E8CF;--progress-pending: #2A2A2A;--progress-locked: #3A3A3A;--focus-ring: rgba(26, 212, 193, .35);--shadow-card: 0 10px 40px rgba(0, 0, 0, .35);--positive: #5a9e6e;--negative: #c75c5c;--bp-sm: 480px;--bp-md: 768px;--bp-lg: 1024px;--space-page: clamp(12px, 3vw, 24px);--radius-card: clamp(12px, 2vw, 16px);--layout-max-width: min(1440px, 100%)}html{overflow-x:hidden;-webkit-text-size-adjust:100%}*{margin:0;padding:0;box-sizing:border-box}html,body,*{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,body::-webkit-scrollbar,*::-webkit-scrollbar{display:none;width:0;height:0;background:transparent}body{font-family:var(--font-family);font-weight:400;background:var(--bg-app);color:var(--text-secondary);line-height:1.6;padding:var(--space-page);min-height:100vh;min-height:100dvh;font-size:clamp(13px,1.5vw,14px);-webkit-font-smoothing:antialiased;overflow-x:hidden;display:flex;flex-direction:column}.app-top-bar{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:10px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));box-sizing:border-box}.app-top-bar__title{margin:0;font-size:clamp(.72rem,2.4vw,.85rem);font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--text-primary);white-space:nowrap;-webkit-user-select:none;user-select:none}.app-header-shell{margin-bottom:clamp(10px,2vw,14px);background:transparent;border:none;box-shadow:none;padding:0;position:relative}#appScreen .app-header-shell{padding-top:44px}.container{width:100%;max-width:var(--layout-max-width);margin:0 auto;min-width:0;flex:1 0 auto}.app-footer{flex-shrink:0;width:calc(100% + 2 * var(--space-page));margin:clamp(32px,6vw,56px) calc(-1 * var(--space-page)) calc(-1 * var(--space-page));padding:clamp(28px,5vw,44px) var(--space-page) calc(clamp(24px,4vw,32px) + env(safe-area-inset-bottom,0px));background:#000;text-align:center;border-top:1px solid rgba(255,255,255,.06)}.app-footer__logo{display:block;width:min(220px,58vw);height:auto;margin:0 auto 1.25rem;object-fit:contain}.app-footer__company{margin:0;font-size:clamp(.68rem,1.8vw,.78rem);font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--text-primary);line-height:1.15}.app-footer__rights{margin:0;font-size:clamp(.62rem,1.6vw,.72rem);letter-spacing:.06em;color:var(--text-muted);line-height:1.15}body.is-auth{padding:0;min-height:100dvh}body.is-auth #appTopBar,body.is-auth #appFooter{display:none!important}body.is-auth .container{flex:1;display:flex;align-items:center;justify-content:center;max-width:none;width:100%;margin:0 auto;padding:0}.auth-screen{width:100%;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));box-sizing:border-box}.auth-layout{width:100%;max-width:440px;margin:0 auto}.auth-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}.auth-card__brand{text-align:center;padding:clamp(28px,6vw,40px) clamp(20px,5vw,32px) clamp(16px,3vw,24px);border-bottom:1px solid var(--border)}.auth-card__logo{display:block;width:min(200px,70vw);height:auto;margin:0 auto;object-fit:contain}.auth-card__subtitle{margin:.75rem 0 0;font-size:.72rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--text-muted)}.auth-card__panel{padding:clamp(20px,4vw,28px)}.auth-card__panel .tabs{margin-bottom:clamp(16px,3vw,20px);justify-content:center}.auth-card__heading{margin:0 0 1rem;font-size:1.05rem;font-weight:400;color:var(--text-secondary)}.auth-card__lead{margin:0 0 1rem;color:var(--text-muted);font-size:.92rem;line-height:1.45}img,video,canvas,svg{max-width:100%;height:auto}.card{background:var(--bg-elevated);border-radius:var(--radius-card);padding:clamp(16px,3vw,24px);margin-bottom:clamp(14px,2.5vw,20px);box-shadow:var(--shadow-card);border:1px solid var(--border);transition:box-shadow .3s ease,border-color .3s ease;min-width:0}@media(hover:hover){.card:hover{transform:translateY(-2px);box-shadow:0 12px 32px #00000073}#tab-cursos>.card:hover,#tab-usuarios>.card:hover,#tab-estudiantes>.card:hover,#tab-bitacora>.card:hover,#tab-trading>.card:hover,#tab-notificaciones>.card:hover,#tab-mensajes>.card:hover{transform:none;box-shadow:var(--shadow-card)}}.card h2{font-family:var(--font-family);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-primary);margin-bottom:16px;padding-bottom:8px;border-bottom:none}.card h2:after{content:"";display:block;height:2px;width:56px;margin-top:10px;background:var(--gradient-data);border-radius:1px}#tab-cursos>.card>h2,#tab-usuarios>.card>h2,#tab-estudiantes>.card>h2,#tab-bitacora>.card>h2,#tab-trading>.card>h2,#tab-mensajes>.card>h2{text-align:center}#tab-cursos>.card>h2:after,#tab-usuarios>.card>h2:after,#tab-estudiantes>.card>h2:after,#tab-bitacora>.card>h2:after,#tab-trading>.card>h2:after,#tab-mensajes>.card>h2:after{margin-left:auto;margin-right:auto}.card h3{color:var(--text-primary);margin:0 0 16px;font-size:1.2rem;font-weight:400}.tabs{display:flex;flex-wrap:nowrap;gap:6px;margin-top:0!important;margin-bottom:clamp(8px,1.8vw,12px);border-bottom:2px solid var(--border);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.tab{flex:0 0 auto;padding:10px clamp(12px,3vw,24px);background:none;border:none;font-size:clamp(13px,2vw,16px);cursor:pointer;color:var(--text-secondary);transition:color .2s,background .2s;position:relative;font-family:var(--font-family);white-space:nowrap;min-height:44px}.tab.active{color:var(--text-primary);font-weight:700;border-bottom:none}.tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;background:var(--gradient-data);border-radius:2px 2px 0 0}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:400;color:var(--text-secondary)}.form-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--bg-input);color:var(--text-primary);font-family:var(--font-family);transition:border .3s}.form-input:focus{outline:none;border-color:var(--accent-cyan);box-shadow:0 0 0 2px var(--focus-ring)}select.form-input{cursor:pointer}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:clamp(12px,2vw,16px);align-items:end}.form-group-btn{display:flex;align-items:flex-end}.btn-block{width:100%}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;font-family:inherit;text-align:center;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:var(--text-primary);color:var(--bg-app);font-weight:700;letter-spacing:.02em}.btn-primary:hover{background:var(--accent-gold);color:var(--bg-app);transform:translateY(-2px);box-shadow:0 4px 16px #00000059}.btn-secondary{background:var(--accent-cyan);color:var(--text-primary)}.btn-secondary:hover{background:var(--accent-blue);transform:translateY(-1px)}.btn-outline{background:transparent;border:1px solid var(--text-primary);color:var(--text-primary)}.btn-outline:hover{background:var(--text-primary);color:var(--bg-app)}.btn-danger{background:#e53e3e;color:#fff}.btn-danger:hover{background:#c53030}.alert-placeholder{min-height:50px}.alert-placeholder:empty{display:none;min-height:0}.alert{padding:12px;border-radius:8px;margin-bottom:16px}.alert-success{background:#1e4620;color:#a3d9a5;border:1px solid #2d5a2f}.alert-error{background:#4a1c24;color:#f5a3ab;border:1px solid #5a2a32}.alert-info{background:#1a3b42;color:#a3d9e8;border:1px solid #2a4b52}.user-table,.table-scroll,#trading-logs-table,#estudiante-trades-table{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.user-table table,.table-scroll table,#trading-logs-table table,#estudiante-trades-table table,#trading-logs-table .trading-table,#estudiante-trades-table .trading-table{width:100%;min-width:min(100%,520px)}table{width:100%;border-collapse:collapse}th,td{padding:clamp(8px,2vw,12px);text-align:left;border-bottom:1px solid var(--border);vertical-align:top}th{background:var(--bg-input);font-weight:600;color:var(--text-primary)}tr:hover{background:var(--bg-input)}.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;margin:2px}.badge-active{background:#1e4620;color:#a3d9a5}.badge-inactive{background:#4a1c24;color:#f5a3ab}.estado-cuenta{display:inline-block;padding:2px 10px;border-radius:999px;font-size:13px;font-weight:600;line-height:1.35}.estado-cuenta--activo{color:#4ade80;background:#4ade801f;border:1px solid rgba(74,222,128,.35)}.estado-cuenta--inactivo{color:#f87171;background:#f871711f;border:1px solid rgba(248,113,113,.35)}.student-profile-field--tags{margin-top:4px}.perfil-usuarios-tags-row{grid-column:1 / -1;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.user-tags-panel{display:flex;flex-direction:column;gap:10px;min-width:0}.user-tags-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.user-tags-empty{font-size:.875rem}.user-tag-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:.8125rem;font-weight:600;line-height:1.3;border:1px solid var(--user-tag-border, rgba(26, 212, 193, .35));background:var(--user-tag-bg, rgba(26, 212, 193, .12));color:var(--user-tag-fg, var(--accent-cyan))}.user-tag-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin:-2px -4px -2px 2px;padding:0;border:none;border-radius:50%;background:#0003;color:inherit;font-size:1rem;line-height:1;cursor:pointer;opacity:.85}.user-tag-chip-remove:hover{opacity:1;background:#00000059}.user-tags-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}button.student-profile-label.user-tags-label-trigger{display:block;width:100%;margin:0 0 4px;padding:0;border:none;background:none;font:inherit;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);text-align:left;cursor:pointer}button.student-profile-label.user-tags-label-trigger:hover,button.student-profile-label.user-tags-label-trigger:focus-visible{color:var(--accent-cyan, #1ad4c1);outline:none}button.student-profile-label.user-tags-label-trigger[aria-expanded=true]{color:var(--accent-cyan, #1ad4c1)}.user-tags-limit-hint{font-size:.8125rem}.user-tags-add-form{padding:12px;border:1px solid var(--border);border-radius:var(--radius-card, 10px);background:var(--bg-input, rgba(255, 255, 255, .03))}.user-tags-add-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.user-tags-add-row .user-tags-name-input{flex:1 1 160px;min-width:0}.user-tags-hint{margin:0 0 8px;font-size:.75rem}.user-tags-color-picker{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.user-tags-color-swatch{width:28px;height:28px;padding:0;border-radius:50%;border:2px solid transparent;cursor:pointer;box-shadow:inset 0 0 0 1px #ffffff26;background-color:var(--swatch-bg, #2dd4bf)}.user-tags-color-swatch.is-selected{border-color:#fff;box-shadow:0 0 0 2px var(--bg-surface),0 0 0 4px var(--accent-cyan)}.user-tags-catalog-picks{display:flex;flex-wrap:wrap;gap:8px}.user-tags-catalog-pick{cursor:pointer;border-width:1px;font:inherit}.user-tags-catalog-pick:hover{filter:brightness(1.08)}.user-tags-catalog-empty{font-size:.8125rem}.user-tag-chip--teal{--user-tag-fg: #2dd4bf;--user-tag-bg: rgba(45, 212, 191, .14);--user-tag-border: rgba(45, 212, 191, .4)}.user-tag-chip--emerald{--user-tag-fg: #34d399;--user-tag-bg: rgba(52, 211, 153, .14);--user-tag-border: rgba(52, 211, 153, .4)}.user-tag-chip--sky{--user-tag-fg: #38bdf8;--user-tag-bg: rgba(56, 189, 248, .14);--user-tag-border: rgba(56, 189, 248, .4)}.user-tag-chip--violet{--user-tag-fg: #a78bfa;--user-tag-bg: rgba(167, 139, 250, .14);--user-tag-border: rgba(167, 139, 250, .4)}.user-tag-chip--rose{--user-tag-fg: #fb7185;--user-tag-bg: rgba(251, 113, 133, .14);--user-tag-border: rgba(251, 113, 133, .4)}.user-tag-chip--amber{--user-tag-fg: #fbbf24;--user-tag-bg: rgba(251, 191, 36, .14);--user-tag-border: rgba(251, 191, 36, .4)}.user-tag-chip--orange{--user-tag-fg: #fb923c;--user-tag-bg: rgba(251, 146, 60, .14);--user-tag-border: rgba(251, 146, 60, .4)}.user-tag-chip--fuchsia{--user-tag-fg: #e879f9;--user-tag-bg: rgba(232, 121, 249, .14);--user-tag-border: rgba(232, 121, 249, .4)}.user-tag-chip--lime{--user-tag-fg: #a3e635;--user-tag-bg: rgba(163, 230, 53, .14);--user-tag-border: rgba(163, 230, 53, .4)}.user-tag-chip--cyan{--user-tag-fg: #22d3ee;--user-tag-bg: rgba(34, 211, 238, .14);--user-tag-border: rgba(34, 211, 238, .4)}.user-tag-chip--indigo{--user-tag-fg: #818cf8;--user-tag-bg: rgba(129, 140, 248, .14);--user-tag-border: rgba(129, 140, 248, .4)}.user-tag-chip--slate{--user-tag-fg: #94a3b8;--user-tag-bg: rgba(148, 163, 184, .14);--user-tag-border: rgba(148, 163, 184, .4)}.user-tags-color-swatch--teal{--swatch-bg: #2dd4bf}.user-tags-color-swatch--emerald{--swatch-bg: #34d399}.user-tags-color-swatch--sky{--swatch-bg: #38bdf8}.user-tags-color-swatch--violet{--swatch-bg: #a78bfa}.user-tags-color-swatch--rose{--swatch-bg: #fb7185}.user-tags-color-swatch--amber{--swatch-bg: #fbbf24}.user-tags-color-swatch--orange{--swatch-bg: #fb923c}.user-tags-color-swatch--fuchsia{--swatch-bg: #e879f9}.user-tags-color-swatch--lime{--swatch-bg: #a3e635}.user-tags-color-swatch--cyan{--swatch-bg: #22d3ee}.user-tags-color-swatch--indigo{--swatch-bg: #818cf8}.user-tags-color-swatch--slate{--swatch-bg: #94a3b8}.user-tags-filter-field{min-width:min(100%,200px)}.user-tags-filter-field--modal{min-width:0;width:100%}.user-tags-filter-modal-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.user-tags-filter-modal-title{flex-shrink:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.user-tags-filter-admin-link{flex-shrink:0;margin:0;padding:0;border:none;background:none;font:inherit;font-size:.8125rem;font-weight:500;color:var(--accent-cyan, #1ad4c1);text-align:right;text-decoration:underline;text-underline-offset:2px;cursor:pointer;line-height:1.3}.user-tags-filter-admin-link:hover,.user-tags-filter-admin-link:focus-visible{color:var(--text-primary);outline:none}.user-tags-filter-admin-link[hidden]{display:none}.user-tags-filter--modal{display:flex;flex-direction:column;gap:10px}.user-tags-filter--modal .user-tags-filter-options{max-height:min(200px,36vh)}.user-tags-filter-panel{display:flex;flex-direction:column;gap:8px;max-height:min(320px,50vh);overflow:hidden}.user-tags-filter-search{flex-shrink:0;width:100%;min-height:36px;font-size:.875rem}.user-tags-filter-options{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start;overflow-y:auto;max-height:220px;padding:2px}.user-tags-filter-pick{border:2px solid transparent;cursor:pointer;font:inherit;transition:box-shadow .15s,border-color .15s,transform .12s}.user-tags-filter-pick:hover{transform:translateY(-1px)}.user-tags-filter-pick.is-selected{border-color:var(--accent-cyan, #1ad4c1);box-shadow:0 0 0 1px var(--bg-elevated, var(--bg-surface)),0 0 0 3px #1ad4c173;font-weight:700}.user-tags-filter-pick:focus-visible{outline:2px solid var(--accent-cyan, #1ad4c1);outline-offset:2px}.user-tags-filter-pick.is-filter-hidden,.user-tags-filter-pick[hidden]{display:none!important}.user-tags-filter-chip-preview{font-size:.75rem;padding:4px 10px}.user-tags-filter-empty,.user-tags-filter-no-match{margin:0;padding:4px;font-size:.8125rem;width:100%}.modal-etiquetas-admin{max-width:min(520px,96vw);max-height:min(85vh,640px);display:flex;flex-direction:column}.modal-etiquetas-admin .etiquetas-admin-view{flex:1;min-height:0;overflow-y:auto}.etiquetas-admin-intro{margin:0 0 12px;font-size:.8125rem}.etiquetas-admin-list{display:flex;flex-direction:column;gap:10px}.etiquetas-admin-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-input, rgba(255, 255, 255, .02))}.etiquetas-admin-row-main{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}.etiquetas-admin-row-meta{font-size:.8125rem}.etiquetas-admin-row-actions{display:flex;flex-wrap:wrap;gap:6px}.badge-lead{background:#5a5a5a;color:#fff}.badge-estudiante{background:#1e6f9f;color:#fff}.badge-tutor{background:#2c6e4e;color:#fff}.badge-comercial{background:#b87c1f;color:#fff}.badge-contador{background:#5e3a9e;color:#fff}.badge-admin{background:#b33b3b;color:#fff}.badge-superadmin{background:#6d1e1e;color:#fff}.user-header{display:flex;justify-content:flex-end;align-items:center;gap:clamp(10px,2vw,16px);margin:0;position:absolute;top:4px;right:0;flex-wrap:wrap;z-index:2}.user-header-start{display:none}.user-header-end{display:flex;align-items:center;gap:clamp(8px,2vw,12px);flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.user-profile-trigger{border:1px solid var(--border);border-radius:999px;background:#ffffff0a;color:var(--text-primary);display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;cursor:pointer;min-height:34px}.user-profile-trigger:hover{border-color:#1ad4c173;background:#1ad4c114}.user-profile-trigger[aria-expanded=true]{border-color:#1ad4c18c;background:#1ad4c11a;box-shadow:0 0 0 1px #1ad4c11f}.user-profile-trigger__avatar{width:24px;height:24px;border-radius:50%;background:#1ad4c133;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:var(--text-primary);overflow:hidden}.user-profile-trigger__avatar-img{width:100%;height:100%;object-fit:cover;display:block}.user-profile-trigger__name{font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;line-height:1.2;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-roles{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.user-roles--header{justify-content:flex-end}.user-roles[hidden]{display:none!important}.btn-perfil-toggle{flex-shrink:0;padding:4px 10px!important;font-size:.75rem!important;line-height:1.3;min-height:28px;white-space:nowrap}.btn-notificaciones-toggle{display:inline-flex;align-items:center;gap:6px}.user-notificaciones-trigger{width:34px;min-width:34px;height:34px;min-height:34px;padding:0;justify-content:center;gap:0}.btn-notificaciones-toggle-icon{display:inline-block!important;flex-shrink:0;vertical-align:middle;line-height:1}.btn-notificaciones-toggle--pendiente{color:var(--bg-app);background:var(--accent-cyan);border-color:var(--accent-cyan);box-shadow:none}.btn-notificaciones-toggle--pendiente:hover{color:var(--bg-app);background:var(--accent-cyan);border-color:var(--accent-cyan);filter:brightness(1.08)}.btn-notificaciones-toggle--pendiente .btn-notificaciones-toggle-icon{color:var(--bg-app);transform-origin:top center;animation:notificaciones-campana-swing 2s ease-in-out infinite}@keyframes notificaciones-campana-swing{0%,72%,to{transform:rotate(0)}78%{transform:rotate(-17deg)}84%{transform:rotate(15deg)}90%{transform:rotate(-10deg)}96%{transform:rotate(6deg)}}@media(prefers-reduced-motion:reduce){.btn-notificaciones-toggle--pendiente .btn-notificaciones-toggle-icon{animation:none}}.btn-text-logout{background:none;border:none;padding:4px 0;color:var(--text-muted);font-size:clamp(.75rem,2vw,.8125rem);cursor:pointer;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;margin-left:auto}.btn-text-logout:hover{color:var(--accent-cyan)}.user-perfil-header-actions{margin-top:14px;display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:10px}.user-perfil-header-actions-left{display:flex;align-items:center;gap:8px;margin-right:auto}.btn-text-accion-perfil{background:none;border:none;padding:4px 0;color:var(--text-muted);font-size:clamp(.75rem,2vw,.8125rem);cursor:pointer;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.btn-text-accion-perfil:hover{color:var(--accent-cyan)}.user-perfil-accordion{margin:0 0 clamp(14px,2.5vw,20px);padding:clamp(14px,3vw,20px);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--bg-surface);box-shadow:inset 0 1px #ffffff0a;overflow:hidden;transform-origin:top right;transition:max-height .32s ease-out,opacity .28s ease-out,transform .28s ease-out,padding .32s ease-out,margin .32s ease-out,border-color .2s ease,box-shadow .2s ease}#appScreen .user-perfil-accordion{margin-top:8px}.user-perfil-accordion[hidden]{display:none!important}.user-perfil-accordion.is-open{border-color:#1ad4c159;opacity:1;transform:translateY(0)}.user-perfil-accordion.is-open.is-loaded,.user-perfil-accordion.is-open:not(.is-loading):not(.is-opening):not(.is-closing){max-height:none;overflow:visible}.user-perfil-accordion.is-open.is-loading:not(.is-closing),.user-perfil-accordion.is-open.is-opening,.user-perfil-accordion.is-open.is-closing{overflow:hidden}.user-perfil-accordion.is-open.is-loading:not(.is-closing){min-height:clamp(220px,32vw,280px)}.user-perfil-accordion.is-open.is-opening.is-loading{max-height:clamp(220px,32vw,280px);min-height:clamp(220px,32vw,280px)}.user-perfil-accordion.is-open.is-opening:not(.is-loading){max-height:0;opacity:0;transform:translateY(-6px);padding-block:0;margin-bottom:0;overflow:hidden}.user-perfil-accordion.is-open.is-closing{max-height:0;opacity:0;transform:translateY(-6px);padding-block:0;margin-bottom:0;pointer-events:none}.user-perfil-accordion.is-loading{animation:perfil-accordion-glow 1.8s ease-in-out infinite}@keyframes perfil-accordion-glow{0%,to{border-color:#1ad4c147;box-shadow:inset 0 1px #ffffff0a,0 0 #1ad4c100}50%{border-color:#1ad4c19e;box-shadow:inset 0 1px #ffffff0a,0 0 18px #1ad4c138}}.user-perfil-accordion__loader{display:flex;align-items:center;justify-content:center;min-height:clamp(180px,28vw,240px)}.user-perfil-accordion__loader .app-loading{min-height:0}.user-perfil-accordion__error{flex-direction:column;gap:12px;text-align:center;color:var(--text-secondary);font-size:.875rem}.user-perfil-accordion__error p{margin:0}.user-perfil-accordion__error-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.user-perfil-content{min-width:0}.user-perfil-content.is-revealing{opacity:0;filter:blur(4px);transition:opacity .28s ease-out,filter .28s ease-out}.user-perfil-content.is-revealing.is-revealed{opacity:1;filter:blur(0)}@media(prefers-reduced-motion:reduce){.user-perfil-accordion{transition:opacity .15s ease,max-height .15s ease}.user-perfil-accordion.is-open.is-opening,.user-perfil-accordion.is-open.is-closing{transform:none}.user-perfil-accordion.is-loading{animation:none;border-color:#1ad4c173}.user-perfil-content.is-revealing{filter:none;transition:opacity .15s ease}}.panel-transition.card{--panel-transition-min-height-loading: clamp(220px, 32vw, 280px);position:relative;overflow:visible;transform-origin:top center;transition:max-height .32s ease-out,opacity .28s ease-out,transform .32s ease-out,min-height .28s ease-out,border-color .2s ease,box-shadow .2s ease!important}.panel-transition.is-open.is-loading,.panel-transition.is-open.is-opening,.panel-transition.is-open.is-closing{overflow:hidden}#tab-cursos>.card.panel-transition,#tab-notificaciones>.card.panel-transition,#tab-mensajes>.card.panel-transition,#tab-bitacora>.card.panel-transition,#tab-trading>.card.panel-transition,#tab-registrar-trade>.card.panel-transition{transform:none}#tab-cursos>.card.panel-transition.is-open,#tab-notificaciones>.card.panel-transition.is-open,#tab-mensajes>.card.panel-transition.is-open,#tab-bitacora>.card.panel-transition.is-open,#tab-trading>.card.panel-transition.is-open,#tab-registrar-trade>.card.panel-transition.is-open{transform:translateY(0)}#tab-cursos>.card.panel-transition.is-open.is-opening:not(.is-loading),#tab-notificaciones>.card.panel-transition.is-open.is-opening:not(.is-loading),#tab-mensajes>.card.panel-transition.is-open.is-opening:not(.is-loading),#tab-bitacora>.card.panel-transition.is-open.is-opening:not(.is-loading),#tab-trading>.card.panel-transition.is-open.is-opening:not(.is-loading),#tab-registrar-trade>.card.panel-transition.is-open.is-opening:not(.is-loading),#tab-cursos>.card.panel-transition.is-open.is-closing,#tab-notificaciones>.card.panel-transition.is-open.is-closing,#tab-mensajes>.card.panel-transition.is-open.is-closing,#tab-bitacora>.card.panel-transition.is-open.is-closing,#tab-trading>.card.panel-transition.is-open.is-closing,#tab-registrar-trade>.card.panel-transition.is-open.is-closing{transform:translateY(-10px);margin-bottom:0;padding-block:0;min-height:0}#tab-cursos>.card.panel-transition.is-open.is-opening.is-loading,#tab-notificaciones>.card.panel-transition.is-open.is-opening.is-loading,#tab-mensajes>.card.panel-transition.is-open.is-opening.is-loading,#tab-bitacora>.card.panel-transition.is-open.is-opening.is-loading,#tab-trading>.card.panel-transition.is-open.is-opening.is-loading,#tab-registrar-trade>.card.panel-transition.is-open.is-opening.is-loading{transform:translateY(-10px);margin-bottom:clamp(14px,2.5vw,20px);padding-block:clamp(16px,3vw,24px);min-height:var(--panel-transition-min-height-loading);max-height:var(--panel-transition-min-height-loading);opacity:0}.panel-transition.is-open.is-loading:not(.is-closing){min-height:var(--panel-transition-min-height-loading);max-height:none}.panel-transition.is-open.is-opening:not(.is-loading){max-height:0;opacity:0;transform:translateY(-8px)}.panel-transition.is-open.is-opening.is-loading{max-height:var(--panel-transition-min-height-loading);min-height:var(--panel-transition-min-height-loading);opacity:0;transform:translateY(-8px)}#tab-registrar-trade>.card.panel-transition{--panel-transition-min-height-loading: clamp(260px, 38vw, 320px)}#tab-trading>.card.panel-transition.is-loading{--panel-transition-min-height-loading: clamp(240px, 34vw, 300px)}.panel-transition.is-open{border-color:#1ad4c159;opacity:1;transform:translateY(0)}.panel-transition.is-open.is-loaded,.panel-transition.is-open:not(.is-loading):not(.is-opening):not(.is-closing){max-height:none;min-height:0;overflow:visible}.panel-transition.is-open.is-closing{max-height:0;opacity:0;transform:translateY(-8px);pointer-events:none}.panel-transition.is-loading{animation:panel-transition-glow 1.8s ease-in-out infinite}@keyframes panel-transition-glow{0%,to{border-color:#1ad4c147;box-shadow:inset 0 1px #ffffff0a,0 0 #1ad4c100}50%{border-color:#1ad4c19e;box-shadow:inset 0 1px #ffffff0a,0 0 18px #1ad4c138}}.panel-transition__loader{display:flex;align-items:center;justify-content:center;min-height:clamp(180px,28vw,240px)}.panel-transition__loader .app-loading{min-height:0}.panel-transition__overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:flex;align-items:center;justify-content:center;min-height:inherit;background:#0a0c1259;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border-radius:inherit}.panel-transition__overlay[hidden]{display:none!important}.panel-transition .is-revealing,.is-revealing.panel-transition__content{opacity:0;filter:blur(4px);transition:opacity .28s ease-out,filter .28s ease-out}.panel-transition .is-revealing.is-revealed,.is-revealing.panel-transition__content.is-revealed{opacity:1;filter:blur(0)}@media(prefers-reduced-motion:reduce){.panel-transition.card{transition:opacity .15s ease,max-height .15s ease}.panel-transition.is-open.is-opening,.panel-transition.is-open.is-closing{transform:none}.panel-transition.is-loading{animation:none;border-color:#1ad4c173}.panel-transition .is-revealing,.is-revealing.panel-transition__content{filter:none;transition:opacity .15s ease}}.user-perfil-form-grid{display:grid;grid-template-columns:minmax(0,140px) minmax(0,1fr);gap:clamp(16px,4vw,28px);align-items:start}.user-perfil-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:clamp(12px,2vw,16px);min-width:0}.user-perfil-fields .form-group{margin-bottom:0}.user-perfil-readonly hr{border:none;border-top:1px solid var(--border);margin:clamp(16px,3vw,24px) 0}.user-perfil-hint{margin:0 0 12px;font-size:.8125rem;color:var(--text-muted);grid-column:1 / -1}.user-perfil-hint--top{margin:0 0 clamp(12px,2vw,16px);padding:10px 12px;background:#1ad4c114;border:1px solid rgba(26,212,193,.2);border-radius:8px}.user-perfil-fields--edit{grid-template-columns:repeat(2,minmax(0,1fr))}.user-perfil-fields--edit>button[type=submit]{grid-column:1 / -1;justify-self:center;margin-top:4px}.user-perfil-photo-upload{cursor:pointer;display:block;justify-self:center}.user-perfil-photo-wrap{justify-self:center}.user-perfil-photo-circle{position:relative;width:clamp(96px,22vw,128px);height:clamp(96px,22vw,128px);border-radius:50%;overflow:hidden;border:2px solid var(--border);background:var(--bg-input);transition:border-color .2s,box-shadow .2s}.user-perfil-photo-upload:hover .user-perfil-photo-circle,.user-perfil-photo-upload:focus-within .user-perfil-photo-circle{border-color:var(--accent-cyan);box-shadow:0 0 0 3px var(--focus-ring)}.user-perfil-photo-circle .student-profile-photo{width:100%;height:100%;border:none;border-radius:0;object-fit:cover}.user-perfil-photo-circle--empty .student-profile-photo--placeholder{display:none!important}.user-perfil-photo-readonly-empty{display:flex!important;align-items:center;justify-content:center;width:clamp(96px,22vw,128px);height:clamp(96px,22vw,128px);border-radius:50%;font-weight:700;font-size:clamp(1.25rem,4vw,1.75rem);color:var(--text-secondary);background:var(--bg-input);border:2px solid var(--border)}.user-perfil-photo-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:12px;text-align:center;font-size:clamp(.7rem,2.2vw,.8rem);font-weight:600;line-height:1.3;color:var(--text-secondary);background:var(--bg-input);z-index:1;transition:color .2s,background .2s}.user-perfil-photo-upload:hover .user-perfil-photo-hint,.user-perfil-photo-upload:focus-within .user-perfil-photo-hint{color:var(--accent-cyan)}.user-perfil-photo-circle--has-preview .user-perfil-photo-hint{background:#0000008c;color:var(--text-primary);opacity:0}.user-perfil-photo-upload:hover .user-perfil-photo-circle--has-preview .user-perfil-photo-hint,.user-perfil-photo-upload:focus-within .user-perfil-photo-circle--has-preview .user-perfil-photo-hint{opacity:1}.student-profile-field--solicitud{display:flex;flex-direction:column;gap:6px;align-self:stretch}.student-profile-field--solicitud-action .btn-solicitar-cambio-perfil{align-self:flex-start;margin-top:2px;white-space:normal;text-align:left}.user-perfil-solicitud-hint{margin:0;font-size:.8rem;line-height:1.35}.user-perfil-fields .student-profile-field{min-height:100%}.student-profile-field-estado-main{display:flex;flex-direction:column;gap:4px;min-width:0}.btn-solicitar-cambio-perfil,.btn-perfil-accion{flex-shrink:0;white-space:nowrap}.user-perfil-acciones{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.user-perfil-card-layout .user-perfil-photo-upload--card{display:inline-block;cursor:pointer}.user-perfil-photo-circle--card{width:clamp(88px,18vw,128px);height:clamp(88px,18vw,128px);border-radius:50%;border:2px solid var(--border);overflow:hidden;position:relative}.user-perfil-photo-circle--card .student-profile-photo,.user-perfil-photo-circle--card .student-profile-photo--placeholder{width:100%;height:100%;border:none;border-radius:50%}.student-profile-field--meta-action{display:flex;flex-direction:column;gap:6px}.user-perfil-pending-badge{font-size:.75rem;color:var(--accent-gold);font-weight:600}.modal-confirm-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;flex-wrap:wrap}.log-link-foto{color:var(--accent-cyan);text-decoration:underline;text-underline-offset:2px}.log-link-foto:hover{color:var(--text-primary)}.usuarios-log-body a.log-link-foto,.activity-detail-body a.log-link-foto{color:var(--accent-cyan)}.log-link-trade{display:inline;padding:0;border:none;background:none;font:inherit;line-height:inherit;color:var(--accent-cyan);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.log-link-trade:hover{color:var(--text-primary)}.activity-detail-body .log-link-trade{color:var(--accent-cyan)}.user-perfil-readonly .student-profile-field{padding:10px 12px;background:var(--bg-input);border-radius:8px;border:1px solid var(--border)}.estudiante-perfil-header-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.estudiante-perfil-header-name{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%}.estudiante-perfil-header-name h2{min-width:0;margin:0;line-height:1.15}.estudiante-perfil-header-name .estudiante-perfil-bitacora-link.estudiante-perfil-mensaje-btn{min-height:0;min-width:0;padding:0;margin:0;font-size:clamp(1.05rem,2.8vw,1.35rem);line-height:1;display:inline-flex;align-items:center;justify-content:center;align-self:center;color:var(--text-primary)}@media(hover:hover){.estudiante-perfil-header-name .estudiante-perfil-bitacora-link.estudiante-perfil-mensaje-btn:hover{color:var(--accent-cyan);background:none}}.estudiante-perfil-header-name .estudiante-perfil-mensaje-icon{width:1em;height:1em;display:block;transform:translateY(-.2em)}.estudiante-perfil-solicitudes{margin-top:16px}.profile-request-card{padding:12px 14px;border:1px solid var(--border);border-radius:8px;margin-bottom:10px;background:var(--bg-input)}.estudiante-perfil-solicitudes .profile-request-card--estudiante{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px 16px}.estudiante-perfil-solicitudes .profile-request-card-content{flex:1 1 auto;min-width:0}.estudiante-perfil-solicitudes .profile-request-meta{margin:0 0 4px;font-size:12px}.estudiante-perfil-solicitudes .profile-request-message{margin:0;font-size:14px;line-height:1.4}.estudiante-perfil-solicitudes .profile-request-card-actions{display:flex;flex-shrink:0;align-items:center;justify-content:flex-end}.estudiante-perfil-solicitudes .profile-request-approve-btn{padding-top:4px;padding-bottom:4px;min-height:0;height:auto;line-height:1.25}.notificaciones-section{margin-bottom:24px}.notificaciones-section:last-of-type{margin-bottom:0}.notificaciones-section-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.notificaciones-section-title{margin:0;font-size:1rem;font-weight:600}.notificaciones-section-hint{margin:0 0 12px;font-size:.85rem}.notificaciones-solicitudes-bandeja{padding:14px 16px;border:1px solid rgba(26,212,193,.25);border-radius:var(--radius-card);background:#1ad4c10f}.notificaciones-solicitudes-list,.notificaciones-personal-list{display:flex;flex-direction:column;gap:10px}.notificacion-card{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-input)}.notificacion-card-inner{display:flex;align-items:center;gap:12px}.notificacion-card-content{flex:1;min-width:0}.notificacion-card--info{border-color:#1ad4c159}.notificacion-card--success{border-color:#1ad4c18c;background:#1ad4c11a}.notificacion-card--rejected{border-color:#b33b3b73;background:#b33b3b14}.notificacion-card--birthday{border-color:#d4af378c;background:linear-gradient(145deg,#201c16fa,#12100efc);box-shadow:0 6px 28px #d4af371f}.notificacion-card--birthday .notificacion-card-title{color:#e8c547;letter-spacing:.14em;font-weight:700}.notificacion-inline-link--birthday{color:var(--accent-cyan);font-weight:600;text-decoration:underline;text-underline-offset:3px}.notificacion-inline-link--birthday:hover{color:#5ee8d8}.notificacion-card-meta{margin:0 0 4px;font-size:.75rem;line-height:1.3;color:var(--text-muted);letter-spacing:.02em}.notificacion-card-title{margin:0 0 4px;font-size:.95rem;font-weight:600;line-height:1.35;color:var(--text-primary)}.notificacion-card-title .notificacion-solicitud-roles{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:8px;vertical-align:middle}.notificacion-card-body{margin:0;font-size:.875rem;line-height:1.45;color:var(--text-secondary)}.notificacion-card-sub{font-size:.8rem;color:var(--text-muted)}.notificacion-card-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0;margin:0;padding:2px 0}.notificacion-card-actions .btn-sm{padding:4px 10px;font-size:.75rem;line-height:1.3;min-height:28px}@media(max-width:720px){.notificacion-card-inner{flex-direction:column;align-items:stretch}.notificacion-card-actions{flex-wrap:wrap;justify-content:flex-end;padding-top:4px}}.notificaciones-empty,.notificaciones-solicitudes-empty{margin:0;font-size:.875rem}.badge-solicitud-count{background:var(--accent-gold);color:#1a1a1a;font-size:.7rem;padding:2px 8px;border-radius:999px}.badge-inactividad-count{background:#c45c26;color:#fff}.notificacion-card--inactividad .notificacion-card-title{color:#c45c26}.usuarios-solicitud-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.usuarios-solicitud-user-name{display:block;font-size:.95rem}.notificacion-solicitud-roles,.usuarios-solicitud-roles{display:inline-flex;flex-wrap:wrap;gap:4px;margin-top:4px}.notificacion-solicitud-email,.usuarios-solicitud-email{margin:4px 0 0;font-size:.8rem}.notificacion-solicitud-message,.usuarios-solicitud-message{margin:0 0 6px;font-size:.9rem;line-height:1.4}.notificacion-solicitud-actions,.usuarios-solicitud-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.profile-request-changes{font-size:.8rem;white-space:pre-wrap;margin:8px 0;color:var(--text-secondary)}.photo-history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(88px,100%),1fr));gap:12px}.photo-history-item{display:flex;flex-direction:column;gap:4px;text-align:center;font-size:.75rem;color:var(--text-secondary)}.photo-history-item img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;border:1px solid var(--border)}@media(max-width:768px){.user-header{align-items:flex-start}.user-header-end{width:100%;justify-content:space-between}.user-perfil-form-grid{grid-template-columns:1fr;justify-items:stretch}.user-perfil-photo-upload,.user-perfil-photo-wrap{justify-self:center}.user-perfil-fields{grid-template-columns:1fr}}@media(max-width:480px){.user-header-start{flex-direction:column;align-items:flex-start;width:100%}.btn-perfil-toggle{width:100%;text-align:center}}.admin-section{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.admin-section:last-child{border-bottom:none}.tab-content{min-width:0;width:100%}.students-toolbar,.trading-course-toolbar,.student-trading-filters{display:flex;flex-wrap:wrap;gap:clamp(10px,2vw,12px);align-items:flex-end}.students-toolbar .form-group,.student-trading-filters .form-group{flex:1 1 160px;min-width:min(100%,140px);margin-bottom:0}.students-toolbar .form-group[style*="flex: 2"],.student-trading-filters .form-group[style*="flex: 2"]{flex:2 1 220px;min-width:min(100%,200px)}.students-toolbar .form-group-btn,.student-trading-filters .form-group-btn{flex:1 1 auto;min-width:min(100%,120px)}.students-toolbar .btn,.student-trading-filters .btn{width:100%}#tab-estudiantes,#tab-usuarios{--estudiantes-control-height: 42px}#tab-estudiantes input.form-input,#tab-estudiantes select.form-input,#tab-usuarios input.form-input,#tab-usuarios select.form-input{height:var(--estudiantes-control-height);min-height:var(--estudiantes-control-height);box-sizing:border-box;padding-top:0;padding-bottom:0;line-height:calc(var(--estudiantes-control-height) - 2px)}#tab-estudiantes .students-toolbar .form-group-btn:not(.estudiantes-toolbar-filtros),#tab-usuarios .students-toolbar .form-group-btn:not(.estudiantes-toolbar-filtros){flex:1 1 auto;min-width:min(100%,120px)}#tab-estudiantes .students-toolbar .form-group-btn.estudiantes-toolbar-filtros,#tab-usuarios .students-toolbar .form-group-btn.estudiantes-toolbar-filtros{flex:0 0 auto;width:auto;min-width:var(--estudiantes-control-height, 42px);max-width:var(--estudiantes-control-height, 42px)}#tab-estudiantes .students-toolbar .form-group-btn:not(.estudiantes-toolbar-filtros) .btn,#tab-usuarios .students-toolbar .form-group-btn:not(.estudiantes-toolbar-filtros) .btn{display:flex;align-items:center;justify-content:center;width:100%;height:var(--estudiantes-control-height);min-height:var(--estudiantes-control-height);max-height:var(--estudiantes-control-height);padding:0 20px;box-sizing:border-box;line-height:1.2}.estudiantes-search-wrap{position:relative;width:100%}.estudiantes-search-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:120;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0003;max-height:min(320px,50vh);overflow-y:auto}.estudiantes-search-suggestion-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px;border:none;border-bottom:1px solid var(--bg-input);background:none;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.estudiantes-search-suggestion-item:last-child{border-bottom:none}.estudiantes-search-suggestion-item:hover,.estudiantes-search-suggestion-item:focus-visible{background:var(--bg-input);outline:none}.estudiantes-search-suggestion-name{font-weight:600;font-size:14px}.estudiantes-search-suggestion-email{font-size:12px}.estudiantes-toolbar-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:clamp(10px,2vw,12px)}.estudiantes-toolbar-search{flex:2 1 220px;min-width:min(100%,200px)}.estudiantes-toolbar-course{flex:2 1 200px;min-width:min(100%,180px)}.estudiantes-toolbar-buscar{flex:0 1 auto;min-width:min(100%,120px)}.estudiantes-toolbar-filtros{flex:0 0 auto;min-width:0}.estudiantes-toolbar-buscar-filtros{display:inline-flex;flex:0 0 auto;align-items:flex-end;gap:0;width:max-content;max-width:100%;margin-bottom:0}#tab-estudiantes .students-toolbar .estudiantes-toolbar-buscar-filtros .form-group-btn,#tab-usuarios .students-toolbar .estudiantes-toolbar-buscar-filtros .form-group-btn{flex:0 0 auto;width:auto;min-width:0;max-width:none;margin-bottom:0}#tab-estudiantes .students-toolbar .estudiantes-toolbar-buscar-filtros .form-group-btn .btn,#tab-usuarios .students-toolbar .estudiantes-toolbar-buscar-filtros .form-group-btn .btn{width:auto}#tab-estudiantes .estudiantes-toolbar-buscar-filtros .estudiantes-toolbar-buscar .btn,#tab-usuarios .estudiantes-toolbar-buscar-filtros .estudiantes-toolbar-buscar .btn{min-width:4.75rem;padding-left:14px;padding-right:14px;border-top-right-radius:0;border-bottom-right-radius:0}#tab-estudiantes .estudiantes-toolbar-buscar-filtros .estudiantes-toolbar-filtros,#tab-usuarios .estudiantes-toolbar-buscar-filtros .estudiantes-toolbar-filtros{min-width:0;max-width:none}#tab-estudiantes .estudiantes-toolbar-buscar-filtros .estudiantes-filtros-btn,#tab-usuarios .estudiantes-toolbar-buscar-filtros .estudiantes-filtros-btn{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.estudiantes-filtros-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--estudiantes-control-height, 42px);min-width:var(--estudiantes-control-height, 42px);max-width:var(--estudiantes-control-height, 42px);height:var(--estudiantes-control-height, 42px);min-height:var(--estudiantes-control-height, 42px);padding:0;overflow:visible;color:var(--text-primary);flex-shrink:0}.estudiantes-filtros-icon{display:block;flex-shrink:0;width:18px;height:18px;color:currentColor;pointer-events:none}#tab-estudiantes .students-toolbar .form-group-btn.estudiantes-toolbar-filtros>.estudiantes-filtros-btn,#tab-usuarios .students-toolbar .form-group-btn.estudiantes-toolbar-filtros>.estudiantes-filtros-btn{width:var(--estudiantes-control-height, 42px);min-width:var(--estudiantes-control-height, 42px);max-width:var(--estudiantes-control-height, 42px);padding:0}.estudiantes-filtros-btn--active{border-color:var(--accent-cyan, #1ad4c1);color:var(--accent-cyan, #1ad4c1)}.estudiantes-filtros-badge{position:absolute;top:7px;right:7px;width:8px;height:8px;border-radius:50%;background:var(--accent-cyan, #1ad4c1);box-shadow:0 0 0 2px var(--bg-surface, #0f1419)}.modal-estudiantes-filtros{max-width:min(480px,calc(100vw - 32px))}.modal-estudiantes-filtros-body{display:flex;flex-direction:column;gap:14px;max-height:min(70vh,560px);overflow-y:auto;padding:4px 2px 8px}.modal-estudiantes-filtros-body .user-tags-filter-field--modal{margin-bottom:0}.estudiantes-filtros-date-range{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.estudiantes-filtros-date-range .form-input{flex:1 1 140px;min-width:0}.estudiantes-filtros-date-sep{flex:0 0 auto;font-size:.875rem}.estudiantes-search-suggestions-empty{margin:0;padding:12px;font-size:13px}#cursosList{display:flex;flex-direction:column;gap:10px}.curso-card{background:var(--bg-elevated);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:20px;box-shadow:0 4px 12px #0003;transition:all .2s ease;height:100%;min-height:220px;display:flex;flex-direction:column;align-items:center;text-align:center}.curso-card h3{margin-top:0;margin-bottom:12px;color:var(--text-primary);font-size:1.2rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;width:100%;text-align:center}.curso-card-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:8px;min-height:0}.curso-card .curso-descripcion{color:var(--text-secondary);margin:0;font-size:.9rem;width:100%;text-align:center}.cursos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:0;align-items:stretch}.courses-list-top{display:flex;flex-direction:column;gap:10px}.courses-list-top>.courses-admin-toolbar{flex-shrink:0;margin:0;width:100%;justify-content:flex-end}.courses-list-top>.cursos-grid{margin-top:0;width:100%}.courses-tutor-preview{margin-bottom:8px;padding:14px 16px}.courses-tutor-preview-label{display:block;font-weight:600;margin-bottom:8px}.courses-tutor-preview-row{display:flex;gap:8px;align-items:center}.courses-tutor-preview-select{flex:1;min-width:0}.courses-tutor-preview-hint{margin:10px 0 0;font-size:.85rem}.courses-view-as-banner{margin:8px 0 0;padding:8px 12px;background:#1ad4c11f;border-radius:6px;border-left:3px solid var(--accent-cyan);font-size:.9rem}.courses-back-list{margin-bottom:10px}.courses-hint{margin:0 0 12px;font-size:.9rem}.courses-admin-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px;margin-bottom:8px;width:100%}.courses-admin-toolbar .btn.btn-primary.btn-sm{padding-top:4px;padding-bottom:4px;min-height:0;height:auto;line-height:1.25}.curso-meta{font-size:.85rem;color:var(--text-muted);margin:0;width:100%;text-align:center}.curso-player{display:flex;flex-direction:column;gap:16px}.curso-player-header{position:relative}.curso-player-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:4px;min-height:0}.curso-player-header-top-start{flex:0 1 auto;min-width:0}.curso-mis-tiempos-btn{flex:0 0 auto;margin-left:auto;padding:2px 0;font-size:.75rem;font-weight:500;line-height:1.3;color:var(--accent-cyan);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.curso-mis-tiempos-btn:hover,.curso-mis-tiempos-btn:focus-visible{color:var(--accent-gold);outline:none}.curso-player-header h2{margin:0 0 8px;padding-right:0}@media(max-width:520px){.curso-player-header-top{flex-wrap:wrap}.curso-mis-tiempos-btn{font-size:.7rem}.curso-player-header h2{font-size:1.15rem;width:100%}}.curso-player-desc{color:var(--text-secondary);margin:0 0 12px;font-size:.95rem}.modal-mis-tiempos{width:min(100%,520px);max-height:min(90vh,720px);overflow-y:auto}.modal-mis-tiempos-body{display:flex;flex-direction:column;gap:16px}.modal-mis-tiempos-hero{padding:14px 16px;background:var(--bg-input);border-radius:var(--radius-md, 10px);border:1px solid rgba(26,212,193,.15);text-align:center}.modal-mis-tiempos-hero-label{margin:0 0 10px;font-size:.95rem;color:var(--text-secondary);text-align:center}.modal-mis-tiempos-hero-label strong{color:var(--accent-gold);font-weight:600}.modal-mis-tiempos-hero .curso-player-progress-track{height:10px;box-sizing:border-box;border:1px solid rgba(26,212,193,.28)}.modal-mis-tiempos-hero-meta{margin:8px 0 0;font-size:.85rem;color:var(--text-muted);text-align:center}.modal-mis-tiempos-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.modal-mis-tiempos-field{display:flex;flex-direction:column;gap:4px;min-width:0}.modal-mis-tiempos-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.modal-mis-tiempos-value{font-size:.9rem;color:var(--text-primary);line-height:1.35;word-break:break-word}.modal-mis-tiempos-value--multiline{white-space:pre-line}@media(max-width:520px){.modal-mis-tiempos{width:100%;max-height:92vh;margin:8px}.modal-mis-tiempos-grid{grid-template-columns:1fr}.modal-mis-tiempos-hero{padding:12px}}.curso-player-progress-bar-wrap{margin-top:8px}.curso-player-progress-label{font-size:.9rem;color:var(--text-muted);margin-bottom:6px}.curso-player-progress-track{position:relative;height:8px;background:var(--bg-input);border-radius:999px;overflow:hidden}.curso-player-progress-fill{position:absolute;left:0;top:0;bottom:0;width:100%;background:var(--gradient-data);border-radius:999px;transform:scaleX(calc(var(--progress-pct, 0) / 100));transform-origin:left center;transition:transform .35s ease}.curso-player-progress-track.is-compact{height:6px;margin-top:6px;width:100%;background:var(--bg-input);border-radius:999px;overflow:hidden}.curso-player-progress-track.is-compact.is-empty{background:var(--bg-input);opacity:.6}.curso-player-module-header-main .curso-player-progress-track.is-compact{display:block}.curso-player-progress-track--segmented{display:flex;gap:3px;background:transparent;overflow:visible}.curso-player-progress-track--segmented.is-compact{height:3px;margin-top:6px}.curso-player-progress-segment{flex:1;min-width:4px;height:100%;border-radius:999px;background:var(--progress-pending);transition:background .2s ease}.curso-player-progress-segment--completed{background:var(--progress-done)}.curso-player-progress-segment--active{background:var(--progress-active);box-shadow:0 0 0 1px #1ad4c159}.curso-player-progress-segment--in-progress{background:var(--progress-started)}.curso-player-progress-segment--pending{background:var(--progress-pending)}.curso-player-progress-segment--locked,.curso-player-progress-segment--locked-activation{background:var(--progress-locked);opacity:.85}.curso-player-body{display:grid;grid-template-columns:minmax(240px,300px) 1fr;gap:16px;align-items:start;position:relative}.curso-player-sidebar-backdrop{display:none}.curso-player-sidebar{display:flex;flex-direction:column;padding:16px;overflow:hidden}.curso-player-sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;flex-shrink:0}.curso-player-sidebar-top h3{margin:0;font-size:1rem}.curso-player-sidebar-close{display:none}.curso-player-curriculum{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}@media(min-width:900px){.curso-player-body{align-items:stretch}.curso-player-sidebar{max-height:none;overflow:visible;align-self:stretch}.curso-player-curriculum{overflow:visible;flex:1 1 auto}}.curso-player-module{border-bottom:1px solid var(--bg-input)}.curso-player-module-header{width:100%;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 4px;background:none;border:none;color:var(--text-primary);cursor:pointer;text-align:left;font-weight:600;font-size:.9rem}.curso-player-module-header-main{flex:1;min-width:0}.curso-player-module-meta{font-size:.8rem;color:var(--text-muted);flex-shrink:0}.curso-player-lessons{list-style:none;margin:0;padding:0 0 8px 8px;display:none}.curso-player-module.is-open .curso-player-lessons{display:block}.curso-player-lesson{width:100%;display:flex;justify-content:space-between;align-items:flex-start;gap:6px;padding:8px 10px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;text-align:left;border-radius:8px;font-size:.88rem}.curso-player-lesson-bullet{flex-shrink:0;width:1em;text-align:center;line-height:1.35;color:var(--text-muted);font-size:1.1em}.curso-player-lesson.is-active .curso-player-lesson-bullet{color:var(--accent-cyan)}.curso-player-lesson.is-completed .curso-player-lesson-bullet{color:var(--progress-done)}.curso-player-lesson-main{flex:1;min-width:0}.curso-player-lesson:hover{background:#ffffff0a}.curso-player-lesson.is-active{background:var(--bg-input);color:var(--text-primary);font-weight:600}.curso-player-lesson.is-locked{opacity:.72;cursor:not-allowed}.curso-player-lesson.is-locked-activation{border-left:3px solid var(--progress-locked)}.curso-player-lesson.is-locked-prerequisites{border-left:3px solid var(--accent-cyan)}.lesson-prerequisites-picker{display:flex;flex-direction:column;gap:12px;max-height:220px;overflow-y:auto;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-input)}.lesson-prerequisites-module{border:none;margin:0;padding:0}.lesson-prerequisites-module legend{font-size:.85rem;color:var(--text-secondary);margin-bottom:6px;padding:0}.lesson-prerequisites-options{display:flex;flex-direction:column;gap:6px}.lesson-prerequisites-option{font-size:.9rem}.badge-prereq{letter-spacing:.02em}.modal-leccion-config .form-hint{font-size:.85rem;color:var(--text-muted);margin:0 0 8px}.curso-player-lesson.is-locked .curso-player-lesson-title{color:var(--text-muted)}.curso-player-lesson-lock{display:block;width:100%;font-size:.75rem;color:var(--text-primary);font-weight:400;text-align:right;margin-top:2px}.curso-player-locked-msg{padding:16px;border-radius:8px;background:var(--bg-input);color:var(--text-primary);text-align:right}.curso-player-lesson-check{color:var(--success, #22c55e);font-weight:700;flex-shrink:0}.curso-player-menu-btn{display:none;margin-bottom:12px}.curso-player-lesson-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--bg-input)}.curso-player-lesson-nav .btn{min-height:unset;padding:2px 10px;font-size:12px;font-weight:500;line-height:1.35}.curso-player-lesson-nav[hidden]{display:none!important}.curso-player-lesson-nav--bottom{margin-top:20px;margin-bottom:0;padding-top:16px;padding-bottom:0;border-bottom:none;border-top:1px solid var(--bg-input)}.curso-player-nav-label{font-size:.88rem;color:var(--text-muted);flex:1;text-align:center;min-width:120px}.curso-player-main{min-width:0;padding:16px 20px}.curso-player-lesson-content{line-height:1.65;color:var(--text-primary)}.curso-player-lesson-content .lesson-content-title{margin-top:0}.curso-player-complete-wrap{margin-top:24px;padding-top:16px;border-top:1px solid var(--bg-input);display:flex;flex-direction:column;align-items:center;text-align:center}.curso-player-complete-wrap[hidden]{display:none!important}.curso-player-read-hint{margin:0 0 10px;font-size:.9rem;max-width:36rem}.curso-player-complete-requirements-host{width:100%;max-width:36rem;margin-bottom:12px}.curso-player-complete-requirements{text-align:left;padding:12px 14px;border-radius:8px;background:var(--bg-input);border:1px solid rgba(255,255,255,.06)}.curso-player-complete-requirements-title{margin:0 0 8px;font-size:.88rem;font-weight:600;color:var(--text-secondary)}.curso-player-complete-requirements-list{margin:0;padding-left:1.2rem;font-size:.88rem;color:var(--text-muted)}.curso-player-complete-requirements-list li+li{margin-top:4px}.curso-player-pending-notices-host{width:100%;margin-bottom:16px}.curso-player-pending-notice{display:flex;gap:12px;align-items:flex-start;text-align:left;padding:12px 14px;border-radius:8px;background:#3b82f61f;border:1px solid rgba(59,130,246,.35)}.curso-player-pending-notices-host .curso-player-pending-notice+.curso-player-pending-notice{margin-top:10px}.curso-player-pending-notice-icon{font-size:1.1rem;line-height:1.4;flex-shrink:0}.curso-player-pending-notice-body{flex:1;min-width:0}.curso-player-pending-notice-text{margin:0;font-size:.92rem;color:var(--text-primary);line-height:1.45}.curso-player-pending-notice-detail{display:block;margin-top:6px;font-size:.82rem;color:var(--text-muted)}.curso-player-complete-pending-host{width:100%;max-width:36rem;margin-bottom:12px}.curso-player-complete-pending-host .curso-player-pending-notice{margin:0}.curso-player-complete-wrap .curso-player-complete-btn:disabled:not(.is-completed),.curso-player-complete-wrap .curso-player-complete-btn.is-waiting:disabled:hover{background:var(--bg-input);color:var(--text-muted);opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.curso-player-complete-wrap .curso-player-complete-btn:disabled.is-completed,.curso-player-complete-wrap .curso-player-complete-btn.is-completed{background:var(--bg-input);color:var(--text-secondary);border:1px solid rgba(255,255,255,.12);opacity:1;cursor:default;transform:none;box-shadow:none}.curso-player-stage{margin:8px 0 0;font-size:.88rem}.curso-stage-timeline-wrap{margin-top:14px}.curso-stage-timeline-wrap:empty{display:none}.curso-stage-timeline{width:100%}.curso-stage-timeline__rows{display:flex;flex-direction:column;gap:18px}.curso-stage-timeline__row{position:relative;padding-top:2px}.curso-stage-timeline__track{position:absolute;top:13px;left:7px;right:7px;height:3px;pointer-events:none;z-index:0}.curso-stage-timeline__line-bg,.curso-stage-timeline__line-fill{position:absolute;top:0;left:0;height:3px;border-radius:999px}.curso-stage-timeline__line-bg{right:0;background:var(--progress-pending)}.curso-stage-timeline__line-fill{width:0;max-width:100%;background:var(--gradient-data);transition:width .45s ease}.curso-stage-timeline__line-fill.is-fill-complete{width:100%}.curso-stage-timeline__row--break-end .curso-stage-timeline__line-bg,.curso-stage-timeline__row--break-end .curso-stage-timeline__line-fill{-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 calc(100% - 20px),transparent calc(100% - 18px),#000 calc(100% - 16px),transparent calc(100% - 14px),#000 calc(100% - 12px));mask-image:linear-gradient(90deg,#000 0%,#000 calc(100% - 20px),transparent calc(100% - 18px),#000 calc(100% - 16px),transparent calc(100% - 14px),#000 calc(100% - 12px))}.curso-stage-timeline__row--break-start .curso-stage-timeline__line-bg,.curso-stage-timeline__row--break-start .curso-stage-timeline__line-fill{-webkit-mask-image:linear-gradient(90deg,#000 0%,transparent 2px,#000 4px,transparent 6px,#000 8px,#000 100%);mask-image:linear-gradient(90deg,#000 0%,transparent 2px,#000 4px,transparent 6px,#000 8px,#000 100%)}.curso-stage-timeline__steps{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;list-style:none;margin:0;padding:0;position:relative;z-index:1}.curso-stage-timeline__row--single-step .curso-stage-timeline__steps{justify-content:flex-start}.curso-stage-timeline__row--single-step .curso-stage-timeline__track{right:auto;width:14px}.curso-stage-timeline__row--single-step.curso-stage-timeline__row--break-start .curso-stage-timeline__track{left:14px}.curso-stage-timeline__step{flex:1 1 0;min-width:0;max-width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 4px}.curso-stage-timeline__dot-wrap{position:relative;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.curso-stage-timeline__dot{width:12px;height:12px;border-radius:50%;background:var(--progress-pending);border:2px solid var(--border);box-sizing:border-box;position:relative;z-index:2;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}.curso-stage-timeline__step.is-completed .curso-stage-timeline__dot{background:var(--progress-done);border-color:var(--accent-cyan);box-shadow:0 0 0 1px #1ad4c133}.curso-stage-timeline__step.is-current .curso-stage-timeline__dot{width:14px;height:14px;background:var(--accent-cyan);border-color:var(--accent-gold);box-shadow:0 0 12px #1ad4c173}.curso-stage-timeline__step.is-upcoming .curso-stage-timeline__dot{background:var(--bg-input);border-color:var(--border);opacity:.9}.curso-stage-timeline__ripple{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px solid rgba(26,212,193,.55);animation:curso-stage-ripple 2s ease-out infinite;pointer-events:none}.curso-stage-timeline__ripple--delay{animation-delay:1s}@keyframes curso-stage-ripple{0%{transform:scale(.7);opacity:.4}to{transform:scale(2);opacity:0}}.curso-stage-timeline__label{margin-top:8px;font-size:clamp(.65rem,2.2vw,.78rem);font-weight:600;line-height:1.3;color:var(--text-muted);width:100%;max-width:100%;word-break:break-word;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.curso-stage-timeline__step.is-completed .curso-stage-timeline__label{color:var(--text-secondary)}.curso-stage-timeline__step.is-current .curso-stage-timeline__label{color:var(--accent-gold)}.curso-stage-timeline__step.is-upcoming .curso-stage-timeline__label{color:var(--text-muted);opacity:.85}.curso-stage-timeline--staff .curso-stage-timeline__step--staff.is-upcoming:hover .curso-stage-timeline__label{color:var(--text-primary);opacity:1}.curso-stage-timeline--empty .curso-stage-timeline__row--empty .curso-stage-timeline__steps{justify-content:center}.curso-stage-timeline--empty .curso-stage-timeline__step--empty-state{flex:0 1 auto;max-width:min(100%,320px)}.curso-stage-timeline__dot--empty{background:transparent;border-style:dashed;opacity:.55}.estudiante-filtro-label{display:block;text-align:left;margin:10px 0 6px}.student-trading-toolbar{--student-trading-control-height: 42px;margin-bottom:4px}.student-trading-toolbar .form-input{height:var(--student-trading-control-height);min-height:var(--student-trading-control-height);box-sizing:border-box;padding-top:0;padding-bottom:0;line-height:calc(var(--student-trading-control-height) - 2px)}.student-trading-cuentas-header{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:28px 0 20px}.student-trading-cuentas-titulo{margin:0;text-align:left;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary)}.btn.student-trading-cuentas-add{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;min-width:1.25rem;min-height:0;padding:0;border-radius:50%;font-size:.875rem;font-weight:600;line-height:1;letter-spacing:0;text-align:center;box-sizing:border-box}.student-trading-cuentas-add:hover{transform:none;box-shadow:none}.student-trading-filters-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.student-trading-filter-col{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.student-trading-filter-col--cuenta,.student-trading-filter-col--fecha{width:max-content}.student-trading-filter-col--cuenta .form-input,.student-trading-filter-col--fecha .form-input{width:auto;box-sizing:border-box}.student-trading-filter-col--fecha .form-input{padding-right:18px}.student-trading-hasta-row{display:flex;align-items:center;gap:10px}.student-trading-apply-group{display:flex;align-items:center;gap:8px;flex-shrink:0}.student-trading-toolbar .btn.btn-sm,.student-trading-apply-group .btn.btn-sm{min-height:var(--student-trading-control-height);height:var(--student-trading-control-height);max-height:var(--student-trading-control-height);padding:0 12px;line-height:1.2;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.student-trading-hasta-row .form-input{width:auto;box-sizing:border-box;padding-right:18px}.student-trading-filter-label{display:block;margin-bottom:0;font-size:14px;font-weight:500;text-align:left;color:var(--text-secondary, #a0a0a0)}.student-trading-filter-tz{font-size:11px;font-weight:400;color:var(--text-muted)}.student-trading-account-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-height:1.35rem;margin:0 0 16px;white-space:nowrap}.student-trading-account-link{background:none;border:none;padding:0;margin:0;font:inherit;font-size:12px;line-height:1.3;color:var(--text-muted);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.student-trading-account-link:hover{color:var(--text-secondary)}.student-trading-account-link--danger{color:var(--text-muted)}.student-trading-account-link-sep{font-size:12px;color:var(--text-muted);-webkit-user-select:none;user-select:none}.trading-period-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;margin:0 0 14px;padding:10px 14px;border-radius:10px;border:1px solid rgba(26,212,193,.22);background:linear-gradient(135deg,rgba(26,212,193,.07) 0%,rgba(26,212,193,.02) 55%,transparent 100%)}.trading-period-bar--compact{margin-top:4px;margin-bottom:16px;padding:8px 12px}.trading-period-bar .estudiante-filtro-label,.trading-period-bar .trading-period-label{margin:0;display:block;text-align:left}.trading-period-label{flex:1 1 12rem;min-width:0;font-size:.8125rem;line-height:1.45}.trading-history-toggle{flex:0 0 auto;min-height:36px;padding:0 14px;font-size:.8125rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;border-radius:999px;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .15s ease}.trading-history-toggle:hover{border-color:var(--accent-gold);color:var(--accent-gold);box-shadow:0 0 0 1px #d4af3740}.trading-history-toggle:active{transform:scale(.98)}.trading-history-toggle--all-time{border-color:#1ad4c18c;background:#1ad4c11f;color:#1ad4c1}.trading-history-toggle--all-time:hover{border-color:#1ad4c1;color:#fff;background:#1ad4c138}.student-trading-filters-actions{display:flex;flex-wrap:nowrap;align-items:flex-end;justify-content:flex-end;gap:8px;margin-left:auto;flex:1 1 auto;min-width:0}@media(max-width:720px){.trading-period-bar{flex-direction:column;align-items:stretch;gap:10px}.trading-history-toggle{width:100%;justify-content:center}}@media(max-width:480px){.trading-history-toggle{min-height:40px;font-size:.875rem}}.student-trading-range-presets{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:8px}.student-trading-range-presets .btn.btn-sm,.student-trading-range-split{min-height:var(--student-trading-control-height);height:var(--student-trading-control-height);max-height:var(--student-trading-control-height);box-sizing:border-box}.student-trading-range-preset--semana{width:8.25rem;min-width:8.25rem;max-width:8.25rem;padding-left:8px;padding-right:8px}.student-trading-range-split{display:inline-flex;flex:0 0 auto;vertical-align:middle;box-sizing:border-box}.student-trading-range-split--mes{width:7.5rem;min-width:7.5rem;max-width:7.5rem}.student-trading-range-split--semestre{width:9.75rem;min-width:9.75rem;max-width:9.75rem}.student-trading-range-split__single{height:100%;width:100%;min-height:0;min-width:0;max-width:100%;box-sizing:border-box}.student-trading-range-split.is-expanded .student-trading-range-split__single{display:none}.student-trading-range-split__dual{display:none;flex-direction:column;width:100%;height:100%;border:1px solid var(--text-primary);border-radius:6px;overflow:hidden;box-sizing:border-box}.student-trading-range-split.is-expanded .student-trading-range-split__dual{display:flex}.student-trading-range-split__half{flex:1 1 50%;min-height:0;width:100%;margin:0;border:none;border-radius:0;background:transparent;color:var(--text-primary);font-family:inherit;font-size:10px;font-weight:600;line-height:1.05;padding:0 6px;cursor:pointer;transition:background .2s ease,color .2s ease}.student-trading-range-split__half--top{border-bottom:1px solid var(--text-primary)}.student-trading-range-split__half:hover{background:var(--text-primary);color:var(--bg-app)}@media(max-width:640px){.student-trading-filter-col--cuenta{flex:1 1 100%}.student-trading-filters-actions{flex:1 1 100%;margin-left:0;justify-content:flex-end}.student-trading-range-presets{flex-wrap:wrap}}@media(max-width:520px){.curso-stage-timeline--multi-row .curso-stage-timeline__rows{gap:20px}.curso-stage-timeline--multi-row .curso-stage-timeline__step{flex:1 1 calc(50% - 8px);max-width:calc(50% - 4px);min-width:0}.curso-stage-timeline--multi-row .curso-stage-timeline__row--single-step .curso-stage-timeline__step{flex:0 0 auto;max-width:min(100%,140px)}.curso-stage-timeline__label{font-size:.7rem;line-height:1.35}}@media(max-width:899px){.curso-player-body{grid-template-columns:1fr}.curso-player-menu-btn{display:inline-flex}.curso-player-sidebar{position:fixed;top:0;left:0;bottom:0;width:min(320px,88vw);z-index:1200;max-height:100vh;border-radius:0;transform:translate(-110%);transition:transform .25s ease;box-shadow:4px 0 24px #00000059}.curso-player-body.sidebar-open .curso-player-sidebar{transform:translate(0)}.curso-player-sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:1199}.curso-player-body.sidebar-open .curso-player-sidebar-backdrop{display:block}.curso-player-sidebar-close{display:inline-flex}}.curso-card .btn{width:100%;margin-top:16px}.course-admin-panel{margin-top:24px;padding:16px;background:var(--bg-elevated);border-radius:12px;border:1px solid var(--bg-input)}.course-admin-panel h3{margin:0 0 12px;font-size:1.05rem}.course-admin-panel-actions-center{display:flex;justify-content:center;margin-top:12px}.course-stages-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}.course-stage-row{display:flex;align-items:center;gap:8px}.course-stage-row-draggable.is-dragging-stage{opacity:.55}.course-stages-list.drag-over{outline:1px dashed rgba(26,212,193,.45);outline-offset:4px;border-radius:8px}.course-stage-drag-handle{flex:0 0 auto;cursor:grab;-webkit-user-select:none;user-select:none;color:var(--text-muted);font-size:1rem;line-height:1;padding:4px 2px}.course-stage-drag-handle:active{cursor:grabbing}.course-stage-row .course-stage-input{flex:1;min-width:0}.course-stages-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.curso-admin-delete-wrap{display:flex;justify-content:flex-start;width:100%;margin-top:20px}.btn-eliminar-curso-admin{background:transparent;border:1px solid var(--negative);color:var(--negative)}.btn-eliminar-curso-admin:hover{background:#c75c5c1f;border-color:var(--negative);color:var(--negative)}.course-admin-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.course-admin-panel-header h3{margin:0}.course-admin-text-link{flex:0 0 auto;padding:0;font-size:.75rem;font-weight:500;line-height:1.3;color:var(--accent-cyan);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.course-admin-text-link:hover,.course-admin-text-link:focus-visible{color:var(--accent-gold);outline:none}.course-timing-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:16px 0}.course-timing-metric{padding:12px;background:var(--bg-input);border-radius:8px}.course-timing-metric span{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:4px}.course-timing-metric strong{color:var(--text-primary);font-size:.95rem}.modulo-admin{margin-top:16px;padding:12px;background:var(--bg-input);border-radius:8px}.modulo-admin-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.modulo-admin-header-start{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.modulo-admin-title{margin:0;font-size:1rem;font-weight:600}.modulo-drag-handle{flex:0 0 auto;cursor:grab;color:var(--text-muted);font-size:1rem;line-height:1;padding:4px 6px;-webkit-user-select:none;user-select:none;letter-spacing:-2px}.modulo-drag-handle:active{cursor:grabbing}.modulo-admin.is-dragging-module{opacity:.5}.modulo-admin.modulo-drop-target{outline:2px dashed rgba(26,212,193,.45);outline-offset:2px}.modulos-admin-list.modulos-admin-drag-over{outline:2px dashed rgba(255,255,255,.2);outline-offset:4px;border-radius:8px}.modulo-admin-actions,.leccion-admin-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;flex-shrink:0;margin-left:auto}.course-admin-actions-menu{position:relative}.course-admin-menu{display:none;flex-direction:column;min-width:148px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #00000073;overflow:hidden}.course-admin-menu--popup{position:fixed;z-index:1200}body.course-admin-options-open #tab-cursos>.card{transform:none;box-shadow:var(--shadow-card)}.course-admin-menu.is-open{display:flex}.leccion-item-disabled{opacity:1}.leccion-item-disabled .leccion-item-title-btn{color:var(--text-muted)}.course-admin-menu-item{border:none;background:none;color:var(--text-primary);text-align:left;padding:10px 14px;font-size:.8rem;cursor:pointer;font-family:var(--font-family)}.course-admin-menu-item:hover{background:#1ad4c11f}.course-admin-menu-item--danger{color:#fc8181}.course-admin-menu-item--danger:hover{background:#e53e3e26;color:#fff}.course-admin-compact-btn.btn-course-options{background:#ffffff0f;border-color:var(--border);color:var(--text-secondary)}.course-admin-compact-btn.btn-course-options:hover{background:#ffffff1f;color:var(--text-primary);border-color:var(--text-muted)}.lecciones-admin .leccion-item,.lecciones-admin .leccion-admin-actions{flex-wrap:nowrap}.course-admin-compact-btn{padding:3px 8px;font-size:.7rem;line-height:1.15;min-height:0;border:1px solid transparent;font-weight:600;transition:background .15s ease,color .15s ease,border-color .15s ease}.course-admin-compact-btn.btn-course-config{background:#1ad4c11f;border-color:var(--accent-cyan);color:var(--accent-cyan)}.course-admin-compact-btn.btn-course-config:hover{background:var(--accent-cyan);color:var(--bg-app)}.leccion-item-disabled .course-admin-compact-btn.btn-course-config{background:#8080801a;border-color:var(--text-muted);color:var(--text-muted)}.leccion-item-disabled .course-admin-compact-btn.btn-course-config:hover{background:#80808024;border-color:var(--text-muted);color:var(--text-muted)}.course-admin-compact-btn.btn-course-edit{background:#f2e8cf1f;border-color:var(--accent-gold);color:var(--accent-gold)}.course-admin-compact-btn.btn-course-edit:hover{background:var(--accent-gold);color:var(--bg-app)}.course-admin-compact-btn.btn-course-duplicate{background:#c2cf821f;border-color:var(--accent-lime);color:var(--accent-lime)}.course-admin-compact-btn.btn-course-duplicate:hover{background:var(--accent-lime);color:var(--bg-app)}.course-admin-compact-btn.btn-course-delete{background:#e53e3e1f;border-color:#e53e3e;color:#fc8181}.course-admin-compact-btn.btn-course-delete:hover{background:#e53e3e;color:#fff}.course-admin-compact-btn.btn-course-add{background:#2b4f6e40;border-color:var(--accent-blue);color:#8eb4d4}.course-admin-compact-btn.btn-course-add:hover{background:var(--accent-blue);color:var(--text-primary)}.leccion-item-title .badge{margin-left:6px;font-size:.65rem;vertical-align:middle}.modal-leccion-config-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.modal-leccion-contenido-overlay .modal-leccion-contenido{width:min(96vw,1180px);max-width:1180px;max-height:min(calc(100dvh - 80px),92dvh);display:flex;flex-direction:column;overflow:hidden;min-height:0}.modal-leccion-contenido .leccion-contenido-editor-grid{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.modal-leccion-contenido-actions{flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding-top:10px;border-top:1px solid var(--border)}.modal-leccion-contenido-actions__buttons{display:flex;flex-shrink:0;align-items:center;gap:8px;margin-left:auto}.modal-leccion-contenido-actions .btn.btn-sm{padding:3px 8px;font-size:.7rem;line-height:1.15;min-height:0}.modal-leccion-contenido-actions .leccion-contenido-duration__step.btn-sm{min-width:28px;padding-inline:8px;font-size:.95rem;line-height:1}.leccion-contenido-duration{flex:1 1 auto;display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}.leccion-contenido-duration__summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.leccion-contenido-duration__estimate{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.leccion-contenido-duration__define-btn{font-size:.7rem}.leccion-contenido-duration__summary[hidden]{display:none!important}.leccion-contenido-duration__manual{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.leccion-contenido-duration__manual[hidden]{display:none!important}.leccion-contenido-duration__label{margin-bottom:0;font-size:12px;color:var(--text-secondary)}.leccion-contenido-duration__value{font-size:12px;font-weight:600;color:var(--text-primary)}.leccion-contenido-duration__stepper{display:flex;align-items:center;gap:6px}.leccion-contenido-duration__input{width:3.5rem;text-align:center;padding-inline:6px;padding-block:4px;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.leccion-contenido-duration__input::-webkit-outer-spin-button,.leccion-contenido-duration__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.leccion-contenido-duration__unit,.leccion-contenido-duration__defined{font-size:12px;color:var(--text-secondary)}.leccion-contenido-duration__reset{padding:0;font-size:12px;white-space:nowrap;border:none;background:none;color:var(--accent, #1ad4c1);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.leccion-contenido-duration__reset:hover{opacity:.85}.leccion-contenido-duration--readonly .leccion-contenido-duration__define-btn{display:none}@media(max-width:900px){.modal-leccion-contenido-actions{flex-direction:column;align-items:stretch}.modal-leccion-contenido-actions__buttons{margin-left:0;justify-content:flex-end}}.leccion-contenido-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;flex:1;min-height:0;margin-bottom:16px}.leccion-contenido-editor-label{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:6px}.leccion-contenido-textarea{width:100%;min-height:min(52vh,520px);resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;line-height:1.45}.leccion-contenido-preview{min-height:min(52vh,520px);max-height:min(52vh,520px);overflow:auto;padding:16px;background:var(--bg-input)}.leccion-item-title-btn,.leccion-titulo-btn{background:none;border:none;padding:0;margin:0;font:inherit;color:var(--accent-cyan);text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.leccion-item-title-btn:hover,.leccion-titulo-btn:hover{color:var(--accent-gold)}.leccion-contenido-preview .lesson-content-title{margin:0 0 16px;font-size:1.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.lesson-content-title--center,.curso-player-lesson-content .lesson-content-title--center{text-align:center}.lesson-content-subtitle{margin:20px 0 10px;font-size:1.1rem;color:var(--accent-gold)}.lesson-content-text{margin:0 0 16px;line-height:1.6}.lesson-content-video-wrap{margin:0 0 20px;border-radius:12px;overflow:hidden;background:var(--bg-elevated)}.lesson-content-video{display:block;width:100%;max-height:360px}.lesson-content-figure{margin:0 0 20px}.lesson-content-caption{margin:8px 0 0;font-size:.85rem;text-align:center}.lesson-content-list{margin:0 0 20px;padding-left:1.35rem;line-height:1.65}.lesson-content-list li{margin-bottom:8px}.lesson-content-list li:last-child{margin-bottom:0}.lesson-content-image{display:block;width:100%;max-width:100%;height:auto;border-radius:12px}.lesson-content-actions{margin:8px 0 0}.lesson-content-actions--center{text-align:center}.lesson-content-actions--center .btn{display:inline-flex}@media(max-width:900px){.leccion-contenido-editor-grid{grid-template-columns:1fr}.leccion-contenido-textarea,.leccion-contenido-preview{min-height:240px;max-height:320px}}.lecciones-admin .leccion-item{border-bottom-color:#ffffff0f}.leccion-item-draggable{gap:8px}.leccion-drag-handle{flex:0 0 auto;cursor:grab;color:var(--text-muted);font-size:1rem;line-height:1;padding:4px 6px;-webkit-user-select:none;user-select:none;letter-spacing:-2px}.leccion-drag-handle:active{cursor:grabbing}.leccion-item-title,.leccion-item-title-btn{flex:1;min-width:0;text-align:left}.leccion-item.is-dragging{opacity:.45}.lecciones-admin{min-height:44px;padding:4px 0;border-radius:6px;transition:outline-color .15s ease}.lecciones-admin--empty{min-height:52px;border:1px dashed rgba(255,255,255,.12);background:#00000026}.lecciones-admin--empty.drag-over{border-color:#1ad4c173;background:#1ad4c114}.lecciones-admin.drag-over{outline:2px dashed rgba(255,255,255,.25);outline-offset:4px;border-radius:6px}.modulo{margin-top:20px;border-left:none;padding-left:16px;position:relative}.modulo:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gradient-data);border-radius:2px}.modulo h4{color:var(--text-primary);margin-bottom:8px;font-size:1.1rem}.modulo p{color:var(--text-muted);font-size:.85rem;margin-bottom:12px}.lecciones-list{list-style:none;padding:0;margin:0}.leccion-item{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 0;border-bottom:1px solid var(--bg-input)}.leccion-info{flex:1;min-width:150px}.leccion-titulo{font-weight:500;color:var(--text-primary);display:block;margin-bottom:4px}.leccion-estado{font-size:.8rem;color:var(--text-secondary)}.leccion-estado.completada{color:var(--positive)}.leccion-boton{background:var(--text-primary);border:none;border-radius:6px;padding:8px 16px;font-weight:700;font-family:var(--font-family);cursor:pointer;transition:all .2s;color:var(--bg-app)}.leccion-boton:hover{background:var(--accent-gold);transform:scale(1.02)}.leccion-boton.completada{background:#2e7d64;color:#fff;cursor:default;opacity:.7}@media(max-width:768px){.curso-card{padding:16px}.curso-card h3{font-size:1.05rem}.modulo h4{font-size:1rem}.leccion-item{flex-direction:column;align-items:flex-start;gap:8px}.leccion-info{width:100%}.leccion-boton{width:100%;text-align:center;padding:10px}}@media(max-width:480px){.curso-card{padding:12px}.modulo{padding-left:8px}.leccion-titulo{font-size:.9rem}.leccion-estado{font-size:.7rem}.leccion-boton{padding:10px;font-size:.85rem}}.trading-form-card{background:var(--bg-elevated);border-radius:12px;padding:20px;margin-bottom:30px;border:1px solid var(--border)}.trading-form-card h3{margin-bottom:20px;color:var(--accent-cyan)}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;padding:clamp(16px,3vw,24px);min-height:40px;color:var(--text-secondary);text-align:center}.app-loading__label{margin:0;font-size:12px;line-height:1.35;color:var(--text-secondary)}.is-app-loading{position:relative}.app-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;background:#0a0c126b;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border-radius:inherit}.app-loading-overlay[hidden]{display:none!important}.is-app-loading>:not(.app-loading-overlay){visibility:hidden;pointer-events:none}#loginForm,#registerForm,#inviteRegisterForm,.trading-form-card,.modal-content.modal-sistema,.modal-content.modal-student-edit,.student-photo-edit-body,.student-data-edit-body,.estudiante-tutores-modal-body,.modal-leccion-config,.modal-leccion-contenido{position:relative}.is-form-loading{pointer-events:none}.is-form-loading>:not(.app-form-loading-overlay){opacity:.4;filter:blur(.4px)}.app-form-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#0a0c1261;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border-radius:inherit}.app-form-loading-overlay[hidden]{display:none!important}.app-loading-q{display:block;width:40px;height:40px;object-fit:contain;animation:app-loading-girar-presionar 2s cubic-bezier(.68,-.55,.265,1.55) infinite;filter:drop-shadow(0 0 4px rgba(0,0,0,.28));-webkit-user-select:none;user-select:none}@keyframes app-loading-girar-presionar{0%{transform:rotate(0) scale(1);filter:drop-shadow(0 0 4px rgba(0,0,0,.28))}70%{transform:rotate(-360deg) scale(1);filter:drop-shadow(0 0 10px rgba(0,0,0,.5))}80%{transform:rotate(-360deg) scale(.75);filter:drop-shadow(0 0 4px rgba(0,0,0,.2))}90%{transform:rotate(-360deg) scale(.85);filter:drop-shadow(0 0 6px rgba(0,0,0,.35))}to{transform:rotate(-360deg) scale(1);filter:drop-shadow(0 0 4px rgba(0,0,0,.28))}}@media(prefers-reduced-motion:reduce){.app-loading-q{animation:none}}:is(#trading-logs-table,#estudiante-trades-table,#bitacoraPanel,#cursosList,#estudiante-stats,#estudiantePerfilHeader,#estudiantesList,#usuariosGestionList,#usuariosDetailInfo,#invitacionesList,#estudianteActivityMiniList,#usuariosDetailLog,#notificacionesInactividadList,#notificacionesSolicitudesPerfilList,#notificacionesPersonalList,#alertaProgramarDestinatarios,#modalEstudianteAutorizacionesBody,#modalEstudianteTutoresBody,#estudianteCursoPlayerHost,#cursoPlayerLessonContent,.activity-log-detail,.trading-accounts-picker,.notificaciones-solicitudes-list,.notificaciones-personal-list):has(>.app-loading:only-child){display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:clamp(80px,18vw,160px);width:100%}#estudiantePerfilView.is-app-loading{min-height:clamp(240px,40vh,420px)}#estudianteTradingCursoCard.is-app-loading{min-height:clamp(280px,45vh,480px)}#estudianteTradingCursoCard.is-app-loading>.app-loading-overlay{align-items:flex-start;justify-content:center;padding-top:clamp(56px,14vh,140px);border-radius:inherit}#tab-cursos>.card.is-app-loading{min-height:clamp(200px,35vh,360px)}#tab-cursos>.card.is-app-loading>.app-loading-overlay{align-items:flex-start;justify-content:center;padding-top:clamp(72px,16vh,140px);border-radius:inherit}#estudiantePerfilView.is-app-loading>.app-loading-overlay{border-radius:var(--radius-card)}.activity-log-body.is-app-loading{min-height:min(360px,52vh);display:block}.activity-log-body.is-app-loading>.app-loading-overlay{border-radius:8px}#tab-notificaciones>.card.is-app-loading{min-height:clamp(200px,35vh,360px)}#usuariosDetailView.is-app-loading{min-height:clamp(220px,38vh,400px)}.student-activity-mini-list:has(>.app-loading){min-height:180px}.notificaciones-solicitudes-empty,.student-activity-mini-empty{width:100%;text-align:center}.global-loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#080c12ad;display:none;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.global-loading-overlay.is-open{display:flex}.trading-table{width:100%;border-collapse:collapse}.trading-table th,.trading-table td{padding:10px;text-align:center;vertical-align:middle;border-bottom:1px solid var(--border)}.trading-table th{background:var(--bg-input);color:var(--accent-cyan)}.trading-table tr:hover{background:var(--bg-input)}.trade-row--feedback-pending{background:#ffc10714}.trade-row--feedback-ready{background:#4caf501a;box-shadow:inset 3px 0 0 var(--positive, #4caf50)}.btn-feedback{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.3rem .65rem;font-size:.75rem;font-weight:600;line-height:1.2;border-radius:6px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;white-space:nowrap}.btn-feedback:hover:not(:disabled){border-color:var(--accent-cyan);color:var(--accent-cyan)}.btn-feedback:disabled{opacity:.45;cursor:not-allowed}.btn-feedback--primary{border-color:var(--accent-cyan);background:#00bcd41f;color:var(--accent-cyan)}.btn-feedback--primary:hover:not(:disabled){background:#00bcd438}.btn-feedback--ghost{background:transparent}.btn-feedback--danger{border-color:#f4433673;color:var(--negative);background:#f4433614}.btn-feedback--danger:hover:not(:disabled){background:#f4433629}.btn-feedback--icon-only{padding:.3rem .4rem;min-width:1.85rem;font-size:.85rem}.btn-feedback-glyph{font-size:.9rem;line-height:1}.trade-feedback-toolbar{display:flex;flex-wrap:nowrap;gap:.3rem;align-items:center;justify-content:flex-end}.trade-feedback-toolbar--staff{flex-wrap:nowrap}.trade-feedback-toolbar[hidden]{display:none!important}.trade-feedback-record-dock{position:fixed;right:1rem;bottom:1rem;z-index:10050;display:flex;align-items:center;gap:.35rem;padding:.4rem .5rem;border-radius:10px;border:1px solid rgba(0,188,212,.45);background:var(--bg-card, rgba(18, 22, 32, .96));box-shadow:0 8px 28px #00000073;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.trade-feedback-record-dock[hidden]{display:none!important}.trade-feedback-record-dock__type{display:inline-flex;align-items:center;justify-content:center;line-height:1;opacity:.9;color:var(--text-primary)}.trade-feedback-record-dock__timer{font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:700;color:var(--accent-cyan);min-width:2.75rem;text-align:center}.trade-feedback-record-dock--paused .trade-feedback-record-dock__timer{color:var(--text-muted)}.trade-feedback-dock-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;font-size:.95rem;line-height:1;border-radius:8px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.trade-feedback-dock-btn:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}.trade-feedback-dock-btn--stop{border-color:#00bcd480;color:var(--accent-cyan);background:#00bcd41f}.trade-feedback-dock-btn--cancel{border-color:#f4433673;color:var(--negative);background:#f4433614}.trade-feedback-dock-btn--cancel:hover{border-color:var(--negative);color:var(--negative)}.trade-feedback-toolbar--center{justify-content:center;margin-top:.75rem}.trade-feedback-note-textarea{width:100%;resize:vertical;min-height:7rem}.trade-feedback-note-char-count{font-size:.8rem;margin-left:auto;text-align:right}.trade-feedback-note-dictate-btn .recording-type-icon--note-dictate{width:1.15rem;height:1.15rem;display:block}.trade-feedback-note-dictate-btn.trade-feedback-note-dictate--recording{color:var(--negative, #f44336);border-color:#f4433673;background:#f4433614}.trade-feedback-note-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:.35rem;margin-bottom:.5rem}.trade-feedback-note-upload-footer--complete .trade-feedback-upload-progress-label{color:var(--positive, #4caf50)}.trade-feedback-note-dictate-status{font-size:.85rem}.trade-feedback-note-toolbar{margin-top:1rem}.trade-feedback-note-modal .modal-sistema-header .visor-close{display:none}.modal-trade-feedback--note.modal-content{display:flex;flex-direction:column;max-height:min(92vh,680px)}.modal-trade-feedback--note .trade-feedback-modal-body{flex:1 1 auto;overflow-y:auto;min-height:0}.trade-feedback-note-upload-footer{flex-shrink:0;margin-top:auto;padding:.75rem 1.25rem 1rem;border-top:1px solid var(--border-color, rgba(255, 255, 255, .08));background:var(--surface-elevated, rgba(0, 0, 0, .15))}.trade-feedback-note-upload-footer[hidden]{display:none!important}.trade-feedback-note-upload-progress{max-width:none;width:100%;margin:0}.trade-feedback-note-upload-footer .trade-feedback-upload-msg{margin:0 0 .5rem;text-align:center}.trade-feedback-note-upload-footer .trade-feedback-upload-progress-label{text-align:center}.trade-feedback-toolbar--staff .btn-feedback--icon-only .btn-feedback-label,.trade-feedback-toolbar--staff .btn-feedback-label{display:none}.trade-feedback-toolbar--staff .btn-feedback--primary .btn-feedback-label{display:inline}@media(max-width:520px){.trade-feedback-toolbar--staff .btn-feedback--primary .btn-feedback-label{display:none}}.trade-feedback-toolbar--superadmin .btn-feedback-label{font-size:.75rem}@media(max-width:400px){.trade-feedback-toolbar--superadmin .btn-feedback-label{display:none}}.trade-feedback-badge{display:inline-block;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:999px}.trade-feedback-badge--pending{background:#ffc10733;color:#ffc107}.trade-feedback-badge--ready{background:#4caf5026;color:var(--positive)}.trade-feedback-badge--viewed{background:#94a3b833;color:var(--text-muted, #94a3b8)}.modal-trade-feedback{max-width:440px;width:min(95vw,440px)}.modal-trade-feedback--playback,.modal-trade-feedback:has(.media-playback-stage:not(:empty):not(.media-playback-stage--audio)){max-width:min(95vw,720px);width:min(95vw,720px)}.modal-trade-feedback:has(.media-playback-stage--audio:not(:empty)){max-width:min(95vw,400px);width:min(95vw,400px)}.modal-trade-feedback--history{max-width:520px;width:min(95vw,520px)}#modalTradeFeedbackPlayback.modal-overlay{z-index:1010}.trade-feedback-modal-body{padding:0 1rem 1rem}.trade-feedback-modal-body--playback{padding-bottom:1rem}.trade-feedback-modal .modal-sistema-header h3{font-size:1rem}.trade-feedback-history-subtitle{margin:0 0 .65rem;font-size:.8rem}.trade-feedback-history-host{max-height:min(60vh,420px);overflow-y:auto}.trade-feedback-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.trade-feedback-history-item{border:1px solid var(--border);border-radius:8px;padding:.5rem .6rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem;background:var(--bg-input)}.trade-feedback-history-meta{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1 1 200px}.trade-feedback-history-title{font-weight:600;font-size:.9rem}.trade-feedback-history-detail{font-size:.8rem;color:var(--text-muted, #94a3b8)}.trade-feedback-history-badge{display:inline-block;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:999px;margin-right:.35rem}.trade-feedback-history-badge--active{background:#4caf5033;color:var(--positive, #4caf50)}.trade-feedback-history-badge--superseded{background:#94a3b833;color:var(--text-muted, #94a3b8)}.trade-feedback-history-badge--deleted{background:#f4433626;color:var(--negative, #f44336)}.trade-feedback-step{padding:.25rem 0 0}.trade-feedback-type-btns{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.75rem}.trade-feedback-type-card{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.65rem .5rem;border:1px solid var(--border);border-radius:10px;background:var(--bg-input);color:var(--text-primary);cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;text-align:center}.trade-feedback-type-card:hover{border-color:var(--accent-cyan);background:#00bcd40f;box-shadow:0 0 0 1px #00bcd426}.trade-feedback-type-card__icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;color:var(--text-primary)}.recording-type-icon{display:block;flex-shrink:0}.recording-type-icon--card{width:1.35rem;height:1.35rem}.recording-type-icon--dock{width:1rem;height:1rem}.trade-feedback-type-card__label{font-size:.8rem;font-weight:600;color:var(--accent-cyan)}.trade-feedback-type-card__hint{font-size:.65rem;color:var(--text-muted, #94a3b8);line-height:1.2}.trade-feedback-timer{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:center;margin:.5rem 0;color:var(--accent-cyan);letter-spacing:.04em}.trade-feedback-status{text-align:center;margin:0;font-size:.8rem;color:var(--text-secondary)}.trade-feedback-preview-caption{margin:0 0 .5rem;font-size:.8rem;text-align:center}.trade-feedback-preview-host{margin:.25rem 0 .5rem}.trade-feedback-preview-host:empty{display:none}.trade-feedback-preview-media{width:100%;max-height:240px;border-radius:8px;display:block}.trade-feedback-preview-host audio.trade-feedback-preview-media{max-height:none;height:2.5rem}.trade-feedback-playback-host{border-radius:8px;overflow:hidden}.media-playback-stage{position:relative;width:100%;border-radius:8px}.media-playback-stage:not(:has(.known-duration-player)){display:flex;align-items:center;justify-content:center;min-height:4.5rem}.media-playback-stage:not(:has(.known-duration-player)):not(.media-playback-stage--audio){min-height:12rem}.media-playback-stage.is-app-loading:not(:has(.known-duration-player)){aspect-ratio:16 / 9;margin-bottom:3.375rem;background:var(--bg-card, rgba(18, 22, 32, .96));border:1px solid var(--border)}.media-playback-stage--audio.is-app-loading:not(:has(.known-duration-player)){aspect-ratio:unset;margin-bottom:0;min-height:7.5rem}.media-playback-stage--audio{display:flex;align-items:center;justify-content:center;padding:.25rem 0 .75rem}.media-playback-stage--audio .known-duration-player--audio-modal{width:100%;max-width:340px;margin:0 auto;border:1px solid var(--border);border-radius:16px;background:var(--bg-input, rgba(24, 28, 38, .92));box-shadow:0 8px 28px #0000002e;overflow:visible}.media-playback-stage--audio .known-duration-player__play-wrap{display:flex;align-items:center;justify-content:center;padding:1.15rem 1rem .35rem}.media-playback-stage--audio .known-duration-player__controls--audio-modal{flex-direction:column;align-items:center;gap:.65rem;width:100%;padding:0 1.15rem 1.25rem;border-top:none}.media-playback-stage--audio .known-duration-player__play{width:3.35rem;height:3.35rem;border-radius:50%;font-size:1.15rem;box-shadow:0 0 0 4px #38bdf81f}.media-playback-stage--audio .known-duration-player__seek-row{display:flex;align-items:center;gap:.55rem;width:100%}.media-playback-stage--audio .known-duration-player__seek-wrap{flex:1;min-width:0}.media-playback-stage--audio .known-duration-player__seek-track{height:.35rem}.media-playback-stage--audio .known-duration-player__time{font-size:.75rem;min-width:2.35rem}.media-playback-stage .known-duration-player{width:100%;border-radius:inherit}.media-playback-stage .known-duration-player__viewport{position:relative;width:100%;aspect-ratio:16 / 9;background:#000;overflow:hidden}.media-playback-stage .known-duration-player__center-play{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;padding:0;padding-left:.2rem;border:none;border-radius:50%;background:#0a0c1294;color:#fff;font-size:1.45rem;line-height:1;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-shadow:0 0 0 2px #ffffff24;transition:transform .15s ease,background .15s ease;overflow:visible}.media-playback-stage .known-duration-player__center-play:hover{transform:translate(-50%,-50%) scale(1.06);background:#0a0c12b8}.media-playback-stage .known-duration-player__viewport.is-playing .known-duration-player__center-play{display:none}.media-playback-stage .known-duration-player__center-play.is-warming,.media-playback-stage .known-duration-player__center-play.is-preparing{pointer-events:auto}.media-playback-stage .known-duration-player__center-play.is-warming:after,.media-playback-stage .known-duration-player__center-play.is-preparing:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:known-duration-player-spin .75s linear infinite}.media-playback-stage .known-duration-player__center-play.is-preparing{color:transparent}.media-playback-stage .known-duration-player__viewport.is-warming:not(.is-playing) .known-duration-player__center-play{opacity:.92}.known-duration-player__play.is-preparing{opacity:.65;pointer-events:none}@keyframes known-duration-player-spin{to{transform:rotate(360deg)}}.media-playback-stage .known-duration-player__viewport .known-duration-player__media:not(.known-duration-player__media--audio-only){position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-height:none;object-fit:contain;display:block}.media-playback-stage .known-duration-player__viewport .known-duration-player__media--audio-only{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}.media-playback-stage .known-duration-player__viewport>video.trade-feedback-preview-media{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-height:none;object-fit:contain;display:block;background:#000}.media-playback-host.is-app-loading:not(.media-playback-stage){min-height:6rem;position:relative}.staff-media-share-player.media-playback-host.is-app-loading{min-height:8rem}.trade-feedback-playback-host:not(.media-playback-stage) .trade-feedback-preview-media{max-height:min(50vh,320px)}.trade-feedback-hint{margin-top:.65rem;font-size:.75rem;line-height:1.4;text-align:center}.trade-feedback-step--upload{text-align:center;padding:1.25rem 0}.trade-feedback-upload-msg{margin:0 0 .75rem;font-size:.8rem}.trade-feedback-upload-progress{max-width:280px;margin:0 auto}.trade-feedback-upload-progress .curso-player-progress-track{width:100%}.trade-feedback-upload-progress-label{margin:.4rem 0 0;font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--text-muted)}video.trade-feedback-preview-media{object-fit:contain;background:transparent}.trade-feedback-history-item .btn-feedback{flex-shrink:0}.trade-feedback-history-nofile{font-size:.75rem}.pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:20px;max-width:100%}.pagination__pages{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;max-width:min(100%,420px)}.pagination__nav{flex:0 0 auto;min-width:36px;padding-left:10px;padding-right:10px;background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary)}.pagination__nav:hover:not(:disabled){border-color:var(--accent-cyan);color:var(--accent-cyan)}.pagination__nav:disabled{opacity:.4;cursor:not-allowed}.pagination__page{flex:0 0 auto;min-width:36px;background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary);font-weight:600}.pagination__page:hover:not(.pagination__page--active){border-color:var(--accent-cyan);color:var(--text-primary)}.pagination__page--active{background:var(--accent-cyan);border-color:var(--accent-cyan);color:var(--bg-app);font-weight:700;box-shadow:0 0 0 2px #1ad4c159;pointer-events:none;cursor:default}.pagination__ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;color:var(--text-muted);font-weight:700;-webkit-user-select:none;user-select:none}.pagination__status{flex:0 0 auto;font-size:.82rem;font-weight:700;letter-spacing:.02em;white-space:nowrap;color:var(--text-primary)}.pagination--single{margin-top:16px}.pagination--single .pagination__status{width:100%;text-align:center}.toast-notification{position:fixed;bottom:30px;left:50%;transform:translate(-50%) translateY(20px);padding:14px 24px;border-radius:12px;font-size:14px;font-weight:500;z-index:9999;opacity:0;transition:all .3s ease;max-width:90vw;text-align:center;white-space:pre-line;box-shadow:0 8px 32px #0006;pointer-events:none}.toast-notification.show{opacity:1;transform:translate(-50%) translateY(0)}.toast-success{background:#1e4620;color:#a3d9a5;border:1px solid #2d5a2f}.toast-error{background:#4a1c24;color:#f5a3ab;border:1px solid #5a2a32}.form-section{background:var(--bg-surface);border-radius:12px;padding:16px;margin-bottom:16px;border:1px solid var(--border)}.section-title{color:var(--text-primary);font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;display:flex;align-items:center;gap:8px}.input-with-btn{display:flex;gap:8px;align-items:center}.input-with-btn .form-input{flex:1}.btn-sm{padding:6px 12px;font-size:12px;white-space:nowrap}.checkbox-inline{font-size:12px;color:var(--text-secondary);cursor:pointer;margin-left:8px;font-weight:400}.checkbox-inline input[type=checkbox]{margin-right:4px;accent-color:var(--accent-cyan)}.roles-multiselect{position:relative}.roles-multiselect-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;cursor:pointer}.roles-multiselect-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roles-multiselect-chevron{flex-shrink:0;color:var(--text-muted);font-size:12px}.roles-multiselect-panel{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;max-height:220px;overflow-y:auto;padding:6px;box-shadow:0 8px 24px #00000059}.roles-multiselect-option{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--text-primary)}.roles-multiselect-option:hover{background:var(--bg-surface)}.roles-multiselect-option input{accent-color:var(--accent-cyan);flex-shrink:0}.roles-multiselect-option input:disabled+span{opacity:.65}.trading-form-top-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:clamp(12px,2.5vw,16px);margin-bottom:16px;align-items:stretch}.trading-form-top-grid .form-section{margin-bottom:0;min-width:0}.trading-form-section--data,.trading-form-section--image{display:flex;flex-direction:column;height:100%}.trading-operation-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px;align-items:end}.trading-operation-field{min-width:0}.trading-operation-field--full{grid-column:1 / -1}.trading-operation-field--datetime{grid-column:span 2}.trading-datetime-row{flex-wrap:wrap}.trading-datetime-row .form-input{flex:1 1 180px;min-width:0}.trade-image-panel{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0}.trade-image-slot{position:relative;width:100%;height:clamp(220px,34vw,320px);min-height:220px;background:var(--bg-input);border:1px dashed rgba(255,255,255,.14);border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:border-color .2s ease,background .2s ease;margin:0}.trade-image-file-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer;border:0;font-size:0;pointer-events:auto}.trade-image-slot.has-image .trade-image-file-input,.trade-image-slot.loading .trade-image-file-input{pointer-events:none;visibility:hidden}.trade-image-slot:not(.has-image):not(.loading){cursor:pointer}.trade-image-slot:not(.has-image):not(.loading):hover,.trade-image-slot.is-dragover{border-color:var(--accent-cyan);background:#1ad4c10f}.trade-image-slot.is-dragover .trade-image-slot__empty{color:var(--accent-cyan)}.trade-image-slot.has-image{cursor:default}.trade-image-slot:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px}.trade-image-slot__empty{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;color:var(--text-muted);font-size:.88rem;line-height:1.45;pointer-events:none;-webkit-user-select:none;user-select:none}.trade-image-slot__img{width:100%;height:100%;object-fit:contain;display:none;background:#111}.trade-image-slot.has-image .trade-image-slot__empty{display:none}.trade-image-slot.has-image .trade-image-slot__img{display:block}.trade-image-slot:not(.has-image) .image-remove{display:none}.trade-image-slot .image-remove{z-index:4}.image-upload-area{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.image-status{font-size:12px;color:var(--text-secondary);min-width:0}.image-preview{position:relative}.trade-image-slot__loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;background:#0a0c1266;border-radius:inherit}.trade-image-slot__loading[hidden]{display:none!important}.trade-image-slot.loading .trade-image-slot__empty{opacity:.35}@media(max-width:900px){.trading-form-top-grid{grid-template-columns:1fr}.trade-image-slot{height:clamp(200px,52vw,280px);min-height:200px}}@media(max-width:720px){.trading-operation-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.trading-operation-field--datetime{grid-column:1 / -1}}@media(max-width:480px){.trading-operation-fields{grid-template-columns:1fr}.trading-operation-field--datetime{grid-column:span 1}.trading-datetime-row{flex-direction:column;align-items:stretch}.trading-datetime-row .btn{width:100%}}.image-remove{position:absolute;top:8px;right:8px;background:#000000b3;color:#fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;line-height:1;padding:0;border:1px solid rgba(255,255,255,.2);transition:background .2s ease,transform .2s ease;z-index:2}.image-remove:hover{background:#e53e3e;transform:scale(1.1)}.trade-preview{background:#1a2a1a;border:1px solid #2d5a2f;border-radius:12px;overflow:hidden;margin-top:12px}.preview-header{background:#1e4620;color:#a3d9a5;padding:8px 16px;font-weight:600;font-size:13px}.preview-body{padding:12px 16px}.preview-row{display:flex;justify-content:space-between;padding:4px 0;font-size:13px}.preview-label{color:var(--text-secondary)}.preview-value{color:var(--text-primary);font-weight:500}.preview-result{border-top:1px solid #2d5a2f;margin-top:8px;padding-top:8px}.preview-result .preview-label{font-weight:600;color:var(--text-primary)}.preview-result .preview-value{font-size:16px;font-weight:700}#appModals{display:contents}.modal-overlay[hidden]{display:none!important}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;height:100dvh;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:clamp(12px,3vw,20px);padding-top:max(clamp(12px,3vw,20px),calc(env(safe-area-inset-top) + 48px));overflow:hidden;overscroll-behavior:contain}.modal-overlay-close{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:1001;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;margin:0;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:#0000008c;color:var(--text-primary);font-size:22px;line-height:1;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.modal-overlay-close:hover{background:#000000c7;border-color:#1ad4c173;color:#fff}.modal-overlay-close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.modal-content .visor-close,.modal-sistema-header .visor-close,.trade-detail-header .visor-close,.modal-header .visor-close{display:none!important}.modal-content,.modal-card{background:var(--bg-elevated);border-radius:var(--radius-card);padding:clamp(16px,3vw,24px);max-width:min(500px,100%);width:100%;max-height:min(calc(100dvh - 80px),92dvh);border:1px solid var(--border);box-shadow:0 20px 60px #00000080;margin:auto;display:flex;flex-direction:column;overflow:hidden;min-height:0}.modal-panel-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:clamp(12px,2vw,16px)}.modal-panel-body .form-row{grid-template-columns:1fr}@media(min-width:540px){.modal-panel-body .form-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.modal-panel>.modal-sistema-header,.modal-panel>.trade-detail-header,.modal-panel>.trade-detail-counter,.modal-panel>.modal-sistema-actions,.modal-panel>.trade-detail-nav,.modal-panel>.trade-detail-staff-actions,.modal-panel>.modal-alert-schedule-actions,.modal-panel>.modal-leccion-config-actions,.modal-panel>.modal-leccion-contenido-actions{flex-shrink:0}.modal-content h3{color:var(--text-primary);font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:0}.modal-sistema{max-width:min(480px,100%)}.modal-sistema-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.modal-sistema-header h3{margin:0;font-size:1rem;line-height:1.3;flex:1;min-width:0}.modal-sistema-mensaje{margin:0 0 16px;font-size:.9rem;line-height:1.45;color:var(--text-secondary)}.modal-sistema-body{margin-bottom:12px}.modal-sistema-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:16px}body.modal-open,html.modal-open{overflow:hidden}.modal-confirm{max-width:450px}.confirm-body{background:var(--bg-surface);border-radius:8px;padding:12px 14px;margin-bottom:0}.confirm-row{display:flex;justify-content:space-between;padding:6px 0;font-size:13px;border-bottom:1px solid var(--bg-input)}.confirm-row:last-child{border-bottom:none}.confirm-label{color:var(--text-secondary)}.confirm-value{color:var(--text-primary);font-weight:500}.confirm-row.confirm-pnl .confirm-value{font-size:18px;font-weight:700}.modal-trade-detail{max-width:min(720px,100%);max-height:min(90vh,90dvh);display:flex;flex-direction:column;overflow:hidden;min-height:0}.trade-detail-top{position:relative;flex-shrink:0;margin-bottom:8px}.trade-detail-top--has-card .trade-detail-header{padding-right:min(320px,58vw)}.modal-trade-detail.trade-detail--feedback-student .trade-detail-top--has-card .trade-detail-header{padding-right:min(7.5rem,42vw)}.trade-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:0}.trade-detail-header h3{margin:0;flex:1;min-width:0}.trade-detail-feedback-card{position:absolute;top:0;right:0;z-index:4;display:none;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:.3rem;width:fit-content;max-width:min(420px,calc(100% - 1rem));padding:.35rem .4rem;border:1px solid var(--border);border-radius:10px;background:var(--bg-card, rgba(18, 22, 32, .96));box-shadow:0 6px 20px #00000059;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto}.trade-detail-feedback-card:not([hidden]){display:inline-flex}.trade-detail-feedback-card>.trade-feedback-toolbar:not([hidden]){flex:0 0 auto;width:auto}.trade-detail-feedback-card[hidden],.modal-trade-detail.trade-detail--feedback-student .trade-feedback-toolbar--staff,.modal-trade-detail.trade-detail--feedback-student .trade-feedback-toolbar--superadmin,.modal-trade-detail.trade-detail--feedback-staff .trade-feedback-toolbar--student{display:none!important}.trade-detail-counter{color:var(--text-muted);font-size:12px;margin-bottom:12px}.trade-detail-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;margin-bottom:16px;position:relative;transition:min-height .15s ease}.trade-detail-body.is-loading{min-height:280px;pointer-events:none}.trade-detail-body.is-loading>:not(.trade-detail-loading-overlay){opacity:.35;filter:blur(.5px)}.trade-detail-body.is-loading-nav{min-height:0}.trade-detail-body.is-loading-nav>:not(.trade-detail-loading-overlay){opacity:1;filter:none}.trade-detail-loading-overlay .app-loading{padding:24px;min-height:auto}.trade-detail-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;background:#0a0c1259;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.trade-detail-body.is-loading-nav .trade-detail-loading-overlay{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}.trade-detail-section{margin-bottom:18px}.trade-detail-section h4{color:var(--accent-cyan);font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin:0 0 10px}.trade-detail-columns{display:grid;grid-template-columns:1fr;gap:10px 16px}@media(min-width:540px){.trade-detail-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}.trade-detail-field{display:flex;flex-direction:column;gap:3px;min-width:0}.trade-detail-field--full{grid-column:1 / -1}.trade-detail-field--pnl .trade-detail-value{font-size:15px}.trade-detail-label{color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.trade-detail-value{color:var(--text-primary);font-size:13px;line-height:1.35;word-break:break-word}.trade-detail-value.pnl-positive{color:var(--positive);font-weight:700}.trade-detail-value.pnl-negative{color:var(--negative);font-weight:700}.image-zoom-viewport{overflow:hidden;display:flex;align-items:center;justify-content:center;max-width:100%;touch-action:pan-y pinch-zoom}.trade-detail-img-viewport{margin-top:8px;max-height:280px;border-radius:8px;background:#0a0c1259}.trade-detail-img{max-width:100%;max-height:200px;border-radius:8px;cursor:zoom-in;transform-origin:center center;will-change:transform}.trade-detail-img.is-zoomed{cursor:zoom-out}.trade-detail-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;flex-shrink:0}#btnPrevTrade.trade-detail-nav-side{justify-self:start}#btnNextTrade.trade-detail-nav-side{justify-self:end}.trade-detail-nav-center{justify-self:center;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:28px}.trade-detail-nav-center .trade-detail-nav-staff-action[hidden]{display:none!important}.trade-detail-nav-center:has(.trade-detail-nav-staff-action:not([hidden])) #btnCloseTradeNav{display:none}@media(max-width:560px){.trade-detail-top--has-card .trade-detail-header,.modal-trade-detail.trade-detail--feedback-student .trade-detail-top--has-card .trade-detail-header{padding-right:min(6.5rem,40vw)}.trade-detail-feedback-card{top:0;right:0;width:fit-content;max-width:calc(100% - .5rem);overflow-x:auto;-webkit-overflow-scrolling:touch}.trade-feedback-toolbar{justify-content:flex-end;flex-wrap:nowrap}}.trade-detail-nav .btn-trade-nav{min-height:28px;padding:3px 10px;font-size:11px;font-weight:500;opacity:.72;border-color:#cccccc38;color:var(--text-secondary)}.trade-detail-nav .btn-trade-nav:hover:not(:disabled){opacity:.95;border-color:#ccc6;color:var(--text-primary)}.trade-detail-nav .btn-trade-nav:disabled{opacity:.35}.trading-table tbody tr.trade-row-clickable{cursor:pointer}.trading-table tbody tr.trade-row-clickable:hover{background:#1ad4c114}.text-muted{color:var(--text-muted)}.visor-content{max-width:90vw;max-height:90vh;padding:16px;text-align:center;position:relative}.visor-image-viewport{position:relative;width:100%;min-height:120px;max-height:70vh;margin:0 auto}.visor-img{max-width:100%;max-height:70vh;border-radius:8px;object-fit:contain;min-height:100px;background:#1a1a1a;transform-origin:center center;will-change:transform;cursor:zoom-in}.visor-img.is-zoomed{cursor:zoom-out}.visor-loading{display:none;align-items:center;justify-content:center;padding:60px 20px;min-height:120px;position:absolute;top:0;right:0;bottom:0;left:0;z-index:2}.visor-loading.show{display:flex}.visor-close{position:absolute;top:8px;right:12px;font-size:24px;cursor:pointer;color:var(--text-secondary);transition:color .2s;z-index:10}.visor-close:hover{color:#fff}.visor-nav{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:12px}.visor-counter{color:var(--text-secondary);font-size:13px}.visor-caption{margin:12px 0 0;padding:10px 14px;background:var(--bg-surface);border-radius:8px;color:var(--text-primary);font-size:14px;line-height:1.5}.visor-caption .visor-caption-pnl{font-weight:700}.visor-caption .visor-caption-pnl.pnl-positive{color:var(--positive)}.visor-caption .visor-caption-pnl.pnl-negative{color:var(--negative)}.stats-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.stat-card{container-type:inline-size;background:var(--bg-surface);border-radius:12px;padding:16px 10px;text-align:center;border:1px solid var(--border);transition:border-color .2s,transform .2s;display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-width:0;overflow:hidden}.stat-card:not(.stat-card--clickable):hover{border-color:var(--accent-cyan);transform:translateY(-2px)}.stat-card--clickable{cursor:pointer;border-color:#f2e8cf66;box-shadow:0 2px 10px #f2e8cf1f}.stat-card--clickable:hover{border-color:#f2e8cfa6;box-shadow:0 4px 14px #f2e8cf38;transform:translateY(-2px)}.stat-card--clickable:active{transform:translateY(0);box-shadow:0 2px 8px #f2e8cf29}.student-equity-summary{margin-top:14px}.modal-stats-detail{max-width:720px;width:95%;display:flex;flex-direction:column;overflow:hidden;min-height:0}.modal-stats-detail .trade-detail-body{flex:1 1 auto;min-height:0}.modal-stats-detail .trade-detail-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.modal-stats-detail .trade-detail-header h3{grid-column:2;flex:none;width:auto;max-width:100%;text-align:center;justify-self:center}.modal-stats-detail .trade-detail-header .visor-close{grid-column:3;justify-self:end}.modal-content .trading-table th,.modal-content .trading-table td{text-align:center;vertical-align:middle}.stat-value{font-size:clamp(11px,6.5cqi,24px);font-weight:700;line-height:1.15;margin-bottom:4px;width:100%;max-width:100%;min-height:1.15em;display:flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;overflow:hidden;background:var(--gradient-data);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-value--split{display:flex;align-items:baseline;justify-content:center;gap:.3em;flex-wrap:nowrap;white-space:nowrap}.stat-value--split .stat-value-main,.stat-value--split .stat-value-sub{background:var(--gradient-data);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-value--split .stat-value-sub{font-size:.58em;font-weight:600;letter-spacing:-.02em;white-space:nowrap}.stat-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;line-height:1.25;width:100%}.trade-img-thumb{width:40px;height:40px;border-radius:6px;object-fit:cover;cursor:pointer;border:1px solid var(--border);transition:all .2s;display:block;margin-inline:auto}.trade-img-thumb:hover{border-color:var(--accent-cyan);transform:scale(1.1)}.trade-img-thumb[src]:not([src=""]){background:#1a1a1a}.trade-positive{color:var(--positive);font-weight:600}.trade-negative{color:var(--negative);font-weight:600}.students-hint{margin-bottom:16px;font-size:14px}.students-toolbar{margin-bottom:20px}.students-list{display:flex;flex-direction:column;gap:10px}.student-card{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;padding:14px 16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);cursor:pointer;transition:border-color .2s,transform .2s}.student-card:hover{border-color:var(--accent-cyan);transform:translateY(-1px)}.student-card-main{display:flex;flex-direction:column;gap:4px;min-width:0}.student-card-email{font-size:13px;color:var(--text-secondary);word-break:break-all}.student-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.student-course-card-wrap{display:flex;flex-direction:column;gap:0}.enrollment-card-edit-tiempos-footer{display:flex;justify-content:flex-end;padding:4px 0 0;margin-top:4px}.student-course-card .enrollment-card-edit-tiempos-footer{padding:8px 0 0;margin-top:6px}.enrollment-card-edit-tiempos-link{background:none;border:none;padding:0;font-size:12px;font-weight:600;color:var(--accent-cyan, #1ad4c1);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.enrollment-card-edit-tiempos-link:hover{color:#fff}.modal-editar-tiempos-enrollment-body{max-height:min(70vh,520px);overflow-y:auto;padding:0 4px}.modal-editar-tiempos-enrollment-body .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.enrollment-edit-tiempos-hint{font-size:12px;margin:0 0 12px}.enrollment-tiempos-preview{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.usuario-enrollment-card .enrollment-card-edit-tiempos-footer{padding:8px 0 0;margin-top:8px;border-top:1px solid var(--bg-input)}.student-course-card-wrap .student-course-card{border-radius:10px}.student-course-card-wrap--selected .student-course-card{border-color:var(--accent, #6366f1);box-shadow:0 0 0 1px var(--accent, #6366f1)}.student-enrollment-gestion{border:1px solid var(--border);border-top:none;border-radius:0 0 10px 10px;padding:14px;background:var(--bg-surface)}.student-courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.student-course-card{display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:14px}button.student-course-card-body{display:block;width:100%;padding:0;margin:0;border:none;background:none;text-align:left;font:inherit;color:inherit;cursor:pointer}.student-course-card--clickable{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.student-course-card--clickable:hover{border-color:var(--accent, #6366f1);box-shadow:0 2px 8px #00000014}.student-course-card--selected{border-color:var(--accent, #6366f1);box-shadow:0 0 0 1px var(--accent, #6366f1)}.estudiante-ver-curso-alumno-wrap{display:flex;justify-content:flex-end;width:100%;margin-top:6px}.btn-text-ver-curso-alumno{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:4px 0;color:var(--text-muted);font-size:clamp(.75rem,2vw,.8125rem);cursor:pointer;text-decoration:none;white-space:nowrap}.btn-text-ver-curso-alumno__label{text-decoration:underline;text-underline-offset:3px}.btn-text-ver-curso-alumno__chevron{font-size:10px;line-height:1;color:var(--accent-cyan);transition:transform .25s ease;text-decoration:none}.btn-text-ver-curso-alumno[aria-expanded=true] .btn-text-ver-curso-alumno__chevron,.btn-text-ver-curso-alumno.is-open .btn-text-ver-curso-alumno__chevron{transform:rotate(180deg)}.btn-text-ver-curso-alumno:hover{color:var(--accent-cyan)}.estudiante-curso-player-section{margin:clamp(12px,2vw,16px) 0 0;min-width:0}.estudiante-curso-player-host{min-width:0}.estudiante-curso-player-host .curso-player{margin:0}.student-courses-hint{margin:0 0 10px;font-size:13px}.estudiante-trading-hint{margin:16px 0 0}.student-trading-panel-card{display:flex;flex-direction:column;gap:clamp(14px,2vw,20px);margin:0 0 clamp(16px,2.5vw,24px);padding:clamp(16px,3vw,24px);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);min-width:0}.student-trading-panel-card .estudiante-trading-curso-titulo{margin:0;text-align:center;text-transform:uppercase;font-size:clamp(1rem,2.2vw,1.15rem);font-weight:700;letter-spacing:.06em;color:var(--text-primary)}.student-trading-panel-card .estudiante-trading-etapa-wrap{display:flex;flex-direction:column;gap:12px;margin:0}.estudiante-trading-lecciones-progress{width:100%;min-width:0;margin-top:clamp(20px,3vw,32px)}.estudiante-trading-lecciones-progress__inner{width:100%;max-width:520px;margin:0 auto}.estudiante-trading-lecciones-progress__bar{margin:0}.estudiante-trading-lecciones-progress__bar .curso-player-progress-track{width:100%;margin-top:0}.estudiante-trading-lecciones-progress__label{margin:8px 0 0;text-align:center;font-size:.9rem;color:var(--text-muted)}.student-trading-panel-card .estudiante-trading-etapa-row{display:flex;align-items:center;gap:14px;margin:0}.student-trading-panel-card .student-trading-panel-toolbar{display:flex;flex-direction:column;gap:12px;padding-top:clamp(12px,2vw,18px);border-top:1px solid var(--border)}.student-trading-panel-card .student-trading-cuentas-header{margin:clamp(20px,2.5vw,28px) 0 clamp(18px,2vw,24px)}.student-trading-panel-card .estudiante-filtro-label,.student-trading-panel-card .student-section-subtitle,.student-trading-panel-card .student-chart-wrap{margin:0}.student-trading-panel-card #estudiante-trades-table .pagination{margin-top:12px;margin-bottom:0}.estudiante-trading-curso-titulo{text-align:center;text-transform:uppercase;font-size:1.05rem;font-weight:600;letter-spacing:.04em;color:var(--text-primary)}.estudiante-trading-etapa-wrap{margin:4px 0 8px}.estudiante-trading-etapa-row{display:flex;align-items:center;gap:14px;margin:28px 0 48px}.estudiante-trading-etapa-wrap .estudiante-trading-etapa-timeline{flex:1 1 auto;min-width:0;margin:0}.estudiante-trading-grants-btn-wrap{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:8px;justify-content:flex-end;margin:0}.estudiante-reset-progreso-btn{width:14.5rem;max-width:14.5rem;font-size:12px;border-color:#ef44448c;color:#fca5a5}.estudiante-trading-grants-btn-wrap .btn{white-space:nowrap}.estudiante-trading-staff-split{display:flex;flex-direction:column;width:14.5rem;min-width:14.5rem;max-width:14.5rem;height:64px;border:1px solid var(--text-primary);border-radius:6px;overflow:hidden;box-sizing:border-box;flex-shrink:0}.estudiante-trading-staff-split__half{flex:1 1 50%;min-height:0;width:100%;margin:0;border:none;border-radius:0;background:transparent;color:var(--text-primary);font-family:inherit;font-size:9px;font-weight:600;line-height:1.1;padding:4px 8px;cursor:pointer;text-align:center;transition:background .2s ease,color .2s ease}.estudiante-trading-staff-split__half--top{border-bottom:1px solid var(--text-primary)}.estudiante-trading-staff-split__half:hover{background:var(--text-primary);color:var(--bg-app)}.estudiante-trading-staff-split--solo-autorizaciones{height:42px}.estudiante-trading-staff-split--solo-autorizaciones .estudiante-trading-staff-split__half--top{border-bottom:none;font-size:12px;line-height:1.2;padding:0 12px}.estudiante-tutores-modal-curso{margin:0 0 12px;font-size:.9rem}.estudiante-tutores-modal-body{display:flex;flex-direction:column;gap:10px;max-height:min(50vh,360px);overflow-y:auto;margin:0 0 4px}@media(max-width:720px){.estudiante-trading-etapa-row{flex-direction:column;align-items:stretch;gap:12px}.estudiante-trading-etapa-wrap .estudiante-trading-etapa-timeline{max-width:100%}.estudiante-trading-grants-btn-wrap{justify-content:center}}.estudiante-autorizaciones-modal-body{display:flex;flex-direction:column;gap:10px;max-height:min(60vh,420px);overflow-y:auto;margin:12px 0 4px}.estudiante-autorizaciones-modal-body:has(.app-loading),.estudiante-tutores-modal-body:has(.app-loading){min-height:100px;justify-content:center;align-items:center}.curso-stage-timeline--staff .curso-stage-timeline__step--staff{cursor:pointer}.curso-stage-timeline--staff .curso-stage-timeline__step--staff:hover .curso-stage-timeline__dot,.curso-stage-timeline--staff .curso-stage-timeline__step--staff:focus-visible .curso-stage-timeline__dot{transform:scale(1.1)}.curso-stage-timeline--staff .curso-stage-timeline__step--staff:focus-visible{outline:none}.trading-accounts-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;margin-bottom:16px}@media(max-width:1100px){.trading-accounts-picker{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){.trading-accounts-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.trading-accounts-picker{grid-template-columns:1fr}}.trading-account-card{display:flex;flex-direction:column;align-items:stretch;width:100%;min-width:0;text-align:left;font:inherit;color:inherit;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:16px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.trading-account-card:hover{border-color:var(--accent, #6366f1);box-shadow:0 2px 8px #00000014}.trading-account-card__name{display:block;font-size:16px;font-weight:600;margin-bottom:10px;line-height:var(--trading-account-card-line-h, 1.5rem)}.trading-account-card__line{display:block;font-size:14px;line-height:var(--trading-account-card-line-h, 1.5rem);min-height:var(--trading-account-card-line-h, 1.5rem);color:var(--text-muted, #888)}.trading-account-card__line strong{font-weight:600}.trading-account-card__balance--up strong{color:#4caf50}.trading-account-card__balance--down strong{color:#f44336}.trading-account-card__balance--flat strong,.trading-account-card__ops strong{color:var(--text-primary, inherit)}.trading-account-card__course{text-align:center;font-size:13px;margin-top:14px;opacity:.55}.trading-account-active-title{margin:0;font-size:18px;font-weight:600}.trading-cuenta-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.trading-cuenta-toolbar .trading-account-active-title{flex:1;min-width:0}.trading-add-trade-btn{flex-shrink:0;margin-left:auto}.student-course-progress{margin-top:10px;font-size:13px;color:var(--text-secondary)}.student-course-progress .progress-bar{height:6px;background:var(--bg-input);border-radius:3px;overflow:hidden;margin-bottom:6px}.student-course-progress .progress-fill{height:100%;background:var(--gradient-data);border-radius:3px}.student-journal-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.student-journal-wrap{min-width:0}.journal-panel{display:flex;flex-direction:column;gap:16px}.journal-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.journal-title{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-primary)}.journal-sort{display:flex;align-items:center;gap:8px}.journal-sort-label{font-size:.85rem;color:var(--text-muted)}.journal-sort-select{min-width:180px;max-width:100%}.journal-hint{margin:0;font-size:.9rem}.journal-countdown-hint{margin:0 0 12px;font-size:.88rem;color:var(--text-muted);text-align:right}.journal-countdown{display:inline-block;min-width:5.5em;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.04em;color:var(--accent-cyan)}.journal-compose,.journal-entry{position:relative;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.journal-entry--taggable{cursor:pointer;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.journal-entry--taggable:hover{border-color:#1ad4c159;background:#1ad4c108;box-shadow:0 2px 10px #00000014}.journal-entry--taggable:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.journal-compose-label{display:block;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.journal-textarea{resize:vertical;min-height:96px;width:100%}.journal-compose-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.journal-char-count{font-size:.85rem;color:var(--text-muted)}.journal-entries-list{display:flex;flex-direction:column;gap:12px}.journal-entry-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.journal-entry-date{font-weight:700;color:var(--accent-cyan);font-size:.95rem}.journal-entry-content{margin:0 0 10px;white-space:pre-wrap;word-break:break-word;color:var(--text-secondary);line-height:1.5}.journal-entry--missing{display:flex;flex-direction:column;min-height:5.5rem}.journal-entry-missing-label{flex:1;display:flex;align-items:center;justify-content:center;margin:.5rem 0 0;text-align:center;color:var(--text-muted);font-size:.95rem}.notificacion-inline-link{color:var(--accent-cyan);text-decoration:underline;cursor:pointer}.notificacion-inline-link:hover{opacity:.85}.notificacion-card-title .notificacion-inline-link{font-weight:inherit}.journal-entry-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;min-height:0}.journal-tag-chip{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.8rem;background:#1ad4c11f;border:1px solid rgba(26,212,193,.35);color:var(--accent-cyan)}.journal-entry-tag-picker{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:14px 16px;border-radius:inherit;background:#1a1a1aeb;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,visibility .15s ease}.journal-entry.is-tag-picker-open .journal-entry-tag-picker{opacity:1;visibility:visible;pointer-events:auto}.journal-entry-tag-picker-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;max-width:100%}.journal-tag-add{font-size:.78rem}.journal-empty,.journal-compose-done{margin:0}@media(max-width:480px){.journal-sort{width:100%}.journal-sort-select{flex:1;min-width:0}}.student-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-top:8px}.stats-dashboard-wrap{margin-top:8px}.stats-dashboard{display:flex;flex-direction:column;gap:16px}.stats-dashboard--empty{padding:28px 16px;text-align:center;background:var(--bg-surface);border:1px dashed var(--border);border-radius:14px}.stats-dashboard__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 4px;padding:18px 20px;background:linear-gradient(135deg,#397a662e,#f2e8cf14,#1e1e1e66);border:1px solid rgba(242,232,207,.2);border-radius:14px;box-shadow:0 4px 24px #0003}.stats-dashboard__header-metric{display:flex;flex-direction:column;align-items:center;min-width:72px;padding:4px 12px}.stats-dashboard__header-value{font-size:clamp(1.25rem,4vw,1.75rem);font-weight:800;line-height:1.1;letter-spacing:-.02em;background:var(--gradient-data);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stats-dashboard__header-value--pnl{font-size:clamp(1rem,3.5vw,1.5rem)}.stats-dashboard__header-value.stat-positive{background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:var(--positive);color:var(--positive)}.stats-dashboard__header-value.stat-negative{background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:var(--negative);color:var(--negative)}.stats-dashboard__header-value--white{background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:var(--text-primary);color:var(--text-primary)}.stats-dashboard__header-label{margin-top:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.stats-dashboard__header-sep{width:1px;height:36px;background:#ffffff1f;flex-shrink:0}.stats-dashboard__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:14px;align-items:stretch}.stats-dashboard__col{display:flex;flex-direction:column;gap:14px;min-width:0}.stats-dash-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0;transition:border-color .2s ease}.stats-dash-panel:hover{border-color:#f2e8cf40}.stats-dash-panel__head{display:flex;align-items:center;justify-content:center;margin:0;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06);text-align:center}.stats-dash-panel__title{margin:0;width:100%;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary);text-align:center}.stats-dash-panel__body{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-width:0;width:100%;text-align:center}.stats-dash-panel__foot{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding-top:4px;border-top:1px solid rgba(255,255,255,.05);width:100%}.stats-dash-grid{display:grid;gap:10px;width:100%}.stats-dash-grid--2x2{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-dash-mini{background:#0003;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:12px 10px;text-align:center;display:flex;flex-direction:column;gap:6px;min-width:0}.stats-dash-mini--clickable{cursor:pointer;border-color:#f2e8cf1f;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.stats-dash-mini--clickable:hover{background:#f2e8cf0f;border-color:#f2e8cf47;box-shadow:0 4px 14px #0003;transform:translateY(-1px)}.stats-dash-mini--clickable:active{transform:translateY(0)}.stats-dash-mini__label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.stats-dash-mini__value{font-size:clamp(1rem,3vw,1.35rem);font-weight:700;line-height:1.2}.stats-dash__value--positive{color:var(--positive)}.stats-dash__value--negative{color:var(--negative)}.stats-dash-row-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.stats-dash-kv{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 12px;background:#00000026;border-radius:10px;border:1px solid transparent;text-align:center}.stats-dash-kv--clickable{cursor:pointer;border-color:#f2e8cf1f;transition:background .15s,border-color .15s}.stats-dash-kv--clickable:hover{background:#f2e8cf0f;border-color:#f2e8cf47}.stats-dash-temporal{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.stats-dash-temporal__row{display:grid;gap:10px;width:100%}.stats-dash-temporal__row--3{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-dash-temporal__row--2{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-dash-kv--hour .stats-dash-kv__value{font-size:clamp(.8rem,2.5vw,.95rem);line-height:1.35;word-break:break-word}@media(max-width:640px){.stats-dash-temporal__row--3{grid-template-columns:1fr}}@media(max-width:480px){.stats-dash-temporal__row--2{grid-template-columns:1fr}}.stats-dash-kv__label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.stats-dash-kv__value{font-size:.95rem;font-weight:700;color:var(--text-primary);line-height:1.3}.stats-dash-kv__value small{font-size:.75em;font-weight:600;opacity:.75}.stats-dash-kv__value--positive{color:var(--positive)}.stats-dash-kv__value--negative{color:var(--negative)}.stats-dash-chart{width:100%;min-width:0;display:flex;flex-direction:column;align-items:center}.stats-dash-chart--donut .stats-dash-chart__frame{max-width:280px;margin:0 auto}.stats-dash-donut-legend{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:320px;margin:4px auto 0;padding:0 4px}.stats-dash-donut-legend__col{display:flex;flex-direction:column;gap:4px;min-width:0}.stats-dash-donut-legend__col--left{align-items:flex-start;text-align:left}.stats-dash-donut-legend__col--right{align-items:flex-end;text-align:right}.stats-dash-donut-legend__title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-primary)}.stats-dash-donut-legend__line{font-size:11px;font-weight:600;color:var(--text-secondary)}.stats-dash-donut-legend__pnl{font-size:13px;font-weight:800;line-height:1.2}.stats-dash-donut-legend__pnl.stat-positive{color:var(--positive)}.stats-dash-donut-legend__pnl.stat-negative{color:var(--negative)}.stats-dash-chart__frame{position:relative;width:100%;border-radius:12px;overflow:hidden;background:linear-gradient(165deg,#397a6614,#00000059 55%,#00000080);border:1px solid rgba(255,255,255,.07);box-shadow:inset 0 1px #ffffff0f,0 8px 28px #00000059,0 2px 8px #0003}.stats-dash-chart__canvas{display:block;width:100%;max-width:100%;height:auto;vertical-align:top}.stats-dash-chart--empty{display:flex;align-items:center;justify-content:center;min-height:100px;padding:20px 12px;border-radius:12px;border:1px dashed rgba(255,255,255,.1);background:#00000026}.stats-dash-chart__empty{margin:0;font-size:12px;text-align:center;color:var(--text-secondary)}.stats-dash-panel--chart .stats-dash-chart{margin-bottom:4px}.stats-dash-panel--chart-compact .stats-dash-chart__frame{box-shadow:inset 0 1px #ffffff0d,0 6px 20px #00000047}.stats-dash-chart--distribution{width:100%;max-width:100%}.stats-dash-chart--distribution .stats-dash-chart__frame{width:100%;max-width:none;margin:0 auto;display:flex;justify-content:center;align-items:center;padding:4px 8px 8px}.stats-dash-chart--distribution .stats-dash-chart__canvas{margin-left:auto;margin-right:auto}.stats-dash-panel--chart-compact .stats-dash-panel__body{width:100%}.stats-dash-dir-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:280px;margin:0 auto}.stats-dash-dir-chip{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px;background:#0003;border-radius:10px;border:1px solid rgba(255,255,255,.06)}.stats-dash-dir-chip__label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-secondary)}.stats-dash-dir-chip__value{font-size:1.35rem;font-weight:800;background:var(--gradient-data);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stats-dash-dir-chip__value.stats-dash-dir-chip__value--white,#estudiante-stats .stats-dash-dir-chip__value--white{background:none!important;-webkit-background-clip:unset!important;background-clip:unset!important;-webkit-text-fill-color:#ffffff!important;color:#fff!important}.stats-dash-link-btn{flex:0 1 auto;min-width:120px;padding:8px 12px;font-size:12px;font-weight:600;font-family:inherit;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.stats-dash-link-btn:hover{color:var(--text-primary);border-color:#f2e8cf66;background:#f2e8cf0d}@media(min-width:901px){.stats-dashboard__grid{align-items:stretch}.stats-dashboard__col{align-self:stretch}.stats-dashboard__col>.stats-dash-panel{flex:1 1 auto;display:flex;flex-direction:column}.stats-dashboard__col>.stats-dash-panel>.stats-dash-panel__head{flex-shrink:0}.stats-dashboard__col>.stats-dash-panel>.stats-dash-panel__body{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center}}@media(max-width:900px){.stats-dashboard__grid{grid-template-columns:1fr}.stats-dashboard__header-sep{display:none}.stats-dashboard__header{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stats-dashboard__header-metric{padding:8px;background:#00000026;border-radius:10px}}@media(max-width:480px){.stats-dash-grid--2x2,.stats-dash-row-pair,.stats-dash-dir-summary{grid-template-columns:1fr}}.student-section-subtitle{margin:20px 0 12px;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary)}.student-trades-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin-top:20px}.student-trades-header .student-section-subtitle{margin:0}.student-trades-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex-shrink:0}.student-trades-toolbar[hidden]{display:none!important}.student-trades-pending-hint{margin:0 0 8px;font-size:.875rem}.student-trades-toolbar .btn[hidden]{display:none!important}.trade-row--multi-selectable{cursor:pointer}.trade-row--multi-selected{outline:2px solid var(--accent, #3b82f6);outline-offset:-2px;background:#3b82f614}.trade-feedback-badge--group{font-weight:600}.trade-detail-session-block{margin:0 0 16px;padding:12px;border-radius:8px;background:var(--surface-elevated, rgba(255, 255, 255, .04));border:1px solid var(--border-subtle, rgba(255, 255, 255, .08))}.trade-detail-session-block ul{margin:8px 0 0;padding-left:1.2rem;font-size:.9rem}.student-trading-filters{margin-bottom:8px}#tab-estudiantes h3,#tab-estudiantes h4{font-size:clamp(1rem,3vw,1.2rem)}.student-chart-wrap{position:relative;background:var(--bg-app);border:1px solid var(--border);border-radius:12px;padding:12px;margin-bottom:20px;min-height:244px}.student-chart-wrap.is-loading{min-height:244px}.student-chart-wrap.is-loading canvas,.student-chart-wrap.is-loading .equity-chart-empty{display:none!important}.equity-chart-empty{display:none;align-items:center;justify-content:center;min-height:220px;margin:0;padding:20px 16px;text-align:center;font-size:13px;color:var(--text-secondary);border-radius:10px;border:1px dashed rgba(255,255,255,.1);background:#00000026}.equity-chart-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;background:#0a0c1259;border-radius:10px}.equity-chart-loading[hidden]{display:none!important}.trading-equity-chart-wrap,.trading-cuenta-filters{margin-bottom:16px}.trading-cuenta-filters-row .student-trading-filter-col--fecha,.trading-cuenta-filters-row .student-trading-filter-col--hasta{flex:0 1 auto}.student-equity-chart{display:block;width:100%;max-width:100%}.stat-value.stat-positive{background:none;-webkit-text-fill-color:var(--positive);color:var(--positive)}.stat-value.stat-negative{background:none;-webkit-text-fill-color:var(--negative);color:var(--negative)}.student-stats-by-asset{margin-top:8px;margin-bottom:4px;font-size:13px;line-height:1.5}.student-accounts-section{margin-bottom:16px}.student-accounts-list{display:flex;flex-direction:column;gap:8px}.student-account-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px}.student-account-actions{display:flex;gap:8px}.trade-actions-cell{white-space:nowrap;text-align:center}.trade-actions-cell .btn{margin-right:4px}.trade-detail-nav--center{justify-content:center}.trade-detail-staff-actions:not(.trade-feedback-detail-footer){display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.trade-detail-staff-actions-main:not(.trade-feedback-toolbar){display:flex;gap:10px;flex-wrap:wrap;margin-left:auto}.trade-detail-staff-delete{flex-shrink:0}.btn-danger-outline{border-color:var(--negative);color:var(--negative);background:#f4433626}.btn-danger-outline:hover{background:transparent}.modal-trade-edit{max-width:560px;width:95%}#appModals{position:relative;z-index:1000}.student-tutors-section{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.student-tutors-hint{font-size:.85rem;margin:0 0 12px}.student-tutors-by-course{display:flex;flex-direction:column;gap:16px;margin-bottom:12px}.student-tutors-course-block{padding:12px 0 0;border-top:1px solid rgba(255,255,255,.06)}.student-tutors-course-block:first-child{border-top:none;padding-top:0}.student-tutors-course-title{margin:0 0 10px;font-size:.92rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.student-tutors-checklist{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;max-height:220px;overflow-y:auto}.student-tutors-check{display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:.9rem}.student-tutors-check input{margin-top:3px}.student-tutors-readonly{margin:0;padding-left:1.2rem;font-size:.9rem}.student-tutors-actions{display:flex;justify-content:flex-end}.student-profile-section{margin-bottom:24px}.student-profile-main-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(14px,2.5vw,24px);align-items:start;margin-bottom:24px}.student-profile-main-grid--single{grid-template-columns:minmax(0,1fr)}.estudiante-perfil-body-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(14px,2.5vw,24px);align-items:start;margin-bottom:24px}.estudiante-perfil-left-stack{grid-column:1;min-width:0;display:flex;flex-direction:column;gap:clamp(10px,2vw,16px)}.estudiante-perfil-body-grid>.student-activity-mini{grid-column:2;grid-row:1;align-self:start;min-width:0}.estudiante-perfil-body-grid .estudiante-perfil-top,.estudiante-perfil-body-grid .student-profile-main-grid{margin-bottom:0}.student-profile-left-col{display:flex;flex-direction:column;gap:clamp(16px,2.5vw,24px);min-width:0}.student-profile-courses-block{flex:1;min-width:0}.student-profile-left-col>.student-profile-courses-block{padding-top:clamp(14px,2vw,18px);border-top:1px solid var(--border)}.student-profile-section-title{margin:0 0 12px;font-size:clamp(1rem,2vw,1.15rem);font-weight:600;color:var(--text-primary)}.student-profile-trading-section{margin-top:0}.student-profile-col{min-width:0}.student-profile-col .student-profile-card{height:auto}.student-profile-left-col .student-courses-grid{grid-template-columns:1fr}.estudiante-perfil-top{display:flex;align-items:flex-start;justify-content:space-between;gap:clamp(8px,2vw,16px);margin-bottom:clamp(12px,2.5vw,20px);min-width:0}.estudiante-perfil-top-main{flex:1;min-width:0}#estudiantePerfilHeader .estudiante-perfil-header-name h2{line-height:1.15}#estudiantePerfilHeader h2,.estudiante-perfil-top-main h2{margin:0;font-size:clamp(1.05rem,2.8vw,1.35rem);line-height:1.25;word-break:break-word}.estudiante-perfil-name-link{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;text-align:inherit;text-decoration:underline;text-decoration-color:#1ad4c173;text-underline-offset:3px}.estudiante-perfil-name-link:hover{color:var(--accent-cyan)}.estudiante-perfil-name-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:2px}.estudiante-perfil-bitacora-link-wrap{flex-shrink:0;align-self:flex-start;margin:0;padding-top:.15em}.perfil-card-horizontal--estudiante .student-profile-photo-bitacora-wrap{display:flex;flex-direction:column;align-items:center;width:100%;margin-top:10px;padding-top:0;align-self:center}.perfil-card-horizontal--estudiante .student-profile-photo-bitacora-wrap .estudiante-perfil-bitacora-link{margin:0}.estudiante-perfil-top-actions{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end;gap:4px 12px;flex-shrink:0}.estudiante-perfil-bitacora-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:6px 10px;margin:-6px -10px;border:none;border-radius:8px;background:none;font-family:inherit;font-size:clamp(.8rem,2.2vw,.9rem);font-weight:600;color:var(--accent-cyan);cursor:pointer;text-decoration:none;white-space:nowrap;transition:color .2s ease,background .2s ease}@media(hover:hover){.estudiante-perfil-bitacora-link:hover{color:var(--text-primary);background:#1ad4c11a}}.estudiante-perfil-mensaje-btn{flex-shrink:0;color:var(--text-primary)}@media(hover:hover){.estudiante-perfil-bitacora-link.estudiante-perfil-mensaje-btn:hover{color:var(--accent-cyan);background:none}}.estudiante-perfil-mensaje-icon{display:block;flex-shrink:0}.estudiante-perfil-vision-ia-btn{flex-shrink:0;color:#0052cc}.estudiante-perfil-vision-ia-icon{display:block;width:20px;height:20px;flex-shrink:0;filter:drop-shadow(0 0 2px rgba(0,82,204,.18))}@media(hover:hover){.estudiante-perfil-bitacora-link.estudiante-perfil-vision-ia-btn:hover{color:#0052cc;background:#0052cc0f}.estudiante-perfil-vision-ia-btn:hover .estudiante-perfil-vision-ia-icon{filter:drop-shadow(0 0 3px rgba(0,82,204,.24))}}@media(max-width:480px){.estudiante-perfil-top{flex-wrap:wrap}.estudiante-perfil-bitacora-link-wrap{width:auto}.estudiante-perfil-top-actions{width:100%;justify-content:flex-end;padding-top:0}.estudiante-perfil-bitacora-link{margin:0;min-height:40px}}.estudiante-stats-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 8px}.estudiante-stats-actions[hidden]{display:none!important}.modal-stats-chart{width:min(640px,96vw);max-height:min(90vh,520px);display:flex;flex-direction:column}.stats-chart-canvas-wrap{padding:8px 4px 4px;min-height:200px;overflow-x:auto}.stats-grafico-canvas{display:block;width:100%;max-width:100%}.stat-value--split .stat-weekday-best,.stat-value--split .stat-weekday-worst{background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:currentColor!important}.stat-value--split .stat-weekday-best{color:var(--positive, #5a9e6e)!important;font-weight:700}.stat-value--split .stat-weekday-worst{color:var(--negative, #c75c5c)!important;font-weight:700}@media(max-width:380px){.stat-value--split:has(.stat-weekday-best){flex-direction:column;align-items:center;gap:.15em}}@media(max-width:480px){.estudiante-stats-actions{flex-direction:column}.estudiante-stats-actions .btn{width:100%}}.modal-bitacora-staff{width:min(640px,96vw);max-height:min(88vh,720px);display:flex;flex-direction:column}.modal-bitacora-body{overflow-y:auto;flex:1;min-height:0;padding-top:4px}.journal-toolbar--modal{justify-content:flex-end}.journal-toolbar--modal .journal-sort{margin-left:auto}.student-activity-mini{display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:14px 16px;cursor:pointer;transition:border-color .2s,box-shadow .2s}.student-activity-mini:hover{border-color:#1ad4c173;box-shadow:0 4px 16px #0003}.student-activity-mini-header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;flex-shrink:0}.student-activity-mini-title{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-cyan)}.student-activity-mini-hint{font-size:11px;color:var(--text-muted)}.student-activity-mini-list{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.student-activity-mini-empty{margin:auto 0;text-align:center;font-size:13px}.student-activity-mini-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;text-align:left;border:1px solid var(--bg-input);border-radius:8px;padding:8px 10px;background:var(--bg-input);color:var(--text-primary);cursor:pointer;transition:border-color .15s}.student-activity-mini-item:hover{border-color:#1ad4c166}.student-activity-mini-item-meta{font-size:10px;color:var(--text-muted)}.student-activity-mini-item-text{font-size:12px;line-height:1.35}.activity-mini-badge{display:inline-block;margin-left:4px;font-size:10px;padding:1px 6px;border-radius:4px;background:#ffc10726;color:#ffc107}.student-activity-mini-compose{flex-shrink:0;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);padding-top:12px;cursor:default}.student-activity-note-input{font-size:13px;resize:vertical;min-height:52px}.student-activity-compose-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.student-activity-compose-actions .btn{width:100%;margin:0;justify-content:center}.modal-alert-schedule{max-width:min(420px,94vw);width:100%}.modal-alert-schedule-hint{margin:0 0 14px;font-size:13px}.modal-alert-schedule-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.alert-schedule-presets{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 12px}.btn-xs{padding:4px 10px;font-size:11px;line-height:1.3;border-radius:6px}.alert-notify-recipients{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface)}.alert-notify-item{display:flex;align-items:flex-start;gap:8px;font-size:13px;cursor:pointer;color:var(--text-primary)}.alert-notify-item input{margin-top:3px;flex-shrink:0}.alert-notify-role{font-size:11px;color:var(--text-muted)}.modal-alert-schedule-actions{margin-top:14px}.usuarios-toolbar-row.students-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:flex-start;gap:8px;margin-bottom:20px}.usuarios-toolbar-row .usuarios-toolbar-actions{display:contents}.usuarios-toolbar-row .estudiantes-toolbar-search{flex:2 1 220px;min-width:min(100%,200px);margin-bottom:0}.usuarios-toolbar-row .estudiantes-toolbar-course{margin-bottom:0}#tab-usuarios .usuarios-toolbar-row .estudiantes-toolbar-buscar-filtros{flex:0 0 auto;min-width:0;max-width:100%;width:max-content;margin-bottom:0}#tab-usuarios .usuarios-toolbar-row .usuarios-alta-split:not(.is-expanded) .usuarios-alta-split__single{width:100%;max-width:none;white-space:normal;line-height:1.2;padding:6px 10px;height:auto;min-height:var(--estudiantes-control-height, 42px);display:inline-flex;align-items:center;justify-content:center;text-align:center;overflow-wrap:anywhere}@media(min-width:769px){#tab-usuarios .usuarios-toolbar-row.students-toolbar{flex-wrap:nowrap}#tab-usuarios .usuarios-toolbar-row .estudiantes-toolbar-search{flex:2 1 220px;min-width:200px}}.usuarios-search-wrap{position:relative;width:100%}.usuarios-toolbar-row .estudiantes-toolbar-search .form-input{width:100%}.usuarios-search-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:120;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0003;max-height:min(320px,50vh);overflow-y:auto}.usuarios-search-suggestion-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px;border:none;border-bottom:1px solid var(--bg-input);background:none;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.usuarios-search-suggestion-item:last-child{border-bottom:none}.usuarios-search-suggestion-item:hover,.usuarios-search-suggestion-item:focus-visible{background:var(--bg-input);outline:none}.usuarios-search-suggestion-name{font-weight:600;font-size:14px}.usuarios-search-suggestion-email{font-size:12px}.usuarios-search-suggestions-empty{margin:0;padding:12px;font-size:13px}.usuarios-gestion-hint{margin:8px 0 0;font-size:14px}.usuarios-toolbar-row .form-group-btn{flex:0 0 auto;margin-bottom:0;min-width:0}.usuarios-toolbar-row .form-group-btn .btn{width:auto;min-width:4.5rem}.usuarios-toolbar-row .usuarios-toolbar-actions .btn{flex:0 0 auto;width:auto;white-space:nowrap}@media(min-width:900px){.usuarios-toolbar-row.students-toolbar{flex-wrap:nowrap}}.usuarios-gestion-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.usuarios-alta-split{display:inline-flex;flex:0 0 auto;vertical-align:middle;width:12.75rem;min-width:12.75rem;max-width:min(12.75rem,100%);height:var(--estudiantes-control-height, 42px);min-height:var(--estudiantes-control-height, 42px);max-height:var(--estudiantes-control-height, 42px);box-sizing:border-box}.usuarios-alta-split__single{height:100%;width:100%;min-height:0;min-width:0;max-width:100%;white-space:normal;line-height:1.2;text-align:center;overflow-wrap:anywhere;box-sizing:border-box}.usuarios-alta-split.is-expanded{width:12.75rem;min-width:12.75rem;max-width:min(12.75rem,100%)}#tab-usuarios .usuarios-toolbar-row .usuarios-alta-split{display:flex;flex:0 1 auto;width:auto;min-width:min(12.75rem,100%);max-width:100%}#tab-usuarios .usuarios-toolbar-row .usuarios-alta-split:not(.is-expanded){height:auto;min-height:var(--estudiantes-control-height, 42px);max-height:none}#tab-usuarios .usuarios-toolbar-row .usuarios-alta-split.is-expanded{flex:0 0 12.75rem;width:12.75rem;min-width:min(12.75rem,100%);max-width:100%;height:var(--estudiantes-control-height, 42px);min-height:var(--estudiantes-control-height, 42px);max-height:var(--estudiantes-control-height, 42px)}.usuarios-alta-split.is-expanded .usuarios-alta-split__single,.usuarios-alta-split__single[hidden]{display:none!important}.usuarios-alta-split.is-expanded .usuarios-alta-split__dual{display:flex;flex:1 1 auto;min-height:0;width:100%;height:100%}.usuarios-alta-split__dual[hidden]{display:none!important}.usuarios-alta-split__dual{display:none;flex-direction:column;width:100%;height:100%;border:1px solid var(--text-primary);border-radius:6px;overflow:hidden;box-sizing:border-box}.usuarios-alta-split__half{flex:1 1 50%;min-height:0;width:100%;margin:0;padding:0 6px;border:none;border-radius:0;background:transparent;color:var(--text-primary);font-family:inherit;font-size:10px;font-weight:600;line-height:1.05;text-align:center;cursor:pointer;transition:background .2s ease,color .2s ease}.usuarios-alta-split__half--top{border-bottom:1px solid var(--text-primary)}.usuarios-alta-split__half:hover,.usuarios-alta-split__half:focus-visible{background:var(--text-primary);color:var(--bg-app, #0a0e14);outline:none}.modal-invitar-usuario{max-width:min(560px,calc(100vw - 32px))}.modal-invitar-usuario-body{display:flex;flex-direction:column;gap:16px;max-height:min(75vh,640px);overflow-y:auto}.modal-invitar-form-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) auto;gap:10px 12px;align-items:end}.modal-invitar-form-grid .form-group{margin-bottom:0;min-width:0}.modal-invitar-field--submit{display:flex;align-items:flex-end;min-width:0}.modal-invitar-submit-btn{height:var(--estudiantes-control-height, 42px);min-height:var(--estudiantes-control-height, 42px);max-height:var(--estudiantes-control-height, 42px);margin:0;padding:0 14px;white-space:nowrap;box-sizing:border-box;line-height:1.2}@media(max-width:520px){.modal-invitar-form-grid{grid-template-columns:1fr;align-items:stretch}.modal-invitar-field--submit{justify-content:stretch}.modal-invitar-submit-btn{width:100%;max-width:none}}.modal-invitar-pendientes{margin:0;padding-top:4px;border-top:1px solid var(--border)}.modal-invitar-pendientes-title{margin:0 0 10px;font-size:.9375rem}.usuarios-gestion-list{display:flex;flex-direction:column;gap:8px}.usuarios-gestion-item{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);color:var(--text-primary);cursor:pointer}.usuarios-gestion-item:hover{border-color:#1ad4c173}.usuarios-gestion-item-main{display:flex;flex-direction:column;gap:2px}.usuarios-gestion-item-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.usuarios-detail-header-block{margin-bottom:12px;min-width:0}.usuarios-detail-title{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px 10px;margin:0;text-align:left}.usuarios-detail-name{margin:0}.usuarios-detail-email-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;min-width:0}.usuarios-detail-email{margin:0;padding:0;flex:1;min-width:0;font-size:.875rem;font-weight:400;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.35}#tab-usuarios .usuarios-detail-email-row .btn-sm{height:auto;min-height:0;max-height:none;padding:3px 12px;font-size:12px;line-height:1.25;flex-shrink:0}.usuarios-detail-roles{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;font-weight:400}.usuarios-detail-roles .badge{font-size:.65rem;padding:2px 8px;line-height:1.35}.badge-estudiante--link{border:none;cursor:pointer;font-family:inherit;transition:filter .15s ease,transform .15s ease}.badge-estudiante--link:hover{filter:brightness(1.12)}.badge-estudiante--link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.perfil-card-horizontal{display:grid;grid-template-columns:minmax(88px,128px) minmax(0,1fr) minmax(0,1fr);gap:clamp(12px,2.5vw,20px) clamp(14px,3vw,24px);align-items:start}.perfil-card-horizontal__photo{grid-row:1 / -1;display:flex;justify-content:center;align-items:flex-start}.perfil-card-horizontal__photo .student-profile-photo-block,.perfil-card-horizontal__photo .user-perfil-photo-upload--card{margin:0 auto}.perfil-card-horizontal__body{grid-column:2 / -1;display:flex;flex-direction:column;gap:12px;min-width:0}.perfil-card-horizontal--estudiante .perfil-card-horizontal__photo{grid-row:1;align-self:start}.perfil-card-horizontal--estudiante .student-profile-photo-block{display:flex;flex-direction:column;align-items:center}.perfil-card-horizontal--estudiante .perfil-card-horizontal__body{grid-column:2 / -1;grid-row:1}.perfil-card-horizontal--estudiante .perfil-card-horizontal__span{grid-column:1 / -1;min-width:0}.perfil-card-horizontal--estudiante .perfil-card-horizontal__span--tags{padding-top:10px;border-top:1px solid var(--border)}.perfil-card-horizontal--estudiante .perfil-card-horizontal__span--tags .student-profile-field--tags{margin-top:0}.perfil-card-horizontal--estudiante .perfil-card-horizontal__span--ai{display:flex;flex-direction:column;gap:clamp(10px,1.8vw,14px);padding-top:10px;border-top:1px solid var(--border)}.student-profile-card.perfil-usuarios-compact{display:grid;grid-template-columns:minmax(96px,120px) minmax(0,1fr);gap:10px clamp(12px,2vw,20px);align-items:start;height:auto}.perfil-usuarios-photo{align-self:start;display:flex;justify-content:center;width:100%}.perfil-usuarios-photo .student-profile-photo-block{margin:0;width:112px;flex-shrink:0}.perfil-usuarios-photo .student-profile-photo-wrap{width:112px;height:112px;border-radius:50%;overflow:hidden;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;box-sizing:border-box}.perfil-usuarios-photo .student-profile-photo-wrap .student-profile-photo{width:100%;height:100%;object-fit:cover;border:none;border-radius:0}.perfil-usuarios-photo .student-profile-photo-wrap .student-profile-photo--placeholder{width:100%;height:100%;border:none;border-radius:0;font-size:1.5rem}.perfil-usuarios-photo .user-perfil-photo-upload--card{display:block;width:112px}.perfil-usuarios-photo .user-perfil-photo-circle--card{width:112px;height:112px}.perfil-usuarios-photo .user-perfil-photo-circle--card .student-profile-photo,.perfil-usuarios-photo .user-perfil-photo-circle--card .student-profile-photo--placeholder{width:100%;height:100%;object-fit:cover;border:none}.perfil-usuarios-fields-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 14px;min-width:0;align-content:start;grid-column:2}.perfil-usuarios-fields-grid>.student-profile-field{gap:2px;min-width:0}.perfil-usuarios-fields-grid>.student-profile-field--meta-action,.perfil-usuarios-fields-grid>.usuarios-perfil-actions-stack,.perfil-usuarios-field--full,.usuarios-detail-info>.usuarios-self-edit-hint{grid-column:1 / -1}.perfil-usuarios-compact .student-profile-label{font-size:9px;letter-spacing:.04em}.perfil-usuarios-compact .student-profile-value{font-size:12px;line-height:1.3}.perfil-usuarios-fields-grid .usuarios-perfil-actions-stack{max-width:none;flex-direction:row;flex-wrap:wrap;gap:8px}.perfil-usuarios-fields-grid .btn-perfil-accion--equal{width:auto;min-width:140px}@media(min-width:1200px){.perfil-usuarios-fields-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:720px){.student-profile-card.perfil-usuarios-compact{grid-template-columns:minmax(80px,100px) minmax(0,1fr)}.perfil-usuarios-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.user-perfil-card-layout.perfil-card-horizontal:not(.user-perfil-card-layout--usuarios){grid-template-columns:minmax(88px,128px) minmax(0,1fr)}.user-perfil-card-layout.perfil-card-horizontal:not(.user-perfil-card-layout--usuarios) .perfil-card-horizontal__body{grid-column:2}.perfil-propio-fields-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;min-width:0;align-content:start}.perfil-propio-fields-grid>.student-profile-field{min-width:0}.perfil-propio-fields-grid>.student-profile-field--meta-action,.perfil-propio-fields-grid>.usuarios-perfil-actions-stack,.perfil-propio-fields-grid>.usuarios-self-edit-hint{grid-column:1 / -1}.user-perfil-readonly .perfil-propio-fields-grid .student-profile-field,.user-perfil-readonly .perfil-propio-fields-grid button.student-profile-field--solicitud-card{padding:10px 12px;background:var(--bg-input);border-radius:8px;border:1px solid var(--border)}.perfil-propio-fields-grid .student-profile-field--solicitud-card{display:flex;flex-direction:column;gap:3px;min-width:0;margin:0;font:inherit;color:inherit;text-align:left}button.student-profile-field--solicitud-card{cursor:pointer;width:100%;transition:border-color .2s,box-shadow .2s}button.student-profile-field--solicitud-card:hover,button.student-profile-field--solicitud-card:focus-visible{border-color:#1ad4c173;box-shadow:0 0 0 2px var(--focus-ring);outline:none}.student-profile-field--solicitud-pending .user-perfil-pending-badge{margin:0}.student-profile-value--link{color:var(--accent-cyan);font-weight:500}@media(min-width:1100px){.perfil-propio-fields-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:720px){.perfil-propio-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.usuarios-perfil-meta-col{gap:clamp(10px,1.8vw,14px)}.usuarios-perfil-actions-stack{display:flex;flex-direction:column;gap:8px;margin-top:4px;width:100%;max-width:220px}.btn-perfil-accion--equal{width:100%;justify-content:center;text-align:center}.usuarios-detail-actions--end{justify-content:flex-end;align-self:stretch;margin-top:auto;margin-bottom:0;padding-top:8px}.usuarios-gestion-item-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px}.usuarios-detail-layout{display:grid;grid-template-columns:minmax(0,66fr) minmax(260px,33fr);gap:clamp(14px,2vw,20px);align-items:start}.usuarios-detail-log-col{min-width:0}.usuarios-detail-main-col{min-width:0;min-height:100%;flex:1;display:flex;flex-direction:column;gap:10px}.usuarios-activity-mini{min-height:0}.usuarios-log-filters-wrap{margin-bottom:8px;flex-shrink:0}.usuarios-log-filters-wrap .form-input--compact{font-size:12px;padding:6px 8px}.usuarios-log-compose{margin-top:auto}.usuarios-log-mini-item{cursor:default}.usuarios-detail-info{display:flex;flex-direction:column;gap:12px;min-width:0;flex:1 1 auto}.usuarios-detail-info .student-profile-card{padding:12px 14px}.usuarios-detail-info .student-profile-data-col{gap:8px}.usuarios-detail-info .student-profile-label{font-size:10px}.usuarios-detail-info .student-profile-value{font-size:13px}.usuarios-detail-info .perfil-card-horizontal{gap:10px 16px}.usuarios-enrollments-section{margin-top:4px}.usuarios-enrollments-header{margin-bottom:8px}.usuarios-enrollments-title-row{display:block;max-width:100%}.usuarios-enrollments-title{margin:0;padding:0;font-size:13px;font-weight:700;line-height:1.15;text-transform:uppercase;letter-spacing:.05em;color:#fff}button.usuarios-enrollments-title--clickable{border:none;background:none;font-family:inherit;font-size:13px;font-weight:700;line-height:1.15;text-transform:uppercase;letter-spacing:.05em;color:#fff;cursor:pointer;text-align:left;transition:color .15s ease}button.usuarios-enrollments-title--clickable:hover{color:var(--accent-cyan)}button.usuarios-enrollments-title--clickable:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:3px;border-radius:2px}.modal-inscribir-curso{max-width:min(440px,calc(100vw - 24px));width:100%;padding:clamp(14px,3.5vw,22px);gap:0}.modal-inscribir-curso-header{margin-bottom:clamp(10px,2.5vw,14px);flex-shrink:0}.modal-inscribir-curso-header h3{font-size:clamp(.9rem,2.8vw,1rem);line-height:1.25}.modal-inscribir-curso-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:clamp(10px,2.5vw,14px)}.modal-inscribir-curso-field{margin-bottom:0;min-width:0}.modal-inscribir-curso-field label{display:block;margin-bottom:6px;font-size:13px;color:var(--text-muted)}.modal-inscribir-curso-select{width:100%;min-height:44px;font-size:max(16px,.9375rem);box-sizing:border-box}.modal-inscribir-curso-actions{flex-shrink:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:clamp(14px,3vw,18px);padding-top:clamp(12px,2.5vw,16px);border-top:1px solid var(--border)}.modal-inscribir-curso-actions .btn{width:100%;min-height:44px;margin:0;justify-content:center}@media(max-width:380px){.modal-inscribir-curso-actions{grid-template-columns:1fr}.modal-inscribir-curso-actions .btn-primary{order:-1}}@media(max-width:600px){.modal-inscribir-curso{max-width:100%;border-radius:16px 16px 0 0;max-height:min(calc(100dvh - 48px),88dvh)}}.usuarios-enrollments-list{display:flex;flex-direction:column;gap:8px}.usuarios-enrollments-empty{margin:0;font-size:13px}.usuario-enrollment-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.usuario-enrollment-card-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;margin-bottom:8px}.usuario-enrollment-title{font-size:14px}.usuario-enrollment-status{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;background:#1ad4c11f;color:var(--accent-cyan)}.usuario-enrollment-status--pausado,.usuario-enrollment-status--en-vacaciones{background:#ffc10726;color:#ffc107}.usuario-enrollment-status--finalizado{background:#6c757d33;color:var(--text-muted)}.usuario-enrollment-status--cancelado{background:#dc354526;color:#f87171}.usuario-enrollment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px}.usuario-enrollment-field{display:flex;flex-direction:column;gap:2px;min-width:0}.usuario-enrollment-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.usuario-enrollment-value{font-size:12px;line-height:1.35;color:var(--text-primary);word-break:break-word}.usuario-enrollment-gestion{margin-top:14px;padding-top:14px;border-top:1px solid var(--bg-input);display:flex;flex-direction:column;gap:12px}.usuario-enrollment-stage-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.usuario-enrollment-stage-row .form-input{flex:1;min-width:160px}.usuario-enrollment-grants-list{margin-top:10px;display:flex;flex-direction:column;gap:8px}.usuario-enrollment-grant-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:var(--bg-input);border-radius:8px;font-size:.88rem}.usuarios-gestion-photo-block{display:flex;justify-content:center;margin-bottom:14px}.usuarios-gestion-photo{width:clamp(88px,18vw,112px);height:clamp(88px,18vw,112px);border-radius:50%;object-fit:cover}.usuarios-gestion-photo-actions{margin-bottom:16px}.usuarios-gestion-photo-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.usuarios-self-edit-hint{font-size:.85rem;margin:0 0 14px}.usuarios-info-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:14px;font-size:13px}.usuarios-info-card p{margin:0 0 8px}.usuarios-detail-log{max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:10px;background:var(--bg-surface)}.usuarios-log-item{display:flex;flex-direction:column;gap:4px;padding:8px 0;border-bottom:1px solid var(--border);font-size:12px}.usuarios-log-item:last-child{border-bottom:none}.usuarios-log-meta{color:var(--text-muted)}.usuarios-detail-actions{display:flex;gap:10px;flex-shrink:0}#usuariosDetailView .usuarios-detail-layout{min-height:0}#tab-usuarios #usuariosDetailActions .btn{height:auto;min-height:0;max-height:none;padding-top:4px;padding-bottom:4px;line-height:1.25}@media(max-width:900px){.usuarios-detail-layout{grid-template-columns:1fr}.usuarios-detail-main-col{order:1}.usuarios-detail-log-col{order:2}.usuarios-activity-mini{min-height:320px;max-height:420px}.student-profile-card.perfil-usuarios-compact{grid-template-columns:1fr}.perfil-usuarios-photo{grid-row:auto;justify-self:center}.perfil-usuarios-fields-grid,.usuario-enrollment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.usuario-enrollment-grid{grid-template-columns:1fr}}@media(max-width:560px){.user-perfil-fields--edit{grid-template-columns:1fr}}@media(max-width:720px){.perfil-card-horizontal,.user-perfil-card-layout--usuarios.perfil-card-horizontal{grid-template-columns:repeat(2,minmax(0,1fr))}.perfil-card-horizontal__photo,.user-perfil-card-layout--usuarios .usuarios-perfil-photo-section{grid-column:1 / -1;grid-row:auto;justify-self:center}.perfil-card-horizontal__body{grid-column:1 / -1;display:flex;flex-direction:column;gap:12px}.perfil-propio-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.user-perfil-card-layout--usuarios.perfil-card-horizontal .perfil-card-horizontal__body{display:flex}.user-perfil-card-layout--usuarios .usuarios-perfil-col-datos,.user-perfil-card-layout--usuarios .usuarios-perfil-col-meta{grid-column:auto}.usuarios-perfil-actions-stack{max-width:none}}.modal-activity-log{max-width:min(960px,100%);width:95%;max-height:min(92vh,92dvh);display:flex;flex-direction:column;overflow:hidden;min-height:0}.modal-activity-log>.trade-detail-header,.modal-activity-log>.activity-log-filters,.modal-activity-log>.activity-log-compose,.modal-activity-log>.activity-log-detail-actions{flex-shrink:0}.activity-log-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:14px}.activity-log-filters>.form-group{margin-bottom:0}.activity-log-filter-tipo{flex:0 0 auto;max-width:100%}.activity-log-filters>.form-group:not(.activity-log-filter-tipo){flex:1 1 140px;min-width:0}.activity-log-filter-tipo .form-input{box-sizing:border-box}.activity-log-body{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.2fr);gap:16px;flex:1 1 auto;min-height:0;overflow:hidden}.activity-log-list{overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);padding:6px;display:flex;flex-direction:column;gap:4px}.activity-log-item{display:flex;gap:8px;align-items:flex-start;width:100%;text-align:left;border:none;border-radius:6px;padding:8px 10px;background:transparent;color:var(--text-primary);cursor:pointer}.activity-log-item:hover{background:var(--bg-input)}.activity-log-item--active{background:#1ad4c11f;border:1px solid rgba(26,212,193,.35)}.activity-log-item-icon{flex-shrink:0;font-size:14px}.activity-log-item-main{display:flex;flex-direction:column;gap:2px;min-width:0}.activity-log-item-main strong{font-size:12px}.activity-log-item-date{font-size:10px;color:var(--text-muted)}.activity-log-item-preview{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-log-detail{overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:14px;background:var(--bg-surface)}.activity-detail-card h4{margin:0 0 8px;color:var(--accent-cyan);font-size:14px}.activity-detail-body{margin-top:12px;padding:12px;background:var(--bg-input);border-radius:8px;font-size:13px;line-height:1.45;white-space:pre-wrap}.activity-alert-date{color:#ffc107}.activity-log-compose{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.activity-log-compose h4{margin:0;font-size:12px;text-transform:uppercase;color:var(--text-muted)}.activity-log-detail-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.student-profile-card{display:flex;flex-direction:column;gap:clamp(14px,2.5vw,20px);height:100%;min-width:0}.student-profile-card.perfil-card-horizontal,.student-profile-card.perfil-usuarios-compact{display:grid;flex-direction:unset;height:auto}.student-profile-photo-block{flex-shrink:0}.student-profile-photo-wrap{display:flex;justify-content:flex-start}.student-profile-photo{width:clamp(88px,18vw,128px);height:clamp(88px,18vw,128px);border-radius:50%;object-fit:cover;border:2px solid var(--border)}.student-profile-photo--placeholder{display:flex;align-items:center;justify-content:center;background:var(--bg-input);color:var(--accent-cyan);font-weight:700;font-size:2rem;letter-spacing:.04em}.student-profile-photo-btn{border:none;background:none;padding:0;cursor:pointer;border-radius:50%;line-height:0;transition:box-shadow .2s,transform .2s}.student-profile-photo-btn:hover{box-shadow:0 0 0 3px #1ad4c159;transform:scale(1.02)}.student-profile-photo-btn:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:3px}.student-photo-menu{position:fixed;z-index:1200;display:flex;flex-direction:column;min-width:160px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #00000073;overflow:hidden}.student-photo-menu-item{border:none;background:none;color:var(--text-primary);text-align:left;padding:12px 16px;font-size:14px;cursor:pointer}.student-photo-menu-item:hover{background:#1ad4c11f}.modal-student-edit{max-width:440px;width:95%}.student-photo-edit-body,.student-data-edit-body{display:flex;flex-direction:column;gap:14px;margin-bottom:16px}.student-photo-edit-preview{display:flex;justify-content:center;min-height:120px}.student-photo-edit-preview .student-profile-photo,.student-photo-edit-preview .student-profile-photo--placeholder{width:120px;height:120px}.stats-drawdown-meta{display:grid;gap:8px;margin-bottom:16px;font-size:14px}.stats-drawdown-meta strong{color:var(--text-primary)}.student-profile-data-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(10px,2vw,16px) clamp(14px,3vw,28px);flex:1;align-content:start;min-width:0}.student-profile-data-col{display:flex;flex-direction:column;gap:clamp(10px,1.8vw,14px);min-width:0}.student-profile-data-col--full{grid-column:1 / -1}.student-profile-field{display:flex;flex-direction:column;gap:3px;min-width:0}.student-profile-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.student-profile-label-meta{font-weight:500;text-transform:none;letter-spacing:normal;color:var(--text-secondary);opacity:.72}.student-profile-value{color:var(--text-primary);font-size:clamp(13px,1.6vw,14px);line-height:1.4;word-break:break-word}.student-field-reveal{background:none;border:none;padding:0;font:inherit;color:var(--text-primary);cursor:pointer;text-align:left;text-decoration:underline dotted;text-decoration-color:var(--accent-cyan)}.student-field-reveal:hover{color:var(--accent-cyan)}.student-field-reveal[data-revealed="0"]{color:var(--text-secondary);letter-spacing:.08em}#tab-usuarios{--usuarios-control-height: 42px}#tab-usuarios input.form-input,#tab-usuarios select.form-input{height:var(--usuarios-control-height);min-height:var(--usuarios-control-height);box-sizing:border-box;padding-top:0;padding-bottom:0;line-height:calc(var(--usuarios-control-height) - 2px)}#tab-usuarios .btn{height:var(--usuarios-control-height);min-height:var(--usuarios-control-height);max-height:var(--usuarios-control-height);padding:0 20px;box-sizing:border-box;line-height:1.2}#tab-usuarios .btn-sm{height:var(--usuarios-control-height);min-height:var(--usuarios-control-height);max-height:var(--usuarios-control-height);padding:0 14px;font-size:14px;box-sizing:border-box;line-height:1.2}.usuarios-invite-accordion{margin-bottom:24px}.usuarios-invite-section .form-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.usuarios-invite-section .form-row>.form-group{flex:1 1 180px;min-width:min(100%,160px);margin-bottom:0}.usuarios-invite-section .usuarios-invite-submit{flex:0 0 auto;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;margin-bottom:0;align-self:flex-end}.usuarios-invite-section .usuarios-invite-submit-label{display:block;margin-bottom:6px;line-height:1.25;visibility:hidden;-webkit-user-select:none;user-select:none}.usuarios-invite-section .usuarios-invite-submit .btn{width:auto;white-space:nowrap}.accordion-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);font-family:var(--font-family);font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:border-color .2s,background .2s}.accordion-toggle:hover{border-color:var(--accent-cyan);background:var(--bg-input)}.accordion-toggle[aria-expanded=true]{border-color:var(--accent-cyan);border-bottom-left-radius:0;border-bottom-right-radius:0}.accordion-chevron{font-size:12px;color:var(--accent-cyan);transition:transform .25s ease}.accordion-toggle[aria-expanded=true] .accordion-chevron{transform:rotate(180deg)}.accordion-panel{border:1px solid var(--border);border-top:none;border-radius:0 0 10px 10px;background:var(--bg-elevated);overflow:hidden}.accordion-panel[hidden]{display:none}.accordion-panel .admin-section{margin-bottom:0;padding:16px;border-bottom:none}.accordion-panel .admin-section+.admin-section{border-top:1px solid var(--border);padding-top:16px}@media(max-width:1024px){.student-courses-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.student-profile-data-grid{gap:12px 20px}.stats-summary,.student-stats-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}@media(max-width:768px){.form-row{grid-template-columns:1fr}.user-header-end{width:100%}.students-toolbar .form-group,.students-toolbar .form-group[style*="flex: 2"],.student-trading-filters .form-group,.student-trading-filters .form-group[style*="flex: 2"]{flex:1 1 100%;min-width:100%}#tab-usuarios .usuarios-toolbar-row.students-toolbar{display:grid;grid-template-columns:1fr auto auto;grid-template-areas:"search search search" "rol rol rol" "buscar-filtros buscar-filtros buscar-filtros" "agregar agregar agregar";align-items:end;gap:10px}#tab-usuarios .usuarios-toolbar-row .estudiantes-toolbar-search{grid-area:search;flex:none;width:100%;min-width:0}#tab-usuarios .usuarios-toolbar-row .estudiantes-toolbar-course{grid-area:rol;flex:none;width:100%;min-width:0}#tab-usuarios .usuarios-toolbar-row .estudiantes-toolbar-buscar-filtros{grid-area:buscar-filtros;flex:none;width:max-content;min-width:0;max-width:100%;justify-self:start}#tab-usuarios .usuarios-toolbar-row .estudiantes-toolbar-buscar-filtros .estudiantes-toolbar-buscar .btn{width:auto;min-width:4.75rem;max-width:none}#tab-usuarios .usuarios-toolbar-row .usuarios-toolbar-actions{display:block;grid-area:agregar;justify-self:stretch}#tab-usuarios .usuarios-alta-split{width:100%;min-width:0;max-width:100%}#tab-usuarios .usuarios-toolbar-row .usuarios-alta-split:not(.is-expanded){width:100%;min-width:0;max-width:100%}#tab-usuarios .usuarios-toolbar-row .usuarios-alta-split.is-expanded{width:100%;min-width:0;max-width:100%}.student-card{flex-direction:column;align-items:flex-start}.student-account-row{flex-direction:column;align-items:stretch}.student-account-actions{width:100%;flex-wrap:wrap}.student-account-actions .btn{flex:1 1 auto;min-width:min(100%,140px)}.student-info-grid{grid-template-columns:1fr 1fr}.student-courses-grid{grid-template-columns:1fr}.student-profile-photo-wrap{justify-content:center}.student-profile-data-grid{grid-template-columns:1fr 1fr}.student-profile-main-grid,.estudiante-perfil-body-grid{grid-template-columns:1fr;gap:16px}.estudiante-perfil-body-grid>.student-activity-mini{grid-column:1}.student-profile-left-col .student-courses-grid{grid-template-columns:1fr}.activity-log-body{grid-template-columns:1fr;max-height:none}.student-profile-data-grid{grid-template-columns:1fr}.student-profile-data-col--stats{padding-top:4px;border-top:1px solid var(--border)}.stat-value{font-size:clamp(18px,4vw,24px)}.input-with-btn{flex-direction:column;align-items:stretch}.input-with-btn .btn{width:100%}.pagination{gap:6px}.pagination__pages{max-width:100%}.pagination__status{order:3;flex:1 1 100%;text-align:center}.trade-detail-columns{grid-template-columns:1fr}.trade-detail-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.trade-detail-nav-center{order:-1;flex:1 1 100%;justify-content:center}.trade-detail-nav-side{flex:1 1 calc(50% - 4px);justify-self:unset}.visor-nav{flex-direction:column;align-items:stretch}.visor-nav .btn{width:100%}.modal-content [style*="display: flex"],.modal-content [style*="display:flex"]{flex-direction:column!important;align-items:stretch!important}.modal-content [style*="display: flex"] .btn,.modal-content [style*="display:flex"] .btn{width:100%}#trading-form-container [style*="display: flex"],#trading-form-container [style*="display:flex"]{flex-direction:column!important}#trading-form-container [style*="display: flex"] .btn,#trading-form-container [style*="display:flex"] .btn{width:100%}.user-table table,#trading-logs-table .trading-table,#estudiante-trades-table .trading-table{min-width:560px}.trading-table th,.trading-table td{padding:8px;font-size:12px}.trade-actions-cell .btn{display:inline-block;margin-bottom:4px}.toast-notification{bottom:max(16px,env(safe-area-inset-bottom));left:50%;right:auto;padding:12px 16px;font-size:13px;max-width:calc(100vw - 24px)}.modal-overlay{align-items:flex-end;padding:0;padding-top:max(48px,env(safe-area-inset-top))}.modal-content,.modal-card{border-radius:16px 16px 0 0;max-height:min(calc(100dvh - 48px),92dvh)}.modal-trade-detail,.modal-trade-edit{max-width:100%;width:100%}.visor-content{padding:8px;max-width:100vw}.visor-image-viewport,.visor-img{max-height:55dvh}.form-input,.btn,select.form-input,.tab{min-height:44px}.btn-sm{min-height:40px}}@media(max-width:480px){.card h2{font-size:clamp(1rem,4.5vw,1.25rem);letter-spacing:.04em}.card h3{font-size:1.05rem}.student-info-grid,.student-profile-data-grid{grid-template-columns:1fr}.student-profile-photo{width:clamp(80px,22vw,96px);height:clamp(80px,22vw,96px)}.student-profile-photo--placeholder{font-size:1.5rem}.stats-summary,.student-stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat-card{padding:12px 8px}.stat-label{font-size:10px}.trade-detail-row,.confirm-row{flex-direction:column;align-items:flex-start;gap:4px}.trade-detail-value{text-align:left;width:100%}.confirm-row .confirm-value{width:100%}.trade-img-thumb{width:36px;height:36px}.accordion-toggle{font-size:12px;padding:12px 14px}.admin-section{padding-bottom:12px;margin-bottom:16px}}@media(max-width:360px){.stats-summary,.student-stats-grid{grid-template-columns:1fr}.badge{font-size:11px;padding:3px 8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.card:hover,.stat-card:hover,.student-card:hover{transform:none}}body.birthday-celebration-open{overflow:hidden}.birthday-celebration{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity .45s ease;background:radial-gradient(ellipse at center,#1a1814,#080706)}.birthday-celebration--visible{opacity:1;pointer-events:auto}.birthday-celebration-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1}.birthday-celebration-balloons{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;overflow:hidden;pointer-events:none}.birthday-celebration-vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;background:radial-gradient(ellipse 70% 55% at 50% 45%,rgba(212,175,55,.14),transparent 65%),radial-gradient(ellipse 100% 100% at 50% 50%,transparent 35%,rgba(0,0,0,.72) 100%);pointer-events:none}.birthday-balloon{position:absolute;bottom:-20%;border-radius:50% 50% 48% 48%;background:radial-gradient(circle at 32% 28%,var(--balloon-c2),var(--balloon-c1) 72%);box-shadow:inset -8px -12px 24px #00000026,0 8px 32px #00000059;animation-name:birthday-balloon-rise;animation-timing-function:ease-in-out;animation-iteration-count:infinite;opacity:.92}.birthday-balloon-tail{position:absolute;bottom:-28px;left:50%;width:2px;height:36px;margin-left:-1px;background:linear-gradient(to bottom,rgba(255,255,255,.35),transparent);transform-origin:top center;animation:birthday-tail-sway 2.8s ease-in-out infinite}@keyframes birthday-balloon-rise{0%{transform:translateY(0) translate(0) rotate(-4deg);opacity:0}8%{opacity:.95}50%{transform:translateY(-55vh) translate(12px) rotate(5deg)}to{transform:translateY(-115vh) translate(-8px) rotate(-3deg);opacity:.35}}@keyframes birthday-tail-sway{0%,to{transform:rotate(-8deg)}50%{transform:rotate(10deg)}}.birthday-celebration-message{position:relative;z-index:5;text-align:center;padding:28px 32px;max-width:min(92vw,640px);animation:birthday-message-in 1s cubic-bezier(.22,1,.36,1) forwards}@keyframes birthday-message-in{0%{opacity:0;transform:scale(.88) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}.birthday-celebration-line{margin:0;font-family:Georgia,Times New Roman,serif;text-shadow:0 0 40px rgba(212,175,55,.45),0 2px 24px rgba(0,0,0,.8)}.birthday-celebration-line--main{font-size:clamp(1.75rem,6vw,3rem);font-weight:700;letter-spacing:.2em;background:linear-gradient(135deg,#fff8e7,#e8c547 45%,#d4af37 70%,#f5e6b8);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.25}.birthday-celebration-line--sub{margin-top:14px;font-size:clamp(.7rem,2.4vw,.95rem);font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:#fff8e7e0}.birthday-celebration-esc{position:absolute;bottom:20px;left:50%;transform:translate(-50%);z-index:6;margin:0;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#ffffff73}@media(max-width:480px){.birthday-celebration-message{padding:20px 16px}.birthday-celebration-line--main{letter-spacing:.12em}.birthday-celebration-line--sub{letter-spacing:.16em}}#tab-mensajes>.card{min-width:0}.messages-panel{display:flex;flex-direction:column;gap:16px;min-width:0}.messages-card>h2{margin-bottom:16px}.messages-toolbar{margin-top:0}.messages-toolbar__search{position:relative;flex:1 1 240px;min-width:min(100%,200px)}.messages-inbox-search__input{width:100%}.messages-inbox-search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:20;max-height:min(52vh,420px);overflow-y:auto;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface);box-shadow:0 10px 28px #00000047;padding:8px 0}.messages-inbox-search-results__status{margin:0;padding:12px 14px;font-size:.9rem}.messages-inbox-search-results__section+.messages-inbox-search-results__section{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.messages-inbox-search-results__title{margin:0;padding:8px 14px 4px;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.messages-inbox-search-results__list{list-style:none;margin:0;padding:0}.messages-inbox-search-results__item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 14px;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer}.messages-inbox-search-results__item:hover,.messages-inbox-search-results__item:focus-visible{background:#1ad4c114;outline:none}.messages-inbox-search-results__item-title{font-weight:600;font-size:.92rem;line-height:1.3}.messages-inbox-search-results__item-snippet{font-size:.84rem;line-height:1.35;color:var(--text-muted)}.messages-inbox-search-results__item-meta{font-size:.78rem;line-height:1.3}.messages-inbox-search__mark{background:#1ad4c147;color:inherit;border-radius:2px;padding:0 1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.messages-toolbar__filters{flex:1;min-width:min(100%,220px)}.messages-new-btn{flex-shrink:0;white-space:nowrap}.tab .tab-badge{display:none;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;margin-left:6px;border-radius:999px;background:var(--accent-cyan);color:#0f1414;font-size:.68rem;font-weight:700;line-height:1;vertical-align:middle;letter-spacing:0;text-transform:none}.tab .tab-badge.tab-badge--visible{display:inline-flex}.messages-threads-list{display:flex;flex-direction:column;margin-top:8px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-surface)}.messages-inbox-row{display:grid;grid-template-columns:1.25rem minmax(4.5rem,8.5rem) minmax(0,1fr) auto;align-items:center;gap:8px 10px;min-height:2.75rem;padding:0 12px;border:none;border-bottom:1px solid var(--border);background:transparent;cursor:pointer;font-family:inherit;color:inherit;text-align:left;transition:background-color .15s ease}.messages-inbox-row:last-child{border-bottom:none}.messages-inbox-row:hover{background:#1ad4c10a}.messages-inbox-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px;z-index:1}.messages-inbox-row--unread{background:#1ad4c10d}.messages-inbox-row--unread:hover{background:#1ad4c114}.messages-inbox-row--closed{opacity:.78}.messages-inbox-row__indicator{display:flex;align-items:center;justify-content:center;width:1.25rem;flex-shrink:0}.messages-inbox-row__sender-col{min-width:0;overflow:hidden}.messages-inbox-row__sender{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:500;line-height:1.25;color:var(--text-secondary);background:none;border:none;padding:0;font-family:inherit;text-align:left}.messages-inbox-row--unread .messages-inbox-row__sender{font-weight:700;color:var(--text-primary)}.messages-inbox-row__sender--link{cursor:pointer;transition:color .15s ease}.messages-inbox-row__sender--link:hover{color:var(--accent-cyan)}.messages-inbox-row__sender--link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:4px}.messages-inbox-row__content{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.messages-inbox-row__badges{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.messages-inbox-row__snippet{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;line-height:1.25;color:var(--text-muted)}.messages-inbox-row__subject{font-weight:500;color:var(--text-primary)}.messages-inbox-row--unread .messages-inbox-row__subject{font-weight:700}.messages-inbox-row__preview,.messages-inbox-row__dash{font-weight:400;color:var(--text-muted)}.messages-inbox-row__date{flex-shrink:0;min-width:3.25rem;max-width:9.5rem;font-size:.68rem;line-height:1.25;color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;white-space:normal}.messages-inbox-row--unread .messages-inbox-row__date{color:var(--text-secondary);font-weight:600}.messages-category-badge--inbox{padding:1px 6px;font-size:.58rem;line-height:1.35;letter-spacing:.03em}.messages-inbox-row__tag{display:inline-flex;align-items:center;max-width:5.5rem;padding:1px 6px;border-radius:999px;border:1px solid var(--border);font-size:.58rem;font-weight:600;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages-inbox-row__tag--course{color:var(--text-muted);background:var(--bg-input)}.messages-inbox-row__tag--closed{color:var(--negative);border-color:#c75c5c73;background:#c75c5c1a}.messages-empty{margin:12px 0 0;text-align:center;font-size:.9rem}.messages-category-badge,.messages-status-badge,.messages-meta-chip{display:inline-flex;align-items:center;box-sizing:border-box;padding:3px 10px;border-radius:999px;border:1px solid var(--border);font-size:.68rem;line-height:1.4;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages-category-badge{font-weight:700;letter-spacing:.04em;text-transform:uppercase}.messages-category-badge--mentoria{color:var(--accent-cyan);border-color:#1ad4c159;background:#1ad4c114}.messages-category-badge--soporte{color:var(--accent-lime);border-color:#c2cf8259;background:#c2cf8214}.messages-category-badge--comercial{color:var(--accent-gold);border-color:#f2e8cf59;background:#f2e8cf14}.messages-status-badge{font-weight:600;letter-spacing:.02em}.messages-status-badge--open{color:var(--accent-cyan);border-color:#1ad4c159;background:#1ad4c11a}.messages-status-badge--closed{color:var(--negative);border-color:#c75c5c73;background:#c75c5c1f}.messages-meta-chip{font-weight:600;color:var(--text-secondary);background:var(--bg-input);border-color:var(--border)}.messages-meta-chip--muted{color:var(--text-muted)}.messages-meta-chip--closed{color:var(--negative);border-color:#c75c5c73;background:#c75c5c1f}button.messages-meta-chip{-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:0}.messages-meta-chip--link{cursor:pointer;font-family:inherit;transition:color .15s ease,border-color .15s ease,background .15s ease}.messages-meta-chip--link:hover{color:var(--accent-cyan);border-color:#1ad4c159;background:#1ad4c114}.messages-meta-chip--link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.messages-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-cyan);flex-shrink:0;box-shadow:0 0 0 2px #1ad4c133}.messages-thread-panel{gap:14px}.messages-thread-header-wrap{min-width:0;padding-top:0;margin-top:0}.messages-thread-header{display:flex;flex-direction:column;gap:0;padding-bottom:0;min-width:0}.messages-thread-title{margin:0 0 10px;font-size:clamp(1rem,2.5vw,1.15rem);font-weight:700;line-height:1.3;color:var(--text-primary);word-break:break-word}.messages-thread-header__meta-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.messages-thread-header__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:1 1 auto;min-width:0}.messages-thread-header__icon-actions{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;margin-top:1px}.messages-thread-header__actions{display:flex;flex-wrap:nowrap;justify-content:flex-end;align-items:flex-start;gap:8px;min-height:0;line-height:1}.messages-text-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px 0;margin:0;border:none;background:none;font-family:inherit;font-size:12px;font-weight:600;color:var(--text-primary);cursor:pointer;white-space:nowrap;transition:color .2s ease;min-height:0}@media(hover:hover){.messages-text-btn:hover{color:var(--accent-cyan);background:none}}.messages-text-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:4px}.messages-search-toggle,.messages-unread-toggle{display:inline-flex;align-items:center;justify-content:center;padding:4px;margin:0;border:none;background:none;color:var(--text-muted);cursor:pointer;line-height:1;min-height:0;border-radius:6px;transition:color .2s ease}.messages-search-toggle:hover,.messages-unread-toggle:hover{color:var(--accent-cyan)}.messages-search-toggle:focus-visible,.messages-unread-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.messages-unread-icon{display:block}.messages-thread-search{display:flex;align-items:center;gap:8px}.messages-chat-search{position:relative;z-index:2;flex-shrink:0;padding:8px 10px;background:#121212f0;border-bottom:1px solid rgba(26,212,193,.14)}.messages-chat-search[hidden]{display:none!important}.messages-chat-stage{position:relative;display:flex;flex-direction:column;max-height:min(72vh,680px);min-height:280px;margin:8px 0;border-radius:10px;border:1px solid rgba(26,212,193,.14);overflow:hidden;background-color:#121212;box-shadow:inset 0 1px #ffffff08}.messages-chat-stage__viewport{position:relative;z-index:1;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.messages-search-back{flex-shrink:0;padding-top:4px;padding-bottom:4px}.messages-thread-search__input{flex:1 1 auto;min-width:0;margin:0;padding:8px 10px;font-size:.9rem}.messages-thread-search__nav{display:flex;align-items:center;gap:4px;flex-shrink:0}.messages-search-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:1rem;line-height:1;cursor:pointer;transition:color .2s ease,background-color .2s ease}.messages-search-nav-btn:hover:not(:disabled){color:var(--accent-cyan);background:#1ad4c114}.messages-search-nav-btn:disabled{opacity:.35;cursor:default}.messages-thread-search__counter{min-width:3.2rem;font-size:.75rem;color:var(--text-muted);text-align:center;font-variant-numeric:tabular-nums}.messages-search-highlight{background:#ffd60a47;color:inherit;padding:0 1px;border-radius:2px}.messages-search-highlight--active{background:#ffd60a8c;box-shadow:0 0 0 1px #ffd60a59}.messages-bubble--search-active{box-shadow:0 0 0 2px #ffd60a8c}.messages-chat-wallpaper{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;background-color:#121212}.messages-chat-wallpaper__img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.2;pointer-events:none;-webkit-user-select:none;user-select:none}.messages-thread-messages{position:relative;z-index:1;display:flex;flex-direction:column;gap:12px;flex:1 1 auto;min-height:0;overflow-y:auto;padding:12px 10px 14px;min-width:0;background:transparent;scrollbar-width:thin;scrollbar-color:rgba(150,150,150,.42) transparent}.messages-thread-messages::-webkit-scrollbar{display:block;width:6px;background:transparent}.messages-thread-messages::-webkit-scrollbar-track{background:transparent;margin:6px 0}.messages-thread-messages::-webkit-scrollbar-thumb{background:#9696966b;border-radius:999px;border:1px solid transparent;background-clip:padding-box}.messages-thread-messages::-webkit-scrollbar-thumb:hover{background:#aaaaaa94;background-clip:padding-box}.messages-bubble{max-width:min(88%,640px);padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg-chat-bubble)}.messages-bubble--own{align-self:flex-end;border:2px solid var(--accent-cyan);background:#1ad4c124;box-shadow:0 0 0 1px #1ad4c11f}.messages-bubble--other{align-self:flex-start}.messages-bubble--staff{align-self:flex-start;border:1px solid rgba(26,212,193,.35);background:#1ad4c11f}.messages-bubble--staff .messages-bubble__author{color:var(--accent-cyan)}.messages-bubble--enter{animation:messages-bubble-in .28s ease-out}@keyframes messages-bubble-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.messages-bubble__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px}.messages-bubble__author{font-size:.8rem;color:var(--text-primary)}.messages-bubble__time{font-size:.72rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.messages-bubble__body{font-size:.9rem;line-height:1.5;color:var(--text-secondary);word-break:break-word}.messages-inline-link{color:var(--accent-cyan);text-decoration:underline;word-break:break-all}.messages-inline-link:hover{opacity:.85}.messages-bubble__attachments{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.messages-attachment-link{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;padding:0;border:none;background:none;color:var(--accent-cyan);font-size:.82rem;font-family:inherit;cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:2px}.messages-attachment-link:hover{color:var(--text-primary)}.messages-compose{margin-top:4px}.messages-compose-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.messages-compose-label{margin-bottom:0}.messages-compose-actions{position:relative;justify-content:center;margin-top:6px}.messages-compose-close-wrap{position:absolute;right:0;top:50%;transform:translateY(-50%);max-width:45%;text-align:right}.messages-compose-close-link{display:inline;margin:0;padding:0;border:none;background:none;font-family:inherit;font-size:.75rem;font-weight:400;line-height:1.3;color:var(--text-muted);cursor:pointer;text-align:right;white-space:nowrap}@media(hover:hover){.messages-compose-close-link:hover{color:var(--text-primary);text-decoration:underline}}.messages-compose-close-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:2px}.messages-send-slot{display:inline-flex;align-items:stretch;justify-content:center;flex:0 0 auto;min-width:5.5rem;min-height:2rem;max-width:100%;transition:flex-basis .2s ease,min-width .2s ease,width .2s ease}.messages-send-slot.is-uploading{flex:0 0 auto;width:calc(var(--messages-send-width, 5.5rem) * 2);min-width:calc(var(--messages-send-width, 5.5rem) * 2);max-width:calc(var(--messages-send-width, 5.5rem) * 2)}.messages-send-slot__btn{width:100%;min-width:5.5rem}.messages-send-slot__upload{display:none;width:100%;min-width:0}.messages-send-slot.is-uploading .messages-send-slot__btn{display:none}.messages-send-slot.is-uploading .messages-send-slot__upload{display:flex}.messages-send-slot__upload[hidden],.messages-send-slot__btn[hidden]{display:none!important}.messages-upload-bar{position:relative;display:flex;align-items:center;width:100%;min-height:2rem;border-radius:6px;overflow:hidden;background:#ffffff0a;border:1px solid var(--border)}.messages-upload-bar__fill{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--gradient-data);transition:width .12s ease-out}.messages-upload-bar__label{position:relative;z-index:1;flex:1 1 auto;padding:4px 2rem 4px 10px;font-size:.82rem;font-weight:700;line-height:1.2;color:var(--text-primary);text-align:center;white-space:nowrap}.messages-upload-bar__cancel{position:absolute;right:0;top:0;bottom:0;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:2rem;padding:0;border:none;background:#0f141459;color:var(--text-primary);font-size:1.1rem;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease}.messages-upload-bar__cancel:hover{background:#c75c5c59;color:#fff}.messages-send-slot--modal{min-width:5.5rem}.messages-compose-actions .btn-primary{margin-left:0}.messages-compose-actions .btn-sm{padding-top:4px;padding-bottom:4px}.messages-attach-btn{cursor:pointer;margin:0}.messages-attach-btn--icon{display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;min-width:40px}.messages-attach-btn--plain{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin:0;padding:2px;border:none;background:none;color:var(--text-muted);cursor:pointer;border-radius:4px;transition:color .2s ease}.messages-attach-btn--plain:hover{color:var(--accent-cyan)}.messages-attach-btn--plain:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.messages-attach-icon{display:block;flex-shrink:0}.messages-attach-btn input[type=file]{display:none}.messages-attachment-link--image{text-decoration:none}.messages-attachment-link--image:hover{text-decoration:underline}.messages-attachment-viewer{max-width:min(92vw,960px);max-height:92vh;padding:16px;text-align:center;position:relative}.messages-attachment-viewer__stage{position:relative;touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none;min-height:200px;display:flex;align-items:center;justify-content:center}.messages-attachment-viewer__img{max-width:100%;max-height:min(70vh,720px);border-radius:8px;object-fit:contain;background:#1a1a1a}.messages-attachment-viewer__nav{margin-top:12px}.messages-pending-attachments{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0}.messages-pending-attachment{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--bg-input);border:1px solid var(--border);font-size:.78rem;color:var(--text-secondary);max-width:100%}.messages-pending-attachment__remove{border:none;background:none;cursor:pointer;font-size:1rem;line-height:1;color:var(--text-muted);padding:0 2px}.messages-pending-attachment__remove:hover{color:var(--negative)}.modal-nuevo-mensaje{width:min(520px,calc(100vw - 32px))}.modal-nuevo-mensaje-body .form-group:last-child{margin-bottom:0}.modal-nuevo-mensaje-actions{flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.modal-nuevo-mensaje-actions__end{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;margin-left:auto;flex:1 1 auto;min-width:0}.notificacion-card--mensaje{border-color:#1ad4c159;background:#1ad4c10a}.notificaciones-cronologia-bandeja .notificaciones-section-hint{margin:-6px 0 12px;font-size:.82rem}.notificaciones-cronologia-toolbar{margin:0 0 12px}.notificaciones-cronologia-toolbar .journal-sort{flex:1;min-width:min(100%,220px)}.notificaciones-cronologia-list{gap:14px}.notificacion-cronologia-item{position:relative;display:flex;flex-direction:column;gap:6px}.notificacion-cronologia-item.notificacion-item-removing,article.notificacion-card.notificacion-item-removing{overflow:hidden;box-sizing:border-box;transition:height .3s ease,opacity .25s ease,margin .3s ease}.notificacion-cronologia-item.notificacion-item-removing.is-collapsed,article.notificacion-card.notificacion-item-removing.is-collapsed{height:0!important;opacity:0;margin-top:0!important;margin-bottom:0!important;pointer-events:none}.notificacion-cronologia-kind{display:inline-flex;align-items:center;align-self:flex-start;padding:2px 8px;border-radius:999px;font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-cyan);background:#1ad4c11a;border:1px solid rgba(26,212,193,.25)}.notificacion-cronologia-item[data-cronologia-kind=inactivity] .notificacion-cronologia-kind{color:#c45c26;background:#c45c261f;border-color:#c45c264d}.notificacion-cronologia-item[data-cronologia-kind=trade_feedback] .notificacion-cronologia-kind,.notificacion-cronologia-item[data-cronologia-kind=lesson] .notificacion-cronologia-kind{color:var(--accent-gold);background:#f2e8cf14;border-color:#f2e8cf40}.notificacion-cronologia-item[data-cronologia-kind=profile_request] .notificacion-cronologia-kind{color:var(--accent-lime);background:#c2cf8214;border-color:#c2cf8240}.notificaciones-mensajes-bandeja .notificaciones-section-title{color:var(--accent-cyan)}@media(max-width:768px){.messages-toolbar{flex-direction:column;align-items:stretch}.messages-toolbar__filters,.messages-toolbar__search,.messages-new-btn{width:100%}.messages-thread-header__actions{width:auto;justify-content:flex-end}.messages-thread-header__actions .btn,.messages-thread-header__actions .messages-text-btn{flex:0 0 auto}.messages-thread-search{flex-wrap:wrap}.messages-thread-search__nav{margin-left:auto}.messages-chat-stage{max-height:min(62vh,560px);min-height:240px}.messages-chat-wallpaper__img{object-fit:cover;transform:rotate(90deg) scale(1.35);transform-origin:center center}.messages-bubble{max-width:95%}.messages-compose-actions{flex-direction:row;align-items:center;justify-content:center}.messages-compose-actions .btn-primary{margin-left:0;width:auto}.modal-nuevo-mensaje-actions{flex-direction:column;align-items:stretch}.modal-nuevo-mensaje-actions__end{margin-left:0;width:100%}.modal-nuevo-mensaje-actions__end .btn{flex:1}}@media(max-width:480px){.messages-inbox-row{grid-template-columns:1rem minmax(0,1fr) auto;grid-template-rows:auto auto;gap:2px 8px;min-height:3.25rem;padding:8px 10px}.messages-inbox-row__indicator{grid-row:1 / span 2;align-self:center;width:1rem}.messages-inbox-row__sender-col{grid-column:2;grid-row:1}.messages-inbox-row__date{grid-column:3;grid-row:1;align-self:center}.messages-inbox-row__content{grid-column:2 / span 2;grid-row:2}.messages-inbox-row__badges{display:none}}.staff-media-fab{position:fixed;top:env(safe-area-inset-top,0);left:env(safe-area-inset-left,0);z-index:10040;display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;padding:0;margin:0;border:1px solid rgba(0,188,212,.45);border-top:none;border-left:none;border-radius:0 0 10px;background:var(--bg-card, rgba(18, 22, 32, .96));box-shadow:4px 4px 16px #00000059;color:var(--text-primary);font-size:.95rem;line-height:1;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.staff-media-fab:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}.staff-media-fab__icon{display:block;width:1.15rem;height:1.15rem;flex-shrink:0}.staff-media-fab[hidden]{display:none!important}.staff-media-name-field{margin-bottom:.75rem}.staff-media-share-once-hint{margin-bottom:.75rem;font-size:.9rem}.staff-media-share-url-row{display:flex;gap:.5rem;align-items:stretch}.staff-media-share-url-row .form-input{flex:1;min-width:0}body.staff-media-share-page{min-height:100vh;margin:0;background:var(--bg-page, #0d1117);color:var(--text-primary, #e6edf3)}.staff-media-share-shell{width:min(720px,calc(100% - 2rem));margin:0 auto;padding:clamp(1.5rem,4vw,2.5rem) 1rem 2rem}.staff-media-share-header h1{margin:0 0 .35rem;font-size:clamp(1.25rem,3vw,1.5rem)}.staff-media-share-state{padding:1rem 0;color:var(--text-muted)}.staff-media-share-state--error{color:var(--negative, #f44336)}.staff-media-share-login-link{display:inline-block;margin-top:.65rem;color:var(--accent-cyan);font-weight:600;text-decoration:none}.staff-media-share-login-link:hover{text-decoration:underline}.staff-media-share-content{display:flex;flex-direction:column;gap:0}.staff-media-share-expiry{margin:1rem 0 0;text-align:center;font-size:.875rem;line-height:1.4}.staff-media-share-player{width:100%}.staff-media-share-media{width:100%;max-height:min(70vh,480px);border-radius:10px 10px 0 0;background:#000}.known-duration-player{width:100%;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg-card, rgba(18, 22, 32, .96))}.known-duration-player__media{display:block;width:100%}.known-duration-player__media.staff-media-share-media{border-radius:0;max-height:min(70vh,480px)}audio.known-duration-player__media{width:100%;min-height:3rem}.known-duration-player__media--audio-only{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}.known-duration-player:has(.known-duration-player__media--audio-only){padding-top:.35rem}.known-duration-player__controls{display:flex;align-items:center;gap:.5rem;padding:.55rem .65rem;border-top:1px solid var(--border)}.known-duration-player__play{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--accent-cyan);font-size:.85rem;line-height:1;cursor:pointer}.known-duration-player__play:hover{border-color:var(--accent-cyan)}.known-duration-player__fullscreen{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--accent-cyan);font-size:.95rem;line-height:1;cursor:pointer}.known-duration-player__fullscreen:hover{border-color:var(--accent-cyan)}.known-duration-player__time{flex-shrink:0;font-variant-numeric:tabular-nums;font-size:.72rem;color:var(--text-muted);min-width:2.1rem}.known-duration-player__time--total{text-align:right}.known-duration-player__seek-wrap{flex:1;min-width:0;display:flex;align-items:center}.known-duration-player__seek-track{flex:1;width:100%;cursor:pointer;touch-action:none}.known-duration-player__seek-track .curso-player-progress-fill{transition:none}@media(max-width:640px){.staff-media-fab{width:2rem;height:2rem;font-size:.85rem}.staff-media-share-url-row{flex-direction:column}}.modal-vision-ia{max-width:560px;display:flex;flex-direction:column;max-height:min(90vh,720px)}.vision-ia-modal-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vision-ia-modal-title{display:flex;align-items:center;gap:8px;flex:1;min-width:0;margin-right:auto}.vision-ia-modal-title h3{flex:0 1 auto}.vision-ia-modal-title-icon{display:flex;align-items:center;flex-shrink:0;color:#0052cc;pointer-events:none;-webkit-user-select:none;user-select:none}.vision-ia-modal-title-icon__svg{display:block;width:22px;height:22px;filter:drop-shadow(0 0 2px rgba(0,82,204,.18))}.vision-ia-quota-badge{font-size:.75rem;padding:2px 8px;border-radius:999px;background:#63b3ed26;color:var(--accent-blue, #63b3ed);white-space:nowrap}.vision-ia-quota-badge--empty{background:#f5656526;color:var(--accent-red, #f56565)}.vision-ia-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-subtle, rgba(255, 255, 255, .08));padding:0 12px}.vision-ia-tab{flex:1;padding:10px 12px;border:none;background:transparent;color:var(--text-muted, rgba(255, 255, 255, .55));font-size:.9rem;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;position:relative}.vision-ia-tab--active{color:var(--text-primary, #fff);border-bottom-color:transparent}.vision-ia-tab--active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--gradient-data);border-radius:2px 2px 0 0}.vision-ia-modal-body{flex:1;min-height:0;overflow-y:auto}.vision-ia-panel[hidden]{display:none!important}.vision-ia-panel--chat{display:flex;flex-direction:column;min-height:280px;gap:8px}.vision-ia-chat-messages{flex:1;min-height:200px;max-height:360px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:4px 0}.vision-ia-chat-empty{margin:auto;text-align:center;font-size:.9rem}.vision-ia-chat-bubble{max-width:92%;padding:8px 12px;border-radius:12px;font-size:.9rem;line-height:1.45}.vision-ia-chat-bubble--user{align-self:flex-end;background:#ffffff0f;border-bottom-right-radius:4px}.vision-ia-chat-bubble--assistant{align-self:flex-start;background:#0052cc;color:#fff;border-bottom-left-radius:4px}.vision-ia-chat-bubble--assistant .vision-ia-chat-bubble__time{color:#ffffffb8;opacity:1}.vision-ia-chat-bubble__text{margin:0;white-space:pre-wrap}.vision-ia-chat-bubble__time{display:block;margin-top:4px;font-size:.7rem;opacity:.65}.vision-ia-chat-thinking{border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,#0052cc,#1a66d9,#0052cc);background-size:200% 200%;color:#fff;animation:vision-ia-thinking-shimmer 2.4s ease-in-out infinite}.vision-ia-thinking{display:flex;align-items:center;gap:12px;padding:2px 0}.vision-ia-thinking__dots{display:inline-flex;align-items:center;gap:5px;flex-shrink:0}.vision-ia-thinking__dots span{width:7px;height:7px;border-radius:50%;background:#fff;opacity:.55;animation:vision-ia-dot-bounce 1.1s ease-in-out infinite}.vision-ia-thinking__dots span:nth-child(2){animation-delay:.16s}.vision-ia-thinking__dots span:nth-child(3){animation-delay:.32s}.vision-ia-thinking__label{font-size:.88rem;color:var(--text-muted, rgba(255, 255, 255, .65));letter-spacing:.01em;transition:opacity .35s ease}#visionIaResultado .vision-ia-chat-thinking{margin-top:8px;max-width:100%}@keyframes vision-ia-dot-bounce{0%,55%,to{transform:translateY(0);opacity:.35}28%{transform:translateY(-5px);opacity:1}}@keyframes vision-ia-thinking-shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.vision-ia-chat-compose{flex-shrink:0}.vision-ia-chat-input-wrap{position:relative}.vision-ia-chat-input{width:100%;resize:vertical;min-height:68px;max-height:120px;padding:10px 48px 10px 12px;border-radius:12px;border:1px solid var(--border-subtle, rgba(255, 255, 255, .12));background:#0003;color:inherit;font-family:inherit;font-size:.9rem;box-sizing:border-box}.vision-ia-chat-send-btn{position:absolute;right:10px;bottom:10px;width:32px;height:32px;padding:0;border:none;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#0052cc;color:#fff;cursor:pointer;transition:background .15s ease,opacity .15s ease,transform .15s ease}.vision-ia-chat-send-icon{display:block;width:18px;height:18px}.vision-ia-chat-send-btn:disabled{opacity:.38;cursor:not-allowed;transform:none}.vision-ia-chat-send-btn--busy{opacity:.65}@media(hover:hover){.vision-ia-chat-send-btn:not(:disabled):hover{background:#0047b3}}.vision-ia-footer.trade-detail-nav{display:flex;justify-content:center;align-items:center}.vision-ia-footer .vision-ia-footer-panel{display:flex;width:100%;gap:8px;justify-content:center}.vision-ia-footer .vision-ia-footer-panel[hidden]{display:none!important}@media(max-width:600px){.modal-vision-ia{max-width:none;width:100%;max-height:100vh;height:100%;border-radius:0}.vision-ia-chat-messages{max-height:none;flex:1}.vision-ia-panel--chat{min-height:0;flex:1}}.vision-ia-modal__range-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px}.vision-ia-range-btn{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;border:1px solid var(--border-subtle, rgba(255, 255, 255, .12));border-radius:10px;background:#ffffff0a;color:var(--text-secondary);font-family:inherit;font-size:.85rem;line-height:1.25;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease}.vision-ia-range-btn--active{border-color:#0052cc8c;background:#0052cc24;color:var(--text-primary);font-weight:600;box-shadow:0 0 0 1px #0052cc33}.vision-ia-range-btn--busy{opacity:.72;cursor:wait}.vision-ia-range-btn:disabled{opacity:.45;cursor:not-allowed}@media(hover:hover){.vision-ia-range-btn:not(:disabled):not(.vision-ia-range-btn--active):hover{border-color:#0052cc59;background:#0052cc14;color:var(--text-primary)}}.vision-ia-resultado{margin-top:16px;display:flex;flex-direction:column;gap:12px}.vision-ia-result__section h4{margin:0 0 6px;font-size:.95rem}.vision-ia-result__text{margin:0;white-space:pre-wrap;line-height:1.45}.vision-ia-result__text--compact{font-size:.9rem}.vision-ia-char-hint{font-size:.75rem;font-weight:400}.student-profile-ai-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;width:100%}.student-profile-ai-header .student-profile-label{flex:1;min-width:0}.student-profile-ai-header .estudiante-perfil-vision-ia-btn{flex-shrink:0;min-height:36px;margin:0;padding:4px 6px}.student-profile-ai-summary{display:block;white-space:pre-wrap;line-height:1.4}.activity-detail-body--secondary{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-subtle, rgba(255, 255, 255, .08))}
