@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#2a3217;--sage:#a6ad8b;--paper:#f7f8f3;--ink:#2a3217;--muted:#8a948f;--line:#edf0ec}*{box-sizing:border-box}body{margin:0;background:#e8ebdf;color:var(--ink);font:13px Manrope,Arial,sans-serif;padding:32px}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0}body>aside{display:contents}.side-label,.side-bottom{display:none}.brand{position:absolute;top:66px;left:76px;z-index:3;text-decoration:none;color:var(--green);font-size:23px;font-weight:800;letter-spacing:-1px;display:flex;align-items:center;gap:8px}.brand:before{content:'✿';font-size:35px}.brand span{font-size:9px;letter-spacing:1.2px;max-width:48px;margin-left:3px;line-height:1.5}#nav{position:absolute;left:310px;right:220px;top:59px;z-index:2;display:flex;justify-content:center;gap:5px;overflow:auto;scrollbar-width:none}nav button{border-radius:30px;padding:13px 16px;white-space:nowrap;background:#f7f8f6;color:#6f7d74;font-size:11px}nav button.active{background:linear-gradient(145deg,#2a3217,#717d4d);color:white;box-shadow:0 5px 10px #54766017}nav i{display:none}main{background:var(--paper);border-radius:32px;padding:22px;max-width:1600px;margin:auto;min-height:calc(100vh - 64px)}header{height:73px;background:#fff;border-radius:50px;display:flex;justify-content:flex-end;align-items:center;padding:0 17px;gap:9px}header>span{display:none}.profile{background:#f4f6f1;border-radius:30px;padding:12px 15px;color:var(--green);font-size:10px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header>select{max-width:142px;font-size:10px;border:0}#notice{font-size:10px;margin:16px 10px 0;color:#8b968e}#content{padding:0 6px}.heading{display:flex;align-items:center;justify-content:space-between;margin:27px 0 24px;gap:15px}.eyebrow{font-size:9px;letter-spacing:2px;color:#90a394;margin-bottom:6px}.heading h1{font-size:27px;letter-spacing:-1.1px;color:var(--green);margin:0;font-weight:800}.heading p{color:var(--muted);font-size:11px;margin:8px 0 0}.btn{border-radius:24px;background:linear-gradient(145deg,#2a3217,#74804f);color:#fff;padding:12px 18px;font-size:11px;white-space:nowrap}.btn.secondary{background:#f0f5ee;color:var(--green)}.toolbar{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}.toolbar input,.toolbar select{border:0;border-radius:24px;box-shadow:none;background:#fff}.panel,.classcard,.stat{background:white;border-radius:25px;border:0;padding:24px}.panel h3{font-size:13px;font-weight:700;margin:0 0 20px;letter-spacing:-.3px}.panel-title{display:flex;justify-content:space-between;align-items:center}.panel-title button{background:none;border:1px solid #e5ece5;border-radius:22px;padding:7px 12px;color:var(--green);font-size:9px}.panel-title h3{margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0}.stat small{color:#8e9792;font-size:10px}.stat strong{font-size:27px;font-weight:800;display:block;margin:16px 0 8px;letter-spacing:-1px}.stat em{font-style:normal;font-size:9px;color:#68764c}.grid{display:grid;grid-template-columns:1.6fr 1fr;gap:16px}.row{display:flex;align-items:center;gap:12px;justify-content:space-between;border-bottom:1px solid #f0f2ee;padding:17px 0}.row:last-child{border:0}.row strong{font-size:11px;font-weight:700}.row small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.time{font-size:12px;min-width:49px}.pill{background:#eff5ed;color:#789080;font-size:9px;border-radius:20px;padding:6px 10px;white-space:nowrap}.muted{font-size:11px;line-height:1.8;color:var(--muted)}.package-num{font-size:44px;font-weight:800;margin:22px 0 10px;letter-spacing:-2px}.progress{height:6px;background:#edf2eb;border-radius:8px;margin:16px 0}.progress span{display:block;height:100%;background:linear-gradient(90deg,#2a3217,#b3be91);border-radius:8px}.split{display:flex;justify-content:space-between;font-size:10px}.quote{background:#f0eee7;padding:20px;border-radius:23px;font-size:17px;line-height:1.7;margin-top:16px}.hero{background:linear-gradient(130deg,#2a3217,#8f9b6c);color:white;border-radius:25px;padding:30px;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.hero h2{font-size:27px;font-weight:700}.hero p{color:#e6eee3;font-size:12px;line-height:1.9}.hero .eyebrow{color:#d5e4ce}.hero-art{font-size:100px;opacity:.4}.classes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.classcard h3{font-size:20px;font-weight:700;letter-spacing:-.6px;margin:20px 0 12px}.classcard p{font-size:11px;line-height:2;color:#8a958e}.classcard .btn{margin-top:14px;width:100%}.class-top{display:flex;justify-content:space-between}.classcard:nth-child(3n+2){background:#eef2e9}.classcard:nth-child(3n){background:#f3efe9}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}th{font-size:10px;color:#8f9b91;font-weight:500;background:#f8faf7}td,th{padding:17px 12px;border-bottom:1px solid #f1f3ee}td strong{font-weight:700}input,select{border:1px solid #e3e9df;border-radius:12px;background:#fff;padding:11px;color:var(--ink);max-width:100%}.link{color:var(--green);background:transparent;text-decoration:underline;font-size:11px;padding:8px}.empty{padding:40px;text-align:center;color:var(--muted)}footer{display:flex;justify-content:space-between;font-size:9px;color:#a0aaa1;margin-top:30px;padding:17px 10px 0}dialog{border:0;border-radius:25px;padding:30px;width:440px;max-width:94vw;color:var(--ink)}dialog::backdrop{background:#253d3355;backdrop-filter:blur(5px)}dialog h2{font-size:24px;letter-spacing:-1px}form{display:grid;gap:14px}form label{display:grid;gap:7px;font-size:11px}.close{float:right;background:transparent;color:var(--sage);font-size:25px}#toast{display:none;position:fixed;bottom:25px;right:25px;z-index:10;background:var(--green);color:white;padding:15px 20px;border-radius:16px;max-width:90vw}button:disabled{opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #879d6f;outline-offset:3px}.dashboard-top{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:16px}.dashboard-bottom{display:grid;grid-template-columns:1.05fr 1.65fr 1fr;gap:16px;margin-top:16px}.gradient-card{background:linear-gradient(150deg,#2a3217,#929e70);color:white;display:flex;flex-direction:column;justify-content:space-between;min-height:235px}.gradient-card h3{font-size:19px;line-height:1.5;margin:16px 0 8px;letter-spacing:-.5px}.gradient-card p{font-size:11px;line-height:1.8;color:#e6eee2}.gradient-card .pill{background:#ffffffeb;color:#2a3217}.cardhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;font-size:12px;font-weight:700;letter-spacing:-.3px}.dots{color:#adb8af;border:1px solid #eef2eb;border-radius:50%;width:20px;height:20px;text-align:center;font-size:12px}.bigmetric{font-size:32px;font-weight:800;letter-spacing:-1.3px;margin:4px 0}.up{font-size:9px;padding:4px 6px;background:#f0f5ee;color:#729378;border-radius:12px;margin-left:6px;letter-spacing:0;font-weight:500}.chart{width:100%;height:125px;display:block}.chart text{font-size:9px;fill:#a3ada4}.chart-labels{display:flex;justify-content:space-between;font-size:9px;color:#9ba69d;margin-top:10px}.mini-entry{padding:13px 0;display:flex;gap:12px;align-items:center;border-bottom:1px solid #f0f3ed}.mini-entry:last-child{border:0}.mini-entry strong{font-size:10px}.mini-entry p{font-size:9px;color:#9aa79e;margin:6px 0}.round-icon{width:33px;height:33px;border-radius:50%;background:#f1f5ee;color:#7b987e;display:grid;place-items:center;flex-shrink:0}.avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;font-size:11px;background:#e5e9dc;color:#71826c}.avatar.rose{background:#f1e7e0;color:#ae8a75}.avatar.gold{background:#eee9d6;color:#9c946a}.bar-chart{height:195px;display:flex;align-items:flex-end;justify-content:space-around;gap:15px;padding-top:25px}.bar-group{height:100%;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;gap:10px;font-size:9px;color:#a1aaa1;flex:1}.bar{width:75%;border-radius:14px;background:#f3f7f0;border:1px solid #e4ecdf}.bar.selected{background:linear-gradient(135deg,#566333,#bac49e);border:0}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.info-grid label{font-size:9px;color:#99a39b;display:block}.info-grid strong{font-size:10px;display:block;margin-top:6px}.textbutton{background:none;color:#58653c;font-size:10px;padding:0}.demo-switch{display:flex;align-items:center;gap:5px}.dashboard-bottom .panel{min-height:287px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));gap:8px;min-width:930px}.calendar-day{border-radius:17px;background:#f8faf6;padding:10px;min-height:280px}.calendar-day h4{font-size:11px;text-align:center;color:#7e9383}.calendar-event{padding:14px 10px;background:#e7eedf;border-radius:12px;margin:12px 0;font-size:10px;line-height:1.8}.calendar-event strong{display:block}.calendar-event.alt{background:#f0e7df}@media(min-width:1700px){.brand{left:calc((100vw - 1600px)/2 + 44px)}#nav{left:calc((100vw - 1600px)/2 + 270px);right:calc((100vw - 1600px)/2 + 190px)}}@media(max-width:1150px){#nav{left:250px;right:175px;justify-content:flex-start}nav button{padding:13px 12px}.brand{left:65px}.brand span{display:none}.dashboard-top{grid-template-columns:repeat(2,1fr)}.dashboard-bottom{grid-template-columns:1fr 1.4fr}.dashboard-bottom>.panel:last-child{grid-column:1/-1}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){body{padding:12px}main{padding:14px;border-radius:25px}header{height:65px;align-items:flex-start;padding-top:11px}.brand{top:39px;left:40px;font-size:20px}.brand:before{font-size:28px}#nav{position:static;margin:0 0 10px;justify-content:flex-start;order:2;padding:0}.heading h1{font-size:24px}.heading{align-items:flex-start}.heading p{line-height:1.7}.dashboard-top,.dashboard-bottom,.grid{grid-template-columns:1fr}.dashboard-bottom>.panel:last-child{grid-column:auto}.classes{grid-template-columns:1fr}.stats{gap:10px}.stat{padding:17px}.stat strong{font-size:23px}.hero-art{display:none}.profile{max-width:105px;font-size:9px}header>select{max-width:110px;font-size:9px}.panel{padding:20px}.dashboard-bottom .panel{min-height:auto}footer span{display:none}}
header>select{position:absolute;top:137px;right:73px;background:white;border-radius:20px;padding:8px 12px}#notice{padding-right:155px;min-height:15px}@media(max-width:760px){header>select{top:116px;right:34px;z-index:4}#notice{padding-right:0;margin-top:34px}#nav{margin-top:12px}}
@media(max-width:760px){#nav{width:100%;margin:12px 0 0;display:flex;overflow-x:auto}.brand{top:42px}header>select{top:115px;right:33px}#notice{margin-top:35px}.heading h1{font-size:23px}.heading{gap:10px}.heading>.btn{padding:11px;font-size:9px}}

/* Supplied brand artwork: preserved vector logo from the owner's PDF. */
.brand{top:60px;left:75px;line-height:0;letter-spacing:0}.brand:before{content:none}.brand img{width:155px;height:63px;object-fit:contain;display:block}header .profile{color:#2a3217} .heading h1{color:#2a3217}.pill{color:#58633b;background:#f0f3e7}.textbutton{color:#58633b}.gradient-card{background:linear-gradient(145deg,#2a3217,#8e9b69)}.gradient-card .pill{color:#2a3217}.btn{background:linear-gradient(145deg,#2a3217,#6e7c47)}.btn.secondary{background:#edf1e3;color:#2a3217}nav button.active{background:linear-gradient(145deg,#2a3217,#6e7c47)}
@media(min-width:1700px){.brand{left:calc((100vw - 1600px)/2 + 43px)}}
@media(max-width:1150px){.brand{left:65px}.brand img{width:140px;height:57px}}
@media(max-width:760px){.brand{left:39px;top:36px}.brand img{width:111px;height:45px}}

/* Attendance: keep identity readable and group the two actions at every width. */
.attendance-row{gap:24px;align-items:center;padding:20px 0}.attendance-info{flex:1;min-width:0}.attendance-name{font-size:13px;font-weight:800;line-height:1.6;overflow-wrap:anywhere;margin-bottom:5px}.attendance-class{display:block;font-size:11px;line-height:1.7}.attendance-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px;font-size:10px;line-height:1.6;color:#87907c}.attendance-actions{display:flex;gap:10px;flex-shrink:0}.attendance-actions .btn{min-width:88px;min-height:44px;margin:0}
@media(max-width:600px){.attendance-row{display:flex;flex-direction:column;align-items:stretch;gap:15px;padding:20px 0}.attendance-info{width:100%}.attendance-name{font-size:14px}.attendance-class{font-size:12px}.attendance-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:12px}.attendance-actions .btn{width:100%;min-width:0;padding:12px;font-size:12px}.attendance-meta{font-size:11px;gap:8px 12px}.attendance-meta .pill{font-size:10px}}

.plan-section{margin:8px 0 28px}.plan-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 16px}.plan-title h2,.section-label{font-size:16px;letter-spacing:-.4px}.plan-title p{margin:6px 0 0}.plan-card h3{font-size:20px;margin:20px 0 12px}.plan-price{font-size:25px;letter-spacing:-.7px;font-weight:800;color:#2a3217}.plan-card .btn{margin-top:12px}.plan-picker{display:grid;gap:12px}.section-label{margin:24px 0 14px}@media(max-width:600px){.plan-title{align-items:flex-start;flex-direction:column}.plan-title .btn{width:100%}.plan-card{padding:22px}.plan-price{font-size:24px}}
@media(max-width:760px){header{height:100px}header>select{top:84px;right:33px}#notice{margin-top:16px}}
.calendar-range{padding:11px 16px}.calendar-scroll{overflow:auto;border-radius:23px}.calendar-grid{min-width:1050px;gap:10px}.calendar-day{background:#fff;min-height:290px;border:1px solid transparent;padding:10px}.calendar-day.is-today{border-color:#a5b482}.calendar-day h4{display:flex;justify-content:space-between;align-items:center;color:#778363;padding:3px 4px}.calendar-day h4 b{color:#2a3217}.calendar-event{display:block;width:100%;text-align:left;color:#2a3217;background:#eef2e4}.calendar-event strong{line-height:1.6;margin:4px 0;font-size:11px}.calendar-event span{display:block;font-size:9px}.calendar-event .event-seats{margin-top:7px;color:#75835f}.calendar-empty{font-size:10px;color:#acb4a0;text-align:center;margin-top:30px}.calendar-month{min-width:1050px}.calendar-month .calendar-day{min-height:150px}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.date-label{font-size:10px;color:#71815f;display:flex;align-items:center;gap:9px}textarea{font:inherit;border:1px solid #e3e9df;border-radius:12px;padding:12px;resize:vertical;color:#2a3217}.revenue-chart{display:flex;gap:16px;align-items:flex-end;overflow:auto;min-height:200px;padding:15px 0}.revenue-month{flex:1;min-width:90px;display:flex;flex-direction:column;align-items:center;gap:12px;font-size:10px}.revenue-month>div{width:65%;background:linear-gradient(145deg,#2a3217,#b5c094);border-radius:12px 12px 0 0}.revenue-month small{color:#8b977c}[hidden]{display:none!important}.toolbar input{min-height:44px}@media(max-width:600px){.calendar-range{order:2}.form-columns{grid-template-columns:1fr}.calendar-scroll{max-width:100%}.date-label{width:100%;justify-content:space-between}.date-label input{width:75%}}
.receipt-link{display:inline-block;text-decoration:none;margin:12px 0}
.notification-list p{font-size:12px;line-height:1.7;max-width:100%;overflow-wrap:anywhere}#notifications-button{font-size:10px;padding:10px}@media(max-width:760px){#notifications-button{position:absolute;top:86px;left:39px;max-width:145px;font-size:10px}header>select{right:33px;max-width:100px}.notification-list .row{align-items:flex-start;flex-direction:column}}
