@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/dm-sans-latin-ext-400-normal.d663ebe0.woff2) format("woff2"),url(/_next/static/media/dm-sans-latin-ext-400-normal.9850054c.woff) format("woff");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:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/dm-sans-latin-400-normal.7abd0811.woff2) format("woff2"),url(/_next/static/media/dm-sans-latin-400-normal.6193dcef.woff) format("woff");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:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/dm-sans-latin-ext-500-normal.d7898f39.woff2) format("woff2"),url(/_next/static/media/dm-sans-latin-ext-500-normal.fae40d5a.woff) format("woff");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:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/dm-sans-latin-500-normal.210398b6.woff2) format("woff2"),url(/_next/static/media/dm-sans-latin-500-normal.1dd5b1eb.woff) format("woff");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:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/dm-sans-latin-ext-600-normal.47d62717.woff2) format("woff2"),url(/_next/static/media/dm-sans-latin-ext-600-normal.23d427ce.woff) format("woff");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:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/dm-sans-latin-600-normal.ad414a0a.woff2) format("woff2"),url(/_next/static/media/dm-sans-latin-600-normal.895dddc8.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/space-grotesk-vietnamese-500-normal.0a6bc1c8.woff2) format("woff2"),url(/_next/static/media/space-grotesk-vietnamese-500-normal.6189c43d.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/space-grotesk-latin-ext-500-normal.f605b0d2.woff2) format("woff2"),url(/_next/static/media/space-grotesk-latin-ext-500-normal.644f7a23.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/space-grotesk-latin-500-normal.31250b26.woff2) format("woff2"),url(/_next/static/media/space-grotesk-latin-500-normal.3d793272.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/space-grotesk-vietnamese-600-normal.20b17abc.woff2) format("woff2"),url(/_next/static/media/space-grotesk-vietnamese-600-normal.48592184.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/space-grotesk-latin-ext-600-normal.51defb17.woff2) format("woff2"),url(/_next/static/media/space-grotesk-latin-ext-600-normal.d6946cbf.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/space-grotesk-latin-600-normal.d7cc7ee6.woff2) format("woff2"),url(/_next/static/media/space-grotesk-latin-600-normal.b60aff3d.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/space-grotesk-vietnamese-700-normal.7d37a5c3.woff2) format("woff2"),url(/_next/static/media/space-grotesk-vietnamese-700-normal.2f27545a.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/space-grotesk-latin-ext-700-normal.ad18a16f.woff2) format("woff2"),url(/_next/static/media/space-grotesk-latin-ext-700-normal.34f2bf2c.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/space-grotesk-latin-700-normal.46d978a2.woff2) format("woff2"),url(/_next/static/media/space-grotesk-latin-700-normal.f67e63c9.woff) format("woff");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}:root{--edof-night:#090d18;--edof-navy:#111a2e;--edof-cyan:#38e1ff;--edof-indigo:#7c83ff;--edof-blue:#1565c0;--edof-blue-soft:#eaf4fd;--edof-text:#17243b;--edof-muted:#53647d;--edof-line:#dce4ee;--edof-surface:#fff;--edof-canvas:#f5f7fb;--background:var(--edof-canvas);--foreground:var(--edof-text);--primary:var(--edof-blue);--primary-foreground:#fff;--ring:var(--edof-blue);--border:var(--edof-line);--input:#c2cfde;--accent:var(--edof-blue-soft);--accent-foreground:#124f97;--muted-foreground:var(--edof-muted);--sidebar:var(--edof-night);--sidebar-foreground:#aebccf;--sidebar-accent:#1b2d43;--sidebar-accent-foreground:#eef3fb;--sidebar-primary:var(--edof-cyan);--sidebar-primary-foreground:var(--edof-night);--sidebar-border:#263449;--sidebar-ring:var(--edof-cyan)}body{font-family:DM Sans,sans-serif;background:var(--edof-canvas);color:var(--edof-text);line-height:1.5}.edof-wordmark,.installment-amount,.metric strong,h1,h2,h3{font-family:Space Grotesk,sans-serif}button,input,select,textarea{font:inherit}a,button,input,select,summary,textarea{-webkit-tap-highlight-color:transparent}a,button,summary{touch-action:manipulation}button:disabled{opacity:.55}:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--edof-blue);outline-offset:3px}.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:var(--edof-surface);padding:12px 20px;border:2px solid var(--edof-blue);border-radius:10px}.skip-link:focus{top:16px}[data-slot=button]{min-height:44px;border-radius:10px;font-weight:600;transition:background .18s,border-color .18s,box-shadow .18s}[data-slot=button][data-variant=outline]{background:var(--edof-surface);border-color:var(--edof-line)}[data-slot=button][data-variant=outline]:hover{background:var(--edof-blue-soft);border-color:var(--bd-a2c9ec)}.field input,.field select,.field textarea,.filter-label select,.reuse-dossier select,[data-slot=input]{min-height:44px;border-radius:9px;border:1px solid var(--bd-c2cfde);color:var(--edof-text);background:var(--edof-surface);padding:10px 12px;font-size:14px;box-shadow:none;transition:border-color .18s,box-shadow .18s}.field{font-weight:500;color:var(--ink-344960);gap:8px}.field textarea{resize:vertical;min-height:100px}.edof-brand{display:inline-flex;gap:12px;align-items:center;text-decoration:none;color:inherit;flex-shrink:0}.edof-symbol{display:grid;place-items:center;width:43px;height:43px;border:1px solid #38e1ff55;border-radius:13px;background:#38e1ff10;color:var(--edof-cyan);flex-shrink:0}.edof-symbol svg{width:30px;height:30px}.edof-wordmark{font-size:28px;line-height:1;font-weight:700;letter-spacing:-1px}.edof-wordmark small{display:block;font-family:DM Sans,sans-serif;font-size:10px;line-height:1.4;letter-spacing:.6px;font-weight:500;margin-top:7px;color:#aebccf}.auth-shell{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh;background:var(--bg-fbfcfe)}.auth-story{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:44px clamp(32px,5vw,80px);background:radial-gradient(ellipse at 5% 100%,#13384b88,transparent 65%),radial-gradient(ellipse at 100% 5%,#44489135,transparent 65%),var(--edof-night);color:#eef3fb}.auth-story:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#a1c0e608 1px,transparent 0),linear-gradient(90deg,#a1c0e608 1px,transparent 0);background-size:64px 64px;mask-image:linear-gradient(180deg,transparent,black);pointer-events:none}.auth-story>*{position:relative;z-index:1}.auth-story-content{padding:58px 0 48px;max-width:520px}.auth-kicker{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:1.35px;font-weight:700;color:#93d8ee;line-height:1.8}.auth-kicker>span{width:6px;height:6px;background:var(--edof-cyan);border-radius:50%;flex-shrink:0}.auth-story h1{font-size:clamp(38px,4.2vw,64px);line-height:1.12;letter-spacing:-2.3px;font-weight:600;margin:24px 0;color:#eef3fb}.auth-story h1 em{font-style:normal;background:linear-gradient(105deg,#7fe9ff,#8fb8ff);background-clip:text;-webkit-text-fill-color:transparent}.auth-description{color:#aebccf;font-size:16px;line-height:1.8;max-width:390px;margin:0}.auth-workflow{display:grid;gap:19px;margin-top:35px}.auth-workflow>div{display:flex;align-items:center;gap:15px}.auth-workflow>div>span{width:40px;height:40px;display:grid;place-items:center;border:1px solid #284058;background:#13263b;border-radius:11px;color:#71d9f5;flex-shrink:0}.auth-workflow p{margin:0}.auth-workflow strong{display:block;font-size:13px;font-weight:600;color:#eef3fb}.auth-workflow small{display:block;color:#aebccf;font-size:12px;margin-top:4px}.auth-maker{display:flex;align-items:center;gap:12px;width:fit-content;color:#aebccf;font-size:11px;text-decoration:none}.auth-maker strong{display:block;color:#eef3fb;font-size:13px;font-weight:600;margin-top:3px}.auth-maker>svg{margin-left:18px;color:#6fc8e8}.nt-monogram{display:grid;place-items:center;height:36px;width:36px;border-radius:50%;border:1px solid #53bfdb60;color:#72d6ee;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:13px}.auth-entry{display:flex;flex-direction:column;min-width:0;padding:32px clamp(28px,4.5vw,72px)}.auth-entry-top{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:11px;color:var(--edof-muted)}.auth-entry-top a,.auth-entry-top>span{display:flex;align-items:center;gap:6px}.auth-entry-top a{color:var(--edof-muted);text-decoration:none;min-height:44px}.auth-entry-body{margin:auto;width:100%;max-width:400px;padding:36px 0}.auth-form-heading{margin-bottom:28px}.auth-form-icon{width:48px;height:48px;border:1px solid var(--bd-cfdef0);display:grid;place-items:center;border-radius:14px;color:var(--edof-blue);background:var(--bg-edf5fd);margin-bottom:24px}.auth-form-heading .eyebrow{font-size:10px;letter-spacing:1.4px;color:var(--edof-blue);margin-bottom:10px}.auth-form-heading h2{font-size:clamp(26px,2.3vw,34px);font-weight:600;line-height:1.2;letter-spacing:-1.25px;margin:0 0 13px}.auth-form-heading>p:not(.eyebrow){font-size:14px;line-height:1.7;color:var(--edof-muted);margin:0}.auth-form{display:grid;gap:20px}.auth-field>label{display:block;font-size:12px;font-weight:600;color:var(--ink-30465d);margin-bottom:9px}.auth-input{display:flex;align-items:center;gap:12px;border:1px solid var(--bd-cad5e3);border-radius:10px;background:var(--edof-surface);min-height:51px;padding:0 14px;color:var(--ink-677c95);transition:border-color .18s,box-shadow .18s}.auth-input:focus-within{border-color:var(--edof-blue);box-shadow:0 0 0 3px #1565c010}.auth-input>svg{flex-shrink:0}.auth-input input{border:none;outline:none;min-width:0;width:100%;background:transparent;height:50px;font-size:14px;color:var(--edof-text);padding:0}.auth-input input:focus-visible{outline:none}.auth-input input::placeholder{color:var(--ink-65768d)}.password-toggle{display:grid;place-items:center;min-height:44px;min-width:44px;border:0;background:transparent;color:var(--ink-667b94);padding:0;margin-right:-10px;border-radius:8px}.password-toggle:hover{background:var(--bg-edf5fd);color:var(--edof-blue)}.auth-help{display:flex;align-items:flex-start;gap:7px;font-size:11px;color:var(--edof-muted);line-height:1.6;margin-top:-4px}.auth-help svg{flex-shrink:0;margin-top:2px}.auth-submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:51px;border:0;border-radius:10px;background:linear-gradient(110deg,#125fb9,#217cc9);color:white;font-weight:600;font-size:14px;box-shadow:0 6px 14px #1565c018;transition:background .18s,box-shadow .18s}.auth-submit:hover{background:linear-gradient(110deg,#104f99,#1565c0);box-shadow:0 8px 18px #1565c025}.auth-submit>svg:last-child{margin-left:auto}.auth-submit>svg:first-child:last-child{margin-left:0}.auth-submit{padding:0 18px}.auth-submit:has(>svg:last-child):before{content:"";width:18px}.auth-invitation{border-top:1px solid var(--edof-line);padding-top:23px;margin-top:8px;font-size:12px}.auth-invitation strong{font-weight:600;color:var(--ink-344960)}.auth-invitation p{line-height:1.7;color:var(--edof-muted);margin:7px 0 10px}.auth-invitation a{display:inline-flex;align-items:center;gap:7px;color:var(--ink-145aa6);text-decoration:none;font-weight:600;min-height:36px}.auth-entry footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:10px;color:var(--ink-62748c);line-height:1.8}.activation-email{display:inline-block;background:var(--bg-edf5fd);color:var(--ink-145aa6);border-radius:7px;padding:8px 12px;font-size:12px;margin-top:16px;overflow-wrap:anywhere;max-width:100%}.auth-form .error{margin:0;border:1px solid var(--bd-efc7c4);font-size:13px;line-height:1.6}.auth-password-hint{font-size:12px;color:var(--edof-muted);margin:0;line-height:1.7}[data-slot=sidebar]{background:var(--edof-night)}[data-slot=sidebar-header]{padding:30px 24px 24px}[data-slot=sidebar-menu]{padding:0 16px;gap:5px}[data-slot=sidebar-menu-button]{height:44px;border-radius:9px;color:#b6c3d5;font-weight:500;font-size:13px;transition:background .18s,color .18s}[data-slot=sidebar-menu-button]:hover{background:#18263b;color:#fff}[data-slot=sidebar-menu-button][data-active=true]{background:#153249;color:#81e3f4;box-shadow:inset 3px 0 #38e1ff;font-weight:600}.navcaption{font-size:9px;letter-spacing:1.5px;color:#8195ae;margin:16px 26px 12px}.sidebar-note{border:1px solid #26394e;border-radius:13px;background:#101f32;color:#aebccf;margin:36px 20px 25px;padding:17px;font-size:12px}.sidebar-note strong{color:#eef3fb;font-size:12px;line-height:1.6}.sidebar-note svg{color:#69d3ee;margin-bottom:10px}.sidebar-note p{margin:0;font-size:11px;line-height:1.8}.sidebar-maker{display:flex;align-items:center;gap:8px;font-size:10px;color:#8ba1bc;margin:0 24px 18px;text-decoration:none}.profile{border-top:1px solid #263449;margin:0;padding:20px;color:#eef3fb;align-items:center;gap:10px;font-size:13px}.profile>span{background:#1b3048;color:#92def0;border-radius:10px;width:36px;height:36px;display:grid;place-items:center;padding:0;flex-shrink:0}.profile small{font-size:10px;color:#aebccf;line-height:1.6;max-width:165px}.topbar{height:72px;padding:0 32px;gap:14px;background:var(--bg-ffffffed);border-color:var(--edof-line);font-size:12px}.topbar strong{font-weight:600;color:var(--ink-30465d)}.topbar>div{gap:12px;min-width:0}.topbar .private{color:var(--edof-muted);font-size:11px}.topbar-actions{display:flex;align-items:center;gap:18px}.page{padding:32px;max-width:1600px}.heading{margin-bottom:27px;align-items:flex-start}.heading .contract-actions{margin-top:6px}.eyebrow{font-size:10px;letter-spacing:1.5px;color:var(--ink-427294);font-weight:700}.heading h1{font-size:clamp(26px,2.5vw,36px);font-weight:600;letter-spacing:-1.3px;line-height:1.2}.subtitle{font-size:14px;color:var(--edof-muted);max-width:640px;line-height:1.7;margin-top:12px}.primary{background:var(--edof-blue);box-shadow:none}.primary:hover{background:var(--bg-104f99)}.metrics{gap:16px}.metric{padding:22px 24px;border:1px solid var(--edof-line);border-radius:14px;box-shadow:0 2px 6px #0f234004}.metric-label{font-size:12px;color:var(--edof-muted)}.metric-label svg{color:var(--ink-6085ac)}.metric strong{font-size:clamp(23px,2.1vw,31px);font-weight:600;letter-spacing:-1px;margin:17px 0 9px;white-space:normal}.metric>span{font-size:11px;color:var(--edof-muted)}.metric.blue{background:linear-gradient(120deg,#111a2e,#173d58);border-color:#173d58;color:white}.metric.blue .metric-label,.metric.blue>span{color:#c0d3e4}.metric.blue svg{color:#6cdeef}.collection,.contract-panel,.directory article,.invoice-panel{border-color:var(--edof-line);border-radius:14px;box-shadow:0 3px 12px #17243b03}.section-heading{padding:22px 24px}.section-heading h2{font-size:16px;letter-spacing:-.3px;font-weight:600}.section-heading>span{font-size:12px;color:var(--edof-muted)}.count{border-radius:6px;color:var(--ink-4d6b89);background:var(--bg-edf3f9);font-size:11px;padding:3px 7px}.workflow-strip{gap:22px;padding:25px 0 0;font-size:12px}.workflow-strip strong{width:26px;height:26px;font-size:10px;color:var(--edof-blue);border-color:var(--bd-b7d1e8);background:var(--edof-surface)}.billing-filters{gap:14px;padding:18px;border-color:var(--edof-line);border-radius:12px;margin:24px 0}.billing-filters .search input,.search input{min-height:44px;height:44px;border-color:var(--bd-c2cfde);border-radius:9px;padding-left:39px;font-size:13px}.search svg{top:13px}.filter-label{font-size:11px;font-weight:600;color:var(--edof-muted);gap:7px}.filter-label select{height:44px;font-size:13px;font-weight:400;padding-right:28px}.contract-header{padding:23px 24px;border-color:var(--bd-e8edf4);gap:20px}.contract-actions{gap:8px}.contract-actions button{font-size:12px}.contract-identity h2{font-size:18px;font-weight:600;letter-spacing:-.45px}.directory-avatar,.student-initials{background:var(--edof-blue-soft);color:var(--edof-blue);border:1px solid var(--bd-d5e7f6);border-radius:12px}.contract-identity p{font-size:12px;margin:6px 0 12px}.contract-meta{font-size:11px;gap:8px 12px}.contract-meta>span:first-child{color:var(--edof-blue)}.installments-grid{padding:24px;gap:14px;grid-template-columns:repeat(auto-fill,minmax(215px,1fr))}.installment-card{background:var(--bg-fafcfe);border:1px solid var(--bd-dce6f0);border-top:3px solid var(--bd-4d9bd1);border-radius:11px;padding:18px;gap:12px}.installment-card.is-prepared{border-top-color:var(--bd-94a9bf);background:var(--edof-surface)}.installment-period{font-size:13px;color:var(--ink-20587e)}.installment-amount{font-size:24px;letter-spacing:-.7px}.installment-card p,.installment-card small,.installment-document{font-size:12px}.installment-card .field{font-size:11px}.installment-card .field select,.installment-card button{font-size:12px}.contract-footer{background:var(--bg-f7f9fc);font-size:11px;padding:14px 24px}.badge{font-size:10px;font-weight:600;border-radius:6px;padding:5px 8px;letter-spacing:.1px;white-space:normal}.planned,.sent{background:var(--edof-blue-soft);color:var(--ink-145ca1)}.draft{background:var(--bg-edf1f5);color:var(--edof-muted)}.paid{background:var(--bg-e6f6ef);color:var(--ink-216e4c)}.badge.history-paid{background:var(--edof-blue-soft);color:var(--ink-145ca1)}.badge.history-waiting{background:var(--bg-fff1e2);color:var(--ink-98441a)}.invoice-panel th{height:46px;background:var(--bg-f6f9fc);color:var(--ink-526b84);font-size:10px;letter-spacing:.7px;text-transform:uppercase;border-color:var(--bd-e4ebf2)}.invoice-panel td{font-size:13px;padding-top:18px;padding-bottom:18px;border-color:var(--bd-e8edf4)}.invoice-panel tr:hover td{background:var(--bg-fbfdff)}.invoice-panel td small{font-size:11px;color:var(--ink-62758c)}.invoice-name{font-size:13px}.invoice-name span{font-size:12px;color:var(--edof-muted)}.period-badge{font-size:11px;border-color:var(--bd-dae4ed);background:var(--bg-f5f8fb);color:var(--ink-4b6580)}.directory{gap:18px}.directory article{padding:24px;gap:14px}.directory h2{font-size:18px;letter-spacing:-.4px}.directory p{font-size:12px;line-height:1.7}.form-tip,.import-banner{background:var(--bg-f3f8fd);border-color:var(--bd-c3dbef);color:var(--ink-4d657d)}.form-tip{font-size:12px;border-radius:10px;padding:15px;line-height:1.8}.form-total strong,.period-card button{color:var(--edof-blue)}.overview-callout,.period-card{background:var(--bg-edf5fc);border-color:var(--bd-c8deef);border-radius:14px}.period-icon{color:var(--edof-blue);border-radius:12px}.schedule-summary{font-size:12px}.error,.notice,.schedule-summary{background:var(--bg-edf5fc);color:var(--ink-145ca1)}.error,.notice{font-size:13px;border:1px solid var(--bd-c8deef);line-height:1.6;padding:14px 16px;border-radius:10px}.error{border-color:var(--bd-edc9c5);background:var(--bg-fff3f1);color:var(--ink-9a3026)}.footnote{font-size:10px;color:var(--ink-62758c);border-top:1px solid var(--edof-line);padding-top:22px;margin-top:28px}.bulk-import-dialog,.crm-dialog,.document-studio,.invoice-dialog{border:1px solid var(--edof-line);border-radius:16px!important;box-shadow:0 24px 80px #111a2e25}.preview-pane{background:var(--bg-edf2f7);border-color:var(--bd-d8e2ed);border-radius:12px}.preview-controls>span{font-size:11px}.studio-form .field{font-size:12px}.studio-form input,.studio-form textarea{font-size:14px}.schedule-row{border-color:var(--edof-line);border-radius:11px;background:var(--bg-fbfcfe);padding:18px}.crm-dialog [role=tablist],.document-studio [role=tablist]{border-radius:10px;background:var(--bg-eef3f8);padding:4px;min-height:44px}.crm-dialog [role=tab],.document-studio [role=tab]{min-height:36px;font-size:12px;border-radius:7px}.extraction-notes{font-size:12px;line-height:1.7}.bulk-import-body .import-guide{font-size:13px}.table-scroll{overflow-x:auto;max-width:100%;overscroll-behavior-x:contain}.table-scroll table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.table-scroll th{font-size:11px;color:var(--edof-muted);font-weight:600;background:var(--bg-f5f8fb)}.table-scroll td,.table-scroll th{padding:14px 16px;border-bottom:1px solid var(--edof-line);vertical-align:middle}.table-scroll select{min-height:44px;border:1px solid var(--bd-c2cfde);border-radius:8px;padding:8px;font-size:12px;background:var(--edof-surface);max-width:210px}.account-menu{position:relative;font-size:12px}.account-menu summary{display:flex;align-items:center;gap:9px;cursor:pointer;list-style:none;min-height:44px;padding:4px 8px;border-radius:10px}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary:hover{background:var(--bg-f1f5f9)}.account-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--bg-edf4fb);color:var(--ink-2369a8)}.account-popover{position:absolute;right:0;top:54px;width:285px;max-width:85vw;z-index:30;padding:16px;background:var(--edof-surface);border:1px solid var(--edof-line);border-radius:12px;box-shadow:0 14px 40px #111a2e16}.account-popover>strong{font-size:12px;overflow-wrap:anywhere}.account-popover>p{font-size:11px;color:var(--edof-muted);margin:5px 0 15px}.account-popover a,.account-popover button{display:flex;gap:10px;align-items:center;min-height:44px;width:100%;padding:10px;border:0;border-radius:8px;text-decoration:none;color:var(--ink-344960);background:var(--edof-surface);text-align:left;font-size:12px}.account-popover a:hover,.account-popover button:hover{background:var(--bg-edf5fd)}.admin-shell>.topbar{background:var(--edof-night);color:#eef3fb;height:80px;border:0}.admin-shell>.topbar .account-label{color:#eef3fb}.admin-shell>.topbar .account-menu summary:hover{background:#1d2b40}.admin-shell>.topbar .account-avatar{background:#1d354b;color:#84deef}.admin-page{max-width:1300px;padding-top:38px}.admin-page>.heading{margin-bottom:30px}.admin-page .subtitle{max-width:650px}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:26px}.admin-stat{padding:20px 24px;background:var(--edof-surface);border:1px solid var(--edof-line);border-radius:12px}.admin-stat span{font-size:12px;color:var(--edof-muted)}.admin-stat strong{display:block;font-size:28px;font-family:Space Grotesk,sans-serif;margin-top:8px}.admin-create{padding:24px;margin-bottom:28px}.admin-create h2{font-size:18px;margin:0 0 8px}.admin-create>p{font-size:13px;color:var(--edof-muted);margin-bottom:20px}.admin-create-row{display:flex;align-items:end;gap:14px}.admin-create-row .field{flex:1;max-width:500px;font-size:12px}.admin-members{padding:24px}.admin-members>.table-actions{justify-content:space-between;align-items:center;margin-bottom:18px}.admin-members h2{font-size:20px;margin:0}.admin-members>p{font-size:13px;color:var(--edof-muted);margin:14px 0 24px;line-height:1.8}.admin-member-form{display:grid;grid-template-columns:2fr 1.4fr 1.3fr;gap:16px;border:1px solid var(--edof-line);border-radius:12px;padding:20px;background:var(--bg-f8fafd);margin:24px 0}.admin-member-form>.field{font-size:12px}.admin-member-form>.table-actions,.admin-member-form>p{grid-column:1/-1;font-size:12px;color:var(--edof-muted);line-height:1.7}.admin-invitation{background:var(--bg-edf5fc);border:1px solid var(--bd-c8deef);padding:18px;border-radius:12px;margin:20px 0}.admin-invitation p{font-size:12px;line-height:1.8;margin-bottom:12px}.admin-invitation button{margin-top:12px}.organization-card header{display:flex;align-items:center;gap:12px;width:100%}.organization-card header h2{flex:1}.organization-icon{display:grid;place-items:center;width:40px;height:40px;background:var(--bg-edf5fc);border-radius:11px;color:var(--edof-blue);flex-shrink:0}.organization-status{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:600;padding:5px 9px;border-radius:6px}.organization-status.active{background:var(--bg-e6f6ef);color:var(--ink-216e4c)}.organization-status.suspended{background:var(--bg-fff1e2);color:var(--ink-98441a)}.organization-status.archived{background:var(--bg-edf1f5);color:var(--edof-muted)}.organization-card .table-actions{width:100%;gap:8px}.organization-card .table-actions button{font-size:11px;flex:1;min-width:100px}.organization-card .table-actions button:first-child{flex-basis:100%}.organization-card>p{margin-top:auto;padding-top:12px;border-top:1px solid var(--edof-line);width:100%;font-size:11px}.workspace-loading{display:grid;gap:12px;padding:24px}.workspace-loading>span{display:block;background:var(--bg-e7edf4);border-radius:9px;height:52px;animation:edof-pulse 1.6s ease-in-out infinite}.workspace-loading>span:nth-child(2){width:75%}.workspace-loading>p{font-size:13px;color:var(--edof-muted)}@keyframes edof-pulse{50%{opacity:.45}}@media(min-width:1600px){.auth-story-content{padding:70px 0}.auth-entry-body{max-width:420px}}@media(max-width:1100px){.auth-story{padding:32px}.auth-entry{padding:28px 32px}.auth-story h1{font-size:46px}.auth-kicker{font-size:9px;letter-spacing:1px}.topbar{padding:0 24px}.page{padding:28px 24px}.admin-member-form{grid-template-columns:1fr 1fr}.admin-member-form>.field:first-child{grid-column:1/-1}}@media(max-width:800px){.auth-shell{grid-template-columns:1fr}.auth-story{padding:24px 28px;min-height:auto}.auth-story-content{padding:28px 0 4px}.auth-story h1{font-size:34px;letter-spacing:-1.2px;margin:14px 0}.auth-kicker{font-size:8px;letter-spacing:.8px}.auth-description,.auth-maker,.auth-workflow{display:none}.auth-entry{padding:18px 28px 24px}.auth-entry-body{padding:22px 0 35px;max-width:460px}.auth-form-icon{display:none}.auth-form-heading h2{font-size:29px}.auth-entry footer{max-width:460px;width:100%;margin:auto}.desktop-break{display:none}.auth-story .edof-wordmark{font-size:24px}.auth-story .edof-wordmark small{font-size:9px}.metrics{gap:12px}.heading{gap:18px}.admin-stats{gap:10px}.admin-stat{padding:16px}.admin-create-row{flex-wrap:wrap}.admin-create-row .field{flex-basis:100%;max-width:none}.admin-create-row button{width:100%}}@media(max-width:600px){.auth-story{padding:22px 24px}.auth-entry{padding:14px 24px 24px}.auth-entry-top{font-size:10px}.auth-story h1{font-size:32px}.auth-form-heading h2{font-size:27px}.auth-form-heading{margin-bottom:24px}.auth-form-heading>p:not(.eyebrow){font-size:13px}.auth-input input{font-size:16px}.auth-entry footer{font-size:9px}.topbar{padding:0 16px;height:64px}.topbar>div{gap:8px}.account-label,.topbar .breadcrumb-root,.topbar .private,.topbar .slash{display:none}.account-menu summary{padding:4px}.page{padding:24px 16px}.heading h1{font-size:27px}.heading .contract-actions{width:100%;margin-top:0}.heading .contract-actions button{flex:1;white-space:normal;height:auto;min-height:44px;padding:10px}.metrics{gap:10px}.metric{padding:16px}.metric-label{font-size:11px}.metric>span{font-size:10px}.metric strong{font-size:22px;letter-spacing:-.8px}.installments-grid{grid-template-columns:1fr;padding:18px}.contract-header{padding:20px 18px}.contract-actions button{min-height:44px}.workflow-strip{font-size:11px;gap:10px}.footnote{gap:5px}.admin-shell>.topbar{padding:0 18px;height:72px}.admin-shell>.topbar .edof-wordmark{font-size:23px}.admin-page{padding:26px 16px}.admin-stats{grid-template-columns:1fr}.admin-stat{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-stat strong{margin:0;font-size:24px}.admin-create,.admin-members{padding:18px}.admin-member-form{grid-template-columns:1fr;padding:16px}.admin-members h2{font-size:18px}.admin-member-form .field{grid-column:1/-1}.directory{grid-template-columns:1fr}.admin-create-row{gap:16px}.field input,.field select,.field textarea{font-size:16px}.billing-filters .search,.filter-label{min-width:0}.account-popover{right:-4px}.auth-invitation a,.auth-submit{min-height:44px}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}[data-slot=sidebar-content]{scrollbar-width:thin;scrollbar-color:#30445c transparent}.auth-help{font-size:12px}.auth-entry footer{font-size:11px}.auth-entry-top{font-size:12px}.nav-group+.nav-group .navcaption{margin-top:22px}[data-slot=sidebar-menu-button] .nav-count{margin-left:auto;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:#38e1ff1f;color:#81e3f4;font-size:11px;font-weight:600;display:inline-grid;place-items:center;font-variant-numeric:tabular-nums}[data-slot=sidebar-menu-button][data-active=true] .nav-count{background:#38e1ff;color:var(--edof-night)}.topbar-actions .refreshing svg{animation:edof-spin .9s linear infinite}@keyframes edof-spin{to{transform:rotate(1turn)}}.filter-pending{align-self:center;font-size:12px;color:var(--edof-muted)}.metric.is-link{font:inherit;text-align:left;cursor:pointer;background:var(--edof-surface);transition:border-color .18s,box-shadow .18s,transform .18s}.metric.is-link:hover{border-color:var(--bd-e5a39b);box-shadow:0 6px 18px #b4231812}.metric.warn{border-color:var(--bd-f1c9c3)}.metric.warn .metric-label svg{color:var(--ink-c2410c)}.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}.overview-card{background:var(--edof-surface);border:1px solid var(--edof-line);border-radius:14px;box-shadow:0 3px 12px #17243b03;padding:20px 22px;min-width:0}.overview-wide{grid-column:1/-1}.overview-card>header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.overview-card>header h2{font-size:15px;font-weight:600;letter-spacing:-.2px;margin:0;flex:1}.overview-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--edof-blue-soft);color:var(--edof-blue);flex-shrink:0}.overview-list{list-style:none;margin:0;padding:0}.overview-list li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--bd-edf1f6);min-height:52px}.overview-list li>div{flex:1;min-width:0}.overview-list strong{display:block;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-list small{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;color:var(--edof-muted);margin-top:2px}.overview-amount{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--edof-text)}.overview-empty{margin:6px 0 2px;font-size:13px;color:var(--edof-muted)}.overview-more{margin-top:6px;color:var(--edof-blue);gap:6px}.opco-bars{list-style:none;margin:0;padding:0;display:grid;gap:6px}.opco-bars button{width:100%;display:grid;gap:7px;padding:9px 10px;margin:0 -10px;border:0;border-radius:9px;background:none;font:inherit;text-align:left;cursor:pointer;min-height:44px;transition:background .18s}.opco-bars button:hover{background:var(--bg-f3f7fc)}.opco-bar-label{display:flex;justify-content:space-between;gap:12px;font-size:13px}.opco-bar-label span{color:var(--edof-muted);font-variant-numeric:tabular-nums;text-align:right}.opco-bar-label em{font-style:normal;color:var(--ink-b42318)}.bar-track{position:relative;display:block;height:8px;border-radius:99px;background:var(--bg-edf2f8);overflow:hidden}.bar-fill,.bar-late{position:absolute;inset:0 auto 0 0;border-radius:99px}.bar-fill{background:linear-gradient(90deg,var(--edof-blue),var(--bg-38a8e0))}.bar-late{background:var(--bg-d9534f)}@media (max-width:1100px){.overview-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:600px){.overview-list li{flex-wrap:wrap}.overview-list li>div{flex-basis:100%}.overview-card{padding:16px}}@media (prefers-reduced-motion:reduce){.topbar-actions .refreshing svg{animation:none}.metric.is-link,.opco-bars button{transition:none}}.overview-card [data-slot=button][data-size=sm]{font-size:13px;padding:0 14px}.company-studio fieldset{border:0;padding:0;margin:0;min-width:0}.inline-input{display:flex;gap:8px;align-items:center}.inline-input>input{flex:1}.company-line{display:grid;grid-template-columns:minmax(0,1fr) 80px 130px auto;gap:10px;align-items:end;margin-bottom:8px}.company-total{margin:10px 0 0;font-size:14px;color:var(--edof-muted)}.company-total strong{color:var(--edof-text);font-size:16px;font-variant-numeric:tabular-nums}.status-select{min-height:36px;border-radius:999px;padding:0 10px;font-size:12px;font-weight:600;border:1px solid var(--edof-line);cursor:pointer}.status-select.planned{background:var(--bg-eef4fb);color:var(--ink-1f4f82)}.status-select.sent{background:var(--edof-blue-soft);color:var(--ink-124f97)}.status-select.history-waiting{background:var(--bg-fff4e5);color:var(--ink-8a4b00)}.status-select.paid{background:var(--bg-e8f6ee);color:var(--ink-17663a)}.status-select.late{background:var(--bg-fdecea);color:var(--ink-a12a1f)}.comment-cell{display:block;max-width:260px;color:var(--edof-muted);font-size:12px;line-height:1.4;margin-top:4px}.import-warnings{margin:0;padding-left:18px;max-height:160px;overflow:auto}@media (max-width:700px){.company-line{grid-template-columns:1fr 1fr}.company-line>label:first-child{grid-column:1/-1}}.field-hint{display:block;font-size:12px;line-height:1.4;color:var(--edof-muted);font-weight:400;margin-top:2px}.field-hint:empty{display:none}.invoice-panel td .badge{white-space:nowrap}.invoice-panel td .table-actions{flex-wrap:nowrap}.company-activity{border:1px solid var(--edof-line);border-radius:12px;padding:14px 16px;margin-bottom:16px;background:var(--bg-f9fbfd)}.company-activity header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;margin-bottom:10px}.company-activity h3{margin:0;font-size:14px;font-weight:600}.company-activity header span{font-size:12px;color:var(--edof-muted)}.activity-students{list-style:none;margin:0 0 10px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.activity-students li{background:var(--edof-surface);border:1px solid var(--edof-line);border-radius:9px;padding:8px 10px}.activity-students strong{display:block;font-size:13px}.activity-students small{font-size:11px;color:var(--edof-muted)}.activity-invoices{width:100%;border-collapse:collapse;font-size:12px}.activity-invoices th{text-align:left;color:var(--edof-muted);font-weight:500;padding:6px 8px;border-bottom:1px solid var(--edof-line)}.activity-invoices td{padding:6px 8px;border-bottom:1px solid var(--bd-edf1f6);font-variant-numeric:tabular-nums}.link-button{background:none;border:0;padding:0;color:var(--edof-blue);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;min-height:24px}.schedule-board{background:var(--edof-surface);border:1px solid var(--edof-line);border-radius:14px;box-shadow:0 3px 12px #17243b03;overflow:hidden}.schedule-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;color:var(--edof-muted)}.schedule-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;border:1px solid;margin-left:6px}.dossier-row{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr) auto;gap:18px;align-items:center;padding:14px 22px;border-top:1px solid var(--bd-edf1f6);transition:background .15s}.dossier-row:hover{background:var(--bg-fafcfe)}.dossier-identity{display:flex;gap:12px;align-items:flex-start;min-width:0}.dossier-identity>div{min-width:0}.dossier-identity h3{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:14px;font-weight:600}.dossier-name{background:none;border:0;padding:0;font:inherit;color:var(--edof-text);cursor:pointer;text-align:left;min-height:24px}.dossier-name:hover{color:var(--edof-blue);text-decoration:underline}.dossier-identity p{margin:2px 0 0;font-size:12px;color:var(--edof-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dossier-meta{display:flex;flex-wrap:wrap;gap:4px 10px;white-space:normal!important}.opco-chip{background:var(--edof-blue-soft);color:var(--ink-124f97);border-radius:6px;padding:0 6px;font-weight:600}.period-track{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}.period-chip{display:grid;gap:1px;min-width:96px;min-height:56px;padding:6px 9px;border-radius:9px;border:1px solid;font:inherit;text-align:left;cursor:pointer;transition:transform .15s,box-shadow .15s}.period-chip:hover{box-shadow:0 4px 12px #17243b14;transform:translateY(-1px)}.period-chip-top{display:flex;justify-content:space-between;gap:6px;font-size:12px}.period-chip-top em{font-style:normal;font-size:10px;opacity:.8}.period-chip-amount{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.period-chip small{font-size:10px;opacity:.8}.tone-todo{background:var(--edof-surface);border-color:var(--bd-9cc3e6)!important;border-style:dashed!important;color:var(--ink-124f97)}.tone-due{background:var(--bg-eef4fb);border-color:var(--edof-blue)!important;color:var(--ink-0d3f7a)}.tone-draft{background:var(--bg-f4f6f9);border-color:var(--bd-c2cfde)!important;border-style:dashed!important;color:var(--ink-40516a)}.tone-issued{background:var(--edof-blue-soft);border-color:var(--bd-7fb3e3)!important;color:var(--ink-124f97)}.tone-sent{background:var(--bg-fff4e5);border-color:var(--bd-f0c27b)!important;color:var(--ink-7a4300)}.tone-paid{background:var(--bg-e8f6ee);border-color:var(--bd-8fd0a8)!important;color:var(--ink-17663a)}.tone-late{background:var(--bg-fdecea);border-color:var(--bd-e7a39b)!important;color:var(--ink-a12a1f)}.tone-off{background:repeating-linear-gradient(135deg,var(--bg-f4f6f9) 0 6px,var(--bg-eceff4) 6px 12px);border-color:var(--bd-d6dde7)!important;color:var(--ink-7a889c)}.period-track-empty{margin:0;font-size:13px;color:var(--edof-muted)}.dossier-actions,.period-track-empty{display:flex;align-items:center;gap:8px}.dossier-actions{justify-content:flex-end}.dossier-pending{font-size:12px;color:var(--edof-muted);white-space:nowrap}.period-popover{width:320px;display:grid;gap:12px;font-size:13px}.period-popover header{display:flex;justify-content:space-between;align-items:center;gap:8px}.period-popover dl{display:grid;gap:6px;margin:0}.period-popover dl div{display:flex;justify-content:space-between;gap:12px}.period-popover dt{color:var(--edof-muted)}.period-popover dd{margin:0;font-weight:500;text-align:right;font-variant-numeric:tabular-nums}.period-popover-actions{display:flex;flex-wrap:wrap;gap:8px}.form-tip svg{vertical-align:-2px;margin-right:4px}@media (max-width:1100px){.dossier-row{grid-template-columns:1fr;gap:10px}.dossier-actions{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.dossier-row,.period-chip{transition:none}.period-chip:hover{transform:none}}.page .heading{margin-bottom:18px;align-items:flex-end}.page .heading h1{font-size:clamp(24px,2.1vw,30px);letter-spacing:-.6px;margin:4px 0 2px}.page .heading .subtitle{font-size:13px;margin:0;max-width:720px}.metrics{gap:12px;margin-bottom:6px}.metric{padding:14px 18px;border-radius:12px}.metric strong{font-size:clamp(20px,1.7vw,25px);margin:8px 0 4px;letter-spacing:-.5px}.palette-trigger{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 10px;border:1px solid var(--edof-line);border-radius:9px;background:var(--bg-f7f9fc);color:var(--edof-muted);font:inherit;font-size:13px;cursor:pointer;transition:border-color .15s,background .15s}.palette-trigger:hover{border-color:var(--bd-9cc3e6);background:var(--edof-surface)}.palette-trigger kbd{font-family:inherit;font-size:11px;border:1px solid var(--edof-line);border-radius:5px;padding:1px 5px;background:var(--edof-surface)}.palette-main{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-meta{font-size:12px;color:var(--edof-muted);white-space:nowrap}@media (max-width:700px){.palette-trigger kbd,.palette-trigger span{display:none}}.studio-form .download-actions{position:sticky;bottom:0;z-index:2;background:linear-gradient(to top,var(--edof-surface) 75%,var(--bg-ffffff00));padding:14px 0 6px;margin-top:8px}.dossier-actions [data-slot=button],.overview-card [data-slot=button],.period-popover [data-slot=button]{font-size:13px;min-height:38px;height:auto;padding:0 12px}.dossier-actions [data-slot=button][data-variant=ghost]{padding:0 8px}.dossier-row{padding:12px 22px}.billing-filters{padding:12px 14px;gap:10px;margin:16px 0}.billing-filters .search input,.billing-filters select{min-height:40px!important;height:40px!important;font-size:13px}.billing-filters .filter-label{font-size:11px;color:var(--edof-muted)}.compact-field{margin:0}.period-pill{display:inline-block;background:var(--bg-edf3f9);color:var(--ink-4d6b89);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600}.invoice-panel td{vertical-align:middle}.invoice-panel td small{display:block;color:var(--edof-muted);font-size:12px}.invoice-panel td [data-slot=button]{font-size:13px;min-height:36px;height:auto}.agreement-summary{border:1px solid var(--edof-line);border-radius:12px;background:var(--bg-f9fbfd);padding:12px 14px;margin:8px 0 12px;display:grid;gap:8px;font-size:13px}.agreement-summary dl{display:flex;flex-wrap:wrap;gap:6px 22px;margin:0}.agreement-summary dt{font-size:11px;color:var(--edof-muted)}.agreement-summary dd{margin:0;font-weight:600}.agreement-summary p{display:flex;gap:8px;align-items:flex-start;margin:0;line-height:1.4}.agreement-summary svg{flex-shrink:0;margin-top:1px}.summary-ok{color:var(--ink-17663a)}.summary-warn{color:var(--ink-8a4b00)}.summary-fe{color:var(--ink-124f97)}.schedule-row .confirm-row>span small{display:block;font-size:12px;color:var(--edof-muted);margin-top:2px;line-height:1.35}.error-screen{max-width:640px;margin:12vh auto;text-align:left}.error-screen .contract-actions{margin-top:20px}:root{color-scheme:light}:root.dark{color-scheme:dark;--edof-blue:#5fcdf5;--edof-blue-soft:#10283d;--edof-text:#eef3fb;--edof-muted:#aebccf;--edof-line:#24324a;--edof-surface:#111a2e;--edof-canvas:#090d18;--background:var(--edof-canvas);--foreground:var(--edof-text);--card:var(--edof-surface);--card-foreground:var(--edof-text);--popover:#131d33;--popover-foreground:var(--edof-text);--primary:var(--edof-blue);--primary-foreground:#090d18;--secondary:#18243f;--secondary-foreground:#dbe5f3;--muted:#131d33;--muted-foreground:var(--edof-muted);--accent:var(--edof-blue-soft);--accent-foreground:#7fe9ff;--destructive:#f97066;--border:var(--edof-line);--input:#2d3d57;--ring:var(--edof-blue);--sidebar:#070a13;--sidebar-border:#1b2638}.account-tools{margin-left:auto}.account-tools,.auth-entry-tools{display:flex;align-items:center;gap:10px}.theme-toggle{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border:1px solid var(--edof-line);border-radius:10px;background:var(--edof-surface);color:var(--edof-muted);cursor:pointer;transition:color .18s,border-color .18s,background .18s}.theme-toggle:hover{color:var(--edof-blue);border-color:var(--edof-blue);background:var(--edof-blue-soft)}.admin-shell>.topbar .theme-toggle{background:#ffffff0d;border-color:#ffffff24;color:#aebccf}.admin-shell>.topbar .theme-toggle:hover{background:#ffffff1a;border-color:#38e1ff80;color:#38e1ff}:root.dark [data-slot=sidebar]{border-right:1px solid var(--sidebar-border)}:root.dark .admin-shell>.topbar{border-bottom:1px solid var(--sidebar-border)}:root.dark :where(a,button,input,select,textarea,summary):focus-visible{outline-color:#38e1ff}:root.dark :where([data-slot=card],.metric,.contract-panel,.billing-filters){box-shadow:inset 0 1px 0 #ffffff08}:root.dark .primary,:root.dark [data-slot=button][data-variant=default]{background:linear-gradient(115deg,#38e1ff,#5fcdf5 42%,#2f8fe0);color:#090d18}:root.dark .primary:hover,:root.dark [data-slot=button][data-variant=default]:hover{background:linear-gradient(115deg,#5fe7ff,#7dd8f7 42%,#4a9fe6)}.workspace-settings{display:grid;gap:14px;padding:24px;max-width:860px}.workspace-settings h2,.workspace-settings h3{margin:0}.workspace-settings h2+p{margin:-6px 0 4px;color:var(--edof-muted)}.workspace-settings h3{margin-top:8px;font-size:1.05rem}.workspace-settings>[data-slot=button]{justify-self:start}.workspace-settings .form-tip{margin:0;border-radius:10px}.workspace-settings .schedule-list{display:grid;gap:8px}.workspace-settings .schedule-list p{margin:0;padding:12px 14px;border:1px solid var(--edof-line);border-radius:10px;background:var(--edof-canvas)}:root{--bd-4d9bd1:#4d9bd1;--bd-7fb3e3:#7fb3e3;--bd-8498b7:#8498b7;--bd-8fd0a8:#8fd0a8;--bd-94a9bf:#94a9bf;--bd-9cc3e6:#9cc3e6;--bd-a2c9ec:#a2c9ec;--bd-b7c9e4:#b7c9e4;--bd-b7d1e8:#b7d1e8;--bd-bccbec:#bccbec;--bd-c2cfde:#c2cfde;--bd-c3dbef:#c3dbef;--bd-c6d5eb:#c6d5eb;--bd-c8deef:#c8deef;--bd-cad5e3:#cad5e3;--bd-cbd7e7:#cbd7e7;--bd-cbdaf9:#cbdaf9;--bd-cfdef0:#cfdef0;--bd-d5e7f6:#d5e7f6;--bd-d6dde7:#d6dde7;--bd-d8e2ed:#d8e2ed;--bd-dae4ed:#dae4ed;--bd-dce3ed:#dce3ed;--bd-dce6f0:#dce6f0;--bd-dce6ff:#dce6ff;--bd-dfe5ee:#dfe5ee;--bd-dfe6f0:#dfe6f0;--bd-e1e7ef:#e1e7ef;--bd-e3e8f0:#e3e8f0;--bd-e4ebf2:#e4ebf2;--bd-e5a39b:#e5a39b;--bd-e6eaf1:#e6eaf1;--bd-e7a39b:#e7a39b;--bd-e7edf5:#e7edf5;--bd-e8edf4:#e8edf4;--bd-edc9c5:#edc9c5;--bd-edf1f6:#edf1f6;--bd-efc7c4:#efc7c4;--bd-f0c27b:#f0c27b;--bd-f1c9c3:#f1c9c3;--bd-f2dfb8:#f2dfb8;--bg-104f99:#104f99;--bg-38a8e0:#38a8e0;--bg-d9534f:#d9534f;--bg-dbeafe:#dbeafe;--bg-e6f6ee:#e6f6ee;--bg-e6f6ef:#e6f6ef;--bg-e7edf4:#e7edf4;--bg-e8f6ee:#e8f6ee;--bg-e9edf5:#e9edf5;--bg-eceff4:#eceff4;--bg-edf1f5:#edf1f5;--bg-edf2f7:#edf2f7;--bg-edf2f8:#edf2f8;--bg-edf3f9:#edf3f9;--bg-edf4fb:#edf4fb;--bg-edf5fc:#edf5fc;--bg-edf5fd:#edf5fd;--bg-eef3f8:#eef3f8;--bg-eef4fb:#eef4fb;--bg-f0f2f6:#f0f2f6;--bg-f0f3f8:#f0f3f8;--bg-f1f5f9:#f1f5f9;--bg-f3f5f9:#f3f5f9;--bg-f3f7fc:#f3f7fc;--bg-f3f8fd:#f3f8fd;--bg-f4f6f9:#f4f6f9;--bg-f4f6fb:#f4f6fb;--bg-f4f7ff:#f4f7ff;--bg-f5f8fb:#f5f8fb;--bg-f6f8fc:#f6f8fc;--bg-f6f9fc:#f6f9fc;--bg-f7f9fc:#f7f9fc;--bg-f8fafd:#f8fafd;--bg-f9fbfd:#f9fbfd;--bg-fafbfe:#fafbfe;--bg-fafcfe:#fafcfe;--bg-fbfcfe:#fbfcfe;--bg-fbfdff:#fbfdff;--bg-fdecea:#fdecea;--bg-ffedd5:#ffedd5;--bg-fff0ef:#fff0ef;--bg-fff1e2:#fff1e2;--bg-fff3f1:#fff3f1;--bg-fff4e5:#fff4e5;--bg-fff8e9:#fff8e9;--bg-ffffff00:#ffffff00;--bg-ffffffed:#ffffffed;--ink-0d3f7a:#0d3f7a;--ink-124f97:#124f97;--ink-145aa6:#145aa6;--ink-145ca1:#145ca1;--ink-173c72:#173c72;--ink-17663a:#17663a;--ink-1d4ed8:#1d4ed8;--ink-1f4f82:#1f4f82;--ink-203651:#203651;--ink-20587e:#20587e;--ink-216e4c:#216e4c;--ink-224ab4:#224ab4;--ink-2369a8:#2369a8;--ink-24344f:#24344f;--ink-24704a:#24704a;--ink-264cb1:#264cb1;--ink-30465d:#30465d;--ink-33415a:#33415a;--ink-344960:#344960;--ink-40516a:#40516a;--ink-415673:#415673;--ink-427294:#427294;--ink-44566e:#44566e;--ink-49607b:#49607b;--ink-4b6580:#4b6580;--ink-4d657d:#4d657d;--ink-4d6b89:#4d6b89;--ink-516581:#516581;--ink-526680:#526680;--ink-526b84:#526b84;--ink-53617a:#53617a;--ink-596c84:#596c84;--ink-5c6d82:#5c6d82;--ink-5e6d83:#5e6d83;--ink-6085ac:#6085ac;--ink-61718a:#61718a;--ink-62748c:#62748c;--ink-62758c:#62758c;--ink-65738a:#65738a;--ink-65768d:#65768d;--ink-667b94:#667b94;--ink-677896:#677896;--ink-677c95:#677c95;--ink-687b91:#687b91;--ink-6b7890:#6b7890;--ink-6d7b90:#6d7b90;--ink-6f7e95:#6f7e95;--ink-718097:#718097;--ink-728099:#728099;--ink-748096:#748096;--ink-748197:#748197;--ink-7a4300:#7a4300;--ink-7a879c:#7a879c;--ink-7a889c:#7a889c;--ink-7b879a:#7b879a;--ink-8290a5:#8290a5;--ink-8590a3:#8590a3;--ink-889ccc:#889ccc;--ink-8995a7:#8995a7;--ink-8a4b00:#8a4b00;--ink-8a95a8:#8a95a8;--ink-8a96a9:#8a96a9;--ink-94a0b3:#94a0b3;--ink-98441a:#98441a;--ink-9a3026:#9a3026;--ink-9a3412:#9a3412;--ink-a12a1f:#a12a1f;--ink-a32920:#a32920;--ink-b42318:#b42318;--ink-c2410c:#c2410c;--ink-c3ccda:#c3ccda}:root.dark{--bd-4d9bd1:#214d6b;--bd-7fb3e3:#1d4363;--bd-8498b7:#30486d;--bd-8fd0a8:#13452b;--bd-94a9bf:#264563;--bd-9cc3e6:#163d5c;--bd-a2c9ec:#143b5a;--bd-b7c9e4:#20375a;--bd-b7d1e8:#113856;--bd-bccbec:#25345a;--bd-c2cfde:#26374a;--bd-c3dbef:#12354f;--bd-c6d5eb:#213450;--bd-c8deef:#15344a;--bd-cad5e3:#273446;--bd-cbd7e7:#253448;--bd-cbdaf9:#203055;--bd-cfdef0:#1f3248;--bd-d5e7f6:#193143;--bd-d6dde7:#29313e;--bd-d8e2ed:#24313e;--bd-dae4ed:#24303b;--bd-dce3ed:#27303c;--bd-dce6f0:#23303c;--bd-dce6ff:#222c4b;--bd-dfe5ee:#282f3a;--bd-dfe6f0:#262f3b;--bd-e1e7ef:#272e38;--bd-e3e8f0:#282e37;--bd-e4ebf2:#252e36;--bd-e5a39b:#5c2d29;--bd-e6eaf1:#242c3e;--bd-e7a39b:#5c2d29;--bd-e7edf5:#252d36;--bd-e8edf4:#232c3e;--bd-edc9c5:#512522;--bd-edf1f6:#222a3c;--bd-efc7c4:#522423;--bd-f0c27b:#493207;--bd-f1c9c3:#52241f;--bd-f2dfb8:#3d2d04;--bg-104f99:#abcefc;--bg-38a8e0:#0d6890;--bg-d9534f:#ca4543;--bg-dbeafe:#0c2648;--bg-e6f6ee:#0c2b1f;--bg-e6f6ef:#0c2b21;--bg-e7edf4:#050a1a;--bg-e8f6ee:#112a1e;--bg-e9edf5:#050a1a;--bg-eceff4:#060c1b;--bg-edf1f5:#070d1d;--bg-edf2f7:#070e1e;--bg-edf2f8:#070e1e;--bg-edf3f9:#080e1e;--bg-edf4fb:#1a2531;--bg-edf5fc:#182631;--bg-edf5fd:#182532;--bg-eef3f8:#080f1e;--bg-eef4fb:#080f1f;--bg-f0f2f6:#080e1e;--bg-f0f3f8:#080f1f;--bg-f1f5f9:#091020;--bg-f3f5f9:#0a1121;--bg-f3f7fc:#0b1222;--bg-f3f8fd:#0b1323;--bg-f4f6f9:#0a1122;--bg-f4f6fb:#0a1222;--bg-f4f7ff:#0b1223;--bg-f5f8fb:#0c1323;--bg-f6f8fc:#0c1323;--bg-f6f9fc:#0c1424;--bg-f7f9fc:#0d1424;--bg-f8fafd:#0d1525;--bg-f9fbfd:#0e1526;--bg-fafbfe:#0e1626;--bg-fafcfe:#0f1627;--bg-fbfcfe:#0f1627;--bg-fbfdff:#101728;--bg-fdecea:#361d1a;--bg-ffedd5:#342102;--bg-fff0ef:#341d1c;--bg-fff1e2:#351e01;--bg-fff3f1:#301e1b;--bg-fff4e5:#322003;--bg-fff8e9:#2d2105;--bg-ffffff00:#11192a00;--bg-ffffffed:#11192aed;--ink-0d3f7a:#bdd8fc;--ink-124f97:#accefb;--ink-145aa6:#a0c8fb;--ink-145ca1:#9cc8fb;--ink-173c72:#c1dafe;--ink-17663a:#91dca9;--ink-1d4ed8:#a5c1fa;--ink-1f4f82:#acd1fb;--ink-203651:#c9e0fd;--ink-20587e:#98d1fd;--ink-216e4c:#8bd5ae;--ink-224ab4:#aec8ff;--ink-2369a8:#8ac3fd;--ink-24344f:#cee0fd;--ink-24704a:#8bd5a9;--ink-264cb1:#afc8fc;--ink-30465d:#bcd7f3;--ink-33415a:#c5d6f5;--ink-344960:#bbd4f0;--ink-40516a:#b9cdeb;--ink-415673:#b2caec;--ink-427294:#8ec0e6;--ink-44566e:#b5cae6;--ink-49607b:#abc5e4;--ink-4b6580:#a6c3e2;--ink-4d657d:#a8c3de;--ink-4d6b89:#9fc0e2;--ink-516581:#aac1e0;--ink-526680:#aac1de;--ink-526b84:#a4c0db;--ink-53617a:#b2c2de;--ink-596c84:#a8bdd8;--ink-5c6d82:#aabcd3;--ink-5e6d83:#abbbd4;--ink-6085ac:#8fb6df;--ink-61718a:#a7b9d4;--ink-62748c:#a5b9d3;--ink-62758c:#a4b9d2;--ink-65738a:#a9b8d1;--ink-65768d:#a6b8d1;--ink-667b94:#a1b7d2;--ink-677896:#a4b6d7;--ink-677c95:#a1b7d2;--ink-687b91:#a3b7cf;--ink-6b7890:#a8b6d0;--ink-6d7b90:#a7b6cc;--ink-6f7e95:#a5b5cd;--ink-718097:#a4b4cd;--ink-728099:#a5b4ce;--ink-748096:#a7b3cb;--ink-748197:#a6b3cb;--ink-7a4300:#fbbb84;--ink-7a879c:#a4b2c8;--ink-7a889c:#a3b2c7;--ink-7b879a:#a5b2c6;--ink-8290a5:#a1afc5;--ink-8590a3:#a3aec2;--ink-889ccc:#95a9da;--ink-8995a7:#a1adc0;--ink-8a4b00:#f9b176;--ink-8a95a8:#a2adc0;--ink-8a96a9:#a1adc0;--ink-94a0b3:#9eaabd;--ink-98441a:#fbab89;--ink-9a3026:#fcaea2;--ink-9a3412:#ffad95;--ink-a12a1f:#fcada0;--ink-a32920:#fcaca0;--ink-b42318:#fea495;--ink-c2410c:#fb9a7b;--ink-c3ccda:#949daa}