:root{--ink:#293b36;--muted:#748079;--line:#dfe5de;--paper:#f6f7f3;--white:#fff;--green:#345b4a;--soft:#eaf0e7;--warn:#966638}*{box-sizing:border-box}body{margin:0;background:var(--paper);font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}header{background:#fff;border-bottom:1px solid var(--line);padding:20px 5%;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:12px;align-items:center;color:var(--ink);font-weight:600}.brand small{display:block;font-size:11px;font-weight:400;letter-spacing:.08em;color:var(--muted)}.brandmark{font:italic 32px Georgia,serif;width:54px;height:54px;display:grid;place-items:center;background:var(--green);color:#fff;border-radius:50%}.brandmark.small{height:39px;width:39px;font-size:25px}.header-right{display:flex;align-items:center;gap:24px}main{max-width:1330px;padding:44px 40px 20px;margin:auto}.page-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px}h1{font:400 40px/1.18 Georgia,serif;letter-spacing:-1px;margin:6px 0 12px}h2{font-size:17px;margin:0;font-weight:600}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:700;margin:0;color:var(--green)}p{margin:8px 0 16px}.muted,small{color:var(--muted)}small{font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 30px}.stats>a,.stats>div{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:22px 24px;color:var(--ink);display:flex;flex-direction:column;align-items:flex-start}.stats>a:first-child{background:var(--soft)}.stats a:hover{border-color:var(--green);text-decoration:none}.stats span{font-size:12px;color:var(--muted)}.stats strong{font-size:38px;font-weight:400;line-height:1.5}.stats b{font-weight:500;margin-top:10px}.stats.compact strong{font-size:30px}.panel{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:25px;margin-bottom:22px}.student-panel{padding:0;overflow:hidden}.filters{padding:22px;display:flex;align-items:end;gap:14px;border-bottom:1px solid var(--line)}label{font-size:12px;font-weight:600;display:flex;flex-direction:column;gap:7px;min-width:0}input,select,textarea{font:400 14px/1.5 system-ui;color:var(--ink);width:100%;border:1px solid #cfd8d0;border-radius:7px;padding:10px 12px;background:#fff;min-height:44px}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #7b9c87;outline-offset:3px}textarea{min-height:90px;resize:vertical}.search{flex:1}.filters select{min-width:160px}.button,button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--green);border-radius:7px;background:var(--green);color:#fff;font:500 13px/1.5 system-ui;padding:11px 17px;cursor:pointer;min-height:44px;white-space:nowrap;width:fit-content}.button:hover,button:hover{filter:brightness(.95);text-decoration:none}.secondary{background:#fff;color:var(--green);border-color:#cdd8cd}.text{border:0;background:transparent;color:var(--muted);padding:0;min-height:30px}.reset{font-size:12px;padding:12px 2px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;padding:16px 22px;background:#fafbf8}td{padding:22px;border-top:1px solid #edf0ea;font-size:13px;vertical-align:middle}td small{display:block;margin-top:5px}td b{font-size:13px;font-weight:500}.student-name{font-weight:600;font-size:15px;display:block;white-space:nowrap}.student-name span{font-weight:400;color:#91a596;font-size:13px;padding-left:8px}.reason{display:block;color:var(--warn);font-size:12px}.due{color:var(--warn);font-weight:600}.table-footer{padding:17px 22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.empty-state{text-align:center;padding:60px 24px;color:var(--muted)}.empty-state>span{font-size:32px;color:#a0b49f}.empty-state h2{color:var(--ink);margin-top:12px}.empty-state p{font-size:13px}.profile-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:24px}.back{font-size:12px;display:inline-block;margin-bottom:22px}.contact-links{display:flex;gap:8px}.section-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:14px}.section-heading .muted{font-size:12px}summary{font-weight:600;cursor:pointer;font-size:15px}details[open]>summary{margin-bottom:22px}.stack{display:flex;flex-direction:column;gap:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hint{font-size:11px;color:var(--muted);margin:0}.timeline{margin-top:30px}.timeline article{border-top:1px solid var(--line);padding:20px 0 6px}.timeline article p{font-size:14px;overflow-wrap:anywhere}.timeline article .section-heading{margin:0;align-items:baseline;flex-wrap:wrap}.timeline b{font-size:12px}.guidance{padding:13px 16px;background:#f5f7f2;border-radius:7px;font-size:13px;white-space:normal;overflow-wrap:anywhere}.round{border-top:1px solid var(--line);padding:22px 0}.round p{font-size:12px}.pill{font-size:11px;background:var(--soft);border-radius:20px;padding:4px 9px;display:inline-block}.session-dots{display:flex;gap:7px;margin:18px 0 12px}.session-dots span{height:8px;border-radius:4px;flex:1;background:#edf0e9}.session-dots .used{background:var(--green)}.session-dots .booked{background:#a7baa4}.inline-details{border-top:1px solid var(--line);padding-top:20px}.inline-details summary{font-size:13px;color:var(--green)}.checkbox{display:flex;flex-direction:row;align-items:start;gap:10px;font-weight:400}.checkbox input{width:17px;height:17px;min-height:0;margin:2px 0 0}.appointment{display:flex;justify-content:space-between;gap:16px;padding:20px 0;border-top:1px solid var(--line);font-size:12px}.appointment p{margin:8px 0 0;overflow-wrap:anywhere}.appointment b{font-weight:500;font-size:14px}.appointment>a{padding:6px;align-self:start}.empty{font-size:13px;color:var(--muted);padding:16px 0}.aside-note{padding:4px 18px;color:var(--muted);font-size:12px}.aside-note b{color:var(--green)}footer{padding:28px 0 10px;display:flex;justify-content:space-between;color:#859087;font-size:11px}.alert,.success,.notice{border-radius:8px;padding:13px 18px;margin-bottom:22px;font-size:13px}.alert{background:#f8e9e4;color:#8a3b2b}.success{background:#e7eee3;color:var(--green)}.notice{background:#f4eddd;color:#806432}.login{width:100%;max-width:430px;margin:7vh auto;padding:32px}.login h1{font-size:35px}.login>.brandmark{margin-bottom:24px}.login form{display:flex;flex-direction:column;gap:20px;margin:28px 0}.login button{width:100%}.login>small{display:block;text-align:center}body:has(.login){background:#f3f5ef}
@media(max-width:1000px){main{padding:30px 22px}.stats{gap:10px}.stats>a,.stats>div{padding:17px}.filters{flex-wrap:wrap}.search{min-width:220px}.profile-grid{grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr)}td,th{padding:16px}.section-heading{flex-wrap:wrap}}
@media(max-width:700px){header{padding:16px 20px}.header-right>span{display:none}main{padding:28px 16px 12px}h1{font-size:31px}.page-title{align-items:start;flex-direction:column;gap:14px}.page-title p{font-size:13px}.stats{grid-template-columns:1fr 1fr;margin-bottom:20px}.stats strong{font-size:30px}.stats span{font-size:11px}.stats small{font-size:10px}.profile-grid{display:flex;flex-direction:column}.profile-grid>section{display:contents}.profile-grid aside{order:-1}.panel{padding:20px}.student-panel{padding:0}.filters{padding:16px;gap:10px}.filters label{flex:1;min-width:120px}.filters .search{flex-basis:100%}.filters select{min-width:0}.table-footer span{display:none}.form-grid{grid-template-columns:1fr}.contact-links{width:100%}.contact-links a{flex:1}.section-heading{gap:6px}.section-heading small{font-size:11px}footer{flex-direction:column;gap:4px}.profile-grid aside .aside-note{display:none}.stats.compact b{font-size:12px}.login{margin:3vh auto}.round{padding:16px 0}.round .session-dots{margin:12px 0}.appointment{gap:8px}}
