:root{--blue:#2563eb;--line:#dbe3ef;--bg:#f6f9fd;--text:#1f2d3d;--muted:#7b8794;--card:#fff;--green:#16a34a;--red:#ef4444;--orange:#f59e0b}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Noto Sans KR',Arial,sans-serif;background:var(--bg);color:var(--text)}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.topbar strong{display:block;font-size:18px}.muted{color:var(--muted);font-size:13px}.sync{font-size:13px;color:var(--muted)}
.tabs{display:flex;gap:10px;padding:14px 22px;background:#fff;border-bottom:1px solid var(--line);overflow:auto}.tab{border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px 15px;font-weight:700;color:#2272cf;white-space:nowrap}.tab.active{background:var(--blue);color:#fff;border-color:var(--blue)}
#app{padding:22px}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 4px 16px rgba(15,23,42,.04)}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.btn{border:0;border-radius:10px;padding:11px 16px;background:var(--blue);color:#fff;font-weight:800;cursor:pointer}.btn.secondary{background:#fff;color:var(--blue);border:1px solid var(--line)}.btn.danger{background:#fff;color:var(--red);border:1px solid #fecaca}.btn.green{background:var(--green)}
select,input,textarea{border:1px solid var(--line);border-radius:10px;padding:11px 12px;font:inherit;background:#fff}textarea{width:100%;min-height:88px;resize:vertical}.grid{display:grid;grid-template-columns:330px 1fr;gap:18px}.list{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.listHead{padding:14px 16px;font-weight:900;border-bottom:1px solid var(--line)}.studentList{max-height:66vh;overflow:auto}.studentBtn{width:100%;display:grid;grid-template-columns:62px 1fr;align-items:center;border:0;background:#fff;border-bottom:1px solid var(--line);padding:0;cursor:pointer}.studentBtn.active{background:#eaf5ff}.num{font-weight:800;text-align:center;padding:18px 8px;border-right:1px solid var(--line)}.name{padding:12px 14px;text-align:center}.badge{display:inline-flex;gap:4px;align-items:center;border:2px solid #f2bd00;background:#fff7d6;color:#8a5a00;border-radius:999px;padding:8px 18px;font-weight:900}.count{color:#d97706;font-size:12px}.detail{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.detailTitle{text-align:center;font-size:22px;font-weight:900;border-bottom:3px solid #2396eb;padding-bottom:16px;margin-bottom:18px}.profile{display:flex;gap:22px;align-items:flex-start}.photo{width:150px;height:180px;border:2px dashed var(--line);border-radius:18px;display:flex;align-items:center;justify-content:center;color:var(--muted);overflow:hidden;background:#fafcff}.photo img{width:100%;height:100%;object-fit:cover}.fields{flex:1;display:grid;gap:10px}.field2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.label{font-size:13px;color:var(--muted);font-weight:800}.noteItem{border:1px solid var(--line);border-left:5px solid #2396eb;background:#fbfdff;border-radius:10px;padding:12px;margin-top:8px;display:flex;justify-content:space-between;gap:8px}.empty{padding:50px;text-align:center;color:var(--muted)}.uploadBox{border:3px dashed #4aa3df;background:#f3fbff;border-radius:18px;padding:20px;text-align:center;margin-bottom:16px}.hint{font-size:13px;color:#6b7280}.placeholder{min-height:380px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted)}
@media(max-width:850px){#app{padding:14px}.grid{grid-template-columns:1fr}.profile{flex-direction:column}.photo{width:100%;height:220px}.field2{grid-template-columns:1fr}.topbar{padding:14px}.tabs{padding:10px}.studentList{max-height:none}}
.tableWrap{overflow:auto}.dataTable{width:100%;border-collapse:collapse;min-width:980px;background:#fff}.dataTable th,.dataTable td{border:1px solid var(--line);padding:8px;text-align:center;white-space:nowrap}.dataTable th{background:#f1f5f9;font-weight:900}.dataTable input,.dataTable select{width:100%;min-width:72px;padding:7px 8px}.dataTable .bmiCell{font-weight:900;color:#0f766e;background:#f0fdfa}

.papsTable th{white-space:nowrap;text-align:center}
.papsTable td{white-space:nowrap;text-align:center}
.papsTable .papsInput{width:72px;text-align:center}
.papsTable .bestCell,.papsTable .bmiCell{font-weight:700;background:#f8fafc}

.assessTable .assessInput{width:76px;text-align:center}.assessTable .assessTotal{font-weight:900;background:#f8fafc;color:#0f766e}
