@font-face{font-family:Sora;src:url(../media/Sora-Variable.0vjzc6q4e7shn.ttf?dpl=dpl_Hq8pugPuDARcV5usnMFqUmtdYSwz)format("truetype");font-style:normal;font-weight:100 800;font-display:swap}@font-face{font-family:Inter;src:url(../media/Inter-Variable.1861z85gr8htb.ttf?dpl=dpl_Hq8pugPuDARcV5usnMFqUmtdYSwz)format("truetype");font-style:normal;font-weight:100 900;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ff-color-flow:#6552e8;--ff-color-indigo:#2d1b6b;--ff-color-orange:#ff7a00;--ff-color-peach:#ffd9c2;--ff-color-lilac:#ede7ff;--ff-color-off-white:#faf9fc;--ff-color-graphite:#242431;--ff-color-muted:#6f6b7c;--ff-color-line:#e4dfeb;--ff-color-white:#fff;--ff-color-success:#168a52;--ff-color-success-bg:#e9f8f0;--ff-color-info:#2563c9;--ff-color-info-bg:#edf4ff;--ff-color-highlight:#c12c77;--ff-color-warning:#9a5c08;--ff-color-warning-bg:#fff5e6;--ff-color-danger:#a53a3a;--ff-color-danger-bg:#fff0ef;--ff-font-heading:"Sora", system-ui, sans-serif;--ff-font-body:"Inter", system-ui, sans-serif;--ff-space-1:.25rem;--ff-space-2:.5rem;--ff-space-3:.75rem;--ff-space-4:1rem;--ff-space-5:1.25rem;--ff-space-6:1.5rem;--ff-space-8:2rem;--ff-space-10:2.5rem;--ff-space-12:3rem;--ff-radius-sm:.5rem;--ff-radius-md:.75rem;--ff-radius-lg:1rem;--ff-radius-xl:1.5rem;--ff-radius-pill:999px;--ff-shadow-sm:0 2px 10px #2d1b6b0f;--ff-shadow-md:0 10px 28px #2d1b6b1a;--ff-shadow-lg:0 24px 60px #1f144533;--ff-content-max:76rem;--ff-touch:2.75rem}*,:before,:after{box-sizing:border-box}html{background:var(--ff-color-off-white);scroll-behavior:smooth;min-width:20rem}body{min-height:100vh;color:var(--ff-color-graphite);background:var(--ff-color-off-white);font-family:var(--ff-font-body);margin:0;font-size:1rem;line-height:1.5}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--ff-color-flow);text-underline-offset:.18em}img,svg{max-width:100%;display:block}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{color:var(--ff-color-indigo);font-family:var(--ff-font-heading);line-height:1.18}h1{letter-spacing:-.035em;font-size:clamp(1.75rem,3vw,2.5rem)}h2{letter-spacing:-.02em;font-size:clamp(1.25rem,2vw,1.65rem)}h3{font-size:1.05rem}:focus-visible{outline:3px solid var(--ff-color-flow);outline-offset:3px}::selection{color:var(--ff-color-indigo);background:var(--ff-color-peach)}.ff-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}.ff-icon{flex:none;width:1.25rem;height:1.25rem}.ff-stack{gap:var(--ff-space-4);display:grid}.ff-grid{gap:var(--ff-space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ff-page-heading{justify-content:space-between;align-items:flex-start;gap:var(--ff-space-4);margin-bottom:var(--ff-space-6);display:flex}.ff-page-heading p{max-width:42rem;color:var(--ff-color-muted);margin-bottom:0}.ff-kicker{margin-bottom:var(--ff-space-2);color:var(--ff-color-flow);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:800;display:block}@media (max-width:48rem){.ff-grid{grid-template-columns:1fr}.ff-page-heading{display:block}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.ff-logo{background:url(../media/logo-raster-principal.34wa9f_hoyg_c.png?dpl=dpl_Hq8pugPuDARcV5usnMFqUmtdYSwz) 0 0/18rem no-repeat;width:18rem;height:3.3rem;display:block;overflow:hidden}.ff-logo--compact{background-size:10.8rem;width:10.8rem;height:2.05rem}.ff-button{min-height:var(--ff-touch);border-radius:var(--ff-radius-md);justify-content:center;align-items:center;gap:var(--ff-space-2);color:var(--ff-color-indigo);text-align:center;border:1px solid #0000;padding:.68rem 1rem;font-weight:750;line-height:1.2;text-decoration:none;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex}.ff-button:hover:not(:disabled){box-shadow:var(--ff-shadow-sm);transform:translateY(-1px)}.ff-button:disabled,.ff-button[aria-disabled=true]{cursor:not-allowed;opacity:.58;box-shadow:none;transform:none}.ff-button--primary{background:var(--ff-color-orange)}.ff-button--primary:hover:not(:disabled){background:#ed7000}.ff-button--secondary{color:var(--ff-color-indigo);background:var(--ff-color-white);border-color:#cfc7df}.ff-button--positive{color:#073e25;background:#5dd89a}.ff-button--danger{color:var(--ff-color-danger);background:var(--ff-color-danger-bg);border-color:#edc7c3}.ff-button--ghost{color:var(--ff-color-flow);background:0 0}.ff-field{min-width:0;color:var(--ff-color-indigo);gap:.38rem;font-weight:700;display:grid}.ff-field__label{font-size:.84rem}.ff-field input,.ff-field select,.ff-field textarea{width:100%;min-height:var(--ff-touch);border-radius:var(--ff-radius-md);color:var(--ff-color-graphite);background:var(--ff-color-white);border:1px solid #cfc7dc;padding:.7rem .8rem;font-weight:450;box-shadow:0 1px #2d1b6b08}.ff-field textarea{resize:vertical;min-height:7rem}.ff-field input::placeholder,.ff-field textarea::placeholder{color:#8b8594}.ff-field input:hover,.ff-field select:hover,.ff-field textarea:hover{border-color:#aa9ec3}.ff-field input:focus,.ff-field select:focus,.ff-field textarea:focus{border-color:var(--ff-color-flow);outline:3px solid #6552e833}.ff-field--error input,.ff-field--error select,.ff-field--error textarea{border-color:var(--ff-color-danger)}.ff-field__hint,.ff-field__error{font-size:.76rem;font-weight:500}.ff-field__hint{color:var(--ff-color-muted)}.ff-field__error{color:var(--ff-color-danger)}.ff-password{display:block;position:relative}.ff-password input{padding-right:5.2rem}.ff-password button{border-radius:var(--ff-radius-sm);min-height:2.25rem;color:var(--ff-color-flow);background:0 0;border:0;padding:.35rem .55rem;font-size:.76rem;font-weight:750;position:absolute;top:.25rem;right:.25rem}.ff-choice,.ff-switch{min-height:var(--ff-touch);align-items:center;gap:var(--ff-space-3);color:var(--ff-color-graphite);cursor:pointer;display:flex}.ff-choice input{width:1.25rem;height:1.25rem;accent-color:var(--ff-color-flow)}.ff-switch input{opacity:0;pointer-events:none;position:absolute}.ff-switch__track{border-radius:var(--ff-radius-pill);background:#aaa4b3;flex:none;width:2.7rem;height:1.5rem;transition:background .12s;position:relative}.ff-switch__track:after{content:"";width:1.1rem;height:1.1rem;box-shadow:var(--ff-shadow-sm);background:#fff;border-radius:50%;transition:transform .12s;position:absolute;top:.2rem;left:.2rem}.ff-switch input:checked+.ff-switch__track{background:var(--ff-color-flow)}.ff-switch input:checked+.ff-switch__track:after{transform:translate(1.2rem)}.ff-switch input:focus-visible+.ff-switch__track{outline:3px solid var(--ff-color-flow);outline-offset:3px}.ff-card{padding:var(--ff-space-5);border:1px solid var(--ff-color-line);border-radius:var(--ff-radius-lg);background:var(--ff-color-white);box-shadow:var(--ff-shadow-sm)}.ff-card>:last-child{margin-bottom:0}.ff-badge{border-radius:var(--ff-radius-pill);width:fit-content;color:var(--ff-color-indigo);background:var(--ff-color-lilac);align-items:center;padding:.28rem .58rem;font-size:.72rem;font-weight:750;display:inline-flex}.ff-badge--success{color:#0d6239;background:var(--ff-color-success-bg)}.ff-badge--warning{color:var(--ff-color-warning);background:var(--ff-color-warning-bg)}.ff-badge--danger{color:var(--ff-color-danger);background:var(--ff-color-danger-bg)}.ff-badge--info{color:var(--ff-color-info);background:var(--ff-color-info-bg)}.ff-alert{border-radius:var(--ff-radius-md);align-items:flex-start;gap:var(--ff-space-3);border:1px solid;padding:.85rem 1rem;font-size:.88rem;display:flex}.ff-alert strong{color:inherit;margin-bottom:.16rem;display:block}.ff-alert--info{color:var(--ff-color-indigo);background:var(--ff-color-lilac);border-color:#d9d0fb}.ff-alert--success{color:#0d6239;background:var(--ff-color-success-bg);border-color:#bfe8d2}.ff-alert--warning{color:var(--ff-color-warning);background:var(--ff-color-warning-bg);border-color:#f0d8ad}.ff-alert--danger{color:var(--ff-color-danger);background:var(--ff-color-danger-bg);border-color:#edc7c3}.ff-tooltip{display:inline-flex;position:relative}.ff-tooltip:hover:after,.ff-tooltip:focus-within:after{content:attr(data-tooltip);z-index:20;border-radius:var(--ff-radius-sm);color:#fff;background:var(--ff-color-indigo);width:max-content;max-width:16rem;box-shadow:var(--ff-shadow-md);padding:.45rem .6rem;font-size:.75rem;position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%)}.ff-skeleton{gap:var(--ff-space-3);display:grid}.ff-skeleton span{border-radius:var(--ff-radius-pill);background:linear-gradient(90deg,#eeeaf5 20%,#faf9fc 45%,#eeeaf5 70%) 0 0/220% 100%;height:.9rem;animation:1.3s linear infinite ff-shimmer}.ff-skeleton span:nth-child(2){width:78%}.ff-skeleton span:nth-child(3){width:55%}@keyframes ff-shimmer{to{background-position:-220% 0}}.ff-state{min-height:15rem;padding:var(--ff-space-8);border-radius:var(--ff-radius-lg);text-align:center;background:var(--ff-color-white);border:1px dashed #cfc7dc;align-content:center;place-items:center;display:grid}.ff-state__icon{width:3.2rem;height:3.2rem;margin-bottom:var(--ff-space-3);color:var(--ff-color-flow);background:var(--ff-color-lilac);border-radius:50%;place-items:center;display:grid}.ff-state h2{margin-bottom:var(--ff-space-2)}.ff-state p{max-width:34rem;color:var(--ff-color-muted);margin-bottom:0}.ff-state__action{margin-top:var(--ff-space-5)}.ff-state--success .ff-state__icon{color:var(--ff-color-success);background:var(--ff-color-success-bg)}.ff-state--error .ff-state__icon,.ff-state--denied .ff-state__icon{color:var(--ff-color-danger);background:var(--ff-color-danger-bg)}.ff-tabs{gap:var(--ff-space-2);border-bottom:1px solid var(--ff-color-line);display:flex;overflow-x:auto}.ff-tabs a{min-height:var(--ff-touch);color:var(--ff-color-muted);white-space:nowrap;border-bottom:3px solid #0000;padding:.7rem .8rem;font-weight:650;text-decoration:none}.ff-tabs a[aria-current=page]{border-color:var(--ff-color-orange);color:var(--ff-color-indigo)}.ff-breadcrumbs{margin:0 0 var(--ff-space-4);flex-wrap:wrap;gap:.45rem;padding:0;font-size:.82rem;list-style:none;display:flex}.ff-breadcrumbs li+li:before{content:"/";color:#aaa4b3;margin-right:.45rem}.ff-breadcrumbs span{color:var(--ff-color-muted)}.ff-pagination{justify-content:space-between;align-items:center;gap:var(--ff-space-4);margin-top:var(--ff-space-5);display:flex}.ff-pagination a{min-height:var(--ff-touch);align-items:center;padding:.65rem;font-weight:700;display:inline-flex}.ff-pagination a[aria-disabled=true]{color:var(--ff-color-muted);pointer-events:none;opacity:.6}.ff-table-wrap{border:1px solid var(--ff-color-line);border-radius:var(--ff-radius-lg);background:#fff;width:100%;overflow-x:auto}.ff-table{border-collapse:collapse;width:100%;min-width:38rem}.ff-table caption{padding:var(--ff-space-4);color:var(--ff-color-indigo);font-family:var(--ff-font-heading);text-align:left;font-weight:700}.ff-table th,.ff-table td{border-top:1px solid var(--ff-color-line);text-align:left;padding:.8rem 1rem}.ff-table th{color:var(--ff-color-muted);background:var(--ff-color-off-white);letter-spacing:.03em;text-transform:uppercase;font-size:.76rem}.ff-overlay{z-index:100;padding:var(--ff-space-4);background:#180e3a9e;place-items:center;display:grid;position:fixed;inset:0}.ff-modal{width:min(31rem,100%);max-height:calc(100vh - 2rem);padding:var(--ff-space-6);border-radius:var(--ff-radius-xl);box-shadow:var(--ff-shadow-lg);background:#fff;overflow-y:auto}.ff-overlay__head{justify-content:space-between;align-items:flex-start;gap:var(--ff-space-4);margin-bottom:var(--ff-space-5);display:flex}.ff-overlay__head h2{margin-bottom:var(--ff-space-2)}.ff-overlay__head p{color:var(--ff-color-muted);margin:0}.ff-overlay__head>button{width:var(--ff-touch);min-width:var(--ff-touch);height:var(--ff-touch);color:var(--ff-color-indigo);background:var(--ff-color-lilac);border:0;border-radius:50%;font-size:1.5rem}.ff-overlay--drawer{place-items:stretch end;padding:0}.ff-drawer{width:min(28rem,100%);height:100%;padding:var(--ff-space-6);box-shadow:var(--ff-shadow-lg);background:#fff;overflow-y:auto}@media (max-width:35rem){.ff-button{width:100%}.ff-card{padding:var(--ff-space-4)}.ff-state{padding:var(--ff-space-6) var(--ff-space-4)}.ff-modal{padding:var(--ff-space-5)}}
.ff-auth-shell{background:#fff;grid-template-columns:minmax(22rem,42%) minmax(0,1fr);min-height:100vh;display:grid}.ff-auth-brand{color:#fff;background:var(--ff-color-indigo);flex-direction:column;min-height:100vh;padding:clamp(2rem,5vw,4.5rem);display:flex;position:relative;overflow:hidden}.ff-auth-brand .ff-logo{z-index:2;filter:drop-shadow(0 1px #ffffff0d);position:relative}.ff-auth-brand__message{z-index:2;max-width:30rem;padding:var(--ff-space-10) 0;margin:auto 0;position:relative}.ff-auth-brand__message span{margin-bottom:var(--ff-space-4);color:var(--ff-color-peach);letter-spacing:.13em;font-size:.75rem;font-weight:800;display:block}.ff-auth-brand__message h1{margin-bottom:var(--ff-space-5);color:#fff;font-size:clamp(2rem,4vw,3.5rem)}.ff-auth-brand__message p{color:#ebe7ff;max-width:27rem;margin-bottom:0;font-size:1.08rem}.ff-auth-brand__flow{opacity:.28;background:url(../media/grafismo-flow.0i6icaudr79r0.png?dpl=dpl_Hq8pugPuDARcV5usnMFqUmtdYSwz) 50%/contain no-repeat;width:120%;height:17rem;position:absolute;bottom:-4rem;right:-15%;transform:rotate(-5deg)}.ff-auth-content{background:#fff;align-items:center;min-width:0;padding:clamp(2rem,6vw,5.5rem);display:grid}.ff-auth-mobile-logo{display:none}.ff-auth-form{width:min(100%,36rem);margin:0 auto}.ff-auth-form--narrow{max-width:29rem}.ff-auth-form__head{margin-bottom:var(--ff-space-6)}.ff-auth-form__head h1{margin-bottom:var(--ff-space-3)}.ff-auth-form__head p{color:var(--ff-color-muted);margin-bottom:0}.ff-auth-form fieldset{margin:0 0 var(--ff-space-6);border:0;padding:0}.ff-auth-form legend{width:100%;padding-bottom:var(--ff-space-3);margin-bottom:var(--ff-space-4);border-bottom:1px solid var(--ff-color-line);color:var(--ff-color-indigo);font-family:var(--ff-font-heading);font-weight:700}.ff-auth-fields{gap:var(--ff-space-4);display:grid}.ff-auth-fields--two{grid-template-columns:repeat(2,minmax(0,1fr))}.ff-auth-fields .ff-field--full{grid-column:1/-1}.ff-auth-form__actions{gap:var(--ff-space-3);margin-top:var(--ff-space-5);text-align:center;display:grid}.ff-auth-form__links{justify-content:center;align-items:center;gap:var(--ff-space-3);flex-wrap:wrap;font-size:.86rem;display:flex}.ff-auth-form__links span{background:var(--ff-color-line);width:1px;height:1rem}.ff-required{margin-top:var(--ff-space-4);color:var(--ff-color-muted);text-align:center;font-size:.75rem}.ff-required b{color:var(--ff-color-orange)}.ff-student-shell{background:var(--ff-color-off-white);min-height:100vh}.ff-student-grid{grid-template-columns:16rem minmax(0,1fr);min-height:100vh;display:grid}.ff-student-sidebar{height:100vh;padding:var(--ff-space-6) var(--ff-space-4);border-right:1px solid var(--ff-color-line);background:#fff;flex-direction:column;display:flex;position:sticky;top:0}.ff-student-sidebar .ff-logo{margin:0 var(--ff-space-2) var(--ff-space-5)}.ff-store-card{padding:var(--ff-space-3);margin-bottom:var(--ff-space-4);border-radius:var(--ff-radius-md);background:var(--ff-color-off-white)}.ff-store-card span{color:var(--ff-color-flow);letter-spacing:.1em;font-size:.65rem;font-weight:800;display:block}.ff-store-card strong{color:var(--ff-color-indigo);text-overflow:ellipsis;white-space:nowrap;margin-top:.18rem;display:block;overflow:hidden}.ff-student-nav,.ff-admin-nav{gap:.18rem;display:grid}.ff-student-nav a,.ff-admin-nav a{min-height:var(--ff-touch);border-radius:var(--ff-radius-md);align-items:center;gap:var(--ff-space-3);color:var(--ff-color-muted);padding:.68rem .75rem;font-size:.82rem;font-weight:620;text-decoration:none;display:flex}.ff-student-nav a:hover{color:var(--ff-color-indigo);background:var(--ff-color-off-white)}.ff-student-nav a[aria-current=page]{color:var(--ff-color-indigo);background:var(--ff-color-lilac);font-weight:750}.ff-sidebar-user{padding:var(--ff-space-4) var(--ff-space-3) 0;border-top:1px solid var(--ff-color-line);justify-content:space-between;align-items:center;gap:var(--ff-space-3);margin-top:auto;font-size:.78rem;display:flex}.ff-sidebar-user span{color:var(--ff-color-indigo);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.ff-student-workspace{min-width:0}.ff-student-header{height:4.5rem;padding:0 var(--ff-space-8);border-bottom:1px solid var(--ff-color-line);justify-content:space-between;align-items:center;gap:var(--ff-space-4);background:#fff;display:flex}.ff-student-header>div:first-child span,.ff-student-user>span:first-child{color:var(--ff-color-muted);font-size:.75rem}.ff-student-header strong{color:var(--ff-color-indigo);display:block}.ff-student-user{align-items:center;gap:var(--ff-space-3);display:flex}.ff-student-user>span:last-child{color:#fff;background:var(--ff-color-flow);border-radius:50%;place-items:center;width:2.4rem;height:2.4rem;font-weight:800;display:grid}.ff-page{width:min(100%, var(--ff-content-max));min-height:calc(100vh - 4.5rem);padding:var(--ff-space-8);margin:0 auto}.ff-bottom-nav{display:none}.ff-readonly-band{z-index:50;min-height:3.2rem;padding:.6rem var(--ff-space-6);justify-content:center;align-items:center;gap:var(--ff-space-6);color:#fff;background:var(--ff-color-indigo);display:flex;position:sticky;top:0}.ff-readonly-band a{color:#fff;font-weight:750}.ff-readonly-band+.ff-student-grid .ff-student-sidebar{height:calc(100vh - 3.2rem);top:3.2rem}.ff-admin-shell{background:#f6f5f9;grid-template-columns:15.5rem minmax(0,1fr);min-height:100vh;display:grid}.ff-admin-sidebar{height:100vh;padding:var(--ff-space-6) var(--ff-space-4);color:#fff;background:#241750;flex-direction:column;display:flex;position:sticky;top:0}.ff-admin-sidebar .ff-logo{margin:0 var(--ff-space-2) var(--ff-space-2);filter:drop-shadow(0 0 1px #fff3)}.ff-admin-label{padding:0 var(--ff-space-3) var(--ff-space-5);color:#cec7e7;letter-spacing:.12em;font-size:.64rem;font-weight:800}.ff-admin-nav a{color:#ddd8ef}.ff-admin-nav a:hover{color:#fff;background:#3b2b70}.ff-admin-nav a[aria-current=page]{color:#fff;background:var(--ff-color-flow)}.ff-admin-user{padding:var(--ff-space-4) var(--ff-space-3) 0;border-top:1px solid #ffffff29;gap:.2rem;margin-top:auto;font-size:.75rem;display:grid}.ff-admin-user strong{color:#fff}.ff-admin-user span{color:#cec7e7}.ff-admin-user a{margin-top:var(--ff-space-2);color:#fff}.ff-admin-workspace{min-width:0}.ff-admin-header{min-height:4.5rem;padding:var(--ff-space-3) var(--ff-space-8);border-bottom:1px solid var(--ff-color-line);justify-content:space-between;align-items:center;gap:var(--ff-space-4);background:#fff;display:flex}.ff-admin-header span{color:var(--ff-color-muted);font-size:.72rem;display:block}.ff-admin-header strong{color:var(--ff-color-indigo)}.ff-admin-page{width:min(100%, var(--ff-content-max));padding:var(--ff-space-8);margin:0 auto}.ff-dashboard-grid{gap:var(--ff-space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ff-metric{flex-direction:column;justify-content:space-between;min-height:8rem;display:flex}.ff-metric span{color:var(--ff-color-muted);font-size:.8rem}.ff-metric strong{color:var(--ff-color-indigo);font-family:var(--ff-font-heading);font-size:1.8rem}.ff-metric small{color:var(--ff-color-muted)}.ff-quick-list{margin:0;padding:0;list-style:none}.ff-quick-list li+li{border-top:1px solid var(--ff-color-line)}.ff-quick-list a{min-height:var(--ff-touch);padding:var(--ff-space-3) 0;justify-content:space-between;align-items:center;gap:var(--ff-space-4);color:var(--ff-color-indigo);font-weight:650;text-decoration:none;display:flex}@media (max-width:64rem){.ff-auth-shell{grid-template-columns:minmax(19rem,38%) minmax(0,1fr)}.ff-auth-brand,.ff-auth-content{padding:var(--ff-space-8)}.ff-student-grid{grid-template-columns:13.5rem minmax(0,1fr)}.ff-student-sidebar{padding-inline:var(--ff-space-3)}.ff-student-sidebar .ff-logo{background-size:9.5rem;width:9.5rem}.ff-student-nav a{font-size:.76rem}}@media (max-width:48rem){.ff-auth-shell{background:#fff;display:block}.ff-auth-brand{display:none}.ff-auth-content{min-height:100vh;padding:var(--ff-space-6) var(--ff-space-5) var(--ff-space-10);align-content:start}.ff-auth-mobile-logo{min-height:5rem;margin-bottom:var(--ff-space-5);border-bottom:1px solid var(--ff-color-line);align-items:center;display:flex}.ff-auth-fields--two{grid-template-columns:1fr}.ff-auth-fields .ff-field--full{grid-column:auto}.ff-student-grid,.ff-admin-shell{display:block}.ff-student-sidebar,.ff-admin-sidebar{display:none}.ff-student-header{height:3.8rem;padding:0 var(--ff-space-4)}.ff-student-header>div:first-child span,.ff-student-user>span:first-child{display:none}.ff-page,.ff-admin-page{min-height:calc(100vh - 3.8rem);padding:var(--ff-space-5) var(--ff-space-4) 6.5rem}.ff-bottom-nav{z-index:40;padding:.3rem max(.25rem, env(safe-area-inset-right)) max(.3rem, env(safe-area-inset-bottom)) max(.25rem, env(safe-area-inset-left));border-top:1px solid var(--ff-color-line);background:#fff;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #2d1b6b0f}.ff-bottom-nav a{border-radius:var(--ff-radius-sm);min-height:3.8rem;color:var(--ff-color-muted);text-align:center;align-content:center;place-items:center;gap:.2rem;padding:.4rem .15rem;font-size:.64rem;font-weight:650;text-decoration:none;display:grid}.ff-bottom-nav a[aria-current=page]{color:var(--ff-color-indigo);background:var(--ff-color-lilac)}.ff-bottom-nav .ff-icon{width:1.3rem;height:1.3rem}.ff-readonly-band{padding:var(--ff-space-3) var(--ff-space-4);align-items:flex-start;gap:var(--ff-space-2);flex-direction:column;position:relative}.ff-admin-header{padding:var(--ff-space-3) var(--ff-space-4)}.ff-admin-header .ff-badge{display:none}.ff-dashboard-grid{grid-template-columns:1fr}}@media (max-width:24rem){.ff-auth-content{padding-inline:var(--ff-space-4)}.ff-bottom-nav a{font-size:.58rem}}

