:root{--paty-blue-950:#0f2a5c;--paty-blue-900:#1a3f7a;--paty-blue-700:#1e56b1;--paty-blue-600:#2563c7;--paty-blue-500:#2d6fd4;--paty-blue-400:#3b82f6;--paty-blue-100:#dce8fa;--paty-blue-50:#eef4fd;--paty-gold-700:#9a7b1f;--paty-gold-600:#b8942e;--paty-gold-500:#d4af37;--paty-gold-400:#e8c547;--paty-gold-100:#fdf6e3;--paty-silver-500:#6b7280;--paty-silver-400:#9ca3af;--paty-silver-300:#d1d5db;--paty-silver-200:#e5e7eb;--paty-silver-100:#f3f4f6;--paty-silver-50:#f9fafb;--paty-dark:#0f1419;--paty-dark-soft:#1a2332;--color-primary:var(--paty-blue-700);--color-primary-hover:var(--paty-blue-900);--color-primary-active:var(--paty-blue-950);--color-primary-light:var(--paty-blue-100);--color-primary-subtle:var(--paty-blue-50);--color-primary-ring:#1e56b138;--color-accent:var(--paty-gold-500);--color-accent-hover:var(--paty-gold-600);--color-accent-subtle:var(--paty-gold-100);--color-surface:#fff;--color-surface-subtle:var(--paty-silver-50);--color-surface-muted:var(--paty-silver-100);--color-text:var(--paty-dark);--color-text-secondary:#5c6670;--color-text-muted:var(--paty-silver-500);--color-text-inverse:#fff;--color-border:var(--paty-silver-200);--color-border-strong:var(--paty-silver-300);--color-user-bubble:var(--paty-blue-50);--color-user-bubble-border:var(--paty-blue-100);--shadow-sm:0 0 0 1px #0f14190a;--shadow-md:0 0 0 1px #0f14190d, 0 2px 8px #0f14190f;--shadow-focus:0 0 0 2px var(--color-primary-ring), var(--shadow-md);--gradient-primary:linear-gradient(135deg, var(--paty-blue-600) 0%, var(--paty-blue-700) 100%);--gradient-accent:linear-gradient(135deg, var(--paty-gold-400) 0%, var(--paty-gold-600) 100%);--bg:var(--color-surface);--bg-subtle:var(--color-surface-muted);--text:var(--color-text);--text-secondary:var(--color-text-secondary);--border:var(--color-border);--user-bubble:var(--color-user-bubble);--accent:var(--color-primary);--accent-hover:var(--color-primary-hover);--shadow:var(--shadow-md)}*,:before,:after{box-sizing:border-box}html{height:-webkit-fill-available}html,body,#root{min-height:100dvh;margin:0}body{color:var(--color-text);background:var(--color-surface);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6}.text-accent{color:var(--color-accent);font-weight:500}.paty-logo{object-fit:contain;display:block}.paty-logo--full{object-fit:contain;width:auto;max-width:min(220px,62vw);height:auto;max-height:min(320px,38vh);margin:0 auto;display:block}.paty-logo--header{object-fit:contain;object-position:left center;max-width:140px;width:auto!important;height:36px!important}.paty-logo--icon{object-fit:contain;object-position:center;width:100%!important;height:100%!important}.portal-toast-stack{z-index:10000;pointer-events:none;flex-direction:column;gap:10px;width:min(360px,100vw - 32px);display:flex;position:fixed;bottom:20px;right:20px}.portal-toast{pointer-events:auto;background:#fff;border:1px solid #0000;border-radius:12px;align-items:flex-start;gap:10px;padding:14px 16px;animation:.22s ease-out portal-toast-in;display:flex;box-shadow:0 12px 32px #0f172a24}@keyframes portal-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.portal-toast--success{background:linear-gradient(#ecfdf5 0%,#fff 100%);border-color:#a7f3d0}.portal-toast--error{background:linear-gradient(#fef2f2 0%,#fff 100%);border-color:#fecaca}.portal-toast--info{background:linear-gradient(#f5f3ff 0%,#fff 100%);border-color:#ddd6fe}.portal-toast__message{color:#0f172a;flex:1;margin:0;font-size:.92rem;line-height:1.45}.portal-toast--success .portal-toast__message{color:#047857}.portal-toast--error .portal-toast__message{color:#b91c1c}.portal-toast--info .portal-toast__message{color:#5b21b6}.portal-toast__close{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;width:28px;height:28px;font-size:1.25rem;line-height:1}.portal-toast__close:hover{color:#0f172a;background:#0f172a0f}.portal-shell{--portal-sidebar-width:260px;--portal-topbar-height:60px;background:var(--paty-silver-50);min-height:100vh}.portal-sidebar{z-index:100;width:var(--portal-sidebar-width);-webkit-overflow-scrolling:touch;color:#f3efff;background:linear-gradient(165deg,#1a1040 0%,#2d1568 45%,#1e0f4a 100%);border-right:1px solid #ffffff0f;flex-direction:column;padding:24px 16px 20px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.portal-sidebar__brand{border-bottom:1px solid #ffffff1a;flex-direction:column;align-items:center;gap:10px;margin-bottom:20px;padding:8px 12px 28px;display:flex}.portal-sidebar__logo{filter:brightness(0)invert();width:min(168px,100%)!important;height:auto!important;max-height:none!important}.portal-sidebar__role{letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c;margin:0;font-size:.72rem;font-weight:700}.portal-sidebar__nav{flex-direction:column;flex:1;gap:4px;display:flex}.portal-sidebar__link{color:#ffffffd1;border-radius:10px;align-items:center;gap:10px;padding:11px 14px;font-size:.92rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:flex}.portal-sidebar__link:hover{color:#fff;background:#ffffff14}.portal-sidebar__link--active{color:#fff;background:#ffffff24;box-shadow:inset 3px 0 #e879f9}.portal-sidebar__link-icon{font-size:1.05rem;line-height:1}.portal-body{margin-left:var(--portal-sidebar-width);min-width:0;min-height:100vh}.portal-topbar{top:0;left:var(--portal-sidebar-width);z-index:110;min-height:var(--portal-topbar-height);padding:0 28px;padding-top:env(safe-area-inset-top,0px);border-bottom:1px solid var(--color-border);background:#fff;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;right:0;box-shadow:0 1px #0f14190a}.portal-topbar__start{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.portal-topbar__menu{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;gap:5px;width:44px;height:44px;padding:0;display:none}.portal-topbar__menu-bar{background:var(--paty-dark,#0f1419);border-radius:1px;width:18px;height:2px;margin:0 auto;display:block}.portal-backdrop{display:none}.portal-topbar__title{color:var(--paty-dark,#0f1419);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.05rem;font-weight:700;overflow:hidden}.portal-topbar__meta{flex-shrink:0;align-items:center;gap:12px;font-size:.88rem;display:flex}.portal-topbar__user{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.portal-topbar__logout{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:10px;padding:8px 14px;font-size:.85rem;font-weight:600}.portal-topbar__logout:hover{background:var(--paty-silver-50)}.portal-content{padding:calc(var(--portal-topbar-height) + 28px) 28px calc(48px + env(safe-area-inset-bottom,0px));width:100%;max-width:1080px}.portal-content--wide{max-width:1200px}.portal-content--chat{max-width:none;padding:var(--portal-topbar-height) 0 0;flex-direction:column;min-height:100dvh;display:flex;overflow:hidden}.portal-content--chat .chat-layout{flex:1;height:auto;min-height:0;max-height:none}.portal-lead{color:var(--color-text-secondary);margin:0 0 28px;font-size:.95rem;line-height:1.6}.portal-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px;display:grid}.insight-section{margin-bottom:32px}.insight-summary{background:linear-gradient(135deg,#f5f0ff 0%,#fdf2f8 100%);border:1px solid #7c3aed26;border-radius:14px;margin-bottom:20px;padding:18px 20px}.insight-summary__badge{letter-spacing:.06em;text-transform:uppercase;color:var(--landing-purple,#7c3aed);margin-bottom:8px;font-size:.72rem;font-weight:800;display:inline-block}.insight-summary__text{color:var(--paty-dark,#0f1419);margin:0;font-size:1rem;line-height:1.55}.insight-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.insight-card{border:1px solid var(--color-border);background:#fff;border-radius:16px;padding:20px;box-shadow:0 8px 24px #0f14190a}.insight-card__head{grid-template-columns:auto 1fr auto;align-items:start;gap:12px;margin-bottom:18px;display:grid}.insight-card__icon{font-size:1.6rem;line-height:1}.insight-card__title{margin:0 0 4px;font-size:.95rem;font-weight:700}.insight-card__subtitle{color:var(--color-text-secondary);margin:0;font-size:.78rem;line-height:1.45}.insight-card__total{color:var(--landing-purple,#7c3aed);margin:0;font-size:2rem;font-weight:800;line-height:1}.insight-card__bar{background:var(--paty-silver-100);border-radius:999px;height:10px;margin-bottom:14px;display:flex;overflow:hidden}.insight-card__bar-segment{min-width:4px;transition:width .3s}.insight-card__legend{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.insight-card__legend-item{grid-template-columns:10px 1fr auto;align-items:center;gap:8px;font-size:.82rem;display:grid}.insight-card__dot{border-radius:50%;width:10px;height:10px}.insight-card__legend-label{color:var(--color-text-secondary)}.insight-card__legend-count{color:var(--paty-dark,#0f1419);font-weight:700}.insight-card__legend-pct{color:var(--color-text-secondary);margin-left:4px;font-weight:500}.insight-card__empty{color:var(--color-text-secondary);margin:0;font-size:.85rem}.portal-stat{border:1px solid var(--color-border);background:#fff;border-radius:14px;padding:20px}.portal-stat__label{color:var(--color-text-secondary);margin:0 0 6px;font-size:.82rem}.portal-stat__value{color:var(--landing-purple,#7c3aed);margin:0;font-size:2rem;font-weight:800}.portal-error{color:#dc2626;margin:0 0 16px}.portal-success{color:#047857;background:#ecfdf5;border-radius:10px;margin:0 0 16px;padding:12px 16px;font-size:.9rem}.portal-note{color:var(--color-text-secondary);font-size:.9rem;line-height:1.55}.portal-panel{border:1px solid var(--color-border);background:#fff;border-radius:16px;margin-bottom:32px;padding:24px}.portal-panel__title{margin:0 0 20px;font-size:1.1rem;font-weight:700}.portal-form{flex-direction:column;gap:16px;display:flex}.portal-form--inline{flex-flow:wrap;align-items:flex-end;gap:12px}.portal-panel--compact{margin-bottom:20px;padding:16px 20px}.portal-panel--compact .portal-panel__title{margin-bottom:12px;font-size:1rem}.portal-filters{grid-template-columns:140px 160px minmax(160px,1fr) auto;align-items:end;gap:8px 12px;display:grid}.portal-filters--3{grid-template-columns:160px minmax(160px,1fr) auto}.portal-filters__field{min-width:0;color:var(--color-text-secondary);flex-direction:column;gap:4px;font-size:.75rem;font-weight:600;display:flex}.portal-filters__field select,.portal-filters__field input{border:1px solid var(--color-border);width:100%;height:40px;color:var(--paty-dark,#0f1419);background:#fff;border-radius:10px;padding:0 12px;font-family:inherit;font-size:.9rem;font-weight:400}.portal-filters__submit{color:#fff;white-space:nowrap;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#db2777);border:none;border-radius:10px;height:40px;padding:0 20px;font-size:.88rem;font-weight:700}.portal-filters__submit:disabled{opacity:.6;cursor:not-allowed}.portal-filters__submit--sm{border-radius:8px;height:32px;padding:0 14px;font-size:.82rem}.users-strip{align-items:center;gap:8px;margin-bottom:8px;padding:0;display:flex}.portal-filters--strip{flex-wrap:wrap;flex:1;align-items:center;gap:6px 10px;min-width:0;margin:0;padding:0;display:flex}.portal-filters__field--inline{flex-direction:row;align-items:center;gap:6px;min-width:0;margin:0}.portal-filters__field--inline span{color:var(--color-text-secondary);white-space:nowrap;font-size:.72rem;font-weight:600}.portal-filters--strip .portal-filters__field--inline select,.portal-filters--strip .portal-filters__field--inline input{border-radius:8px;min-width:0;height:32px;padding:0 8px;font-size:.85rem}.portal-filters--strip .portal-filters__field--grow{flex:140px}.portal-filters--strip .portal-filters__field--inline select{width:auto;min-width:100px;max-width:150px}.portal-add-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#db2777);border:none;border-radius:10px;flex-shrink:0;width:40px;height:40px;font-size:1.65rem;font-weight:300;line-height:1;box-shadow:0 2px 8px #7c3aed59}.portal-add-btn:hover{filter:brightness(1.05)}.users-list-meta{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:8px 14px;padding:6px 2px 8px;font-size:.8rem;display:flex}.users-list-meta__count{color:var(--paty-dark,#0f1419);font-weight:600}.users-list-meta__selected{color:#7c3aed;font-weight:600}.users-list-meta__action{color:#7c3aed;cursor:pointer;background:linear-gradient(135deg,#7c3aed14,#db277714);border:1px solid #7c3aed59;border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:700}.users-list-meta__action:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed24,#db27771f);border-color:#7c3aed}.users-list-meta__action:disabled{opacity:.45;cursor:not-allowed}.users-list-meta__link{color:#7c3aed;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:.8rem;font-weight:600;text-decoration:underline}.users-list-meta__link:hover{color:#5b21b6}.users-list-table{margin-top:0}.portal-table__col-check{width:40px;text-align:center!important;padding-left:10px!important;padding-right:6px!important}.portal-checkbox{accent-color:#7c3aed;cursor:pointer;width:16px;height:16px;margin:0}.portal-table__row--selected{background:#faf5ff}.portal-table__empty{text-align:center;color:var(--color-text-secondary);padding:24px 14px!important}.courses-table__title{font-weight:600;display:block}.courses-table__title--link{color:#6d28d9;text-decoration:none}.courses-table__title--link:hover{text-decoration:underline}.courses-table__desc{color:var(--color-text-secondary);margin-top:2px;font-size:.78rem;line-height:1.35;display:block}.course-detail__top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.course-detail__back{color:#6d28d9;font-size:.9rem;font-weight:600;text-decoration:none}.course-detail__back:hover{text-decoration:underline}.course-detail__readonly{color:var(--color-text-secondary);background:#f3f4f6;border-radius:8px;padding:6px 12px;font-size:.82rem}.course-detail__section{border:1px solid var(--color-border);background:#fff;border-radius:14px;margin-bottom:28px;padding:20px}.course-detail__heading{margin:0 0 16px;font-size:1.05rem}.course-detail__section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.course-detail__section-head .course-detail__heading{margin-bottom:0}.course-detail__section-actions{gap:8px;display:flex}.course-detail__section-actions button{color:#6d28d9;cursor:pointer;background:#f5f3ff;border:1px solid #c4b5fd;border-radius:10px;padding:8px 14px;font-size:.85rem;font-weight:600}.course-detail__inline-form{background:#faf5ff;border:1px dashed #ddd6fe;border-radius:12px;margin-bottom:20px;padding:16px}.course-detail__module{background:var(--paty-silver-50);border:1px solid var(--color-border);border-radius:12px;margin-bottom:16px;padding:14px 16px}.course-detail__module-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.course-detail__module-head h3{margin:0;font-size:.98rem}.course-detail__module-head p{color:var(--color-text-secondary);margin:4px 0 0;font-size:.85rem}.course-detail__lessons{margin:0;padding:0;list-style:none}.course-detail__lesson{border:1px solid var(--color-border);background:#fff;border-radius:10px;align-items:center;gap:8px;margin-bottom:6px;padding:10px 12px;display:flex}.course-detail__lesson--dragging{opacity:.55}.course-detail__lesson--drop-target{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed26}.course-detail__lesson-drag{cursor:grab;color:var(--color-text-secondary);-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:.85rem;line-height:1}.course-detail__lesson-body{flex:1;justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.course-detail__lesson-order{flex-direction:column;flex-shrink:0;gap:2px;display:flex}.course-detail__order-btn{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:6px;width:28px;height:24px;padding:0;font-size:.75rem}.course-detail__order-btn:disabled{opacity:.35;cursor:not-allowed}.course-detail__reorder-hint{color:var(--color-text-secondary);margin:0 0 12px;font-size:.85rem}.course-detail__modules-sortable{margin:0;padding:0;list-style:none}.course-detail__module--sortable{align-items:flex-start;gap:8px;margin-bottom:12px;padding:12px;display:flex}.course-detail__module--sortable .course-detail__module-head{flex:1;min-width:0}.course-detail__module--sortable .course-detail__lesson-body{flex-direction:column;align-items:stretch;gap:10px}.course-detail__lesson--empty{color:var(--color-text-secondary);justify-content:flex-start;font-size:.88rem}.course-detail__lesson-title{font-size:.9rem;font-weight:600}.course-detail__lesson-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.course-detail__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.course-detail__danger{color:#b91c1c;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:10px 16px;font-weight:600}.course-detail__danger--sm{padding:6px 10px;font-size:.78rem}.course-detail__empty{color:var(--color-text-secondary);margin:0;font-size:.9rem}.portal-add-section{margin-bottom:20px}.portal-add-trigger{cursor:pointer;background:linear-gradient(#faf5ff 0%,#fff 100%);border:2px dashed #c4b5fd;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;min-height:88px;padding:16px;transition:border-color .15s,background .15s,transform .12s;display:flex}.portal-add-trigger:hover{background:#f5f3ff;border-color:#7c3aed}.portal-add-trigger:active{transform:scale(.99)}.portal-add-trigger__icon{color:#7c3aed;font-size:3rem;font-weight:300;line-height:1}.portal-add-trigger__label{color:#6d28d9;font-size:.88rem;font-weight:600}.portal-panel--create .portal-panel__toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.portal-panel--create .portal-panel__title{margin-bottom:0}.portal-panel__close{border:1px solid var(--color-border);color:#6b7280;cursor:pointer;background:#fff;border-radius:10px;flex-shrink:0;width:36px;height:36px;font-size:1.4rem;line-height:1}.portal-panel__close:hover{color:#111827;background:#f3f4f6}.portal-form__row{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.portal-form__field{color:var(--color-text-secondary);flex-direction:column;gap:6px;font-size:.82rem;font-weight:600;display:flex}.portal-form__field--narrow{max-width:280px}.portal-form__field input,.portal-form__field select,.portal-form__field textarea{border:1px solid var(--color-border);color:var(--paty-dark,#0f1419);border-radius:10px;padding:11px 13px;font-family:inherit;font-size:.95rem;font-weight:400}.portal-form__field textarea{resize:vertical;min-height:80px}.portal-form__optional{color:var(--color-text-secondary);opacity:.8;font-weight:500}.portal-form__section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--landing-purple,#7c3aed);margin:4px 0 0;font-size:.78rem;font-weight:800}.portal-form__error{color:#dc2626;margin:0;font-size:.85rem}.portal-form__success{color:#15803d;margin:0;font-size:.85rem;line-height:1.5}.portal-form__submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#db2777);border:none;border-radius:12px;align-self:flex-start;padding:12px 22px;font-size:.95rem;font-weight:700}.portal-form__submit:disabled{opacity:.6;cursor:not-allowed}.portal-table-wrap{margin-bottom:8px}.portal-table-wrap h2{margin:0 0 12px;font-size:1.1rem}.portal-table-scroll{-webkit-overflow-scrolling:touch;border:1px solid var(--color-border);background:#fff;border-radius:12px;overflow-x:auto}.portal-table{border-collapse:collapse;background:#fff;width:100%;min-width:520px}.portal-table-scroll .portal-table{border:none;border-radius:0}.portal-table th,.portal-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:12px 14px;font-size:.9rem}.portal-table th{background:var(--paty-silver-50);font-weight:600}.portal-table--actions{min-width:640px}.portal-table__col-actions{width:88px;text-align:center!important}.portal-table__actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.portal-icon-btn{border:1px solid var(--color-border);color:#4b5563;cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.portal-icon-btn:hover:not(:disabled){color:#111827;background:#f3f4f6;border-color:#c4b5fd}.portal-icon-btn:disabled{opacity:.35;cursor:not-allowed}.portal-icon-btn--danger:hover:not(:disabled){color:#b91c1c;background:#fef2f2;border-color:#fecaca}.portal-modal-backdrop{z-index:200;-webkit-backdrop-filter:blur(8px);background:#0f141985;justify-content:center;align-items:center;padding:20px;animation:.22s portal-modal-fade-in;display:flex;position:fixed;inset:0}@keyframes portal-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes portal-modal-slide-in{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.portal-modal{background:#fff;border:1px solid #7c3aed1a;border-radius:20px;flex-direction:column;width:min(480px,100%);max-height:min(90vh,760px);animation:.28s cubic-bezier(.22,1,.36,1) portal-modal-slide-in;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffe6,0 28px 64px #0f141938,0 10px 28px #7c3aed1a}.portal-modal--wide{width:min(560px,100%)}.portal-modal__accent{background:linear-gradient(90deg,#7c3aed 0%,#c026d3 45%,#f472b6 100%);flex-shrink:0;height:4px}.portal-modal__header{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px 0;display:flex}.portal-modal__header-text{flex:1;min-width:0}.portal-modal__title{letter-spacing:-.025em;color:#0f1419;margin:0;font-size:1.28rem;font-weight:800;line-height:1.25}.portal-modal__subtitle{color:#64748b;margin:8px 0 0;font-size:.88rem;font-weight:500;line-height:1.5}.portal-modal__close{color:#64748b;cursor:pointer;background:#f8fafc;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;margin-top:-4px;transition:background .15s,color .15s,transform .12s;display:inline-flex}.portal-modal__close:hover{color:#6d28d9;background:#f3e8ff;transform:scale(1.04)}.portal-modal__close:active{transform:scale(.98)}.portal-modal__body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:20px 24px 24px;overflow:hidden auto}.portal-modal__footer{background:linear-gradient(#f8fafc 0%,#fff 100%);border-top:1px solid #f1f5f9;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;padding:16px 24px 22px;display:flex}.portal-modal__footer-spacer{flex:1}.portal-modal__btn-whatsapp:not(:disabled){color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.portal-modal__btn-whatsapp:not(:disabled):hover{background:#dcfce7;border-color:#86efac}.portal-modal__btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#db2777);border:none;border-radius:12px;padding:12px 22px;font-size:.95rem;font-weight:700;transition:transform .12s,box-shadow .15s,opacity .15s;box-shadow:0 4px 14px #7c3aed47}.portal-modal__btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #7c3aed57}.portal-modal__btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.portal-modal__btn-secondary{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px 18px;font-size:.95rem;font-weight:600;transition:background .15s,border-color .15s}.portal-modal__btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1}.portal-modal__btn-danger{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:12px;padding:10px 18px;font-size:.95rem;font-weight:600;transition:background .15s}.portal-modal__btn-danger:hover:not(:disabled){background:#b91c1c}.portal-modal__btn-danger:disabled{opacity:.6;cursor:not-allowed}.portal-confirm__message{color:#4b5563;margin:0;line-height:1.5}.portal-confirm__impact{background:#fef3c7;border:1px solid #fcd34d;border-radius:12px;margin:16px 0 0;padding:14px 16px}.portal-confirm__impact-title{color:#92400e;margin:0 0 8px;font-size:.875rem;font-weight:700}.portal-confirm__impact ul{color:#78350f;margin:0;padding-left:18px;font-size:.875rem;line-height:1.5}.portal-confirm__impact li+li{margin-top:4px}.portal-confirm__loading{color:#6b7280;margin:12px 0 0;font-size:.875rem}.portal-form--modal{gap:18px}.portal-modal .portal-form--modal .portal-form__field input,.portal-modal .portal-form--modal .portal-form__field select,.portal-modal .portal-form--modal .portal-form__field textarea{background:#fafafa;border-color:#e5e7eb;transition:border-color .15s,box-shadow .15s,background .15s}.portal-modal .portal-form--modal .portal-form__field input:focus,.portal-modal .portal-form--modal .portal-form__field select:focus,.portal-modal .portal-form--modal .portal-form__field textarea:focus{background:#fff;border-color:#a78bfa;outline:none;box-shadow:0 0 0 3px #7c3aed1f}.portal-modal .portal-form--modal .portal-form__submit{border-radius:14px;width:100%;min-height:48px;margin-top:6px;font-size:1rem;transition:transform .12s,box-shadow .15s;box-shadow:0 4px 14px #7c3aed40}.portal-modal .portal-form--modal .portal-form__submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #7c3aed52}.portal-modal .portal-form__section-label{border-top:1px dashed #e9d5ff;margin-top:4px;padding-top:4px}.portal-badge{letter-spacing:.04em;border-radius:8px;padding:4px 10px;font-size:.72rem;font-weight:800}.portal-badge--master,.portal-badge--admin{color:#92400e;background:#fef3c7}.portal-badge--client{color:#1e40af;background:#dbeafe}.portal-badge--user{color:#5b21b6;background:#ede9fe}@media (width<=1024px){.insight-grid{grid-template-columns:repeat(2,1fr)}.portal-content{padding:calc(var(--portal-topbar-height) + 24px) 20px calc(40px + env(safe-area-inset-bottom,0px))}}@media (width<=768px){.portal-shell{--portal-topbar-height:56px}body.portal-menu-open{overflow:hidden}.portal-body{margin-left:0}.portal-backdrop{z-index:190;cursor:pointer;background:#0f101980;display:block;position:fixed;inset:0}.portal-sidebar{z-index:200;width:min(288px,88vw);transition:transform .24s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:8px 0 32px #0003}.portal-sidebar--open{transform:translate(0)}.portal-sidebar__brand{border-bottom:1px solid #ffffff1a;flex-direction:column;margin-bottom:16px;padding:12px 12px 24px}.portal-sidebar__role{display:block}.portal-sidebar__nav{flex-flow:column}.portal-sidebar__link{min-height:44px}.portal-topbar{padding:8px 12px;padding-top:max(8px, env(safe-area-inset-top,0px));left:0}.portal-topbar__menu{display:flex}.portal-topbar__title{white-space:normal;font-size:.92rem;line-height:1.25;display:block}.portal-topbar__meta{flex-wrap:wrap;justify-content:flex-end;gap:8px}.portal-topbar__user{display:none}.portal-topbar__logout{min-height:40px;padding:8px 12px}.portal-content{padding:calc(var(--portal-topbar-height) + 16px) 14px calc(32px + env(safe-area-inset-bottom,0px))}.portal-lead{margin-bottom:20px;font-size:.9rem}.insight-grid{grid-template-columns:1fr;gap:14px}.insight-summary{padding:14px 16px}.insight-summary__text{font-size:.92rem}.insight-card{padding:16px}.insight-card__head{grid-template-columns:auto 1fr;grid-template-areas:"icon total""text text"}.insight-card__icon{grid-area:icon}.insight-card__total{grid-area:total;justify-self:end;font-size:1.75rem}.insight-card__head>div{grid-area:text}.insight-card__legend-item{grid-template-columns:10px minmax(0,1fr) auto}.insight-card__legend-label{word-break:break-word}.portal-panel{margin-bottom:24px;padding:16px}.portal-filters,.portal-filters--3{grid-template-columns:1fr 1fr}.portal-filters__field--grow{grid-column:1/-1}.portal-filters__submit{grid-column:1/-1;width:100%}.portal-form__row{grid-template-columns:1fr}.portal-form__field--narrow{max-width:none}.portal-form__field input{font-size:16px}.portal-form__submit{align-self:stretch;width:100%;min-height:48px}.portal-modal-backdrop{align-items:flex-end;padding:12px}.portal-modal{border-radius:20px 20px 0 0;width:100%;max-height:92vh;animation:.28s cubic-bezier(.22,1,.36,1) portal-modal-slide-up}@keyframes portal-modal-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.portal-modal__header{padding:18px 18px 0}.portal-modal__body{padding:16px 18px 20px}.portal-modal__footer{flex-direction:column-reverse;padding:14px 18px 18px}.portal-modal__footer .portal-modal__btn-primary,.portal-modal__footer .portal-modal__btn-secondary{width:100%;min-height:48px}.portal-modal .portal-form--modal .portal-form__row,.portal-grid{grid-template-columns:1fr}}@media (width<=400px){.portal-badge{padding:3px 8px;font-size:.65rem}.portal-topbar__logout{font-size:.8rem}}.lesson-rag{border-top:1px solid #ffffff14;flex-direction:column;gap:10px;margin-top:8px;padding-top:16px;display:flex}.lesson-rag__head{flex-direction:column;gap:4px;display:flex}.lesson-rag__hint{color:var(--portal-muted,#ffffff8c);font-size:.82rem}.lesson-rag__upload{color:#c4b5fd;cursor:pointer;background:#7c5cff14;border:1px dashed #7c5cff73;border-radius:10px;justify-content:center;align-items:center;padding:10px 14px;font-size:.9rem;transition:background .15s;display:inline-flex}.lesson-rag__upload:hover{background:#7c5cff24}.lesson-rag__upload input{display:none}.lesson-rag__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.lesson-rag__item{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.lesson-rag__item--failed{background:#f871710f;border-color:#f8717159}.lesson-rag__fail-msg{color:#fca5a5;font-size:.78rem;line-height:1.35}.lesson-rag__item-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.lesson-rag__reprocess{color:#c4b5fd;cursor:pointer;background:#7c5cff1f;border:1px solid #7c5cff73;border-radius:8px;padding:6px 10px;font-size:.82rem}.lesson-rag__reprocess:disabled{opacity:.6;cursor:not-allowed}.lesson-rag__item-main{flex-direction:column;gap:2px;min-width:0;display:flex}.lesson-rag__filename{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:500;overflow:hidden}.lesson-rag__meta{color:var(--portal-muted,#ffffff8c);font-size:.78rem}.lesson-rag__error{color:#fca5a5;margin:0;font-size:.85rem}.lesson-rag__muted{color:var(--portal-muted,#ffffff8c);margin:0;font-size:.85rem}.lesson-rag__badge{letter-spacing:.02em;border-radius:999px;width:fit-content;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-block}.lesson-rag__badge--ready{color:#15803d;background:#22c55e26}.lesson-rag__badge--processing{color:#a16207;background:#eab30826}.lesson-rag__badge--failed{color:#b91c1c;background:#ef44441f}.portal-modal .lesson-rag{border-top-color:#e5e7eb}.portal-modal .lesson-rag__hint,.portal-modal .lesson-rag__meta,.portal-modal .lesson-rag__muted{color:#6b7280}.portal-modal .lesson-rag__filename{color:#111827}.portal-modal .lesson-rag__item{background:#f9fafb;border-color:#e5e7eb}.portal-modal .lesson-rag__item--ready{background:#22c55e0f;border-color:#22c55e59}.portal-modal .lesson-rag__item--failed{background:#ef44440f;border-color:#ef444459}.portal-modal .lesson-rag__upload{color:#6d28d9;background:#7c5cff0f;border-color:#7c5cff59}.portal-modal .lesson-rag__fail-msg,.portal-modal .lesson-rag__error{color:#b91c1c}.aluno-jornadas__empty{color:#6b7280;text-align:center;background:#fff;border:1px dashed #d1d5db;border-radius:12px;padding:24px}.aluno-jornadas__layout{grid-template-columns:280px 1fr;align-items:start;gap:20px;display:grid}.aluno-jornadas__list{flex-direction:column;gap:8px;display:flex}.aluno-jornadas__item{text-align:left;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 16px;transition:border-color .15s,box-shadow .15s;display:flex}.aluno-jornadas__item:hover{border-color:#c4b5fd}.aluno-jornadas__item--active{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed26}.aluno-jornadas__item-title{color:#111827;font-size:.92rem;font-weight:600}.aluno-jornadas__status{text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:700}.aluno-jornadas__status--not_started{color:#9ca3af}.aluno-jornadas__status--in_progress{color:#d97706}.aluno-jornadas__status--completed,.aluno-jornadas__status--watched{color:#059669}.aluno-jornadas__player{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:20px;overflow:visible}.aluno-jornadas__embed-wrap{background:#000;border-radius:12px;height:0;margin-bottom:16px;padding-bottom:56.25%;position:relative;overflow:hidden}.aluno-jornadas__lesson-player .aluno-jornadas__embed-wrap{margin-bottom:16px}.aluno-jornadas__embed-wrap iframe,.aluno-jornadas__embed-wrap .aluno-jornadas__yt-iframe,.aluno-jornadas__embed-wrap .aluno-jornadas__yt-mount,.aluno-jornadas__embed-wrap .aluno-jornadas__yt-mount iframe{border:0;width:100%;height:100%;position:absolute;top:0;left:0}.aluno-jornadas__yt-loading{color:#e9d5ff;z-index:1;pointer-events:none;background:#00000059;justify-content:center;align-items:center;margin:0;font-size:.9rem;display:flex;position:absolute;inset:0}.aluno-jornadas__watch-bar{align-items:center;gap:12px;margin-bottom:16px;display:flex}.aluno-jornadas__watch-bar-track{background:#ede9fe;border-radius:999px;flex:1;height:8px;overflow:hidden}.aluno-jornadas__watch-bar-fill{border-radius:inherit;background:linear-gradient(90deg,#7c3aed,#a78bfa);height:100%;transition:width .35s}.aluno-jornadas__watch-bar-label{color:#5b21b6;white-space:nowrap;font-size:.82rem;font-weight:600}.aluno-jornadas__yt-hint{color:#6b7280;margin:0 0 16px;font-size:.8rem;line-height:1.4}.aluno-jornadas__actions{flex-wrap:wrap;gap:10px;display:flex}.aluno-jornadas__actions button{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:10px;padding:10px 16px;font-size:.88rem;font-weight:600}.aluno-jornadas__actions button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.35)}.aluno-jornadas__actions-hint{color:#6b7280;margin:8px 0 0;font-size:.82rem;line-height:1.4}.aluno-jornadas__item-meta{color:#6b7280;margin-top:2px;font-size:.75rem;display:block}.aluno-jornadas__curriculum{grid-template-columns:minmax(200px,280px) 1fr;gap:20px;display:grid;position:relative;overflow:visible}.aluno-jornadas__syllabus{z-index:20;max-height:none;padding-right:0;position:relative;overflow:visible}.aluno-jornadas__module ul li{z-index:0;position:relative}:is(.aluno-jornadas__module ul li:has(.aluno-jornadas__lesson:hover),.aluno-jornadas__module ul li:has(.aluno-jornadas__lesson:focus-visible)){z-index:100}.aluno-jornadas__module{margin-bottom:14px}.aluno-jornadas__module h3{color:#4b5563;text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:.88rem}.aluno-jornadas__module ul{margin:0;padding:0;list-style:none}.aluno-jornadas__lesson{text-align:left;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;width:100%;margin-bottom:6px;padding:10px 12px;font-size:.88rem;display:flex;position:relative}.aluno-jornadas__lesson-tooltip{z-index:300;color:#f8fafc;pointer-events:none;opacity:0;visibility:hidden;background:#1e1b4b;border-radius:10px;width:max(200px,16vw);max-width:280px;padding:10px 12px;font-size:.8rem;font-weight:500;line-height:1.45;transition:opacity .15s,visibility .15s;position:absolute;inset:50% auto auto calc(100% + 12px);transform:translateY(-50%);box-shadow:0 8px 24px #0f141940}.aluno-jornadas__lesson-tooltip:before{content:"";border:6px solid #0000;border-right-color:#1e1b4b;position:absolute;top:50%;right:100%;transform:translateY(-50%)}.aluno-jornadas__lesson:hover,.aluno-jornadas__lesson:focus-visible{z-index:200}.aluno-jornadas__lesson:hover .aluno-jornadas__lesson-tooltip,.aluno-jornadas__lesson:focus-visible .aluno-jornadas__lesson-tooltip{opacity:1;visibility:visible}.aluno-jornadas__lesson-title{font-weight:600}.aluno-jornadas__lesson-player{z-index:1;min-width:0;position:relative}.aluno-jornadas__lesson:hover{background:#faf5ff;border-color:#c4b5fd}.aluno-jornadas__lesson--active{background:#f5f3ff;border-color:#7c3aed}.aluno-jornadas__actions-complete{color:#fff!important;background:linear-gradient(135deg,#6d28d9,#7c3aed)!important;border-color:#0000!important}.aluno-jornadas__ask-btn{font-weight:600;color:#5b21b6!important;background:#f5f3ff!important;border-color:#7c3aed!important}.aluno-jornadas__task-btn{font-weight:600;color:#047857!important;background:#ecfdf5!important;border-color:#059669!important}.lesson-task-modal{height:min(620px,100dvh - 32px)}.lesson-task-modal__chat{flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px 16px;display:flex;overflow-y:auto}.lesson-task-modal__form{background:#fafafa;border-top:1px solid #e9d5ff;flex-shrink:0;padding:12px 16px 14px}.lesson-task-modal__msg{display:flex}.lesson-task-modal__msg--user{justify-content:flex-end}.lesson-task-modal__msg--assistant{justify-content:flex-start}.lesson-task-modal__bubble{border-radius:12px;max-width:92%;padding:10px 12px;font-size:.9rem;line-height:1.45}.lesson-task-modal__msg--user .lesson-task-modal__bubble{color:#fff;background:#7c3aed}.lesson-task-modal__msg--user.lesson-task-modal__msg--correct .lesson-task-modal__bubble{color:#fff;background:#059669}.lesson-task-modal__msg--assistant .lesson-task-modal__bubble{color:#1f2937;background:#f5f3ff;border:1px solid #e9d5ff}.lesson-task-modal__msg--assistant.lesson-task-modal__msg--correct .lesson-task-modal__bubble{color:#065f46;background:#ecfdf5;border-color:#6ee7b7}.lesson-task-modal__status{color:#6b7280;margin:0;font-size:.85rem;font-style:italic}.lesson-task-modal__done{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;margin:0;padding:10px 12px;font-size:.88rem}.lesson-task-modal .quick-replies-wrap{margin-top:4px}.lesson-task-modal .quick-replies__hint{color:#6b7280;margin:0 0 6px;font-size:.78rem}.lesson-task-modal .quick-replies{flex-wrap:wrap;gap:8px;display:flex}.lesson-task-modal .quick-replies__chip{color:#5b21b6;cursor:pointer;background:#fff;border:1px solid #c4b5fd;border-radius:999px;padding:8px 12px;font-size:.82rem}.lesson-task-modal .quick-replies__chip:hover:not(:disabled){background:#f5f3ff}.lesson-task-modal .quick-replies__chip:disabled{opacity:.6;cursor:not-allowed}.lesson-task-modal__speak{background:#faf5ff;border:1px dashed #7c3aed;border-radius:12px;padding:12px}.lesson-task-modal__speak-phrase-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.lesson-task-modal__speak-phrase{color:#374151;flex:200px;margin:0;font-size:.9rem}.lesson-task-modal__listen-btn{color:#5b21b6;cursor:pointer;white-space:nowrap;background:#f5f3ff;border:1px solid #7c3aed;border-radius:999px;padding:8px 14px;font-size:.85rem;font-weight:600}.lesson-task-modal__listen-btn:hover:not(:disabled){background:#ede9fe}.lesson-task-modal__listen-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lesson-task-modal__rate-btn{color:#5b21b6;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #c4b5fd;border-radius:999px;min-width:44px;padding:8px 12px;font-size:.85rem;font-weight:700}.lesson-task-modal__rate-btn:hover:not(:disabled){background:#f5f3ff}.lesson-task-modal__rate-btn:disabled{opacity:.55;cursor:not-allowed}.lesson-task-modal__form-actions{justify-content:flex-end;align-items:center;gap:10px;width:100%;display:flex}.lesson-task-modal__fechar-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;margin-right:auto;padding:8px 14px;font-weight:600}.lesson-task-modal__fechar-btn:hover{background:#f3f4f6}.lesson-task-modal__form-actions button[type=submit],.lesson-task-modal__form-actions button.lesson-task-modal__form-actions-primary,.lesson-ask-modal__form .lesson-task-modal__form-actions>button:not(.lesson-task-modal__fechar-btn){align-self:auto}.lesson-task-modal__listen-btn:disabled{opacity:.55;cursor:not-allowed}.lesson-task-modal__speak-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lesson-task-modal__speak-retry{color:#b45309;margin:0 0 8px;font-size:.88rem;font-weight:600}.lesson-task-modal__speak-hint{color:#6b7280;margin:0 0 8px;font-size:.85rem}.lesson-task-modal__mic-btn--primary{animation:1.6s ease-in-out infinite lesson-task-mic-pulse;box-shadow:0 0 0 3px #7c3aed40}@keyframes lesson-task-mic-pulse{0%,to{box-shadow:0 0 0 3px #7c3aed40}50%{box-shadow:0 0 0 6px #7c3aed26}}.lesson-task-modal__mic-btn{color:#fff;cursor:pointer;background:#7c3aed;border:1px solid #7c3aed;border-radius:999px;padding:10px 16px;font-weight:600}.lesson-task-modal__mic-btn--stop{background:#dc2626;border-color:#dc2626}.lesson-task-modal__mic-btn:disabled{opacity:.6;cursor:not-allowed}.lesson-task-modal__mic-cancel{color:#6b7280;cursor:pointer;background:0 0;border:none;font-size:.85rem}.lesson-task-modal__rec-indicator{color:#dc2626;font-size:.85rem;font-weight:600}.lesson-ask-modal{z-index:1200;width:min(640px,100vw - 32px);height:min(560px,100dvh - 32px);transform:translate(calc(-50% + var(--drag-x,0px)), calc(-50% + var(--drag-y,0px)));background:#fff;border:1px solid #ddd6fe;border-radius:16px;flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;box-shadow:0 20px 50px #5b21b62e}.lesson-ask-modal__header{background:linear-gradient(135deg,#f5f3ff,#faf5ff);border-bottom:1px solid #e9d5ff;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.lesson-ask-modal__drag{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;flex:1;min-width:0}.lesson-ask-modal__drag:active{cursor:grabbing}.lesson-ask-modal__header-text{min-width:0}.lesson-ask-modal__header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.lesson-task-modal__restart-btn{color:#5b21b6;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #c4b5fd;border-radius:8px;padding:6px 10px;font-size:.78rem;font-weight:600}.lesson-task-modal__restart-btn:hover:not(:disabled){background:#f5f3ff}.lesson-task-modal__restart-btn:disabled{opacity:.55;cursor:not-allowed}.lesson-ask-modal__title{color:#5b21b6;margin:0;font-size:.98rem}.lesson-ask-modal__subtitle{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:.8rem;overflow:hidden}.lesson-ask-modal__close{color:#6b7280;cursor:pointer;z-index:1;background:0 0;border:none;border-radius:8px;flex-shrink:0;width:36px;height:36px;font-size:1.6rem;line-height:1}.lesson-ask-modal__close:hover{color:#5b21b6;background:#7c3aed1a}.lesson-ask-modal__body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px 18px 18px;display:flex;overflow-y:auto}.lesson-ask-modal__hint{color:#6b7280;margin:0;font-size:.78rem}.lesson-ask-modal__thread{flex-direction:column;flex:1;gap:10px;min-height:120px;max-height:280px;padding-right:2px;display:flex;overflow-y:auto}.lesson-ask-modal__msg{flex-direction:column;gap:4px;max-width:92%;display:flex}.lesson-ask-modal__msg--user{align-self:flex-end;align-items:flex-end}.lesson-ask-modal__msg--assistant{align-self:flex-start;align-items:flex-start}.lesson-ask-modal__msg-label{color:#6b7280;font-size:.72rem;font-weight:600}.lesson-ask-modal__msg-bubble{border-radius:12px;padding:10px 12px;font-size:.9rem;line-height:1.45}.lesson-ask-modal__msg--user .lesson-ask-modal__msg-bubble{color:#4c1d95;background:#ede9fe;border:1px solid #c4b5fd}.lesson-ask-modal__msg--assistant .lesson-ask-modal__msg-bubble{color:#1f2937;background:#faf5ff;border:1px solid #e9d5ff}.lesson-ask-modal__msg-bubble--typing{color:#6b7280;font-style:italic}.lesson-ask-modal__examples{flex-direction:column;gap:6px;display:flex}.lesson-ask-modal__examples-label{color:#6b7280;margin:0;font-size:.75rem;font-weight:600}.lesson-ask-modal__example{text-align:left;color:#5b21b6;width:100%;font:inherit;cursor:pointer;background:#faf5ff;border:1px solid #e9d5ff;border-radius:8px;padding:8px 10px;font-size:.82rem;line-height:1.35}.lesson-ask-modal__example:hover:not(:disabled){background:#f3e8ff;border-color:#c4b5fd}.lesson-ask-modal__example:disabled{opacity:.6;cursor:not-allowed}.lesson-ask-modal__form{flex-direction:column;gap:8px;margin-top:auto;display:flex}.lesson-ask-modal__form textarea{width:100%;font:inherit;resize:vertical;border:1px solid #ddd6fe;border-radius:10px;min-height:80px;padding:12px 14px}.lesson-ask-modal__form textarea:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 3px #7c3aed26}.lesson-ask-modal__form button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6d28d9,#7c3aed);border:1px solid #7c3aed;border-radius:8px;align-self:flex-end;padding:8px 16px;font-weight:600}.lesson-ask-modal__form button:disabled{opacity:.6;cursor:not-allowed}@media (width<=640px){.lesson-ask-modal{width:calc(100vw - 24px);height:min(520px,100dvh - 24px)}.lesson-ask-modal__body{padding:12px 14px 14px}.lesson-ask-modal__form textarea{min-height:64px}}@media (height<=640px){.lesson-ask-modal{height:calc(100dvh - 24px)}}.aluno-jornadas__error{color:#b91c1c;margin:0 0 16px}.aluno-jornadas__rag{border-top:1px solid #e9d5ff;margin-top:20px;padding-top:16px}.aluno-jornadas__rag-title{color:#5b21b6;margin:0 0 4px;font-size:.95rem}.aluno-jornadas__rag-hint{color:#6b7280;margin:0 0 10px;font-size:.82rem}.aluno-jornadas__rag-form{flex-direction:column;gap:8px;display:flex}.aluno-jornadas__rag-form textarea{width:100%;font:inherit;resize:vertical;border:1px solid #ddd6fe;border-radius:10px;padding:10px 12px}.aluno-jornadas__rag-form button{color:#5b21b6;cursor:pointer;background:#f5f3ff;border:1px solid #7c3aed;border-radius:8px;align-self:flex-start;padding:8px 14px;font-weight:600}.aluno-jornadas__rag-form button:disabled{opacity:.6;cursor:not-allowed}.aluno-jornadas__rag-answer{background:#faf5ff;border:1px solid #e9d5ff;border-radius:10px;margin-top:12px;padding:12px 14px;font-size:.92rem;line-height:1.5}.aluno-jornadas__rag-answer-content{flex-direction:column;gap:8px;display:flex}.aluno-jornadas__rag-answer-content .message__text{white-space:pre-wrap}.aluno-jornadas__rag-answer-content .message__text strong{color:#4c1d95;font-weight:700}.aluno-jornadas__rag-answer-content .message__text em{font-style:italic}.aluno-jornadas__rag-answer-content .message__table-wrap{background:#fff;border:1px solid #e9d5ff;border-radius:10px;margin:8px 0;overflow-x:auto}.aluno-jornadas__rag-answer-content .message__table{border-collapse:collapse;width:100%;min-width:240px;font-size:.88rem}.aluno-jornadas__rag-answer-content .message__table th{color:#5b21b6;text-align:left;background:#f5f3ff;border-bottom:1px solid #e9d5ff;padding:8px 12px;font-weight:600}.aluno-jornadas__rag-answer-content .message__table td{vertical-align:top;border-bottom:1px solid #f3e8ff;padding:8px 12px}.aluno-jornadas__rag-answer-content .message__table tbody tr:last-child td{border-bottom:none}.aluno-jornadas__rag-answer-content .message__table tbody tr:nth-child(2n){background:#faf5ff}@media (width<=768px){.portal-content--chat{min-height:calc(100dvh - var(--portal-topbar-height))}.aluno-jornadas__layout,.aluno-jornadas__curriculum{grid-template-columns:1fr}.aluno-jornadas__lesson-tooltip{width:auto;max-width:none;inset:auto 0 calc(100% + 8px);transform:none}.aluno-jornadas__lesson-tooltip:before{border:6px solid #0000;border-top-color:#1e1b4b;top:100%;left:16px;right:auto;transform:none}}.chat-layout{height:100dvh;background:var(--color-surface);height:-webkit-fill-available;max-height:100dvh;padding-top:env(safe-area-inset-top,0);flex-direction:column;display:flex;overflow:hidden}.chat-main{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.chat-welcome{text-align:center;flex-shrink:0;padding:20px 16px 12px}.chat-welcome__logo{object-fit:contain;margin:0 auto 20px;width:auto!important;max-width:min(220px,62vw)!important;height:auto!important;max-height:min(320px,38vh)!important}.chat-welcome__title{color:var(--color-text);letter-spacing:-.02em;margin:0 0 2px;font-size:1.25rem;font-weight:600;line-height:1.3}.chat-welcome__subtitle{color:var(--color-text-secondary);margin:0;font-size:.75rem;line-height:1.4}.chat-messages{width:100%;max-width:768px;min-height:0;padding:8px max(16px, env(safe-area-inset-right)) 8px max(16px, env(safe-area-inset-left));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:16px;margin:0 auto;scroll-padding-bottom:24px;display:flex;overflow-y:auto}.message{align-items:flex-start;gap:10px;display:flex}.message--user{flex-direction:row-reverse}.message__avatar{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:2px;display:flex;overflow:hidden}.message__bubble{max-width:min(85%,520px);line-height:1.65}.message--user .message__bubble{background:var(--color-user-bubble);border:1px solid var(--color-user-bubble-border);border-radius:18px;padding:10px 16px}.message--assistant .message__bubble{padding:2px 0}.message__content{color:var(--color-text);word-break:break-word;font-size:14px}.message__text{white-space:pre-wrap}.message__table-wrap{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;margin:10px 0 12px;overflow-x:auto}.message__table{border-collapse:collapse;width:100%;min-width:280px;font-size:13px}.message__table th{background:var(--paty-blue-50);color:var(--paty-blue-900);text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap;padding:10px 14px;font-weight:600}.message__table td{border-bottom:1px solid var(--color-border);vertical-align:top;padding:10px 14px;line-height:1.5}.message__table tbody tr:last-child td{border-bottom:none}.message__table tbody tr:nth-child(2n){background:var(--paty-silver-50)}.message__table tbody tr:hover{background:var(--color-primary-subtle)}.message__content strong{color:var(--paty-blue-900);font-weight:600}.message__content em{color:var(--color-text-secondary);font-style:italic}.message__content .message__highlight{color:var(--paty-blue-900);letter-spacing:.01em;font-size:1.18em;font-weight:700;line-height:1.4}.message__bubble--typing{background:var(--color-primary-subtle);border:1px solid var(--color-primary-light);border-radius:18px;align-items:center;gap:4px;padding:12px 16px;display:flex}.typing-dot{background:var(--color-primary);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite typing-bounce}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.quick-replies-wrap{padding-left:38px}.quick-replies__hint{color:var(--color-text-secondary);margin:0 0 8px;font-size:.75rem}.quick-replies{flex-wrap:wrap;gap:6px;display:flex}.quick-replies__chip{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;white-space:nowrap;touch-action:manipulation;border-radius:16px;min-height:40px;padding:8px 14px;font-size:13px;transition:background .15s,border-color .15s,color .15s}.quick-replies__chip:hover:not(:disabled){background:var(--color-primary-subtle);border-color:var(--paty-blue-400);color:var(--paty-blue-900)}.quick-replies__chip:disabled{opacity:.5;cursor:not-allowed}.chat-footer{padding:8px max(16px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:var(--color-surface);border-top:1px solid var(--color-border);flex-shrink:0}.chat-input{max-width:768px;margin:0 auto}.chat-input__wrapper{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-md);border-radius:20px;align-items:flex-end;gap:8px;padding:8px 10px 8px 16px;transition:border-color .15s,box-shadow .15s;display:flex}.chat-input__wrapper:focus-within{border-color:var(--paty-blue-400);box-shadow:var(--shadow-focus)}.chat-input__field{resize:none;color:var(--color-text);background:0 0;border:none;outline:none;flex:1;max-height:160px;font-family:inherit;font-size:16px;line-height:1.5;overflow-y:auto}.chat-input__field::placeholder{color:var(--color-text-muted)}.chat-input__send{background:var(--gradient-primary);width:44px;height:44px;color:var(--color-text-inverse);cursor:pointer;touch-action:manipulation;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,transform .15s;display:flex;box-shadow:0 2px 6px #1e56b147}.chat-input__send:hover:not(:disabled){opacity:.92;transform:scale(1.04)}.chat-input__send:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;transform:none}.student-card{border:1px solid var(--paty-blue-100);background:linear-gradient(180deg, var(--paty-blue-50) 0%, var(--color-surface) 100%);border-radius:16px;max-width:520px;margin:16px 0 8px;padding:16px 18px}.student-card--success{background:#f0fdf4;border-color:#86efac}.student-card__title{color:var(--paty-blue-900);margin:0 0 6px;font-size:1rem;font-weight:600}.student-card__text{color:var(--color-text-secondary);margin:0 0 12px;font-size:.85rem;line-height:1.5}.student-card__tabs{gap:6px;margin-bottom:12px;display:flex}.student-card__tab{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;color:var(--color-text-secondary);border-radius:10px;flex:1;padding:6px 10px;font-size:.8rem}.student-card__tab--active{border-color:var(--paty-blue-400);background:var(--color-primary-subtle);color:var(--paty-blue-900);font-weight:600}.student-card__form{flex-direction:column;gap:10px;display:flex}.student-card__field{color:var(--color-text-secondary);flex-direction:column;gap:4px;font-size:.8rem;display:flex}.student-card__field input{border:1px solid var(--color-border);border-radius:10px;padding:10px 12px;font-size:.9rem}.student-card__error{color:#dc2626;margin:0;font-size:.8rem}.student-card__submit{background:var(--gradient-primary);color:#fff;cursor:pointer;touch-action:manipulation;border:none;border-radius:12px;min-height:44px;padding:12px 14px;font-size:.95rem;font-weight:600}.student-card__submit:disabled{opacity:.6;cursor:not-allowed}.student-badge{color:var(--paty-blue-900);background:var(--paty-blue-50);border:1px solid var(--paty-blue-100);border-radius:10px;max-width:520px;margin:8px 0;padding:8px 12px;font-size:.8rem}.mission-banner{border:1px solid var(--paty-blue-200);background:linear-gradient(135deg, var(--paty-blue-50), #fff);border-radius:14px;max-width:520px;margin:12px 0;padding:14px 16px;box-shadow:0 4px 16px #0f4c8114}.mission-banner__eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--paty-blue-700);margin:0 0 4px;font-size:.72rem;font-weight:600}.mission-banner__title{color:var(--paty-blue-900);margin:0 0 4px;font-size:1rem;font-weight:700}.mission-banner__meta{color:var(--paty-blue-800);margin:0 0 8px;font-size:.82rem}.mission-banner__hint{color:var(--paty-gray-700,#374151);margin:0 0 12px;font-size:.85rem;line-height:1.45}.mission-banner__actions{flex-wrap:wrap;gap:8px;display:flex}.mission-banner__btn{cursor:pointer;touch-action:manipulation;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding:10px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.mission-banner__btn:disabled{opacity:.6;cursor:not-allowed}.mission-banner__btn--primary{background:var(--gradient-primary);color:#fff;border:none}.mission-banner__btn--ghost{color:var(--paty-blue-800);border-color:var(--paty-blue-200);background:#fff}.mission-banner__section{margin:10px 0}.mission-banner__section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--paty-blue-700);margin:0 0 4px;font-size:.75rem;font-weight:700}.mission-banner__section-body{color:var(--paty-blue-900);font-size:.85rem;line-height:1.45}.mission-banner__steps{color:var(--paty-blue-900);margin:0;padding-left:1.2rem;font-size:.85rem;line-height:1.5}.mission-banner__steps li+li{margin-top:6px}.message--mission-info .message__bubble{background:linear-gradient(135deg, var(--paty-blue-50), #f8fbff);border:1px solid var(--paty-blue-200);max-width:520px}.message--mission-info .message__content{color:var(--paty-blue-900);font-size:.88rem;line-height:1.5}@media (width<=640px){.chat-welcome{padding:10px 8px 6px}.chat-welcome__logo{margin-bottom:14px;width:auto!important;max-width:min(180px,58vw)!important;max-height:min(260px,34vh)!important}.chat-welcome__title{padding:0 4px;font-size:1.05rem}.chat-welcome__subtitle{padding:0 8px;font-size:.72rem}.chat-messages{gap:12px;padding:6px 12px 16px}.message{gap:8px}.message__avatar{border-radius:6px;width:24px;height:24px}.message__bubble{max-width:92%}.message--user .message__bubble{border-radius:16px;padding:10px 14px}.message__content{font-size:15px}.message__content .message__highlight{font-size:1.12em}.message__table-wrap{border-radius:10px;margin-left:-2px;margin-right:-2px}.message__table{min-width:220px;font-size:12px}.message__table th,.message__table td{padding:8px 10px}.quick-replies-wrap{width:100%;padding-left:0}.quick-replies__hint{font-size:.72rem;line-height:1.4}.quick-replies{flex-direction:column;gap:8px;width:100%}.quick-replies__chip{white-space:normal;text-align:left;border-radius:12px;width:100%;min-height:44px;padding:10px 14px;line-height:1.35}.chat-footer{padding:6px 12px max(12px, env(safe-area-inset-bottom))}.chat-input__wrapper{border-radius:18px;padding:6px 8px 6px 14px}.student-card,.student-badge,.mission-banner,.message--mission-info .message__bubble{width:100%;max-width:100%}.student-card{border-radius:14px;margin:10px 0 6px;padding:14px}.student-card__title{font-size:.95rem}.student-card__text{font-size:.82rem}.student-card__tab{min-height:44px;font-size:.82rem}.student-card__field input{min-height:44px;font-size:16px}.student-badge{padding:10px 12px;font-size:.78rem}.mission-banner{border-radius:12px;margin:8px 0;padding:12px 14px}.mission-banner__title{font-size:.95rem;line-height:1.35}.mission-banner__section-body,.mission-banner__steps{font-size:.82rem}.mission-banner__actions{flex-direction:column;gap:8px;margin-top:10px}.mission-banner__btn{text-align:center;justify-content:center;width:100%}.message--mission-info .message__content{font-size:.84rem}}@media (width<=380px){.chat-welcome__logo{max-width:min(160px,70vw)!important;max-height:min(220px,30vh)!important}.chat-welcome__title{font-size:1rem}.message__content{font-size:14px}}@media (hover:none) and (pointer:coarse){.quick-replies__chip:active:not(:disabled){background:var(--color-primary-subtle);border-color:var(--paty-blue-400)}.mission-banner__btn--primary:active:not(:disabled),.student-card__submit:active:not(:disabled),.chat-input__send:active:not(:disabled){opacity:.88;transform:scale(.98)}}:root{--landing-purple:#7c3aed;--landing-pink:#db2777;--landing-gradient:linear-gradient(135deg, var(--landing-purple) 0%, var(--landing-pink) 100%);--landing-dark:#0c0a12;--landing-dark-soft:#16121f}.landing{min-height:100vh;color:var(--paty-dark);background:#fff}.landing-container{width:min(1080px,100%);margin:0 auto;padding:0 20px}.landing-container--narrow{text-align:center;max-width:720px}.landing-hero{text-align:center;padding:56px 20px 64px;position:relative;overflow:hidden}.landing-hero__inner{z-index:1;max-width:720px;margin:0 auto;position:relative}.landing-hero__glow{pointer-events:none;background:radial-gradient(at 50% 0,#7c3aed2e,#0000 65%);height:70%;position:absolute;inset:-20% -10% auto}.landing-hero__logo{max-width:min(200px,55vw)!important;max-height:min(280px,36vh)!important;margin-bottom:20px!important}.landing-hero__eyebrow{letter-spacing:.12em;text-transform:uppercase;background:var(--landing-gradient);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 8px;font-size:.8rem;font-weight:700}.landing-hero__title{letter-spacing:-.03em;margin:0 0 16px;font-size:clamp(1.75rem,5vw,2.75rem);font-weight:800;line-height:1.15}.landing-hero__title span{background:var(--landing-gradient);color:#0000;-webkit-background-clip:text;background-clip:text}.landing-hero__subtitle{max-width:560px;color:var(--color-text-secondary);margin:0 auto 32px;font-size:1.05rem;line-height:1.65}.landing-hero__subtitle strong{color:var(--paty-dark)}.landing-cta{background:var(--landing-gradient);color:#fff;touch-action:manipulation;text-align:center;border-radius:18px;flex-direction:column;align-items:center;gap:6px;min-width:min(100%,340px);padding:20px 32px;font-size:1.15rem;font-weight:800;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 12px 40px #7c3aed59}.landing-cta:hover{transform:translateY(-2px);box-shadow:0 16px 48px #db277766}.landing-cta__hint{opacity:.9;font-size:.75rem;font-weight:500}.landing-cta--final{padding:22px 40px;font-size:1.2rem}.landing-hero__actions{flex-flow:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.landing-hero__actions .landing-cta{flex:0 auto;min-width:auto}.landing-hero__actions .landing-cta--hero{max-width:340px}.landing-hero__actions .landing-cta--student{align-self:center;min-width:auto;max-width:220px}.landing-cta--student{min-width:min(100%,280px);color:var(--landing-purple);box-shadow:none;background:#fff;border:2px solid #7c3aed59;padding:14px 28px;font-size:1rem}.landing-cta--student:hover{background:#faf8ff;box-shadow:0 8px 24px #7c3aed1f}.landing-section{padding:64px 0}.landing-section--contrast{background:var(--paty-silver-50)}.landing-section--dark{background:var(--landing-dark);color:#fff}.landing-section__eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--landing-purple);text-align:center;margin:0 0 8px;font-size:.78rem;font-weight:700}.landing-section__title{text-align:center;letter-spacing:-.02em;margin:0 0 32px;font-size:clamp(1.4rem,4vw,2rem);font-weight:800;line-height:1.25}.landing-section__title--light{color:#fff}.landing-section__lead{color:var(--color-text-secondary);margin:0 0 28px;font-size:1.05rem;line-height:1.65}.landing-section__lead--light{color:#ffffffc7}.landing-section__lead--center{text-align:center;max-width:640px;margin:-16px auto 36px}.landing-section--tracks{background:linear-gradient(#fff 0%,#faf8ff 100%)}.landing-tracks{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.landing-track{background:#fff;border:1px solid #7c3aed1f;border-radius:16px;padding:22px 18px;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 20px #7c3aed0f}.landing-track:hover{transform:translateY(-2px);box-shadow:0 8px 28px #7c3aed1f}.landing-track__icon{margin-bottom:10px;font-size:1.75rem;line-height:1;display:block}.landing-track__title{letter-spacing:-.02em;margin:0 0 8px;font-size:1.05rem;font-weight:800}.landing-track__text{color:var(--color-text-secondary);margin:0;font-size:.88rem;line-height:1.55}.landing-grid{gap:20px;display:grid}.landing-grid--2{grid-template-columns:repeat(2,1fr)}.landing-card{border:1px solid var(--color-border);background:#fff;border-radius:16px;padding:24px}.landing-card--muted h3{color:var(--paty-silver-500)}.landing-card--highlight{background:linear-gradient(#faf8ff 0%,#fff 100%);border-color:#7c3aed40;box-shadow:0 8px 32px #7c3aed14}.landing-card h3{margin:0 0 14px;font-size:1.1rem;font-weight:700}.landing-card--highlight h3{background:var(--landing-gradient);color:#0000;-webkit-background-clip:text;background-clip:text}.landing-card ul{color:var(--color-text-secondary);margin:0;padding-left:1.2rem;line-height:1.7}.landing-card li+li{margin-top:8px}.landing-steps{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.landing-step{border:1px solid var(--color-border);background:#fff;border-radius:16px;padding:24px 20px}.landing-step__num{background:var(--landing-gradient);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:12px;font-size:1rem;font-weight:800;display:inline-flex}.landing-step h3{margin:0 0 8px;font-size:1.05rem;font-weight:700}.landing-step p{color:var(--color-text-secondary);margin:0;font-size:.92rem;line-height:1.6}.landing-footer{padding:32px 20px max(32px, env(safe-area-inset-bottom));text-align:center;border-top:1px solid var(--color-border);background:#fff}.landing-footer__logo{margin:0 auto 12px;width:auto!important;height:32px!important}.landing-footer p{color:var(--color-text-muted);margin:0;font-size:.82rem}.diagnostico-page{height:100dvh;height:-webkit-fill-available;max-height:100dvh;overflow:hidden}@media (width<=768px){.landing-hero{padding:32px 16px 48px}.landing-hero__actions{flex-direction:column;align-items:center}.landing-hero__actions .landing-cta,.landing-hero__actions .landing-cta--student{width:100%;max-width:400px}.landing-section{padding:48px 0}.landing-grid--2,.landing-steps,.landing-tracks{grid-template-columns:1fr}.landing-cta{width:100%;max-width:400px;padding:18px 24px;font-size:1.05rem}}@media (width<=900px){.landing-tracks{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.landing-tracks{grid-template-columns:1fr}}@media (hover:none) and (pointer:coarse){.landing-cta:active{transform:scale(.98)}}.login-page{background:linear-gradient(#faf8ff 0%,#fff 50%);justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.login-card{border:1px solid var(--color-border);text-align:center;background:#fff;border-radius:20px;width:min(440px,100%);padding:32px 28px;box-shadow:0 16px 48px #7c3aed1a}.login-card__logo{max-width:min(160px,50vw)!important;max-height:200px!important;margin:0 auto 16px!important}.login-card__title{margin:0 0 8px;font-size:1.5rem;font-weight:800}.login-card__subtitle{color:var(--color-text-secondary);margin:0 0 24px;font-size:.9rem;line-height:1.55}.login-form{text-align:left;flex-direction:column;gap:14px;display:flex}.login-form__field{color:var(--color-text-secondary);flex-direction:column;gap:6px;font-size:.82rem;font-weight:600;display:flex}.login-form__field input{border:1px solid var(--color-border);border-radius:12px;padding:12px 14px;font-family:inherit;font-size:16px}.password-input{align-items:center;display:flex;position:relative}.password-input input{width:100%;padding-right:44px}.password-input__toggle{width:32px;height:32px;color:var(--color-text-secondary,#6b7280);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;right:10px}.password-input__toggle:hover:not(:disabled){color:var(--landing-purple,#7c3aed);background:#7c3aed14}.password-input__toggle:disabled{opacity:.5;cursor:not-allowed}.login-form__error{color:#dc2626;margin:0;font-size:.85rem}.login-form__submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#db2777);border:none;border-radius:14px;min-height:48px;margin-top:4px;padding:14px;font-size:1rem;font-weight:700}.login-form__submit:disabled{opacity:.6}.login-form__forgot{justify-content:flex-end;margin-top:-4px;display:flex}.login-form__forgot-link{color:var(--landing-purple,#7c3aed);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:.82rem;font-weight:600;text-decoration:underline}.login-form__forgot-link:hover{color:#6d28d9}.forgot-password__hint{color:var(--color-text-secondary);margin:0 0 12px;font-size:.88rem;line-height:1.5}.forgot-password__code-input{letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums;font-size:1.25rem!important}.login-card__back{color:var(--landing-purple,#7c3aed);margin-top:20px;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-block}
