@font-face{font-family:__Inter_48b81b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_48b81b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_48b81b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_48b81b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:__Inter_48b81b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:__Inter_48b81b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:__Inter_48b81b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_48b81b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_48b81b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_48b81b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_48b81b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:__Inter_48b81b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:__Inter_48b81b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:__Inter_48b81b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_48b81b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_48b81b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_48b81b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_48b81b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:__Inter_48b81b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:__Inter_48b81b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:__Inter_48b81b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_48b81b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_48b81b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_48b81b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_48b81b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:__Inter_48b81b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:__Inter_48b81b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:__Inter_48b81b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_48b81b;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_48b81b;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_48b81b;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_48b81b;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:__Inter_48b81b;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:__Inter_48b81b;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:__Inter_48b81b;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_Fallback_48b81b;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_48b81b{font-family:__Inter_48b81b,__Inter_Fallback_48b81b;font-style:normal}.__variable_48b81b{--font-inter:"__Inter_48b81b","__Inter_Fallback_48b81b"}:root{color-scheme:light}body{font-family:system-ui,-apple-system,sans-serif;max-width:640px;margin:3rem auto;padding:0 1rem}body:has(.home-shell){max-width:none;margin:0;padding:0}.banner{display:inline-block;padding:.25rem .75rem;border-radius:6px;font-weight:700;font-size:.85rem;letter-spacing:.05em;margin-bottom:1.5rem}.banner.prod{background:#dc2626;color:#fff}.banner.dev{background:#16a34a;color:#fff}form{display:flex;gap:.5rem;margin-bottom:1.5rem}input{flex:1 1;padding:.5rem}button{padding:.5rem 1rem}ul{padding-left:1.25rem}.auth-page{display:flex;justify-content:center;align-items:center;min-height:80vh}.auth-form{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:320px}.auth-subtitle{margin:0 0 .5rem;color:#555}.auth-error{background:#fee2e2;color:#991b1b;padding:.5rem;border-radius:4px;margin:0}.shell-header{display:flex;justify-content:space-between;align-items:center}.shell-card{border:1px solid #e2e2e2;border-radius:8px;padding:1rem;margin-bottom:1rem}.shell-card h2{margin-top:0;font-size:1rem}.logout-button{background:none;border:1px solid #ccc;border-radius:4px}.muted{color:#777;font-size:.9rem}.home-shell,.sales-page{--color-bg:#f0faf3;--color-surface:#fff;--color-text:#1a2b23;--color-text-muted:#7a8d82;--color-text-muted-light:#98a6a0;--color-border:#e7ece9;--color-border-soft:#f1f4f2;--color-accent-from:#22c55e;--color-accent-to:#16a34a;--color-accent-button-to:#15803d;--color-sidebar-from:#16652f;--color-sidebar-to:#123f22;--color-topbar-badge:#14532d;--shadow-card:0 2px 4px rgba(20,83,45,.05),0 16px 32px -8px rgba(20,83,45,.18),inset 0 1px 0 hsla(0,0%,100%,.5);--shadow-topbar:0 2px 12px rgba(20,83,45,.06);--shadow-button:0 4px 12px rgba(21,128,61,.35);--shadow-bar-glow:0 6px 14px -4px rgba(22,163,74,.5);--shadow-sidebar-active:0 2px 6px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.1);position:relative;width:100%;font-family:var(--font-inter),system-ui,-apple-system,sans-serif;color:var(--color-text);background:var(--color-bg);color-scheme:light}.home-shell .banner,.sales-page .banner{background:var(--color-topbar-badge);color:#fff;box-shadow:0 2px 6px rgba(20,83,45,.25)}.home-shell .logout-button,.sales-page .logout-button{background:var(--color-surface);border:none;color:var(--color-text);box-shadow:var(--shadow-topbar)}.home-shell .muted,.sales-page .muted{color:var(--color-text-muted)}.home-shell input,.home-shell select,.home-shell textarea,.sales-page input,.sales-page select,.sales-page textarea{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:8px}.home-shell label,.sales-page label{color:var(--color-text-muted);font-size:.85rem;font-weight:500}.app-topbar{justify-content:space-between;padding:.85rem 1.5rem;background:var(--color-surface);box-shadow:var(--shadow-topbar);position:relative;z-index:1}.app-topbar,.app-topbar-left{display:flex;align-items:center}.app-topbar-left{gap:1rem}.app-topbar-left .banner{margin-bottom:0}.home-layout{display:flex;align-items:stretch;min-height:calc(100vh - 65px)}.home-sidebar{display:flex;flex-direction:column;flex:0 0 240px;min-width:0;background:linear-gradient(160deg,var(--color-sidebar-from),var(--color-sidebar-to));padding:1rem .75rem;position:relative;z-index:1}@media (max-width:900px){.home-sidebar{flex-basis:190px}}@media (max-width:600px){.home-sidebar{flex-basis:150px;padding:.75rem .5rem}}@media (max-width:420px){.home-sidebar{flex-basis:110px;padding:.5rem .4rem}}.sidebar-brand{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem 1.25rem}.sidebar-logo-mark{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:#fff;color:var(--color-sidebar-to);font-weight:800;font-size:.9rem}.sidebar-brand-name{font-weight:800;font-size:1.05rem;color:#fff}.sidebar-section-label{padding:0 .75rem;margin:.25rem 0 .5rem;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:hsla(0,0%,100%,.45)}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem}.sidebar-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .75rem;border-radius:8px;text-decoration:none;color:hsla(0,0%,100%,.75);font-size:.9rem;font-weight:500;min-width:0}.sidebar-item:hover{background:hsla(0,0%,100%,.08)}.sidebar-item-active{background:hsla(0,0%,100%,.16);color:#fff;font-weight:700;box-shadow:var(--shadow-sidebar-active)}.sidebar-item-label{display:flex;align-items:center;gap:.6rem;min-width:0;overflow-wrap:break-word}.sidebar-item-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex:none}.soon-badge{flex:none;font-size:.65rem;font-weight:700;letter-spacing:.03em;color:hsla(0,0%,100%,.75);background:hsla(0,0%,100%,.12);padding:.1rem .5rem;border-radius:999px}@media (max-width:420px){.soon-badge{display:none}}.home-sidebar-collapsed{flex:0 0 60px;align-items:center;gap:.5rem;padding:1rem .5rem}.home-sidebar-collapsed .sidebar-logo-mark{margin-bottom:.5rem}.sidebar-collapsed-item{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;color:hsla(0,0%,100%,.75);text-decoration:none;flex:none}.sidebar-collapsed-item:hover{background:hsla(0,0%,100%,.08);color:#fff}.sidebar-collapsed-divider{width:28px;height:1px;background:hsla(0,0%,100%,.18);margin:.25rem 0 .5rem}.breadcrumb{display:flex;align-items:center;gap:.4rem;font-size:.9rem}.breadcrumb-link{color:var(--color-text-muted);text-decoration:none;font-weight:600}.breadcrumb-link:hover{color:var(--color-text)}.breadcrumb-separator{color:var(--color-text-muted)}.breadcrumb-current{color:var(--color-text);font-weight:700}.home-content{flex:1 1;min-width:0;padding:30px;position:relative;z-index:1}@media (max-width:420px){.home-content{padding:16px}}.content-header{margin-bottom:1.5rem}.content-header h1{margin:0;font-size:1.4rem;font-weight:800;color:var(--color-text)}.content-subheading-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem}.content-subheading{margin:.25rem 0 0;color:var(--color-text-muted);font-size:.9rem}.header-badge-group{display:flex;gap:.5rem;flex-wrap:wrap}.header-badge{display:inline-flex;align-items:center;gap:.3rem;background:var(--color-surface);color:var(--color-text);font-size:.8rem;font-weight:600;padding:.35rem .85rem;border-radius:999px;box-shadow:var(--shadow-card);white-space:nowrap}.stat-row-single{display:flex;margin-bottom:1.5rem}.stat-row-single .stat-card{flex:0 1 260px}.panel{position:relative;background:var(--color-surface);border:none;border-radius:16px;padding:1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-card)}.monthly-target-banner:before,.panel:before,.stat-card:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(135deg,hsla(0,0%,100%,.45),hsla(0,0%,100%,0) 55%);pointer-events:none}.monthly-target-banner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;background:linear-gradient(160deg,var(--color-sidebar-from),var(--color-sidebar-to));border-radius:16px;padding:1.1rem 1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-card)}.monthly-target-main{display:flex;align-items:center;gap:1rem}.monthly-target-icon-box{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border-radius:12px;background:hsla(0,0%,100%,.15);font-size:1.4rem}.monthly-target-label{margin:0;font-size:.8rem;font-weight:600;color:hsla(0,0%,100%,.75)}.monthly-target-value{margin:.15rem 0 0;font-size:1.7rem;font-weight:800;color:#fff}.monthly-target-quote{margin:0;max-width:340px;font-size:.85rem;font-style:italic;font-weight:600;color:hsla(0,0%,100%,.8);text-align:right}.panel h2{margin-top:0;font-size:1rem;font-weight:700;color:var(--color-text)}.panel-subtitle{margin:-.5rem 0 1rem;font-size:.8rem;color:var(--color-text-muted)}details.panel summary{cursor:pointer;font-weight:600}details.panel[open] summary{margin-bottom:.75rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1.5rem}@media (max-width:420px){.stat-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.6rem}}.stat-card{position:relative;background:var(--color-surface);border:none;border-radius:16px;padding:1.25rem;display:flex;flex-direction:column;gap:.35rem;box-shadow:var(--shadow-card)}.stat-label{color:var(--color-text-muted);font-size:.85rem;font-weight:600}.stat-value{font-size:1.5rem;font-weight:800;color:var(--color-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-trend{font-size:.8rem;font-weight:600;color:var(--color-accent-to)}.stat-section-title{margin:0 0 .75rem}.stat-section-title+.stat-grid{margin-bottom:2rem}.stat-card-with-visual{flex-direction:row;align-items:center;gap:1rem}.stat-card-visual{flex:none;display:flex}.stat-card-body{display:flex;flex-direction:column;gap:.35rem;min-width:0}.progress-ring-text{font-size:1rem;font-weight:800;fill:var(--color-text)}.metric-list{display:flex;flex-direction:column;gap:.5rem;margin:0}.metric{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.metric dt{color:#777;font-size:.9rem}.metric dd{margin:0;font-size:1.1rem;font-weight:600}.phase-note{margin-top:2rem}.dashboard-template h2{margin-bottom:.75rem}details.shell-card summary{cursor:pointer;font-weight:600}details.shell-card[open] summary{margin-bottom:.75rem}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:.35rem .5rem;border-bottom:1px solid #eee;font-size:.9rem}.btn-primary{position:relative;background:linear-gradient(135deg,var(--color-accent-from),var(--color-accent-button-to));color:#fff;border:none;border-radius:10px;padding:.6rem 1.2rem;font-weight:700;font-family:inherit;cursor:pointer;box-shadow:var(--shadow-button)}.btn-primary:hover{filter:brightness(1.05)}.btn-primary:before,.view-toggle-btn.active:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(180deg,hsla(0,0%,100%,.4),hsla(0,0%,100%,0) 50%);pointer-events:none}.sparkle-background{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.sparkle{position:absolute;border-radius:50%;background:radial-gradient(circle,hsla(0,0%,100%,.95) 0,hsla(0,0%,100%,0) 70%);box-shadow:0 0 6px 1px hsla(0,0%,100%,.55);animation-name:sparkle-twinkle,sparkle-drift;animation-timing-function:ease-in-out,ease-in-out;animation-iteration-count:infinite,infinite}@keyframes sparkle-twinkle{0%,to{opacity:.15;transform:scale(.7)}50%{opacity:.9;transform:scale(1.15)}}@keyframes sparkle-drift{0%,to{translate:0 0}50%{translate:10px -10px}}@media (prefers-reduced-motion:reduce){.sparkle{animation:none}}.section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.section-title{margin:0;font-size:1.1rem;font-weight:800;color:var(--color-text)}.month-filter-wrap{display:flex;align-items:center;gap:.4rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:.35rem .6rem;box-shadow:var(--shadow-topbar)}.month-filter-icon{font-size:.9rem}.month-filter{border:none;background:none;font:inherit;color:var(--color-text);font-weight:600;cursor:pointer}.view-month-select{-moz-appearance:none;appearance:none;-webkit-appearance:none}.enrollment-stat-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media (max-width:420px){.enrollment-stat-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}}.enrollment-table-toolbar{display:flex;justify-content:flex-end;margin-bottom:1rem}.enrollment-table-scroll{overflow-x:auto;border-radius:10px;box-shadow:inset -8px 0 8px -8px rgba(20,83,45,.12)}.enrollment-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.8rem}.enrollment-table td,.enrollment-table th{padding:.5rem .65rem;text-align:left;white-space:normal;word-break:break-word;border-bottom:1px solid var(--color-border-soft)}.enrollment-table th{color:var(--color-text-muted);font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.enrollment-table td{color:var(--color-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.view-toggle{display:inline-flex;gap:.25rem;background:var(--color-border-soft);border-radius:999px;padding:.25rem;margin-bottom:1rem}.view-toggle-btn{position:relative;border:none;background:transparent;border-radius:999px;padding:.4rem 1rem;font-size:.8rem;font-weight:600;color:var(--color-text-muted);cursor:pointer}.view-toggle-btn.active{background:linear-gradient(90deg,var(--color-accent-from),var(--color-accent-to));color:#fff}.course-percent-cell{display:flex;align-items:center;gap:.6rem}.course-percent-track{flex:1 1;background:var(--color-border-soft);border-radius:999px;height:8px;overflow:hidden;box-shadow:inset 0 1px 3px rgba(20,83,45,.18)}.course-percent-bar{height:100%;background:linear-gradient(to bottom,var(--color-accent-from),var(--color-accent-to));border-radius:999px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.4)}.course-percent-label{flex-shrink:0;font-size:.75rem;color:var(--color-text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.carried-forward-badge{display:inline-block;margin-left:.5rem;font-size:.6rem;font-weight:700;letter-spacing:.04em;color:var(--color-text-muted);background:var(--color-border-soft);padding:.1rem .45rem;border-radius:999px;vertical-align:middle;white-space:nowrap}.pending-positive{color:#dc2626;font-weight:700}.pending-zero{color:var(--color-accent-to);font-weight:700}.enrollment-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.inline-form{display:inline-flex;margin-bottom:0}.text-action{background:none;border:none;padding:0;color:var(--color-accent-to);font-weight:600;font-size:.85rem;cursor:pointer;text-decoration:underline;font-family:inherit;white-space:nowrap}.text-action-danger{color:#dc2626}.modal-overlay{position:fixed;inset:0;background:rgba(20,43,35,.45);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:100}.modal-panel{background:var(--color-surface);border-radius:16px;padding:1.5rem;max-width:640px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-card)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.modal-header h2{margin:0;font-size:1.1rem;font-weight:800;color:var(--color-text)}.modal-close{background:none;border:none;font-size:1.5rem;line-height:1;color:var(--color-text-muted);cursor:pointer;padding:0}.enrollment-form{display:flex;flex-direction:column;gap:.5rem;margin-bottom:0}.enrollment-form-installments{display:flex;flex-direction:column;gap:.5rem;margin:.5rem 0;padding:.75rem;background:var(--color-bg);border-radius:10px}.enrollment-form-installment-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.enrollment-form-installment-row label{flex:none;width:90px}.enrollment-form-installment-row .date-field,.enrollment-form-installment-row input{min-width:0;flex:1 1 110px}@media (max-width:480px){.enrollment-form-installment-row label{width:100%}.enrollment-form-installment-row .date-field,.enrollment-form-installment-row input{flex:1 1 auto}}.date-field{display:inline-flex;align-items:center;gap:.5rem;min-width:0}.date-field input{min-width:0}.date-field-display{font-size:.75rem;font-weight:600;color:var(--color-text-muted);white-space:nowrap}.enrollment-form-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.no-spinner::-webkit-inner-spin-button,.no-spinner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.no-spinner{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.text-action-disabled{color:var(--color-text-muted-light);cursor:default;text-decoration:none}.refund-badge{position:relative;display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.03em;padding:.2rem .5rem;border-radius:999px;white-space:nowrap}.refund-badge:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(180deg,hsla(0,0%,100%,.35),hsla(0,0%,100%,0) 60%);pointer-events:none}.refund-badge-requested.refund-badge-calm{background:#fef3c7;color:#92400e}.refund-badge-requested.refund-badge-urgent{background:#fee2e2;color:#991b1b;animation:refund-badge-pulse 2s ease-in-out infinite}.refund-badge-completed{background:#f3e8e8;color:#7c5252}.refund-badge-link{text-decoration:none;cursor:pointer}.refund-badge-link:hover{background:#ecdcdc}@keyframes refund-badge-pulse{0%,to{opacity:1}50%{opacity:.55}}.reason-badge{display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.02em;padding:.2rem .5rem;border-radius:999px;white-space:nowrap;background:#e6f6ea;color:#166534}.refund-reminder-banner{background:#fef3c7;border:1px solid #fde68a;border-radius:12px}.month-view-banner,.refund-reminder-banner{padding:.85rem 1.1rem;margin-bottom:1.25rem}.month-view-banner{background:#eaf7ef;border:1px solid var(--color-accent-from);border-radius:12px;font-weight:700;color:var(--color-accent-to);font-size:.9rem}.refund-reminder-heading{margin:0 0 .5rem;font-weight:700;color:#92400e;font-size:.9rem}.refund-reminder-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.refund-reminder-item{display:flex;justify-content:space-between;gap:.75rem;font-size:.85rem;font-weight:600}.refund-reminder-item.refund-reminder-calm{color:#92400e}.refund-reminder-item.refund-reminder-urgent{color:#991b1b}.refund-summary{margin:0;display:flex;flex-direction:column;gap:.5rem}.refund-summary-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border-soft)}.refund-summary-row:last-child{border-bottom:none;padding-bottom:0}.refund-summary-row dt{color:var(--color-text-muted);font-size:.85rem}.refund-summary-row dd{margin:0;font-weight:700;color:var(--color-text);text-align:right}.confirm-panel{max-width:420px;text-align:center}.confirm-icon{width:48px;height:48px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(220,38,38,.12);font-size:1.4rem}.confirm-title{margin:0 0 .5rem;font-size:1.15rem;font-weight:800;color:var(--color-text)}.confirm-body{margin:0 0 .35rem;color:var(--color-text);font-size:.9rem}.confirm-warning{margin:0 0 1.25rem;color:var(--color-text-muted);font-size:.85rem}.confirm-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem}.btn-secondary{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:10px;padding:.6rem 1.2rem;font-weight:700;font-family:inherit;cursor:pointer}.btn-secondary:hover{background:var(--color-bg)}.btn-danger{background:#dc2626;color:#fff;border:none;border-radius:10px;padding:.6rem 1.2rem;font-weight:700;font-family:inherit;cursor:pointer;box-shadow:0 4px 12px rgba(220,38,38,.35)}.btn-danger:hover{background:#b91c1c}