:root{color:#22302c;background:#f6f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{border:1px solid #285f56;background:#285f56;color:#fff;border-radius:6px;min-height:42px;padding:0 16px;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button.secondary{background:#fff;color:#285f56}button.smallButton{min-height:34px;padding:0 12px}input,select{width:100%;min-height:42px;border:1px solid #c8d2cc;border-radius:6px;padding:0 12px;background:#fff;color:#22302c}h1{margin:0 0 16px;font-size:1.35rem}.busyOverlay{align-items:center;background:#22302c47;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:20px;position:fixed;z-index:20}.busyBox{align-items:center;background:#fff;border:1px solid #d9dfdc;border-radius:8px;box-shadow:0 18px 50px #22302c2e;color:#22302c;display:grid;font-weight:720;gap:12px;justify-items:center;min-width:min(320px,calc(100vw - 48px));padding:24px;text-align:center}.spinner{animation:spin .9s linear infinite;border:3px solid #d9dfdc;border-top-color:#285f56;border-radius:999px;height:34px;width:34px}@keyframes spin{to{transform:rotate(360deg)}}.appShell{width:min(960px,calc(100vw - 32px));margin:0 auto;padding:24px 0 48px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.topActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.headerIdentity{display:grid;gap:4px;min-width:0}.brandRow{align-items:center;display:flex;gap:10px}.brandRow img{height:40px;width:40px}.brand{font-weight:760;font-size:1.32rem}.sessionLine{color:#4e5e58;font-size:.9rem}.subtle,.muted{color:#687772}.preline{white-space:pre-line}.modelPill{border:1px solid #d9dfdc;background:#fff;color:#4e5e58;border-radius:999px;font-size:.86rem;padding:7px 11px;white-space:nowrap}.modelPill.ready{border-color:#8bb69f;color:#285f56}.modelPill.loading,.modelPill.not_loaded{border-color:#d4b15d;color:#765b18}.modelPill.failed{border-color:#c97979;color:#8a2f2f}.panel{background:#fff;border:1px solid #d9dfdc;border-radius:8px;padding:20px}.homePage{display:grid;gap:22px}.homeLogo{width:100%;max-height:260px;object-fit:contain}.homeControls{align-items:end;display:grid;grid-template-columns:minmax(220px,320px) max-content;justify-content:center;gap:14px}.homeControls label{color:#3d4c47;display:grid;gap:6px;font-weight:650}.homeSection{display:grid;gap:12px}.homeSection p{color:#3d4c47;line-height:1.6;margin:0}.teamGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.teamMember{border:1px solid #d9dfdc;border-radius:8px;background:#fff;display:grid;gap:10px;padding:14px}.teamMember img{width:150px;height:150px;border-radius:8px;object-fit:cover}.teamMember h2{color:#22302c;font-size:1rem;margin:0}.teamMember p{color:#4e5e58;font-size:.92rem;line-height:1.45;margin:0}.notice{border:1px solid #d4b15d;background:#fff8e5;border-radius:8px;color:#66501a;margin-bottom:14px;padding:12px 14px}.formGrid{display:grid;gap:14px}.formGrid label{display:grid;gap:6px;color:#3d4c47;font-weight:650}.idPreview{color:#687772;font-size:.95rem}.fieldHint{color:#8a5a18;font-size:.92rem;margin-top:-8px}.checkGroup,.radioRow{border:1px solid #d9dfdc;border-radius:8px;margin:0;padding:12px}.checkGroup legend,.radioRow legend{color:#3d4c47;font-weight:700;padding:0 6px}.checkGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.checkItem,.radioRow label,.formGrid .checkItem,.formGrid .radioRow label{align-items:center;color:#3d4c47;display:flex;font-weight:520;gap:8px;min-height:32px}.checkItem input,.radioRow input,.formGrid .checkItem input,.formGrid .radioRow input{flex:0 0 auto;width:18px;min-height:18px}.survey{border-top:1px solid #d9dfdc;display:grid;gap:18px;margin-top:8px;padding-top:16px}.survey h2,.survey h3{margin:0}.survey h2{color:#22302c;font-size:1.35rem;font-weight:760}.survey h3{color:#3d4c47;font-size:1.08rem;font-weight:720;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.surveySection{display:grid;gap:12px}.survey .radioRow legend{color:#3d4c47;font-size:.96rem;font-weight:650}.surveyPrompt{color:#3d4c47;font-size:.96rem;font-weight:650;margin:0}.radioRow{display:flex;flex-wrap:wrap;gap:8px 14px}.diagnosis,.symptomRow{display:grid;gap:8px}.diagnosisYear{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(120px,180px) max-content}.diagnosisYear .unknownCheck{min-height:42px;padding-bottom:1px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.camera{display:grid;gap:12px}.cameraSelect{display:grid;gap:6px;color:#3d4c47;font-weight:650}.cameraPreview{position:relative}.camera video,.camera img,.reviewGrid img{width:100%;max-height:480px;object-fit:contain;background:#111;border-radius:8px}.camera .faceOverlay{background:transparent;top:0;right:0;bottom:0;left:0;height:100%;max-height:none;opacity:.35;pointer-events:none;position:absolute}.reviewGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.reviewGrid figure{display:grid;gap:8px;margin:0}.reviewGrid figcaption{color:#4e5e58;font-size:.92rem;font-weight:650;text-align:center}.tableWrap{border:1px solid #d9dfdc;border-radius:8px;margin-top:14px;max-height:260px;overflow:auto}table{border-collapse:collapse;font-size:.9rem;width:100%}th,td{border-bottom:1px solid #e8ece9;padding:8px 10px;text-align:left;white-space:nowrap}th{background:#f6f7f4;color:#3d4c47;font-weight:700}.dataPreview{overflow:auto;max-height:220px;border:1px solid #d9dfdc;border-radius:6px;background:#f6f7f4;padding:12px;color:#3d4c47}@media (max-width: 720px){.topbar{align-items:flex-start;flex-direction:column}.homeControls,.teamGrid,.checkGrid,.reviewGrid{grid-template-columns:1fr}}
