:root{font-family:Inter,Segoe UI,system-ui,sans-serif;color:#19382d;background:#f3f6f2;line-height:1.48;--forest:#073f30;--green:#087a59;--mint:#17aa79;--lime:#c6ed78;--muted:#64766c;--line:#dce8df;--shadow:0 12px 34px #073f300e}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:var(--green);text-decoration:none}a:hover{color:var(--forest)}button,.button{font:inherit;font-weight:650;border:0;border-radius:12px;min-height:44px;padding:.67rem 1.05rem;color:#fff;background:var(--forest);cursor:pointer;display:inline-flex;justify-content:center;align-items:center;gap:.5rem;transition:transform .18s,background .18s,box-shadow .18s}button:hover,.button:hover{background:var(--green);color:#fff;transform:translateY(-1px);box-shadow:0 7px 20px #0e6a4b22}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #65caa5;outline-offset:2px}.button-secondary{background:#e7f4eb;color:var(--forest)}.button-secondary:hover{color:var(--forest);background:#d3edda}.button-light{background:#d3f6ca;color:var(--forest)}.button-light:hover{background:#ecffd8;color:var(--forest)}.button-outline{background:transparent;border:1px solid #83ab96;color:#fff}.button-outline:hover{background:#ffffff1a}.icon{width:1.15rem;height:1.15rem;stroke:currentColor;stroke-width:1.8;fill:none;flex:none}.top{display:none}.shell{display:flex;min-height:100vh;padding:14px;gap:14px}.nav{position:sticky;top:14px;width:244px;height:calc(100vh - 28px);flex:0 0 244px;background:#fff;border:1px solid #edf2ec;border-radius:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;padding:23px 12px 12px;overflow-y:auto;scrollbar-width:thin}.nav-brand{display:block;padding:0 15px 27px}.nav-brand img{width:170px;max-width:100%;display:block}.nav-caption{color:#9aaca1;font-size:.66rem;font-weight:800;letter-spacing:.15em;padding:8px 14px 10px}.nav>a:not(.nav-brand),.nav-footer>a,.nav-logout{display:flex;gap:.82rem;align-items:center;border-radius:11px;padding:.7rem .85rem;color:#607269;background:transparent;font-size:.87rem;font-weight:610;width:100%;text-align:left;min-height:43px}.nav>a:not(.nav-brand):hover,.nav-footer>a:hover,.nav-logout:hover{background:#f2f7f2;color:var(--forest);box-shadow:none;transform:none}.nav>a.active{color:var(--forest)!important;background:#e7f5e9!important;font-weight:760!important}.nav>a.active::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--mint);margin-left:auto}.nav-footer{border-top:1px solid var(--line);padding-top:9px;margin-top:auto}.nav-logout{cursor:pointer;font:inherit}.school-identity{margin:0 10px 17px;border-radius:13px;background:#f1f8f1;display:flex;align-items:center;gap:.6rem;padding:.6rem;font-size:.75rem;color:#557165;font-weight:700}.school-identity img{width:34px;height:34px;object-fit:contain;border-radius:7px;background:#fff}.main{width:100%;min-width:0;max-width:1550px;margin:0 auto;padding:22px clamp(12px,2vw,32px) 60px}h1{font-size:clamp(1.65rem,3vw,2.1rem);letter-spacing:-.04em;margin:.25rem 0 1.25rem}h2{font-size:1.13rem;letter-spacing:-.02em;margin:1.7rem 0 .85rem}h3{font-size:1rem;margin:0 0 1rem}.eyebrow{font-size:.69rem;letter-spacing:.15em;font-weight:800;color:var(--mint)}.context{display:flex;justify-content:space-between;align-items:center;gap:.7rem;flex-wrap:wrap;border:1px solid var(--line);border-radius:13px;background:#fff;padding:.7rem 1rem;margin-bottom:1.3rem}.context strong{font-size:.9rem}.context form{display:flex;gap:.5rem;align-items:center}.context select{min-width:135px}.context button{min-height:40px;padding:.45rem .8rem}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(230px,.9fr);gap:2rem;align-items:center;padding:clamp(20px,3vw,34px);background:radial-gradient(circle at 82% 0,#168261 0,transparent 42%),linear-gradient(125deg,#073f30,#095c44);color:#fff;border-radius:21px;margin-bottom:16px;position:relative;overflow:hidden}.dashboard-hero::after{content:"";position:absolute;width:260px;height:260px;border:1px solid #ffffff18;border-radius:50%;right:-85px;bottom:-140px;pointer-events:none}.dashboard-hero .eyebrow{color:var(--lime)}.dashboard-hero h2{color:#fff;font-size:clamp(1.5rem,2.5vw,2.4rem);margin:.35rem 0 .65rem;max-width:460px;line-height:1.13}.dashboard-hero p{color:#c6dfd1;max-width:490px;margin:0;font-size:.91rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}.hero-progress{background:#ffffff13;border:1px solid #ffffff26;border-radius:17px;padding:1.25rem;z-index:1}.hero-progress>span{font-size:.83rem;color:#d3eade}.hero-progress strong{display:block;font-size:2.6rem;line-height:1.15;letter-spacing:-.06em;margin:.35rem 0 1rem}.hero-progress small{font-size:.74rem;color:#cee2d6}.progress{width:100%;height:8px;background:#ffffff29;border-radius:99px;overflow:hidden;margin-bottom:.7rem}.progress span{display:block;height:100%;background:var(--lime);border-radius:inherit}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.cards article,.panel{background:#fff;border:1px solid #e7eee8;border-radius:17px;padding:20px;box-shadow:var(--shadow)}.cards article{min-height:155px;display:flex;flex-direction:column}.metric-icon{width:37px;height:37px;background:#e6f5e9;color:var(--green);border-radius:11px;display:inline-flex;justify-content:center;align-items:center;margin-bottom:auto}.metric-icon.danger-icon{background:#fcece8;color:#b54d35}.cards small{font-size:.78rem;color:var(--muted);margin-top:.8rem}.cards strong{font-size:clamp(1.2rem,1.7vw,1.7rem);letter-spacing:-.04em;overflow-wrap:anywhere}.panel{margin-bottom:17px}.panel h2:first-child{margin-top:0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.section-heading h2{margin:.1rem 0;font-size:1.3rem}.step-pill{border-radius:99px;padding:.35rem .75rem;color:#087554;background:#e7f5e9;font-size:.75rem;font-weight:750}.page-actions{display:flex;justify-content:flex-end;margin:-3rem 0 1.2rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-grid label{color:#355248;font-weight:650;font-size:.84rem;min-width:0}.form-grid input,.form-grid select,.form-grid textarea,.context select{display:block;width:100%;min-height:45px;border:1px solid #d0dfd4;border-radius:10px;color:#19382d;background:#fff;font:inherit;padding:.65rem .75rem;margin-top:.35rem}.form-grid textarea{min-height:105px;resize:vertical}.form-grid .wide,.form-actions{grid-column:1/-1}.form-grid .check{display:flex;align-items:center;gap:.5rem}.check input{width:auto;min-height:0;margin:0}.form-actions{padding-top:.25rem}.form-section{padding:1.25rem;background:#f8fbf7;border:1px solid #e4ede3;border-radius:14px}.conditional[hidden]{display:none}.conditional{margin-top:.1rem}.advanced{padding:.65rem .8rem;border:1px dashed #cedfcf;border-radius:10px}.advanced summary{cursor:pointer;font-size:.86rem;color:var(--green);font-weight:650}.advanced .form-grid{margin-top:.9rem}.table-wrap{overflow-x:auto;max-width:100%;background:#fff;border:1px solid #e7eee8;border-radius:16px;margin:1rem 0 1.7rem;box-shadow:var(--shadow);-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;min-width:620px}th,td{padding:.83rem .95rem;border-bottom:1px solid #edf2ed;text-align:left;vertical-align:middle}th{color:#758a7c;background:#fafcfa;font-size:.72rem;font-weight:780;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}td{font-size:.85rem}tr:hover td{background:#fbfdfb}tr:last-child td{border-bottom:0}td a{font-weight:680}.badge{display:inline-block;padding:.28rem .6rem;border-radius:99px;font-size:.7rem;font-weight:750;color:#526c5e;background:#edf3ee}.badge-paid,.badge-confirmed,.badge-active{color:#09684c;background:#dcf6e7}.badge-late,.badge-failed,.badge-inactive,.badge-cancelled{color:#a33d39;background:#ffebe7}.badge-partial,.badge-pending,.badge-prepared{color:#8c641c;background:#fff2d3}.alert{padding:.9rem 1rem;border-radius:11px;background:#e8f2ea;margin:1rem 0;font-size:.9rem}.alert.error{background:#ffebe7;color:#923a31}.alert.success{background:#ddf4e6;color:#155c43}.hint{color:var(--muted);font-size:.86rem}.inline{display:inline}.inline button{min-height:auto;background:transparent;color:var(--green);padding:.15rem;font-size:.83rem}.inline button:hover{box-shadow:none;color:var(--forest)}.inline button.text-danger,.danger{color:#b4473d}.tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}.tabs a{padding:.55rem .88rem;background:#fff;border:1px solid var(--line);border-radius:10px;font-size:.85rem;font-weight:650}.tabs a.active{background:var(--forest);color:#fff;border-color:var(--forest)}.message{min-width:260px;white-space:pre-wrap}.import-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:16px}.import-layout .panel{align-self:start}.import-layout h2{font-size:1.35rem}.file-drop{display:block;border:1px dashed #9dcbae;padding:1rem;border-radius:12px;background:#f7fbf7}.import-help .button{margin:.35rem 0}.logo-preview{max-width:130px;max-height:76px;object-fit:contain}.auth,.install{max-width:610px;margin:min(8vh,90px) auto;padding:2rem;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.auth{max-width:470px}.auth-logo{width:175px;max-width:100%;display:block;margin-bottom:2rem}.auth .form-grid{grid-template-columns:1fr}.auth .form-actions{grid-column:1}.auth .form-actions button{width:100%}.receipt{max-width:750px;margin:3rem auto;padding:2.4rem;border-radius:18px;background:#fff;box-shadow:var(--shadow)}.receipt-head{display:flex;gap:1.2rem;align-items:center}.receipt-head h2{margin:.2rem 0;font-size:1.45rem}.receipt-head p{margin:.15rem 0}.receipt-logo{max-width:100px;max-height:85px;object-fit:contain}.receipt hr{border:0;border-top:1px solid var(--line);margin:1.4rem 0}.receipt>h2{color:var(--forest)}.empty-state{padding:2rem}code{background:#e8f2e9;padding:.1rem .3rem}
@media(max-width:1050px){.top{display:flex;height:68px;align-items:center;gap:.6rem;background:#fff;border-bottom:1px solid var(--line);padding:0 1rem}.top .brand img{width:145px;display:block}.top-user{margin-left:auto;font-size:.8rem;color:var(--muted)}#nav-toggle{background:#eaf5eb;color:var(--forest);margin-left:auto;padding:.48rem .65rem;min-height:38px}#nav-toggle span{font-size:.8rem}.shell{padding:0}.nav{display:none;position:fixed;z-index:100;left:0;top:68px;bottom:0;height:calc(100dvh - 68px);width:min(86vw,290px);border-radius:0 16px 16px 0;box-shadow:10px 10px 60px #0b392d30}.nav.open{display:flex}.nav-brand{display:none}.main{padding:20px clamp(14px,3vw,28px) 50px}.top-user{display:none}body.nav-open::after{content:"";position:fixed;z-index:90;inset:68px 0 0;background:#05251d88}}
@media(max-width:700px){.dashboard-hero{grid-template-columns:1fr;gap:1.25rem}.import-layout{grid-template-columns:1fr}.page-actions{margin:0 0 1rem;justify-content:flex-start}.context form{width:100%}.context select{flex:1;min-width:0}}
@media(max-width:540px){.main{padding:18px 13px 35px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cards article{padding:14px;min-height:142px}.cards strong{font-size:1.12rem}.cards small{font-size:.72rem}.form-grid{grid-template-columns:1fr;gap:.8rem}.form-grid .wide,.form-actions{grid-column:1}.form-section{padding:1rem}.section-heading{align-items:start}.step-pill{white-space:nowrap}.panel{padding:16px}.auth,.install{margin:1rem;padding:1.3rem}.receipt{margin:.7rem;padding:1.4rem}.receipt-head{align-items:start}.receipt-logo{max-width:64px}.table-wrap{margin-right:-13px;margin-left:-13px;border-radius:0}td,th{padding:.75rem .7rem}.dashboard-hero{padding:20px}.hero-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}@media print{body{background:#fff}.top,.nav,.print-button{display:none!important}.receipt{box-shadow:none;border:0;margin:0;padding:0;max-width:none}}
/* Navigation et recherche 1.3 */
.nav-group{padding:.12rem 0}.nav-group summary{display:flex;align-items:center;gap:.82rem;cursor:pointer;border-radius:11px;padding:.7rem .85rem;color:#607269;font-size:.87rem;font-weight:700;list-style:none}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary::after{content:'⌄';margin-left:auto;font-size:1rem}.nav-group[open] summary{color:var(--forest);background:#f2f7f2}.nav-group>a{display:block;margin:.13rem .2rem .13rem 2.2rem;padding:.53rem .65rem;border-radius:9px;color:#64766c;font-size:.8rem}.nav-group>a:hover,.nav-group>a.active{background:#e7f5e9;color:var(--forest);font-weight:700}.global-search{display:flex;align-items:center;gap:.6rem;padding:.35rem .35rem .35rem .85rem;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);margin:-.2rem 0 1.15rem;max-width:900px}.global-search label{display:flex;color:var(--green)}.global-search input{flex:1;min-width:0;border:0;background:transparent;font:inherit;color:#19382d;min-height:42px;outline:none}.global-search input:focus-visible{outline:none}.global-search:focus-within{outline:2px solid #65caa5}.global-search button{min-height:40px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.filters{display:flex;align-items:end;flex-wrap:wrap;gap:.7rem;padding:1rem;background:#fff;border:1px solid var(--line);border-radius:14px;margin:0 0 1rem}.filters label{display:flex;flex-direction:column;gap:.35rem;color:#526c5e;font-size:.77rem;font-weight:700;min-width:135px;flex:1}.filters input,.filters select{width:100%;min-height:42px;border:1px solid #d0dfd4;border-radius:9px;background:#fff;color:#19382d;font:inherit;font-weight:500;padding:.55rem .65rem}.filters button{min-height:42px}.result-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.7rem}.result-card{display:flex;flex-direction:column;gap:.2rem;padding:1rem;border:1px solid var(--line);background:#fff;border-radius:12px}.result-card span{color:var(--muted);font-size:.8rem}.student-profile{display:grid;grid-template-columns:145px minmax(0,1fr);gap:1.4rem;align-items:start}.student-photo{width:145px;height:165px;object-fit:cover;background:#e6f5e9;border-radius:16px;border:1px solid var(--line)}.student-photo.small{width:75px;height:75px}.student-profile h2{font-size:1.6rem;margin:.2rem 0}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.7rem;margin:1rem 0}.profile-grid span{font-size:.84rem;overflow-wrap:anywhere}.profile-grid b{display:block;font-size:.72rem;color:var(--muted);margin-bottom:.1rem}.profile-delete{margin:-.5rem 0 1.5rem}.profile-delete .danger{background:#fff1ee;color:#aa3b33;border:1px solid #f4cac4}.profile-delete .danger:hover{background:#ffe5df;color:#902d26}.chart-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.chart-panel{min-width:0}.chart-panel h2{margin:0 0 1.1rem}.chart-bars{height:205px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.25rem;align-items:end;border-bottom:1px solid var(--line)}.chart-column{height:100%;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:.28rem}.chart-track{height:145px;width:75%;min-width:7px;max-width:28px;display:flex;align-items:end;background:#e8f4ea;border-radius:6px 6px 0 0;overflow:hidden}.chart-bar{display:block;width:100%;background:linear-gradient(#4dc495,#087a59);border-radius:6px 6px 0 0}.chart-column:nth-child(3n) .chart-bar{background:#acd866}.chart-value{font-size:.65rem;color:#607269;white-space:nowrap}.chart-column small{font-size:.65rem;color:#758a7c}.chart-panel .hint{margin:.7rem 0 0;font-size:.72rem}
/* Reçu A4 : informations factuelles, sans cachet préimprimé. */
.receipt-body{background:#e8efea;padding:20px}.receipt-a4{max-width:820px;min-height:1100px;margin:20px auto;padding:48px 52px;border-radius:4px;border:0;box-shadow:0 20px 60px #073f3020;color:#1b3128;background:#fff}.receipt-header{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start;border-bottom:3px solid #0a654a;padding-bottom:1.3rem}.receipt-school{display:flex;gap:1rem;align-items:flex-start;min-width:0}.receipt-school>div:last-child{min-width:0}.receipt-logo{width:82px;height:82px;object-fit:contain;flex:none}.receipt-logo-placeholder{width:82px;height:82px;flex:none;border-radius:15px;background:#e6f5e9;color:#087a59;display:grid;place-items:center}.receipt-logo-placeholder .icon{width:38px;height:38px}.receipt-header h1{font-size:1.35rem;line-height:1.2;letter-spacing:-.02em;margin:.25rem 0 .5rem}.receipt-header p{font-size:.78rem;margin:.2rem 0;overflow-wrap:anywhere}.receipt-ref{text-align:right;min-width:165px}.receipt-ref span{display:block;font-size:.65rem;font-weight:800;letter-spacing:.14em;color:#087a59}.receipt-ref strong{display:block;font-size:1.15rem;margin:.3rem 0}.receipt-ref small{font-size:.7rem;color:#64766c}.receipt-year{margin:1.25rem 0 2rem;padding:.7rem 1rem;background:#eff7ef;border-radius:9px;display:flex;justify-content:space-between;gap:.5rem;letter-spacing:.06em;font-size:.75rem;color:#4d6657}.receipt-section{margin:0 0 1.65rem;break-inside:avoid}.receipt-section h2{font-size:1rem;margin:0 0 .7rem;color:#073f30}.receipt-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #dce8df;border-radius:11px;overflow:hidden}.receipt-info-grid>div{padding:.7rem .85rem;border-bottom:1px solid #dce8df;min-width:0}.receipt-info-grid>div:nth-child(odd){border-right:1px solid #dce8df}.receipt-info-grid>div:nth-last-child(-n+2){border-bottom:0}.receipt-info-grid small,.receipt-totals small{display:block;font-size:.68rem;color:#64766c;margin-bottom:.15rem}.receipt-info-grid strong{display:block;font-size:.85rem;overflow-wrap:anywhere}.receipt-line{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid #edf2ed;padding:.52rem .1rem;font-size:.83rem}.receipt-line strong{text-align:right;overflow-wrap:anywhere}.receipt-amount{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem;background:#073f30;color:#fff;border-radius:10px;margin-top:.9rem}.receipt-amount strong{font-size:1.35rem}.receipt-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.receipt-totals>div{background:#f3f7f3;border-radius:9px;padding:.7rem}.receipt-totals strong{font-size:.9rem;white-space:normal}.receipt-footer{display:flex;justify-content:space-between;gap:2rem;align-items:end;border-top:1px solid #dce8df;margin-top:2.5rem;padding-top:1.2rem}.receipt-footer p{font-size:.75rem;margin:.2rem 0;color:#64766c}.receipt-signature{width:240px;text-align:center;font-size:.75rem;font-weight:650;flex:none}.receipt-signature div{height:70px;border-bottom:1px solid #344e40}.receipt-note{font-size:.66rem;color:#788d7e;text-align:center;margin:2rem 0}.receipt-a4 .print-button{display:block;margin:auto}
@media(max-width:760px){.chart-layout{grid-template-columns:1fr}.receipt-body{padding:0}.receipt-a4{margin:0;min-height:0;padding:25px 18px}.receipt-header{flex-direction:column}.receipt-ref{text-align:left}.receipt-info-grid{grid-template-columns:1fr}.receipt-info-grid>div:nth-child(odd){border-right:0}.receipt-info-grid>div:nth-last-child(2){border-bottom:1px solid #dce8df}.receipt-totals{grid-template-columns:1fr}.receipt-footer{align-items:start;flex-direction:column}.receipt-signature{margin-left:auto}.global-search{flex-wrap:wrap}.global-search button{width:100%}.student-profile{grid-template-columns:1fr}.student-photo{width:115px;height:125px}}@page{size:A4;margin:12mm}@media print{.receipt-body{padding:0;background:#fff}.receipt-a4{width:auto;max-width:none;min-height:0;margin:0;padding:0;box-shadow:none}.receipt-header,.receipt-section,.receipt-footer{break-inside:avoid}.receipt-a4 .print-button{display:none}}

/* 1.4 · dashboard and student directory */
.progress{position:relative;background:repeating-linear-gradient(90deg,#ffffff32 0 calc(25% - 2px),#ffffff72 calc(25% - 2px) 25%)}
.progress span{max-width:100%;min-width:0;background:#c6ed78}
.progress-scale{display:flex;justify-content:space-between;color:#d6ebdb;font-size:.62rem;margin:-.38rem 0 .78rem}
.hero-progress strong{margin-bottom:.65rem}
.chart-panel{margin:18px 0}
.chart-panel .hint{margin:-.5rem 0 1rem;font-size:.8rem}
.line-chart-wrap{width:100%;overflow:hidden}
.line-chart{display:block;width:100%;height:auto;min-height:190px}
.chart-grid{stroke:#e0ebe3;stroke-width:1.5;stroke-dasharray:5 5}
.chart-area{fill:#9cddba;fill-opacity:.27}
.chart-line{fill:none;stroke:#087a59;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.chart-dot{fill:#fff;stroke:#087a59;stroke-width:3}
.chart-month{fill:#687e70;font-size:12px;font-family:Inter,Segoe UI,system-ui,sans-serif}
.chart-summary{margin:0;color:var(--muted);font-size:.85rem}
.chart-summary strong{color:var(--forest)}
.student-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:15px;margin:1rem 0 1.7rem}
.student-card{min-width:0;background:#fff;border:1px solid #e3ede5;border-radius:20px;padding:17px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:16px;transition:border-color .2s,transform .2s,box-shadow .2s}
.student-card:hover{border-color:#a8d7b9;transform:translateY(-2px);box-shadow:0 17px 35px #073f3014}
.student-card-top{display:flex;align-items:center;gap:13px;min-width:0}
.student-card-top img{width:62px;height:62px;object-fit:cover;flex:none;border-radius:16px;background:#e6f5e9}
.student-card-top>div{min-width:0}.student-card h3{margin:.1rem 0 .35rem;line-height:1.2;overflow-wrap:anywhere}.student-card h3 a{color:var(--forest)}
.student-card dl{margin:0;display:grid;gap:.55rem}.student-card dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:8px;border-bottom:1px solid #eef3ed;padding-bottom:.55rem}.student-card dt{color:var(--muted);font-size:.75rem;white-space:nowrap}.student-card dd{margin:0;font-size:.79rem;font-weight:700;text-align:right;overflow-wrap:anywhere}
.student-card-actions{display:flex;justify-content:space-between;gap:8px;margin-top:auto}.student-card-actions a{font-size:.8rem;font-weight:700}
.profile-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.payment-search{display:flex;align-items:end;flex-wrap:wrap;gap:.7rem}.payment-search label{flex:1;min-width:min(100%,250px);font-size:.82rem;font-weight:700;color:#355248}.payment-search input{display:block;width:100%;min-height:45px;margin-top:.35rem;border:1px solid #d0dfd4;border-radius:10px;padding:.65rem .75rem;font:inherit}.payment-search>a{font-size:.82rem;font-weight:700;padding:.6rem}
@media(max-width:600px){.student-grid{grid-template-columns:1fr}.line-chart{min-height:150px}.chart-month{font-size:13px}.payment-search button,.payment-search>a{width:100%}.payment-search>a{text-align:center}}
.fee-summary{display:block;padding:.9rem 1rem;border-radius:12px;background:#e7f5e9;color:#0d573f;font-size:.84rem;font-weight:750;line-height:1.6}
