:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#17201d;background:#f4f5f1;--green:#153f35;--lime:#d8f06c;--line:#d8ddd7}*{box-sizing:border-box}body{margin:0}header{background:var(--green);color:white;padding:28px max(4vw,24px);display:flex;justify-content:space-between;align-items:end}h1{font-size:clamp(2rem,5vw,4rem);letter-spacing:-.05em;margin:.1em 0 0}h2{margin:0 0 5px}.eyebrow{font-size:.72rem;letter-spacing:.15em;font-weight:800;color:#9bb5ad}.identity{text-align:right;display:grid;gap:6px}.identity span{color:#c8d6d1}.identity strong{font-size:.9rem}main{max-width:1180px;margin:0 auto;padding:30px 24px 60px}.toolbar,.card-head,.savebar{display:flex;justify-content:space-between;gap:20px;align-items:center}.toolbar{margin-bottom:22px}.toolbar select{min-width:min(620px,70vw);font:inherit;font-weight:700;border:1px solid var(--line);border-radius:10px;padding:13px;background:white}.actions{display:flex;gap:10px}.button,button{border:0;border-radius:9px;padding:12px 16px;background:var(--green);color:white;font:inherit;font-weight:750;cursor:pointer;text-decoration:none}.secondary{background:white;color:var(--green);border:1px solid var(--line)}.summary{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:18px}.metric{background:white;border:1px solid var(--line);border-radius:14px;padding:18px}.metric strong{display:block;font-size:1.7rem;margin-top:5px}.card{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.card-head{padding:22px}.card-head p{margin:0;color:#65716d}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 18px;border-top:1px solid #e7eae6}th{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:#65716d;background:#fafbf8}input[type=number]{width:75px;padding:9px;border:1px solid var(--line);border-radius:7px;font:inherit}input[type=text]{width:100%;min-width:180px;padding:9px;border:1px solid var(--line);border-radius:7px;font:inherit}.attended{font-weight:800;color:var(--green)}.savebar{padding:16px 22px;background:#f9faf7;border-top:1px solid var(--line)}.savebar button{background:var(--lime);color:#17362f}.notice{margin-top:16px;color:#66726e;font-size:.88rem}.error{color:#a32929}@media(max-width:760px){header,.toolbar,.card-head{align-items:stretch;flex-direction:column}.identity{text-align:left}.toolbar select{min-width:100%;width:100%}.actions{flex-wrap:wrap}.summary{grid-template-columns:1fr 1fr}th,td{padding:12px}.card-head{padding:18px}}
[hidden]{display:none!important}
.attended-input{width:90px!important;min-width:0!important}
.brand{display:flex;align-items:center;gap:28px}.brand img{display:block;width:112px;height:132px;object-fit:contain;background:#fff;border-radius:12px;padding:4px}.brand h1{margin:0}body{color:#4a5158;background:#f5f5f3}header{background:#fff;color:#4a5158;border-bottom:6px solid #fdc100}.eyebrow{color:#4a5158}.identity span{color:#4a5158}.button,button{background:#fdc100;color:#4a5158}.secondary{background:#fff;color:#4a5158;border-color:#d8dadd}.attended{color:#4a5158}.savebar button{background:#fdc100;color:#4a5158}.metric{border-top:4px solid #fdc100}@media(max-width:760px){.brand{gap:14px}.brand img{width:78px;height:92px}.brand h1{font-size:clamp(28px,8vw,42px)}}
.guest-badge{display:inline-block;margin-left:8px;padding:3px 7px;border-radius:999px;background:#fdc100;color:#4a5158;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}.guest-email{display:block;margin-top:4px;color:#65716d;font-size:.78rem;font-weight:400}
.guest-term-label{color:#fdc100;font-weight:800}
#student-view{background:transparent;border:0;overflow:visible;display:grid;gap:30px}.student-block{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.student-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:26px}.student-head p,.student-section-head p{margin:5px 0;color:#65716d}.student-page-title{font-size:2rem;letter-spacing:-.025em;margin:0 0 8px}.student-course-title{font-size:1.05rem;margin:0 0 5px;font-weight:800}.student-current-total{font-size:1.18rem;margin:22px 0 4px}.student-section-head{padding:24px 24px 18px}.student-section-head h2{font-size:1.55rem;margin:0 0 5px}.student-section-value{font-size:1.05rem;font-weight:800;color:#4a5158!important}@media(max-width:760px){#student-view{gap:20px}.student-head{flex-direction:column;padding:20px}.student-page-title{font-size:1.65rem}.student-section-head{padding:20px 18px 14px}.student-section-head h2{font-size:1.35rem}}

.tabs{display:flex;gap:8px;margin-bottom:18px}.tabs button{background:#fff;color:#4a5158;border:1px solid #d8dadd}.tabs button.active{background:#fdc100;border-color:#fdc100}
.connect{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff8de;border:1px solid #fdc100;border-radius:14px;padding:18px 22px;margin-bottom:18px}.connect p{margin:4px 0 0}
.state-badge{background:#e4e6e8}
.insights-table td{vertical-align:top}.insights-table .sub{display:block;font-size:.78rem;color:#65716d}.insights-table tr.flagged td:first-child{box-shadow:inset 4px 0 0 #fdc100}
.hint{display:inline-block;margin:0 6px 4px 0;padding:3px 8px;border-radius:999px;background:#fff8de;border:1px solid #fdc100;font-size:.75rem;white-space:nowrap}
.metric.compact{min-width:140px}.notice{padding:28px}
@media(max-width:760px){.connect{flex-direction:column;align-items:flex-start}.tabs{flex-wrap:wrap}}
@media(max-width:760px){.brand h1{font-size:clamp(20px,5.4vw,42px)}}
.remove-guest{margin-left:8px;padding:2px 9px;font-size:.72rem;background:#fff!important;color:#4a5158!important;border:1px solid #d8dadd;border-radius:999px;cursor:pointer}.remove-guest:hover{border-color:#c0392b;color:#c0392b!important}
.name-cell{display:flex;align-items:center;gap:8px}.name-cell .guest-badge{margin-left:0}.name-cell .remove-guest{margin-left:auto;white-space:nowrap}.name-cell strong{white-space:nowrap}
.import-panel{margin-bottom:18px}.import-body{padding:0 24px 18px}.file-pick{display:inline-flex;gap:10px;align-items:center;padding:12px 16px;border:2px dashed #d8dadd;border-radius:12px;cursor:pointer;margin-bottom:14px}
.import-metrics{margin:6px 0 14px}.import-warn,.import-error,.import-ok{border-radius:10px;padding:12px 16px;margin:10px 0}.import-warn{background:#fff8de;border:1px solid #fdc100}.import-error{background:#fdecea;border:1px solid #e0a39c;color:#8a2a1f}.import-ok{background:#eaf6ec;border:1px solid #9cc9a4}
.import-warn ul,.import-error ul,.import-details ul{margin:6px 0 0 18px;padding:0}.import-details{margin:10px 0}.import-details summary{cursor:pointer;font-weight:700}.import-options{display:grid;gap:8px;margin:14px 0}.import-options label{display:flex;gap:8px;align-items:flex-start}
.course-stamp{display:inline-block;margin:3px 4px 0 0;padding:2px 8px;border:1px solid #4a5158;border-radius:6px;font-size:.72rem;font-weight:700;letter-spacing:.02em;white-space:nowrap;color:#4a5158;background:#fff}
.program-tiles{display:flex;flex-wrap:wrap;gap:12px}.program-tile{display:flex;flex-wrap:wrap;align-items:center;gap:6px;text-align:left;background:#fff!important;color:#4a5158!important;border:2px solid #fdc100;border-radius:14px;padding:14px 18px;cursor:pointer;max-width:100%}
.program-tile.active{background:#fff8de!important;box-shadow:0 0 0 3px #fff8de}.program-tile strong{font-size:.95rem}.program-plus{font-weight:800;color:#4a5158}.program-badge{flex-basis:100%;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8a6d00}
.student-link{background:none!important;border:0;padding:0;font:inherit;font-weight:800;color:#4a5158!important;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:#fdc100;text-underline-offset:3px}.back-button{justify-self:start}
#insights .card-head{align-items:center;gap:14px}#insights .card-head > div:first-child{flex:1}
.unrecognized{background:#fdecea;border:1px solid #e0a39c;color:#8a2a1f;border-radius:12px;padding:12px 16px;margin-bottom:16px}.unrecognized summary{cursor:pointer}.unrecognized ul{margin:8px 0 6px 18px;padding:0}.unrecognized p{margin:4px 0 0}
.held-box{margin:18px 24px 24px;padding:16px 18px;border:1px solid #fdc100;background:#fff8de;border-radius:12px}.held-box h3{margin:0 0 4px}.held-box p{margin:0 0 10px;color:#65716d}.held-box table td{padding:6px 10px;border:0;vertical-align:middle}
.bulk-table td{vertical-align:middle}.bulk-table select{max-width:240px}.bulk-badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:.75rem;font-weight:700;white-space:nowrap}.bulk-ok .bulk-badge{background:#eaf6ec;color:#22663a}.bulk-warn .bulk-badge{background:#fff8de;color:#8a6d00;border:1px solid #fdc100}.bulk-error .bulk-badge{background:#fdecea;color:#8a2a1f}.bulk-error td{color:#8a2a1f}
.bulk-badge{white-space:normal!important;max-width:220px}
