/* 로그인·슈퍼 관리자 화면 공통 (병원 화면 app.html 과 같은 색) */
:root{
  --blue:#1F5BE0; --blue-ink:#1747B5; --blue-soft:#EAF0FE; --mint:#2FC7B4; --mint-ink:#0B8A7B; --mint-soft:#E3F8F4;
  --navy:#0B1B3A; --navy-2:#132649; --navy-line:#21365E; --navy-fg:#C9D5EC; --navy-dim:#7F90B2;
  --bg:#F2F5FA; --surface:#FFFFFF; --surface-2:#F7F9FC; --line:#E2E8F2; --line-2:#EDF1F7;
  --fg:#0E1A33; --muted:#56637C; --faint:#8A96AD;
  --ok:#0C8F63; --ok-bg:#E3F6EE; --warn:#B65F00; --warn-bg:#FFF2DF; --bad:#CC2F43; --bad-bg:#FDEBED; --neutral-bg:#EEF1F6;
  --shadow:0 1px 2px rgba(11,27,58,.05),0 8px 24px -12px rgba(11,27,58,.12); --shadow-lg:0 24px 64px -16px rgba(11,27,58,.35);
  --f-body:"IBM Plex Sans KR","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif; --f-num:"Sora","IBM Plex Sans KR",system-ui,sans-serif;
  --r:12px; --r-sm:8px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --blue:#4C80F2; --blue-ink:#8DB0FF; --blue-soft:#18294D; --mint:#3AD3BF; --mint-ink:#5FE0CE; --mint-soft:#103A3A;
  --navy:#070F22; --navy-2:#0F1C38; --navy-line:#1B2B4C;
  --bg:#0B1428; --surface:#111D36; --surface-2:#15223F; --line:#22314F; --line-2:#1B2945;
  --fg:#E6ECF7; --muted:#9DABC4; --faint:#6F7E9A;
  --ok:#3DD39A; --ok-bg:#0F3229; --warn:#F2A94A; --warn-bg:#3A2A12; --bad:#FF6F80; --bad-bg:#3D1823; --neutral-bg:#1C2843;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px -12px rgba(0,0,0,.5); color-scheme:dark}}
:root[data-theme="dark"]{
  --blue:#4C80F2; --blue-ink:#8DB0FF; --blue-soft:#18294D; --mint:#3AD3BF; --mint-ink:#5FE0CE; --mint-soft:#103A3A;
  --navy:#070F22; --navy-2:#0F1C38; --navy-line:#1B2B4C;
  --bg:#0B1428; --surface:#111D36; --surface-2:#15223F; --line:#22314F; --line-2:#1B2945;
  --fg:#E6ECF7; --muted:#9DABC4; --faint:#6F7E9A;
  --ok:#3DD39A; --ok-bg:#0F3229; --warn:#F2A94A; --warn-bg:#3A2A12; --bad:#FF6F80; --bad-bg:#3D1823; --neutral-bg:#1C2843;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px -12px rgba(0,0,0,.5); color-scheme:dark}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
.num{font-family:var(--f-num)}
a{color:var(--blue-ink)}
h1,h2,h3{margin:0;line-height:1.3}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.inp,select.inp,textarea.inp{width:100%;font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 11px;outline:none}
.inp:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}
textarea.inp{resize:vertical;min-height:70px}
label.f{display:block;margin-bottom:12px}
label.f>span{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:5px}
label.f>small{display:block;color:var(--faint);font-size:12px;margin-top:4px}
.btn{font:inherit;font-weight:600;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:var(--r-sm);padding:8px 14px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
a.btn{text-decoration:none}
.btn:hover{border-color:var(--blue)}
.btn:disabled{opacity:.55;cursor:default}
.btn.pri{background:var(--blue);border-color:var(--blue);color:#fff}
.btn.pri:hover{background:var(--blue-ink)}
.btn.bad{color:var(--bad)}
.btn.sm{padding:4px 10px;font-size:12.5px}
.btn.block{width:100%;justify-content:center;padding:11px}
.msg{border-radius:var(--r-sm);padding:10px 12px;font-size:13px;margin-bottom:12px}
.msg.bad{background:var(--bad-bg);color:var(--bad)}
.msg.ok{background:var(--ok-bg);color:var(--ok)}
.msg.warn{background:var(--warn-bg);color:var(--warn)}
.msg.info{background:var(--blue-soft);color:var(--blue-ink)}
.chip{display:inline-block;font-size:11.5px;font-weight:600;border-radius:99px;padding:2px 8px;background:var(--neutral-bg);color:var(--muted)}
.chip.ok{background:var(--ok-bg);color:var(--ok)}.chip.bad{background:var(--bad-bg);color:var(--bad)}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.info{background:var(--blue-soft);color:var(--blue-ink)}
.muted{color:var(--muted)}.faint{color:var(--faint)}
.mono{font-family:ui-monospace,Consolas,monospace;font-size:12.5px}
.temp{font-family:ui-monospace,Consolas,monospace;font-size:20px;font-weight:700;letter-spacing:.06em;background:var(--surface-2);border:1px dashed var(--line);border-radius:var(--r-sm);padding:10px;text-align:center;user-select:all}
table.t{width:100%;border-collapse:collapse;font-size:13px}
table.t th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface-2)}
table.t td{padding:8px 10px;border-bottom:1px solid var(--line-2);vertical-align:top}
table.t tr:hover td{background:var(--surface-2)}
.scrollx{overflow-x:auto}
.modal-bg{position:fixed;inset:0;background:rgba(11,27,58,.45);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;z-index:50;overflow:auto}
.modal{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow-lg);width:100%;max-width:520px;padding:22px}
.modal.wide{max-width:820px}
.modal h3{font-size:17px;margin-bottom:6px}
.modal .acts{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--navy);color:#fff;border-radius:99px;padding:10px 18px;font-size:13.5px;z-index:60;box-shadow:var(--shadow-lg);max-width:calc(100% - 32px)}
.brand{display:flex;align-items:center;gap:10px}
.brand .logo{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--blue),var(--mint));display:grid;place-items:center;color:#fff;font-family:var(--f-num);font-weight:700}
.brand b{font-family:var(--f-num);font-size:20px;letter-spacing:.02em}
.help{background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:10px 12px;font-size:12.5px;color:var(--muted)}
.help b{color:var(--fg)}
