*{box-sizing:border-box}body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;background:#f4f6fb;color:#1e2433}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:10px 12px;font-size:13px;border-bottom:1px solid #edf0f6}th{color:#8a92a6;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.4px}tr.clickable:hover{background:#f7f9fd;cursor:pointer}input,select,button,textarea{font-family:inherit}.card{background:#fff;border:1px solid #e3e7f0;border-radius:10px;padding:18px}.btn{background:#2b5ce6;color:#fff;border:none;border-radius:8px;padding:9px 16px;font-size:14px;font-weight:600;cursor:pointer}.btn.secondary{background:#fff;color:#1e2433;border:1px solid #e3e7f0}.btn.danger{background:#d64545}.btn:disabled{background:#e3e7f0;color:#8a92a6;cursor:default}.input{width:100%;padding:9px 12px;font-size:14px;border:1px solid #e3e7f0;border-radius:8px;outline:none;background:#fff}.error-banner{background:#fdeaea;border:1px solid #d64545;color:#d64545;border-radius:8px;padding:10px 14px;font-size:13px;margin-bottom:14px}.badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:700}.badge.completed{background:#e6f6ee;color:#1a9e57}.badge.cancelled{background:#fdeaea;color:#d64545}.badge.recording,.badge.processing,.badge.preview{background:#fdf3dd;color:#b97a08}.badge.admin{background:#e8eefc;color:#2b5ce6}.badge.doctor{background:#eef1f7;color:#5a6274}
