@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bricolage Grotesque Fallback;src:local("Arial");ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.00%;size-adjust:105.43%}.__className_d6ef78{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.__variable_d6ef78{--font-display:"Bricolage Grotesque","Bricolage Grotesque Fallback"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Fallback;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_1bc20f{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.__variable_1bc20f{--font-ui:"IBM Plex Sans","IBM Plex Sans Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_1f5b15{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_1f5b15{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--brand:#1e4b3d;--brand-strong:#14352b;--brand-tint:#e7efea;--brand-on:#ffffff;--ok:#1e7a4a;--ok-text:#17603b;--ok-bg:#e3f0e7;--warn:#a87700;--warn-text:#7a5600;--warn-bg:#f6eedc;--danger:#a32c24;--danger-text:#8c2119;--danger-bg:#f7e6e3;--paper-0:#fafaf7;--paper-1:#f2f3ef;--paper-2:#ffffffcc;--line-1:#e7e9e3;--line-2:#d4d8d0;--ink-3:#8b948c;--ink-2:#6a736c;--ink-1:#39413b;--ink-0:#1b231e;--font-display:"Bricolage Grotesque",system-ui,sans-serif;--font-ui:"IBM Plex Sans",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-pill:999px;--sh-1:0 1px 2px rgb(27 35 30/0.06);--sh-2:0 2px 8px rgb(27 35 30/0.08);--sh-3:0 8px 28px rgb(27 35 30/0.12);--t-fast:120ms;--t-med:180ms;--t-slow:240ms;--ease:cubic-bezier(0.16,1,0.3,1)}@media (prefers-color-scheme:dark){:root{--brand:#2c6b54;--brand-strong:#1e4b3d;--brand-tint:#1a2620;--brand-on:#f2f6f2;--ok:#2e9e6b;--ok-text:#2e9e6b;--ok-bg:rgb(46 158 107/0.14);--warn:#bc8a1e;--warn-text:#bc8a1e;--warn-bg:rgb(188 138 30/0.14);--danger:#ae352b;--danger-text:#c4574e;--danger-bg:rgb(174 53 43/0.14);--paper-0:#101714;--paper-1:#161d19;--paper-2:#1c241f;--line-1:#26302a;--line-2:#33403a;--ink-3:#5d6861;--ink-2:#9aa69e;--ink-1:#c3ccc6;--ink-0:#e7ece8}}:root[data-theme=light]{--brand:#1e4b3d;--brand-strong:#14352b;--brand-tint:#e7efea;--brand-on:#ffffff;--ok:#1e7a4a;--ok-text:#17603b;--ok-bg:#e3f0e7;--warn:#a87700;--warn-text:#7a5600;--warn-bg:#f6eedc;--danger:#a32c24;--danger-text:#8c2119;--danger-bg:#f7e6e3;--paper-0:#fafaf7;--paper-1:#f2f3ef;--paper-2:#ffffffcc;--line-1:#e7e9e3;--line-2:#d4d8d0;--ink-3:#8b948c;--ink-2:#6a736c;--ink-1:#39413b;--ink-0:#1b231e}:root[data-theme=dark]{--brand:#2c6b54;--brand-strong:#1e4b3d;--brand-tint:#1a2620;--brand-on:#f2f6f2;--ok:#2e9e6b;--ok-text:#2e9e6b;--ok-bg:rgb(46 158 107/0.14);--warn:#bc8a1e;--warn-text:#bc8a1e;--warn-bg:rgb(188 138 30/0.14);--danger:#ae352b;--danger-text:#c4574e;--danger-bg:rgb(174 53 43/0.14);--paper-0:#101714;--paper-1:#161d19;--paper-2:#1c241f;--line-1:#26302a;--line-2:#33403a;--ink-3:#5d6861;--ink-2:#9aa69e;--ink-1:#c3ccc6;--ink-0:#e7ece8}.num{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.doble-raya{border-top:1px solid var(--line-2);position:relative}.doble-raya:after{content:"";display:block;border-top:1px solid var(--brand);border-bottom:3px solid var(--brand);height:3px;margin-top:2px}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-ui);font-size:15px;color:var(--ink-0);background:var(--paper-1);-webkit-font-smoothing:antialiased;display:grid;place-items:center;min-height:100dvh;padding:24px}.card{width:min(420px,100%);background:var(--paper-0);border:1px solid var(--line-1);border-radius:var(--r-lg);padding:32px 28px;text-align:center}.wordmark{font-family:var(--font-display);font-weight:600;font-size:26px;letter-spacing:-.02em;color:var(--brand-strong);margin:0 auto;width:-moz-fit-content;width:fit-content}.wordmark:after{content:"";display:block;margin-top:4px;border-top:1px solid var(--brand);border-bottom:3px solid var(--brand);height:3px}.card p{margin-top:16px;color:var(--ink-2)}.portal-shell body,body:has(.portal-shell){display:block;padding:0}.portal-shell{min-height:100dvh;display:flex;flex-direction:column;max-width:560px;margin:0 auto;background:var(--paper-1)}.portal-top{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 8px}.portal-logout{font:inherit;font-size:13px;color:var(--ink-2);background:none;border:1px solid var(--line-2);border-radius:var(--r-sm);padding:5px 12px;cursor:pointer}.portal-tabs{display:flex;gap:4px;padding:0 20px;border-bottom:1px solid var(--line-1)}.portal-tabs a{padding:10px 14px;font-size:14px;font-weight:500;color:var(--ink-2);border-bottom:2px solid transparent;margin-bottom:-1px}.portal-tabs a:hover{color:var(--brand-strong);border-bottom-color:var(--brand)}.portal-main{padding:16px 20px 40px}.portal-family{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);margin-bottom:12px}.portal-hero{background:var(--paper-0);border:1px solid var(--line-1);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;margin-bottom:20px}.portal-hero small{color:var(--ink-2);font-size:12px}.portal-total{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:34px;font-weight:600}.portal-badge{font-size:12px;font-weight:500;border-radius:var(--r-pill);padding:4px 12px}.portal-badge-ok{color:var(--ok-text);background:var(--ok-bg)}.portal-badge-danger{color:var(--danger-text);background:var(--danger-bg)}.portal-student h2{font-size:16px;margin:18px 0 8px}.portal-student h2,.portal-title{font-family:var(--font-display);font-weight:600}.portal-title{font-size:20px;margin-bottom:12px}.portal-charges{list-style:none;display:flex;flex-direction:column;gap:8px}.portal-charges li{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--paper-0);border:1px solid var(--line-1);border-radius:var(--r-md);padding:12px 16px}.portal-charges small{display:block;color:var(--ink-2);font-size:12px;margin-top:2px}.portal-amount{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.portal-amount.overdue{color:var(--danger-text)}.portal-verify-link{display:block;font-size:12px;color:var(--brand);text-decoration:underline;margin-top:2px}.portal-form{margin-top:16px;gap:12px;text-align:left}.portal-form,.portal-form label{display:flex;flex-direction:column}.portal-form label{gap:6px;font-size:12px;font-weight:500;color:var(--ink-1)}.portal-form input{font:inherit;color:var(--ink-0);background:var(--paper-0);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:10px 12px}.portal-form button{font:inherit;font-weight:600;color:var(--brand-on);background:var(--brand);border:none;border-radius:var(--r-md);padding:12px 18px;cursor:pointer;margin-top:4px}.portal-error{color:var(--danger-text);background:var(--danger-bg);border-radius:var(--r-sm);padding:8px 12px;font-size:13px}.portal-pay{width:100%;font:inherit;font-weight:600;font-size:16px;color:var(--brand-on);background:var(--brand);border:none;border-radius:var(--r-md);padding:14px 18px;cursor:pointer}.portal-pay:active{transform:translateY(1px)}