:root{--ink:#18251f;--green:#22744f;--paper:#fff;--bg:#f3f7f4;--line:#d7e2da;--muted:#66776c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px system-ui,-apple-system,Segoe UI,sans-serif}header{min-height:62px;padding:0 5vw;background:#fff;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:21px;font-weight:750;color:var(--green);text-decoration:none}nav{display:flex;align-items:center;gap:14px}nav a{color:var(--ink);text-decoration:none}nav form{margin:0}button{background:var(--green);color:#fff;border:0;border-radius:8px;padding:10px 14px;font:inherit;font-weight:650;cursor:pointer}nav button{background:transparent;color:var(--ink);padding:4px}main{max-width:980px;margin:42px auto;padding:0 20px}h1{font-size:30px;margin:0 0 20px}.lead{font-size:19px}.card{max-width:560px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 10px 30px #14291b0b}label{display:block;margin:0 0 14px;font-weight:650}input,select{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #b9c9bd;border-radius:7px;background:#fff;font:inherit}.error{color:#a72727}.notice{background:#fff4d9;padding:12px;border-radius:8px}.success{border-color:#8bc4a6}.qr{width:280px;max-width:100%;background:#fff;padding:9px}.qr svg{display:block;width:100%;height:auto}.table{max-width:none;overflow:auto}.table table{border-collapse:collapse;width:100%}.table th,.table td{padding:10px;text-align:left;border-bottom:1px solid var(--line)}code{display:block;overflow-wrap:anywhere}.class-admin-table{padding:12px}.class-admin-table table{font-size:13px}.class-admin-table th,.class-admin-table td{padding:3px 6px;line-height:1.15}.class-admin-table input{min-width:170px;margin:0;padding:4px 6px;border-radius:5px;font-size:13px;line-height:18px}.class-admin-table p{margin:10px 0 0}.class-admin-table button{padding:8px 12px;font-size:14px}@media(max-width:640px){header{align-items:flex-start;gap:12px;padding:14px 20px;flex-direction:column}nav{flex-wrap:wrap}main{margin:26px auto;padding:0 14px}h1{font-size:25px}.card{padding:18px}.class-admin-table{padding:8px}.class-admin-table th,.class-admin-table td{padding:3px 4px}.class-admin-table input{min-width:145px}}
