:root{font-family:Inter,Segoe UI,system-ui,sans-serif;color-scheme:dark;color:var(--text);background:var(--bg);--bg: #0c0c0d;--sidebar: #111113;--card: #161618;--inset: #0c0c0d;--hover: #1a170c;--surface-2: #121214;--text: #f3f3f5;--text-strong: #ffffff;--text-soft: #c8c8ce;--label: #d8d8de;--muted: #9c9ca6;--sidebar-text: #edeeF2;--faint: #8d8d96;--accent: #ffcc00;--gold: #ffd84a;--yellow: #ffcc00;--green: #ffcc00;--green-dark: #ffd84a;--border: rgb(255 255 255 / .1);--card-border: rgb(255 255 255 / .08);--nav-bg: rgb(12 12 13 / .82);--nav-border: rgb(255 255 255 / .06);--nav-hover: #ffffff;--hero-gradient: linear-gradient(135deg, #1a170c 0%, #161618 55%, #111113 100%);--trust-bg: linear-gradient(180deg, #141416, #0f0f11);--wash: rgb(255 255 255 / .06);--row-hover: rgb(255 255 255 / .02);--chip-boy: #1c1c20;--cycle-2: #2a2a2e;--cycle-3: #3d3d44;--mark-shadow: #f4f1ea}html[data-theme=light]{color-scheme:light;--bg: #f3f1ea;--sidebar: #ffffff;--card: #ffffff;--inset: #eceae3;--hover: #fff6d6;--surface-2: #f7f5ee;--text: #16161a;--text-strong: #111113;--text-soft: #3f3f46;--label: #3a3a42;--muted: #6b6b74;--sidebar-text: #1c1c22;--faint: #7a7a84;--accent: #8a6e00;--gold: #8a6e00;--yellow: #ffcc00;--green: #ffcc00;--green-dark: #e6b800;--border: rgb(20 20 24 / .12);--card-border: rgb(20 20 24 / .1);--nav-bg: rgb(255 255 255 / .88);--nav-border: rgb(20 20 24 / .08);--nav-hover: #111113;--hero-gradient: linear-gradient(135deg, #fff6d6 0%, #ffffff 55%, #f7f5ee 100%);--trust-bg: linear-gradient(180deg, #fffdf6, #f3f1ea);--wash: rgb(20 20 24 / .05);--row-hover: rgb(20 20 24 / .04);--chip-boy: #e8e6de;--cycle-2: #e8e6de;--cycle-3: #ddd9ce;--mark-shadow: #1c1c22}*{box-sizing:border-box}body{margin:0;background:var(--bg)}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:Onest,Inter,sans-serif;letter-spacing:-.03em}.login-page{min-height:100vh;display:grid;place-items:center;background:var(--bg)}.login-card{width:min(420px,92vw)}.brand{font-family:Onest,Inter,sans-serif;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin:0 0 .4rem}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh;background:var(--bg)}.sidebar{background:var(--sidebar);color:var(--sidebar-text);padding:1.15rem .9rem 1rem;display:flex;flex-direction:column;gap:1rem;border-right:1px solid var(--border)}.sidebar-logo{padding:.35rem .55rem .6rem}.cycle-switch{display:grid;gap:.25rem;padding:0 .15rem .35rem}.cycle-switch button{text-align:left;background:transparent;color:var(--text-soft);border:0;border-radius:10px;padding:.42rem .7rem;font-size:.86rem;cursor:pointer}.cycle-switch button.is-active,.cycle-switch button:hover{background:var(--hover);color:var(--accent)}.cycle-empty{margin:0 .7rem .4rem;color:var(--faint);font-size:.8rem;line-height:1.35}.platform-cycle-switch{display:flex;flex-wrap:wrap;gap:.4rem;padding:0}.platform-cycle-switch button{background:var(--inset);color:var(--text);border:1px solid var(--border)}.school-brand{display:flex;align-items:center;gap:.7rem;min-width:0}.school-brand img,.school-brand .yc-mark{width:40px;height:40px;object-fit:contain;border-radius:10px;flex-shrink:0}.school-brand img{background:#fff}.school-brand .yc-mark{display:block;background-color:var(--yellow);background-image:url(/kalanso-cap.svg);background-repeat:no-repeat;background-position:center 58%;background-size:72%}.school-brand div{min-width:0;display:grid;gap:.1rem}.school-brand strong{display:block;font-family:Onest,Inter,sans-serif;font-size:.98rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-brand span,.school-brand small{display:block;color:var(--muted);font-size:.75rem;font-weight:500}.school-brand.compact img,.school-brand.compact .yc-mark{width:36px;height:36px}.logo-pick{display:flex;align-items:center;gap:.85rem;margin-bottom:.4rem}.logo-pick img,.logo-placeholder{width:72px;height:72px;border-radius:14px;object-fit:contain;background:#fff;border:1px solid var(--border)}.logo-placeholder{display:grid;place-items:center;color:#111;font-size:.75rem;font-weight:700}.doc-header{margin-bottom:.85rem}.doc-header .school-brand strong{white-space:normal}.doc-header h2{margin:.55rem 0 0;font-size:1.05rem}.receipt-wrap{display:grid;gap:.85rem;justify-items:center;margin-top:.4rem}.receipt-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;justify-items:center;align-content:start;overflow:auto;padding:1.1rem 1rem 2rem;background:#08080cb8}.receipt-modal-panel{display:grid;gap:.75rem;justify-items:center;width:min(226mm,100%)}.receipt-modal .receipt-actions{position:sticky;top:0;z-index:1;justify-content:flex-end;padding:.45rem .55rem;border-radius:12px;background:#0c0c10eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.receipt-modal .receipt-actions button{width:auto}.receipt-actions{display:flex;gap:.5rem;width:min(210mm,100%);justify-content:flex-end}.receipt{width:min(210mm,100%);min-height:min(297mm,140vh);display:grid;align-content:start;gap:.85rem;padding:0 14mm 12mm;background:#fff;color:#111;border:1px solid #d7d0c2;box-shadow:0 12px 36px #00000047}.receipt-flag{display:grid;grid-template-columns:1fr 1fr 1fr;height:5px;margin:0 -14mm}.receipt-flag .is-green{background:#14b53a}.receipt-flag .is-yellow{background:#fcd116}.receipt-flag .is-red{background:#ce1126}.receipt-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1rem;align-items:start;padding:.85rem 0 .7rem;border-bottom:2px solid #0b5c2a}.receipt-state{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem;align-items:center}.receipt-emblem{width:42px;height:42px;display:block}.receipt-state p{margin:0;font-family:Onest,Inter,sans-serif;font-size:.78rem;font-weight:800;letter-spacing:.06em;color:#0b5c2a}.receipt-state small,.receipt-state span,.receipt-school small{display:block;color:#444;font-size:.72rem;line-height:1.35}.receipt-school{display:grid;justify-items:end;text-align:right;gap:.15rem}.receipt-school img,.receipt-logo-fallback{width:48px;height:48px;object-fit:contain;border-radius:8px;background:#f4f1ea}.receipt-logo-fallback{display:grid;place-items:center;font-size:.65rem;font-weight:800;color:#0b5c2a;text-transform:uppercase}.receipt-school strong{font-family:Onest,Inter,sans-serif;font-size:.95rem;color:#111}.receipt-school em{font-style:italic;font-size:.78rem;color:#555}.receipt-title{display:grid;justify-items:center;text-align:center;gap:.2rem;padding:.35rem 0 .15rem}.receipt-title h2{margin:0;font-family:Onest,Inter,sans-serif;font-size:1.35rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#0b5c2a}.receipt-title p{margin:0;color:#444;font-size:.88rem}.receipt-title strong{font-family:Onest,Inter,sans-serif;letter-spacing:.08em;color:#8a6d12}.receipt-identity{display:grid;grid-template-columns:6.6rem minmax(0,1fr);gap:1rem;align-items:stretch}.receipt-photo{width:6.6rem;height:8.2rem;overflow:hidden;display:grid;place-items:center;background:#f4f1ea;color:#0b5c2a;font-family:Onest,Inter,sans-serif;font-weight:800;font-size:1.35rem;border:1px solid #d7d0c2;justify-self:start}.receipt-photo img{width:100%;height:100%;object-fit:cover;display:block}.receipt-who{display:grid;align-content:center;gap:.35rem;padding:.55rem .7rem;border:1px solid #d7d0c2;background:#fbfaf6}.receipt-name{margin:0;font-family:Onest,Inter,sans-serif;font-size:1.25rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.receipt-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:.45rem .7rem;margin:0}.receipt-meta dt{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:#6a6a70;font-weight:700}.receipt-meta dd{margin:.1rem 0 0;font-weight:650}.receipt-certify{margin:0;padding:.7rem .85rem;border-left:3px solid #0b5c2a;background:#f4f8f4;font-size:.92rem;line-height:1.45}.receipt-block h4{margin:0 0 .45rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#0b5c2a}.receipt-lines{width:100%;border-collapse:collapse}.receipt-lines th,.receipt-lines td{text-align:left;padding:.45rem .2rem;border-bottom:1px solid #e4dfd4;vertical-align:top}.receipt-lines thead th{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#6a6a70}.receipt-lines th:last-child,.receipt-lines td:last-child,.receipt-lines tfoot th:last-child{text-align:right;white-space:nowrap}.receipt-lines td strong{display:block;font-weight:650}.receipt-lines td small{display:block;margin-top:.12rem;color:#666;font-size:.78rem}.receipt-lines tfoot th{padding-top:.65rem;font-size:.95rem;border-bottom:0;color:#111}.pay-receipt-sheet{width:min(210mm,100%);height:297mm;max-height:297mm;box-sizing:border-box;overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr) 7mm minmax(0,1fr);background:#fff;color:#111;border:1px solid #d7d0c2;box-shadow:0 12px 36px #00000047}.pay-receipt-copy{display:grid;align-content:start;gap:.28rem;padding:4mm 9mm 3mm;min-height:0;overflow:hidden}.pay-receipt-copy .receipt-flag{margin:-4mm -9mm 0;height:3px}.pay-receipt-copy .receipt-head{padding:.3rem 0 .22rem;gap:.45rem}.pay-receipt-copy .receipt-emblem{width:32px;height:32px}.pay-receipt-copy .receipt-school img,.pay-receipt-copy .receipt-logo-fallback{width:36px;height:36px}.pay-receipt-copy .receipt-state p{font-size:.68rem}.pay-receipt-copy .receipt-state small,.pay-receipt-copy .receipt-state span,.pay-receipt-copy .receipt-school small{font-size:.62rem;line-height:1.25}.pay-receipt-copy .receipt-school strong{font-size:.82rem}.pay-receipt-copy .receipt-title{padding:.1rem 0 0;gap:.08rem}.pay-receipt-copy .receipt-title h2{font-size:.98rem}.pay-receipt-copy .receipt-title p{font-size:.75rem}.pay-receipt-copy-label{margin:0;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:#8a6d12}.pay-receipt-identity.receipt-identity{grid-template-columns:3.6rem minmax(0,1fr);gap:.5rem}.pay-receipt-copy .receipt-photo{width:3.6rem;height:4.4rem;font-size:.92rem}.pay-receipt-copy .receipt-who{padding:.35rem .5rem;gap:.2rem}.pay-receipt-copy .receipt-name{font-size:.95rem}.pay-receipt-copy .receipt-meta{gap:.2rem .45rem}.pay-receipt-copy .receipt-certify{padding:.32rem .5rem;font-size:.78rem;line-height:1.3}.pay-receipt-copy .receipt-totals{margin-top:.15rem;grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem}.pay-receipt-copy .receipt-totals div{padding:.32rem .4rem}.pay-receipt-copy .receipt-sign{padding-top:.15rem;margin-top:.15rem}.pay-receipt-copy .receipt-sign div{min-height:2.4rem;padding-top:.25rem}.pay-receipt-copy .receipt-foot{margin:.1rem 0 0;font-size:.68rem}.pay-receipt-cut{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;margin:0 8mm;height:7mm;color:#666;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.pay-receipt-cut:before,.pay-receipt-cut:after{content:"";border-top:1.5px dashed #888}.pay-receipt-wrap{margin-top:1.1rem}.salary-slip-totals{grid-template-columns:repeat(2,minmax(0,1fr))!important}.salary-slip-net{grid-column:1 / -1}.receipt-totals{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:.55rem;margin-top:.7rem}.receipt-totals div{display:grid;gap:.15rem;padding:.55rem .7rem;border:1px solid #d7d0c2;background:#fbfaf6}.receipt-totals span{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:#6a6a70;font-weight:700}.receipt-totals strong,.receipt-totals b{font-size:1.15rem;font-family:Onest,Inter,sans-serif;color:#111}.receipt-totals .is-due{border-color:#ce1126;background:#fff6f6}.receipt-totals .is-ok{border-color:#14b53a;background:#f3fbf5}.receipt-notes{margin:0;padding-left:1.15rem;display:grid;gap:.32rem;color:#333;font-size:.86rem}.receipt-sign{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:.4rem}.receipt-sign div{min-height:5.6rem;padding:.55rem .15rem 0;border-top:1px solid #d7d0c2;display:grid;align-content:space-between}.receipt-sign span{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#6a6a70;font-weight:700}.receipt-sign em{font-style:italic;color:#888;font-size:.8rem}.contract-subjects{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.contract-subjects li{margin:0;padding:.28rem .55rem;border:1px solid #d7d0c2;background:#fbfaf6;font-size:.86rem;font-weight:650}.contract-subjects small{display:inline;margin-left:.25rem;color:#666;font-weight:500}.contract-articles{display:grid;gap:.7rem}.contract-articles article{display:grid;gap:.22rem}.contract-articles h3{margin:0;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#0b5c2a}.contract-articles p{margin:0;font-size:.9rem;line-height:1.5;color:#222}.receipt-foot{margin:.2rem 0 0;color:#666;font-size:.78rem;text-align:center}.sidebar nav{display:flex;flex-direction:column;gap:1.15rem;overflow:auto}.nav-group{display:grid;gap:.28rem}.nav-title{margin:0 .15rem .15rem;padding:.2rem .55rem .45rem;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:750;border-bottom:1px solid rgb(255 204 0 / .22);pointer-events:none}.cycle-switch .nav-title{margin:0 .15rem .35rem}.sidebar nav a{padding:.5rem .7rem;border-radius:10px;color:var(--sidebar-text);font-size:.92rem;font-weight:500}.sidebar nav a.active,.sidebar nav a:hover{background:var(--hover);color:var(--accent);font-weight:650}.sidebar-user{margin-top:auto;display:grid;gap:.35rem;font-size:.9rem;padding:.85rem .7rem .2rem;border-top:1px solid var(--border);color:var(--muted)}.theme-toggle{display:inline-flex;align-items:center;gap:.45rem;width:100%;justify-content:flex-start;background:transparent;color:var(--text-soft);border:1px solid var(--border);border-radius:10px;padding:.42rem .7rem;font-size:.86rem;font-weight:650;cursor:pointer;margin-bottom:.15rem}.theme-toggle:hover{background:var(--hover);color:var(--accent)}.theme-toggle svg{width:18px;height:18px;flex-shrink:0}.theme-toggle.is-compact{width:auto;margin:0;padding:.38rem;border-radius:10px}.yc-nav .theme-toggle{color:var(--text-soft)}.content{padding:1.6rem 2rem 2.4rem}.page-header,.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem}.page-header h1,.page-head h1{margin:.15rem 0 .35rem}.page-head p{margin:.15rem 0 0}.platform-row-actions{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.platform-search{display:grid;gap:.35rem;max-width:32rem;margin:0 0 1.1rem}.platform-school{display:grid;gap:1.1rem}.platform-school .page-head{margin-bottom:0}.platform-school h2{margin:.4rem 0 .55rem;font-size:1.05rem}.platform-invoices{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.platform-invoices li{display:grid;gap:.15rem}.platform-invoices span{color:var(--muted);font-size:.88rem}.kicker{margin:0;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:700}.kicker a{color:inherit}.muted{color:var(--muted);margin:0}.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:1.15rem 1.2rem;min-width:0;max-width:100%}.card h2,.card h3{margin:0 0 .75rem}.school-page{display:grid;gap:1.1rem}.school-hero{display:grid;grid-template-columns:auto 1fr auto;gap:1.2rem;align-items:center;padding:1.25rem 1.35rem;border-radius:22px;background:var(--hero-gradient);border:1px solid rgb(255 204 0 / .18)}.school-hero-logo{position:relative;width:96px;margin:0;cursor:pointer;display:grid;gap:.35rem;justify-items:center;color:var(--muted);font-size:.75rem;font-weight:600}.school-hero-logo img,.school-hero-logo span{width:96px;height:96px;border-radius:20px;object-fit:contain;background:#fff;display:grid;place-items:center;color:#111;font-weight:800;border:1px solid var(--border)}.school-hero-logo input{display:none}.school-hero-copy{display:grid;gap:.28rem;min-width:0}.school-hero-copy h2{margin:0;font-size:1.7rem}.school-slogan{margin:0;color:var(--gold);font-weight:600}.school-hero-meta{display:grid;gap:.4rem;justify-items:end}.school-hero-meta span{padding:.35rem .7rem;border-radius:999px;background:var(--wash);border:1px solid var(--border);font-size:.82rem;color:var(--label)}.school-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);gap:1.1rem;align-items:start}.school-stack{display:grid;gap:1.1rem}.school-form{gap:1.15rem}.school-block{display:grid;gap:.7rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.school-block:last-of-type{border-bottom:0;padding-bottom:0}.school-block h3{margin:0;font-size:1rem}.school-aside{display:grid;gap:1rem}.plan-card h3{margin:.2rem 0 .35rem}.paywall{max-width:36rem;margin:2rem auto;text-align:center;display:grid;gap:.85rem;justify-items:center}.paywall h1{margin:0}.quota-bar{height:8px;border-radius:99px;background:var(--inset);overflow:hidden;border:1px solid var(--border)}.quota-bar span{display:block;height:100%;background:var(--yellow)}.cycle-option:disabled{cursor:default;opacity:1}.school-hero-logo.is-static{cursor:default}.dash{display:grid;gap:1.1rem}.dash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.dash-kpi small{color:var(--muted);font-size:.8rem}.dash-panels{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.dash-rows{display:grid;gap:.65rem;margin-bottom:.9rem}.dash-rows p{display:flex;justify-content:space-between;gap:1rem;margin:0;color:var(--text-soft)}.dash-rows strong{color:var(--text);font-family:Onest,Inter,sans-serif}.split-bar{display:flex;height:8px;border-radius:99px;overflow:hidden;background:var(--inset);border:1px solid var(--border);margin-bottom:.45rem}.split-bar .is-girls{background:var(--yellow)}.split-bar .is-boys{background:#6b6758}.dash-links{display:grid;gap:.55rem}.dash-links a{display:grid;gap:.15rem;padding:.75rem .85rem;border-radius:14px;border:1px solid var(--border);background:var(--inset)}.dash-links a:hover{border-color:var(--accent);background:var(--hover)}.dash-links span{color:var(--muted);font-size:.85rem}.members-page{display:grid;gap:1.1rem}.members-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,22rem);gap:1.1rem;align-items:start}.members-list{display:grid;gap:.9rem;min-width:0}.members-aside{position:sticky;top:1rem;min-width:0;width:100%;overflow:hidden}.members-aside input:not([type=checkbox]),.members-aside select,.members-aside textarea,.members-aside>button{width:100%;max-width:100%;min-width:0}.members-aside .split-fields,.members-aside .cycle-pick{grid-template-columns:1fr}.members-aside .cycle-option,.members-aside .role-option{min-width:0;overflow-wrap:anywhere}.members-empty,.empty-state{margin:0;padding:2rem 1.2rem;text-align:center;border:1px dashed var(--border);border-radius:18px;background:var(--card);color:var(--muted)}.students-page{display:grid;gap:1.1rem}.students-page .page-header{margin-bottom:0}.students-page .page-header input{min-width:min(280px,100%)}.presence-page{display:grid;gap:1.1rem}.presence-page .page-header{margin-bottom:0}.presence-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.presence-filters{display:grid;grid-template-columns:repeat(2,minmax(0,16rem));gap:.85rem 1rem;align-items:end}.presence-filters label{margin:0}.presence-detail{width:min(44rem,100%)}.presence-page .ghost{width:auto}.staff-page .page-header{margin-bottom:0}.staff-page .page-header input{min-width:min(280px,100%)}.staff-page .student-row.is-off{opacity:.78;border-style:dashed}.staff-page .student-actions{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end;align-items:center}.staff-page .student-actions button,.staff-page .student-actions a.ghost{width:auto}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:1.2rem;background:#08080c9e}.modal-card{width:min(42rem,100%);max-height:min(88vh,44rem);overflow:auto;display:grid;gap:.85rem;padding:1.25rem 1.3rem 1.15rem;border-radius:22px;border:1px solid var(--border);background:var(--card);box-shadow:0 24px 60px #00000047}.modal-card h2{margin:0}.modal-subjects{max-height:22rem}.modal-actions{display:flex;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}.modal-actions button{width:auto}.teacher-subjects{margin-top:.45rem}.teacher-subjects .chip{font-size:.72rem;padding:.18rem .5rem}.teacher-rate{font-variant-numeric:tabular-nums}.staff-board{display:grid;gap:.9rem}.schedule-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem}.schedule-day{display:grid;gap:.45rem;align-content:start;padding:.8rem .85rem;border-radius:16px;border:1px solid var(--border);background:var(--inset)}.schedule-day h3{margin:0;display:flex;justify-content:space-between;align-items:center;font-size:.82rem;letter-spacing:.02em}.schedule-day h3 span{font-size:.72rem;color:var(--muted);font-weight:650}.schedule-slot{display:grid;gap:.12rem;padding:.5rem .55rem;border-radius:12px;border:1px solid var(--border);background:var(--card)}.schedule-slot strong{font-size:.82rem}.schedule-slot small{color:var(--muted);font-size:.74rem}.schedule-slot-call{width:100%;text-align:left;cursor:pointer;font:inherit;font-weight:inherit;color:inherit;background:var(--card)}.schedule-slot-call:hover{border-color:#ffcc0073;background:var(--hover)}.schedule-slot.is-editing{border-color:#14b53a73;box-shadow:0 0 0 2px #14b53a1f}.schedule-slot-main{display:grid;gap:.12rem;width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;font:inherit;font-weight:inherit;color:inherit}.schedule-slot-actions{display:flex;gap:.35rem;margin-top:.35rem}.schedule-slot-actions .ghost{width:auto;font-size:.72rem;padding:.22rem .5rem}.roll-call-modal{width:min(34rem,100%)}.roll-call-list{display:grid;gap:.65rem}.roll-call-student{display:grid;gap:.55rem;padding:.75rem .85rem;border-radius:14px;border:1px solid var(--border);background:var(--inset)}.roll-call-student strong{display:block}.roll-call-student .muted{margin:.15rem 0 0}.roll-call-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.4rem}.roll-call-actions button{width:100%;font-size:.78rem;padding:.45rem .3rem}.roll-call-actions button.is-present{background:#1b7a3a;color:#fff;border-color:#1b7a3a}.roll-call-actions button.is-absent{background:#b42318;color:#fff;border-color:#b42318}.roll-call-actions button.is-autre{background:#b45309;color:#fff;border-color:#b45309}.roll-call-motifs{display:flex;flex-wrap:wrap;gap:.35rem}.roll-call-print{display:none}.roll-call-print-summary{margin:0 0 .45rem;font-size:.88rem;color:#444}.roll-call-print-table{width:100%;border-collapse:collapse;font-size:.82rem}.roll-call-print-table th,.roll-call-print-table td{border:1px solid #c9c2b4;padding:.32rem .45rem;text-align:left;vertical-align:top}.roll-call-print-table th{background:#f4efe4;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase}.roll-call-print-table td:last-child{min-width:7.5rem;height:1.5rem}.roll-call-print-table tr.is-present td:nth-child(5){color:#1b7a3a;font-weight:700}.roll-call-print-table tr.is-absent td:nth-child(5){color:#b42318;font-weight:700}.roll-call-print-table tr.is-autre td:nth-child(5){color:#b45309;font-weight:700}.timetable-actions{display:flex;flex-wrap:wrap;gap:.45rem}.timetable-actions button{width:auto}.timetable-view{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.timetable-view .chip{width:auto}.timetable-class-pick{display:flex;align-items:center;gap:.4rem;margin:0;font-size:.82rem;color:var(--muted)}.timetable-class-pick select{width:auto;min-width:10rem}.timetable-print{display:none}.timetable-sheet{display:grid;gap:.7rem;padding:0 12mm 10mm;background:#fff;color:#111;border:1px solid #d7d0c2;box-shadow:0 12px 36px #0000002e}.staff-board .timetable-sheet{margin-top:.2rem;padding:0 1rem 1rem;border-radius:16px}.timetable-sheet .receipt-flag{margin:0 -12mm}.staff-board .timetable-sheet .receipt-flag{margin:0 -1rem}.timetable-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:1rem;align-items:start;padding:.75rem 0 .55rem;border-bottom:2px solid #0b5c2a}.timetable-title{text-align:center;display:grid;gap:.15rem}.timetable-title h2{margin:0;font-family:Onest,Inter,sans-serif;font-size:1.2rem;letter-spacing:.04em;text-transform:uppercase;color:#0b5c2a}.timetable-title p{margin:0;color:#444;font-size:.9rem}.timetable-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:0}.timetable-meta div{padding:.45rem .55rem;border:1px solid #d7d0c2;background:#fbfaf6}.timetable-meta dt{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:#6a6a70;font-weight:700}.timetable-meta dd{margin:.15rem 0 0;font-weight:750}.timetable-grid{width:100%;border-collapse:collapse;table-layout:fixed}.timetable-grid th,.timetable-grid td{border:1px solid #cfc8b8;padding:.35rem;vertical-align:top;text-align:center}.timetable-grid thead th{background:#0b5c2a;color:#fff;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.timetable-grid tbody th{width:4.6rem;background:#f4f1ea;color:#0b5c2a;font-size:.78rem;font-weight:800}.timetable-grid tbody th span{display:block;color:#666;font-weight:650;font-size:.7rem}.timetable-cell{display:grid;gap:.08rem;padding:.35rem .3rem;border-radius:8px;min-height:2.6rem;align-content:center}.timetable-cell+.timetable-cell{margin-top:.25rem}.timetable-cell strong{font-size:.78rem;color:#111}.timetable-cell small{display:block;color:#444;font-size:.68rem}.timetable-empty{color:#c5bfb2;font-size:.85rem}.timetable-vacant{margin:0;padding:1.2rem;text-align:center;color:#666;border:1px dashed #d7d0c2}.timetable-foot{display:flex;justify-content:space-between;gap:1rem;color:#555;font-size:.75rem;padding-top:.7rem;border-top:1px solid #d7d0c2}@media(max-width:900px){.timetable-head,.timetable-meta{grid-template-columns:1fr 1fr}.staff-board .timetable-sheet{overflow-x:auto}.timetable-grid{min-width:640px}}.attendance-toolbar{display:flex;flex-wrap:wrap;gap:.7rem;align-items:end;justify-content:space-between}.attendance-filters{display:flex;flex-wrap:wrap;gap:.7rem}.attendance-filters label{display:grid;gap:.25rem;font-size:.78rem;color:var(--muted);font-weight:650}.attendance-filters select,.attendance-filters input[type=date]{min-width:10rem}.attendance-filters button.ghost{align-self:end;width:auto;height:fit-content}.attendance-groups{display:grid;gap:1rem}.attendance-group{display:grid;gap:.55rem;padding:.85rem;border-radius:16px;border:1px solid var(--border);background:var(--inset)}.attendance-group-head{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.attendance-group-head>div:nth-child(2){flex:1;min-width:8rem}.attendance-group-head h3{margin:0}.attendance-group-head button{width:auto}.attendance-group .students-list{gap:.45rem}.attendance-group .student-row{background:var(--card)}.enroll-page{display:grid;gap:1.1rem}.enroll-page .page-header{margin-bottom:0}.enroll-layout{display:grid;grid-template-columns:minmax(0,22rem) minmax(0,1fr);gap:1.1rem;align-items:start}.enroll-form{position:sticky;top:1rem}.enroll-import h2,.enroll-preview h2{margin-bottom:.35rem}.enroll-import .muted,.enroll-preview .muted{margin-bottom:.85rem}.enroll-preview{display:grid;gap:.85rem}.enroll-alert{display:grid;gap:.65rem;padding:.85rem .95rem;border-radius:12px;background:#2a1714;border:1px solid rgb(255 138 128 / .35)}.enroll-alert.is-info{background:#171a22;border-color:#ffcc0047}.enroll-alert.is-warn{background:#241c10;border-color:#fc06}.enroll-alert p,.enroll-alert ul{margin:0}.enroll-alert ul{padding-left:1.1rem;display:grid;gap:.25rem}.enroll-bulk-tuition{display:flex;flex-wrap:wrap;gap:.65rem;align-items:end}.enroll-bulk-tuition label{min-width:12rem}.enroll-bulk-tuition .muted{margin:0;flex:1 1 14rem}.enroll-import-model{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.enroll-import-model .ghost{width:auto}.enroll-fee-summary{display:grid;gap:.35rem}.enroll-due-stack{display:grid;gap:.2rem;padding:.7rem .85rem;border:1px solid var(--card-border);border-radius:14px;background:var(--hover);font-size:.9rem}.enroll-due-stack span{display:flex;justify-content:space-between;color:var(--muted)}.enroll-due-stack>strong{display:flex;justify-content:space-between;margin-top:.15rem;padding-top:.35rem;border-top:1px dashed var(--card-border);font-size:1rem}.enroll-reliquat-input{width:7.2rem;max-width:100%}.enroll-fee-open{display:inline-flex;align-items:center;justify-content:space-between;gap:.8rem;width:auto;min-width:10.5rem;max-width:100%;padding:.42rem .75rem;border-radius:12px;font-weight:650}.enroll-fee-open strong{font-variant-numeric:tabular-nums;font-size:.92rem}.enroll-form .enroll-fee-open{width:100%}.enroll-fee-modal{width:min(28rem,100%)}.enroll-tuition{width:8.5rem}.enroll-transfer{display:flex;align-items:center;gap:.45rem;color:var(--text)}.enroll-id input{font-family:Onest,Inter,sans-serif;font-size:1.2rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.enroll-suggest{list-style:none;margin:-.35rem 0 0;padding:0;display:grid;gap:.3rem}.enroll-suggest button{width:100%;display:flex;justify-content:space-between;gap:.7rem;text-align:left;background:var(--inset);border:1px solid var(--border);color:inherit;padding:.55rem .7rem;font-weight:500}.enroll-suggest button:hover{border-color:#fc06;background:var(--hover)}.enroll-suggest span{color:var(--muted);font-size:.88rem}.enroll-found{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.7rem .8rem;border-radius:14px;border:1px solid rgb(255 204 0 / .35);background:var(--hover)}.enroll-found a{color:var(--accent);font-size:.88rem;font-weight:650}.enroll-fees{margin:0;padding:.85rem .9rem .7rem;border:1px solid var(--line);border-radius:14px;display:grid;gap:.45rem}.enroll-fees legend{font-weight:700;padding:0 .3rem}.enroll-fee{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.65rem;align-items:start;padding:.45rem .2rem;border-bottom:1px solid var(--line)}.enroll-fee:last-of-type{border-bottom:0}.enroll-fee span{display:grid;gap:.12rem}.enroll-fee small{color:var(--muted);font-size:.78rem}.enroll-fee strong{font-variant-numeric:tabular-nums}.enroll-fee.is-locked{opacity:.78}.enroll-fee-total{margin:.35rem 0 0;padding-top:.45rem;border-top:1px dashed var(--line)}.enroll-list{display:grid;gap:.7rem;min-width:0}.students-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,22rem);gap:1.1rem;align-items:start}.students-list{display:grid;gap:.7rem;min-width:0}.students-aside{position:sticky;top:1rem;display:grid;gap:1rem;min-width:0}.students-aside input:not([type=file]),.students-aside select,.students-aside form>button{width:100%;max-width:100%;min-width:0}.students-aside .split-fields{grid-template-columns:1fr 1fr}.enroll-offer{border-color:#ffcc0059}.enroll-offer h2{margin-bottom:.35rem}.offer-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.85rem}.offer-actions button,.offer-actions .ghost{width:auto}.student-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.95rem;align-items:center;padding:.9rem 1.05rem;border-radius:18px;background:var(--card);border:1px solid var(--border)}.student-row:hover{border-color:#ffcc0059;background:var(--hover)}.student-avatar{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:var(--yellow);color:#111;font-family:Onest,Inter,sans-serif;font-weight:800;letter-spacing:.04em;font-size:.92rem;flex-shrink:0;overflow:hidden}.student-avatar img{width:100%;height:100%;object-fit:cover;display:block}.student-copy{min-width:0}.student-copy h3{margin:0 0 .2rem;font-size:1.02rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-meta{margin:0;display:flex;flex-wrap:wrap;gap:.45rem .7rem;color:var(--muted);font-size:.82rem}.student-id{font-family:Onest,Inter,sans-serif;color:var(--text);font-weight:650}.student-tag{padding:.08rem .45rem;border-radius:999px;background:#ffcc001f;color:var(--gold);font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.chip{padding:.32rem .7rem;border-radius:999px;border:1px solid var(--border);background:var(--inset);color:var(--label);font-size:.78rem;font-weight:650;white-space:nowrap}.chip.is-girl{background:#ffcc0029;color:var(--gold);border-color:#ffcc0047}.chip.is-boy{background:var(--chip-boy);color:var(--text-soft)}.student-actions{display:flex;align-items:center;gap:.55rem}.student-row.has-pass{align-items:start}.jardin-pass{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;gap:.55rem .65rem;align-items:end;padding-top:.7rem;border-top:1px solid var(--border)}.jardin-pass label{margin:0;min-width:0}.jardin-pass select{width:100%}.student-open{color:var(--accent);font-weight:700;font-size:.86rem;padding:.35rem .55rem;border-radius:10px}.student-open:hover{background:#ffcc001f}.students-import h2{margin-bottom:.35rem}.students-import .muted{margin-bottom:.85rem}.member-card{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;padding:1.2rem 1.25rem;border-radius:20px;background:var(--card);border:1px solid var(--border)}.member-card.is-off{opacity:1;background:var(--surface-2);border-style:dashed}.member-card.is-off .member-avatar{background:var(--cycle-2);color:var(--text-soft)}.member-avatar{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:var(--yellow);color:#111;font-family:Onest,Inter,sans-serif;font-weight:800;letter-spacing:.04em;font-size:1.05rem}.member-copy{display:grid;gap:.85rem;min-width:0}.member-copy h3{margin:0 0 .15rem;font-size:1.12rem}.member-meta{margin:0;color:var(--muted);font-size:.86rem}.member-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}.member-section{display:grid;gap:.4rem}.member-section .kicker{margin:0}.dash-kpi{padding:1rem 1.05rem;display:grid;gap:.25rem}.chip-row{display:flex;flex-wrap:wrap;gap:.4rem}button.chip{padding:.32rem .7rem;border-radius:999px;border:1px solid var(--border);background:var(--inset);color:var(--label);font-size:.78rem;font-weight:650}button.chip.is-on,.chip.is-on{background:var(--yellow);color:#111;border-color:var(--accent)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.9rem}.ref-page{display:grid;gap:1.1rem}.ref-tabs{display:flex;flex-wrap:wrap;gap:.35rem;padding:.35rem;background:var(--sidebar);border:1px solid var(--border);border-radius:14px}.ref-tabs button{background:transparent;border:0;color:var(--text-soft);padding:.48rem .85rem;border-radius:10px;font-weight:650;font-size:.88rem;display:inline-flex;align-items:center;gap:.45rem}.ref-tabs button:hover{background:var(--hover);color:var(--accent)}.ref-tabs button.is-on{background:var(--yellow);color:#111}.ref-tabs button.is-on:hover{color:#111}.ref-tabs button.is-on .ref-count{background:#1111111f;color:#111;border-color:transparent}.ref-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;align-items:start}.ref-span{grid-column:1 / -1}.ref-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.ref-card-head h2{margin:0}.ref-count{font-size:.78rem;color:var(--muted);background:var(--inset);border:1px solid var(--border);border-radius:999px;padding:.18rem .6rem;font-weight:650}.ref-row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.ref-list{list-style:none;padding:0;margin:.15rem 0 0;display:grid;gap:.4rem;max-height:22rem;overflow:auto}.ref-list li{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .7rem;border-radius:12px;background:var(--inset);border:1px solid var(--border)}.ref-list strong{font-weight:650}.ref-list select{width:auto;min-width:10rem;padding:.32rem .5rem}textarea{min-height:7.5rem;resize:vertical}.ref-groups{display:grid;gap:1rem;margin-top:.25rem}.ref-group{display:grid;gap:.4rem}.ref-group h3,h3.ref-group-title{margin:0;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:700}.ref-actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;justify-content:space-between}.ref-meta{display:flex;align-items:center;gap:.55rem}.ref-totals{list-style:none;padding:0;margin:.15rem 0 .4rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.55rem}.ref-totals li{display:grid;gap:.15rem;padding:.7rem .8rem;border-radius:12px;background:var(--inset);border:1px solid var(--border)}.ref-totals span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}.ref-totals strong{font-size:1.05rem}.ref-tarif-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem;align-items:center}.ref-list li .ref-tarif-form,.ref-list li.ref-edit-row strong{flex:1;min-width:0}.ref-tarif-form button{padding:.4rem .7rem;font-size:.78rem;font-weight:650}.ref-edit-row{align-items:flex-start}.ref-serie-form{display:grid;grid-template-columns:minmax(0,1.3fr) 4.5rem minmax(0,1fr) auto;gap:.4rem;align-items:center;flex:1;min-width:0}.ref-serie-form button{padding:.4rem .7rem;font-size:.78rem;font-weight:650}.ref-subject-form{display:grid;grid-template-columns:minmax(0,1fr) 4.2rem auto;gap:.4rem;align-items:center;flex:1;min-width:0}.ref-subject-form button{padding:.4rem .7rem;font-size:.78rem;font-weight:650}.ref-totals em{font-style:normal;color:var(--muted);font-size:.78rem}.ref-fee-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.35rem}.ref-fee-form{display:grid;grid-template-columns:minmax(0,1fr) 7.5rem auto;gap:.45rem;align-items:end}@media(max-width:860px){.ref-fee-grid,.ref-fee-form{grid-template-columns:1fr}}button.ref-delete{background:transparent;color:#ff8a80;border:1px solid rgb(255 138 128 / .35);padding:.28rem .6rem;font-size:.78rem;font-weight:650}button.ref-delete:hover{background:#ff8a801f}.stat{display:grid;gap:.4rem}.stat span{color:var(--muted);font-size:.9rem}.stat strong{font-size:1.35rem;font-family:Onest,Inter,sans-serif}.finance-page{display:grid;gap:1.1rem}.finance-page .page-header{margin-bottom:0}.pay-overview{gap:1.15rem}.pay-cycle{display:grid;gap:.85rem}.pay-cycle.is-current{border-color:#fc06}.pay-cycle-head{display:flex;justify-content:space-between;align-items:end;gap:.85rem;flex-wrap:wrap}.pay-cycle-head h2{margin:0}.pay-cycle-totals{display:flex;gap:.75rem;align-items:center;color:var(--muted);font-size:.86rem;font-weight:650;flex-wrap:wrap}.pay-cycle-totals .ghost{font-size:.82rem;padding:.32rem .65rem}.pay-overview td .ghost{font-size:.78rem;padding:.28rem .55rem;width:auto}.pay-overview .pay-amounts{margin:0}.pay-overview .journey-bar{height:6px;margin:0}.finance-layout{display:grid;grid-template-columns:minmax(0,22rem) minmax(0,1fr);gap:1.1rem;align-items:start}.finance-aside{display:grid;gap:1rem;min-width:0}.pay-student-card{display:grid;gap:.75rem}.pay-readonly-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem .7rem}.pay-readonly-grid label{display:grid;gap:.22rem;font-size:.82rem;color:var(--label)}.pay-readonly-grid input{background:var(--inset);color:var(--text);border-color:var(--line);cursor:default}.pay-readonly-span{grid-column:1 / -1}.finance-aside input:not([type=file]),.finance-aside select,.finance-aside textarea,.finance-aside button:not(.chip){width:100%;max-width:100%;min-width:0}.month-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}.month-grid .chip{display:flex;width:100%;justify-content:center;text-align:center;padding:.42rem .15rem}.file-field{display:grid;gap:.3rem;min-width:0}.file-field>span{font-size:.92rem;color:var(--label)}.file-field .file-pick{width:100%;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-pick.is-compact{width:auto;padding:.32rem .6rem;font-size:.82rem;background:transparent;color:var(--accent);border:1px solid rgb(255 204 0 / .45)}.split{display:grid;grid-template-columns:minmax(0,22rem) minmax(0,1fr);gap:1rem;align-items:start}.split>*{min-width:0}.list-export{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.list-export .ghost{font-size:.84rem;padding:.38rem .7rem}.list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.list-toolbar h2{margin:0}.list-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem}.list-pager>.muted{margin:0}.list-pager label{display:flex;align-items:center;gap:.45rem;margin:0;color:var(--muted);font-size:.82rem;font-weight:650}.list-pager select{width:auto;min-width:4.5rem;padding:.35rem .55rem}.list-pager-nav{display:flex;align-items:center;gap:.45rem}.list-pager-nav span{font-size:.84rem;font-weight:650;min-width:6.5rem;text-align:center}.list-pager-nav .ghost{width:auto;padding:.38rem .7rem;font-size:.84rem}.list-pager-nav .ghost:disabled{opacity:.4;cursor:default}.import-actions{display:flex;flex-wrap:wrap;gap:.6rem}.file-pick{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;padding:.55rem .7rem;border-radius:10px;background:var(--yellow);color:#111;font-weight:700;cursor:pointer}.file-pick input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.import-errors ul{margin:.4rem 0 0;padding-left:1.1rem;display:grid;gap:.35rem}.import-errors li{color:#ff8a80}.toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin-bottom:1rem}form{display:grid;gap:.7rem}label{display:grid;gap:.3rem;font-size:.92rem;color:var(--label)}label.file-pick{display:inline-flex;color:#111;gap:0}input,select,textarea,button{font:inherit;padding:.55rem .7rem;border-radius:10px;border:1px solid var(--border)}input,select,textarea{background:var(--inset);color:var(--text)}input:focus,select:focus,textarea:focus{outline:none;border-color:#ffcc0073}input.is-out-of-base,input[aria-invalid=true]{border-color:#ff8a80;background:#ff50501a;box-shadow:0 0 0 2px #ff8a8047}button{background:var(--yellow);color:#111;border:0;cursor:pointer;font-weight:700}button:disabled{opacity:.7}button.ghost,a.ghost{background:transparent;color:var(--accent);border:1px solid rgb(255 204 0 / .45)}a.ghost{display:inline-flex;align-items:center;justify-content:center;padding:.55rem .7rem;border-radius:10px;text-decoration:none;font-weight:700}.table-wrap{overflow:auto}.table-wrap a{color:var(--accent)}.passage-page .page-header{align-items:flex-end}.passage-page .page-header .muted{max-width:42rem}.passage-summary{display:grid;gap:.55rem;margin-bottom:1rem}.passage-summary p{margin:0}.passage-actions{display:flex;flex-wrap:wrap;gap:.5rem}.passage-check{width:2.2rem;text-align:center}.passage-dest{min-width:9.5rem}option{background:var(--card);color:var(--text)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.65rem .45rem;border-bottom:1px solid var(--border)}th{color:var(--muted);font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}tr:hover td{background:var(--row-hover)}tr.is-current-row td{background:var(--hover)}tfoot th{color:var(--text);font-size:.92rem;text-transform:none;letter-spacing:0}.error{color:#ff8a80}.success{color:#8ee0a8}.center{padding:3rem;text-align:center;color:var(--muted)}.avatar{width:96px;height:96px;object-fit:cover;border-radius:12px}.dossier-page{display:grid;gap:1.1rem}.dossier-page .page-header{margin-bottom:0}.journey{display:grid;gap:1rem}.journey-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.journey-head h2{margin:0 0 .3rem}.pay-card{display:grid;gap:1rem}.pay-state{display:inline-flex;align-items:center;padding:.32rem .7rem;border-radius:999px;font-size:.78rem;font-weight:750;border:1px solid var(--border);white-space:nowrap}.pay-state.is-solde{background:#8ee08e29;color:#8ee08e;border-color:#8ee08e59}.pay-state.is-partiel{background:#ffcc0029;color:var(--gold);border-color:#ffcc0047}.pay-state.is-impaye{background:#ff8a8024;color:#ff8a80;border-color:#ff8a8052}.pay-state.is-aucun{color:var(--muted)}.pay-years{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.pay-year{display:grid;gap:.7rem;padding:.85rem .95rem;border-radius:16px;background:var(--inset);border:1px solid var(--border);min-width:0}.pay-year.is-current{border-color:#fc06;background:var(--hover)}.pay-year-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;flex-wrap:wrap}.pay-year h3{margin:0;font-size:1.05rem}.pay-amounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.pay-amounts small{display:block;color:var(--muted);font-size:.75rem;letter-spacing:.03em;text-transform:uppercase}.pay-amounts strong{display:block;margin-top:.15rem}.pay-lines{margin-top:.2rem}.pay-lines th,.pay-lines td{padding:.4rem .35rem}.finance-page table .ghost,.pay-lines .ghost{width:auto;padding:.28rem .55rem;font-size:.78rem}.pay-history-head{margin:0 0 .85rem}.finance-page .dash-kpi .pay-state{margin-top:.35rem;justify-self:start}.journey-head .muted{margin:0}.journey-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.journey-summary div{padding:.75rem .85rem;border-radius:14px;background:var(--inset);border:1px solid var(--border)}.journey-summary small,.journey-annual small{display:block;color:var(--muted);font-size:.75rem;letter-spacing:.03em;text-transform:uppercase}.journey-summary strong,.journey-annual strong{display:block;margin-top:.25rem;font-size:1.02rem;font-weight:750}.journey-empty{margin:0;padding:1.4rem 1rem;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:16px}.journey-track{list-style:none;margin:0;padding:0;display:grid;gap:0}.journey-step{display:grid;grid-template-columns:1.15rem minmax(0,1fr);gap:.95rem;position:relative;padding-bottom:1.15rem}.journey-step:last-child{padding-bottom:0}.journey-step:before{content:"";position:absolute;left:.45rem;top:1.05rem;bottom:0;width:1px;background:var(--border)}.journey-step:last-child:before{display:none}.journey-dot{width:.95rem;height:.95rem;margin-top:.2rem;border-radius:999px;background:var(--inset);border:2px solid #ffcc00;z-index:1}.journey-step.is-current .journey-dot{background:var(--yellow);box-shadow:0 0 0 4px #ffcc002e}.journey-body{display:grid;gap:.75rem;min-width:0;padding:.85rem .95rem;border-radius:16px;background:var(--inset);border:1px solid var(--border)}.journey-step.is-current .journey-body{border-color:#fc06;background:var(--hover)}.journey-meta{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:start}.journey-year{display:flex;align-items:center;gap:.5rem;margin:0 0 .2rem;font-weight:700;color:var(--accent)}.journey-body h3{margin:0;font-size:1.05rem}.journey-body h3 .muted{font-weight:500}.journey-annual{text-align:right}.journey-terms{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.5rem}.journey-term{display:grid;gap:.15rem;padding:.65rem .7rem;border-radius:12px;background:var(--card);border:1px solid var(--border)}.journey-term small{color:var(--muted);font-size:.75rem}.journey-term strong{font-size:1.15rem}.journey-trend{font-style:normal;font-size:.78rem;font-weight:700;color:var(--muted)}.journey-trend.is-up{color:#8ee08e}.journey-trend.is-down{color:#ff8a80}.journey-trend.is-same{color:var(--text-soft)}.journey-bar{height:4px;margin-top:.35rem;border-radius:999px;background:#2a2a30;overflow:hidden}.journey-bar i{display:block;height:100%;background:var(--yellow)}.school-card,.bulletin{margin-bottom:1rem}.bulletin-sheets{display:grid;gap:1.2rem}.bulletin-a4{width:min(297mm,100%);aspect-ratio:297 / 210;display:grid;grid-template-columns:1fr 1fr;gap:5mm;padding:6mm;background:#fff;color:#111;box-shadow:0 10px 30px #00000038}.bulletin-pc{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto auto;gap:3mm;min-width:0;min-height:0;height:100%;overflow:hidden;padding:4.5mm 5mm;border:1px solid #1d1d1f;background:#fff;color:#111;font-size:8.2pt;line-height:1.25}.bulletin-pc.is-empty{border-style:dashed;border-color:#cfcfcf;background:#fafafa}.bulletin-pc-school{display:grid;gap:1.5mm}.bulletin-pc-school .school-brand strong{color:#111;white-space:normal;font-size:11pt;overflow:visible;text-overflow:unset}.bulletin-pc-school .school-brand span,.bulletin-pc-school .school-brand small{color:#444}.bulletin-pc-school p{margin:0;color:#333;font-size:7.5pt}.bulletin-pc-school h2{margin:1mm 0 0;font-size:10.5pt;letter-spacing:.04em;text-transform:uppercase;text-align:center}.bulletin-pc-meta{text-align:center;font-weight:700}.bulletin-pc-student{display:grid;grid-template-columns:1fr 1fr;gap:1.5mm 4mm;margin:0;padding:2.5mm 3mm;border:1px solid #d7d0c2;background:#fbfaf6}.bulletin-pc-student div{min-width:0}.bulletin-pc-student dt{margin:0;font-size:6.5pt;letter-spacing:.08em;text-transform:uppercase;color:#666;font-weight:700}.bulletin-pc-student dd{margin:.4mm 0 0;font-weight:750;text-transform:uppercase}.bulletin-pc-grades{min-height:0;overflow:hidden}.bulletin-pc-table{width:100%;height:100%;border-collapse:collapse;table-layout:fixed;font-size:8pt}.bulletin-pc-table th,.bulletin-pc-table td{border:1px solid #cfc8bb;padding:1.2mm 1.8mm;color:#111;background:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bulletin-pc-table th{background:#f4f1ea;font-size:7pt;letter-spacing:.06em}.bulletin-pc-table.is-pc th:nth-child(2),.bulletin-pc-table.is-pc td:nth-child(2){width:16%;text-align:center}.bulletin-pc-table.is-pc th:nth-child(3),.bulletin-pc-table.is-pc td:nth-child(3){width:28%;white-space:normal}.bulletin-pc-table.is-sc th:nth-child(1),.bulletin-pc-table.is-sc td:nth-child(1){width:28%}.bulletin-pc-table.is-sc th:nth-child(n+2),.bulletin-pc-table.is-sc td:nth-child(n+2){width:14%;text-align:center}.bulletin-pc tr:hover td{background:transparent}.bulletin-pc.is-dense{gap:2mm;padding:3.5mm 4mm}.bulletin-pc.is-dense .bulletin-pc-table{font-size:7pt}.bulletin-pc.is-dense .bulletin-pc-table th,.bulletin-pc.is-dense .bulletin-pc-table td{padding:.6mm 1.4mm}.bulletin-pc.is-dense .bulletin-pc-visas div{min-height:14mm}.bulletin-pc.is-packed{gap:1.6mm;padding:3mm 3.5mm}.bulletin-pc.is-packed .bulletin-pc-table{font-size:6.3pt}.bulletin-pc.is-packed .bulletin-pc-table th,.bulletin-pc.is-packed .bulletin-pc-table td{padding:.25mm 1.1mm}.bulletin-pc.is-packed .bulletin-pc-obs{min-height:8mm}.bulletin-pc.is-packed .bulletin-pc-visas div{min-height:11mm}.bulletin-pc-foot{display:grid;grid-template-columns:1.1fr .9fr;gap:3mm;align-items:start}.bulletin-pc-label{margin:0 0 1mm;font-size:6.5pt;letter-spacing:.08em;text-transform:uppercase;color:#666;font-weight:700}.bulletin-pc-obs{margin:0;min-height:11mm;padding:2mm 2.5mm;border:1px solid #cfc8bb;font-weight:800;text-transform:uppercase}.bulletin-pc-foot p{margin:0 0 1mm}.bulletin-pc-date{margin:0;text-align:right;font-size:7.5pt}.bulletin-pc-visas{display:grid;grid-template-columns:1fr 1fr 1fr;gap:3mm}.bulletin-pc-visas div{min-height:18mm;border-top:1px dotted #888;padding-top:2mm;text-align:center;font-size:7pt;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.bulletin-a4.is-annual{grid-template-columns:1fr;aspect-ratio:297 / 210}.bulletin-annual{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:2.4mm;min-width:0;min-height:0;height:100%;overflow:hidden;padding:4mm 5mm;border:1px solid #1d1d1f;background:#fff;color:#111;font-size:8pt;line-height:1.2}.bulletin-annual-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4mm;align-items:center}.bulletin-annual-head h2{margin:0;font-size:13pt;letter-spacing:.06em;text-transform:uppercase;text-align:right}.bulletin-annual-head p{margin:1mm 0 0;text-align:right;font-size:8pt;font-weight:700}.bulletin-annual .bulletin-pc-student{grid-template-columns:repeat(4,1fr)}.bulletin-annual-grid{display:grid;gap:3mm;min-height:0;overflow:hidden}.bulletin-annual-period{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto auto;gap:1.4mm;min-width:0;min-height:0;overflow:hidden;padding:2.2mm;border:1px solid #d7d0c2;background:#fbfaf6}.bulletin-annual-period h3{margin:0;text-align:center;font-size:8.5pt;letter-spacing:.05em;text-transform:uppercase}.bulletin-annual-period p{margin:0;font-size:7.4pt}.bulletin-annual-obs{margin:0;min-height:7mm;padding:1mm 1.5mm;border:1px solid #cfc8bb;background:#fff;font-size:7pt;font-weight:800;text-transform:uppercase}.bulletin-annual .bulletin-pc-table{font-size:7pt;height:auto}.bulletin-annual .bulletin-pc-table th,.bulletin-annual .bulletin-pc-table td{padding:.55mm 1.1mm}.bulletin-annual-summary{display:grid;grid-template-columns:1fr 1fr minmax(42mm,auto);gap:2mm 4mm;align-items:center;padding:2.5mm 3mm;border:1.5px solid #1d1d1f;background:#fbfaf6}.bulletin-annual-summary p{margin:0;font-size:9pt}.bulletin-annual-summary .bulletin-pc-date{grid-column:1 / 3;font-size:7.5pt}.bulletin-annual-decision{grid-column:3;grid-row:1 / 3;justify-self:stretch;align-self:stretch;display:grid;place-content:center;padding:2mm 3mm;border:2px solid currentColor;text-align:center;font-size:12pt;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.bulletin-annual-decision span{display:block;margin-top:1mm;font-size:6.5pt;font-weight:650;letter-spacing:0;text-transform:none}.bulletin-annual-decision.is-admis{color:#0b5c2a;background:#eef8f1}.bulletin-annual-decision.is-ajourne{color:#8b1a1a;background:#fff4f4}.bulletin-annual-decision.is-incomplet{color:#6a4a00;background:#fff8e8}.bulletin-annual.is-dense{gap:1.8mm;padding:3mm 3.5mm}.bulletin-annual.is-dense .bulletin-pc-table{font-size:6.3pt}.bulletin-annual.is-dense .bulletin-pc-visas div{min-height:12mm}.bulletin-annual.is-packed{gap:1.4mm;padding:2.5mm 3mm}.bulletin-annual.is-packed .bulletin-pc-table{font-size:5.6pt}.bulletin-annual.is-packed .bulletin-pc-table th,.bulletin-annual.is-packed .bulletin-pc-table td{padding:.2mm .7mm}.bulletin-annual.is-packed .bulletin-pc-visas div{min-height:10mm}.bulletin-annual.is-packed .bulletin-annual-obs{min-height:5mm}.bulletin-lycee-sheets{display:grid;gap:1.2rem}.bulletin-lycee-page{width:min(297mm,100%);aspect-ratio:297 / 210;display:grid;grid-template-columns:1fr 1fr;gap:5mm;padding:6mm;margin:0 auto;background:#fff;box-shadow:0 12px 36px #0000002e}.bulletin-lycee-page.is-cskb{gap:3.5mm;padding:4mm}.bulletin-lycee{width:100%;min-width:0;min-height:0;height:100%;overflow:hidden;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto auto;gap:2.2mm;padding:4mm 5mm 5mm;background:#fff;color:#143;border:1px solid #c9d6d5;font-size:8pt}.bulletin-lycee.is-empty{border-style:dashed;border-color:#cfcfcf;background:#fafafa;box-shadow:none}.bulletin-lycee-state{display:grid;grid-template-columns:1fr 1fr;gap:6mm;font-size:7.4pt}.bulletin-lycee-state strong{display:block;text-transform:uppercase;letter-spacing:.04em;font-size:9pt}.bulletin-lycee-state p{margin:1mm 0 0}.bulletin-lycee-state div:last-child{text-align:right}.bulletin-lycee-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:3mm;align-items:center;padding:2mm 3mm;background:#1b7c78;color:#fff}.bulletin-lycee-logo{width:13mm;height:13mm;object-fit:contain;background:#fff;border-radius:2px;padding:.6mm;box-sizing:border-box}.bulletin-lycee-logo.is-fallback{display:grid;place-items:center;font-size:6pt;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#1b7c78;text-align:center;line-height:1.1;overflow:hidden}.bulletin-lycee-banner strong{font-size:9.5pt}.bulletin-lycee-banner p{margin:.6mm 0 0;font-size:7.5pt;opacity:.92}.bulletin-lycee-banner h2{margin:0;font-size:8.5pt;text-align:right;text-transform:uppercase;letter-spacing:.03em;max-width:42mm}.bulletin-lycee-id{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2mm;margin:0;padding:1.8mm 2.4mm;border:1px solid #c9d6d5;background:#f3f7f7}.bulletin-lycee-id div{min-width:0}.bulletin-lycee-id dt{margin:0;font-size:7pt;letter-spacing:.08em;text-transform:uppercase;color:#5a6f6e;font-weight:700}.bulletin-lycee-id dd{margin:.3mm 0 0;font-weight:750;text-transform:uppercase}.bulletin-lycee-table{width:100%;border-collapse:collapse;table-layout:fixed}.bulletin-lycee-table th,.bulletin-lycee-table td{border:1px solid #b7c9c7;padding:.55mm 1.2mm;color:#143}.bulletin-lycee-table th{background:#1b7c78;color:#fff;font-size:6.4pt;letter-spacing:.03em;text-transform:uppercase;font-weight:700}.bulletin-lycee-table td:nth-child(n+2),.bulletin-lycee-table th:nth-child(n+2),.bulletin-lycee-table tfoot th{text-align:center}.bulletin-lycee-table tbody tr:nth-child(2n) td{background:#f3f7f7}.bulletin-lycee-table tfoot th{background:#e7f1f0;color:#143}.bulletin-lycee-foot{display:grid;grid-template-columns:1fr auto;gap:6mm;align-items:end}.bulletin-lycee-first{margin:0;padding:2mm 3mm;border:1px solid #1b7c78;display:grid;gap:1mm;width:max-content;min-width:36mm}.bulletin-lycee-first strong{font-size:11pt;color:#1b7c78}.bulletin-lycee-summary{display:grid;gap:1.4mm;min-width:50mm;text-align:right}.bulletin-lycee-summary p{margin:0}.bulletin-lycee-summary strong{display:inline-block;margin-left:3mm;min-width:28mm;padding:1mm 2.5mm;border:1.5px solid #1b7c78;text-align:center;color:#0b5c2a}.bulletin-lycee-mention{margin-top:1mm!important;padding:2.5mm 4mm;background:#1b7c78;color:#fff!important;text-align:center;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.bulletin-lycee-visas{display:grid;grid-template-columns:1fr 1fr;gap:12mm;margin-top:0}.bulletin-lycee-visas div{min-height:12mm;border-top:1px dotted #888;padding-top:1.5mm;text-align:center;font-size:7.5pt;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.bulletin-lycee.is-dense{gap:1.6mm;padding:3mm 4mm 4mm;font-size:7.4pt}.bulletin-lycee.is-dense .bulletin-lycee-table th,.bulletin-lycee.is-dense .bulletin-lycee-table td{padding:.35mm 1mm}.bulletin-lycee.is-packed{gap:1.2mm;padding:2.5mm 3.5mm 3.5mm;font-size:7pt}.bulletin-lycee.is-packed .bulletin-lycee-table th,.bulletin-lycee.is-packed .bulletin-lycee-table td{padding:.2mm .8mm}.bulletin-lycee.is-packed .bulletin-lycee-visas div{min-height:9mm}.bulletin-cskb{width:100%;min-width:0;min-height:0;height:100%;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:1.2mm;padding:2mm 2.5mm 2.5mm;background:#fff;color:#000;border:0;font-family:Times New Roman,"Liberation Serif",Times,serif;font-size:8pt}.bulletin-cskb.is-empty{border:1px dashed #cfcfcf;background:#fafafa}.bulletin-cskb-head{display:grid;grid-template-columns:minmax(0,1fr) 26mm;gap:2mm;align-items:start}.bulletin-cskb-official{text-align:left;line-height:1.22;font-size:8pt}.bulletin-cskb-official p{margin:0}.bulletin-cskb-official .is-school{margin:.4mm 0;font-weight:700}.bulletin-cskb-badge{display:grid;justify-items:center;gap:.6mm}.bulletin-cskb-badge small{text-align:center;font-size:5.5pt;line-height:1.1;max-width:26mm}.bulletin-cskb-logo{width:24mm;height:24mm;border-radius:50%;border:2px solid #1d4f9c;object-fit:cover;display:grid;place-items:center;background:#eef3fb;color:#1d4f9c;font-weight:800;font-size:8pt;text-align:center;line-height:1.05;padding:1.5mm}.bulletin-cskb-id{font-size:8.5pt;line-height:1.45}.bulletin-cskb-id p{margin:0}.bulletin-cskb-dots{display:inline-block;min-width:48mm;border-bottom:1px dotted #000;padding:0 1.5mm .4mm;font-weight:700}.bulletin-cskb-form{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto}.bulletin-cskb-table{width:100%;height:100%;border:3px double #000;border-collapse:collapse;table-layout:fixed}.bulletin-cskb-table col.is-matiere{width:24%}.bulletin-cskb-table col.is-coef{width:8%}.bulletin-cskb-table col.is-app{width:18%}.bulletin-cskb-table th,.bulletin-cskb-table td{border:1.4px solid #000;padding:.35mm 1mm;vertical-align:middle}.bulletin-cskb-table th{font-size:6.4pt;font-weight:700;text-align:center;line-height:1.1;background:#fff}.bulletin-cskb-table th small{display:block;font-size:5.6pt;font-weight:700}.bulletin-cskb-table td:first-child,.bulletin-cskb-table th:first-child{text-align:left;font-weight:700}.bulletin-cskb-table td:nth-child(n+2),.bulletin-cskb-table th:nth-child(n+2){text-align:center}.bulletin-cskb-table tbody td{height:5.2mm}.bulletin-cskb-table tr.is-conduite td:nth-child(2) em{font-style:italic;font-weight:700}.bulletin-cskb-summary{width:100%;border:3px double #000;border-top:0;border-collapse:collapse;table-layout:fixed;margin-top:-1.4px}.bulletin-cskb-summary col.is-matiere{width:24%}.bulletin-cskb-summary col.is-coef{width:8%}.bulletin-cskb-summary td{border:1.4px solid #000;height:6.2mm;padding:.4mm 1.4mm;font-size:8.5pt;font-weight:800;vertical-align:middle;background:#fff}.bulletin-cskb-summary td:first-child{text-align:left;letter-spacing:.02em}.bulletin-cskb-summary td:nth-child(2){text-align:center}.bulletin-cskb-obs{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:stretch;border:3px double #000;border-top:0;min-height:10mm}.bulletin-cskb-obs strong{padding:1.2mm 2mm;font-size:8.5pt;font-weight:800;white-space:nowrap}.bulletin-cskb-obs div{min-height:10mm;padding:1.2mm 2mm;border-left:1.4px solid #000}.bulletin-cskb-first{display:flex;align-items:center;gap:2mm;margin:.4mm 0 0;font-size:8pt}.bulletin-cskb-first span{border:1.4px solid #000;min-width:16mm;min-height:6mm;display:inline-grid;place-items:center;font-weight:700;padding:0 2mm}.bulletin-cskb-visas{display:grid;grid-template-columns:1fr 1fr;text-align:center;font-weight:800;letter-spacing:.04em;padding-top:3mm;font-size:9pt}.bulletin-template-pick{display:grid;gap:.85rem;margin:.6rem 0 1rem}.bulletin-template-pick small{display:block;margin-top:.35rem}.school-report-page{display:grid;gap:1rem}.school-report{width:min(210mm,100%);margin:0 auto;display:grid;gap:.85rem;padding:0 14mm 12mm;background:#fff;color:#111;border:1px solid #d7d0c2;box-shadow:0 12px 36px #00000038}.school-report .receipt-flag{margin:0 -14mm}.school-report-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start;padding-top:.7rem;border-bottom:2px solid #0b5c2a;padding-bottom:.7rem}.school-report-head .kicker{color:#0b5c2a}.school-report-head .muted{margin:.15rem 0 0}.school-report-title{text-align:center}.school-report-title h2{margin:0;text-transform:uppercase;letter-spacing:.06em;font-size:1.15rem}.school-report-title p{margin:.35rem 0 0;color:#444}.school-report-identity{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1.2rem;margin:0;padding:.7rem .85rem;border:1px solid #d7d0c2;background:#fbfaf6}.school-report-identity dt{margin:0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#666;font-weight:700}.school-report-identity dd{margin:.2rem 0 0;font-weight:650}.school-report-section{display:grid;gap:.55rem}.school-report-section h3{margin:0;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em;color:#0b5c2a;border-bottom:1px solid #d7d0c2;padding-bottom:.25rem}.school-report-kpis,.school-report-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}.school-report-kpis p,.school-report-grid p{margin:0;padding:.65rem .75rem;border:1px solid #d7d0c2;background:#fbfaf6;display:grid;gap:.2rem}.school-report-kpis span,.school-report-grid span{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#666;font-weight:700}.school-report-kpis strong,.school-report-grid strong{font-size:1.05rem}.school-report-kpis small{color:#555}.school-report table{width:100%;border-collapse:collapse}.school-report th,.school-report td{border:1px solid #cfc8bb;padding:.4rem .55rem;text-align:left}.school-report th{background:#f4f1ea;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.school-report td:nth-child(n+2){text-align:center}.school-report-finance-line{margin:0;font-size:.88rem;color:#333}.school-report-visas{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-top:1.2rem}.school-report-visas div{min-height:28mm;border-top:1px dotted #888;padding-top:.4rem;text-align:center;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.id-card-page .toolbar form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}.id-card-sheet{display:grid;gap:1.4rem;justify-items:center}.id-a4-wrap{width:min(210mm,100%)}.id-a4-label{margin:0 0 .45rem;color:var(--muted);font-size:.82rem}.id-a4{width:min(210mm,100%);aspect-ratio:210 / 297;background:#fff;box-shadow:0 10px 30px #00000038}.id-a4.is-badges{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,1fr);place-items:center;padding:6mm 8mm;gap:5mm 8mm}.id-a4.is-cr80{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(5,1fr);place-items:center;padding:4% 5%;gap:1.6% 3%}.id-a4.is-cr80 .id-card.is-cr80{width:100%;height:100%;max-width:86mm;max-height:54mm}.id-card{min-width:0;min-height:0;display:grid;background:#fff;color:#111;overflow:hidden}.id-card.is-blank{background:transparent;border:0;box-shadow:none}.id-card.is-cr80{width:86mm;height:54mm;grid-template-rows:auto auto 1fr;border:.2mm solid #b9b3a3}.id-card-flag{display:grid;grid-template-columns:1fr 1fr 1fr;height:1.8mm;flex:0 0 auto}.id-card-flag .is-green{background:#14b53a}.id-card-flag .is-yellow{background:#fcd116}.id-card-flag .is-red{background:#ce1126}.id-card-head{display:grid;grid-template-columns:minmax(0,1fr) 14mm;gap:2mm;align-items:center;padding:1.6mm 2.4mm 1.2mm}.id-card-state{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1.6mm;min-width:0}.mali-emblem{width:8mm;height:8mm;display:block}.id-card-state p{margin:0;font-family:Onest,Inter,sans-serif;font-size:1.8mm;font-weight:800;letter-spacing:.04em;color:#0b5c2a}.id-card-state strong{display:-webkit-box;margin:.2mm 0 0;font-size:2.4mm;font-weight:800;line-height:1.15;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.id-card-state small{display:-webkit-box;color:#444;font-size:1.8mm;font-weight:650;line-height:1.25;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.id-card-logo,.id-card-logo-fallback{width:14mm;height:14mm;object-fit:contain;border-radius:2mm;background:#fff;border:.2mm solid #e4dfd0;padding:.6mm;box-sizing:border-box}.id-card-logo-fallback{display:grid;place-items:center;font-size:2mm;font-weight:800;color:#0b5c2a;text-align:center;text-transform:uppercase}.id-card-body{display:grid;grid-template-columns:minmax(0,1fr) 22mm;gap:2.4mm;padding:0 2.4mm 2mm;align-items:center;min-height:0}.id-card-kicker{margin:0 0 .8mm;font-size:1.8mm;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#0b5c2a}.id-card-id{margin:.6mm 0 1.2mm;font-size:2.2mm;font-weight:700;color:#333}.id-card-name{margin:0;color:#b45309;font-family:Onest,Inter,sans-serif;font-size:3.6mm;font-weight:800;line-height:1.12;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.id-card-info dl{margin:0;display:grid;gap:.6mm}.id-card-info dl div{display:grid;grid-template-columns:13mm minmax(0,1fr);gap:1.2mm;font-size:2.3mm}.id-card-info dt{color:#555;font-weight:650}.id-card-info dd{margin:0;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.id-card-photo{width:22mm;height:28mm;border:.2mm solid #d0cbb8;background:#f3efe4;overflow:hidden;display:grid;place-items:center;color:#0b5c2a;font-weight:800;font-size:4mm}.id-card-photo img{width:100%;height:100%;object-fit:cover;display:block}.id-card.is-badge{display:flex;flex-direction:column;width:100%;max-width:80mm;height:100%;max-height:90mm;aspect-ratio:80 / 90;border-radius:3mm;border:.25mm solid #c9a227;background:#fffdf6;padding:0 0 1.4mm;overflow:hidden}.id-card.is-badge.is-blank{border-style:dotted;border-color:#ddd;background:transparent}.badge-head{display:grid;grid-template-columns:auto minmax(0,1fr) 16mm;gap:2mm;align-items:center;padding:2mm 2.4mm 1.4mm}.badge-head .mali-emblem{width:8mm;height:8mm}.badge-logo{width:16mm;height:16mm;object-fit:contain;border-radius:2.2mm;background:#fff;border:.25mm solid #e4dfd0;padding:.8mm;box-sizing:border-box}.badge-logo.is-fallback{display:grid;place-items:center;font-size:2.2mm;font-weight:800;color:#0b5c2a;text-align:center;text-transform:uppercase}.badge-school{min-width:0}.badge-head strong{display:-webkit-box;font-size:3mm;line-height:1.12;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.badge-head small{display:block;color:#555;font-size:2.1mm;font-weight:700}.badge-sigle{display:block;font-size:2mm;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#0b5c2a}.badge-school-info,.badge-slogan,.badge-foot{margin:0;padding:0 2.4mm;font-size:2.1mm;line-height:1.3;color:#333;font-weight:650}.badge-school-info{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.badge-slogan{padding-top:.4mm;font-style:italic;color:#7a4e00;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-foot{margin-top:0;padding-top:1.2mm;border-top:.2mm solid #efe6c4;color:#555;font-size:1.9mm}.badge-child{display:grid;grid-template-columns:24mm minmax(0,1fr);gap:2.4mm;padding:1.6mm 2.4mm;align-items:center;flex:1 1 auto;min-height:0}.badge-photo{width:24mm;height:28mm;border-radius:2mm;overflow:hidden;border:.45mm solid #fcd116;box-shadow:0 0 0 .35mm #14b53a;background:#f3efe4;display:grid;place-items:center;color:#0b5c2a;font-weight:800;font-size:6mm}.badge-photo img{width:100%;height:100%;object-fit:cover;display:block}.badge-who{min-width:0;display:grid;gap:.7mm}.badge-first{margin:0;font-family:Onest,Inter,sans-serif;font-size:5mm;font-weight:800;line-height:1.05;color:#0b5c2a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-last{margin:0;font-size:2.8mm;font-weight:700;color:#333;text-transform:uppercase;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-group{margin:.4mm 0 0;justify-self:start;padding:.6mm 2mm;border-radius:999px;background:#fff3bf;color:#7a4e00;font-size:2.3mm;font-weight:800;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-meta,.badge-id{margin:0;font-size:2.1mm;font-weight:650;color:#444;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-parents{margin:0 2.2mm;padding:1.6mm 2mm;border-radius:2mm;background:#fff;border:.2mm solid #efe6c4;border-left:1.2mm solid #fcd116}.badge-parents-title{margin:0 0 1.2mm;font-size:2mm;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7a4e00}.badge-parents dl{margin:0;display:grid;gap:.7mm}.badge-parents dl div{display:grid;grid-template-columns:14mm minmax(0,1fr);gap:1.2mm;font-size:2.4mm}.badge-parents dt{color:#777;font-weight:700}.badge-parents dd{margin:0;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content .btn-primary,.content .yc-btn-yellow{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1rem;border-radius:12px;font-weight:700;background:var(--yellow);color:#111}.landing{min-height:100vh;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,system-ui,sans-serif;overflow-x:hidden}.landing h1,.landing h2,.landing h3,.yc-logo{font-family:Onest,Inter,sans-serif}.yc-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:2rem;padding:.85rem 5vw;background:var(--nav-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--nav-border)}.yc-nav nav{display:flex;gap:1.4rem;margin-left:.5rem;flex:1}.yc-nav nav a,.yc-nav-actions a:not(.yc-btn){color:var(--text-soft);font-size:.95rem;font-weight:500}.yc-nav nav a:hover,.yc-nav-actions a:not(.yc-btn):hover{color:var(--text-strong)}.yc-nav-actions{display:flex;align-items:center;gap:1.1rem;margin-left:auto}.yc-logo{display:inline-flex;align-items:center;gap:.55rem;font-weight:700;font-size:1.05rem;color:var(--text-strong);letter-spacing:-.02em}.yc-mark{width:22px;height:22px;border-radius:6px;background-color:var(--yellow);background-image:url(/kalanso-cap.svg);background-repeat:no-repeat;background-position:center 58%;background-size:72%;box-shadow:6px 6px 0 0 var(--mark-shadow)}.yc-btn{display:inline-flex;align-items:center;justify-content:center;padding:.72rem 1.15rem;border-radius:12px;font-weight:700;font-size:.95rem;border:1px solid transparent;white-space:nowrap}.yc-btn-yellow{background:var(--yellow);color:#111}.yc-btn-yellow:hover{background:#ffd84a}.yc-btn-ghost{background:transparent;color:var(--text-strong);border-color:#ffffff38}.yc-btn-ghost:hover{border-color:var(--text-strong)}.yc-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:2rem;align-items:center;padding:4.5rem 5vw 3.5rem;position:relative}.yc-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 78% 42%,rgb(255 204 0 / .12),transparent 32%),radial-gradient(circle at 12% 80%,rgb(255 255 255 / .04),transparent 28%);pointer-events:none}.yc-hero-copy{position:relative;max-width:720px}.yc-hero h1{font-size:clamp(2.4rem,5.2vw,4.4rem);line-height:1.05;letter-spacing:-.04em;margin:0 0 1.1rem;font-weight:800}.yc-hero-copy>p{font-size:1.15rem;line-height:1.55;color:var(--muted);max-width:38rem;margin:0}.yc-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.8rem}.yc-art{width:min(100%,520px);justify-self:end;position:relative}.yc-error{padding:0 5vw 1rem;color:#ff8a80}.yc-band{padding:4.2rem 5vw}.yc-band-head{max-width:720px;margin-bottom:2.2rem}.yc-band-head h2,.yc-cta h2,.yc-trust-num{font-size:clamp(1.8rem,3vw,2.6rem);letter-spacing:-.03em;margin:0 0 .7rem}.yc-band-head p,.yc-cta p,.yc-trust-text{color:var(--muted);font-size:1.05rem;margin:0;line-height:1.55}.yc-feature-grid,.yc-offer-grid,.yc-cycle-grid{display:grid;gap:1rem}.yc-feature-grid{grid-template-columns:repeat(3,1fr)}.yc-feature,.yc-offer,.yc-cycle{background:var(--card);border:1px solid var(--card-border);border-radius:20px;padding:1.4rem 1.35rem}.yc-feature-dot{display:block;width:12px;height:12px;border-radius:4px;background:var(--yellow);margin-bottom:1rem}.yc-feature h3,.yc-cycle h3,.yc-offer-label{margin:0 0 .45rem;font-size:1.08rem}.yc-feature p,.yc-cycle p,.yc-offer-desc{color:var(--muted);margin:0;line-height:1.5}.yc-trust{margin:0 5vw;padding:3.2rem 2.2rem;text-align:center;border-radius:28px;background:var(--trust-bg);border:1px solid var(--card-border)}.yc-trust-kicker{color:var(--accent);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;margin:0 0 .4rem}.yc-trust-num{font-size:clamp(2.8rem,6vw,4.6rem);margin:0}.yc-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.yc-stat-grid-product{margin-top:1rem}.yc-stat{background:var(--card);border:1px solid var(--card-border);border-radius:20px;padding:1.35rem 1.2rem;text-align:center}.yc-stat.is-product{background:var(--trust-bg)}.yc-stat-value{font-size:clamp(1.8rem,3.2vw,2.6rem);font-weight:800;letter-spacing:-.04em;margin:0 0 .35rem}.yc-stat-label{margin:0;color:var(--muted);font-size:.95rem;line-height:1.4}.yc-offer-grid{grid-template-columns:1fr 1fr}.yc-offer{display:grid;gap:.75rem;align-content:start}.yc-offer.is-premium{background:var(--hover);border-color:#ffcc0073}.yc-offer-label{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}.yc-offer-price{font-size:2.4rem;font-weight:800;margin:0;letter-spacing:-.03em}.yc-offer-price span{font-size:1rem;font-weight:500;color:var(--muted)}.yc-offer ul{margin:.2rem 0 .4rem;padding-left:1.1rem;color:var(--text-soft);display:grid;gap:.35rem}.yc-offer .yc-btn{justify-self:start}.yc-cycle-grid{grid-template-columns:repeat(4,1fr)}.yc-cycle-0{background:var(--yellow);color:#111}.yc-cycle-0 p,.yc-cycle-0 .yc-cycle-classes{color:#3a3208}.yc-cycle-1{background:#f4f1ea;color:#111}.yc-cycle-1 p,.yc-cycle-1 .yc-cycle-classes{color:#4a4740}.yc-cycle-2{background:var(--cycle-2)}.yc-cycle-3{background:var(--cycle-3)}.yc-cycle-classes{margin-top:.9rem!important;font-size:.86rem}.yc-cta{margin:1rem 5vw 3rem;padding:3.4rem 2rem;text-align:center;border-radius:28px;background:var(--card);border:1px solid var(--card-border)}.yc-cta .yc-hero-actions{justify-content:center}.yc-footer a{color:var(--muted)}.yc-footer a:hover{color:var(--text-strong)}.legal-more{text-align:center;margin-top:1.2rem}.legal-more a{color:var(--accent);font-weight:650}.legal-hero{padding-bottom:1.5rem}.legal-list{list-style:none;margin:0;padding:0;display:grid;gap:.9rem;max-width:48rem}.legal-item{display:flex;gap:1rem;align-items:flex-start}.legal-num{flex:0 0 2rem;height:2rem;display:grid;place-items:center;border-radius:999px;background:var(--yellow);color:#111;font-weight:800;font-size:.85rem}.legal-item h3{margin:0 0 .35rem}.legal-item p{margin:0}.auth-legal{margin-top:.7rem;font-size:.88rem}.auth-legal a{color:var(--accent)}.data-commit-list{list-style:none;margin:.7rem 0 0;padding:0;display:grid;gap:.75rem}.data-commit-list li{display:grid;gap:.2rem}.data-commit-list strong{font-size:.88rem}.data-commit-list span{color:var(--muted);font-size:.84rem;line-height:1.4}.onboarding-card{width:auto}.split-fields,.cycle-pick{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.7rem}.cycle-option{text-align:left;background:var(--inset);color:var(--text);border:1px solid var(--border);display:grid;gap:.25rem}.cycle-option span{color:var(--muted);font-weight:500}.cycle-option.active{background:var(--yellow);color:#111;border-color:var(--accent)}.cycle-option.active span{color:#3a3208}.role-pick{display:grid;gap:.45rem}.role-pick.compact{gap:.35rem}.role-option{display:flex;align-items:flex-start;gap:.55rem;padding:.55rem .65rem;border-radius:12px;border:1px solid var(--border);background:var(--inset);color:var(--text);min-width:0}.role-option span{min-width:0}.role-option small{display:block;color:var(--muted);font-weight:500;overflow-wrap:anywhere}.role-option.active{border-color:var(--accent);background:var(--hover)}.role-option input{width:auto;margin-top:.2rem}.subject-pick{display:grid;gap:.85rem;max-height:18rem;overflow:auto;padding-right:.15rem}.subject-group{display:grid;gap:.35rem}.subject-group h3{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.subject-option{padding:.42rem .55rem}.subject-option span{font-size:.9rem}.stack{display:grid;gap:1rem}.cycle-list{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}.cycle-list li{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.auth-shell{min-height:100vh;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,system-ui,sans-serif}.auth-shell h1,.auth-shell h2{font-family:Onest,Inter,sans-serif;letter-spacing:-.03em}.auth-layout{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(320px,1fr);gap:3rem;align-items:start;padding:3.2rem 5vw 4rem;max-width:1180px;margin:0 auto}.auth-layout-login{max-width:980px}.auth-aside h1{font-size:clamp(2rem,4vw,3.1rem);line-height:1.08;margin:.4rem 0 1rem}.auth-aside>p{color:var(--muted);line-height:1.55;max-width:28rem;margin:0 0 1.6rem}.auth-plan-switch{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1rem}.auth-plan-switch button{background:var(--card);color:var(--text-soft);border:1px solid var(--border);border-radius:14px;text-align:left;display:grid;gap:.15rem;padding:.85rem 1rem}.auth-plan-switch button span{color:var(--muted);font-weight:500;font-size:.85rem}.auth-plan-switch button.is-active{background:var(--yellow);color:#111;border-color:var(--accent)}.auth-plan-switch button.is-active span{color:#3a3208}.auth-plan-card{background:var(--card);border:1px solid var(--card-border);border-radius:20px;padding:1.2rem 1.3rem}.auth-plan-card.is-premium{background:var(--hover);border-color:#ffcc0073}.auth-plan-name{margin:0;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:700}.auth-plan-price{font-family:Onest,Inter,sans-serif;font-size:1.8rem;font-weight:800;margin:.25rem 0 .35rem}.auth-plan-card p:last-child{color:var(--muted);margin:0}.auth-card{background:var(--card);border:1px solid var(--card-border);border-radius:24px;padding:1.6rem 1.5rem 1.4rem;display:grid;gap:.75rem}.auth-card h2{margin:0;font-size:1.45rem}.auth-card-lead{color:var(--muted);margin:0 0 .3rem}.auth-card label{color:var(--label)}.auth-card input{background:var(--inset);color:var(--text);border:1px solid var(--border)}.auth-card input:focus{outline:none;border-color:var(--accent)}.password-field{position:relative;display:grid}.password-field input{padding-right:5.6rem;width:100%;box-sizing:border-box}.password-toggle{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);background:transparent;color:var(--accent);border:0;box-shadow:none;padding:.25rem .5rem;font-size:.78rem;font-weight:700;line-height:1;border-radius:8px}.password-toggle:hover,.password-toggle:focus{background:#ffcc001f;color:var(--accent)}.auth-row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.auth-card .yc-btn{margin-top:.4rem;width:100%;padding:.85rem 1.15rem}.auth-card .yc-btn:disabled{opacity:.7;cursor:default}.auth-card{position:relative}.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.link-btn{background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:.18em}.totp-qr{display:grid;place-items:center;padding:.75rem;background:#fff;border-radius:12px;width:fit-content}.totp-qr img{display:block;width:220px;height:220px;image-rendering:pixelated}.totp-open{color:var(--yellow, #ffcc00);font-weight:700}.profile-page{display:grid;gap:1.1rem}.profile-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;align-items:start}.security-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.security-chip{background:var(--card, #16161a);border:1px solid var(--border);border-radius:14px;padding:.85rem 1rem;display:grid;gap:.2rem}.security-chip span{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.security-chip strong{font-size:1.05rem}.security-chip.is-ok{border-color:#2f6f4e}.security-chip.is-warn{border-color:#8a6d12}.profile-meta{display:grid;gap:.55rem;margin:.4rem 0 .2rem}.profile-meta div{display:grid;gap:.1rem}.profile-meta dt{color:var(--muted);font-size:.78rem}.profile-meta dd{margin:0;font-weight:650}.password-checks{list-style:none;margin:0;padding:0;display:grid;gap:.25rem;color:var(--muted);font-size:.86rem}.password-checks .is-ok{color:#7dcea0}.profile-actions{display:flex;flex-wrap:wrap;gap:.6rem}.twofa-steps{margin:0;padding-left:1.2rem;display:grid;gap:.35rem;color:var(--muted)}.twofa-setup,.twofa-manage{display:grid;gap:.8rem}.recovery-box{border:1px dashed var(--border);border-radius:14px;padding:.9rem;display:grid;gap:.7rem;background:var(--inset)}.recovery-codes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.recovery-codes code{display:block;padding:.45rem .6rem;border-radius:8px;background:var(--inset);letter-spacing:.08em}.auth-links{display:flex;justify-content:space-between;gap:.8rem;flex-wrap:wrap;margin:.2rem 0 0;font-size:.92rem;color:var(--muted)}.auth-links a:hover,.auth-links .link-btn:hover{color:var(--accent)}.auth-shell .error{color:#ff8a80;margin:0}html[data-theme=light] .enroll-alert{background:#fdecea}html[data-theme=light] .enroll-alert.is-info{background:#eef3fb}html[data-theme=light] .enroll-alert.is-warn{background:#fff6df}html[data-theme=light] .school-slogan{color:var(--gold)}html[data-theme=light] .card,html[data-theme=light] .auth-card,html[data-theme=light] .member-card,html[data-theme=light] .yc-feature,html[data-theme=light] .yc-offer,html[data-theme=light] .yc-cycle,html[data-theme=light] .yc-cta,html[data-theme=light] .yc-trust,html[data-theme=light] .yc-stat{box-shadow:0 1px 2px #1414180a,0 10px 28px #1414180d}@media print{@page{size:A4 portrait;margin:0}@page bulletin-landscape{size:A4 landscape;margin:6mm}@page bulletin-lycee{size:A4 landscape;margin:6mm}@page school-report{size:A4 portrait;margin:0}@page timetable{size:A4 landscape;margin:8mm}@page roll-call{size:A4 portrait;margin:10mm}html,body{width:100%!important;height:auto!important;margin:0!important;padding:0!important;background:#fff!important;color:#111!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}:root,.app-shell,.content,.card,.receipt,.enroll-page,.receipt-wrap,.school-report{background:#fff!important;color:#111!important}.sidebar,.toolbar,button,.page-header a,.yc-btn,.no-print,.school-page .page-header,.school-page .school-hero,.school-page .school-layout,.school-page .error,.school-page .success{display:none!important}.profile-page .page-header,.profile-page .security-status,.profile-page .profile-layout,.profile-page .card:not(.profile-2fa){display:none!important}.profile-2fa>*:not(.recovery-box){display:none!important}.app-shell{display:block!important;grid-template-columns:none!important;width:100%!important;min-height:0!important;margin:0!important;padding:0!important}.finance-page:has(.receipt-modal)>*:not(.receipt-modal),.dossier-page:has(.receipt-modal)>*:not(.receipt-modal),.enroll-page:has(.receipt-modal)>*:not(.receipt-modal){display:none!important}.receipt-modal{position:static!important;inset:auto!important;display:block!important;overflow:visible!important;padding:0!important;background:none!important}.receipt-modal-panel{display:block!important;width:100%!important}.content,.id-card-page,.id-card-sheet,.id-a4-wrap,.enroll-page,.receipt-wrap,.bulletin-page,.bulletin-sheets,.bulletin-lycee-sheets,.school-report-page,.teacher-contract-page,.timetable-print{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:#fff!important}.print-area,.school-card,.bulletin,.id-card,.bulletin-pc,.bulletin-annual,.bulletin-lycee,.bulletin-cskb,.bulletin-lycee-page,.school-report-section,.contract-articles article{break-inside:avoid}.school-report{width:100%;box-shadow:none;border:0;page:school-report}.timetable-print{display:block!important}body.printing-roll-call .staff-page>*:not(.roll-call-print){display:none!important}body.printing-roll-call .roll-call-print{display:block!important}.roll-call-print-sheet{page:roll-call;width:100%;min-height:auto;box-shadow:none;border:0;padding:0;page-break-after:auto;break-after:auto}.roll-call-print-table th,.roll-call-print-table tr.is-present td:nth-child(5),.roll-call-print-table tr.is-absent td:nth-child(5),.roll-call-print-table tr.is-autre td:nth-child(5){-webkit-print-color-adjust:exact;print-color-adjust:exact}.timetable-sheet{page:timetable;width:100%;min-height:180mm;box-shadow:none;border:0;padding:0;page-break-after:always;break-after:page}.timetable-sheet:last-child{page-break-after:auto;break-after:auto}.roll-call-print .roll-call-print-sheet{page:roll-call;min-height:auto;page-break-after:auto;break-after:auto}.timetable-sheet .receipt-flag{margin:0}.timetable-grid thead th,.timetable-cell{-webkit-print-color-adjust:exact;print-color-adjust:exact}.timetable-head{grid-template-columns:1.1fr 1fr}.timetable-meta{grid-template-columns:repeat(4,minmax(0,1fr))}.bulletin-a4{page:bulletin-landscape;width:100%;height:198mm;aspect-ratio:auto;box-shadow:none;padding:0;gap:6mm;page-break-after:always;break-after:page}.bulletin-a4.is-annual{grid-template-columns:1fr;gap:0}.bulletin-a4:last-child{page-break-after:auto;break-after:auto}.bulletin-lycee-page{page:bulletin-lycee;width:100%;height:198mm;aspect-ratio:auto;box-shadow:none;padding:0;gap:6mm;page-break-after:always;break-after:page}.bulletin-lycee-page:last-child{page-break-after:auto;break-after:auto}.bulletin-lycee,.bulletin-cskb{width:100%;box-shadow:none;page-break-after:auto;break-after:auto}.id-a4{width:210mm;height:297mm;aspect-ratio:auto;box-shadow:none;page-break-after:always}.id-a4:last-child{page-break-after:auto}.id-a4.is-cr80{grid-template-columns:repeat(2,86mm);grid-template-rows:repeat(5,54mm);justify-content:center;align-content:center;gap:3.5mm 6mm;padding:8mm 10mm}.id-a4.is-badges{grid-template-columns:repeat(2,80mm);grid-template-rows:repeat(3,90mm);justify-content:center;align-content:center;gap:4mm 8mm;padding:8mm 12mm}.id-card.is-cr80{width:86mm!important;height:54mm!important;max-width:none;max-height:none;border-radius:0;box-shadow:none}.id-card.is-badge{width:80mm!important;height:90mm!important;max-width:none;max-height:none;aspect-ratio:auto;box-shadow:none}.receipt{display:flex!important;flex-direction:column;width:100%!important;max-width:none!important;min-height:297mm!important;height:auto!important;margin:0!important;padding:10mm 12mm 12mm!important;border:0!important;box-shadow:none!important;box-sizing:border-box!important;gap:.7rem}.pay-receipt-wrap{width:210mm!important;height:297mm!important;max-height:297mm!important;margin:0!important;overflow:hidden!important;page-break-inside:avoid;break-inside:avoid;page-break-after:auto;break-after:auto}.pay-receipt-sheet.print-area{width:210mm!important;height:297mm!important;min-height:297mm!important;max-height:297mm!important;margin:0!important;border:0!important;box-shadow:none!important;box-sizing:border-box!important;overflow:hidden!important;page-break-inside:avoid!important;break-inside:avoid!important;page-break-after:auto!important;break-after:auto!important}.pay-receipt-copy{padding:4mm 10mm 3mm!important}.pay-receipt-copy .receipt-flag{margin:-4mm -10mm 0;width:calc(100% + 20mm)}.pay-receipt-copy .receipt-who,.pay-receipt-copy .receipt-totals div{background:#fbfaf6!important;border-color:#ccc!important}.pay-receipt-copy .receipt-totals .is-due{background:#fff6f6!important}.pay-receipt-copy .receipt-totals .is-ok{background:#f3fbf5!important}.receipt-flag{margin:-10mm -12mm 0;width:calc(100% + 24mm);height:7px}.receipt-head,.receipt-title,.receipt-identity,.receipt-certify,.receipt-block,.receipt-sign,.receipt-foot{width:100%}.receipt-sign{margin-top:auto;padding-top:8mm}.pay-receipt-copy .receipt-sign{margin-top:.15rem!important;padding-top:.15rem!important}.pay-receipt-copy .receipt-totals{grid-template-columns:repeat(4,minmax(0,1fr))!important}.pay-receipt-copy .salary-slip-totals{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pay-receipt-copy .salary-slip-net{grid-column:1 / -1!important}.pay-receipt-identity.receipt-identity{grid-template-columns:3.6rem minmax(0,1fr)!important}.receipt-who,.receipt-totals div{background:#fbfaf6!important;border-color:#ccc!important}.receipt-block h4{color:#0b5c2a!important}.receipt-notes,.receipt-foot,.receipt-sign em{color:#333!important}.receipt-totals .is-due{background:#fff6f6!important}.receipt-totals .is-ok{background:#f3fbf5!important}}@media screen and (max-width:1100px){.yc-feature-grid,.yc-cycle-grid,.yc-stat-grid,.dash-kpis,.presence-kpis,.journey-summary{grid-template-columns:1fr 1fr}}@media screen and (max-width:960px){.app-shell,.split,.school-layout,.school-hero,.members-layout,.students-layout,.enroll-layout,.ref-layout,.ref-row,.finance-layout,.presence-filters{grid-template-columns:1fr}.students-aside,.enroll-form{position:static}.students-aside .split-fields{grid-template-columns:1fr}.student-row{grid-template-columns:auto minmax(0,1fr)}.student-actions{grid-column:2}.jardin-pass,.receipt-identity,.receipt-totals,.receipt-sign,.receipt-head{grid-template-columns:1fr}.pay-receipt-copy .receipt-head{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.pay-receipt-identity.receipt-identity{grid-template-columns:3.6rem minmax(0,1fr)}.pay-receipt-copy .receipt-totals{grid-template-columns:repeat(4,minmax(0,1fr))}.pay-receipt-copy .receipt-sign{grid-template-columns:1fr 1fr}.pay-readonly-grid{grid-template-columns:1fr}.school-report-head,.school-report-identity,.school-report-kpis,.school-report-grid,.school-report-visas{grid-template-columns:1fr 1fr}.receipt-school{justify-items:start;text-align:left}.ref-serie-form,.ref-subject-form{grid-template-columns:1fr}.school-hero-meta{justify-items:start;grid-auto-flow:column;justify-content:start}.sidebar{flex-direction:row;flex-wrap:wrap}.sidebar-user{margin:0;width:100%}.hero-actions,.cycle-pick,.split-fields,.auth-layout,.auth-row,.profile-layout,.security-status,.recovery-codes{grid-template-columns:1fr}.yc-nav{flex-wrap:wrap;gap:.8rem}.yc-nav nav{order:3;width:100%}.yc-hero,.yc-feature-grid,.yc-offer-grid,.yc-cycle-grid,.yc-stat-grid,.dash-kpis,.dash-panels,.journey-summary,.pay-amounts{grid-template-columns:1fr}}
