@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800;900&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}html[data-fh-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--text:#b4bccf;--text-h:#eceef4;--bg:#0f1117;--border:#2a3142;--code-bg:#1a1f2c}#root{text-align:left;box-sizing:border-box;border:0;width:100%;max-width:none;min-height:100vh;margin:0;display:block}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--fh-bg:#f4f2ed;--fh-muted:#6b6a64;--fh-border:#e0ddd5;--fh-card:#fff;--fh-accent:#1a66cc;--fh-accent-2:#ebf2fb;--fh-danger:#b42318;--fh-sticky-top:24px;--fh-brand-blue:#1a66cc;--fh-brand-yellow:#ffcb08;--fh-yellow-soft-bg:#fff9e6;--fh-yellow-ink:#5c4500;--fh-yellow-track:#ffcb0838;--fh-yellow-gradient:linear-gradient(90deg, var(--fh-brand-yellow) 0%, var(--fh-acc-bd) 100%);--fh-brand-dark:#1a1a18;--fh-text:#1a1a18;--fh-text-strong:#08060df2;--fh-text-medium:#08060dd9;--fh-text-soft:#08060db8;--fh-text-subtle:#08060da6;--fh-text-faint:#08060d94;--fh-text-dim:#08060d73;--fh-success:#067647;--fh-chip-blue-bg:#ecf4ff;--fh-chip-blue-text:#1f4f99;--fh-chip-green-bg:#eefaf2;--fh-chip-green-text:#217245;--fh-pill-blue-bg:#eaf2ff;--fh-pill-blue-text:#1a66cc;--fh-surface-muted:#f7f9fc;--fh-surface-soft:#faf9f7;--fh-surface-warm:#faf8f3;--fh-surface-track:#e9edf4;--fh-register-hover-bg:#f7fbff;--fh-register-role-bg:#f8f7f4;--fh-verdict-ok-bg:#eaf2ff;--fh-verdict-ok-text:#143a73;--fh-verdict-fail-text:#5c1f1f;--fh-abs-date:#334155;--fh-option-text:#1a1a24;--fh-back-btn:#4f4e48;--fh-rep-pill-text:#5c4800;--fh-ghost-on-accent-hover:#0a2d62;--fh-acc-bg:#fffbea;--fh-acc-bd:#ffe066;--fh-sidebar-bg:#fffdf0;--fh-login-panel-bg:#fbfaf7;--fh-topbar-bg:#fff;--fh-input-bg:#fff;--fh-surface-hover:#f8fbff;--fh-logo-divider:#00000014;--fh-nav-section:#9a7800;--fh-tab-active-border:#a8c8f0;--fh-danger-surface:#fff5f5;--fh-chat-header-gradient:linear-gradient(180deg, #f8fbff 0%, #e9f1ff 100%);--fh-banner-inst-bg:#ffffffeb;--fred-blue:#1e4fd8;--fred-cream:#fcfbf8;--fh-surface:var(--fh-card);--fh-surface-2:var(--fh-surface-muted);--fh-brand-green:#217245;--fh-green-ink:#1f6b3a;--fh-motion-xs:.1s;--fh-motion-fast:.16s;--fh-motion-medium:.24s;--fh-motion-slow:.42s;--fh-ease-out:cubic-bezier(.22, 1, .36, 1);--fh-ease-soft:cubic-bezier(.25, .46, .45, .94)}@media (prefers-reduced-motion:reduce){:root{--fh-motion-xs:0s;--fh-motion-fast:0s;--fh-motion-medium:0s;--fh-motion-slow:0s}}@keyframes fh-route-dot{0%,80%,to{opacity:.35;transform:scale(.85)}40%{opacity:1;transform:scale(1)}}.fh-route-loading{min-height:42vh;color:var(--fh-muted);background:var(--fh-bg);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:24px;font-family:Plus Jakarta Sans,sans-serif;font-size:14px;font-weight:600;display:flex}.fh-route-loading-dots{align-items:center;gap:6px;display:inline-flex}.fh-route-loading-dot{background:var(--fh-accent);border-radius:999px;width:8px;height:8px;animation:1s ease-in-out infinite both fh-route-dot}.fh-route-loading-dot:nth-child(2){animation-delay:.15s}.fh-route-loading-dot:nth-child(3){animation-delay:.3s}@media (prefers-reduced-motion:reduce){.fh-route-loading-dot{opacity:.65;animation:none}}html[data-fh-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--fh-bg:#0f1117;--fh-muted:#b4bccf;--fh-border:#2a3142;--fh-card:#1a1f2c;--fh-accent:#5a93f5;--fh-accent-2:#232c42;--fh-danger:#f07167;--fh-brand-blue:#8ab8ff;--fh-brand-yellow:#ffcb08;--fh-yellow-soft-bg:#2a2612;--fh-yellow-ink:#f0dc8a;--fh-yellow-track:#ffcb0833;--fh-yellow-gradient:linear-gradient(90deg, var(--fh-brand-yellow) 0%, #8a7220 100%);--fh-brand-dark:#eceef4;--fh-text:#eceef4;--fh-text-strong:#eceef4f5;--fh-text-medium:#eceef4e0;--fh-text-soft:#eceef4c7;--fh-text-subtle:#eceef4b8;--fh-text-faint:#eceef49e;--fh-text-dim:#eceef485;--fh-success:#6ee7b7;--fh-chip-blue-bg:#5a93f52e;--fh-chip-blue-text:#c8ddff;--fh-chip-green-bg:#34d39924;--fh-chip-green-text:#a7f3d0;--fh-pill-blue-bg:#5a93f529;--fh-pill-blue-text:#9ec5ff;--fh-surface-muted:#252a3a;--fh-surface-soft:#1e2433;--fh-surface-warm:#1a1f2c;--fh-surface-track:#2a3144;--fh-register-hover-bg:#5a93f51f;--fh-register-role-bg:#151922;--fh-verdict-ok-bg:#5a93f524;--fh-verdict-ok-text:#c8ddff;--fh-verdict-fail-text:#ffb4b0;--fh-abs-date:#eceef4e0;--fh-option-text:#eceef4;--fh-back-btn:#b4bccf;--fh-rep-pill-text:#2a2210;--fh-ghost-on-accent-hover:#fff9e0;--fh-acc-bg:#242012;--fh-acc-bd:#5c4f1a;--fh-sidebar-bg:#141006;--fh-login-panel-bg:#15151c;--fh-topbar-bg:#1a1f2c;--fh-input-bg:#12151f;--fh-surface-hover:#242a3a;--fh-logo-divider:#ffffff1a;--fh-nav-section:#e8cf6a;--fh-tab-active-border:#4a6fa8;--fh-danger-surface:#2f2226;--fh-chat-header-gradient:linear-gradient(180deg, #1c2436 0%, #252d40 100%);--fh-banner-inst-bg:#161a26eb;--fred-blue:#5a93f5;--fred-cream:#12151f;--fh-surface:var(--fh-card);--fh-surface-2:var(--fh-surface-muted);--fh-brand-green:#34d399;--fh-green-ink:#a7f3d0}html[data-fh-theme=dark] .fh-dashboard-feed-col+.fh-dashboard-feed-col{border-left-color:#ffffff1a}html[data-fh-theme=dark] .fh-dashboard-feed-item,html[data-fh-theme=dark] .fh-dashboard-feed-row{border-bottom-color:#ffffff14}html[data-fh-theme=dark] .fh-dashboard-feed-name{color:#eceef4f2}html[data-fh-theme=dark] .fh-dashboard-feed-snippet{color:#eceef4c7}html[data-fh-theme=dark] .fh-dashboard-chip{color:#eceef4eb;border-color:var(--fh-border);background:#252a3a}html[data-fh-theme=dark] .fh-dashboard-chip.is-alert{color:#ffb4b0;background:#3a2428;border-color:#6b4048}html[data-fh-theme=dark] .fh-obsv-metric-card{background:var(--fh-card)}html[data-fh-theme=dark] .fh-obsv-alert-card{background:#222836}html[data-fh-theme=dark] .fh-dashboard-banner-inst-logo{border-color:#ffffff38}html[data-fh-theme=dark] .fh-dashboard-logo-sub{color:#eceef48c}html[data-fh-theme=dark] .fh-weekly-next-date{color:#eceef4b8}html[data-fh-theme=dark] .fh-discipline-progress-name{color:#eceef4f5}html[data-fh-theme=dark] .fh-discipline-progress-bar{background:#2a3144}html[data-fh-theme=dark] .fh-weekly-pill{color:#9ec5ff;background:#5a93f529;border-color:#8ab8ff59}html[data-fh-theme=dark] .fh-brand-tag{color:#eceef480}html[data-fh-theme=dark] .fh-dashboard-nav-item:hover{color:var(--fh-brand-dark);background:#ffcb081f}html[data-fh-theme=dark] .fh-messages-search input{background:var(--fh-input-bg);color:var(--fh-brand-dark);border-color:var(--fh-border)}html[data-fh-theme=dark] .fh-messages-item-title{color:#eceef4f5}html[data-fh-theme=dark] .fh-user-name{color:#eceef4f2}html[data-fh-theme=dark] .fh-user-role{color:#eceef4b8}html[data-fh-theme=dark] .fh-thread-teacher-name{color:#eceef4f2}html[data-fh-theme=dark] .fh-thread-teacher-discipline{color:#eceef4b8}html[data-fh-theme=dark] .fh-chat-author{color:#eceef4eb}html[data-fh-theme=dark] .fh-thread-question-compact{border-bottom-color:#ffffff1a}html[data-fh-theme=dark] .fh-thread-reply{border-top-color:#ffffff1f}html[data-fh-theme=dark] .fh-dashboard-search-kind.is-atividade,html[data-fh-theme=dark] .fh-dashboard-search-kind.is-aula{color:#c8ddff;background:#5a93f52e;border-color:#8ab8ff61}html[data-fh-theme=dark] .fh-dashboard-search-kind.is-aluno,html[data-fh-theme=dark] .fh-dashboard-search-kind.is-professor{color:#9ec5ff;background:#5a93f524;border-color:#8ab8ff52}html[data-fh-theme=dark] .fh-dashboard-search-kind.is-grupo,html[data-fh-theme=dark] .fh-dashboard-search-kind.is-mensagem{color:#a7f3d0;background:#34d39924;border-color:#4ade8059}html[data-fh-theme=dark] .fh-dashboard-chip.is-soon{color:var(--fh-yellow-ink);background:#3a3318;border-color:#ffcb0861}html[data-fh-theme=dark] .fh-dashboard-feed-badge-new{color:#bbf7d0;background:#1665346b;border-color:#4ade8066}html[data-fh-theme=dark] .fh-badge{color:#eceef4e0;border-color:var(--fh-border);background:#ffffff12}html[data-fh-theme=dark] .fh-badge-student{background:#ffffff0f}html[data-fh-theme=dark] .fh-register-photo-preview{background:#1e2433}html[data-fh-theme=dark] .fh-register-institution-create-box{background:#ffffff0a}html[data-fh-theme=dark] .fh-register-institution-item:hover,html[data-fh-theme=dark] .fh-register-institution-item.active{background:#5a93f51f;border-color:#8ab8ff73}html[data-fh-theme=dark] .fh-register-institution-selected-chip{color:#c8ddff;background:#5a93f538;border-color:#8ab8ff66}html[data-fh-theme=dark] .fh-register-back-btn{color:var(--fh-muted)}html[data-fh-theme=dark] .fh-register-role-toggle{background:#151922}html[data-fh-theme=dark] .fh-register-match.ok{color:#6ee7b7}html[data-fh-theme=dark] .fh-register-progress-track{background:#2a3144}html[data-fh-theme=dark] .fh-password-rule.ok{color:#6ee7b7}html[data-fh-theme=dark] .fh-abs-slot-date{color:#eceef4e0}html[data-fh-theme=dark] .fh-abs-dot.is-past-present{background:#252a38;border-color:#ffffff2e}html[data-fh-theme=dark] .fh-absence-visual-bar{background:#2a3144}html[data-fh-theme=dark] .fh-discipline-card-title{color:#eceef4f2}html[data-fh-theme=dark] .fh-absence-simulator-suggestion{color:#eceef4d1}html[data-fh-theme=dark] .fh-absence-simulator-result{border-color:var(--fh-border);background:#1a2234}html[data-fh-theme=dark] .fh-absence-simulator-verdict.is-ok{color:#c8ddff;background:#5a93f524;border-color:#8ab8ff59}html[data-fh-theme=dark] .fh-absence-simulator-verdict.is-failed{color:#ffb4b0;border-color:#6b4048}html[data-fh-theme=dark] .fh-deadline-alert-badge{color:#eceef4e6;border-color:var(--fh-border);background:#252a3a}html[data-fh-theme=dark] .fh-deadline-alert-badge.is-alert{color:#ffb4b0;background:#3a2428;border-color:#6b4048}html[data-fh-theme=dark] .fh-deadline-alert-badge.is-soon{color:var(--fh-yellow-ink);background:#3a3318;border-color:#ffcb0859}html[data-fh-theme=dark] .fh-weekly-alert.is-overdue{color:#ffb4b0;background:#3a2428;border-color:#6b4048}html[data-fh-theme=dark] .fh-groups-messages-box{background:#151922}html[data-fh-theme=dark] .fh-student-card-photo-wrap,html[data-fh-theme=dark] .fh-teacher-card-photo-wrap{background:linear-gradient(#1e2436 0%,#151a28 100%)}html[data-fh-theme=dark] .fh-student-rep-pill{color:#2a2210;background:#ffcb0885}html[data-fh-theme=dark] .fh-calendar-month-highlight{color:var(--fh-brand-blue);background:#5a93f529;border-color:#8ab8ff61}html[data-fh-theme=dark] .fh-calendar-day-head.is-today{background:#5a93f51f}html[data-fh-theme=dark] .fh-calendar-day-head.is-outside-month,html[data-fh-theme=dark] .fh-calendar-day-col.is-outside-month,html[data-fh-theme=dark] .fh-calendar-month-cell.is-outside-month{background:#0003}html[data-fh-theme=dark] .fh-calendar-month-cell.is-today{background:#5a93f51a}html[data-fh-theme=dark] .fh-calendar-absence-summary{background:#ffffff0a}html[data-fh-theme=dark] .fh-btn.fh-btn-icon-accent{color:var(--fh-brand-blue);background:#5a93f51f;border-color:#8ab8ff73}html[data-fh-theme=dark] .fh-btn.fh-btn-icon-accent:hover:not(:disabled){background:#5a93f533}html[data-fh-theme=dark] .fh-calendar-absence-chip,html[data-fh-theme=dark] .fh-calendar-absence-btn{color:var(--fh-brand-blue);background:var(--fh-card);border-color:#8ab8ff73}html[data-fh-theme=dark] .fh-calendar-event-absence-row{border-top-color:#8ab8ff47}html[data-fh-theme=dark] .fh-calendar-event.fh-event-type-class,html[data-fh-theme=dark] .fh-calendar-month-event.fh-event-type-class{border-left-color:var(--fh-accent);color:#c8ddff;background:#5a93f529}html[data-fh-theme=dark] .fh-calendar-event.fh-event-type-exam,html[data-fh-theme=dark] .fh-calendar-month-event.fh-event-type-exam{color:#ffb4b0;background:#f0716724;border-left-color:#f07167}html[data-fh-theme=dark] .fh-calendar-event.fh-event-type-assignment,html[data-fh-theme=dark] .fh-calendar-month-event.fh-event-type-assignment{color:#ddd6fe;background:#a78bfa29;border-left-color:#a78bfa}html[data-fh-theme=dark] .fh-calendar-event.fh-event-type-reading,html[data-fh-theme=dark] .fh-calendar-month-event.fh-event-type-reading{color:#99f6e4;background:#2dd4bf24;border-left-color:#2dd4bf}html[data-fh-theme=dark] .fh-calendar-event.fh-event-type-notice,html[data-fh-theme=dark] .fh-calendar-month-event.fh-event-type-notice{border-left-color:var(--fh-brand-yellow);color:var(--fh-yellow-ink);background:#ffcb081f}html[data-fh-theme=dark] .fh-calendar-event.fh-event-type-group-deadline,html[data-fh-theme=dark] .fh-calendar-month-event.fh-event-type-group-deadline{color:#a7f3d0;background:#34d39924;border-left-color:#34d399}html[data-fh-theme=dark] .fh-calendar-event.fh-event-type-meeting,html[data-fh-theme=dark] .fh-calendar-month-event.fh-event-type-meeting{color:#bae6fd;background:#38bdf824;border-left-color:#38bdf8}html[data-fh-theme=dark] .fh-calendar-event.fh-event-type-tcc-deadline,html[data-fh-theme=dark] .fh-calendar-month-event.fh-event-type-tcc-deadline{color:#fbcfe8;background:#f472b624;border-left-color:#f472b6}html[data-fh-theme=dark] .fh-calendar-event-meta{opacity:.95}html[data-fh-theme=dark] .fh-obsv-alert-card{color:#eceef4eb}html[data-fh-theme=dark] .fh-obsv-alert-title{color:#eceef4f5}*,:before,:after{box-sizing:border-box}body{background:var(--fh-bg);color:var(--fh-text);margin:0;font-family:Plus Jakarta Sans,sans-serif}.fh-theme-toggle{border:1px solid var(--fh-border);background:var(--fh-card);width:38px;height:38px;color:var(--fh-accent);cursor:pointer;appearance:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.fh-theme-toggle svg{display:block}.fh-theme-toggle:hover{background:var(--fh-surface-hover)}.fh-theme-toggle:focus-visible{outline:2px solid var(--fh-accent);outline-offset:2px}.fh-theme-toggle--login{z-index:6;position:absolute;top:16px;right:16px}@media (width<=980px){.fh-theme-toggle--login{top:10px;right:10px}}.fh-shell{text-align:left;max-width:1800px;margin:0 auto;padding:24px}.fh-shell-wide{max-width:1900px}.fh-login-shell{grid-template-columns:minmax(560px,1fr) minmax(520px,620px);min-height:100vh;display:grid;position:relative}.fh-login-visual{border-right:1px solid var(--fh-border);background:radial-gradient(circle at 16% 20%, #1a66cc1a 0, #1a66cc00 46%), radial-gradient(circle at 70% 70%, #ffcb081f 0, #ffcb0800 48%), var(--fh-bg);justify-content:center;align-items:center;padding:40px;display:flex}.fh-login-panel{background:var(--fh-login-panel-bg);justify-content:center;align-items:center;padding:56px 48px;display:flex}.fh-login-visual-content{width:100%;max-width:560px}.fh-login-visual h2{letter-spacing:-.05em;margin:24px 0 0;font-size:42px;font-weight:500;line-height:1.05}.fh-login-visual .fh-brand-fred{font-size:120px}.fh-login-visual .fh-brand-hub{font-size:104px}.fh-login-visual .fh-brand-tag{letter-spacing:.03em;margin-top:10px;font-size:20px}.fh-login-visual p{color:var(--fh-muted);max-width:440px;margin:14px 0 0;font-size:16px;line-height:1.55}.fh-login-form{max-width:460px;box-shadow:none;background:0 0;border:0;border-radius:0;gap:12px;padding:0;display:grid}.fh-password-rules{gap:4px;margin-top:4px;display:grid}.fh-password-rule{font-size:12px}.fh-password-rule.ok{color:var(--fh-success)}.fh-password-rule.bad{color:var(--fh-muted)}.fh-register-intro{color:var(--fh-muted);margin:-2px 0 14px;font-size:13px;line-height:1.45}.fh-register-progress-wrap{gap:6px;max-width:460px;margin-bottom:10px;padding:0 2px;display:grid}.fh-register-progress-meta{color:var(--fh-muted);justify-content:space-between;align-items:center;font-size:12px;font-weight:600;display:flex}.fh-register-progress-track{background:var(--fh-surface-track);border-radius:999px;width:100%;height:8px;overflow:hidden}.fh-register-progress-fill{background:linear-gradient(90deg,#1a66cc 0%,#5a9cff 100%);border-radius:999px;height:100%;transition:width .2s}.fh-register-section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--fh-muted);margin-top:6px;font-family:IBM Plex Mono,monospace;font-size:11px}.fh-register-label{gap:6px;display:grid}.fh-register-password-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.fh-password-toggle{flex-shrink:0;justify-content:center;align-items:center;min-width:40px;padding:8px;display:inline-flex}.fh-password-toggle svg{display:block}.fh-register-photo-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.fh-register-photo-preview{border:1px solid var(--fh-border);width:56px;height:56px;color:var(--fh-accent);background:#f4f6fa;border-radius:999px;justify-content:center;align-items:center;font-weight:800;display:inline-flex;overflow:hidden}.fh-register-photo-preview img{object-fit:cover;width:100%;height:100%;display:block}.fh-register-institution-create-box{border:1px dashed var(--fh-border);background:#fcfbf7;border-radius:12px;gap:8px;padding:10px;display:grid}.fh-register-institution-search-wrap{position:relative}.fh-register-institution-dropdown{z-index:25;border:1px solid var(--fh-border);background:var(--fh-card);border-radius:12px;gap:4px;max-height:280px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 12px 26px #0a0c1024}.fh-register-institution-empty{color:var(--fh-muted);padding:8px 10px;font-size:12px}.fh-register-institution-item{text-align:left;background:var(--fh-card);cursor:pointer;border:1px solid #0000;border-radius:8px;gap:2px;padding:8px 9px;display:grid}.fh-register-institution-item:hover,.fh-register-institution-item.active{border-color:color-mix(in srgb, var(--fh-accent) 35%, var(--fh-border));background:var(--fh-register-hover-bg)}.fh-register-institution-item-title{color:var(--fh-text);font-size:12px;font-weight:700}.fh-register-institution-item-sub{color:var(--fh-muted);font-size:11px}.fh-register-institution-selected-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.fh-register-institution-selected-chip{color:var(--fh-chip-blue-text);background:var(--fh-chip-blue-bg);border:1px solid color-mix(in srgb, var(--fh-accent) 35%, var(--fh-border));white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;max-width:320px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex;overflow:hidden}.fh-register-submit-btn{margin-top:4px;padding-top:11px;padding-bottom:11px;font-weight:800}.fh-register-back-btn{color:var(--fh-back-btn);border-color:color-mix(in srgb, var(--fh-border) 88%, #fff)}.fh-register-role-toggle{border:1px solid var(--fh-border);background:var(--fh-register-role-bg);border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.fh-register-role-btn{color:var(--fh-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:10px 8px;font-weight:700}.fh-register-role-btn.active{background:var(--fh-card);border-color:var(--fh-tab-active-border);color:var(--fh-accent)}.fh-register-match{font-size:12px}.fh-register-match.ok{color:var(--fh-success)}.fh-register-match.bad{color:var(--fh-muted)}.fh-institution-logo-box{border:1px solid var(--fh-border);background:var(--fh-card);width:144px;min-width:144px;height:72px;color:var(--fh-accent);border-radius:10px;justify-content:center;align-items:center;padding:6px 8px;font-weight:800;display:flex}.fh-login-box{width:100%;max-width:480px}.fh-login-panel .fh-title,.fh-login-box>h1.fh-title{color:var(--fh-text)}html[data-fh-theme=dark] .fh-login-panel .fh-btn-primary{color:#c8ddff;background:#5a93f533;border-color:#8ab8ff73}.fh-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.fh-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.fh-title{letter-spacing:-.03em;color:var(--fh-text);margin:0;font-size:26px}.fh-header-left{align-items:center;gap:12px;display:flex}.fh-header-subtitle{color:var(--fh-muted);letter-spacing:.04em;font-family:IBM Plex Mono,monospace;font-size:12px}.fh-brand{flex-direction:column;gap:4px;line-height:1;display:inline-flex}.fh-brand-wordmark{align-items:baseline;gap:4px;display:inline-flex}.fh-brand-fred{color:var(--fh-brand-blue);letter-spacing:-1px;font-size:34px;font-weight:900}.fh-brand-hub{color:var(--fh-brand-yellow);letter-spacing:-1px;font-size:30px;font-weight:800}.fh-brand-tag{color:var(--fh-text-dim);margin-top:2px;font-size:10px}.fh-brand-compact{gap:2px}.fh-brand-compact .fh-brand-fred{font-size:28px}.fh-brand-compact .fh-brand-hub{font-size:24px}.fh-brand-compact .fh-brand-tag{display:none}.fh-btn{border:1px solid var(--fh-border);background:var(--fh-card);color:var(--fh-text);cursor:pointer;transition:box-shadow var(--fh-motion-medium) var(--fh-ease-soft), border-color var(--fh-motion-medium) var(--fh-ease-soft), background-color var(--fh-motion-fast) var(--fh-ease-soft);border-radius:10px;padding:10px 14px;font-family:Plus Jakarta Sans,sans-serif;font-weight:600}.fh-btn:hover{border-color:color-mix(in srgb, var(--fh-brand-yellow) 48%, #fff);background:var(--fh-yellow-soft-bg);box-shadow:0 6px 16px #ffcb0833}.fh-btn:focus-visible{box-shadow:0 6px 16px #ffcb082e, 0 0 0 3px color-mix(in srgb, var(--fh-accent) 38%, transparent);outline:none}.fh-btn-primary{background:var(--fh-accent-2);border-color:var(--fh-tab-active-border);color:var(--fh-accent)}.fh-btn-subtle{border-radius:8px;padding:6px 10px;font-size:12px}.fh-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.fh-btn-danger,.fh-btn-danger-outline{border-color:color-mix(in srgb, #c0392b 55%, var(--fh-border));color:#c0392b}.fh-btn-danger{color:#fff;background:#c0392b}.fh-btn-danger-outline{background:color-mix(in srgb, #c0392b 6%, var(--fh-card))}.fh-btn-danger:hover,.fh-btn-danger-outline:hover{background:color-mix(in srgb, #c0392b 12%, var(--fh-card));border-color:#c0392b;box-shadow:0 6px 16px #c0392b29}.fh-btn-danger:hover{color:#fff;background:#a93226}.fh-login-legal,.fh-profile-legal{text-align:center;color:var(--fh-muted);margin:12px 0 0;font-size:13px}.fh-login-legal a,.fh-profile-legal a{color:var(--fh-accent);text-underline-offset:2px;font-weight:600;text-decoration:underline}.fh-delete-account-card{border-color:color-mix(in srgb, #c0392b 35%, var(--fh-border));margin-top:16px}.fh-delete-account-form{gap:12px;margin-top:12px;display:grid}.fh-delete-account-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.fh-privacy-page{box-sizing:border-box;max-width:720px;min-height:100vh;color:var(--fh-text);margin:0 auto;padding:32px 20px 40px}.fh-privacy-page--native{padding-top:calc(16px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.fh-privacy-head h1{margin:16px 0 8px;font-size:28px}.fh-privacy-body{gap:20px;margin-top:24px;line-height:1.55;display:grid}.fh-privacy-body h2{margin:0 0 8px;font-size:18px}.fh-privacy-body ul{margin:8px 0 0;padding-left:20px}.fh-privacy-foot{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.fh-card{border:1px solid var(--fh-border);background:var(--fh-card);transition:box-shadow var(--fh-motion-medium) var(--fh-ease-soft), border-color var(--fh-motion-fast) var(--fh-ease-soft);border-radius:14px;padding:16px}.fh-field{gap:8px;display:grid}.fh-label{color:var(--fh-text);font-weight:600}.fh-input,.fh-textarea{border:1px solid var(--fh-border);background:var(--fh-input-bg);width:100%;max-width:100%;color:var(--fh-text);transition:border-color var(--fh-motion-fast) var(--fh-ease-soft), box-shadow var(--fh-motion-fast) var(--fh-ease-soft);border-radius:12px;outline:none;padding:12px;font-size:16px;display:block}.fh-input:focus-visible,.fh-textarea:focus-visible{border-color:var(--fh-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--fh-accent) 22%, transparent)}.fh-textarea{resize:vertical;min-height:90px}.fh-row{align-items:center;gap:10px;display:flex}.fh-error{color:var(--fh-danger);margin-top:12px}.fh-tabs{border:1px solid var(--fh-border);background:var(--fh-card);border-radius:12px;gap:8px;padding:6px;display:flex}.fh-tab{color:var(--fh-muted);transition:background-color var(--fh-motion-fast) var(--fh-ease-soft), color var(--fh-motion-fast) var(--fh-ease-soft), border-color var(--fh-motion-fast) var(--fh-ease-soft);border-radius:10px;flex:none;padding:10px 12px;font-weight:500;text-decoration:none}.fh-tab.active{background:var(--fh-accent-2);border:1px solid var(--fh-tab-active-border);color:var(--fh-accent)}.fh-scroll{border:1px solid var(--fh-border);background:var(--fh-card);border-radius:14px;min-height:360px;padding:12px;overflow:auto}.fh-chat-bubble{border:1px solid var(--fh-border);background:var(--fh-card);vertical-align:top;border-radius:12px;width:auto;max-width:min(62%,460px);margin-bottom:4px;padding:6px 8px;display:inline-block;height:auto!important;min-height:0!important}.fh-chat-bubble-text{white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.28}.fh-chat-bubble-me{border-color:var(--fh-tab-active-border);background:var(--fh-accent);color:#fff;border-top-right-radius:6px}.fh-chat-bubble-me .fh-meta,.fh-chat-bubble-me .fh-chat-author{color:#ffffffd1}.fh-chat-bubble-wrap{align-items:flex-end;gap:6px;max-width:min(68%,480px);display:flex}.fh-msg-row.me .fh-chat-bubble-wrap{flex-direction:row-reverse}.fh-chat-reply-action{border:1px solid var(--fh-border);background:var(--fh-card);width:28px;height:28px;color:var(--fh-muted);cursor:pointer;opacity:0;border-radius:999px;flex:none;font-size:14px;line-height:1;transition:opacity .12s,color .12s,border-color .12s}.fh-chat-bubble-wrap:hover .fh-chat-reply-action,.fh-chat-reply-action:focus-visible{opacity:1}.fh-chat-reply-action:hover{color:var(--fh-accent);border-color:color-mix(in srgb, var(--fh-accent) 45%, var(--fh-border))}.fh-chat-reply-quote{border-left:3px solid var(--fh-accent);background:color-mix(in srgb, var(--fh-accent) 8%, transparent);border-radius:6px;margin-bottom:6px;padding:4px 8px}.fh-chat-reply-quote.is-mine{background:#ffffff1f;border-left-color:#ffffffd9}.fh-chat-reply-quote-author{color:var(--fh-accent);margin-bottom:2px;font-size:11px;font-weight:700}.fh-chat-reply-quote.is-mine .fh-chat-reply-quote-author{color:#ffffffeb}.fh-chat-reply-quote-text{color:var(--fh-muted);white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.3}.fh-chat-reply-quote.is-mine .fh-chat-reply-quote-text{color:#ffffffd1}.fh-chat-replying-bar{border-left:3px solid var(--fh-accent);background:var(--fh-surface-muted);border-radius:8px;align-items:stretch;gap:8px;margin-bottom:8px;padding:8px 10px;display:flex}.fh-mob-conversation-composer .fh-chat-replying-bar{margin:0 0 8px}.fh-chat-replying-bar-body{flex:1;min-width:0}.fh-chat-replying-bar-label{color:var(--fh-accent);font-size:12px;font-weight:700}.fh-chat-replying-bar-snippet{color:var(--fh-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.fh-chat-replying-bar-cancel{width:28px;height:28px;color:var(--fh-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:none;font-size:20px;line-height:1}.fh-chat-replying-bar-cancel:hover{color:var(--fh-text);background:color-mix(in srgb, var(--fh-text) 8%, transparent)}.fh-chat-composer-form{border-top:1px solid var(--fh-border);background:var(--fh-card);padding:8px 8px 0}.fh-chat-composer-form .fh-chat-replying-bar{margin:0 0 8px}.fh-chat-composer-form .fh-chat-composer-row{border-top:none;padding-top:0}.fh-colab-intro{max-width:52ch;margin-top:8px;margin-bottom:0}.fh-colab-filters{grid-template-columns:1.4fr 1fr auto;gap:8px;margin-bottom:12px;display:grid}.fh-colab-composer-toggle-row{margin-bottom:12px}.fh-colab-composer{border:1px solid var(--fh-border);background:var(--fh-surface-muted);border-radius:12px;gap:10px;margin-bottom:16px;padding:12px;display:grid}.fh-colab-composer-row{grid-template-columns:.9fr 1.4fr;gap:8px;display:grid}.fh-colab-composer-link-row{grid-template-columns:1.2fr 1fr auto auto;align-items:center;gap:8px;margin-top:6px;display:grid}.fh-colab-link-video-flag{white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:flex}.fh-colab-pending-list{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.fh-colab-pending-list li{justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.fh-colab-pending-images{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.fh-colab-pending-image{gap:4px;max-width:120px;display:grid}.fh-colab-pending-image img{object-fit:cover;border:1px solid var(--fh-border);border-radius:8px;width:100%;height:80px}.fh-colab-composer-actions{flex-wrap:wrap;gap:8px;display:flex}.fh-colab-feed{gap:12px;display:grid}.fh-colab-card.fh-progress-card{border-radius:18px}.fh-colab-card-head{align-items:center}.fh-colab-card-head .fh-progress-card-title{flex:1;min-width:0;margin:0}.fh-colab-card-head-tools{flex-shrink:0;align-items:center;gap:8px;display:flex}.fh-progress-card-head .fh-colab-theme-badge{color:var(--fh-brand-yellow);background:#ffffff24;border:1px solid #ffffff38;margin-bottom:0}.fh-colab-theme-badge.theme-custom{background:color-mix(in srgb, var(--fh-brand-yellow) 22%, var(--fh-card));color:var(--fh-yellow-ink)}.fh-colab-theme-badge{background:var(--fh-accent-soft,color-mix(in srgb, var(--fh-accent) 14%, var(--fh-card)));color:var(--fh-accent);border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-block}.fh-colab-card-author{font-size:14px;font-weight:600}.fh-colab-card-body{white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.45}.fh-colab-media{gap:10px;margin-bottom:12px;display:grid}.fh-colab-attachment-links-after{margin-top:10px}.fh-colab-author-footer{border-top:1px solid var(--fh-border);flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;padding-top:12px;display:flex}.fh-colab-author-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.fh-colab-author-action-btn{min-height:32px;padding:4px 10px;font-size:.82rem}.fh-colab-author-action-btn--danger{color:var(--fh-danger,#c0392b)}.fh-colab-edit-title{width:100%;font-size:inherit;font-weight:inherit}.fh-colab-edit-body{resize:vertical;width:100%;min-height:120px;line-height:1.45}.fh-colab-author-avatar{object-fit:cover;border:2px solid var(--fh-border);border-radius:50%;flex-shrink:0;width:38px;height:38px}.fh-colab-author-avatar-fallback{background:var(--fh-accent);color:var(--fh-brand-yellow);border:none;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:inline-flex}.fh-colab-author-meta{min-width:0}.fh-colab-attachments{gap:10px;margin-top:12px;display:grid}.fh-colab-attachment-image img{border:1px solid var(--fh-border);object-fit:cover;border-radius:10px;max-width:100%;max-height:280px}.fh-colab-attachment-links{flex-wrap:wrap;gap:8px;display:flex}.fh-colab-attachment-link{border:1px solid var(--fh-border);background:var(--fh-card);color:var(--fh-accent);border-radius:999px;align-items:center;padding:6px 12px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.fh-colab-attachment-link.is-video{border-color:color-mix(in srgb, var(--fh-brand-yellow) 55%, var(--fh-border));color:var(--fh-yellow-ink,#8a6d00)}.fh-mob-colab-wrap{padding:0 0 16px}.fh-colab-engagement{border-top:1px solid var(--fh-border);margin-top:12px;padding-top:12px}.fh-colab-engagement-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fh-colab-engagement-btn{border:1px solid var(--fh-border);background:var(--fh-surface-2,var(--fh-surface));color:var(--fh-text);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:.85rem}.fh-colab-engagement-btn--icon{width:40px;height:40px;color:var(--fh-muted);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.fh-colab-engagement-btn--icon svg{display:block}.fh-colab-engagement-count{background:var(--fh-brand-blue,var(--fred-blue));color:#fff;text-align:center;pointer-events:none;border-radius:999px;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:700;line-height:17px;position:absolute;top:-5px;right:-5px}.fh-colab-engagement-btn.is-active{border-color:color-mix(in srgb, var(--fh-brand-green) 55%, var(--fh-border));color:var(--fh-green-ink,#1f6b3a);background:color-mix(in srgb, var(--fh-brand-green) 12%, var(--fh-surface))}.fh-colab-engagement-btn--icon.is-active{color:var(--fh-green-ink,#1f6b3a)}.fh-colab-engagement-btn-muted{opacity:.85}.fh-colab-engagement-btn-alert{border-color:color-mix(in srgb, var(--fh-danger,#c0392b) 45%, var(--fh-border));color:var(--fh-danger,#c0392b)}.fh-colab-engagement-btn-alert.fh-colab-engagement-btn--icon.is-active{background:color-mix(in srgb, var(--fh-danger,#c0392b) 10%, var(--fh-surface))}.fh-colab-engagement-error{margin-top:8px}.fh-colab-comments{margin-top:12px}.fh-colab-comments-list{flex-direction:column;gap:10px;margin:0 0 12px;padding:0;list-style:none;display:flex}.fh-colab-comment{background:var(--fh-surface-2,var(--fh-surface));border:1px solid var(--fh-border);border-radius:10px;padding:10px 12px}.fh-colab-comment-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.fh-colab-comment-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.fh-colab-comment-helpful{min-height:28px;padding:2px 6px}.fh-colab-comment-delete{color:var(--fh-muted);cursor:pointer;background:0 0;border:none;font-size:.8rem}.fh-colab-comment-edit{color:var(--fh-brand-blue);cursor:pointer;background:0 0;border:none;font-size:.8rem}.fh-colab-comment-input{resize:vertical;min-height:2.75rem}.fh-colab-comment-edit-form{gap:8px;margin-top:6px;display:grid}.fh-colab-comment-edit-input{resize:vertical;min-height:2.5rem}.fh-colab-comment-edit-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.fh-colab-comment-body{white-space:pre-wrap;word-break:break-word;font-size:.92rem;line-height:1.45}.fh-colab-comment-form{grid-template-columns:1fr auto;align-items:end;gap:8px;display:grid}.fh-colab-reports-panel{border:1px dashed color-mix(in srgb, var(--fh-danger,#c0392b) 35%, var(--fh-border));background:color-mix(in srgb, var(--fh-danger,#c0392b) 6%, var(--fh-surface));border-radius:10px;margin-top:10px;padding:10px 12px}.fh-colab-reports-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}@media (width<=980px){.fh-colab-comment-form,.fh-colab-filters,.fh-colab-composer-row,.fh-colab-composer-link-row{grid-template-columns:1fr}}.fh-msg-row{align-items:flex-start;margin-bottom:2px;display:flex}.fh-msg-row.them{justify-content:flex-start}.fh-msg-row.me{justify-content:flex-end}.fh-msg-row.has-avatar{gap:10px}.fh-msg-avatar{border-radius:999px;flex:0 0 36px;width:36px;height:36px;margin-top:2px;overflow:hidden}.fh-msg-avatar .fh-user-avatar{width:100%;height:100%;font-size:11px}.fh-msg-row.group-start{margin-top:10px}.fh-msg-row.group-middle,.fh-msg-row.group-end{margin-top:2px}.fh-msg-row.them.group-start .fh-chat-bubble,.fh-msg-row.them.group-middle .fh-chat-bubble{border-bottom-left-radius:7px}.fh-msg-row.them.group-middle .fh-chat-bubble,.fh-msg-row.them.group-end .fh-chat-bubble{border-top-left-radius:7px}.fh-msg-row.me.group-start .fh-chat-bubble,.fh-msg-row.me.group-middle .fh-chat-bubble{border-bottom-right-radius:7px}.fh-msg-row.me.group-middle .fh-chat-bubble,.fh-msg-row.me.group-end .fh-chat-bubble{border-top-right-radius:7px}.fh-chat-bubble.has-tail-left{position:relative}.fh-chat-bubble.has-tail-left:before{content:"";background:var(--fh-card);border-left:1px solid var(--fh-border);border-bottom:1px solid var(--fh-border);border-bottom-left-radius:2px;width:10px;height:10px;position:absolute;top:14px;left:-6px;transform:rotate(45deg)}.fh-meta{color:var(--fh-muted);margin-bottom:6px;font-size:13px}.fh-user-chip{border:1px solid var(--fh-border);background:var(--fh-card);border-radius:12px;align-items:center;gap:10px;padding:6px 10px;display:inline-flex}.fh-user-avatar{border:1px solid var(--fh-acc-bd);background:var(--fh-acc-bg);width:34px;height:34px;color:var(--fh-accent);border-radius:999px;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.fh-user-name{color:var(--fh-text-strong);font-size:13px;font-weight:700;line-height:1.1}.fh-user-role{color:var(--fh-text-subtle);margin-top:2px;font-size:12px;line-height:1.1}.fh-badge{border:1px solid var(--fh-border);color:var(--fh-text-soft);background:#e5e4e72e;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.fh-badge-professor{border-color:var(--fh-tab-active-border);background:var(--fh-accent-2);color:var(--fh-accent)}.fh-badge-student{background:#e5e4e72e}.fh-thread-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.fh-thread-content{margin-top:8px;font-size:16px;line-height:1.35}.fh-thread-reply{border-top:1px dashed #08060d24;margin-top:14px;padding-top:12px}.fh-thread-teacher-line{flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin-top:4px;display:flex}.fh-thread-teacher-name{color:var(--fh-text-strong);font-size:15px;font-weight:800}.fh-thread-teacher-discipline{color:var(--fh-text-subtle);font-size:13px;font-weight:600}.fh-thread-question{border:1px solid var(--fh-border);background:var(--fh-card);border-radius:14px;padding:14px}.fh-hub-grid{grid-template-columns:minmax(320px,430px) minmax(420px,1fr);align-items:start;gap:14px;margin-top:20px;display:grid}.fh-page-grid{grid-template-columns:minmax(320px,420px) minmax(560px,1fr);align-items:start;gap:14px;margin-top:14px;display:grid}.fh-side-col{top:var(--fh-sticky-top);align-self:start;gap:12px;display:grid;position:sticky}.fh-chat-author{color:var(--fh-text-strong);font-weight:700}.fh-chat-mention{color:var(--fh-chip-blue-text);background:var(--fh-chip-blue-bg);border-radius:6px;padding:0 4px;font-weight:700;display:inline}.fh-chat-mention.is-self{color:var(--fh-yellow-ink);background:var(--fh-yellow-soft-bg)}.fh-mention-composer{flex:auto;min-width:0;position:relative}.fh-mention-composer-display,.fh-mention-composer-placeholder{white-space:pre-wrap;word-break:break-word;pointer-events:none;color:var(--fh-text);font-size:16px;line-height:inherit;font:inherit;border:1px solid #0000;border-radius:12px;padding:12px;position:absolute;inset:0;overflow:hidden}.fh-mention-composer-placeholder{color:var(--fh-text-soft);opacity:.75}.fh-mention-composer-input{z-index:1;width:100%;caret-color:var(--fh-text);position:relative;color:#0000!important;background:0 0!important}.fh-mention-composer-input::placeholder{color:#0000}.fh-mention-composer .fh-input,.fh-mention-composer .fh-mob-conversation-input{width:100%}.fh-mention-menu{z-index:40;border:1px solid var(--fh-border);background:var(--fh-card);border-radius:12px;max-height:min(240px,42vh);margin:0;padding:6px;list-style:none;position:absolute;bottom:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 12px 28px #00000024}.fh-mention-menu-item{text-align:left;cursor:pointer;width:100%;color:var(--fh-text);background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.fh-mention-menu-item:hover,.fh-mention-menu-item.is-active{background:var(--fh-yellow-soft-bg)}.fh-mention-menu-name{font-size:.92rem;font-weight:700}.fh-mention-menu-meta{color:var(--fh-text-soft);text-transform:capitalize;font-size:.75rem}.fh-mob-conversation-composer .fh-mention-composer{flex:auto;min-width:0}.fh-mob-conversation-composer .fh-mention-composer-display,.fh-mob-conversation-composer .fh-mention-composer-placeholder{border-radius:22px;padding:10px 14px;font-size:16px}.fh-mention-composer--multiline .fh-mention-composer-display,.fh-mention-composer--multiline .fh-mention-composer-placeholder{min-height:70px;padding:12px}.fh-chat-composer-row .fh-mention-composer,.fh-messenger-composer .fh-mention-composer{flex:12rem;min-width:0}.fh-general-layout{grid-template-columns:minmax(280px,320px) minmax(0,1fr);align-items:start;gap:0;margin-top:14px;display:grid}.fh-messages-nav{border:0;border-right:1px solid var(--fh-border);background:0 0;border-radius:0;padding:0;overflow:hidden}.fh-messages-nav-head{border-bottom:1px solid var(--fh-border);justify-content:space-between;align-items:center;padding:14px 14px 12px;display:flex}.fh-messages-nav-title{color:var(--fh-brand-blue);font-size:16px;font-weight:800}.fh-messages-nav-sub{color:var(--fh-muted);margin-top:4px;font-size:12px;font-weight:600}.fh-messages-nav-plus{background:var(--fh-brand-yellow);cursor:pointer;border:0;border-radius:10px;width:34px;height:34px;font-size:22px;font-weight:700}.fh-messages-search{border-bottom:1px solid var(--fh-border);padding:12px 14px}.fh-messages-search input{border:1px solid var(--fh-border);background:#f0eee9;border-radius:10px;width:100%;padding:10px 12px}.fh-messages-tabs{border-bottom:1px solid var(--fh-border);flex-wrap:wrap;gap:4px;padding:10px;display:flex}.fh-messages-tab{text-align:left;color:var(--fh-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:10px 12px;font-weight:700}.fh-messages-tab:hover{background:var(--fh-yellow-soft-bg);border-color:color-mix(in srgb, var(--fh-brand-yellow) 42%, #fff)}.fh-messages-tab.active{color:var(--fh-brand-blue);border-color:var(--fh-tab-active-border);background:var(--fh-accent-2)}.fh-messages-list{gap:6px;max-height:420px;padding:8px 10px 10px;display:grid;overflow:auto}.fh-messages-item{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:10px;position:relative}.fh-messages-item:hover{background:var(--fh-yellow-soft-bg)}.fh-messages-item.active{border-color:var(--fh-tab-active-border);background:var(--fh-accent-2)}.fh-messages-item-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.fh-messages-item-title{color:var(--fh-text-strong);font-weight:800}.fh-messages-item-meta{color:var(--fh-muted);font-size:12px}.fh-messages-item-sub{color:var(--fh-muted);margin-top:4px;font-size:12px}.fh-messages-item-count{background:var(--fh-brand-yellow);border:1px solid #e5b700;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:inline-flex;position:absolute;bottom:10px;right:10px}.fh-messages-tab:disabled{opacity:.55;cursor:not-allowed}.fh-general-left,.fh-general-right{align-self:start;gap:10px;display:grid}.fh-general-center{background:var(--fh-card);gap:10px;min-width:0;padding:10px 14px 0;display:grid}.fh-thread-header-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.fh-thread-feed{background:var(--fh-card);gap:0;display:grid}.fh-thread-feed-scroll{flex:1;min-height:0;overflow:auto}.fh-panel-card{border-radius:12px;padding:12px}.fh-thread-question-compact{background:var(--fh-card);box-shadow:none;border:0;border-bottom:1px solid #e0ddd5e6;border-radius:0;padding:16px 0 14px}.fh-thread-question-compact+.fh-thread-question-compact{margin-top:8px}.fh-messenger-composer{background:var(--fh-card);border:0;border-top:1px solid var(--fh-border);border-bottom:1px solid var(--fh-border);border-radius:0;align-items:center;gap:8px;margin-bottom:8px;padding:8px 0;display:flex}.fh-messenger-composer .fh-input{margin:0}.fh-messages-content{background:var(--fh-bg);gap:0;margin:0;display:block;padding:24px!important}.fh-messages-content .fh-page-grid,.fh-messages-content .fh-general-layout{margin-top:0;padding-top:0}.fh-messages-topbar{padding-left:14px!important}.fh-messages-content .fh-page-grid{background:var(--fh-card);border:1px solid var(--fh-border);border-radius:14px;grid-template-columns:minmax(280px,320px) minmax(0,1fr);gap:0;min-height:calc(100vh - 104px);overflow:hidden}.fh-messages-content .fh-general-layout{background:var(--fh-card);border:1px solid var(--fh-border);border-radius:14px;min-height:calc(100vh - 104px);overflow:hidden}.fh-messages-content .fh-side-col{background:var(--fh-card);gap:0}.fh-messages-content .fh-card{border-radius:0}.fh-chat-main-pane{background:var(--fh-card);flex-direction:column;height:100%;min-height:0;display:flex}.fh-messages-content .fh-scroll{border-radius:0;flex:1;min-height:0;margin:0}.fh-chat-composer-row{border-top:1px solid var(--fh-border);background:var(--fh-card);margin-top:0;padding:8px}@media (width<=980px){.fh-chat-reply-action{opacity:.75}}.fh-calendar-wrap{gap:12px;display:grid}.fh-inline-link{color:var(--fh-accent);text-underline-offset:2px;font-weight:600;text-decoration:underline}.fh-linkified-text{white-space:pre-wrap;word-break:break-word}.fh-inline-link:hover{opacity:.85}.fh-calendar-discipline-filter{flex:12rem;min-width:min(100%,10rem);max-width:100%;margin:0}.fh-calendar-controls{background:var(--fh-card);border:1px solid var(--fh-border);border-radius:12px;flex-direction:column;gap:10px;padding:12px 14px;display:flex;container:fh-calendar-toolbar/inline-size}.fh-calendar-toolbar-row{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.fh-calendar-toolbar-row--nav{justify-content:space-between}.fh-calendar-toolbar-row--filters{border-top:1px solid var(--fh-border);padding-top:10px}.fh-calendar-toolbar-row--actions{border-top:1px solid var(--fh-border);justify-content:space-between;padding-top:10px}.fh-calendar-week-nav{flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;display:flex}.fh-calendar-range-label{color:var(--fh-text);white-space:nowrap;flex-shrink:0;margin:0;padding:0 4px;font-size:13px;font-weight:700;line-height:1.25}.fh-calendar-today-btn{flex-shrink:0}.fh-calendar-view-switch{flex-wrap:nowrap;flex-shrink:0;gap:4px;display:inline-flex}.fh-calendar-view-switch .fh-btn{padding:6px 11px;font-size:13px}.fh-calendar-toolbar-actions{flex-wrap:wrap;flex:auto;align-items:center;gap:6px;min-width:0;display:flex}.fh-calendar-toolbar-more{flex-shrink:0;display:none;position:relative}.fh-calendar-toolbar-more>summary{cursor:pointer;list-style:none}.fh-calendar-toolbar-more>summary::-webkit-details-marker{display:none}.fh-calendar-toolbar-more-menu{z-index:30;border:1px solid var(--fh-border);background:var(--fh-card);border-radius:12px;gap:6px;min-width:min(240px,92vw);padding:8px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 14px 28px #0000001f}.fh-calendar-toolbar-more-menu .fh-btn{justify-content:center;width:100%}.fh-calendar-toolbar-more-icons{justify-content:flex-end;gap:6px;padding-top:4px;display:flex}.fh-calendar-month-highlight{color:var(--fh-brand-blue);text-transform:capitalize;white-space:nowrap;background:#eef4ff;border:1px solid #cfe0fb;border-radius:999px;flex-shrink:0;margin-left:auto;padding:6px 12px;font-size:13px;font-weight:700}@container fh-calendar-toolbar (width<=860px){.fh-calendar-toolbar-more{display:block}.fh-calendar-toolbar-actions .fh-calendar-action-overflow{display:none}}@container fh-calendar-toolbar (width<=520px){.fh-calendar-toolbar-row--nav{flex-direction:column;align-items:stretch}.fh-calendar-month-highlight{align-self:flex-start;margin-left:0}.fh-calendar-toolbar-row--filters{flex-direction:column;align-items:stretch}.fh-calendar-view-switch{width:100%}.fh-calendar-view-switch .fh-btn{text-align:center;flex:1 1 0}}.fh-calendar-board{background:var(--fh-card);border:1px solid var(--fh-border);border-radius:10px;grid-template-columns:56px repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.fh-calendar-board-day{grid-template-columns:56px minmax(0,1fr)}.fh-calendar-board-month{grid-template-columns:repeat(7,minmax(0,1fr))}.fh-calendar-head-spacer{border-right:1px solid var(--fh-border);border-bottom:1px solid var(--fh-border);background:var(--fh-card)}.fh-calendar-day-head{border-right:1px solid var(--fh-border);border-bottom:1px solid var(--fh-border);text-align:center;background:var(--fh-card);padding:8px 4px}.fh-calendar-day-head.is-today{background:#f4f9ff}.fh-calendar-day-head.is-outside-month{background:#faf8f3}.fh-calendar-day-number{letter-spacing:-.03em;margin-top:2px;font-size:20px;font-weight:800}.fh-calendar-hours-col{border-right:1px solid var(--fh-border);background:var(--fh-card)}.fh-calendar-hour-cell{border-bottom:1px solid var(--fh-border);height:56px;color:var(--fh-muted);justify-content:flex-end;align-items:flex-start;padding:4px 6px 0 0;font-family:IBM Plex Mono,monospace;font-size:10px;display:flex}.fh-calendar-day-col{border-right:1px solid var(--fh-border);background:var(--fh-card);position:relative}.fh-calendar-day-col.is-today{background:var(--fh-surface-hover)}.fh-calendar-day-col.is-outside-month{background:#fcfbf7}.fh-calendar-grid-line{border-bottom:1px solid var(--fh-border);cursor:cell;height:56px}.fh-calendar-event{background:var(--fh-accent-2);border-left:3px solid var(--fh-accent);cursor:pointer;box-sizing:border-box;contain:layout;border-radius:6px;flex-direction:column;min-height:0;padding:4px 6px;display:flex;position:absolute;left:4px;right:4px;overflow:hidden}.fh-calendar-event.fh-event-type-class,.fh-calendar-month-event.fh-event-type-class{color:#1a66cc;background:#ebf2fb;border-left-color:#1a66cc}.fh-calendar-event.fh-event-type-exam,.fh-calendar-month-event.fh-event-type-exam{color:#a52d2d;background:#ffecec;border-left-color:#d14343}.fh-calendar-event.fh-event-type-assignment,.fh-calendar-month-event.fh-event-type-assignment{color:#5e3fb0;background:#f3ecff;border-left-color:#7a52d1}.fh-calendar-event.fh-event-type-reading,.fh-calendar-month-event.fh-event-type-reading{color:#0d7569;background:#e6f7f4;border-left-color:#1a9e8f}.fh-calendar-event.fh-event-type-notice,.fh-calendar-month-event.fh-event-type-notice{border-left-color:var(--fh-brand-yellow);color:var(--fh-yellow-ink);background:#fff8e6}.fh-calendar-event.fh-event-type-group-deadline,.fh-calendar-month-event.fh-event-type-group-deadline{color:#1f855d;background:#e8faf3;border-left-color:#2ba976}.fh-calendar-event.fh-event-type-meeting,.fh-calendar-month-event.fh-event-type-meeting{color:#1f6990;background:#eaf7ff;border-left-color:#2b8bbf}.fh-calendar-event.fh-event-type-tcc-deadline,.fh-calendar-month-event.fh-event-type-tcc-deadline{color:#9e3c97;background:#fdeeff;border-left-color:#d164c9}.fh-calendar-event-title{color:var(--fh-accent);-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;flex-shrink:0;font-size:11px;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.fh-calendar-event-link,.fh-calendar-month-event-link{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10px;line-height:1.25;overflow:hidden}.fh-calendar-event .fh-inline-link,.fh-calendar-month-event .fh-inline-link{color:inherit;text-underline-offset:1px;font-weight:700;text-decoration:underline}.fh-calendar-event-meta{color:var(--fh-accent);opacity:.85;white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;margin-top:2px;font-family:IBM Plex Mono,monospace;font-size:9px;line-height:1.25;overflow:hidden}.fh-calendar-month-grid{border-top:1px solid var(--fh-border);grid-column:1/-1;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.fh-calendar-month-cell{border-right:1px solid var(--fh-border);border-bottom:1px solid var(--fh-border);background:var(--fh-card);cursor:pointer;min-height:110px;padding:8px}.fh-calendar-month-cell.is-outside-month{background:#faf8f3}.fh-calendar-month-cell.is-today{background:#f6faff}.fh-calendar-month-date{margin-bottom:6px;font-size:12px;font-weight:700}.fh-calendar-month-cell.is-outside-month .fh-calendar-month-date{opacity:.62}.fh-calendar-month-event{color:var(--fh-accent);background:var(--fh-accent-2);border-left:2px solid var(--fh-accent);cursor:pointer;border-radius:4px;align-items:center;gap:4px;min-width:0;margin-bottom:4px;padding:2px 6px;font-size:11px;display:flex}.fh-calendar-month-event-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.fh-calendar-absence-chip{border:1px solid color-mix(in srgb, var(--fh-accent) 45%, var(--fh-border));background:var(--fh-card);width:18px;height:18px;color:var(--fh-pill-blue-text);cursor:pointer;border-radius:4px;flex-shrink:0;padding:0;font-size:10px;font-weight:700;line-height:1}.fh-calendar-absence-chip.is-absent{color:#fff;background:#d14343;border-color:#a52d2d}.fh-calendar-absence-summary{background:var(--fh-surface-warm);border:1px solid var(--fh-border);color:var(--fh-text);border-radius:8px;margin:0 0 12px;padding:10px 12px}.fh-calendar-external-feed-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fh-calendar-external-feed-url{word-break:break-all;color:var(--fh-text-soft);flex:100%;margin:0;font-size:11px;line-height:1.4}.fh-calendar-toolbar-icon-group{align-items:center;gap:6px;display:inline-flex}.fh-btn.fh-btn-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;padding:0;display:inline-flex}.fh-btn.fh-btn-icon svg{flex-shrink:0}.fh-btn.fh-btn-icon-accent{border-color:color-mix(in srgb, var(--fh-accent) 45%, var(--fh-border));color:var(--fh-pill-blue-text);background:var(--fh-pill-blue-bg)}.fh-btn.fh-btn-icon-accent:hover:not(:disabled){background:color-mix(in srgb, var(--fh-accent) 18%, var(--fh-card))}.fh-modal-card-feed{width:min(540px,96vw)}.fh-external-feed-panel{margin-top:4px}.fh-calendar-event-absence-row{border-top:1px solid #1a66cc33;flex-shrink:0;margin-top:4px;padding-top:3px}.fh-calendar-absence-btn{border:1px solid color-mix(in srgb, var(--fh-accent) 50%, var(--fh-border));background:var(--fh-card);color:var(--fh-pill-blue-text);cursor:pointer;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:9px;font-weight:600}.fh-calendar-absence-btn.is-active{background:var(--fh-danger-surface);border-color:color-mix(in srgb, var(--fh-danger) 55%, var(--fh-border));color:var(--fh-danger)}.fh-modal-card{border:1px solid var(--fh-border);background:var(--fh-card);border-radius:12px;width:min(760px,96vw);padding:14px;box-shadow:0 24px 60px #0a0c1040}.fh-modal-card-wide{width:min(1180px,98vw)}.fh-syllabus-modal{flex-direction:column;width:min(1400px,96vw);height:min(94vh,1200px);display:flex}.fh-syllabus-modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.fh-syllabus-modal-title{margin:0;font-size:1.05rem}.fh-syllabus-iframe{border:1px solid var(--fh-border);background:#fff;border-radius:8px;flex:1;width:100%}.fh-bulk-lessons-list{gap:8px;max-height:320px;padding:2px;display:grid;overflow:auto}.fh-bulk-lessons-row{grid-template-columns:1.8fr .7fr .7fr .7fr 1.3fr 1fr auto;align-items:center;gap:8px;display:grid}.fh-dashboard-shell{grid-template-columns:220px minmax(0,1fr);min-height:100vh;display:grid}.fh-dashboard-sidebar{background:var(--fh-sidebar-bg);border-right:1px solid var(--fh-acc-bd);flex-direction:column;height:100dvh;min-height:0;max-height:100dvh;padding:14px 12px;display:flex;position:sticky;top:0;overflow:hidden}.fh-dashboard-logo{border-bottom:1px solid var(--fh-logo-divider);flex-shrink:0;padding:8px 8px 14px}.fh-dashboard-logo-sub{color:#1a1a1880;letter-spacing:.06em;margin-top:8px;font-family:IBM Plex Mono,monospace;font-size:9px}.fh-dashboard-nav{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;flex:auto;align-content:start;gap:6px;min-height:0;margin-top:10px;padding-right:2px;display:grid;overflow:hidden auto}.fh-dashboard-nav-wrap{z-index:2;flex-direction:column;flex:auto;min-height:0;margin-top:10px;display:flex;position:relative}.fh-dashboard-nav-scroll{flex:auto;min-height:0}.fh-dashboard-nav-footer{border-top:1px solid var(--fh-acc-bd);flex-shrink:0;gap:6px;margin-top:4px;padding-top:8px;display:grid}.fh-dashboard-nav-section{color:var(--fh-nav-section);letter-spacing:.1em;text-transform:uppercase;padding:10px 8px 4px;font-family:IBM Plex Mono,monospace;font-size:9px}.fh-dashboard-nav-item{text-align:left;color:var(--fh-muted);cursor:pointer;transition:background-color var(--fh-motion-fast) var(--fh-ease-soft), color var(--fh-motion-fast) var(--fh-ease-soft), border-color var(--fh-motion-fast) var(--fh-ease-soft);background:0 0;border:1px solid #0000;border-radius:8px;padding:9px 10px;font-weight:600}.fh-dashboard-nav-item:focus-visible{border-color:color-mix(in srgb, var(--fh-accent) 45%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--fh-accent) 25%, transparent);outline:none}.fh-dashboard-nav-item:hover{background:#ffcb082e}.fh-dashboard-nav-item.active{background:var(--fh-accent);color:#fff}.fh-dashboard-user{border-top:1px solid var(--fh-acc-bd);flex-shrink:0;gap:8px;margin-top:auto;padding-top:10px;display:grid}.fh-dashboard-user-actions{gap:8px;display:grid}.fh-dashboard-user-actions--inline{flex-direction:row;justify-content:space-between;align-items:center;gap:10px;display:flex}.fh-btn-sidebar-logout{width:38px;height:38px;min-height:38px;color:var(--fh-accent);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.fh-btn-sidebar-logout svg{display:block}.fh-dashboard-classroom-picker{border:1px solid var(--fh-border);background:var(--fh-card);border-radius:10px;flex-shrink:0;margin-top:10px;padding:10px}.fh-dashboard-main{flex-direction:column;display:flex}.fh-dashboard-topbar{border-bottom:1px solid var(--fh-border);background:var(--fh-topbar-bg);justify-content:space-between;align-items:center;gap:14px;height:56px;padding:0 24px;display:flex}.fh-topbar-title{color:var(--fh-brand-blue);font-size:16px;font-weight:800}.fh-dashboard-topbar-actions{align-items:center;gap:10px;display:flex}.fh-dashboard-search{width:min(430px,45vw);position:relative}.fh-dashboard-search-input{background:var(--fh-input-bg);height:36px}.fh-dashboard-search-results{z-index:30;border:1px solid var(--fh-border);background:var(--fh-card);border-radius:12px;gap:6px;max-height:360px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 14px 34px #0a0c1026}.fh-dashboard-search-item{background:var(--fh-card);cursor:pointer;text-align:left;border:1px solid #0000;border-radius:10px;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.fh-dashboard-search-item:hover{border-color:var(--fh-border);background:var(--fh-surface-hover)}.fh-dashboard-search-kind{border:1px solid var(--fh-border);text-transform:capitalize;border-radius:999px;flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:700}.fh-dashboard-search-kind.is-atividade,.fh-dashboard-search-kind.is-aula{background:var(--fh-yellow-soft-bg);color:var(--fh-yellow-ink)}.fh-dashboard-search-kind.is-aluno,.fh-dashboard-search-kind.is-professor{background:var(--fh-chip-blue-bg);color:var(--fh-chip-blue-text)}.fh-dashboard-search-kind.is-grupo,.fh-dashboard-search-kind.is-mensagem{background:var(--fh-chip-green-bg);color:var(--fh-chip-green-text)}.fh-dashboard-search-text{gap:2px;min-width:0;display:grid}.fh-dashboard-search-title{color:var(--fh-text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;overflow:hidden}.fh-dashboard-search-subtitle,.fh-dashboard-search-empty{color:var(--fh-muted);font-size:11px}.fh-dashboard-search-empty{padding:8px 10px}.fh-dashboard-notifications{position:relative}.fh-dashboard-notify-btn{align-items:center;gap:8px;display:inline-flex}.fh-dashboard-notify-count{color:#fff;background:#d92d20;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.fh-dashboard-notify-panel{z-index:30;border:1px solid var(--fh-border);background:var(--fh-card);border-radius:12px;gap:6px;width:min(420px,86vw);max-height:430px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);right:0;overflow:auto;box-shadow:0 14px 34px #0a0c1026}.fh-dashboard-notify-head{color:var(--fh-text);padding:4px 6px;font-size:12px;font-weight:800}.fh-dashboard-notify-empty{color:var(--fh-muted);padding:6px;font-size:12px}.fh-dashboard-notify-item{border:1px solid var(--fh-border);background:var(--fh-card);text-align:left;cursor:pointer;border-radius:10px;gap:3px;padding:8px 10px;display:grid}.fh-dashboard-notify-item.is-alert{border-color:color-mix(in srgb, var(--fh-danger) 45%, var(--fh-border));background:var(--fh-danger-surface)}.fh-dashboard-notify-item.is-soon{border-color:color-mix(in srgb, var(--fh-brand-yellow) 45%, #fff);background:var(--fh-yellow-soft-bg)}.fh-dashboard-notify-item-title{color:var(--fh-text);font-size:12px;font-weight:700}.fh-dashboard-notify-item-subtitle{color:var(--fh-muted);font-size:11px}.fh-topbar-role-tag{opacity:.9;font-size:13px;font-weight:600}.fh-dashboard-content{gap:14px;padding:24px;display:grid}.fh-dashboard-content .fh-card:hover{border-color:color-mix(in srgb, var(--fh-accent) 18%, var(--fh-border));box-shadow:0 12px 32px #0f111712}html[data-fh-theme=dark] .fh-dashboard-content .fh-card:hover{border-color:#ffffff1f;box-shadow:0 14px 40px #00000073}.fh-materials-mobile-nav,.fh-materials-mobile-filter-toggle{display:none}.fh-dashboard-banner{background:var(--fh-accent);color:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:14px 20px;display:flex}.fh-dashboard-banner h2{letter-spacing:-.03em;margin:0;font-size:24px}.fh-dashboard-hello-base{color:#fff}.fh-dashboard-hello-name{color:var(--fh-brand-yellow)}.fh-dashboard-banner p{color:#ffffffe0;opacity:1;margin:6px 0 0;font-family:IBM Plex Mono,monospace;font-size:10px}.fh-dashboard-banner-inst-logo{background:var(--fh-banner-inst-bg);border:1px solid #ffffff59;border-radius:10px;justify-content:center;align-items:center;width:148px;min-width:148px;height:56px;padding:6px 8px;display:flex}.fh-dashboard-banner-inst-logo img{object-fit:contain;width:100%;height:100%;display:block}.fh-dashboard-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.fh-dashboard-feed{border:1px solid var(--fh-border);background:var(--fh-card);border-radius:18px;overflow:hidden}.fh-dashboard-feed-body{gap:12px;padding:14px 18px 18px;display:grid}.fh-dashboard-feed-notify{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.fh-dashboard-feed-notify-label{letter-spacing:.06em;text-transform:uppercase;color:var(--fh-muted);font-size:10px;font-weight:700}.fh-dashboard-feed-notify-chips{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.fh-dashboard-chip{font:inherit;border:1px solid var(--fh-border);background:var(--fh-surface-muted);color:var(--fh-text-medium);cursor:pointer;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:600}.fh-dashboard-chip:hover{background:var(--fh-yellow-soft-bg);border-color:color-mix(in srgb, var(--fh-brand-yellow) 45%, #fff)}.fh-dashboard-chip.is-alert{background:var(--fh-danger-surface);border-color:color-mix(in srgb, var(--fh-danger) 45%, var(--fh-border));color:var(--fh-danger)}.fh-dashboard-chip.is-soon{background:var(--fh-yellow-soft-bg);border-color:color-mix(in srgb, var(--fh-brand-yellow) 45%, #fff);color:var(--fh-yellow-ink)}.fh-deadline-alerts-card{gap:8px;padding:12px 14px;display:grid}.fh-deadline-alerts-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.fh-deadline-alerts-title{color:var(--fh-text);font-size:15px;font-weight:800}.fh-deadline-alerts-list{gap:6px;display:grid}.fh-deadline-alerts-empty{color:var(--fh-muted);padding:4px 0;font-size:12px}.fh-deadline-alert-row{border:1px solid var(--fh-border);background:var(--fh-card);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.fh-deadline-alert-row:hover{background:var(--fh-surface-hover);border-color:color-mix(in srgb, var(--fh-accent) 22%, #fff)}.fh-deadline-alert-main{min-width:0}.fh-deadline-alert-title{color:var(--fh-text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;display:block;overflow:hidden}.fh-deadline-alert-meta{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.fh-deadline-alert-badge{border:1px solid var(--fh-border);background:var(--fh-surface-muted);color:var(--fh-text);border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700}.fh-deadline-alert-badge.is-alert{background:var(--fh-danger-surface);border-color:color-mix(in srgb, var(--fh-danger) 45%, var(--fh-border));color:var(--fh-danger)}.fh-deadline-alert-badge.is-soon{background:var(--fh-yellow-soft-bg);border-color:color-mix(in srgb, var(--fh-brand-yellow) 45%, #fff);color:var(--fh-yellow-ink)}.fh-deadline-alert-date{color:var(--fh-muted);font-family:IBM Plex Mono,monospace;font-size:11px}.fh-deadline-alerts-footer-link{font:inherit;color:var(--fh-accent);text-align:left;cursor:pointer;background:0 0;border:0;padding:2px 0;font-size:12px;font-weight:700}.fh-deadline-alerts-footer-link:hover{text-decoration:underline}.fh-progress-card-head .fh-btn-header-ghost{color:#fff;background:#ffffff24;border:1px solid #ffffff59}.fh-progress-card-head .fh-btn-header-ghost:hover{background:color-mix(in srgb, var(--fh-brand-yellow) 22%, #ffffff24);border-color:color-mix(in srgb, var(--fh-brand-yellow) 56%, #fff);color:var(--fh-ghost-on-accent-hover);box-shadow:none}.fh-dashboard-feed-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:10px;display:grid}.fh-dashboard-feed-grid.is-teacher{grid-template-columns:repeat(2,minmax(0,1fr))}.fh-dashboard-feed-grid.has-colab{grid-template-columns:repeat(4,minmax(0,1fr))}.fh-dashboard-feed-grid.is-teacher.has-colab{grid-template-columns:repeat(2,minmax(0,1fr))}.fh-dashboard-feed-head-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.fh-dashboard-colab-snippet{align-items:flex-start;gap:6px;display:flex}.fh-dashboard-colab-snippet .fh-colab-theme-badge{flex-shrink:0;margin-top:1px;font-size:9px}.fh-dashboard-colab-snippet>span:last-child{min-width:0}.fh-dashboard-feed-col{background:0 0;gap:6px;min-width:0;padding:0 8px;display:grid}.fh-dashboard-feed-col+.fh-dashboard-feed-col{border-left:1px solid #0f172a1f}.fh-dashboard-feed-list{gap:0;display:grid}.fh-dashboard-feed-item,.fh-dashboard-feed-row{text-align:left;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #0f172a14;border-radius:0;padding:9px 7px;transition:background .12s}.fh-dashboard-feed-item:last-child,.fh-dashboard-feed-row:last-child{border-bottom:none}.fh-dashboard-feed-item:hover,.fh-dashboard-feed-row:hover{background:var(--fh-yellow-soft-bg)}.fh-dashboard-feed-item.is-new,.fh-dashboard-feed-row.is-new{box-shadow:inset 3px 0 0 var(--fh-brand-yellow);background:linear-gradient(180deg, #ffcb0814, var(--fh-card) 46%);border-color:#ffcb0880}.fh-dashboard-feed-item-teacher.is-new{border-left:4px solid var(--fh-brand-yellow)}.fh-dashboard-feed-item-top{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.fh-dashboard-feed-item-meta{align-items:center;gap:8px;display:inline-flex}.fh-dashboard-feed-name{color:var(--fh-text-strong);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:700;overflow:hidden}.fh-dashboard-feed-time{color:var(--fh-muted);white-space:nowrap;font-size:10px}.fh-dashboard-feed-badge-new{text-transform:uppercase;letter-spacing:.02em;color:var(--fh-chip-green-text);background:var(--fh-chip-green-bg);border:1px solid color-mix(in srgb, var(--fh-success) 35%, var(--fh-border));border-radius:999px;padding:2px 7px;font-size:10px;font-weight:800}.fh-dashboard-feed-snippet{color:var(--fh-text-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:11px;line-height:1.3;display:-webkit-box;overflow:hidden}.fh-dashboard-colab-row-stats{margin-top:6px}.fh-groups-assistant-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:10px;display:grid}.fh-groups-assistant-card{border:1px solid var(--fh-border);background:var(--fh-card);border-radius:12px;gap:8px;padding:12px;display:grid}.fh-groups-manual-list{gap:8px;max-height:290px;display:grid;overflow:auto}.fh-groups-manual-item{border:1px dashed var(--fh-border);border-radius:10px;gap:8px;padding:8px;display:grid}.fh-groups-student-picker{gap:6px;max-height:160px;display:grid;overflow:auto}.fh-groups-student-option{align-items:center;gap:8px;font-size:13px;display:inline-flex}.fh-mob-conv-picker{min-width:min(340px,100%);position:relative}.fh-mob-conv-picker--empty{border:1px solid var(--fh-border);background:var(--fh-card);color:var(--fh-text-soft);border-radius:12px;padding:10px 12px;font-size:.92rem}.fh-mob-conv-picker-trigger{border:1px solid var(--fh-border);background:var(--fh-card);width:100%;min-height:52px;color:var(--fh-text);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;display:flex}.fh-mob-conv-picker-trigger:disabled{opacity:.6;cursor:not-allowed}.fh-mob-conv-picker-trigger-text{text-align:left;gap:1px;min-width:0;display:grid}.fh-mob-conv-picker-label{text-transform:uppercase;letter-spacing:.03em;color:var(--fh-text-soft);font-size:.72rem;line-height:1.15}.fh-mob-conv-picker-value{color:var(--fh-text);white-space:nowrap;text-overflow:ellipsis;font-size:.98rem;font-weight:700;line-height:1.25;overflow:hidden}.fh-mob-conv-picker-disc{color:var(--fh-text-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;line-height:1.2;overflow:hidden}.fh-mob-conv-picker-chevron{width:20px;height:20px;color:var(--fh-text-soft);transition:transform var(--fh-motion-fast) var(--fh-ease-soft);flex:none}.fh-mob-conv-picker-chevron.is-open{transform:rotate(180deg)}.fh-mob-conv-picker-backdrop{z-index:55;background:#0000002e;border:0;position:fixed;inset:0}.fh-mob-conv-picker-panel{z-index:60;border:1px solid var(--fh-border);background:var(--fh-card);border-radius:14px;width:min(520px,96vw);position:absolute;top:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 18px 34px #0000002e}.fh-mob-conv-picker-search-wrap{border-bottom:1px solid var(--fh-border);padding:10px}.fh-mob-conv-picker-search{border:1px solid var(--fh-border);background:var(--fh-input-bg);width:100%;color:var(--fh-text);border-radius:10px;padding:9px 10px}.fh-mob-conv-picker-list{max-height:min(55vh,420px);margin:0;padding:0;list-style:none;overflow:auto}.fh-mob-conv-picker-empty{color:var(--fh-text-soft);padding:14px}.fh-mob-conv-picker-option{border:0;border-bottom:1px solid var(--fh-border);text-align:left;width:100%;color:var(--fh-text);background:0 0;gap:4px;padding:10px 12px;display:grid}.fh-mob-conv-picker-option:hover{background:var(--fh-yellow-soft-bg)}.fh-mob-conv-picker-option.is-active{background:color-mix(in srgb, var(--fred-blue) 10%, transparent)}.fh-mob-conv-picker-option-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.fh-mob-conv-picker-option-name{font-size:.95rem;font-weight:700}.fh-mob-conv-picker-option-disc{color:var(--fh-text-soft);font-size:.8rem}.fh-mob-conv-picker-option-hint{color:var(--fh-text);font-size:.85rem;line-height:1.3}.fh-mob-conv-picker-option-hint--muted,.fh-mob-conv-picker-option-meta{color:var(--fh-text-soft);font-size:.78rem}.fh-groups-page-grid{grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:12px;margin-top:10px;display:grid}.fh-groups-list{align-content:start;gap:8px;display:grid}.fh-groups-list-item{text-align:left;border:1px solid var(--fh-border);background:var(--fh-card);cursor:pointer;font:inherit;border-radius:10px;padding:10px}.fh-groups-list-item:hover{background:var(--fh-yellow-soft-bg)}.fh-groups-list-item.active{border-color:var(--fh-brand-yellow);box-shadow:inset 0 0 0 1px #ffcb0840}.fh-groups-list-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.fh-groups-members-names{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.fh-groups-members-names li{background:var(--fh-surface-muted,#f8faff);border:1px solid var(--fh-border,#d3ddfb);border-radius:8px;padding:8px 10px;font-weight:600}.fh-groups-manage-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.fh-groups-page .fh-groups-manage-panel.is-collapsed{padding:12px 16px}.fh-groups-page .fh-groups-manage-panel.is-open{margin-top:12px}html.fh-capacitor-native .fh-mob-academic-panel .fh-groups-manage-panel.is-collapsed{display:none}html.fh-capacitor-native .fh-mob-academic-panel .fh-groups-manage-panel.is-open{margin-top:10px}@media (width<=720px){.fh-groups-list-head,.fh-groups-manage-header{flex-direction:column;align-items:stretch}.fh-groups-list-head .fh-btn,.fh-groups-manage-header .fh-btn{width:100%}}.fh-groups-chat{border:1px solid var(--fh-border);background:var(--fh-card);border-radius:12px;gap:8px;padding:12px;display:grid}.fh-groups-messages-box{border:1px solid var(--fh-border);background:#faf9f7;border-radius:10px;gap:8px;max-height:390px;padding:10px;display:grid;overflow:auto}.fh-groups-message-item{border:1px solid var(--fh-border);background:var(--fh-card);border-radius:8px;gap:4px;padding:8px 10px;display:grid}.fh-groups-message-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.fh-groups-send-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.fh-dashboard-grid{grid-template-columns:minmax(320px,430px) minmax(0,1fr);gap:14px;display:grid}.fh-discipline-progress-list{gap:10px;margin-top:8px;display:grid}.fh-dashboard-academic-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.fh-dashboard-academic-split.is-teacher-solo{grid-template-columns:minmax(0,1fr)}.fh-weekly-summary-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.fh-weekly-summary-range{color:var(--fh-brand-yellow);margin-top:4px;font-size:12px;font-weight:600}.fh-weekly-card{border:1px solid var(--fh-border);background:var(--fh-card);border-radius:18px;overflow:hidden}.fh-weekly-card .fh-progress-card-head{flex-wrap:wrap;align-items:flex-start}.fh-weekly-card .fh-progress-card-term-with-select{flex:12rem;justify-content:flex-end;max-width:min(100%,26rem)}.fh-weekly-card .fh-progress-card-term-select{flex:0 auto;width:auto;min-width:18rem;max-width:100%}.fh-weekly-card-body{padding:18px 20px}.fh-weekly-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.fh-weekly-summary-metric{border:1px solid var(--fh-border);background:var(--fh-card);border-radius:10px;padding:10px}button.fh-weekly-summary-metric{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s}button.fh-weekly-summary-metric.is-clickable:hover,button.fh-weekly-summary-metric.is-clickable:focus-visible{border-color:color-mix(in srgb, var(--fh-accent) 45%, var(--fh-border));box-shadow:0 0 0 2px color-mix(in srgb, var(--fh-accent) 18%, transparent)}.fh-dashboard-search-results--inline{max-height:none;box-shadow:none;margin-top:8px;position:static}.fh-weekly-metric-sheet-backdrop{z-index:120;background:#080e1c73;justify-content:center;align-items:flex-end;padding:12px;display:flex;position:fixed;inset:0}.fh-weekly-metric-sheet{background:var(--fh-card);border:1px solid var(--fh-border);border-radius:16px 16px 12px 12px;flex-direction:column;width:min(560px,100%);max-height:min(72vh,520px);display:flex;overflow:hidden;box-shadow:0 18px 48px #080e1c38}.fh-weekly-metric-sheet-head{border-bottom:1px solid var(--fh-border);justify-content:space-between;align-items:center;gap:10px;padding:14px 16px 10px;display:flex}.fh-weekly-metric-sheet-head h3{margin:0;font-size:16px}.fh-weekly-metric-sheet-body{gap:8px;padding:10px 12px;display:grid;overflow-y:auto}.fh-weekly-metric-sheet-foot{border-top:1px solid var(--fh-border);padding:10px 12px 14px}.fh-weekly-metric-sheet-foot .fh-btn-primary{width:100%}.fh-weekly-summary-metric .fh-title{margin-top:4px;font-size:24px}.fh-weekly-summary-alerts{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.fh-weekly-alert{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.fh-weekly-alert.is-soon{background:var(--fh-yellow-soft-bg);color:var(--fh-yellow-ink);border:1px solid color-mix(in srgb, var(--fh-brand-yellow) 55%, #fff)}.fh-weekly-alert.is-overdue{background:var(--fh-danger-surface);color:var(--fh-danger);border:1px solid color-mix(in srgb, var(--fh-danger) 45%, var(--fh-border))}.fh-weekly-alert.is-clickable{cursor:pointer;font:inherit;text-align:left;transition:transform .12s,box-shadow .12s,filter .12s}.fh-weekly-alert.is-clickable:hover{box-shadow:0 2px 8px color-mix(in srgb, var(--fh-text) 12%, transparent);filter:brightness(.98);transform:translateY(-1px)}.fh-weekly-alert.is-clickable:active{transform:translateY(0)}.fh-weekly-next-list{background:0 0;gap:0;margin-top:12px;display:grid}.fh-weekly-next-item{border:none;border-bottom:1px solid var(--fh-border);background:0 0;border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px;display:grid}.fh-weekly-next-item-btn{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer}.fh-weekly-next-item-btn:last-child{border-bottom:none}.fh-weekly-next-item-btn:hover{background:var(--fh-yellow-soft-bg)}.fh-weekly-pill{color:var(--fh-pill-blue-text);background:var(--fh-pill-blue-bg);border:1px solid color-mix(in srgb, var(--fh-accent) 28%, var(--fh-border));border-radius:999px;justify-content:center;align-items:center;padding:3px 6px;font-size:9px;font-weight:700;display:inline-flex}.fh-weekly-pill.is-delivery{color:var(--fh-yellow-ink);background:var(--fh-yellow-soft-bg);border-color:color-mix(in srgb, var(--fh-brand-yellow) 55%, #fff)}.fh-weekly-next-title-block{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.fh-weekly-next-title{text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.fh-weekly-next-location{width:100%;min-width:0;color:var(--fh-text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;overflow:hidden}.fh-weekly-next-location .fh-inline-link{color:var(--fh-accent);font-weight:600}.fh-weekly-next-date{color:var(--fh-text-subtle);white-space:nowrap;font-size:11px}.fh-discipline-progress-item{border:1px solid var(--fh-border);background:var(--fh-card);border-radius:10px;padding:10px}.fh-discipline-progress-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.fh-discipline-progress-name{color:var(--fh-text-strong);font-weight:700}.fh-discipline-progress-value{color:var(--fh-brand-blue);font-weight:800}.fh-discipline-progress-bar{background:var(--fh-surface-track);border-radius:999px;height:8px;margin-top:8px;overflow:hidden}.fh-discipline-progress-fill{background:linear-gradient(90deg,#1a66cc 0%,#5a9cff 100%);height:100%}.fh-discipline-progress-fill.is-warning{background:var(--fh-yellow-gradient)}.fh-progress-card{border:1px solid var(--fh-border);background:var(--fh-card);border-radius:18px;overflow:hidden}.fh-progress-card-head{background:var(--fh-accent);border-bottom:1px solid #ffffff2e;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;display:flex}.fh-progress-card-title{color:var(--fh-brand-yellow);text-shadow:0 1px #0000001f;font-size:20px;font-weight:800;line-height:1.1}.fh-progress-card-term{color:var(--fh-brand-yellow);text-shadow:0 1px #0000001f;font-family:IBM Plex Mono,monospace;font-size:14px}.fh-progress-card-term-with-select{max-width:min(300px,54vw);color:var(--fh-brand-yellow);text-shadow:0 1px #0000001f;cursor:pointer;flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:0;margin:0;padding:0;font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:400;line-height:1.25;display:inline-flex}.fh-progress-card-term-prefix{-webkit-user-select:none;user-select:none;flex-shrink:0}.fh-progress-card-term-select{appearance:none;box-shadow:none;font:inherit;line-height:inherit;color:inherit;text-shadow:inherit;cursor:pointer;text-align:right;background:0 0;border:none;border-radius:0;min-width:0;max-width:min(240px,46vw);margin:0;padding:0}.fh-progress-card-term-select::-ms-expand{display:none}.fh-progress-card-term-select:focus{outline:none}.fh-progress-card-term-with-select:focus-within{outline-offset:3px;border-radius:3px;outline:1px dotted #ffffffb3}.fh-progress-card-term-select option{color:var(--fh-option-text);background:var(--fh-card)}.fh-progress-card-term-chevron{color:inherit;opacity:.88;pointer-events:none;flex-shrink:0;margin-left:4px;display:flex}.fh-progress-card-term-chevron svg{display:block}.fh-disciplines-section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.fh-disciplines-term-select{margin-top:2px}.fh-academic-term-select-on-light.fh-progress-card-term-with-select{color:var(--fh-brand-blue);text-shadow:none;max-width:min(320px,100%)}.fh-progress-card-head .fh-academic-term-select-on-light.fh-progress-card-term-with-select,.fh-progress-card-head .fh-academic-term-select-on-light .fh-progress-card-term-select,.fh-progress-card-head .fh-academic-term-select-on-light .fh-progress-card-term-prefix,.fh-progress-card-head .fh-academic-term-select-on-light .fh-progress-card-term-chevron{color:var(--fh-brand-yellow);text-shadow:0 1px #0000001f}.fh-progress-card-head .fh-academic-term-select-on-light.fh-progress-card-term-with-select:focus-within{outline-offset:3px;outline:1px dotted #ffffff8c}.fh-academic-term-select-on-light.fh-progress-card-term-with-select:focus-within{outline-offset:3px;outline:1px dotted #1a66cc8c}.fh-academic-term-select-on-banner.fh-progress-card-term-with-select{color:#ffffffeb;text-shadow:none}.fh-academic-term-select-on-banner .fh-progress-card-term-select{color:#ffffffeb}.fh-academic-term-select-on-banner.fh-progress-card-term-with-select:focus-within{outline-offset:3px;outline:1px dotted #ffffff8c}.fh-dashboard-banner-main{flex:1;min-width:0}.fh-dashboard-banner-subrow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-top:6px;display:flex}.fh-dashboard-banner-subrow p{margin:0}.fh-academic-term-bar{gap:10px;margin-bottom:12px;display:grid}.fh-academic-term-bar--compact{margin-bottom:8px}.fh-academic-term-bar-select{margin-top:0}.fh-academic-term-banner{color:var(--fh-text);background:#f59e0b1f;border:1px solid #f59e0b73;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.fh-academic-term-bar.is-past-term .fh-academic-term-bar-select,.fh-academic-term-bar.is-future-term .fh-academic-term-bar-select,.fh-academic-term-bar.is-off-current-term .fh-academic-term-bar-select{opacity:.95}.fh-classroom-term-card{margin-bottom:12px}.fh-classroom-term-card--compact{padding-top:12px;padding-bottom:12px}.fh-classroom-term-card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.fh-classroom-term-card-main{flex:180px;min-width:0}.fh-classroom-term-card-main--compact{flex:auto}.fh-classroom-term-card-name{margin-top:6px;font-weight:600}.fh-academic-term-select-embedded{flex:0 auto;align-self:flex-start;max-width:min(100%,320px);margin:0}.fh-academic-term-banner--in-card{margin-top:12px}.fh-academic-term-banner--standalone{margin-bottom:12px}.fh-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fh-progress-card-body{background:var(--fh-card);gap:16px;padding:18px 20px;display:grid}.fh-obsv-metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.fh-obsv-metric-card{border:1px solid var(--fh-border);background:var(--fh-card);border-radius:12px;padding:12px}.fh-obsv-alert-list{gap:8px;display:grid}.fh-obsv-alert-card{border:1px solid var(--fh-border);background:var(--fh-surface-soft);color:var(--fh-text);border-radius:10px;padding:10px 12px}.fh-obsv-alert-card.is-warn{border-color:color-mix(in srgb, var(--fh-brand-yellow) 52%, #fff);background:var(--fh-yellow-soft-bg)}.fh-obsv-alert-card.is-critical{background:var(--fh-danger-surface);border-color:#e8a8a8}.fh-obsv-alert-title{margin-bottom:4px;font-size:14px;font-weight:700}.fh-progress-row{gap:8px;display:grid}.fh-discipline-absence-bar{background:var(--fh-yellow-track);border-radius:999px;height:4px;overflow:hidden}.fh-discipline-progress-footer{align-items:center;gap:10px;margin-top:4px;display:flex}.fh-discipline-absence-strip{flex:1;min-width:0}.fh-discipline-final-grade{background:color-mix(in srgb, var(--fh-brand-blue) 10%, transparent);border:1px solid color-mix(in srgb, var(--fh-brand-blue) 18%, transparent);border-radius:999px;flex-shrink:0;align-items:baseline;gap:4px;padding:2px 8px;display:inline-flex}.fh-discipline-final-grade.is-empty{opacity:.72}.fh-discipline-final-grade-label{letter-spacing:.04em;text-transform:uppercase;color:var(--fh-muted);font-size:10px;font-weight:600}.fh-discipline-final-grade-value{color:var(--fh-brand-blue);font-size:13px;font-weight:700;line-height:1}.fh-discipline-absence-fill{background:var(--fh-yellow-gradient);height:100%}.fh-discipline-absence-fill.is-failed{background:linear-gradient(90deg,#c92c2c 0%,#e06767 100%)}.fh-discipline-attendance-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;display:flex}.fh-discipline-attendance-alert{margin-top:6px;font-size:12px;font-weight:600}.fh-discipline-attendance-alert.is-risk{color:var(--fh-yellow-ink)}.fh-discipline-attendance-alert.is-failed{color:var(--fh-danger)}.fh-absence-simulator-card{gap:12px;padding:14px 16px;display:grid}.fh-absence-simulator-head{justify-content:space-between;gap:12px;display:flex}.fh-absence-simulator-title{color:var(--fh-text);margin-top:6px;font-size:17px;font-weight:800}.fh-absence-simulator-disclaimer{color:var(--fh-muted);margin-top:8px;font-size:11px;line-height:1.45}.fh-absence-simulator-controls{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.fh-absence-simulator-result{border:1px solid var(--fh-border);background:var(--fh-surface-soft);color:var(--fh-text);border-radius:12px;gap:10px;padding:12px 14px;display:grid}.fh-absence-simulator-metrics{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.fh-absence-simulator-metric-val{color:var(--fh-accent);font-size:18px;font-weight:800}.fh-absence-simulator-note{color:var(--fh-muted);border:1px dashed var(--fh-border);background:var(--fh-card);border-radius:10px;padding:8px 10px;font-size:11px}.fh-absence-simulator-verdict{border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.45}.fh-absence-simulator-verdict.is-failed{border:1px solid color-mix(in srgb, var(--fh-danger) 45%, var(--fh-border));background:var(--fh-danger-surface);color:var(--fh-verdict-fail-text)}.fh-absence-simulator-verdict.is-risk{border:1px solid color-mix(in srgb, var(--fh-brand-yellow) 45%, #fff);background:var(--fh-yellow-soft-bg);color:var(--fh-yellow-ink)}.fh-absence-simulator-verdict.is-ok{border:1px solid color-mix(in srgb, var(--fh-accent) 35%, var(--fh-border));background:var(--fh-verdict-ok-bg);color:var(--fh-verdict-ok-text)}.fh-absence-simulator-suggestion{color:var(--fh-text-medium);font-size:12px}.fh-absence-visual-list{gap:16px;margin-top:4px;display:grid}.fh-absence-visual-row{border:1px solid var(--fh-border);background:var(--fh-card);border-radius:12px;gap:8px;padding:12px 14px;display:grid}.fh-absence-visual-row-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.fh-absence-visual-discipline{color:var(--fh-brand-dark);font-size:14px;font-weight:800}.fh-absence-visual-fraction{color:var(--fh-accent);font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:700}.fh-absence-visual-dots{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;align-items:flex-start;gap:10px;min-height:72px;padding-bottom:6px;display:flex;overflow-x:auto}.fh-abs-dot{background:var(--fh-card);cursor:pointer;border:2px solid #1a66cc73;border-radius:999px;flex-shrink:0;width:16px;height:16px;padding:0;transition:transform .12s,border-color .12s,background .12s}.fh-abs-dot:hover:not(:disabled){border-color:var(--fh-accent);transform:scale(1.12)}.fh-abs-dot:disabled{cursor:default}.fh-abs-dot.is-recorded{background:var(--fh-accent);border-color:var(--fh-accent)}.fh-abs-slot{flex-direction:column;flex:none;align-items:center;gap:4px;min-width:48px;padding-top:2px;display:flex}.fh-abs-slot-date{color:var(--fh-abs-date);text-align:center;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:700;line-height:1.2}.fh-abs-slot-time{color:var(--fh-muted);text-align:center;font-family:IBM Plex Mono,monospace;font-size:9px;line-height:1.2}.fh-abs-dot.is-planned{background:var(--fh-brand-yellow);border-color:color-mix(in srgb, var(--fh-brand-yellow) 70%, #333)}.fh-abs-dot.is-past-present{border-style:solid;border-color:color-mix(in srgb, var(--fh-text) 22%, transparent);background:var(--fh-surface-muted)}.fh-abs-dot.is-past-actionable:hover:not(:disabled){border-color:var(--fh-accent);background:color-mix(in srgb, var(--fh-accent) 12%, var(--fh-card))}.fh-absence-visual-bar-wrap{align-items:center;gap:10px;display:flex}.fh-absence-visual-bar{background:var(--fh-surface-track);border-radius:999px;flex:1;min-width:0;height:8px;overflow:hidden}.fh-absence-visual-bar-fill{border-radius:999px;height:100%;transition:width .2s}.fh-absence-visual-bar-fill.is-ok{background:linear-gradient(90deg,#1a66cc 0%,#5a9cff 100%)}.fh-absence-visual-bar-fill.is-risk{background:var(--fh-yellow-gradient)}.fh-absence-visual-bar-fill.is-failed{background:linear-gradient(90deg,#c62828 0%,#e57373 100%)}.fh-absence-visual-pct{color:var(--fh-muted);white-space:nowrap;font-size:11px;font-weight:600}.fh-absence-visual-hint{padding:6px 0 0;font-size:11px;line-height:1.4}.fh-absence-visual-hint.is-ok{color:var(--fh-muted)}.fh-absence-visual-hint.is-risk{color:var(--fh-yellow-ink)}.fh-absence-visual-hint.is-failed{color:var(--fh-danger)}.fh-discipline-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin-top:10px;display:grid}.fh-discipline-card{border:1px solid var(--fh-border);background:var(--fh-card);border-radius:10px;gap:4px;padding:10px;display:grid}.fh-discipline-card-title{color:var(--fh-text-strong);font-weight:700}.fh-students-game-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:10px;display:grid}.fh-student-card-game{border:1px solid var(--fh-border);background:var(--fh-card);border-radius:14px;grid-template-rows:340px auto;transition:transform .2s cubic-bezier(.2,.7,.2,1.05),box-shadow .2s,border-color .2s;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 24px #08060d0f}.fh-student-card-game:after{content:"";pointer-events:none;background:linear-gradient(110deg,#fff0 0%,#ffffff38 42%,#fff0 68%);transition:transform .45s;position:absolute;inset:0;transform:translate(-130%)}.fh-student-card-game:hover{border-color:color-mix(in srgb, var(--fh-brand-yellow) 65%, #fff);transform:translateY(-7px)scale(1.015);box-shadow:0 20px 34px #08060d33,0 0 0 2px #ffcb082e}.fh-student-card-game:hover:after{transform:translate(125%)}.fh-student-card-head{padding:12px 12px 10px}.fh-student-card-name{letter-spacing:-.02em;color:#fff;text-shadow:0 2px 10px #00000059;margin:0;font-size:28px;line-height:1.05}.fh-student-card-fullname{color:#ffffffeb;text-shadow:0 2px 8px #00000059;margin-top:6px;font-size:16px}.fh-student-card-photo-wrap{background:linear-gradient(#f6f8fc 0%,#edf2fb 100%);place-items:center;height:340px;min-height:340px;max-height:340px;display:grid;position:relative;overflow:hidden}.fh-student-card-photo{object-fit:cover;object-position:center 20%;width:100%;height:100%;transition:transform .35s;display:block}.fh-student-card-game:hover .fh-student-card-photo{transform:scale(1.07)}.fh-student-card-photo-placeholder{width:100%;height:100%;color:var(--fh-accent);background:var(--fh-chat-header-gradient);border-radius:0;place-items:center;font-size:52px;font-weight:800;display:grid}.fh-student-card-head.is-floating{z-index:2;background:linear-gradient(#08060d99 0%,#08060d00 100%);position:absolute;top:0;left:0;right:0}.fh-student-card-body{background:var(--fh-card);z-index:3;gap:8px;padding:10px 12px 12px;display:grid;position:relative}.fh-student-rep-pill{text-transform:uppercase;letter-spacing:.05em;width:fit-content;max-width:100%;color:var(--fh-rep-pill-text);background:#ffcb086b;border-radius:999px;padding:4px 10px;font-size:10px;font-weight:700;line-height:1.3;display:inline-block}.fh-student-card-stat{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.fh-teachers-game-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:10px;display:grid}.fh-teacher-card-game{border:1px solid var(--fh-border);background:var(--fh-card);border-radius:14px;grid-template-rows:320px auto;transition:transform .2s cubic-bezier(.2,.7,.2,1.05),box-shadow .2s,border-color .2s;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 24px #08060d0f}.fh-teacher-card-game:after{content:"";pointer-events:none;background:linear-gradient(110deg,#fff0 0%,#ffffff38 42%,#fff0 68%);transition:transform .45s;position:absolute;inset:0;transform:translate(-130%)}.fh-teacher-card-game:hover{border-color:color-mix(in srgb, var(--fh-brand-yellow) 65%, #fff);transform:translateY(-7px)scale(1.015);box-shadow:0 20px 34px #08060d33,0 0 0 2px #ffcb082e}.fh-teacher-card-game:hover:after{transform:translate(125%)}.fh-teacher-card-photo-wrap{background:linear-gradient(#f6f8fc 0%,#edf2fb 100%);position:relative}.fh-teacher-card-photo{object-fit:cover;width:100%;height:100%;transition:transform .35s;display:block}.fh-teacher-card-game:hover .fh-teacher-card-photo{transform:scale(1.07)}.fh-teacher-card-photo-placeholder{width:100%;height:100%;color:var(--fh-accent);background:var(--fh-chat-header-gradient);place-items:center;font-size:52px;font-weight:800;display:grid}.fh-teacher-card-head.is-floating{z-index:2;background:linear-gradient(#08060d99 0%,#08060d00 100%);padding:12px 12px 10px;position:absolute;top:0;left:0;right:0}.fh-teacher-card-name{letter-spacing:-.02em;color:#fff;text-shadow:0 2px 10px #00000059;margin:0;font-size:28px;line-height:1.05}.fh-teacher-card-fullname{color:#ffffffeb;text-shadow:0 2px 8px #00000059;margin-top:6px;font-size:16px}.fh-teacher-card-body{background:var(--fh-card);gap:8px;padding:10px 12px 12px;display:grid}.fh-teacher-card-stat{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.fh-modal-backdrop{z-index:1200;background:#08060d73;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.fh-modal-card{border:1px solid var(--fh-border);background:var(--fh-card);border-radius:14px;width:min(760px,100vw - 40px);max-height:calc(100vh - 40px);padding:16px;overflow:auto;box-shadow:0 18px 40px #08060d33}.fh-assignment-soon{border-color:var(--fh-brand-yellow);box-shadow:inset 0 0 0 1px #ffcb0847}.fh-assignment-overdue{border-color:#d14343;box-shadow:inset 0 0 0 1px #d1434333}.fh-assignment-submitted{border-color:#2e9b51;box-shadow:inset 0 0 0 1px #2e9b5133}.fh-assignment-card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.fh-assignment-card-head .fh-discipline-card-title{flex:1;min-width:0}.fh-assignment-scope-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:4px 9px;font-size:11px;font-weight:700;line-height:1.1;display:inline-flex}.fh-assignment-scope-badge.is-group{color:var(--fred-blue);background:#1560bd1f;border:1px solid #1560bd47}.fh-assignment-scope-badge.is-individual{color:var(--fh-muted,#5c6470);border:1px solid var(--fh-border);background:#08060d0d}html[data-fh-theme=dark] .fh-assignment-scope-badge.is-group{color:#93c5fd;background:#60a5fa24;border-color:#60a5fa59}html[data-fh-theme=dark] .fh-assignment-scope-badge.is-individual{color:#ffffffa6;background:#ffffff0f;border-color:#ffffff1f}.fh-assignment-scope-icon{justify-content:center;align-items:center;display:inline-flex}.fh-assignment-scope-badge.is-compact{letter-spacing:.03em;padding:2px 7px;font-size:10px}.fh-weekly-next-scope{margin-top:4px;display:inline-flex}.fh-dashboard-search-scope{margin-top:3px;display:inline-flex}.fh-dashboard-notify-scope{margin-top:4px;display:inline-flex}.fh-assignment-is-group-field{border:1px solid var(--fh-border);background:var(--fh-surface-muted);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.fh-assignment-is-group-field input{flex-shrink:0;width:18px;height:18px;margin-top:3px}.fh-assignment-is-group-copy{gap:2px;display:grid}.fh-assignment-is-group-copy strong{font-size:14px;font-weight:600}.fh-assignment-is-group-field--compact{align-self:start;min-width:0;max-width:220px;padding:8px 10px}.fh-assignment-is-group-field--compact .fh-assignment-is-group-copy strong{font-size:13px}.fh-assignment-is-group-field--compact .fh-meta{font-size:11px;line-height:1.3}.fh-assignment-description{resize:vertical;box-sizing:border-box;width:100%;min-height:120px}.fh-assignment-form-row--scope-material{grid-template-columns:minmax(0,220px) minmax(0,1fr);align-items:start;gap:10px;display:grid}@media (width<=720px){.fh-assignment-form-row--scope-material{grid-template-columns:1fr}.fh-assignment-is-group-field--compact{max-width:none}}.fh-assignment-material-field{gap:6px;display:grid}.fh-assignment-material-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.fh-assignment-material-chip{border:1px solid var(--fh-border);background:var(--fh-surface,#08060d08);border-radius:999px;align-items:center;gap:4px;max-width:100%;padding:4px 8px;font-size:13px;display:inline-flex}.fh-assignment-material-chip-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fh-assignment-material-chip-remove{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:16px;line-height:1}.fh-assignment-material-chip-remove:hover{opacity:1}.fh-assignment-material-list{margin:4px 0 0;padding-left:18px}.fh-assignment-material-list li+li{margin-top:2px}.fh-assignment-material-field-hint{margin:0}.fh-assignment-material-link a{color:var(--fh-accent);font-weight:600;text-decoration:none}.fh-assignment-material-link a:hover{text-decoration:underline}.fh-assignments-page .fh-assignment-list-card{flex:1;overflow:visible}.fh-assignment-card{padding:0;overflow:hidden}.fh-assignment-card-summary{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:start;gap:6px 10px;padding:12px 14px;display:grid}.fh-assignment-card-summary .fh-assignment-card-head{grid-column:1/-1;margin:0}.fh-assignment-card-summary-meta{flex-direction:column;grid-column:1;gap:6px;min-width:0;display:flex}.fh-assignment-card-chevron{color:var(--fh-muted);grid-area:2/2;align-self:center;font-size:14px;line-height:1}.fh-assignment-status-pill{background:var(--fh-accent-2);color:var(--fh-text);border-radius:999px;align-self:flex-start;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.fh-assignment-status-pill.is-dueToday{background:var(--fh-danger-surface);color:var(--fh-danger)}.fh-assignment-status-pill.is-soon{background:var(--fh-yellow-soft-bg);color:var(--fh-yellow-ink)}.fh-assignment-status-pill.is-late{background:var(--fh-danger-surface);color:var(--fh-danger)}.fh-assignment-status-pill.is-submitted{background:color-mix(in srgb, var(--fh-accent) 14%, var(--fh-card));color:var(--fh-accent)}.fh-assignment-card-details{border-top:1px solid var(--fh-border);padding:0 14px 14px}.fh-assignment-card.is-collapsed .fh-assignment-card-details{display:none}.fh-assignment-editor-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.fh-assignments-page .fh-assignment-editor-panel.is-collapsed{padding:12px 16px}.fh-assignments-page .fh-assignment-editor-panel.is-open{margin-top:12px}@media (width<=720px){.fh-assignments-page .fh-assignment-editor-header{flex-direction:column;align-items:stretch}.fh-assignments-page .fh-assignment-editor-header .fh-btn{width:100%}}@media (width<=980px){.fh-groups-assistant-grid,.fh-groups-page-grid,.fh-groups-send-form{grid-template-columns:1fr}.fh-dashboard-feed-grid,.fh-dashboard-feed-grid.has-colab{grid-template-columns:repeat(2,minmax(0,1fr))}.fh-dashboard-feed-col+.fh-dashboard-feed-col{border-left:none}.fh-dashboard-academic-split{grid-template-columns:1fr}.fh-weekly-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fh-weekly-next-item{grid-template-columns:auto minmax(0,1fr)}.fh-weekly-next-date{grid-column:1/-1;margin-left:2px}.fh-progress-card-title{font-size:20px}.fh-obsv-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fh-progress-card-term,.fh-progress-card-term-with-select{font-size:16px}.fh-weekly-card .fh-progress-card-term-with-select{justify-content:flex-start;width:100%;max-width:100%}.fh-weekly-card .fh-progress-card-term-select{text-align:left}}@media (width<=720px){.fh-dashboard-feed-grid,.fh-obsv-metrics-grid{grid-template-columns:1fr}}@media (width<=980px){.fh-login-shell{grid-template-columns:1fr}.fh-login-visual{display:none}.fh-login-panel{padding:28px 16px;display:block}.fh-hub-grid,.fh-page-grid,.fh-general-layout{grid-template-columns:1fr}.fh-side-col{position:static;top:auto}.fh-dashboard-shell{grid-template-columns:1fr}.fh-dashboard-sidebar{display:none}.fh-dashboard-topbar{z-index:15;padding:0 14px;position:sticky;top:0}.fh-dashboard-content{gap:10px;padding:14px}.fh-dashboard-content .fh-card{padding:12px}.fh-dashboard-content .fh-btn{min-height:40px}.fh-dashboard-content .fh-meta{line-height:1.35}.fh-dashboard-content .fh-row{flex-wrap:wrap}.fh-dashboard-stats,.fh-dashboard-grid{grid-template-columns:1fr}.fh-dashboard-banner{flex-direction:column;align-items:flex-start}.fh-dashboard-topbar-actions{flex-wrap:wrap;justify-content:flex-end;width:100%}.fh-dashboard-search{width:100%;max-width:none}.fh-materials-page .fh-dashboard-content{gap:10px;padding:14px}.fh-materials-page .fh-card{padding:12px}.fh-materials-page .fh-materials-form-header{flex-direction:column;align-items:stretch!important}.fh-materials-page .fh-materials-form-header .fh-btn{width:100%}.fh-materials-page .fh-materials-upload-drop,.fh-materials-page .fh-materials-upload-status{padding:12px!important}.fh-materials-page .fh-materials-two-col,.fh-materials-page .fh-materials-folder-form-grid{grid-template-columns:1fr!important}.fh-materials-page .fh-materials-actions{flex-direction:column}.fh-materials-page .fh-materials-actions .fh-btn{width:100%}.fh-materials-page .fh-materials-filters-wrap{justify-content:stretch!important}.fh-materials-page .fh-materials-filters-grid{grid-template-columns:1fr!important;max-width:none!important}.fh-materials-page .fh-materials-item-head{flex-direction:column;align-items:stretch!important}.fh-materials-page .fh-materials-item-actions{grid-template-columns:1fr 1fr;width:100%;display:grid!important}.fh-materials-page .fh-materials-item-actions .fh-btn{width:100%}.fh-materials-page .fh-dashboard-topbar{padding:0 14px}.fh-materials-page .fh-materials-mobile-filter-toggle{justify-content:center;width:100%;margin-top:8px;display:inline-flex}.fh-materials-page .fh-materials-filters-grid{display:none!important}.fh-materials-page .fh-materials-filters-grid.is-open{display:grid!important}.fh-materials-page .fh-dashboard-sidebar{display:none}.fh-materials-page .fh-dashboard-topbar{z-index:10;position:sticky;top:0}.fh-materials-page .fh-materials-actions{bottom:calc(68px + env(safe-area-inset-bottom));background:var(--fh-card);margin-top:2px;padding-top:8px;position:sticky}.fh-materials-page .fh-materials-mobile-nav{z-index:20;background:var(--fh-card);border-top:1px solid var(--fh-border);padding:10px 10px calc(10px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid;position:sticky;bottom:0}.fh-materials-page .fh-materials-mobile-nav .fh-btn{border-radius:10px;padding:8px 6px;font-size:12px}.fh-materials-page .fh-dashboard-content{padding-bottom:calc(82px + env(safe-area-inset-bottom))}.fh-materials-page .fh-materials-url-meta{display:none}.fh-messages-content{padding:12px!important}.fh-messages-content .fh-page-grid,.fh-messages-content .fh-general-layout{border-radius:12px;min-height:auto}.fh-messages-content .fh-general-center{padding:8px 10px 0}.fh-messages-content .fh-scroll{min-height:320px}.fh-messenger-composer{gap:6px}.fh-chat-bubble{max-width:min(84%,520px)}.fh-calendar-board{display:block;overflow-x:auto}.fh-calendar-board>*,.fh-calendar-month-grid{min-width:720px}.fh-bulk-lessons-row,.fh-absence-simulator-controls,.fh-absence-simulator-metrics{grid-template-columns:1fr}}.fh-study-index-badge{letter-spacing:.02em;text-transform:uppercase;border:1px solid var(--fh-border);border-radius:999px;padding:3px 9px;font-size:.72rem;font-weight:600}.fh-study-index-badge--ready{color:var(--fh-chip-green-text);background:#22a05a24}.fh-study-index-badge--processing{color:var(--fh-yellow-ink);background:#dca02829}.fh-study-index-badge--pending{color:var(--fh-text-soft);background:#78788c1f}html[data-fh-theme=dark] .fh-study-index-badge--ready{color:#a7f3d0;background:#34d3992e}html[data-fh-theme=dark] .fh-study-index-badge--processing{color:var(--fh-yellow-ink);background:#ffcb0824}html[data-fh-theme=dark] .fh-study-index-badge--pending{color:var(--fh-text-soft);background:#ffffff14}.fh-materials-page{--fh-materials-panel-bg:color-mix(in srgb, var(--fred-cream) 88%, var(--fh-card));--fh-materials-panel-bg-soft:color-mix(in srgb, var(--fred-cream) 90%, var(--fh-card));--fh-materials-panel-bg-drop:color-mix(in srgb, var(--fred-cream) 90%, var(--fh-card));--fh-materials-panel-bg-drop-hover:color-mix(in srgb, var(--fred-cream) 78%, var(--fh-card));--fh-materials-crumb-bg:color-mix(in srgb, var(--fred-blue) 14%, var(--fh-card));--fh-materials-crumb-bg-active:color-mix(in srgb, var(--fred-blue) 24%, var(--fh-card))}html[data-fh-theme=dark] .fh-materials-page{--fh-materials-panel-bg:var(--fh-surface-soft);--fh-materials-panel-bg-soft:var(--fh-surface-soft);--fh-materials-panel-bg-drop:var(--fh-surface-muted);--fh-materials-panel-bg-drop-hover:var(--fh-surface-hover);--fh-materials-crumb-bg:color-mix(in srgb, var(--fred-blue) 20%, var(--fh-card));--fh-materials-crumb-bg-active:color-mix(in srgb, var(--fred-blue) 32%, var(--fh-card))}.fh-materials-filters-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:8px;width:100%;max-width:920px;display:grid}.fh-materials-section-card{border:1px solid color-mix(in srgb, var(--fred-blue) 42%, var(--fh-border));box-shadow:var(--fh-shadow-card);background:var(--fh-card)}.fh-materials-folder-bar{background:var(--fh-materials-panel-bg);border:1px solid color-mix(in srgb, var(--fred-blue) 28%, var(--fh-border));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--fred-gold) 28%, transparent);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-top:10px;padding:10px 12px;display:flex}.fh-materials-breadcrumb{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:flex}.fh-materials-crumb-wrap{align-items:center;gap:4px;display:inline-flex}.fh-materials-crumb-sep{color:var(--fh-text-soft);-webkit-user-select:none;user-select:none}.fh-materials-crumb{border:1px solid color-mix(in srgb, var(--fred-blue) 30%, var(--fh-border));background:var(--fh-materials-crumb-bg);color:var(--fred-blue);cursor:pointer;font:inherit;border-radius:999px;padding:5px 8px;transition:background .2s,border-color .2s}.fh-materials-crumb:hover,.fh-materials-crumb.is-active{background:var(--fh-materials-crumb-bg-active);border-color:color-mix(in srgb, var(--fred-blue) 55%, var(--fh-border))}.fh-materials-folder-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-top:12px;display:grid}.fh-materials-folder-card{border:2px solid var(--fred-blue);background:var(--fh-card);border-radius:16px;grid-template-rows:1fr auto;display:grid;overflow:hidden;box-shadow:0 10px 22px #1e4fd824}.fh-materials-folder-open{text-align:left;cursor:pointer;color:#f7fbff;width:100%;min-height:160px;font:inherit;background:linear-gradient(#2f72dd 0%,#2a5fc9 100%);border:0;align-content:start;gap:10px;padding:16px 14px 14px;display:grid}.fh-materials-folder-open:hover{background:linear-gradient(#367de6 0%,#2d66d4 100%)}.fh-materials-folder-icon{font-size:1.4rem}.fh-materials-folder-name{color:#ffd84d;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em;font-size:1.05rem;font-weight:800;line-height:1.25;display:-webkit-box;overflow:hidden}.fh-materials-folder-meta{color:#e9f1ff;min-height:1.5em;margin:0}.fh-materials-folder-discipline{background:color-mix(in srgb, var(--fh-brand-yellow,#ffd84d) 22%, transparent);color:#fff8dc;border-radius:999px;margin-top:4px;padding:2px 8px;font-size:.78rem;font-weight:700;display:inline-block}.fh-materials-folder-form{border:1px solid color-mix(in srgb, var(--fred-blue) 28%, var(--fh-border));background:var(--fh-materials-panel-bg);border-radius:12px;gap:8px;margin-top:10px;padding:12px;display:grid}.fh-materials-folder-form-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.fh-materials-folder-form-hint,.fh-materials-folder-discipline-hint{margin:0}.fh-materials-folder-form-actions{flex-wrap:wrap;gap:8px;display:flex}.fh-materials-folder-actions{border-top:1px solid color-mix(in srgb, var(--fred-blue) 24%, var(--fh-border));background:var(--fh-materials-panel-bg-soft);flex-wrap:wrap;gap:8px;padding:14px 12px 12px;display:flex}.fh-materials-move-select{min-width:180px;max-width:240px}.fh-materials-item-card{border:2px solid var(--fred-blue);background:var(--fh-card);outline-offset:-1px;border-radius:18px;outline:1px solid #1e4fd82e;grid-template-rows:1fr auto;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 22px #1e4fd824}.fh-materials-item-top{color:#f7fbff;background:linear-gradient(#2f72dd 0%,#2a5fc9 100%);border-bottom:1px solid #ffffff59;gap:8px;min-height:165px;padding:14px 14px 12px;display:grid}.fh-materials-item-title-wrap{gap:4px;min-height:86px;display:grid}.fh-materials-item-discipline{color:#ffd84d;font-weight:800}.fh-materials-item-title{color:#ffd84d;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em;font-size:1.1rem;font-weight:800;line-height:1.25;display:-webkit-box;overflow:hidden}.fh-materials-item-meta,.fh-materials-item-tags,.fh-materials-item-description,.fh-materials-item-top .fh-materials-url-meta{color:#e9f1ff;margin:0}.fh-materials-item-actions-row{border-top:1px solid color-mix(in srgb, var(--fred-blue) 24%, var(--fh-border));background:var(--fh-materials-panel-bg-soft);border-bottom-right-radius:16px;border-bottom-left-radius:16px;flex-wrap:wrap;gap:8px;padding:14px 12px 12px;display:flex}.fh-materials-upload-drop{border:2px dashed color-mix(in srgb, var(--fred-blue) 48%, var(--fh-border));text-align:center;background:var(--fh-materials-panel-bg-drop);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--fred-blue) 16%, transparent);border-radius:12px;gap:8px;padding:14px;display:grid}.fh-materials-upload-drop:hover{background:var(--fh-materials-panel-bg-drop-hover);border-color:color-mix(in srgb, var(--fred-blue) 65%, var(--fh-border))}.fh-materials-page .fh-materials-filters-wrap{border-top:1px solid color-mix(in srgb, var(--fred-blue) 24%, var(--fh-border));justify-content:flex-end;padding-top:10px;display:flex;margin-top:10px!important}.fh-materials-page .fh-materials-filters-grid .fh-input{border-color:color-mix(in srgb, var(--fred-blue) 28%, var(--fh-border))}.fh-materials-page .fh-materials-item-head{border-bottom:1px solid color-mix(in srgb, var(--fred-blue) 16%, var(--fh-border));padding-bottom:8px}.fh-materials-page .fh-meta{color:color-mix(in srgb, var(--fred-blue) 72%, var(--fh-text-soft))}.fh-materials-upload-status{border:2px solid color-mix(in srgb, var(--fh-success) 55%, var(--fh-border));background:color-mix(in srgb, var(--fh-success) 12%, var(--fh-card));box-shadow:0 0 0 1px color-mix(in srgb, var(--fh-text) 6%, transparent) inset;color:var(--fh-text);border-radius:10px;gap:10px;padding:14px;display:grid}.fh-materials-upload-status-title{color:var(--fh-text-strong);font-size:1.05rem;font-weight:700}html[data-fh-theme=dark] .fh-materials-upload-status{border-color:color-mix(in srgb, var(--fh-success) 45%, var(--fh-border));background:#34d3991f}html[data-fh-theme=dark] .fh-materials-section-card{border-color:var(--fh-border);box-shadow:0 8px 24px #00000059}html[data-fh-theme=dark] .fh-materials-page .fh-classroom-term-card{border-color:var(--fh-border)}html[data-fh-theme=dark] .fh-materials-page .fh-classroom-term-card-name{color:var(--fh-text)}html[data-fh-theme=dark] .fh-materials-page .fh-academic-term-select-on-light.fh-progress-card-term-with-select{color:var(--fh-brand-yellow)}html[data-fh-theme=dark] .fh-materials-page .fh-academic-term-select-on-light .fh-progress-card-term-select{color:inherit}html[data-fh-theme=dark] .fh-materials-page .fh-academic-term-select-on-light.fh-progress-card-term-with-select:focus-within{outline:1px dotted #ffcb088c}html[data-fh-theme=dark] .fh-materials-folder-bar{background:var(--fh-materials-panel-bg);border-color:var(--fh-border);box-shadow:inset 0 0 0 1px #ffffff0a}html[data-fh-theme=dark] .fh-materials-crumb{background:var(--fh-materials-crumb-bg);border-color:color-mix(in srgb, var(--fred-blue) 42%, var(--fh-border));color:var(--fh-chip-blue-text)}html[data-fh-theme=dark] .fh-materials-crumb:hover,html[data-fh-theme=dark] .fh-materials-crumb.is-active{background:var(--fh-materials-crumb-bg-active);border-color:color-mix(in srgb, var(--fred-blue) 58%, var(--fh-border));color:var(--fh-text)}html[data-fh-theme=dark] .fh-materials-folder-card,html[data-fh-theme=dark] .fh-materials-item-card{background:var(--fh-card);border-color:color-mix(in srgb, var(--fred-blue) 55%, var(--fh-border));outline-color:color-mix(in srgb, var(--fred-blue) 35%, transparent);box-shadow:0 8px 22px #00000059}html[data-fh-theme=dark] .fh-materials-folder-open{background:linear-gradient(#2a4f8f 0%,#223f75 100%)}html[data-fh-theme=dark] .fh-materials-folder-open:hover{background:linear-gradient(#315a9e 0%,#274683 100%)}html[data-fh-theme=dark] .fh-materials-folder-actions,html[data-fh-theme=dark] .fh-materials-item-actions-row{background:var(--fh-materials-panel-bg-soft);border-top-color:var(--fh-border)}html[data-fh-theme=dark] .fh-materials-folder-form{background:var(--fh-materials-panel-bg);border-color:var(--fh-border)}html[data-fh-theme=dark] .fh-materials-upload-drop{background:var(--fh-materials-panel-bg-drop);border-color:color-mix(in srgb, var(--fred-blue) 45%, var(--fh-border))}html[data-fh-theme=dark] .fh-materials-upload-drop:hover{background:var(--fh-materials-panel-bg-drop-hover);border-color:color-mix(in srgb, var(--fred-blue) 62%, var(--fh-border))}html[data-fh-theme=dark] .fh-materials-page .fh-materials-filters-wrap{border-top-color:var(--fh-border)}html[data-fh-theme=dark] .fh-materials-page .fh-materials-filters-grid .fh-input,html[data-fh-theme=dark] .fh-materials-page .fh-materials-move-select{border-color:var(--fh-border);background:var(--fh-input-bg);color:var(--fh-text)}html[data-fh-theme=dark] .fh-materials-folder-actions .fh-btn,html[data-fh-theme=dark] .fh-materials-item-actions-row .fh-btn{background:var(--fh-card);border-color:var(--fh-border);color:var(--fh-text)}html[data-fh-theme=dark] .fh-materials-folder-actions .fh-btn:hover,html[data-fh-theme=dark] .fh-materials-item-actions-row .fh-btn:hover{background:var(--fh-surface-hover);border-color:color-mix(in srgb, var(--fh-brand-yellow) 48%, var(--fh-border))}html[data-fh-theme=dark] .fh-materials-page .fh-meta{color:var(--fh-muted)}html[data-fh-theme=dark] .fh-materials-item-top .fh-meta.fh-materials-item-meta,html[data-fh-theme=dark] .fh-materials-item-top .fh-meta.fh-materials-item-tags,html[data-fh-theme=dark] .fh-materials-item-top .fh-meta.fh-materials-url-meta{color:#e9f1ff}html[data-fh-theme=dark] .fh-materials-item-top{background:linear-gradient(#2a4f8f 0%,#223f75 100%);border-bottom-color:#ffffff29}html[data-fh-theme=dark] .fh-title,html[data-fh-theme=dark] .fh-topbar-title,html[data-fh-theme=dark] .fh-header-subtitle,html[data-fh-theme=dark] .fh-dashboard-hello-base,html[data-fh-theme=dark] .fh-dashboard-content,html[data-fh-theme=dark] .fh-thread-content,html[data-fh-theme=dark] .fh-card,html[data-fh-theme=dark] .fh-obsv-metric-card,html[data-fh-theme=dark] .fh-discipline-card,html[data-fh-theme=dark] .fh-weekly-summary-metric,html[data-fh-theme=dark] .fh-modal-card,html[data-fh-theme=dark] .fh-calendar-absence-summary,html[data-fh-theme=dark] .fh-register-institution-item,html[data-fh-theme=dark] .fh-dashboard-notify-item,html[data-fh-theme=dark] .fh-dashboard-search-item,html[data-fh-theme=dark] .fh-deadline-alert-row,html[data-fh-theme=dark] .fh-messages-item{color:var(--fh-text)}html[data-fh-theme=dark] .fh-dashboard-hello-name{color:var(--fh-brand-yellow)}html[data-fh-theme=dark] select,html[data-fh-theme=dark] select option,html[data-fh-theme=dark] .fh-input,html[data-fh-theme=dark] .fh-textarea,html[data-fh-theme=dark] .fh-tab.active{color:var(--fh-text)}html[data-fh-theme=dark] .fh-dashboard-nav-item{color:var(--fh-muted)}html[data-fh-theme=dark] .fh-dashboard-nav-item.active{color:var(--fh-text)}html[data-fh-theme=dark] .fh-badge:not(.fh-badge-professor){color:var(--fh-text-soft)}html[data-fh-theme=dark] .fh-obsv-alert-card.is-critical,html[data-fh-theme=dark] .fh-obsv-alert-card.is-warn{color:var(--fh-text)}@media (width<=640px){.fh-materials-page .fh-materials-item-actions-row{flex-direction:column}.fh-materials-page .fh-dashboard-sidebar{padding:10px 8px}.fh-materials-page .fh-dashboard-nav{gap:4px}.fh-dashboard-topbar{flex-direction:column;align-items:flex-start;gap:4px;height:auto;min-height:52px;padding-top:8px;padding-bottom:8px}.fh-topbar-title{font-size:15px}.fh-chat-bubble{max-width:92%}.fh-calendar-month-cell{min-height:92px;padding:6px}.fh-calendar-month-event{font-size:10px}.fh-absence-visual-row{padding:10px}.fh-absence-visual-row-head{flex-direction:column;align-items:flex-start;gap:4px}}.fh-attendance-prompt-backdrop{z-index:1200;align-items:center;padding:20px}.fh-attendance-prompt{flex-direction:column;gap:14px;width:min(520px,100%);max-height:min(85vh,640px);padding:20px;display:flex;box-shadow:0 24px 48px #0000002e}.fh-attendance-prompt-title{margin:0;font-size:1.25rem}.fh-attendance-prompt-lead{color:var(--fh-muted);margin:0;font-size:14px;line-height:1.45}.fh-attendance-prompt-list{gap:8px;max-height:min(42vh,360px);margin:0;padding:0;list-style:none;display:grid;overflow:auto}.fh-attendance-prompt-row{border:1px solid var(--fh-border);cursor:pointer;background:var(--fh-card);border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px;display:grid}.fh-attendance-prompt-row.is-absent{border-color:color-mix(in srgb, #c0392b 40%, var(--fh-border));background:color-mix(in srgb, #c0392b 6%, var(--fh-card))}.fh-attendance-prompt-row-body{gap:2px;min-width:0;display:grid}.fh-attendance-prompt-row-title{font-size:14px;font-weight:600}.fh-attendance-prompt-row-meta{color:var(--fh-muted);font-size:12px}.fh-attendance-prompt-row-flag{text-transform:uppercase;color:var(--fh-muted);font-size:11px;font-weight:700}.fh-attendance-prompt-row.is-absent .fh-attendance-prompt-row-flag{color:#c0392b}.fh-attendance-prompt-actions{flex-direction:column;gap:8px;display:flex}.fh-attendance-prompt-backdrop--native .fh-attendance-prompt{width:100%;max-height:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 32px)}.fh-attendance-prompt--native .fh-attendance-prompt-actions .fh-btn{width:100%}.fh-grades-settings-form,.fh-grades-filters{gap:10px;margin-top:12px;display:grid}.fh-grades-filters{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.fh-grades-assignment-meta{gap:4px;margin:12px 0;font-size:13px;display:grid}.fh-grades-averages-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:12px;display:grid}.fh-grades-average-card{padding:14px 16px}.fh-grades-average-value{color:var(--fh-brand-blue);margin:6px 0;font-size:1.75rem;font-weight:700;line-height:1.1}.fh-grades-table-wrap{margin-top:12px;overflow-x:auto}.fh-grades-table{border-collapse:collapse;width:100%;font-size:14px}.fh-grades-table th,.fh-grades-table td{border-bottom:1px solid var(--fh-border);text-align:left;vertical-align:top;padding:10px 12px}.fh-grades-table th{text-transform:uppercase;letter-spacing:.06em;color:var(--fh-muted);font-size:11px}.fh-grades-input{min-width:88px;max-width:120px}.fh-grades-page .fh-dashboard-content{gap:12px;display:grid}.fh-discipline-enroll-list{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.fh-discipline-enroll-row{border:1px solid var(--fh-border);background:var(--fh-surface);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:10px 12px;display:flex}.fh-discipline-enroll-name{font-weight:600}.fh-discipline-enroll-kind{color:var(--fh-muted);margin-left:8px;font-size:.78rem}.fh-discipline-enroll-hint{margin-top:12px}.fh-discipline-enroll--compact .fh-discipline-enroll-row{padding:8px 10px}html[data-fh-theme=dark] .fh-academic-term-select-on-light.fh-progress-card-term-with-select{color:var(--fh-brand-yellow)}html[data-fh-theme=dark] .fh-academic-term-select-on-light .fh-progress-card-term-select{color:inherit}html[data-fh-theme=dark] .fh-academic-term-select-on-light.fh-progress-card-term-with-select:focus-within{outline:1px dotted #ffcb088c}html[data-fh-theme=dark] .fh-dashboard-notify-item.is-soon{border-color:color-mix(in srgb, var(--fh-brand-yellow) 45%, var(--fh-border))}html[data-fh-theme=dark] .fh-deadline-alert-row:hover{border-color:color-mix(in srgb, var(--fh-accent) 35%, var(--fh-border))}html[data-fh-theme=dark] .fh-colab-reports-panel{background:var(--fh-danger-surface);border-color:color-mix(in srgb, var(--fh-danger) 35%, var(--fh-border))}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-grid-icon{background:color-mix(in srgb, var(--fred-blue) 18%, var(--fh-mob-surface))}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-prompt-btn,html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-colab-scroll .fh-card{color:var(--fred-text-mob)}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-chat-channels{background:var(--fh-mob-surface);border-bottom-color:var(--fred-border-mob)}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-settings-input,html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-settings-textarea{background:var(--fh-mob-surface-elevated)}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-settings-error{background:var(--fh-mob-danger-surface);color:#fca5a5}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-conversation-search-input,html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-conv-picker-search,html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-conversation-input{background:var(--fh-mob-surface-elevated)}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-tab-inst-logo{background:var(--fh-mob-surface)}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-panel .fh-hub-panel-mode .fh-card,html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-hub-panel-content .fh-card,html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-panel .fh-weekly-card,html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-hub-panel-content .fh-weekly-card,html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-panel .fh-progress-card,html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-hub-panel-content .fh-progress-card{background:var(--fh-card);border-color:var(--fh-border);color:var(--fh-text)}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-academic-panel .fh-materials-item-card{background:var(--fh-mob-surface);border-color:var(--fred-border-mob)}html.fh-capacitor-native[data-fh-theme=dark] .fh-native-api-banner{color:#f5e6a8;background:#3d3414;border-bottom-color:#5c4f1a}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-back-btn,html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-tab-btn.is-active,html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-tab-btn.is-active .fh-mob-tab-label,html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-tab-btn.is-active .fh-mob-tab-icon-wrap svg{color:var(--fred-yellow)}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-tab-btn:not(.is-active){color:color-mix(in srgb, var(--fred-yellow) 68%, var(--fred-muted-mob))}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-tab-btn:not(.is-active) .fh-mob-tab-icon-wrap svg{color:color-mix(in srgb, var(--fred-yellow) 62%, var(--fred-muted-mob))}html[data-fh-theme=dark] .fh-discipline-final-grade{background:color-mix(in srgb, var(--fh-brand-yellow) 12%, transparent);border-color:color-mix(in srgb, var(--fh-brand-yellow) 22%, transparent)}html[data-fh-theme=dark] .fh-discipline-final-grade-value{color:var(--fh-brand-yellow)}html.fh-capacitor-native{--fh-safe-top:env(safe-area-inset-top,0px);--fh-safe-right:env(safe-area-inset-right,0px);--fh-safe-bottom:env(safe-area-inset-bottom,0px);--fh-safe-left:env(safe-area-inset-left,0px);--fh-mob-statusbar-fill:#1e4fd8;--fh-mob-tab-active:var(--fh-accent);--fh-mob-tab-bar-h:64px;--fh-mob-radius-lg:20px;--fh-mob-radius-md:14px;--fh-mob-shadow-card:0 8px 32px #0f284714;--fh-mob-shadow-auth:0 24px 48px #0f28471f;--fh-mob-auth-gradient:linear-gradient(165deg, #0c1f3a 0%, #1a4a8c 38%, #1a66cc 52%, #f0ebe3 52.2%, var(--fh-bg) 100%)}html.fh-capacitor-native[data-fh-theme=dark]{--fh-mob-shadow-card:0 8px 32px #00000059;--fh-mob-shadow-auth:0 24px 48px #00000073;--fh-mob-auth-gradient:linear-gradient(165deg, #060810 0%, #0f1e38 40%, #1a3d7a 54%, #12151f 54.2%, var(--fh-bg) 100%)}html.fh-capacitor-native,html.fh-capacitor-native body,html.fh-capacitor-native #root{min-height:100dvh}html.fh-capacitor-native.fh-mob-routes #root{flex-direction:column;width:100%;max-width:none;height:100%;min-height:100%;margin:0;display:flex;overflow:hidden}html.fh-capacitor-native.fh-mob-routes #root .fh-auth-route,html.fh-capacitor-native.fh-mob-routes #root .fh-mob-chrome{flex-direction:column;flex:1;height:100%;min-height:0;display:flex}html.fh-capacitor-native.fh-ios{--fh-safe-bottom:max(env(safe-area-inset-bottom,0px), 34px)}html.fh-capacitor-native.fh-ios:not(.fh-cap-statusbar-below){--fh-safe-top:max(env(safe-area-inset-top,0px), 59px)}html.fh-capacitor-native.fh-cap-statusbar-below .fh-mob-header{padding-top:14px}html.fh-capacitor-native.fh-cap-statusbar-below.fh-mob-tab-root:before{display:none}html.fh-capacitor-native body{-webkit-tap-highlight-color:transparent;padding:0;font-family:Plus Jakarta Sans,system-ui,sans-serif}html.fh-capacitor-native .fh-route-loading{padding-top:calc(24px + var(--fh-safe-top));padding-left:calc(24px + var(--fh-safe-left));padding-right:calc(24px + var(--fh-safe-right));box-sizing:border-box;min-height:100dvh}html.fh-capacitor-native .fh-login-shell{grid-template-columns:unset;background:var(--fh-mob-auth-gradient);flex-direction:column;min-height:100dvh;display:flex;position:relative}html.fh-capacitor-native .fh-login-visual{display:none}html.fh-capacitor-native .fh-login-panel{background:0 0;flex-direction:column;flex:1;justify-content:flex-end;align-items:stretch;min-height:0;padding:0;display:flex}html.fh-capacitor-native .fh-login-box{min-height:0;padding:calc(8px + var(--fh-safe-top)) calc(20px + var(--fh-safe-right)) calc(28px + var(--fh-safe-bottom)) calc(20px + var(--fh-safe-left));-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;margin:0;display:flex;overflow-y:auto}html.fh-capacitor-native .fh-login-box>.fh-title,html.fh-capacitor-native .fh-login-box>.fh-register-intro{display:none}html.fh-capacitor-native .fh-mob-auth-header{margin-bottom:20px;padding-top:4px}html.fh-capacitor-native .fh-mob-auth-header .fh-brand-fred{font-size:42px}html.fh-capacitor-native .fh-mob-auth-header .fh-brand-hub{font-size:36px}html.fh-capacitor-native .fh-mob-auth-title{letter-spacing:-.03em;color:#fff;margin:16px 0 0;font-size:26px;font-weight:700;line-height:1.15}html.fh-capacitor-native .fh-mob-auth-subtitle{color:#ffffffdb;max-width:32ch;margin:8px 0 0;font-size:15px;line-height:1.45}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-auth-title{color:#f3f5fa}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-auth-subtitle{color:#eceef4c7}html.fh-capacitor-native .fh-login-form,html.fh-capacitor-native .fh-register-intro{max-width:none}html.fh-capacitor-native .fh-login-form{border-radius:var(--fh-mob-radius-lg);background:var(--fh-card);box-shadow:var(--fh-mob-shadow-auth);border:1px solid var(--fh-border);gap:14px;margin-top:auto;padding:22px 18px 18px}html.fh-capacitor-native .fh-register-progress-wrap{padding:0 18px}html.fh-capacitor-native .fh-register-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--fh-nav-section);margin:8px 0 4px;font-size:11px;font-weight:700}html.fh-capacitor-native .fh-theme-toggle--login{color:#fff;background:#ffffff1f;border-color:#ffffff59}html.fh-capacitor-native[data-fh-theme=dark] .fh-theme-toggle--login{color:#f3f5fa;background:#0003;border-color:#fff3}html.fh-capacitor-native .fh-theme-toggle--login{top:calc(10px + var(--fh-safe-top));right:calc(14px + var(--fh-safe-right));z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px}html.fh-capacitor-native .fh-login-form .fh-mob-locale--inline{box-shadow:none;border-bottom:1px solid var(--fred-border-mob);background:0 0;margin:0 0 4px;padding:0 0 14px}html.fh-capacitor-native .fh-login-form .fh-mob-locale--inline .fh-mob-locale-label{color:var(--fh-muted);margin-bottom:8px;font-size:13px;font-weight:600}html.fh-capacitor-native .fh-login-form .fh-mob-locale--inline .fh-mob-locale-btn{min-height:40px;font-size:14px}html.fh-capacitor-native .fh-label{color:var(--fh-muted);margin-bottom:6px;font-size:13px;font-weight:600}html.fh-capacitor-native input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=button]):not([type=submit]),html.fh-capacitor-native textarea,html.fh-capacitor-native select{font-size:16px}html.fh-capacitor-native .fh-input{border-radius:var(--fh-mob-radius-md);border-color:var(--fh-border);background:var(--fh-input-bg);min-height:50px;padding:0 14px;font-size:16px}html.fh-capacitor-native .fh-input:focus{border-color:var(--fh-accent);outline:none;box-shadow:0 0 0 3px #1a66cc26}html.fh-capacitor-native .fh-btn{border-radius:var(--fh-mob-radius-md);min-height:50px;font-size:16px;font-weight:600}html.fh-capacitor-native .fh-btn-primary{color:#fff;background:linear-gradient(135deg,#1a66cc 0%,#144fa3 100%);border:none;box-shadow:0 4px 14px #1a66cc59}html.fh-capacitor-native .fh-btn:not(.fh-btn-primary){background:var(--fh-surface-hover);border:1px solid var(--fh-border)}html.fh-capacitor-native .fh-error{border-radius:10px;padding:8px 10px;font-size:13px}html.fh-capacitor-native .fh-mob-tab-item{color:var(--fh-muted);letter-spacing:.02em;cursor:pointer;transition:color var(--fh-motion-fast) var(--fh-ease-out);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px 4px 6px;font-family:inherit;font-size:10px;font-weight:600;display:flex}html.fh-capacitor-native .fh-mob-tab-item.is-active{color:var(--fh-mob-tab-active)}html.fh-capacitor-native .fh-mob-tab-item.is-active .fh-mob-tab-icon:after{opacity:1;transform:scaleX(1)}html.fh-capacitor-native .fh-mob-tab-icon{justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:relative}html.fh-capacitor-native .fh-mob-tab-icon:after{content:"";background:var(--fh-brand-yellow);opacity:0;width:18px;height:3px;transition:opacity var(--fh-motion-fast) var(--fh-ease-out), transform var(--fh-motion-fast) var(--fh-ease-out);border-radius:99px;margin-left:-9px;position:absolute;bottom:-4px;left:50%;transform:scaleX(.4)}html.fh-capacitor-native .fh-mob-tab-label{line-height:1.1}html.fh-capacitor-native:not(.fh-mob-routes) .fh-dashboard-shell{min-height:100dvh;padding-bottom:calc(var(--fh-mob-tab-bar-h) + var(--fh-safe-bottom));grid-template-columns:1fr}html.fh-capacitor-native .fh-dashboard-sidebar{display:none}html.fh-capacitor-native .fh-dashboard-main{min-width:0}html.fh-capacitor-native .fh-dashboard-topbar{z-index:15;min-height:52px;padding:calc(10px + var(--fh-safe-top)) calc(16px + var(--fh-safe-right)) 10px calc(16px + var(--fh-safe-left));background:color-mix(in srgb, var(--fh-topbar-bg) 90%, transparent);border-bottom:1px solid var(--fh-border);-webkit-backdrop-filter:blur(12px);position:sticky;top:0}html.fh-capacitor-native .fh-topbar-title{letter-spacing:-.02em;font-size:18px;font-weight:700}html.fh-capacitor-native .fh-dashboard-search{display:none}html.fh-capacitor-native .fh-dashboard-topbar-actions{gap:8px}html.fh-capacitor-native .fh-dashboard-topbar-actions select.fh-input{max-width:140px;padding:0 10px;font-size:13px;min-width:0!important;height:40px!important}html.fh-capacitor-native .fh-dashboard-content{padding:12px calc(16px + var(--fh-safe-right)) 16px calc(16px + var(--fh-safe-left));gap:12px}html.fh-capacitor-native .fh-card{border-radius:var(--fh-mob-radius-md);border:1px solid var(--fh-border);box-shadow:var(--fh-mob-shadow-card);padding:16px}html.fh-capacitor-native .fh-hub-grid,html.fh-capacitor-native .fh-page-grid,html.fh-capacitor-native .fh-general-layout{grid-template-columns:1fr;gap:12px}html.fh-capacitor-native .fh-side-col{position:static;top:auto}html.fh-capacitor-native .fh-dashboard-stats,html.fh-capacitor-native .fh-dashboard-grid{grid-template-columns:1fr 1fr;gap:10px}html.fh-capacitor-native .fh-dashboard-stat{border-radius:var(--fh-mob-radius-md);padding:14px}html.fh-capacitor-native .fh-dashboard-nav-item{border-radius:12px;min-height:44px}html.fh-capacitor-native .fh-dashboard-banner{border-radius:var(--fh-mob-radius-md);flex-direction:column;align-items:stretch;padding:14px}html.fh-capacitor-native .fh-dashboard-feed-col+.fh-dashboard-feed-col{border-left:0;border-top:1px solid var(--fh-border);margin-top:4px;padding-top:12px}html.fh-capacitor-native .fh-row{flex-wrap:wrap;gap:8px}html.fh-capacitor-native .fh-dashboard-content .fh-btn{min-height:44px}html.fh-capacitor-native .fh-chat-layout,html.fh-capacitor-native .fh-messages-layout{min-height:calc(100dvh - var(--fh-mob-tab-bar-h) - var(--fh-safe-bottom))}html.fh-capacitor-native .fh-chat-messages,html.fh-capacitor-native .fh-thread-list{padding-bottom:8px}html.fh-capacitor-native .fh-chat-composer,html.fh-capacitor-native .fh-composer-bar{padding-bottom:calc(8px + var(--fh-safe-bottom))}html.fh-capacitor-native .fh-calendar-wrap{display:none!important}html.fh-capacitor-native .fh-dashboard-shell.fh-mob-no-tab-pad{padding-bottom:var(--fh-safe-bottom)}html.fh-capacitor-native .fh-dashboard-main>:first-child:not(.fh-dashboard-topbar){padding-top:var(--fh-safe-top)}html.fh-capacitor-native .fh-native-api-banner{color:#5c4a00;background:#fff3cd;border-bottom:1px solid #f0d78c;flex-shrink:0;padding:10px 14px;font-size:12px;line-height:1.4}html.fh-capacitor-native .fh-native-api-banner code{background:#0000000f;border-radius:4px;padding:1px 4px;font-size:11px}html.fh-capacitor-native{--fred-blue:#1e4fd8;--fred-blue-deep:#15347a;--fred-yellow:#fbc02d;--fred-cream:#fcfbf8;--fred-border-mob:#e6e8ef;--fred-text-mob:#0f1733;--fred-muted-mob:#6b7390;--fred-danger-mob:#e53935;--fred-ink:var(--fred-text-mob);--fred-ink-muted:var(--fred-muted-mob);--fh-accent:#1e4fd8;--fh-brand-blue:#1e4fd8;--fh-mob-tab-h:56px;--fh-mob-composer-pad-y:6px;--fh-mob-composer-pad-x:10px;--fh-mob-glass-bg:#fcfbf89e;--fh-mob-glass-border:#ffffffb8;--fh-mob-glass-blur:blur(32px) saturate(1.9) brightness(1.04);--fh-mob-surface:#fff;--fh-mob-surface-elevated:#f8fafc;--fh-mob-danger-surface:#fee2e2;--fh-mob-accent-soft:#eff6ff;--fh-mob-reply-surface:#f0f4ff}html.fh-capacitor-native[data-fh-theme=dark]{--fh-mob-glass-bg:#12151fad;--fh-mob-glass-border:#ffffff1a;--fh-mob-glass-blur:blur(32px) saturate(1.6) brightness(.92);--fred-cream:#12151f;--fred-border-mob:#2a3142;--fred-text-mob:#eceef4;--fred-muted-mob:#9aa3bc;--fred-blue:#5a93f5;--fred-blue-deep:#3d6fc4;--fred-ink:#eceef4;--fred-ink-muted:#9aa3bc;--fh-accent:var(--fred-blue);--fh-brand-blue:var(--fred-blue);--fh-mob-surface:#1a1f2e;--fh-mob-surface-elevated:#252b3d;--fh-mob-danger-surface:color-mix(in srgb, var(--fred-danger-mob) 18%, var(--fh-mob-surface));--fh-mob-accent-soft:color-mix(in srgb, var(--fred-blue) 14%, var(--fh-mob-surface));--fh-mob-reply-surface:color-mix(in srgb, var(--fred-blue) 12%, var(--fh-mob-surface))}html.fh-capacitor-native .fh-mob-app,html.fh-capacitor-native .fh-mob-page{background:var(--fred-cream);width:100%;max-width:100%;min-height:0;color:var(--fred-text-mob);box-sizing:border-box;flex-direction:column;flex:1;margin:0;font-family:Plus Jakarta Sans,Inter,system-ui,sans-serif;display:flex;overflow:hidden}html.fh-capacitor-native .fh-mob-mono{font-family:IBM Plex Mono,ui-monospace,Menlo,monospace}html.fh-capacitor-native .fh-mob-scroll{overscroll-behavior-y:none;-webkit-overflow-scrolling:touch;flex:1;width:100%;max-width:none;min-height:0;padding-bottom:16px;overflow:hidden auto}html.fh-capacitor-native .fh-mob-scroll--inbox{background:var(--fred-cream)}html.fh-capacitor-native .fh-mob-tab-shell{background:var(--fred-cream);flex-direction:column;flex:1;width:100%;max-width:none;min-height:0;display:flex;overflow:hidden}html.fh-capacitor-native .fh-mob-tab-scroll{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;width:100%;min-height:0;padding-bottom:calc(12px + var(--fh-safe-bottom,0px));box-sizing:border-box;flex:1;overflow:hidden auto}html.fh-capacitor-native.fh-android .fh-mob-tab-shell{flex:1 1 0;grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid;overflow:hidden}html.fh-capacitor-native.fh-android .fh-mob-tab-scroll,html.fh-capacitor-native.fh-android .fh-mob-academic-tab-scroll,html.fh-capacitor-native.fh-android .fh-mob-profile-scroll{overscroll-behavior-y:auto;flex:1 1 0;height:100%;min-height:0;max-height:100%;overflow-y:scroll}html.fh-capacitor-native.fh-android.fh-mob-routes,html.fh-capacitor-native.fh-android.fh-mob-routes body,html.fh-capacitor-native.fh-android.fh-mob-routes #root{height:100%;min-height:100%;max-height:100%}html.fh-capacitor-native.fh-android .fh-mob-chrome{height:100%;min-height:0;max-height:100%}html.fh-capacitor-native.fh-android .fh-mob-chrome-body{flex:1 1 0;min-height:0;overflow:hidden}html.fh-capacitor-native.fh-android .fh-mob-panel-scroll{padding-bottom:calc(12px + var(--fh-safe-bottom,0px))}html.fh-capacitor-native .fh-mob-tab-scroll .fh-mob-panel{flex:none;min-height:auto;overflow:visible}html.fh-capacitor-native .fh-mob-tab-shell>.fh-mob-header{z-index:2;flex-shrink:0}html.fh-capacitor-native .fh-mob-header--tab{padding:12px 16px 18px;padding-top:calc(14px + var(--fh-safe-top,0px))}html.fh-capacitor-native .fh-mob-header--tab .fh-mob-header-top{min-height:20px;max-height:20px}html.fh-capacitor-native .fh-mob-header--tab .fh-mob-header-title-row{align-items:center;min-height:30px;max-height:30px;margin-top:8px}html.fh-capacitor-native .fh-mob-header--tab .fh-mob-h1{white-space:nowrap;text-overflow:ellipsis;font-size:1.5rem;line-height:1.25;overflow:hidden}html.fh-capacitor-native .fh-mob-header--tab .fh-mob-sub,html.fh-capacitor-native .fh-mob-header--tab .fh-mob-sub-btn{text-overflow:ellipsis;white-space:nowrap;min-height:15px;max-height:15px;margin-top:4px;line-height:15px;overflow:hidden}html.fh-capacitor-native .fh-mob-header--tab .fh-mob-tab-inst-logo{border-radius:8px;width:68px;min-width:68px;height:28px;padding:3px 6px}html.fh-capacitor-native .fh-mob-tab-user-avatar{background:var(--fred-yellow);width:28px;min-width:28px;height:28px;color:var(--fred-blue-deep);border:1.5px solid #ffffff8c;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:800;display:flex;overflow:hidden;box-shadow:0 1px 6px #0f173329}html.fh-capacitor-native .fh-mob-tab-user-avatar img{object-fit:cover;width:100%;height:100%;display:block}html.fh-capacitor-native .fh-mob-profile-scroll{box-sizing:border-box;padding:12px 12px 16px}html.fh-capacitor-native .fh-mob-inbox-layout{background:var(--fred-cream);flex-direction:column;flex:1;width:100%;max-width:none;min-height:0;display:flex;overflow:hidden}html.fh-capacitor-native .fh-mob-inbox-top{z-index:2;background:var(--fred-cream);flex-shrink:0}html.fh-capacitor-native .fh-mob-inbox-scroll{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;background:var(--fred-cream);flex:1;width:100%;min-height:0;padding-bottom:12px;overflow:hidden auto}html.fh-capacitor-native .fh-mob-header{padding:12px 16px 18px;padding-top:calc(14px + var(--fh-safe-top,0px));color:#fff;box-sizing:border-box;flex-shrink:0;width:100%;max-width:none}html.fh-capacitor-native .fh-mob-header--inbox{padding-bottom:18px}html.fh-capacitor-native .fh-mob-header--blue .fh-mob-accent{color:var(--fred-yellow)}html.fh-capacitor-native .fh-mob-header--danger{background:var(--fred-danger-mob)}html.fh-capacitor-native .fh-mob-header--gradient{background:linear-gradient(135deg, var(--fred-blue-deep), var(--fred-blue));position:relative}html.fh-capacitor-native .fh-mob-header-top{justify-content:space-between;align-items:center;gap:12px;min-height:20px;display:flex}html.fh-capacitor-native .fh-mob-header-title-row{justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}html.fh-capacitor-native .fh-mob-header-title-row .fh-mob-h1{flex:1;min-width:0;margin:0}html.fh-capacitor-native .fh-mob-header-title-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}html.fh-capacitor-native .fh-mob-header--blue .fh-mob-header-action-btn{width:36px;height:36px;color:var(--fh-brand-yellow);cursor:pointer;background:#ffffff1f;border:1px solid #ffffff59;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}html.fh-capacitor-native .fh-mob-header--blue .fh-mob-header-action-btn.is-active,html.fh-capacitor-native .fh-mob-header--blue .fh-mob-header-action-btn--compose:not(:disabled):not(.is-active){background:var(--fh-brand-yellow);border-color:var(--fh-brand-yellow);color:var(--fh-brand-blue)}html.fh-capacitor-native .fh-mob-header--blue .fh-mob-header-action-btn--compose:disabled{opacity:.45;cursor:not-allowed}html.fh-capacitor-native .fh-mob-header--blue .fh-mob-header-action-btn svg{width:18px;height:18px}html.fh-capacitor-native .fh-mob-tab-inst-logo{background:var(--fh-mob-surface);border:1px solid #ffffff59;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:88px;min-width:88px;height:36px;padding:5px 7px;display:flex;box-shadow:0 2px 8px #0f17331f}html.fh-capacitor-native .fh-mob-tab-inst-logo img{object-fit:contain;width:100%;height:100%;display:block}html.fh-capacitor-native .fh-mob-kicker{opacity:.7;letter-spacing:.1em;text-transform:uppercase;font-size:10px}html.fh-capacitor-native .fh-mob-header-actions{opacity:.9;gap:14px;display:flex}html.fh-capacitor-native .fh-mob-header-actions svg{width:18px;height:18px}html.fh-capacitor-native .fh-mob-h1{letter-spacing:-.02em;color:inherit;margin:0;font-size:1.5rem;font-weight:700;line-height:1.2}html.fh-capacitor-native .fh-mob-h1 .fh-mob-accent{color:var(--fred-yellow)}html.fh-capacitor-native .fh-mob-sub{opacity:.8;margin:4px 0 0;font-size:11px}html.fh-capacitor-native .fh-mob-sub-btn{color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;display:block}html.fh-capacitor-native .fh-mob-beta{top:calc(10px + var(--fh-safe-top));right:calc(16px + var(--fh-safe-right));background:var(--fred-yellow);color:var(--fred-blue-deep);border-radius:4px;padding:2px 6px;font-size:9px;font-weight:700;position:absolute}html.fh-capacitor-native .fh-mob-urgent-strip-wrap{z-index:2;margin-top:-14px;padding:0 16px;position:relative}html.fh-capacitor-native .fh-mob-urgent-strip{background:var(--fh-mob-surface);border:none;border-left:4px solid var(--fred-danger-mob);text-align:left;width:100%;color:var(--fred-text-mob);cursor:pointer;border-radius:2px 10px 10px 2px;align-items:center;gap:12px;padding:12px;font-family:inherit;display:flex;box-shadow:0 1px 8px #0f173314}html.fh-capacitor-native .fh-mob-urgent-strip-icon{background:var(--fh-mob-danger-surface);width:36px;height:36px;color:var(--fred-danger-mob);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}html.fh-capacitor-native .fh-mob-urgent-strip-body{flex:1;min-width:0}html.fh-capacitor-native .fh-mob-urgent-strip-title{color:var(--fred-danger-mob);letter-spacing:.05em;font-size:11px;font-weight:700}html.fh-capacitor-native .fh-mob-urgent-strip-text{white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:14px;overflow:hidden}html.fh-capacitor-native .fh-mob-urgent-strip-chevron{color:var(--fred-muted-mob);flex-shrink:0}html.fh-capacitor-native .fh-mob-chips{scrollbar-width:none;gap:8px;padding:16px 12px 6px;display:flex;overflow-x:auto}html.fh-capacitor-native .fh-mob-chips::-webkit-scrollbar{display:none}html.fh-capacitor-native .fh-mob-chip{border:1px solid var(--fred-border-mob);background:var(--fh-mob-surface);color:var(--fred-muted-mob);cursor:pointer;border-radius:999px;flex-shrink:0;padding:6px 12px;font-family:inherit;font-size:12px}html.fh-capacitor-native .fh-mob-chip.is-active{background:var(--fred-blue);border-color:var(--fred-blue);color:#fff}html.fh-capacitor-native .fh-mob-chip--prazos{border-color:color-mix(in srgb, var(--fred-danger-mob) 35%, var(--fred-border-mob))}html.fh-capacitor-native .fh-mob-chip--prazos.has-alert{background:color-mix(in srgb, var(--fred-danger-mob) 12%, #fff);color:var(--fred-danger-mob);font-weight:600}html.fh-capacitor-native .fh-mob-inbox{background:var(--fh-mob-surface);border-radius:0;width:100%;max-width:none;margin:10px 0 0;padding:0;list-style:none;overflow:hidden;box-shadow:0 1px 8px #0f17330f}html.fh-capacitor-native .fh-mob-inbox-item{border:none;border-bottom:1px solid var(--fred-border-mob);text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;align-items:flex-start;gap:12px;padding:12px;font-family:inherit;display:flex}html.fh-capacitor-native .fh-mob-inbox-item:last-child{border-bottom:none}html.fh-capacitor-native .fh-mob-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:13px;font-weight:700;display:flex}html.fh-capacitor-native .fh-mob-avatar--yellow{background:var(--fred-yellow);color:var(--fred-blue-deep)}html.fh-capacitor-native .fh-mob-avatar--blue{background:var(--fh-mob-accent-soft);color:var(--fred-blue)}html.fh-capacitor-native .fh-mob-inbox-body{flex:1;min-width:0}html.fh-capacitor-native .fh-mob-inbox-row1{justify-content:space-between;align-items:center;gap:8px;display:flex}html.fh-capacitor-native .fh-mob-inbox-title-wrap{flex:1;align-items:center;gap:6px;min-width:0;display:flex}html.fh-capacitor-native .fh-mob-pin{width:12px;height:12px;color:var(--fred-muted-mob);flex-shrink:0}html.fh-capacitor-native .fh-mob-inbox-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}html.fh-capacitor-native .fh-mob-inbox-time{color:var(--fred-muted-mob);flex-shrink:0;font-size:10px}html.fh-capacitor-native .fh-mob-inbox-time.has-unread{color:var(--fred-blue);font-weight:700}html.fh-capacitor-native .fh-mob-inbox-tag{color:var(--fred-muted-mob);margin-top:1px;font-size:10px;display:block}html.fh-capacitor-native .fh-mob-inbox-row2{justify-content:space-between;align-items:center;gap:8px;margin-top:4px;display:flex}html.fh-capacitor-native .fh-mob-inbox-preview{color:var(--fred-muted-mob);white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:center;gap:4px;min-width:0;font-size:13px;display:flex;overflow:hidden}html.fh-capacitor-native .fh-mob-read{width:16px;height:16px;color:var(--fred-blue);flex-shrink:0}html.fh-capacitor-native .fh-mob-badge{background:var(--fred-blue);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:flex}html.fh-capacitor-native .fh-mob-fab{right:calc(20px + var(--fh-safe-right));bottom:calc(var(--fh-mob-tab-h) + var(--fh-safe-bottom) + 16px);background:var(--fred-blue);color:#fff;cursor:pointer;z-index:50;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:fixed;box-shadow:0 8px 24px #1e4fd866}html.fh-capacitor-native .fh-mob-urgent-list{flex-direction:column;gap:10px;padding:12px;display:flex}html.fh-capacitor-native .fh-mob-urgent-card{background:var(--fh-card);border-left:4px solid var(--fred-danger-mob);border-radius:14px;padding:14px;box-shadow:0 2px 10px #0000000a}html.fh-capacitor-native .fh-mob-urgent-card.is-med{border-left-color:var(--fred-yellow)}html.fh-capacitor-native .fh-mob-urgent-scope{margin:6px 0 2px}html.fh-capacitor-native .fh-mob-urgent-card h3{margin:6px 0 0;font-size:15px;font-weight:600}html.fh-capacitor-native .fh-mob-urgent-card p{color:var(--fred-muted-mob);margin:4px 0 0;font-size:12px}html.fh-capacitor-native .fh-mob-urgent-actions{gap:8px;margin-top:12px;display:flex}html.fh-capacitor-native .fh-mob-urgent-actions button{cursor:pointer;border:none;border-radius:8px;flex:1;min-height:40px;font-family:inherit;font-size:12px}html.fh-capacitor-native .fh-mob-btn-primary{background:var(--fred-blue);color:#fff}html.fh-capacitor-native .fh-mob-btn-muted{background:var(--fh-surface-hover);color:var(--fred-text-mob)}html.fh-capacitor-native .fh-mob-progress-card{box-sizing:border-box;background:var(--fh-card);border-radius:0;width:100%;max-width:none;margin:-12px 0 0;padding:16px;box-shadow:0 2px 12px #0000000d}html.fh-capacitor-native .fh-mob-progress-bar{background:var(--fh-surface-hover);border-radius:99px;height:8px;margin-top:8px;overflow:hidden}html.fh-capacitor-native .fh-mob-progress-fill{background:var(--fred-blue);border-radius:99px;height:100%}html.fh-capacitor-native .fh-mob-stat-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px;display:grid}html.fh-capacitor-native .fh-mob-stat-cell{background:var(--fh-surface-hover);text-align:center;border-radius:10px;padding:10px 6px}html.fh-capacitor-native .fh-mob-stat-val{color:var(--fred-blue-deep);font-size:18px;font-weight:800}html.fh-capacitor-native .fh-mob-stat-lbl{color:var(--fred-muted-mob);text-transform:uppercase;letter-spacing:.04em;margin-top:2px;font-size:9px}html.fh-capacitor-native .fh-mob-grid-2{box-sizing:border-box;grid-template-columns:1fr 1fr;gap:10px;width:100%;padding:16px 12px 8px;display:grid}html.fh-capacitor-native .fh-mob-grid-tile{background:var(--fh-card);text-align:left;cursor:pointer;color:inherit;border:none;border-radius:14px;flex-direction:column;gap:10px;padding:16px;font-family:inherit;display:flex;box-shadow:0 2px 10px #0000000a}html.fh-capacitor-native .fh-mob-grid-icon{width:36px;height:36px;color:var(--fred-blue);background:#1e4fd81a;border-radius:10px;justify-content:center;align-items:center;display:flex}html.fh-capacitor-native .fh-mob-prompt-list{flex-direction:column;gap:8px;padding:12px;display:flex}html.fh-capacitor-native .fh-mob-prompt-btn{background:var(--fh-card);text-align:left;cursor:pointer;width:100%;color:inherit;border:none;border-radius:14px;justify-content:space-between;align-items:center;padding:14px;font-family:inherit;font-size:14px;display:flex;box-shadow:0 2px 8px #0000000a}html.fh-capacitor-native .fh-mob-composer-fixed{left:calc(12px + var(--fh-safe-left));right:calc(12px + var(--fh-safe-right));bottom:calc(var(--fh-mob-tab-h) + var(--fh-safe-bottom) + 4px);z-index:40;position:fixed}html.fh-capacitor-native .fh-mob-composer-inner{background:var(--fh-card);border:1px solid var(--fred-border-mob);border-radius:999px;align-items:center;gap:8px;padding:10px 16px;display:flex;box-shadow:0 4px 20px #00000014}html.fh-capacitor-native .fh-mob-composer-inner input{color:var(--fred-text-mob);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:14px}html.fh-capacitor-native .fh-mob-profile-context{background:var(--fh-card);color:var(--fred-text-mob);border-radius:12px;margin:0 0 10px;padding:10px 12px;font-size:12px;box-shadow:0 2px 10px #0000000a}html.fh-capacitor-native .fh-mob-profile-context-line{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}html.fh-capacitor-native .fh-mob-profile-context-line+.fh-mob-profile-context-line{color:var(--fred-muted-mob);margin-top:4px;font-size:11px}html.fh-capacitor-native .fh-mob-profile-grid{gap:10px;margin:0;padding:0}html.fh-capacitor-native .fh-mob-profile-lang{margin-bottom:12px}html.fh-capacitor-native .fh-mob-locale{background:var(--fh-card);box-sizing:border-box;border-radius:14px;padding:14px;box-shadow:0 2px 10px #0000000f}html.fh-capacitor-native .fh-mob-locale-label{color:var(--fred-text-mob);margin:0 0 10px;font-size:14px;font-weight:700}html.fh-capacitor-native .fh-mob-locale-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}html.fh-capacitor-native .fh-mob-locale-btn{border:1.5px solid var(--fred-border-mob);background:var(--fh-mob-surface);min-height:44px;color:var(--fred-text-mob);cursor:pointer;border-radius:12px;padding:10px 8px;font-family:inherit;font-size:15px;font-weight:700;transition:background .15s,border-color .15s,color .15s}html.fh-capacitor-native .fh-mob-locale-btn.is-active{border-color:var(--fred-blue);background:var(--fred-blue);color:#fff;box-shadow:0 2px 8px #1e4fd859}html.fh-capacitor-native .fh-mob-locale-hint{color:var(--fred-muted-mob);margin:10px 0 0;font-size:12px;line-height:1.45}html.fh-capacitor-native .fh-mob-profile-logout{background:var(--fh-mob-surface);width:100%;min-height:48px;color:var(--fred-danger-mob);cursor:pointer;border:1px solid #c0392b40;border-radius:14px;margin-top:12px;font-family:inherit;font-size:15px;font-weight:700;box-shadow:0 2px 10px #0000000a}html.fh-capacitor-native .fh-mob-profile-logout:active{background:#c0392b0f}html.fh-capacitor-native .fh-mob-profile-legal,html.fh-capacitor-native .fh-mob-settings-legal{text-align:center;margin:14px 0 0;font-size:13px}html.fh-capacitor-native .fh-mob-profile-legal a,html.fh-capacitor-native .fh-mob-settings-legal a{color:var(--fred-blue);text-underline-offset:2px;font-weight:600;text-decoration:underline}html.fh-capacitor-native .fh-mob-settings-danger{border-color:#c0392b47;margin-top:8px}html.fh-capacitor-native .fh-mob-settings-btn--danger{background:var(--fred-danger-mob);color:#fff;border-color:#c0392b59}html.fh-capacitor-native .fh-mob-delete-account-form{gap:12px;margin-top:12px;display:grid}html.fh-capacitor-native .fh-privacy-page--native{padding:calc(12px + env(safe-area-inset-top,0px)) 16px calc(20px + env(safe-area-inset-bottom,0px));max-width:100%}html.fh-capacitor-native .fh-privacy-page--native .fh-privacy-body{font-size:15px}html.fh-capacitor-native .fh-privacy-page--native .fh-privacy-foot{flex-direction:column}html.fh-capacitor-native .fh-privacy-page--native .fh-privacy-foot .fh-btn{text-align:center;width:100%}html.fh-capacitor-native .fh-mob-settings{box-sizing:border-box;width:100%;max-width:100%;padding:0 0 24px;overflow-x:hidden}html.fh-capacitor-native .fh-mob-settings-hero{background:var(--fh-mob-surface);border-bottom:1px solid var(--fred-border-mob);padding:12px 16px 16px}html.fh-capacitor-native .fh-mob-settings-kicker{color:var(--fred-muted-mob);letter-spacing:.04em;margin:0;font-size:11px}html.fh-capacitor-native .fh-mob-settings-title{color:var(--fred-text-mob);margin:6px 0 0;font-size:22px;font-weight:700}html.fh-capacitor-native .fh-mob-settings-sub{color:var(--fred-muted-mob);margin:6px 0 0;font-size:13px}html.fh-capacitor-native .fh-mob-settings-error{background:var(--fh-mob-danger-surface);color:var(--fred-danger-mob);border-radius:10px;margin:12px 16px 0;padding:10px 12px;font-size:14px}html.fh-capacitor-native .fh-mob-settings-loading{text-align:center;color:var(--fred-muted-mob);padding:16px}html.fh-capacitor-native .fh-mob-settings-form{box-sizing:border-box;flex-direction:column;gap:12px;width:100%;padding:12px 16px 8px;display:flex}html.fh-capacitor-native .fh-mob-settings-card{background:var(--fh-card);box-sizing:border-box;border-radius:14px;width:100%;max-width:100%;padding:14px 14px 16px;box-shadow:0 2px 10px #0000000a}html.fh-capacitor-native .fh-mob-settings-card-body{flex-direction:column;gap:14px;min-width:0;margin-top:10px;display:flex}html.fh-capacitor-native .fh-mob-settings-field{flex-direction:column;gap:6px;min-width:0;display:flex}html.fh-capacitor-native .fh-mob-settings-label{color:var(--fred-text-mob);font-size:13px;font-weight:600}html.fh-capacitor-native .fh-mob-settings-hint{color:var(--fred-muted-mob);margin:0;font-size:12px;line-height:1.4}html.fh-capacitor-native .fh-mob-settings-hint-inline{color:var(--fred-muted-mob);margin-top:4px;font-size:12px;font-weight:400;line-height:1.4;display:block}html.fh-capacitor-native .fh-mob-settings-input,html.fh-capacitor-native .fh-mob-settings-textarea{box-sizing:border-box;border:1px solid var(--fred-border-mob);background:var(--fh-mob-surface);width:100%;max-width:100%;color:var(--fred-text-mob);border-radius:12px;padding:11px 12px;font-family:inherit;font-size:16px}html.fh-capacitor-native .fh-mob-settings-textarea{resize:vertical;min-height:96px}html.fh-capacitor-native .fh-mob-settings-input:focus,html.fh-capacitor-native .fh-mob-settings-textarea:focus{border-color:var(--fred-blue);outline:none}html.fh-capacitor-native .fh-mob-settings-photo-row{align-items:flex-start;gap:14px;min-width:0;display:flex}html.fh-capacitor-native .fh-mob-settings-photo-preview{background:var(--fred-yellow);width:72px;height:72px;color:var(--fred-blue-deep);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;font-weight:800;display:flex;overflow:hidden}html.fh-capacitor-native .fh-mob-settings-photo-preview img{object-fit:cover;width:100%;height:100%}html.fh-capacitor-native .fh-mob-settings-photo-actions{flex:1;min-width:0}html.fh-capacitor-native .fh-mob-settings-file-btn{border:1px solid var(--fred-blue);background:var(--fh-mob-surface);color:var(--fred-blue);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:10px 14px;font-size:14px;font-weight:600;display:inline-flex}html.fh-capacitor-native .fh-mob-settings-file-input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}html.fh-capacitor-native .fh-mob-settings-check{cursor:pointer;align-items:flex-start;gap:10px;min-width:0;display:flex}html.fh-capacitor-native .fh-mob-settings-check input{flex-shrink:0;margin-top:3px}html.fh-capacitor-native .fh-mob-settings-check-text{min-width:0;color:var(--fred-text-mob);overflow-wrap:anywhere;word-break:break-word;flex:1;font-size:14px;line-height:1.45}html.fh-capacitor-native .fh-mob-settings-rating{margin:0;font-size:14px;line-height:1.45}html.fh-capacitor-native .fh-mob-settings-rating strong{font-size:22px}html.fh-capacitor-native .fh-mob-settings-actions{flex-direction:column;gap:10px;padding:4px 0 8px;display:flex}html.fh-capacitor-native .fh-mob-settings-btn{box-sizing:border-box;border:1px solid var(--fred-border-mob);background:var(--fh-mob-surface);width:100%;color:var(--fred-text-mob);cursor:pointer;border-radius:14px;padding:14px 16px;font-family:inherit;font-size:16px;font-weight:600}html.fh-capacitor-native .fh-mob-settings-btn--primary{border-color:var(--fred-blue);background:var(--fred-blue);color:#fff}html.fh-capacitor-native .fh-mob-settings-btn:disabled{opacity:.55}html.fh-capacitor-native .fh-mob-classrooms{box-sizing:border-box;width:100%;max-width:100%;padding:0 0 24px;overflow-x:hidden}html.fh-capacitor-native .fh-mob-classrooms-body{flex-direction:column;gap:12px;padding:12px 16px 8px;display:flex}html.fh-capacitor-native .fh-mob-classroom-list{flex-direction:column;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}html.fh-capacitor-native .fh-mob-classroom-row{box-sizing:border-box;border:1px solid var(--fred-border-mob);background:var(--fh-mob-surface);text-align:left;width:100%;font:inherit;color:var(--fred-text-mob);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px;display:flex}html.fh-capacitor-native .fh-mob-classroom-row.is-active{border-color:var(--fred-blue);background:#1e4fd80f}html.fh-capacitor-native .fh-mob-classroom-row-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}html.fh-capacitor-native .fh-mob-classroom-row-name{overflow-wrap:anywhere;font-size:15px;font-weight:700}html.fh-capacitor-native .fh-mob-classroom-row-meta,html.fh-capacitor-native .fh-mob-classroom-row-code{color:var(--fred-muted-mob);font-size:12px}html.fh-capacitor-native .fh-mob-classroom-fav{color:var(--fred-yellow);flex-shrink:0;font-size:18px;line-height:1}html.fh-capacitor-native .fh-mob-classroom-actions{flex-direction:column;gap:8px;margin-top:12px;display:flex}html.fh-capacitor-native .fh-mob-classroom-join-modes{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}html.fh-capacitor-native .fh-mob-classroom-mode{border:1px solid var(--fred-border-mob);background:var(--fh-mob-surface);min-width:120px;color:var(--fred-text-mob);cursor:pointer;border-radius:12px;flex:1;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:600}html.fh-capacitor-native .fh-mob-classroom-mode.is-active{border-color:var(--fred-blue);background:var(--fred-blue);color:#fff}html.fh-capacitor-native .fh-mob-menu{background:var(--fh-card);border-radius:14px;margin:16px 12px;padding:0;list-style:none;overflow:hidden;box-shadow:0 2px 10px #0000000a}html.fh-capacitor-native .fh-mob-menu button{border:none;border-bottom:1px solid var(--fred-border-mob);text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;justify-content:space-between;padding:14px 16px;font-family:inherit;font-size:14px;display:flex}html.fh-capacitor-native .fh-mob-menu button:last-child{border-bottom:none}html.fh-capacitor-native .fh-mob-menu button.danger{color:var(--fred-danger-mob);font-weight:600}html.fh-capacitor-native .fh-mob-menu-meta{color:var(--fred-muted-mob);font-size:11px}html.fh-capacitor-native .fh-mob-tab-bar.fh-mob-tab-bar--inline,html.fh-capacitor-native .fh-mob-tab-bar.fh-mob-tab-bar--dock{min-height:calc(var(--fh-mob-tab-h) + var(--fh-safe-bottom));padding:8px 4px var(--fh-safe-bottom);padding-left:max(4px, var(--fh-safe-left));padding-right:max(4px, var(--fh-safe-right));box-sizing:border-box;background:var(--fh-mob-glass-bg);border-top:.5px solid var(--fh-mob-glass-border);-webkit-backdrop-filter:var(--fh-mob-glass-blur);flex-shrink:0;grid-template-columns:repeat(5,1fr);margin:0;display:grid;box-shadow:0 -.5px #0f17330d,0 -16px 48px #0f173312}html.fh-capacitor-native.fh-ios .fh-mob-tab-bar.fh-mob-tab-bar--inline,html.fh-capacitor-native.fh-ios .fh-mob-tab-bar.fh-mob-tab-bar--dock{-webkit-backdrop-filter:blur(44px)saturate(2.1)brightness(1.08);background:#ffffff7a;border-top-color:#ffffffd1;box-shadow:inset 0 1px #ffffffa6,0 -.5px #0f17330a,0 -20px 56px #0f17331a}html.fh-capacitor-native.fh-ios[data-fh-theme=dark] .fh-mob-tab-bar.fh-mob-tab-bar--inline,html.fh-capacitor-native.fh-ios[data-fh-theme=dark] .fh-mob-tab-bar.fh-mob-tab-bar--dock{background:#161a2685;border-top-color:#ffffff1f;box-shadow:inset 0 1px #ffffff14,0 -20px 56px #00000059}html.fh-capacitor-native .fh-mob-tab-btn{color:var(--fred-muted-mob);cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px;font-family:inherit;display:flex;position:relative}html.fh-capacitor-native .fh-mob-tab-btn.is-active{color:var(--fred-blue)}html.fh-capacitor-native .fh-mob-tab-btn.is-active .fh-mob-tab-label{color:var(--fred-blue);font-weight:600}html.fh-capacitor-native .fh-mob-tab-btn:not(.is-active) .fh-mob-tab-icon-wrap svg{color:var(--fred-muted-mob)}html.fh-capacitor-native .fh-mob-tab-icon-wrap{position:relative}html.fh-capacitor-native .fh-mob-tab-icon-wrap svg{width:22px;height:22px}html.fh-capacitor-native .fh-mob-tab-count{color:#fff;border-radius:99px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:700;display:flex;position:absolute;top:-6px;right:-8px}html.fh-capacitor-native .fh-mob-tab-count--danger{background:var(--fred-danger-mob)}html.fh-capacitor-native .fh-mob-tab-count--blue{background:var(--fred-blue)}html.fh-capacitor-native .fh-mob-tab-beta{background:var(--fred-yellow);color:var(--fred-blue-deep);border-radius:4px;padding:1px 4px;font-size:8px;font-weight:700;position:absolute;top:-6px;right:-12px}html.fh-capacitor-native .fh-mob-tab-label{font-size:10px}html.fh-capacitor-native .fh-mob-empty{text-align:center;color:var(--fred-muted-mob);padding:32px 20px;font-size:14px}html.fh-capacitor-native .fh-mob-class-select{color:#fff;background:#ffffff26;border:1px solid #ffffff59;border-radius:12px;width:100%;max-width:280px;min-height:44px;margin-top:8px;padding:0 12px;font-size:14px}html.fh-capacitor-native .fh-mob-app{padding-bottom:0}html.fh-capacitor-native.fh-mob-routes,html.fh-capacitor-native.fh-mob-routes body{background:var(--fred-cream);width:100%;height:100%;min-height:100%;margin:0;padding:0;overflow:hidden}html.fh-capacitor-native.fh-mob-routes #root{flex-direction:column;width:100%;height:100%;min-height:100%;display:flex;overflow:hidden}html.fh-capacitor-native.fh-mob-routes #root .fh-auth-route{flex-direction:column;flex:1;width:100%;height:100%;min-height:0;display:flex}html.fh-capacitor-native.fh-mob-routes #root .fh-mob-chrome{flex:1;width:100%;height:100%;min-height:0}html.fh-capacitor-native[data-fh-mob-header-tone=blue]{--fh-mob-statusbar-fill:var(--fred-blue)}html.fh-capacitor-native[data-fh-mob-header-tone=danger]{--fh-mob-statusbar-fill:var(--fred-danger-mob)}html.fh-capacitor-native.fh-mob-routes.fh-mob-tab-root:before{content:"";width:100%;height:var(--fh-safe-top,0px);background:var(--fh-mob-statusbar-fill,var(--fred-blue));z-index:9998;pointer-events:none;position:fixed;top:0;left:0;right:0}html.fh-capacitor-native.fh-mob-routes body{background:var(--fred-cream)}html.fh-capacitor-native.fh-mob-tab-root body{background:var(--fh-mob-statusbar-fill,var(--fred-blue))}html.fh-capacitor-native .fh-mob-chrome{background:var(--fred-cream);box-sizing:border-box;flex-direction:column;flex:1;width:100%;max-width:100%;height:100%;min-height:100dvh;display:flex;overflow:hidden}html.fh-capacitor-native .fh-mob-chrome .fh-mob-app,html.fh-capacitor-native .fh-mob-chrome .fh-mob-page{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}html.fh-capacitor-native .fh-mob-page>.fh-mob-scroll,html.fh-capacitor-native .fh-mob-page>.fh-mob-tab-shell,html.fh-capacitor-native .fh-mob-page>.fh-mob-inbox-layout,html.fh-capacitor-native .fh-mob-page>.fh-mob-panel,html.fh-capacitor-native .fh-mob-page>.fh-mob-conversation,html.fh-capacitor-native .fh-mob-page>.fh-mob-gcal,html.fh-capacitor-native .fh-mob-page>.fh-dashboard-shell{flex:1;width:100%;min-height:0;overflow:hidden}html.fh-capacitor-native .fh-mob-page>.fh-mob-scroll,html.fh-capacitor-native .fh-mob-page>.fh-mob-tab-shell,html.fh-capacitor-native .fh-mob-page>.fh-mob-inbox-layout,html.fh-capacitor-native .fh-mob-page>.fh-mob-conversation{flex-direction:column;display:flex}html.fh-capacitor-native .fh-mob-page>.fh-dashboard-shell{grid-template-rows:minmax(0,1fr);grid-template-columns:1fr;display:grid}html.fh-capacitor-native .fh-mob-chrome-body{box-sizing:border-box;flex-direction:column;flex:1;width:100%;max-width:100%;min-height:0;display:flex;overflow:hidden}html.fh-capacitor-native .fh-mob-chrome:not(.fh-mob-chrome--subpage) .fh-mob-chrome-body{padding-bottom:0}html.fh-capacitor-native .fh-mob-chrome-body>.fh-mob-fatal{text-align:center;background:var(--fred-cream);flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding:24px;display:flex}html.fh-capacitor-native .fh-mob-fatal-title{color:var(--fred-text-mob);margin:0 0 8px;font-size:17px;font-weight:700}html.fh-capacitor-native .fh-mob-fatal-msg{color:var(--fred-muted-mob);word-break:break-word;margin:0 0 16px;font-size:14px}html.fh-capacitor-native .fh-mob-fatal-btn{background:var(--fred-blue);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:12px 18px;font-family:inherit;font-size:15px;font-weight:600}html.fh-capacitor-native .fh-mob-chrome-body>.fh-mob-page,html.fh-capacitor-native .fh-mob-chrome-body>.fh-mob-app,html.fh-capacitor-native .fh-mob-chrome-body>.fh-mob-fatal,html.fh-capacitor-native .fh-mob-chrome-body>.fh-mob-panel,html.fh-capacitor-native .fh-mob-chrome-body>.fh-mob-conversation{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}html.fh-capacitor-native .fh-mob-route-loading{background:var(--fred-cream);width:100%;min-height:120px;color:var(--fred-muted-mob);flex:1}html.fh-capacitor-native .fh-mob-conversation{background:var(--fred-cream);flex-direction:column;flex:1;width:100%;max-width:none;min-height:0;display:flex;overflow:hidden}html.fh-capacitor-native .fh-mob-conversation-top{background:var(--fh-mob-surface);border-bottom:1px solid var(--fred-border-mob);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:8px;padding:6px 12px 8px;display:flex}html.fh-capacitor-native .fh-mob-conversation-head{min-width:0}html.fh-capacitor-native .fh-mob-conversation-class{color:var(--fred-text-mob);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:15px;font-weight:700;overflow:hidden}html.fh-capacitor-native .fh-mob-conversation-channel{color:var(--fred-muted-mob);letter-spacing:.04em;margin:2px 0 0;font-size:10px}html.fh-capacitor-native .fh-mob-conversation-search-btn{border:1px solid var(--fred-border-mob);background:var(--fred-cream);width:40px;height:40px;color:var(--fred-blue);cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}html.fh-capacitor-native .fh-mob-conversation-search-btn.is-active{background:var(--fred-blue);border-color:var(--fred-blue);color:#fff}html.fh-capacitor-native .fh-mob-conversation-search-btn svg{width:18px;height:18px}html.fh-capacitor-native .fh-mob-conversation-search{background:var(--fh-mob-surface);border-bottom:1px solid var(--fred-border-mob);flex-shrink:0;padding:0 12px 8px}html.fh-capacitor-native .fh-mob-conversation-search-input{box-sizing:border-box;border:1px solid var(--fred-border-mob);background:var(--fred-cream);width:100%;color:var(--fred-text-mob);border-radius:12px;padding:10px 12px;font-family:inherit;font-size:16px;transform:translateZ(0)}html.fh-capacitor-native .fh-mob-conversation-error{color:var(--fred-danger-mob);background:var(--fh-mob-danger-surface);flex-shrink:0;margin:0;padding:8px 12px;font-size:13px}html.fh-capacitor-native .fh-mob-conversation-messages{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:10px 10px 6px;overflow:hidden auto}html.fh-capacitor-native .fh-mob-conversation-status{text-align:center;color:var(--fred-muted-mob);padding:16px 8px;font-size:14px}html.fh-capacitor-native .fh-mob-conversation-composer-wrap{padding:var(--fh-mob-composer-pad-y) var(--fh-mob-composer-pad-x);background:var(--fh-mob-surface);border-top:1px solid var(--fred-border-mob);flex-shrink:0}html.fh-capacitor-native .fh-mob-chrome:has(.fh-mob-tab-bar) .fh-mob-conversation-composer-wrap{padding-bottom:var(--fh-mob-composer-pad-y)}html.fh-capacitor-native .fh-mob-conversation-composer{flex-direction:column;align-items:stretch;gap:8px;margin:0;display:flex}html.fh-capacitor-native .fh-mob-conversation-composer-row{align-items:flex-end;gap:8px;width:100%;display:flex}html.fh-capacitor-native .fh-mob-conversation-reply{width:100%;min-width:0}html.fh-capacitor-native .fh-mob-conversation-composer .fh-chat-replying-bar{background:var(--fh-mob-reply-surface);border:1px solid color-mix(in srgb, var(--fred-blue) 28%, #e2e8f0);border-left:3px solid var(--fred-blue);box-sizing:border-box;border-radius:12px;width:100%;margin:0;padding:10px 12px}html.fh-capacitor-native .fh-mob-conversation-composer .fh-chat-replying-bar-label{color:var(--fred-blue);font-size:12px;font-weight:700}html.fh-capacitor-native .fh-mob-conversation-composer .fh-chat-replying-bar-snippet{color:var(--fred-muted-mob);margin-top:4px;font-size:13px}html.fh-capacitor-native .fh-mob-conversation-composer .fh-chat-replying-bar-cancel{width:32px;height:32px;color:var(--fred-muted-mob);border:1px solid var(--fred-border-mob);background:#ffffffd9;font-size:22px;line-height:1}html.fh-capacitor-native .fh-mob-conversation-input{border:1px solid var(--fred-border-mob);background:var(--fred-cream);min-width:0;color:var(--fred-text-mob);box-sizing:border-box;border-radius:22px;flex:1;min-height:48px;padding:12px 14px;font-family:inherit;font-size:16px;line-height:1.35}html.fh-capacitor-native .fh-mob-conversation-input--multiline{resize:none;max-height:120px;overflow-y:auto}html.fh-capacitor-native .fh-mob-conversation-composer .fh-mention-composer{flex:1;min-width:0}html.fh-capacitor-native .fh-mob-conversation-composer .fh-mention-composer--multiline .fh-mention-composer-input{resize:none;min-height:48px;max-height:120px;padding:12px 14px;line-height:1.35}html.fh-capacitor-native .fh-mob-conversation-composer .fh-mention-composer-placeholder{padding:12px 14px;font-size:16px;line-height:1.35}html.fh-capacitor-native .fh-mob-conversation-input:focus{outline:2px solid color-mix(in srgb, var(--fred-blue) 35%, transparent);border-color:var(--fred-blue)}html.fh-capacitor-native .fh-mob-conversation-send{background:var(--fred-blue);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}html.fh-capacitor-native .fh-mob-conversation-send:disabled{opacity:.4;cursor:not-allowed;background:var(--fred-muted-mob)}html.fh-capacitor-native .fh-mob-conversation-send-icon{width:20px;height:20px}html.fh-capacitor-native .fh-mob-conversation-send-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.65s linear infinite fh-mob-send-spin}@keyframes fh-mob-send-spin{to{transform:rotate(360deg)}}html.fh-capacitor-native .fh-mob-conversation-messages .fh-chat-bubble{max-width:min(88%,520px)}html.fh-capacitor-native .fh-mob-conversation-messages .fh-msg-row.me .fh-chat-bubble{margin-left:auto}html.fh-capacitor-native .fh-mob-conversation-messages .fh-chat-bubble-wrap{align-items:flex-end;gap:0;max-width:min(88%,520px)}html.fh-capacitor-native .fh-mob-conversation-messages .fh-chat-bubble-wrap--with-reply{flex-direction:column;align-items:flex-start;gap:4px}html.fh-capacitor-native .fh-mob-conversation-messages .fh-msg-row.me .fh-chat-bubble-wrap--with-reply{flex-direction:column;align-items:flex-end}html.fh-capacitor-native .fh-mob-conversation-messages .fh-chat-reply-action--footer{opacity:1;border:1px solid var(--fred-border-mob);background:var(--fh-mob-surface);width:28px;height:28px;color:var(--fred-blue-deep);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex;box-shadow:0 1px 3px #0f172a14}html.fh-capacitor-native .fh-mob-conversation-messages .fh-msg-row.me .fh-chat-reply-action--footer{color:#fff;background:#fff3;border-color:#ffffff73}html.fh-capacitor-native .fh-mob-conversation-messages .fh-chat-reply-action--footer:active{opacity:.75;transform:scale(.96)}html.fh-capacitor-native .fh-mob-conversation-messages .fh-chat-reply-action--footer svg{display:block}html.fh-capacitor-native .fh-mob-panel-urgent{padding:12px 12px 0}html.fh-capacitor-native .fh-mob-panel-urgent-head{margin-bottom:8px}html.fh-capacitor-native .fh-mob-panel-urgent-kicker{color:var(--fred-danger-mob);font-size:10px;font-weight:700}html.fh-capacitor-native .fh-mob-panel-urgent-title{color:var(--fred-ink);margin:4px 0 0;font-size:1.15rem;font-weight:700}html.fh-capacitor-native .fh-mob-panel-urgent-count{opacity:.65;font-size:1rem}html.fh-capacitor-native .fh-mob-panel-urgent-list{padding-bottom:4px}html.fh-capacitor-native .fh-mob-tab-bar--inline .fh-mob-tab-label{font-size:9px}html.fh-capacitor-native .fh-mob-conversation-toolbar{border-bottom:1px solid var(--fred-border-mob);background:var(--fh-mob-surface);flex-shrink:0}html.fh-capacitor-native .fh-mob-conv-picker{z-index:20;position:relative}html.fh-capacitor-native .fh-mob-conv-picker--empty{color:var(--fred-ink-muted);padding:10px 12px;font-size:13px}html.fh-capacitor-native .fh-mob-conv-picker-trigger{background:var(--fh-mob-surface);width:100%;color:var(--fred-ink);font:inherit;text-align:left;border:none;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}html.fh-capacitor-native .fh-mob-conv-picker-trigger:disabled{opacity:.6}html.fh-capacitor-native .fh-mob-conv-picker-trigger-text{flex-wrap:wrap;flex:1;align-items:baseline;gap:6px;min-width:0;display:flex}html.fh-capacitor-native .fh-mob-conv-picker-label{text-transform:uppercase;letter-spacing:.04em;color:var(--fred-ink-muted);flex:none;font-size:11px}html.fh-capacitor-native .fh-mob-conv-picker-value{color:var(--fred-ink);white-space:nowrap;text-overflow:ellipsis;max-width:min(100%,220px);font-size:15px;font-weight:600;overflow:hidden}html.fh-capacitor-native .fh-mob-conv-picker-disc{color:var(--fred-ink-muted);white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:12px;overflow:hidden}html.fh-capacitor-native .fh-mob-conv-picker-chevron{width:20px;height:20px;color:var(--fred-ink-muted);flex-shrink:0;transition:transform .15s}html.fh-capacitor-native .fh-mob-conv-picker-chevron.is-open{transform:rotate(180deg)}html.fh-capacitor-native .fh-mob-conv-picker-backdrop{z-index:18;background:#0000001f;border:none;margin:0;padding:0;position:fixed;inset:0}html.fh-capacitor-native .fh-mob-conv-picker-panel{z-index:19;background:var(--fh-mob-surface);border-bottom:1px solid var(--fred-border-mob);flex-direction:column;max-height:min(52vh,360px);display:flex;position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 24px #00000014}html.fh-capacitor-native .fh-mob-conv-picker-search-wrap{border-bottom:1px solid var(--fred-border-mob);flex-shrink:0;padding:8px 10px}html.fh-capacitor-native .fh-mob-conv-picker-search{box-sizing:border-box;border:1px solid var(--fred-border-mob);background:var(--fred-cream);width:100%;font:inherit;border-radius:22px;padding:10px 14px;font-size:15px}html.fh-capacitor-native .fh-mob-conv-picker-search:focus{border-color:var(--fred-yellow-deep);outline:none}html.fh-capacitor-native .fh-mob-conv-picker-list{-webkit-overflow-scrolling:touch;margin:0;padding:4px 0 8px;list-style:none;overflow-y:auto}html.fh-capacitor-native .fh-mob-conv-picker-empty{color:var(--fred-ink-muted);text-align:center;padding:14px 12px;font-size:13px}html.fh-capacitor-native .fh-mob-conv-picker-option{width:100%;color:var(--fred-ink);font:inherit;text-align:left;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;display:flex}html.fh-capacitor-native .fh-mob-conv-picker-option.is-active{background:var(--fred-yellow-soft)}html.fh-capacitor-native .fh-mob-conv-picker-option-head{flex-wrap:wrap;align-items:baseline;gap:6px;width:100%;display:flex}html.fh-capacitor-native .fh-mob-conv-picker-option-name{font-size:14px;font-weight:600}html.fh-capacitor-native .fh-mob-conv-picker-option-disc{color:var(--fred-ink-muted);font-size:12px}html.fh-capacitor-native .fh-mob-conv-picker-option-hint{color:var(--fred-ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;font-size:13px;line-height:1.35;display:-webkit-box;overflow:hidden}html.fh-capacitor-native .fh-mob-conv-picker-option-hint--muted{color:var(--fred-ink-muted);font-style:italic}html.fh-capacitor-native .fh-mob-conv-picker-option-meta{color:var(--fred-ink-muted);font-size:11px}html.fh-capacitor-native .fh-mob-conversation-messages .fh-thread-question-compact{margin-bottom:12px}html.fh-capacitor-native.fh-mob-subpage .fh-side-col,html.fh-capacitor-native.fh-mob-subpage .fh-general-left{display:none!important}html.fh-capacitor-native.fh-mob-subpage .fh-messages-content,html.fh-capacitor-native.fh-mob-subpage .fh-dashboard-content.fh-messages-content{flex-direction:column;flex:1;gap:0;min-height:0;display:flex;overflow:hidden;padding:0!important}html.fh-capacitor-native.fh-mob-subpage .fh-page-grid,html.fh-capacitor-native.fh-mob-subpage .fh-general-layout{flex-direction:column;flex:1;min-height:0;margin:0;display:flex;box-shadow:none!important;background:0 0!important;border:none!important;gap:0!important}html.fh-capacitor-native.fh-mob-subpage .fh-chat-main-pane,html.fh-capacitor-native.fh-mob-subpage .fh-general-center{flex-direction:column;flex:1;min-height:0;display:flex;box-shadow:none!important;background:var(--fred-cream)!important;border:none!important;border-radius:0!important;padding:0!important}html.fh-capacitor-native.fh-mob-subpage .fh-thread-header-row,html.fh-capacitor-native.fh-mob-subpage .fh-messages-nav{display:none!important}html.fh-capacitor-native.fh-mob-subpage .fh-dashboard-main{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}html.fh-capacitor-native.fh-mob-subpage .fh-scroll,html.fh-capacitor-native.fh-mob-subpage .fh-thread-feed-scroll{flex:1;min-height:0;padding:10px;overflow-y:auto}html.fh-capacitor-native.fh-mob-subpage .fh-chat-composer-row,html.fh-capacitor-native.fh-mob-subpage .fh-messenger-composer{padding:var(--fh-mob-composer-pad-y) var(--fh-mob-composer-pad-x);border-top:1px solid var(--fred-border-mob);background:var(--fh-mob-surface);flex-shrink:0;margin:0}:is(html.fh-capacitor-native.fh-mob-subpage .fh-mob-chrome:has(.fh-mob-tab-bar) .fh-chat-composer-row,html.fh-capacitor-native.fh-mob-subpage .fh-mob-chrome:has(.fh-mob-tab-bar) .fh-messenger-composer){padding-bottom:var(--fh-mob-composer-pad-y)}html.fh-capacitor-native.fh-mob-subpage .fh-messenger-composer select.fh-input{display:none}html.fh-capacitor-native.fh-mob-subpage .fh-messenger-composer{flex-direction:row;align-items:center;gap:8px;display:flex}html.fh-capacitor-native.fh-mob-subpage .fh-messenger-composer .fh-input:not(select){border-radius:22px;flex:1;min-width:0}html.fh-capacitor-native.fh-mob-subpage .fh-messenger-composer .fh-btn-primary{border-radius:22px;flex-shrink:0}html.fh-capacitor-native.fh-mob-subpage .fh-chat-composer-row .fh-input{border-radius:22px;flex:1}html.fh-capacitor-native.fh-mob-subpage .fh-chat-composer-row .fh-btn-primary{border-radius:22px;min-width:44px;padding:0 14px}html.fh-capacitor-native .fh-mob-chrome .fh-mob-panel{overscroll-behavior-y:none;-webkit-overflow-scrolling:touch;overflow-y:auto}html.fh-capacitor-native .fh-mob-chrome .fh-mob-tab-scroll .fh-mob-panel{overflow:visible}html.fh-capacitor-native .fh-mob-chrome--subpage .fh-mob-chrome-body{padding-top:0}html.fh-capacitor-native .fh-mob-chat-channels{-webkit-overflow-scrolling:touch;background:var(--fh-mob-surface);border-bottom:1px solid var(--fred-border-mob);flex-shrink:0;gap:8px;padding:8px 12px;display:flex;overflow-x:auto}html.fh-capacitor-native .fh-mob-chat-channels::-webkit-scrollbar{display:none}html.fh-capacitor-native .fh-mob-chat-channel{border:1px solid var(--fred-border-mob);background:var(--fred-cream);color:var(--fred-muted-mob);cursor:pointer;border-radius:999px;flex-shrink:0;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:600}html.fh-capacitor-native .fh-mob-chat-channel.is-active{border-color:var(--fred-blue);background:var(--fred-blue);color:#fff}html.fh-capacitor-native .fh-mob-conversation-top--compact{padding-top:4px;padding-bottom:6px}html.fh-capacitor-native .fh-mob-conversation:has(.fh-mob-chat-channels) .fh-mob-conversation-top{padding-top:4px;padding-bottom:6px}html.fh-capacitor-native .fh-mob-conversation:has(.fh-mob-chat-channels) .fh-mob-conversation-class{display:none}html.fh-capacitor-native .fh-mob-chrome .fh-mob-scroll{overscroll-behavior-y:none;-webkit-overflow-scrolling:touch;box-sizing:border-box;flex:1;width:100%;max-width:100%;min-height:0;padding-bottom:20px;overflow:hidden auto}html.fh-capacitor-native .fh-mob-chrome .fh-mob-scroll--inbox,html.fh-capacitor-native .fh-mob-chrome .fh-mob-inbox-scroll{padding-bottom:12px}html.fh-capacitor-native .fh-mob-chrome .fh-mob-fab{bottom:calc(var(--fh-mob-tab-h) + var(--fh-safe-bottom) + 16px)}html.fh-capacitor-native .fh-mob-chrome .fh-mob-composer-fixed{bottom:calc(var(--fh-mob-tab-h) + var(--fh-safe-bottom) + 4px)}html.fh-capacitor-native .fh-mob-back-bar.fh-mob-back-bar--inline,html.fh-capacitor-native .fh-mob-back-bar.fh-mob-back-bar--dock{padding:calc(10px + var(--fh-safe-top)) calc(12px + var(--fh-safe-right)) 10px calc(8px + var(--fh-safe-left));box-sizing:border-box;background:var(--fh-mob-glass-bg);border-bottom:.5px solid var(--fh-mob-glass-border);-webkit-backdrop-filter:var(--fh-mob-glass-blur);flex-shrink:0;align-items:center;gap:10px;margin:0;display:flex;transform:translate(0,0);box-shadow:0 1px #0f17330d}html.fh-capacitor-native.fh-ios .fh-mob-back-bar.fh-mob-back-bar--inline,html.fh-capacitor-native.fh-ios .fh-mob-back-bar.fh-mob-back-bar--dock{-webkit-backdrop-filter:blur(40px)saturate(2)brightness(1.06);background:#ffffff85;border-bottom-color:#ffffffbf;box-shadow:inset 0 -1px #ffffff80,0 4px 24px #0f17330f}html.fh-capacitor-native .fh-mob-back-btn{color:var(--fred-blue);cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;gap:4px;margin:-6px 0;padding:6px 8px 6px 4px;font-family:inherit;font-size:15px;font-weight:600;display:inline-flex}html.fh-capacitor-native .fh-mob-back-btn svg{width:22px;height:22px}html.fh-capacitor-native .fh-mob-back-title{text-align:center;letter-spacing:-.02em;color:var(--fred-text-mob);white-space:nowrap;text-overflow:ellipsis;flex:1;padding:0 4px;font-size:16px;font-weight:700;overflow:hidden}html.fh-capacitor-native .fh-mob-back-spacer{flex-shrink:0;width:72px}html.fh-capacitor-native.fh-mob-subpage .fh-dashboard-topbar,html.fh-capacitor-native.fh-mob-subpage .fh-dashboard-sidebar{display:none!important}html.fh-capacitor-native .fh-mob-chrome-body>.fh-dashboard-shell{flex:1;grid-template-columns:1fr;min-height:0;display:grid;overflow:hidden;padding-bottom:0!important}html.fh-capacitor-native .fh-mob-chrome .fh-dashboard-shell{grid-template-columns:1fr;min-height:0;padding-bottom:0!important}html.fh-capacitor-native .fh-mob-chrome .fh-dashboard-main{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}html.fh-capacitor-native .fh-mob-chrome .fh-dashboard-content{overscroll-behavior-y:none;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding-top:12px;overflow-y:auto}html.fh-capacitor-native .fh-mob-chrome .fh-login-shell{min-height:auto}html.fh-capacitor-native .fh-mob-hub-panel-root{box-sizing:border-box;background:0 0;width:100%;height:auto;min-height:auto;display:block;overflow:visible}html.fh-capacitor-native .fh-mob-hub-panel-content{box-sizing:border-box;touch-action:pan-y;width:100%;height:auto;min-height:auto;padding:12px 12px 8px;display:block;overflow:visible}html.fh-capacitor-native .fh-mob-hub-panel-content .fh-card,html.fh-capacitor-native .fh-mob-hub-panel-content .fh-weekly-card,html.fh-capacitor-native .fh-mob-hub-panel-content .fh-progress-card{border-radius:14px}html.fh-capacitor-native .fh-mob-hub-panel-content .fh-weekly-card .fh-progress-card-term-with-select{flex:100%;justify-content:flex-start;max-width:100%}html.fh-capacitor-native .fh-mob-hub-panel-content .fh-weekly-card .fh-progress-card-term-select{width:100%;min-width:0}html.fh-capacitor-native.fh-android .fh-mob-panel-scroll{touch-action:pan-y;-webkit-overflow-scrolling:touch;overflow-y:scroll!important}html.fh-capacitor-native.fh-android .fh-mob-panel-scroll .fh-mob-hub-panel-root,html.fh-capacitor-native.fh-android .fh-mob-panel-scroll .fh-mob-hub-panel-content{height:auto!important;max-height:none!important;overflow:visible!important}html.fh-capacitor-native .fh-mob-panel{background:var(--fred-cream);box-sizing:border-box;flex:1;width:100%;max-width:100%;min-height:0}html.fh-capacitor-native .fh-mob-panel .fh-hub-panel-mode .fh-dashboard-sidebar,html.fh-capacitor-native .fh-mob-panel .fh-hub-panel-mode .fh-dashboard-topbar{display:none!important}html.fh-capacitor-native .fh-mob-panel .fh-dashboard-shell.fh-hub-panel-mode{grid-template-columns:1fr;height:auto;min-height:auto}html.fh-capacitor-native .fh-mob-panel .fh-hub-panel-mode .fh-dashboard-main{min-height:auto}html.fh-capacitor-native .fh-mob-panel .fh-hub-panel-mode .fh-dashboard-content{padding:12px 12px 8px}html.fh-capacitor-native .fh-mob-tab-scroll .fh-mob-panel .fh-dashboard-shell.fh-hub-panel-mode{height:auto;min-height:auto;display:block;overflow:visible}html.fh-capacitor-native .fh-mob-tab-scroll .fh-mob-panel .fh-hub-panel-mode .fh-dashboard-main{flex:none;height:auto;min-height:auto;display:block;overflow:visible}html.fh-capacitor-native .fh-mob-tab-scroll .fh-mob-panel .fh-hub-panel-mode .fh-dashboard-content{touch-action:pan-y;flex:none;height:auto;min-height:auto;max-height:none;overflow:visible!important}html.fh-capacitor-native.fh-android .fh-mob-tab-scroll .fh-mob-panel .fh-dashboard-shell.fh-hub-panel-mode,html.fh-capacitor-native.fh-android .fh-mob-tab-scroll .fh-mob-panel .fh-hub-panel-mode .fh-dashboard-main,html.fh-capacitor-native.fh-android .fh-mob-tab-scroll .fh-mob-panel .fh-hub-panel-mode .fh-dashboard-content{overflow:visible!important}html.fh-capacitor-native .fh-mob-panel .fh-panel-status{margin-bottom:12px}html.fh-capacitor-native .fh-mob-panel .fh-hub-panel-mode .fh-card,html.fh-capacitor-native .fh-mob-panel .fh-hub-panel-mode .fh-weekly-card,html.fh-capacitor-native .fh-mob-panel .fh-hub-panel-mode .fh-progress-card{border-radius:14px}html.fh-capacitor-native .fh-mob-panel .fh-weekly-card .fh-progress-card-term-with-select{flex:100%;justify-content:flex-start;max-width:100%}html.fh-capacitor-native .fh-mob-panel .fh-weekly-card .fh-progress-card-term-select{flex:auto;width:100%;min-width:0;max-width:100%}html.fh-capacitor-native .fh-mob-hub-panel-content .fh-progress-card-head,html.fh-capacitor-native .fh-mob-panel-body .fh-progress-card-head,html.fh-capacitor-native .fh-mob-panel-shell .fh-progress-card-head,html.fh-capacitor-native .fh-mob-panel .fh-hub-panel-mode .fh-progress-card-head{border-bottom-color:#ffffff24;background:#1e4fd8!important}html.fh-capacitor-native .fh-mob-header--blue{background:#1e4fd8!important}html.fh-capacitor-native .fh-mob-hub-panel-content .fh-progress-card-title,html.fh-capacitor-native .fh-mob-hub-panel-content .fh-progress-card-term,html.fh-capacitor-native .fh-mob-hub-panel-content .fh-progress-card-term-with-select,html.fh-capacitor-native .fh-mob-hub-panel-content .fh-progress-card-term-prefix,html.fh-capacitor-native .fh-mob-hub-panel-content .fh-progress-card-term-select,html.fh-capacitor-native .fh-mob-hub-panel-content .fh-progress-card-term-chevron,html.fh-capacitor-native .fh-mob-panel-body .fh-progress-card-title,html.fh-capacitor-native .fh-mob-panel-body .fh-progress-card-term,html.fh-capacitor-native .fh-mob-panel-body .fh-progress-card-term-with-select,html.fh-capacitor-native .fh-mob-panel-body .fh-progress-card-term-prefix,html.fh-capacitor-native .fh-mob-panel-body .fh-progress-card-term-select,html.fh-capacitor-native .fh-mob-panel-body .fh-progress-card-term-chevron,html.fh-capacitor-native .fh-mob-panel .fh-hub-panel-mode .fh-progress-card-title,html.fh-capacitor-native .fh-mob-panel .fh-hub-panel-mode .fh-progress-card-term,html.fh-capacitor-native .fh-mob-panel .fh-hub-panel-mode .fh-progress-card-term-with-select,html.fh-capacitor-native .fh-mob-panel .fh-hub-panel-mode .fh-progress-card-term-prefix,html.fh-capacitor-native .fh-mob-panel .fh-hub-panel-mode .fh-progress-card-term-select,html.fh-capacitor-native .fh-mob-panel .fh-hub-panel-mode .fh-progress-card-term-chevron{color:#fbc02d}html.fh-capacitor-native .fh-mob-members{background:var(--fred-cream);flex-direction:column;flex:1;width:100%;min-height:0;display:flex}html.fh-capacitor-native .fh-mob-members-head{background:linear-gradient(165deg, var(--fred-blue) 0%, #0d3d8c 100%);color:#fff;flex-shrink:0;padding:12px 16px 8px}html.fh-capacitor-native .fh-mob-members-head .fh-mob-kicker,html.fh-capacitor-native .fh-mob-members-head .fh-mob-sub{color:#ffffffd1}html.fh-capacitor-native .fh-mob-members-head .fh-mob-h1{color:#fff}html.fh-capacitor-native .fh-mob-members .fh-mob-members-inner{flex-direction:column;flex:1;min-height:0;display:flex}html.fh-capacitor-native .fh-mob-members .fh-mob-members-inner .fh-dashboard-main{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}html.fh-capacitor-native .fh-mob-members .fh-mob-members-inner .fh-dashboard-content{padding:12px 12px 24px}html.fh-capacitor-native .fh-mob-members .fh-mob-members-inner .fh-card{border-radius:14px;margin-bottom:0}html.fh-capacitor-native .fh-mob-members .fh-students-game-grid,html.fh-capacitor-native .fh-mob-members .fh-teachers-game-grid{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))!important}html.fh-capacitor-native .fh-mob-members .fh-student-card-game,html.fh-capacitor-native .fh-mob-members .fh-teacher-card-game{grid-template-rows:unset;border-radius:12px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 4px 14px #08060d12}html.fh-capacitor-native .fh-mob-members .fh-student-card-game:hover,html.fh-capacitor-native .fh-mob-members .fh-teacher-card-game:hover{transform:none;box-shadow:0 4px 14px #08060d12}html.fh-capacitor-native .fh-mob-members .fh-student-card-game:after,html.fh-capacitor-native .fh-mob-members .fh-teacher-card-game:after{display:none}html.fh-capacitor-native .fh-mob-members .fh-student-card-photo-wrap,html.fh-capacitor-native .fh-mob-members .fh-teacher-card-photo-wrap{aspect-ratio:4/5;flex-shrink:0;width:100%;height:auto;min-height:0;max-height:none;position:relative}html.fh-capacitor-native .fh-mob-members .fh-student-card-photo,html.fh-capacitor-native .fh-mob-members .fh-teacher-card-photo{object-position:center 15%}html.fh-capacitor-native .fh-mob-members .fh-student-card-photo-placeholder,html.fh-capacitor-native .fh-mob-members .fh-teacher-card-photo-placeholder{place-items:center;width:100%;height:100%;font-size:26px;display:grid}html.fh-capacitor-native .fh-mob-members .fh-student-card-head.is-floating,html.fh-capacitor-native .fh-mob-members .fh-teacher-card-head.is-floating{background:linear-gradient(#0000 0%,#08060d59 48%,#08060de0 100%);padding:18px 8px 8px;top:auto;bottom:0}html.fh-capacitor-native .fh-mob-members .fh-student-card-name,html.fh-capacitor-native .fh-mob-members .fh-teacher-card-name{font-size:15px;line-height:1.2}html.fh-capacitor-native .fh-mob-members .fh-student-card-fullname,html.fh-capacitor-native .fh-mob-members .fh-teacher-card-fullname{display:none}html.fh-capacitor-native .fh-mob-members .fh-student-card-body{flex-shrink:0;gap:4px;padding:6px 8px 8px}html.fh-capacitor-native .fh-mob-members .fh-student-card-stat,html.fh-capacitor-native .fh-mob-members .fh-student-card-body>.fh-meta{display:none}html.fh-capacitor-native .fh-mob-members .fh-student-rep-pill{letter-spacing:.04em;padding:3px 6px;font-size:8px;margin-bottom:0!important}html.fh-capacitor-native .fh-mob-members .fh-teacher-card-body{flex-shrink:0;padding:6px 8px 8px;display:block}html.fh-capacitor-native .fh-mob-members .fh-teacher-card-stat{display:none}html.fh-capacitor-native .fh-mob-members .fh-teacher-card-stat:nth-child(2){flex-direction:column;align-items:flex-start;gap:2px;display:flex}html.fh-capacitor-native .fh-mob-members .fh-teacher-card-stat:nth-child(2) .fh-meta{margin:0;font-size:9px}html.fh-capacitor-native .fh-mob-members .fh-teacher-card-stat:nth-child(2) strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}html.fh-capacitor-native .fh-mob-members .fh-modal-backdrop{align-items:flex-end;padding:0}html.fh-capacitor-native .fh-mob-members .fh-modal-card{-webkit-overflow-scrolling:touch;border-radius:16px 16px 0 0;width:100%;max-width:100%;max-height:min(92vh,720px);margin:0;overflow-y:auto}html.fh-capacitor-native .fh-mob-members .fh-btn{min-height:44px}html.fh-capacitor-native .fh-mob-members .fh-input,html.fh-capacitor-native .fh-mob-members .fh-textarea{font-size:16px}html.fh-capacitor-native .fh-mob-academic-panel{background:var(--fred-cream);flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow:hidden}html.fh-capacitor-native .fh-mob-academic-tab-scroll{-webkit-overflow-scrolling:touch;box-sizing:border-box;flex:1;width:100%;min-height:0;padding:12px 12px 16px;overflow:hidden auto}html.fh-capacitor-native .fh-mob-academic-tab .fh-classroom-term-card{display:none!important}html.fh-capacitor-native .fh-mob-academic-tab .fh-mob-progress-card{box-sizing:border-box;border-radius:14px;width:100%;max-width:100%;margin:0}html.fh-capacitor-native .fh-mob-academic-tab .fh-mob-grid-2{box-sizing:border-box;gap:10px;width:100%;max-width:100%;margin:12px 0 0;padding:0}html.fh-capacitor-native .fh-mob-academic-tab .fh-mob-grid-tile{box-sizing:border-box;min-width:0;max-width:100%;overflow:hidden}html.fh-capacitor-native .fh-mob-academic-panel .fh-mob-academic-inner{flex-direction:column;flex:1;min-height:0;display:flex}html.fh-capacitor-native .fh-mob-academic-panel .fh-mob-academic-inner .fh-dashboard-main{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}html.fh-capacitor-native .fh-mob-academic-panel .fh-mob-academic-inner .fh-dashboard-content{gap:10px;padding:12px 12px 28px}html.fh-capacitor-native .fh-mob-academic-panel .fh-mob-academic-inner .fh-card{border-radius:14px;padding:12px}html.fh-capacitor-native .fh-mob-academic-panel .fh-mob-academic-notice{background:var(--fh-yellow-soft-bg);color:var(--fh-yellow-ink);border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.45}html.fh-capacitor-native .fh-mob-gcal-term-wrap{padding:0 12px 8px}html.fh-capacitor-native .fh-classroom-term-card--compact{border-radius:12px;margin-bottom:8px}html.fh-capacitor-native .fh-classroom-term-card--compact .fh-academic-term-select-embedded{max-width:100%;font-size:11px}html.fh-capacitor-native .fh-classroom-term-card--compact .fh-academic-term-banner--in-card{margin-top:10px;font-size:12px}html.fh-capacitor-native .fh-academic-term-bar--mobile{margin:0 0 10px;padding:0 2px}html.fh-capacitor-native .fh-academic-term-bar--mobile .fh-academic-term-banner{padding:8px 10px;font-size:12px}html.fh-capacitor-native .fh-academic-term-bar--mobile .fh-progress-card-term-with-select{font-size:11px}html.fh-capacitor-native .fh-mob-academic-panel .fh-assignment-form-row,html.fh-capacitor-native .fh-mob-academic-panel .fh-assignment-filters{grid-template-columns:1fr!important}html.fh-capacitor-native .fh-mob-academic-panel .fh-assignment-form-actions,html.fh-capacitor-native .fh-mob-academic-panel .fh-assignment-card-actions{flex-direction:column}html.fh-capacitor-native .fh-mob-academic-panel .fh-assignment-form-actions .fh-btn,html.fh-capacitor-native .fh-mob-academic-panel .fh-assignment-card-actions .fh-btn{width:100%}html.fh-capacitor-native .fh-mob-academic-panel .fh-discipline-grid{flex-direction:column;gap:10px;display:flex}html.fh-capacitor-native .fh-mob-academic-panel .fh-discipline-enroll--mobile .fh-discipline-enroll-add{margin-top:0}html.fh-capacitor-native .fh-mob-academic-panel .fh-discipline-enroll-add-row{flex-direction:column;align-items:stretch;gap:10px;margin-top:8px;display:flex}html.fh-capacitor-native .fh-mob-academic-panel .fh-discipline-enroll-add-row .fh-input,html.fh-capacitor-native .fh-mob-academic-panel .fh-discipline-enroll-add-row select.fh-input{box-sizing:border-box;width:100%}html.fh-capacitor-native .fh-mob-academic-panel .fh-discipline-enroll-add-row .fh-btn{width:100%}html.fh-capacitor-native .fh-mob-academic-panel .fh-discipline-enroll-actions{flex-wrap:wrap;gap:8px;width:100%;display:flex}html.fh-capacitor-native .fh-mob-academic-panel .fh-discipline-enroll-actions .fh-btn{flex:calc(50% - 4px);min-width:120px}html.fh-capacitor-native .fh-mob-academic-panel .fh-discipline-card.fh-assignment-card{box-sizing:border-box;width:100%;min-width:0;padding:0}html.fh-capacitor-native .fh-mob-academic-panel .fh-assignment-card-summary{padding:14px 12px}html.fh-capacitor-native .fh-mob-academic-panel .fh-assignment-card-details{padding:0 12px 12px}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-form-header{flex-direction:column;align-items:stretch!important}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-form-header .fh-btn{width:100%}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-two-col{grid-template-columns:1fr!important}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-actions{flex-direction:column}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-actions .fh-btn{width:100%}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-filters-wrap{justify-content:stretch!important}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-filters-grid{grid-template-columns:1fr!important;max-width:none!important}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-item-head{flex-direction:column;align-items:stretch!important}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-item-actions{grid-template-columns:1fr 1fr;width:100%;display:grid!important}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-item-actions .fh-btn{width:100%}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-mobile-filter-toggle{justify-content:center;width:100%;margin-top:8px;display:inline-flex}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-filters-grid:not(.is-open){display:none!important}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-filters-grid.is-open{display:grid!important}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-url-meta{display:none}html.fh-capacitor-native .fh-mob-academic-panel .fh-btn{min-height:44px}html.fh-capacitor-native .fh-mob-academic-panel .fh-input,html.fh-capacitor-native .fh-mob-academic-panel .fh-textarea,html.fh-capacitor-native .fh-mob-academic-panel select.fh-input{font-size:16px}html.fh-capacitor-native .fh-mob-assignment-list-head{flex-direction:column;align-items:stretch;gap:10px;display:flex}html.fh-capacitor-native .fh-mob-assignment-add-btn{width:100%}html.fh-capacitor-native .fh-mob-assignment-editor{min-height:0}html.fh-capacitor-native .fh-mob-academic-editor-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:12px;overflow-y:auto}html.fh-capacitor-native .fh-mob-academic-editor-error{margin-bottom:10px}html.fh-capacitor-native .fh-mob-academic-editor-loading{padding:12px}html.fh-capacitor-native .fh-mob-academic-editor-body{border-radius:14px;margin:12px}html.fh-capacitor-native .fh-mob-academic-editor-form{border-radius:14px}html.fh-capacitor-native .fh-mob-academic-editor-actions{flex-direction:column;gap:8px;margin-top:14px;display:flex}html.fh-capacitor-native .fh-mob-academic-editor-actions .fh-btn{width:100%;min-height:44px}html.fh-capacitor-native .fh-mob-tab-shell.fh-mob-academic-panel:has(.fh-mob-colab-scroll){overflow:hidden}html.fh-capacitor-native .fh-mob-colab-scroll{padding:12px 12px calc(var(--fh-mob-tab-bar-h,64px) + var(--fh-safe-bottom,0px) + 24px);box-sizing:border-box;width:100%;max-width:100%;overflow-x:hidden}html.fh-capacitor-native .fh-mob-grades-scroll{padding:16px 12px calc(var(--fh-mob-tab-bar-h,64px) + var(--fh-safe-bottom,0px) + 24px);box-sizing:border-box;overflow-x:hidden}html.fh-capacitor-native .fh-mob-grades-wrap{gap:12px;display:grid}html.fh-capacitor-native .fh-mob-grades-wrap .fh-grades-table th,html.fh-capacitor-native .fh-mob-grades-wrap .fh-grades-table td{padding:8px 6px;font-size:13px}html.fh-capacitor-native .fh-mob-grades-wrap .fh-grades-input{width:100%;max-width:100%}html.fh-capacitor-native .fh-mob-colab-shell{flex:none;width:100%;min-width:0;max-width:100%;min-height:0;display:block;overflow-x:hidden}html.fh-capacitor-native .fh-mob-colab-shell .fh-dashboard-main{flex:none;width:100%;min-width:0;max-width:100%;min-height:auto;display:block;overflow:visible}html.fh-capacitor-native .fh-mob-colab-shell .fh-dashboard-main>.fh-dashboard-content{padding-top:0}html.fh-capacitor-native .fh-mob-colab-shell .fh-dashboard-content.fh-mob-colab-wrap{flex:none;gap:12px;width:100%;min-width:0;max-width:100%;min-height:auto;overflow:visible;padding:0!important}html.fh-capacitor-native .fh-mob-colab-composer-toggle-row{margin-top:4px;margin-bottom:10px}html.fh-capacitor-native .fh-mob-academic-panel .fh-mob-colab-wrap{gap:12px;width:100%;min-width:0;max-width:100%;overflow-x:hidden}html.fh-capacitor-native .fh-mob-colab-filters{grid-template-columns:1fr;gap:8px;display:grid}html.fh-capacitor-native .fh-mob-colab-filters .fh-btn,html.fh-capacitor-native .fh-mob-colab-composer-toggle-row .fh-mob-assignment-add-btn,html.fh-capacitor-native .fh-mob-colab-composer .fh-colab-composer-actions .fh-btn{width:100%;min-height:44px}html.fh-capacitor-native .fh-mob-colab-composer{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding-bottom:calc(var(--fh-mob-tab-bar-h,64px) + var(--fh-safe-bottom,0px));margin-bottom:8px;overflow:hidden}html.fh-capacitor-native .fh-mob-colab-composer .fh-colab-composer-row,html.fh-capacitor-native .fh-mob-colab-composer .fh-colab-composer-link-row{grid-template-columns:1fr;min-width:0}html.fh-capacitor-native .fh-mob-colab-composer .fh-colab-composer-links,html.fh-capacitor-native .fh-mob-colab-composer .fh-colab-composer-images,html.fh-capacitor-native .fh-mob-colab-composer .fh-input,html.fh-capacitor-native .fh-mob-colab-composer .fh-textarea,html.fh-capacitor-native .fh-mob-colab-composer select{min-width:0;max-width:100%}html.fh-capacitor-native .fh-mob-colab-composer input[type=file]{width:100%;max-width:100%}html.fh-capacitor-native .fh-mob-colab-composer .fh-colab-link-video-flag{white-space:normal}html.fh-capacitor-native .fh-mob-colab-composer .fh-colab-pending-list li{flex-wrap:wrap;gap:8px}html.fh-capacitor-native .fh-mob-colab-composer .fh-colab-pending-list li span{overflow-wrap:anywhere;word-break:break-word;flex:100%}html.fh-capacitor-native .fh-mob-colab-composer .fh-colab-composer-actions{flex-direction:column}html.fh-capacitor-native .fh-mob-colab-feed{gap:14px}html.fh-capacitor-native .fh-mob-colab-card{border:1px solid var(--fred-border-mob);border-radius:14px;overflow:hidden;box-shadow:0 2px 12px #0000000f}html.fh-capacitor-native .fh-mob-colab-card-head{background:var(--fred-blue);border-bottom:none;padding:12px 14px}html.fh-capacitor-native .fh-mob-colab-card-title{color:var(--fred-yellow);font-size:17px;font-weight:800;line-height:1.2}html.fh-capacitor-native .fh-mob-colab-card-head .fh-colab-theme-badge{color:var(--fred-yellow);background:#ffffff29;border:1px solid #ffffff47;font-size:10px}html.fh-capacitor-native .fh-mob-colab-card-head .fh-mob-colab-delete-btn{border-radius:999px;min-height:32px;padding:4px 10px;font-size:12px;font-weight:600;color:#fff!important;box-shadow:none!important;background:#ffffff24!important;border:1px solid #ffffff73!important}html.fh-capacitor-native .fh-mob-colab-card-body{padding:14px}html.fh-capacitor-native .fh-mob-colab-card .fh-colab-attachment-image img{border-radius:10px;width:100%;max-height:220px}html.fh-capacitor-native .fh-mob-colab-engagement-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}html.fh-capacitor-native .fh-mob-colab-engagement-actions .fh-colab-engagement-btn--icon{border-radius:12px;width:42px;height:42px}html.fh-capacitor-native .fh-mob-colab-comment-form{grid-template-columns:1fr;gap:8px}html.fh-capacitor-native .fh-mob-colab-comment-submit{width:100%;min-height:44px}html.fh-capacitor-native .fh-mob-colab-report-form{gap:8px;margin-top:10px;display:grid}html.fh-capacitor-native .fh-mob-colab-report-form .fh-btn{width:100%;min-height:44px}html.fh-capacitor-native .fh-mob-colab-card .fh-colab-author-footer{border-top:1px solid var(--fred-border-mob);margin-top:12px;padding-top:12px}html.fh-capacitor-native .fh-mob-colab-card .fh-colab-author-avatar{width:34px;height:34px}html.fh-capacitor-native .fh-mob-academic-head.fh-mob-header--blue .fh-mob-h1{color:#fff}html.fh-capacitor-native .fh-mob-academic-head.fh-mob-header--blue .fh-mob-accent{color:var(--fred-yellow)}html.fh-capacitor-native .fh-mob-gcal{--fh-gcal-bg:var(--fred-cream);--fh-gcal-surface:var(--fh-card);--fh-gcal-surface-muted:color-mix(in srgb, var(--fh-card) 94%, var(--fred-blue) 6%);--fh-gcal-text:var(--fred-text-mob);--fh-gcal-muted:var(--fred-muted-mob);--fh-gcal-border:var(--fred-border-mob);--fh-gcal-accent:var(--fred-blue);--fh-gcal-accent-deep:var(--fred-blue-deep);--fh-gcal-accent-soft:var(--fh-accent-2);--fh-gcal-press:color-mix(in srgb, var(--fred-text-mob) 10%, transparent);--fh-gcal-scrim:color-mix(in srgb, var(--fred-text-mob) 42%, transparent);background:var(--fh-gcal-bg);min-height:0;color:var(--fh-gcal-text);flex-direction:column;flex:1;display:flex;position:relative}html.fh-capacitor-native .fh-mob-gcal-class-banner{background:linear-gradient(135deg, var(--fred-blue-deep) 0%, var(--fred-blue) 100%);color:#fff;flex-shrink:0;padding:8px 14px;font-size:12px}html.fh-capacitor-native .fh-mob-gcal-class-banner .fh-mob-mono{color:#ffffffeb;letter-spacing:.02em;font-size:11px}html.fh-capacitor-native .fh-mob-gcal-class-banner.is-warning{background:var(--fh-gcal-surface);color:var(--fh-gcal-text);border-bottom:1px solid var(--fh-gcal-border)}html.fh-capacitor-native .fh-mob-gcal-class-banner.is-warning p{margin:0 0 8px;font-size:13px;line-height:1.4}html.fh-capacitor-native .fh-mob-gcal-class-banner-btn{background:var(--fh-gcal-accent);color:#fff;border:none;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600}html.fh-capacitor-native .fh-mob-gcal.has-overlay{overflow:hidden}html.fh-capacitor-native .fh-mob-gcal-header{border-bottom:1px solid var(--fh-gcal-border);background:var(--fh-gcal-surface);flex-shrink:0;padding:8px 8px 4px}html.fh-capacitor-native .fh-mob-gcal-header-row{align-items:center;gap:4px;display:flex}html.fh-capacitor-native .fh-mob-gcal-header-nav{justify-content:center;margin-top:2px}html.fh-capacitor-native .fh-mob-gcal-icon-btn{width:44px;height:44px;color:var(--fh-gcal-text);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}html.fh-capacitor-native .fh-mob-gcal-icon-btn:active{background:var(--fh-gcal-press)}html.fh-capacitor-native .fh-mob-gcal-month-title{text-align:left;color:var(--fh-gcal-text);text-transform:capitalize;background:0 0;border:none;flex:1;padding:6px 4px;font-size:22px;font-weight:400;line-height:1.2}html.fh-capacitor-native .fh-mob-gcal-header-add{background:var(--fh-gcal-accent);color:#fff;width:40px;height:40px;box-shadow:var(--fh-mob-shadow-card);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}html.fh-capacitor-native .fh-mob-gcal-header-add svg{width:22px;height:22px}html.fh-capacitor-native .fh-mob-gcal-drawer-item--primary{background:var(--fh-gcal-accent-soft);color:var(--fh-gcal-accent);border-radius:12px;font-weight:600}html.fh-capacitor-native .fh-mob-gcal-empty{color:var(--fh-gcal-muted);text-align:center;margin:16px;font-size:14px}html.fh-capacitor-native .fh-mob-gcal-empty p{margin:0 0 12px}html.fh-capacitor-native .fh-mob-gcal-empty-add{background:var(--fh-gcal-accent);color:#fff;border:none;border-radius:20px;padding:10px 18px;font-size:14px;font-weight:500}html.fh-capacitor-native .fh-mob-gcal-header-caption{text-align:center;color:var(--fh-gcal-text);text-transform:capitalize;flex:1;font-size:14px;font-weight:500}html.fh-capacitor-native .fh-mob-gcal-today-btn{border:1px solid var(--fh-gcal-border);background:var(--fh-gcal-surface);color:var(--fh-gcal-text);border-radius:18px;flex-shrink:0;padding:8px 14px;font-size:14px;font-weight:500}html.fh-capacitor-native .fh-mob-gcal-error{margin:8px 16px 0}html.fh-capacitor-native .fh-mob-gcal-body{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;min-height:0;padding-bottom:calc(var(--fh-mob-tab-bar-h,64px) + 12px + var(--fh-safe-bottom,0px));flex:1;overflow-y:auto}html.fh-capacitor-native .fh-mob-gcal-month-wrap{border-bottom:1px solid var(--fh-gcal-border);flex-shrink:0;padding:0 8px 8px}html.fh-capacitor-native .fh-mob-gcal-weekdays{grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}html.fh-capacitor-native .fh-mob-gcal-weekday{text-align:center;color:var(--fh-gcal-muted);padding:6px 0;font-size:11px;font-weight:500}html.fh-capacitor-native .fh-mob-gcal-grid{grid-template-columns:repeat(7,1fr);gap:0;display:grid}html.fh-capacitor-native .fh-mob-gcal-cell{min-height:40px;color:var(--fh-gcal-text);background:0 0;border:none;border-radius:50%;flex-direction:column;align-items:center;gap:3px;padding:2px 2px 4px;display:flex}html.fh-capacitor-native .fh-mob-gcal-cell.is-outside{color:var(--fh-gcal-muted)}html.fh-capacitor-native .fh-mob-gcal-cell-num{border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:400;line-height:1;display:inline-flex}html.fh-capacitor-native .fh-mob-gcal-cell.is-today:not(.is-selected) .fh-mob-gcal-cell-num{border:1px solid var(--fh-gcal-accent);color:var(--fh-gcal-accent);font-weight:500}html.fh-capacitor-native .fh-mob-gcal-cell.is-selected .fh-mob-gcal-cell-num{background:var(--fh-gcal-accent);color:#fff;font-weight:500}html.fh-capacitor-native .fh-mob-gcal-cell-markers{justify-content:center;gap:2px;width:100%;min-height:4px;padding:0 4px;display:flex}html.fh-capacitor-native .fh-mob-gcal-cell-marker{background:var(--fh-gcal-accent);border-radius:2px;flex:1;max-width:8px;height:3px}html.fh-capacitor-native .fh-mob-gcal-cell-marker.fh-event-type-exam{background:#e8710a}html.fh-capacitor-native .fh-mob-gcal-cell-marker.fh-event-type-assignment{background:#9334e6}html.fh-capacitor-native .fh-mob-gcal-cell-marker.fh-event-type-reading{background:#0d9488}html.fh-capacitor-native .fh-mob-gcal-cell-marker.fh-event-type-notice{background:#f9ab00}html.fh-capacitor-native .fh-mob-gcal-cell-marker.fh-event-type-group-deadline,html.fh-capacitor-native .fh-mob-gcal-cell-marker.fh-event-type-tcc-deadline{background:#d01884}html.fh-capacitor-native .fh-mob-gcal-cell-marker.fh-event-type-meeting{background:#5f6368}html.fh-capacitor-native .fh-mob-gcal-schedule{flex:none;padding:8px 0 16px;overflow:visible}html.fh-capacitor-native .fh-mob-gcal-day-heading{color:var(--fh-gcal-text);text-transform:capitalize;margin:12px 16px 8px;font-size:13px;font-weight:500}html.fh-capacitor-native .fh-mob-gcal-day-block{margin-bottom:8px}html.fh-capacitor-native .fh-mob-gcal-rows{flex-direction:column;display:flex}html.fh-capacitor-native .fh-mob-gcal-row{text-align:left;border:none;border-bottom:1px solid var(--fh-gcal-border);background:0 0;align-items:stretch;gap:12px;width:100%;padding:10px 16px;display:flex}html.fh-capacitor-native .fh-mob-gcal-row:active{background:var(--fh-gcal-press)}html.fh-capacitor-native .fh-mob-gcal-row.is-past{opacity:.65}html.fh-capacitor-native .fh-mob-gcal-row-bar{background:var(--fh-gcal-accent);border-radius:4px;flex-shrink:0;width:4px}html.fh-capacitor-native .fh-mob-gcal-row.fh-event-type-exam .fh-mob-gcal-row-bar{background:#e8710a}html.fh-capacitor-native .fh-mob-gcal-row.fh-event-type-assignment .fh-mob-gcal-row-bar{background:#9334e6}html.fh-capacitor-native .fh-mob-gcal-row.fh-event-type-reading .fh-mob-gcal-row-bar{background:#0d9488}html.fh-capacitor-native .fh-mob-gcal-row.fh-event-type-notice .fh-mob-gcal-row-bar{background:#f9ab00}html.fh-capacitor-native .fh-mob-gcal-row.fh-event-type-group-deadline .fh-mob-gcal-row-bar,html.fh-capacitor-native .fh-mob-gcal-row.fh-event-type-tcc-deadline .fh-mob-gcal-row-bar{background:#d01884}html.fh-capacitor-native .fh-mob-gcal-row.fh-event-type-meeting .fh-mob-gcal-row-bar{background:#5f6368}html.fh-capacitor-native .fh-mob-gcal-row-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}html.fh-capacitor-native .fh-mob-gcal-row-time{color:var(--fh-gcal-muted);font-size:12px}html.fh-capacitor-native .fh-mob-gcal-row-title{color:var(--fh-gcal-text);font-size:15px;font-weight:400;line-height:1.35}html.fh-capacitor-native .fh-mob-gcal-row-sub{color:var(--fh-gcal-muted);font-size:13px}html.fh-capacitor-native .fh-mob-gcal-drawer-scrim{z-index:90;background:var(--fh-gcal-scrim);border:none;position:fixed;inset:0}html.fh-capacitor-native .fh-mob-gcal-drawer{z-index:100;background:var(--fh-gcal-surface);width:min(300px,86vw);box-shadow:var(--fh-mob-shadow-card);-webkit-overflow-scrolling:touch;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 24px;animation:.22s ease-out fh-mob-gcal-drawer-in;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}@keyframes fh-mob-gcal-drawer-in{0%{transform:translate(-100%)}to{transform:translate(0)}}html.fh-capacitor-native .fh-mob-gcal-drawer-head h2{color:var(--fh-gcal-text);margin:8px 0 4px;font-size:20px;font-weight:500}html.fh-capacitor-native .fh-mob-gcal-drawer-head p{color:var(--fh-gcal-muted);margin:0 0 16px;font-size:14px}html.fh-capacitor-native .fh-mob-gcal-drawer-section{margin-bottom:20px}html.fh-capacitor-native .fh-mob-gcal-drawer-label{letter-spacing:.06em;text-transform:uppercase;color:var(--fh-gcal-muted);margin-bottom:8px;font-size:11px;font-weight:500}html.fh-capacitor-native .fh-mob-gcal-drawer-item{text-align:left;width:100%;color:var(--fh-gcal-text);background:0 0;border:none;border-radius:8px;padding:12px 8px;font-size:16px;display:block}html.fh-capacitor-native .fh-mob-gcal-drawer-item.is-active{background:var(--fh-gcal-accent-soft);color:var(--fh-gcal-accent);font-weight:500}html.fh-capacitor-native .fh-mob-gcal-drawer-item:active{background:var(--fh-gcal-press)}html.fh-capacitor-native .fh-mob-gcal-drawer-select{width:100%;min-height:44px;font-size:16px}html.fh-capacitor-native .fh-mob-gcal-drawer-feed{background:var(--fh-gcal-surface-muted);border-radius:8px;margin-top:8px;padding:10px}html.fh-capacitor-native .fh-mob-gcal-drawer-feed-url{word-break:break-all;color:var(--fh-gcal-muted);margin:0 0 8px;font-size:11px}html.fh-capacitor-native .fh-mob-gcal-drawer-feed-actions{flex-wrap:wrap;gap:8px;display:flex}html.fh-capacitor-native .fh-mob-gcal-drawer-chip{border:1px solid var(--fh-gcal-border);background:var(--fh-gcal-surface);color:var(--fh-gcal-accent);border-radius:16px;padding:6px 12px;font-size:13px}html.fh-capacitor-native .fh-mob-gcal-drawer-hint{color:var(--fh-gcal-muted);margin:0;font-size:13px;line-height:1.45}html.fh-capacitor-native .fh-mob-gcal-sheet-backdrop{z-index:110;background:var(--fh-gcal-scrim);align-items:flex-end;display:flex;position:fixed;inset:0}html.fh-capacitor-native .fh-mob-gcal-sheet{-webkit-overflow-scrolling:touch;background:var(--fh-gcal-surface);width:100%;max-height:min(90vh,720px);padding:8px 20px calc(20px + env(safe-area-inset-bottom,0px));border-radius:16px 16px 0 0;overflow-y:auto}html.fh-capacitor-native .fh-mob-gcal-sheet--tall{max-height:94vh}html.fh-capacitor-native .fh-mob-gcal-sheet-handle{background:var(--fh-gcal-border);border-radius:999px;width:32px;height:4px;margin:6px auto 16px}html.fh-capacitor-native .fh-mob-gcal-type-pill{text-transform:uppercase;letter-spacing:.04em;background:var(--fh-gcal-accent-soft);color:var(--fh-gcal-accent);border-radius:4px;margin-bottom:8px;padding:4px 10px;font-size:11px;font-weight:500;display:inline-block}html.fh-capacitor-native .fh-mob-gcal-sheet-title{color:var(--fh-gcal-text);margin:0 0 8px;font-size:20px;font-weight:500;line-height:1.3}html.fh-capacitor-native .fh-mob-gcal-sheet-meta{color:var(--fh-gcal-muted);margin:0 0 12px;font-size:14px}html.fh-capacitor-native .fh-mob-gcal-sheet-line{color:var(--fh-gcal-text);margin:0 0 12px;font-size:14px;line-height:1.45}html.fh-capacitor-native .fh-mob-gcal-sheet-btn{background:var(--fh-gcal-accent);color:#fff;border:none;border-radius:8px;width:100%;min-height:44px;margin-top:8px;font-size:15px;font-weight:500;display:block}html.fh-capacitor-native .fh-mob-gcal-sheet-btn.is-secondary{background:var(--fh-gcal-surface);border:1px solid var(--fh-gcal-border);color:var(--fh-gcal-text)}html.fh-capacitor-native .fh-mob-gcal-sheet-btn.is-muted{background:var(--fh-gcal-surface-muted);color:var(--fh-gcal-text)}html.fh-capacitor-native .fh-mob-gcal-sheet-btn.is-danger{background:var(--fh-gcal-surface);border:1px solid color-mix(in srgb, var(--fred-danger-mob) 35%, var(--fh-gcal-border));color:var(--fred-danger-mob)}html.fh-capacitor-native .fh-mob-gcal-sheet-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}html.fh-capacitor-native .fh-mob-gcal-form{flex-direction:column;gap:10px;display:flex}html.fh-capacitor-native .fh-mob-gcal-form .fh-input,html.fh-capacitor-native .fh-mob-gcal-form .fh-textarea{width:100%;font-size:16px}html.fh-capacitor-native .fh-mob-gcal-check{color:var(--fh-gcal-text);align-items:center;gap:8px;font-size:15px;display:flex}html.fh-capacitor-native .fh-mob-panel .fh-mob-panel-search{margin-bottom:4px}html.fh-capacitor-native .fh-mob-panel .fh-mob-panel-search-wrap{width:100%;margin-top:8px;position:relative}html.fh-capacitor-native .fh-mob-panel .fh-mob-panel-search-wrap .fh-dashboard-search-input{width:100%;min-height:44px;font-size:16px}html.fh-capacitor-native .fh-mob-panel .fh-mob-panel-search-results{z-index:auto;max-height:none;position:static;top:auto;left:auto;right:auto}html.fh-capacitor-native .fh-mob-panel .fh-progress-card-head .fh-academic-term-scope-bar--embedded{flex-shrink:0}html.fh-capacitor-native .fh-mob-hub-panel-content .fh-weekly-metric-sheet-backdrop,html.fh-capacitor-native .fh-mob-panel .fh-weekly-metric-sheet-backdrop,html.fh-capacitor-native .fh-weekly-metric-sheet-backdrop{z-index:10200;padding:12px;padding-bottom:calc(12px + var(--fh-safe-bottom,0px));touch-action:none}html.fh-capacitor-native .fh-syllabus-modal-backdrop{z-index:10200;padding:12px;padding-bottom:calc(12px + var(--fh-safe-bottom,0px))}html.fh-capacitor-native.fh-mob-overlay-open.fh-native-panel-body-scroll .fh-mob-tab-bar.fh-mob-tab-bar--inline,html.fh-capacitor-native.fh-mob-overlay-open.fh-native-panel-body-scroll .fh-mob-tab-bar.fh-mob-tab-bar--dock{z-index:50!important}html.fh-capacitor-native .fh-mob-panel .fh-weekly-metric-sheet,html.fh-capacitor-native .fh-weekly-metric-sheet{max-height:min(78vh,560px)}html.fh-capacitor-native .fh-mob-panel .fh-weekly-metric-sheet-body,html.fh-capacitor-native .fh-weekly-metric-sheet-body{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;flex:1;min-height:0;overflow-y:auto}html.fh-capacitor-native.fh-mob-overlay-open .fh-mob-chrome-body,html.fh-capacitor-native.fh-mob-overlay-open .fh-mob-tab-scroll,html.fh-capacitor-native.fh-mob-overlay-open .fh-mob-scroll{touch-action:none;overflow:hidden!important}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-inbox,html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-conversation-top,html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-conversation-search,html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-conversation-composer-wrap,html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-conversation-toolbar,html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-conv-picker-trigger,html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-conv-picker-panel{background:var(--fh-mob-surface)}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-chip{background:var(--fh-mob-surface);color:var(--fred-muted-mob)}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-chip--prazos.has-alert{background:color-mix(in srgb, var(--fred-danger-mob) 18%, var(--fh-mob-surface))}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-urgent-strip{background:var(--fh-mob-surface);box-shadow:0 1px 8px #00000047}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-urgent-strip-icon{background:color-mix(in srgb, var(--fred-danger-mob) 18%, var(--fh-mob-surface))}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-avatar--blue{background:color-mix(in srgb, var(--fred-blue) 22%, var(--fh-mob-surface))}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-conversation-error{background:color-mix(in srgb, var(--fred-danger-mob) 16%, var(--fh-mob-surface));color:#fca5a5}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-conversation-composer .fh-chat-replying-bar{background:color-mix(in srgb, var(--fred-blue) 14%, var(--fh-mob-surface));border-color:color-mix(in srgb, var(--fred-blue) 35%, var(--fred-border-mob))}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-conversation-composer .fh-chat-replying-bar-cancel{background:var(--fh-mob-surface-elevated)}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-conversation-messages .fh-chat-bubble:not(.fh-chat-bubble-me){background:var(--fh-mob-surface-elevated);border-color:var(--fred-border-mob);color:var(--fred-text-mob)}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-conversation-messages .fh-chat-reply-action--footer{background:var(--fh-mob-surface-elevated);color:var(--fred-text-mob);border-color:var(--fred-border-mob)}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-conversation-messages .fh-thread-question-compact,html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-conversation-messages .fh-thread-reply{background:var(--fh-mob-surface-elevated);border-color:var(--fred-border-mob);color:var(--fred-text-mob)}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-conv-picker-option{background:var(--fh-mob-surface)}html.fh-capacitor-native[data-fh-theme=dark] .fh-mob-conv-picker-option.is-active{background:color-mix(in srgb, var(--fred-blue) 16%, var(--fh-mob-surface))}html.fh-capacitor-native[data-fh-theme=dark].fh-mob-subpage .fh-chat-composer-row,html.fh-capacitor-native[data-fh-theme=dark].fh-mob-subpage .fh-messenger-composer{background:var(--fh-mob-surface)}html.fh-capacitor-native .fh-materials-folder-bar--mobile{flex-direction:column;gap:10px;margin-top:8px;display:flex}html.fh-capacitor-native .fh-materials-folder-bar--mobile .fh-materials-breadcrumb{flex-wrap:wrap}html.fh-capacitor-native .fh-materials-folder-bar--mobile .fh-btn{width:100%}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-folder-grid{flex-direction:column;gap:8px;margin-top:10px;display:flex}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-folder-card{width:100%}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-folder-open{min-height:120px}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-folder-name{color:#ffd84d;min-height:0}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-folder-meta,html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-folder-meta.fh-meta{color:#fff!important}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-section-card{border-left-width:1px}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-item-card{border:1px solid var(--fred-border-mob,#e2e8f0);border-radius:14px;box-shadow:0 2px 8px #0f17330f}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-folder-actions{flex-direction:column;gap:6px;display:flex}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-folder-actions .fh-btn{width:100%}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-item-actions-row{flex-direction:column;gap:8px;display:flex}html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-item-actions-row .fh-btn,html.fh-capacitor-native .fh-mob-academic-panel .fh-materials-move-select{width:100%}html.fh-capacitor-native .fh-mob-academic-panel .fh-groups-page-grid,html.fh-capacitor-native .fh-mob-academic-panel .fh-groups-assistant-grid{flex-direction:column;gap:12px;display:flex}html.fh-capacitor-native .fh-mob-academic-panel .fh-groups-list-item{text-align:left;width:100%}html.fh-capacitor-native .fh-mob-academic-panel .fh-absence-visual-dots{flex-wrap:wrap}html.fh-capacitor-native.fh-native-panel-body-scroll,html.fh-capacitor-native.fh-native-panel-body-scroll body{-webkit-overflow-scrolling:touch;touch-action:pan-y;height:auto!important;min-height:100%!important;max-height:none!important;overflow:hidden auto!important}html.fh-capacitor-native.fh-native-panel-body-scroll.fh-mob-routes #root{height:auto!important;min-height:100%!important;max-height:none!important;display:block!important;overflow:visible!important}html.fh-capacitor-native.fh-native-panel-body-scroll .fh-mob-chrome{padding-bottom:calc(var(--fh-mob-tab-h,56px) + var(--fh-safe-bottom,0px) + 12px);box-sizing:border-box;height:auto!important;min-height:100%!important;max-height:none!important;display:block!important;overflow:visible!important}html.fh-capacitor-native.fh-native-panel-body-scroll .fh-mob-chrome-body,html.fh-capacitor-native.fh-native-panel-body-scroll .fh-mob-page,html.fh-capacitor-native.fh-native-panel-body-scroll .fh-mob-panel-shell,html.fh-capacitor-native.fh-native-panel-body-scroll .fh-mob-panel-body,html.fh-capacitor-native.fh-native-panel-body-scroll .fh-mob-hub-panel-root,html.fh-capacitor-native.fh-native-panel-body-scroll .fh-mob-hub-panel-content{flex:none!important;height:auto!important;min-height:0!important;max-height:none!important;display:block!important;overflow:visible!important}html.fh-capacitor-native.fh-native-panel-body-scroll .fh-mob-panel-shell>.fh-mob-header--tab{z-index:10001;box-sizing:border-box;width:100%;top:0;left:0;right:0;position:fixed!important}html.fh-capacitor-native.fh-native-panel-body-scroll.fh-mob-tab-root:before{z-index:10000}html.fh-capacitor-native.fh-native-panel-body-scroll .fh-mob-tab-bar.fh-mob-tab-bar--inline,html.fh-capacitor-native.fh-native-panel-body-scroll .fh-mob-tab-bar.fh-mob-tab-bar--dock{z-index:10000;margin:0;bottom:0;left:0;right:0;background:var(--fred-cream)!important;-webkit-backdrop-filter:none!important;border-top:1px solid var(--fred-border-mob)!important;position:fixed!important;box-shadow:0 -4px 24px #0f173314!important}html.fh-capacitor-native.fh-native-panel-body-scroll[data-fh-theme=dark] .fh-mob-tab-bar.fh-mob-tab-bar--inline,html.fh-capacitor-native.fh-native-panel-body-scroll[data-fh-theme=dark] .fh-mob-tab-bar.fh-mob-tab-bar--dock{background:var(--fh-mob-surface)!important;box-shadow:0 -4px 24px #00000059!important}html.fh-capacitor-native.fh-ios.fh-native-panel-body-scroll .fh-mob-tab-bar.fh-mob-tab-bar--inline,html.fh-capacitor-native.fh-ios.fh-native-panel-body-scroll .fh-mob-tab-bar.fh-mob-tab-bar--dock{background:var(--fred-cream)!important;-webkit-backdrop-filter:none!important;border-top:1px solid var(--fred-border-mob)!important}html.fh-capacitor-native.fh-ios.fh-native-panel-body-scroll[data-fh-theme=dark] .fh-mob-tab-bar.fh-mob-tab-bar--inline,html.fh-capacitor-native.fh-ios.fh-native-panel-body-scroll[data-fh-theme=dark] .fh-mob-tab-bar.fh-mob-tab-bar--dock{background:var(--fh-mob-surface)!important;border-top-color:var(--fred-border-mob)!important}html.fh-capacitor-native.fh-native-panel-body-scroll .fh-mob-panel-body{padding-top:var(--fh-mob-panel-header-h,calc(var(--fh-safe-top,0px) + 109px));touch-action:pan-y;padding-bottom:8px}html.fh-capacitor-native .fh-mob-panel-shell{background:var(--fred-cream)}html.fh-capacitor-native .fh-mob-panel-body{box-sizing:border-box;width:100%}
