:root{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;color:#3c3431;background:#faf6f2;line-height:1.6}*{box-sizing:border-box}body{margin:0}header{padding:22px max(5vw,20px);display:flex;align-items:center;gap:18px;border-bottom:1px solid #eadfd8;background:#fffdfa}.brand{font-size:26px;letter-spacing:2px}.brand b{color:#a84450;font-weight:500}.badge{font-size:12px;padding:4px 12px;border-radius:20px;background:#f2e4de;color:#805349}header button{margin-left:auto}main{max-width:1100px;margin:30px auto;padding:0 20px}.notice{padding:14px 18px;border:1px solid #e4d6c8;background:#fff7e8;border-radius:12px;font-size:14px}.card{background:#fffdfb;border:1px solid #eadfd8;border-radius:22px;padding:28px;margin:24px 0;box-shadow:0 8px 25px #6d4f3a05}.narrow{max-width:520px;margin:36px auto}.eyebrow{letter-spacing:3px;font-size:11px;color:#9b6963;font-weight:700}h1{font-size:28px;line-height:1.5;font-weight:550}h2{font-size:21px;font-weight:550}h3{font-size:17px}p{color:#796c65}button,input,select,textarea{font:inherit}button{border:1px solid #dac8bf;background:#fffdfb;color:#72554c;border-radius:10px;padding:10px 17px;cursor:pointer}button:hover{background:#f6eae4}button:disabled{opacity:.5;cursor:wait}.primary,.tabs .active{background:#a84450;color:#fff;border-color:#a84450}.primary:hover{background:#8d3540}.wide{width:100%}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.tabs button{flex:1;white-space:nowrap}label{display:block;font-size:14px;color:#6d5b54;margin:10px 0}input,select,textarea{display:block;width:100%;padding:11px 12px;border:1px solid #dfd3ca;border-radius:10px;background:#fffcf9;color:#3c3431;margin-top:6px}textarea{min-height:90px;resize:vertical}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;align-items:end}.hint{font-size:13px;color:#95867c}article,.student-row,.record{padding:18px 0;border-bottom:1px solid #ebdfd7}.student-row{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.record p{white-space:pre-wrap}.feedback{border-left:3px solid #9cae91;padding:8px 16px;background:#f3f7ee}#message{position:sticky;top:12px;z-index:2;background:#f1f7ec;border-radius:12px;white-space:pre-wrap}#message:not(:empty){padding:16px;border:1px solid #ceddc3}#message.error{background:#ffebe5;border-color:#e4b4a7;color:#843a32}footer{text-align:center;padding:32px;color:#a38e80;font-size:13px}[hidden]{display:none!important}code{overflow-wrap:anywhere}@media(max-width:600px){header{gap:8px;flex-wrap:wrap}.brand{font-size:22px}.card{padding:20px}h1{font-size:24px}.tabs button{font-size:14px;padding:9px}.grid{grid-template-columns:1fr}}
dialog{max-width:560px;width:calc(100% - 32px);border:1px solid #dac8bf;border-radius:18px;padding:24px;background:#fffdfb;color:#3c3431}dialog::backdrop{background:#30242188}#accountActionError,#feedbackServiceError,#journalAccessError{color:#843a32}#accountSecurity summary{cursor:pointer}#temporaryPassword,#mfaSecret,#mfaRecoveryCodes{font-family:monospace;overflow-wrap:anywhere}.service-toggle{display:flex;align-items:center;gap:10px;padding:12px 0}.service-toggle input{width:auto;margin:0}.service-toggle+label small{display:block;margin-top:5px}
.section-title h2,.detail-heading h2{margin:0}.section-title p:last-child{margin-top:4px}.student-filters{display:grid;grid-template-columns:minmax(220px,2fr) minmax(180px,1fr) auto;gap:14px;align-items:end;margin:24px 0 8px;padding:16px;border-radius:16px;background:#faf4ef}.student-filters p{margin:0 0 12px}.student-main{min-width:min(100%,520px);flex:1}.student-name-line{display:flex;align-items:center;gap:10px;margin-bottom:2px}.student-name-line strong{font-size:17px}.status-pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700}.status-pill.is-active{background:#e7f1df;color:#49613c}.status-pill.is-paused{background:#f3e7e2;color:#805349}.student-overview{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:8px;margin:12px 0;padding:12px;border:1px solid #eadfd8;border-radius:12px;background:#fffaf7;font-size:13px;color:#5f514b}.student-service-lines{display:flex;gap:7px 14px;flex-wrap:wrap;font-size:12px;color:#95867c}.empty-state{padding:22px;border-radius:14px;background:#faf4ef;text-align:center}.detail-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.detail-summary-grid{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.detail-summary-grid span{padding:6px 10px;border-radius:999px;background:#f5ebe5;color:#72554c;font-size:13px}.detail-filters{display:grid;grid-template-columns:180px 180px auto 1fr;gap:12px;align-items:end;margin:20px 0;padding:14px;border:1px solid #eadfd8;border-radius:14px}.detail-filters .hint{text-align:right;margin:0 0 10px}
@media(max-width:760px){.student-filters,.detail-filters{grid-template-columns:1fr}.student-overview{grid-template-columns:1fr}.detail-filters .hint{text-align:left}.detail-heading{flex-direction:column}.detail-heading button{order:-1;align-self:flex-end}}
