
/* ─ 다크 글래스 테마(Fable/Linear 방향·06-12 대표 승인) — 클래스명 불변=기능 무수정 스킨 교체 ─ */
:root{--bg:#0a0e1a;--bg2:#0d1322;--panel:rgba(255,255,255,.045);--panel2:rgba(255,255,255,.08);
 --line:rgba(255,255,255,.09);--line2:rgba(255,255,255,.17);--tx:#e7ecf5;--tx2:#9aa7bd;--tx3:#76859f;
 --ac:#6d7cff;--ac2:#22d3ee;--warn:#fbbf24;--bad:#fb7185;--ok:#34d399;--pur:#9469f7;
 --grad:linear-gradient(135deg,#6d7cff 0%,#22d3ee 100%)}
/* ☀️ 라이트 모드(06-27 대표·어둡다는 의견) — 변수만 뒤집으면 var() 기반 대부분 반영. 기본=다크·data-theme=light 옵트인 */
html[data-theme=light]{color-scheme:light;--bg:#eef1f7;--bg2:#ffffff;--panel:rgba(20,28,46,.04);--panel2:rgba(20,28,46,.075);--line:rgba(20,28,46,.13);--line2:rgba(20,28,46,.22);--tx:#1b2233;--tx2:#54607a;--tx3:#5e697e;/* ⭐08-18 — 밝게 모드에서 이 다섯이 배경과 2.7~4.0:1 이라 안 보였다(실측 42건).
   색조·채도는 그대로 두고 **밝기만** 낮춰 WCAG 4.5:1 을 넘긴 최소 변경값이다.
   `_chk_contrast_live.py` 가 매일 이 값을 다시 잰다 — 손대면 바로 빨개진다. */
--ac:#4350d2;--ac2:#066a82;--warn:#9d4808;--bad:#bd1e1e;--ok:#046f4e;--pur:#692cf3}
[data-theme=light] body{background:radial-gradient(820px 480px at -8% 28%,rgba(79,91,213,.05),transparent 55%),var(--bg)}
[data-theme=light] header{background:linear-gradient(160deg,rgba(79,91,213,.10),rgba(8,145,178,.04) 55%,#fbfcff);color:var(--tx);border-bottom:1px solid var(--line)}
[data-theme=light] header .b,[data-theme=light] header .ver,[data-theme=light] header .cname{color:var(--tx)}
[data-theme=light] header a{color:var(--tx2)} [data-theme=light] header a:hover{color:var(--tx)}
[data-theme=light] select,[data-theme=light] .stmenu{background-color:#ffffff;color:var(--tx)}
[data-theme=light] ::-webkit-scrollbar-thumb{background:rgba(20,28,46,.22)}
[data-theme=light] .stmenu{background:#ffffff;border-color:rgba(20,28,46,.18)}
/* ☀️ 라이트 모드 정밀 오버라이드(06-27 감사) — 하드코딩 색이 라이트에서 안 보이던 곳. 전부 [data-theme=light] 전용·다크 무영향 */
[data-theme=light] header a:hover,[data-theme=light] header .verinfo:hover,[data-theme=light] header .hdbtn:hover{color:var(--tx)}
/* ☀️ 08-07 대비 점검(대표 "밝게에서 잘 안 보이는 부분") — 다크용 밝은 색이 흰 배경에 그대로 쓰이던 곳.
   .uadmlab(관리자 라벨) 노랑 #fcd34d = 흰 위 1.4:1 · .fchk:hover 흰 글씨 = 흰 위 1.0:1(사실상 안 보임). */
[data-theme=light] .uadmlab{color:#a16207}
[data-theme=light] .fchk:hover{color:var(--tx)}
[data-theme=light] header .ver{color:var(--tx3)}
[data-theme=light] header .verinfo{color:var(--ac)}
[data-theme=light] header .cname{color:#fff;background:linear-gradient(135deg,#7c3aed,#db2777);border-color:transparent}
[data-theme=light] header .plbadge{color:var(--ok)} [data-theme=light] header .plbadge.demo{color:var(--warn)}
[data-theme=light] .hero .tag{color:var(--ac)}
[data-theme=light] .crit{color:var(--tx2)} [data-theme=light] .crit b{color:var(--ac2)}
[data-theme=light] .thval{color:#5b4a86} [data-theme=light] .thval b{color:#3b2d63} [data-theme=light] .thval .thedit{color:var(--ac)}
[data-theme=light] .qhelp{color:var(--ac2)}
[data-theme=light] .rep .rh1{color:var(--tx)} [data-theme=light] .rep .rh2{color:var(--ac)}
[data-theme=light] .rep .ri b{color:var(--tx)} [data-theme=light] .rep .ri .num{color:var(--ac2)}
[data-theme=light] th{color:var(--ac)}
[data-theme=light] th,[data-theme=light] td{border-bottom-color:var(--line)}
[data-theme=light] tbody tr:hover td{background:rgba(79,91,213,.08)}
[data-theme=light] .cnt,[data-theme=light] .tabbtn .cnt2{color:var(--ac)}
[data-theme=light] .stbtn::after{color:var(--tx3)}
[data-theme=light] .loginbar a{color:var(--ac)} [data-theme=light] .loginbar .llogout{color:var(--bad)} [data-theme=light] .loginbar .lrole{color:var(--ac)}
[data-theme=light] .chip.c-bad{background:rgba(220,38,38,.10);color:#b91c1c} [data-theme=light] .chip.c-warn{background:rgba(180,83,9,.12);color:#994708} [data-theme=light] .chip.c-ok{background:rgba(5,150,105,.12);color:#046c4e}
[data-theme=light] .sev-high,[data-theme=light] .rerank{color:var(--bad)} [data-theme=light] .sev-med{color:var(--warn)} [data-theme=light] .sev-low{color:var(--ok)}
[data-theme=light] .actiontip,[data-theme=light] .act2,[data-theme=light] .stbtn.stdone{color:var(--ok)}
/* 관제센터(center) — 브레인 박스는 라이트에서도 다크 유지(3D 발광·흰글자 보존), 나머지는 라이트 */
[data-theme=light] .cst{color:var(--tx2)} [data-theme=light] .cst b{color:var(--tx)}
[data-theme=light] .brainbox,[data-theme=light] .sbrain .brainbox{background:radial-gradient(440px 320px at 50% 46%,rgba(109,124,255,.24),transparent 70%),#0b1020;border-color:rgba(20,28,46,.16)}
[data-theme=light] .shero{background:linear-gradient(155deg,rgba(79,91,213,.10),rgba(8,145,178,.05) 52%,transparent),var(--bg2);box-shadow:0 18px 50px rgba(20,28,46,.10)}
[data-theme=light] .shero .fl{background:radial-gradient(circle,rgba(79,91,213,.30),rgba(79,91,213,0) 70%)}
[data-theme=light] .shbasis{background:rgba(20,28,46,.04);border:1px solid var(--line);color:var(--tx2)}
[data-theme=light] .wave i{background:var(--ac)}
[data-theme=light] .riskc.feat{background:linear-gradient(120deg,rgba(220,38,38,.07),var(--panel) 60%)}
[data-theme=light] .riskc:hover{box-shadow:0 14px 30px rgba(20,28,46,.14)}
[data-theme=light] .patc:hover{box-shadow:0 14px 28px rgba(20,28,46,.14)}
[data-theme=light] .patc .prank{color:rgba(20,28,46,.06)}
[data-theme=light] .patc .ploss .v{color:var(--bad)}
[data-theme=light] .patc .pact{background:rgba(79,91,213,.10);border:1px solid rgba(79,91,213,.28);color:var(--ac)} [data-theme=light] .patc:hover .pact{background:rgba(79,91,213,.16)}
[data-theme=light] #feed .fitem .fl2>b[style]{color:var(--tx)!important} [data-theme=light] #feed .fitem .fai{color:var(--ac2)}
[data-theme=light] .actu{background:rgba(20,28,46,.04);border:1px solid var(--line)}
[data-theme=light] .ptop{background:rgba(20,28,46,.03)} [data-theme=light] .ptop:hover{background:rgba(220,38,38,.05);border-color:rgba(220,38,38,.30)}
[data-theme=light] .actr{background:rgba(20,28,46,.03)}
[data-theme=light] .dtable .drow:hover td{background:rgba(20,28,46,.05)}
[data-theme=light] .agentbar span[style*="#a5f3c4"]{color:#047354!important}
[data-theme=light] .ctl input,[data-theme=light] .ctl select{background:#ffffff;border-color:var(--line2)}
/* ☀️ 라이트 3차 — 필터 바(.ctl 운영누락·콜 공용 '줄')·인라인 표 헤더 다크 잔존분 */
[data-theme=light] .ctl{background:rgba(244,246,251,.92);border-color:var(--line)}
[data-theme=light] #cmTbl thead th,[data-theme=light] #hpTbl thead th,[data-theme=light] #refTbl thead th{background:#e8ecf5}
/* ☀️ 라이트 4차 — 잔존 다크 전수점검(워크플로) 반영. 다크 무영향([data-theme=light] 전용) */
/* 탭 스트립('줄')·헤더버튼·드롭다운 옵션 */
[data-theme=light] .tabs{background:rgba(238,241,247,.85)}
[data-theme=light] header .hdbtn{background:rgba(20,28,46,.05);border-color:var(--line2)}
[data-theme=light] header .hdbtn:hover{background:rgba(79,91,213,.12);color:var(--ac);border-color:rgba(79,91,213,.4)}
[data-theme=light] select option,[data-theme=light] select optgroup,[data-theme=light] option{background-color:#fff;color:var(--tx)}
[data-theme=light] option:checked,[data-theme=light] select option:checked{background-color:#e8ecf5;color:var(--tx)}
/* 인라인 파스텔 글자(라이트 흰 배경서 흐림) → 진한 톤. 다크 컨테이너(브레인/배너/모달)는 :not 제외 */
[data-theme=light] [style*="color:#a5f3c4"]:not(.brainbox *):not(.diagbn *),[data-theme=light] [style*="color:#6ee7b7"]:not(.brainbox *):not(.diagbn *),[data-theme=light] [style*="color:#34d399"]:not(.brainbox *):not(.diagbn *){color:#047354!important}
[data-theme=light] [style*="color:#fcd34d"]:not(.brainbox *):not(.diagbn *),[data-theme=light] [style*="color:#fbbf24"]:not(.brainbox *):not(.diagbn *){color:var(--warn)!important}
[data-theme=light] [style*="color:#7cc4ff"]:not(.brainbox *):not(.diagbn *),[data-theme=light] [style*="color:#93c5fd"]:not(.brainbox *):not(.diagbn *),[data-theme=light] [style*="color:#a5b4fc"]:not(.brainbox *):not(.diagbn *),[data-theme=light] [style*="color:#8fb3ff"]:not(.brainbox *):not(.diagbn *),[data-theme=light] [style*="color:#cbd5ff"]:not(.brainbox *):not(.diagbn *),[data-theme=light] [style*="color:#c7d2fe"]:not(.brainbox *):not(.diagbn *),[data-theme=light] [style*="color:#bcc6ff"]:not(.brainbox *):not(.diagbn *),[data-theme=light] [style*="color:#aab9ff"]:not(.brainbox *):not(.diagbn *){color:var(--ac)!important}
[data-theme=light] [style*="color:#fca5a5"]:not(.brainbox *):not(.diagbn *),[data-theme=light] [style*="color:#fda4af"]:not(.brainbox *):not(.diagbn *),[data-theme=light] [style*="color:#fb7185"]:not(.brainbox *):not(.diagbn *){color:var(--bad)!important}
[data-theme=light] [style*="color:#e7ecf5"]:not(.brainbox *):not(.diagbn *){color:var(--tx)!important}
/* ⭐08-02 대표 제보: 라이트 모드에서 모달이 다크 배경 + 어두운 글자라 내용이 안 보였다.
   (#patMdl 대비 1.14) 다크 유지는 브레인박스·진단배너만. 모달류는 라이트에선 라이트로. */
[data-theme=light] #patMdl>div,[data-theme=light] .actcard,[data-theme=light] .thnpmbox{background:#fff!important;border-color:var(--line)!important;color:var(--tx)!important}
[data-theme=light] #patMdl [style*="background:#0f1626"]{background:#f8fafc!important}
[data-theme=light] #patMdl th,[data-theme=light] .actcard th{background:#eef2ff!important;color:#3730a3!important}
/* 항목명(규칙명)은 자기 color(#aab8ff)를 갖고 있어 컨테이너 override 로는 안 덮인다 — 흰 배경 대비 1.91(08-02 감사 DW-1) */
[data-theme=light] .actsum .ahl,[data-theme=light] .actcard b.ahl,[data-theme=light] .actsum b,[data-theme=light] .actrow b{color:#312e81!important}
[data-theme=light] .actrow span{color:#475569!important}
[data-theme=light] #patMdl td,[data-theme=light] #patMdl div,[data-theme=light] .actcard td{border-color:var(--line)!important}
[data-theme=light] #patMdl [style*="border-bottom:1px solid rgba(255,255,255"]{border-bottom-color:var(--line)!important}
[data-theme=light] #planModal [style*="color:#ddd6fe"]{color:#4338ca!important}
[data-theme=light] #patMdl .muted,[data-theme=light] #patMdl td .muted{color:#475569!important}
[data-theme=light] #patMdl td{color:var(--tx)!important}
/* SVG 매출추이 차트(흰 카드 위 밝은 라벨/그리드) */
[data-theme=light] svg text[fill="#e7ecf5"]{fill:var(--tx)}
[data-theme=light] svg line[stroke="rgba(255,255,255,.05)"]{stroke:rgba(20,28,46,.08)}
/* 라이트 모달/래퍼 안 흰-글래스(경계 소실) */
[data-theme=light] #pmContent{background:rgba(20,28,46,.04)!important}
[data-theme=light] #pmMemo{background:#fff!important;border-color:var(--line2)!important}
[data-theme=light] #cmWrap{border-color:var(--line)!important}
*{box-sizing:border-box}
html{color-scheme:dark}                       /* 네이티브 셀렉트·달력·스크롤바까지 다크 */
/* 드롭다운 가독성(06-15 대표) — 펼친 option 이 반투명 배경이라 흐릿하게 보이던 문제: 불투명 다크 고정 */
select{background-color:#11192b;color:var(--tx)}
select option,select optgroup,option{background-color:#11192b;color:#e7ecf5}
select option:checked,option:checked{background-color:#1d2842;color:#fff}
::selection{background:rgba(109,124,255,.45)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:8px;border:2px solid var(--bg)}
::-webkit-scrollbar-thumb:hover{background:rgba(109,124,255,.5)}
input,select,textarea,button{font-family:inherit}
body{font-family:'Pretendard Variable',Pretendard,-apple-system,'Malgun Gothic','Segoe UI',sans-serif;
 margin:0;color:var(--tx);-webkit-font-smoothing:antialiased;font-size:14px;word-break:keep-all;
 background:radial-gradient(1100px 540px at 82% -8%,rgba(109,124,255,.13),transparent 60%),
  radial-gradient(820px 480px at -8% 28%,rgba(34,211,238,.07),transparent 55%),var(--bg)}
/* 한국어 어절 단위 줄바꿈(단어 중간 끊김 방지) — 긴 설명문·사유엔 break-word 허용 보강 */
.crit,.actiontip,.hero .hp,.helpbox p,.helpbox li,.why,.muted{overflow-wrap:anywhere}
header{position:sticky;top:0;z-index:40;backdrop-filter:blur(14px);background:rgba(10,14,26,.74);
 color:#fff;padding:12px 22px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);
 overflow-x:auto;scrollbar-width:none}              /* 모바일: 버튼이 많아 한 줄이 넘쳐도 페이지가 가로로 밀리지 않게 헤더 안에서만 가로 스크롤(06-17 대표) */
header::-webkit-scrollbar{display:none}
header .b{font-weight:800;font-size:15.5px;display:flex;align-items:center;gap:10px;letter-spacing:-.2px}
header .b svg{filter:drop-shadow(0 0 8px rgba(109,124,255,.6))}
header .ver{font-size:11px;color:#8a93a6;font-weight:500;white-space:nowrap;letter-spacing:0;margin-left:10px}
header .verinfo{font-size:11.5px;color:#aab9ff;font-weight:700;white-space:nowrap;cursor:pointer;font-family:inherit;
 background:rgba(109,124,255,.12);border:1px solid rgba(109,124,255,.3);border-radius:8px;padding:3px 9px;margin-left:8px}
header .verinfo:hover{background:rgba(109,124,255,.25);color:#fff}
header a{color:var(--tx2);text-decoration:none;font-size:13px} header a:hover{color:#fff}
/* 헤더 우측 묶음(사용설명서·공지·병원명·전국통합) — margin-left:auto 로 맨 위 바 오른쪽 정렬(06-16 대표) */
header .hdacts{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:nowrap}
/* 📖 사용설명서·📢 공지 — 상단 바 버튼(맨 위 헤더에·06-16 대표) */
header .hdbtn{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line2);
 background:rgba(255,255,255,.07);color:var(--tx);border-radius:999px;padding:5px 13px;font-size:12.5px;
 font-weight:700;cursor:pointer;font-family:inherit;text-decoration:none;white-space:nowrap;transition:.15s}
header .hdbtn:hover{background:rgba(109,124,255,.22);color:#fff;border-color:rgba(109,124,255,.5)}
header .hdbadge{background:#fb7185;color:#070a14;border-radius:8px;padding:0 6px;font-size:11px;font-weight:800;margin-left:3px}
header .plbadge{display:inline-flex;align-items:center;font-size:12px;font-weight:800;white-space:nowrap;margin-left:10px;
 padding:5px 11px;border-radius:999px;background:rgba(52,211,153,.16);color:#6ee7b7;border:1px solid rgba(52,211,153,.3);
 cursor:pointer;font-family:inherit}
header .plbadge:hover{filter:brightness(1.18)}
header .plbadge.demo{background:rgba(245,158,11,.18);color:#fcd34d;border-color:rgba(245,158,11,.4)}
/* 🏥 현재 병원명 배지 — 병원이 많아져도 어느 지점 화면인지 한눈에(06-16 대표) */
header .cname{font-weight:800;font-size:14px;color:#fff;white-space:nowrap;
 background:linear-gradient(135deg,rgba(124,58,237,.4),rgba(219,39,119,.32));
 border:1px solid rgba(255,255,255,.22);padding:5px 14px;border-radius:999px;
 box-shadow:0 2px 12px rgba(124,58,237,.25)}
@media(max-width:1180px){header .ver{display:none}}        /* 버튼 자리 확보 — 버전 텍스트 먼저 숨김 */
@media(max-width:980px){header .hdbtn .lbl{display:none}}  /* 더 좁으면 아이콘만(툴팁으로 설명) */
@media(max-width:560px){header .cname{font-size:12.5px;padding:4px 11px}
 header .hdacts{gap:6px} header .hdbtn{padding:5px 9px}}
main{max-width:1140px;margin:0 auto;padding:22px}
h1{font-size:20px;letter-spacing:-.3px} h2{font-size:15.5px;margin:18px 0 8px;display:flex;align-items:center;gap:7px;letter-spacing:-.2px}
a{color:var(--ac2)}
/* 히어로(AI 브리핑) */
.hero{margin:18px 0 18px;padding:24px 26px;border-radius:20px;position:relative;overflow:hidden;
 background:linear-gradient(160deg,rgba(109,124,255,.13),rgba(34,211,238,.05) 55%,transparent),var(--bg2);
 border:1px solid rgba(109,124,255,.28);box-shadow:0 18px 60px rgba(5,8,18,.5)}
.hero::after{content:'';position:absolute;inset:-40% -18% auto auto;width:440px;height:440px;border-radius:50%;
 background:radial-gradient(circle,rgba(109,124,255,.15),transparent 65%);animation:drift 14s ease-in-out infinite alternate;pointer-events:none}
@keyframes drift{from{transform:translate(0,0)}to{transform:translate(-46px,26px)}}
.hero .tag{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;color:#bcd0ff;
 background:rgba(109,124,255,.14);border:1px solid rgba(109,124,255,.35);border-radius:99px;padding:4px 12px;margin-bottom:11px}
.hero .hh{font-size:20.5px;letter-spacing:-.4px;line-height:1.45;font-weight:750;max-width:820px}
.hero .hh em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .hp{margin:9px 0 0;color:var(--tx2);max-width:780px;font-size:13.5px}
.heroacts{margin-top:16px;display:flex;gap:9px;flex-wrap:wrap}
.btnx{display:inline-flex;align-items:center;gap:8px;border-radius:11px;padding:9px 16px;font-size:13px;font-weight:700;
 cursor:pointer;border:1px solid var(--line2);background:var(--panel2);color:var(--tx);transition:.18s;font-family:inherit;text-decoration:none}
.btnx:hover{transform:translateY(-1px);border-color:rgba(109,124,255,.5);box-shadow:0 6px 24px rgba(109,124,255,.18);color:var(--tx)}
.btnx.pri{background:var(--grad);border:none;color:#070a14}
.dotlive{width:7px;height:7px;border-radius:50%;background:var(--ok);display:inline-block;
 box-shadow:0 0 0 0 rgba(52,211,153,.6);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(52,211,153,.55)}70%{box-shadow:0 0 0 9px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}
/* KPI */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(162px,1fr));gap:11px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:14px 15px;
 cursor:help;transition:transform .16s,border-color .16s,background .16s}
.kpi:hover{transform:translateY(-2px);border-color:var(--line2);background:var(--panel2)}
.kpi .l{color:var(--tx2);font-size:11.5px} .kpi b{display:block;font-size:23px;color:var(--tx);margin-top:4px;
 letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.kpi .kd{display:block;margin-top:7px;font-size:11px;color:var(--tx3);line-height:1.45;font-weight:400}  /* 카드 설명(모바일 툴팁 대체·06-14) */
/* 카드/표 */
.card{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:16px 18px;margin:12px 0;overflow-x:auto}
.card .hd{cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.card .hd b{font-size:14px} .card .hd .tog{color:var(--tx3);font-size:12px}
.crit{margin:8px 0 6px;background:rgba(34,211,238,.07);border:1px solid rgba(34,211,238,.22);border-radius:9px;
 padding:7px 10px;font-size:12px;color:#a5e3f1;line-height:1.55}
.crit b{color:#67e8f9}
.thval{margin:0 0 8px;background:rgba(167,139,250,.09);border:1px solid rgba(167,139,250,.28);
 border-radius:9px;padding:7px 10px;font-size:12px;color:#cbb6f7;line-height:1.6}   /* 현재 적용 기준값 */
.thval b{color:#e9ddff} .thval .thedit{margin-left:6px;color:#a78bfa;text-decoration:none;font-weight:700;white-space:nowrap}
.thval .thedit:hover{text-decoration:underline}
/* 로그인 바 — 누가·접속·세션 유지(06-14 대표) */
.loginbar{margin:8px 0 0;font-size:12.5px;color:var(--tx2);line-height:1.7}
.loginbar b{color:var(--tx)}
.loginbar .lrole{display:inline-block;font-size:10.5px;font-weight:800;padding:1px 7px;border-radius:99px;
 background:rgba(109,124,255,.16);color:#aab8ff;margin:0 2px;letter-spacing:.02em}
.loginbar .lmuted{color:var(--tx3)}
.loginbar a{color:#8fb3ff;text-decoration:none} .loginbar a:hover{text-decoration:underline}
.loginbar .llogout{color:#fda4af}
/* 처리 내역 확인 팝업(활동 로그 행 클릭) — 06-14 대표 */
.actmodal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;display:none;
 align-items:center;justify-content:center;background:rgba(2,6,18,.82);padding:18px}
.actcard{background:#171f36;border:1px solid var(--line2);border-radius:16px;padding:22px 24px;  /* 불투명(06-14 대표: 너무 투명) */
 max-width:470px;width:100%;box-shadow:0 26px 74px rgba(0,0,0,.7)}
.acth{font-size:16px;font-weight:800;margin-bottom:8px}
.actsum{font-size:13.5px;color:var(--tx2);margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line);line-height:1.6}
.actsum b{color:var(--tx)} .actsum .ahl,.actcard b.ahl{color:#aab8ff}
.actrow{display:flex;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:13.5px}
.actrow:first-of-type{border-top:none}
.actrow span{color:var(--tx3);width:64px;flex:none} .actrow b{flex:1;word-break:break-all;color:var(--tx)}
.actmodal button{font-family:inherit;font-size:13px;padding:8px 14px;border-radius:8px;cursor:pointer;
 border:1px solid var(--line2);background:var(--panel2);color:var(--tx)}
.actmodal button.actgo{background:var(--grad);color:#06101f;border:none;font-weight:700}
/* 표 — 엑셀식 전체 격자 제거(가로줄만) = ERP 느낌 탈출의 핵심 */
table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}
th,td{border:none;border-bottom:1px solid rgba(255,255,255,.07);padding:7px 10px;text-align:left}
td.rnum{white-space:nowrap}
th{background:rgba(109,124,255,.09);color:#aab9ff;cursor:pointer;user-select:none;white-space:nowrap;
 font-weight:700;font-size:12px;letter-spacing:.02em}
th:first-child{border-radius:9px 0 0 0} th:last-child{border-radius:0 9px 0 0}
th .ar{font-size:10px;opacity:.6}
tbody tr:hover td{background:rgba(109,124,255,.07)}
tbody tr:last-child td{border-bottom:none}
/* 리스트별 경과·금액 컬럼(06-15 대표) — 그 리스트에 값 없는 컬럼만 숨김(셀은 유지=정렬 인덱스 보존). 경과=6번째·금액=7번째 */
.rcard.noaod thead th:nth-child(6),.rcard.noaod tbody td:nth-child(6){display:none}
.rcard.noamt thead th:nth-child(7),.rcard.noamt tbody td:nth-child(7){display:none}
/* AI 보고서 — 06-13 가독성 개편: 고정폭→본문폰트, 섹션 헤더·행잉인덴트·어절 줄바꿈 */
.rep{font-size:13.5px;line-height:1.7;word-break:keep-all;
 background:var(--bg2);border:1px solid var(--line);border-radius:11px;padding:16px 18px;color:var(--tx)}
.rep .rh1{font-size:15px;font-weight:800;color:#eaf0ff;margin:0 0 10px;padding-bottom:8px;
 border-bottom:1px solid var(--line)}
.rep .rh1sub{display:block;font-size:12px;font-weight:500;color:var(--tx2);margin-top:4px;line-height:1.6}
.rep .rh2{font-size:13px;font-weight:700;color:#8b9cff;margin:15px 0 6px;letter-spacing:.3px;
 padding-left:9px;border-left:3px solid rgba(109,124,255,.5)}
.rep .ri{padding-left:16px;text-indent:-14px;color:var(--tx);margin:5px 0}      /* 행잉 인덴트 */
.rep .ri.rsub{padding-left:32px;text-indent:-14px;color:var(--tx2);font-size:12.5px;margin:3px 0}
.rep .ri .dot{color:var(--ac);font-weight:800;margin-right:5px}
.rep .ri b{color:#dfe6ff} .rep .rp{color:var(--tx2);margin:5px 0}
.rep .ri .num{display:inline-block;min-width:20px;color:#67e8f9;font-weight:800}
.rep .rgap{height:10px}
.sev-high{color:#fda4af;font-weight:700} .sev-med{color:#fcd34d} .sev-low{color:#6ee7b7}
td.sev-high::before,td.sev-med::before,td.sev-low::before{content:'●';font-size:8px;vertical-align:1.5px;margin-right:5px}
/* 입장 모션 — 페이지가 '살아나는' 첫인상 */
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.hero{animation:rise .5s ease both}
.grid .kpi{animation:rise .5s ease both}
.grid .kpi:nth-child(2){animation-delay:.05s}.grid .kpi:nth-child(3){animation-delay:.1s}
.grid .kpi:nth-child(4){animation-delay:.15s}.grid .kpi:nth-child(5){animation-delay:.2s}
.grid .kpi:nth-child(6){animation-delay:.25s}.grid .kpi:nth-child(7){animation-delay:.3s}
.duo>.card{animation:rise .55s ease both}.duo>.card:nth-child(2){animation-delay:.12s}
/* 히어로 우측 매출 스파크라인 */
.hwrap{display:flex;gap:18px;align-items:flex-start}
.hmain{flex:1;min-width:0}
.spark{flex:none;text-align:right;margin-top:4px;position:relative;z-index:1}
.spark .sl{font-size:10.5px;color:var(--tx3);margin-top:2px}
@media(max-width:760px){.spark{display:none}}
/* ── SVG/CSS 모션 패키지(06-12 밤 대표: "svg 애니메이션 웹사이트처럼") — 라이브러리 0 ── */
.spark polyline{transition:stroke-dashoffset 1.6s .25s cubic-bezier(.3,.7,.2,1)}   /* 선 드로우 인 */
.spark polygon{opacity:0;animation:fade .9s 1.2s forwards}
.spark circle{opacity:0;animation:fade .4s 1.7s forwards}
@keyframes fade{to{opacity:1}}
.bargrow{transform-origin:bottom;animation:barup .6s cubic-bezier(.2,.7,.25,1.05) both}
@keyframes barup{from{transform:scaleY(0)}}
.hero::before{content:'';position:absolute;top:0;bottom:0;left:-45%;width:38%;pointer-events:none;
 background:linear-gradient(105deg,transparent,rgba(255,255,255,.05) 45%,rgba(139,156,255,.09) 50%,
 rgba(255,255,255,.05) 55%,transparent);transform:skewX(-14deg);animation:shine 7s ease-in-out 1.2s infinite}
@keyframes shine{0%{left:-45%}55%{left:130%}100%{left:130%}}
.hero .fl,.shero .fl{position:absolute;border-radius:50%;pointer-events:none;z-index:0;
 background:radial-gradient(circle,rgba(139,156,255,.85),rgba(139,156,255,0) 70%);
 animation:floaty 9s ease-in-out infinite alternate}
@keyframes floaty{from{transform:translate(0,0)}to{transform:translate(14px,-20px)}}
.wave{display:inline-flex;align-items:flex-end;gap:2px;height:11px;margin-right:3px}
.wave i{width:2.5px;border-radius:2px;background:#8b9cff;animation:wv 1.05s ease-in-out infinite}
.wave i:nth-child(2){animation-delay:.15s}.wave i:nth-child(3){animation-delay:.3s}
.wave i:nth-child(4){animation-delay:.45s}
@keyframes wv{0%,100%{height:4px}50%{height:11px}}
header .b svg{animation:logoglow 3.2s ease-in-out infinite alternate}
@keyframes logoglow{from{filter:drop-shadow(0 0 5px rgba(109,124,255,.45))}
 to{filter:drop-shadow(0 0 12px rgba(34,211,238,.75))}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* 매출 SVG 곡선 차트 — 드로우 인 */
.chline{transition:stroke-dashoffset 1.6s .25s cubic-bezier(.3,.7,.2,1)}
.charea{opacity:0;animation:fade .9s 1.15s forwards}
.chdot{opacity:0;animation:fade .4s forwards}
/* 사용설명 모달 */
.qhelp{margin-left:auto;background:rgba(34,211,238,.1);border-color:rgba(34,211,238,.35);color:#a5e3f1}
#helpov{position:fixed;inset:0;z-index:90;background:rgba(5,8,18,.7);backdrop-filter:blur(6px);
 display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto}
#helpov.hidden{display:none}
.helpbox{max-width:680px;width:100%;background:var(--bg2);border:1px solid rgba(109,124,255,.35);
 border-radius:18px;padding:20px 22px;box-shadow:0 24px 80px rgba(0,0,0,.6);animation:rise .25s ease both}
.helpbox h3{margin:4px 0 6px;font-size:14.5px}
.helpbox p{font-size:13px;color:var(--tx2);line-height:1.65;margin:6px 0}
.helpbox p b{color:var(--tx)}
.helpbox ul{margin:4px 0 8px 18px;padding:0}
.helpbox li{font-size:12.5px;color:var(--tx2);margin:4px 0;line-height:1.5}
.helpbox li b{color:var(--tx)}
/* 모바일 압축(06-12 대표 제보·폰 최적화) — 히어로/버튼/고정 바 오프셋 */
@media(max-width:700px){
 main{padding:14px 12px}
 header{padding:10px 14px} header .b{font-size:13.5px}
 .hero{padding:17px 16px;margin:12px 0 14px;border-radius:16px}
 .hero .hh{font-size:16.5px} .hero .hp{font-size:12.5px}
 .heroacts{gap:7px} .heroacts .btnx,.btnx{padding:8px 12px;font-size:12px}
 .grid{grid-template-columns:repeat(2,1fr);gap:9px}
 .kpi{padding:11px 12px} .kpi b{font-size:19px}
 .tabs{top:44px;padding:8px 0 7px;gap:6px}
 .tabbtn{padding:8px 13px;font-size:12.5px}
 .ctl{top:92px;padding:8px 10px;gap:7px}
 .duo{gap:9px}
 .card{padding:13px 13px}
 .ptop .why{font-size:11.5px}
}
.muted{color:var(--tx2);font-size:12px}
/* ⭐08-06: 버전 배지(.avb 는 nowrap)가 줄바꿈을 못 해 오른쪽 통계 글자 위로 넘쳐 겹쳤다
   (대표 화면 제보 — 경고 줄이 있는 병원만 두 줄로 갈려 멀쩡해 보였다).
   → 행을 감싸도록 하고(flex-wrap), 배지는 제 너비만 쓰고, 긴 통계 쪽이 줄어들게 한다. */
.bizrow{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px 10px;background:var(--panel);border:1px solid var(--line);
 border-radius:13px;padding:14px 16px;margin:8px 0;text-decoration:none;color:inherit;transition:.15s}
.bizrow:hover{border-color:rgba(109,124,255,.5);transform:translateY(-1px);box-shadow:0 6px 20px rgba(109,124,255,.14)}
/* 에이전트 상태 바(06-18 대표: RPA 안 들어가도 관제센터 상단에서 버전·접속) + 전국통합 지점별 버전 배지 */
.agentbar{display:flex;flex-wrap:wrap;align-items:center;gap:5px 12px;margin:8px 0 0;padding:7px 12px;
 border:1px solid var(--line);border-radius:10px;background:var(--panel);font-size:12.5px}
.agentbar .ab-l{color:var(--tx3);font-weight:700}
.avwrap{flex:0 0 auto;text-align:center;min-width:0;padding:0 10px}
.bizstat{flex:1 1 300px;min-width:0;text-align:right}
.avb{white-space:nowrap;font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums}
@media(max-width:760px){.avwrap{display:none}}
/* 탭 */
.tabs{display:flex;gap:6px;margin:14px 0 4px;flex-wrap:nowrap;overflow-x:auto;position:sticky;top:52px;z-index:7;
 background:rgba(10,14,26,.82);backdrop-filter:blur(10px);padding:10px 0 8px;scrollbar-width:none;-ms-overflow-style:none}
.tabs::-webkit-scrollbar{display:none}   /* 탭은 한 줄 유지(넘치면 가로 스크롤) — 06-16 대표 */
/* ⭐09-02 대표 — 모바일·태블릿에서 탭 글자가 서로 **겹쳐** 보였다.
   `flex:1 1 auto` + `min-width:0` 이라 탭이 **0까지 찌그러지는데** 글자는 `nowrap` 이라
   안 줄어 **버튼 밖으로 넘쳐 겹쳤다.** 찌그러지니 위 `overflow-x:auto` 도 안 걸려
   가로 스크롤조차 안 생겼다 — 06-16 대표 지시(「한 줄 유지·넘치면 가로 스크롤」)와 반대다.
   ⇒ `flex:1 0 auto` — 남으면 늘어나고(데스크톱 그대로), **모자라면 안 줄고 스크롤된다.** */
.tabbtn{display:flex;align-items:center;justify-content:center;gap:5px;flex:1 0 auto;white-space:nowrap;border:1px solid var(--line);
 background:var(--panel);border-radius:24px;
 padding:8px 10px;font-size:12.5px;font-weight:700;color:var(--tx2);cursor:pointer;font-family:inherit;transition:all .16s}
.tabbtn:hover{border-color:rgba(109,124,255,.45);color:var(--tx)}
.tabbtn.on{background:linear-gradient(135deg,rgba(109,124,255,.85),rgba(34,211,238,.65));color:#070a14;
 border-color:transparent;box-shadow:0 6px 20px rgba(73,134,255,.3)}
.tabbtn svg{flex:none}
.tabbtn .cnt2{background:rgba(109,124,255,.14);color:#aab9ff;padding:1px 9px;border-radius:10px;font-size:12px}
.tabbtn.on .cnt2{background:rgba(7,10,20,.25);color:#070a14}
.actcnt{display:inline-block;margin-left:6px;background:#16a34a;color:#fff;padding:1px 9px;border-radius:10px;font-size:12px;font-weight:800;vertical-align:middle;box-shadow:0 1px 7px rgba(22,163,74,.55);line-height:1.5}
.tabpane{animation:fadein .2s ease} @keyframes fadein{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}
/* 컨트롤/알약 */
.ctl{position:sticky;top:104px;z-index:5;background:rgba(13,19,34,.92);backdrop-filter:blur(10px);
 border:1px solid var(--line);border-radius:13px;padding:10px 14px;margin:12px 0;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ctl input,.ctl select{padding:6px 9px;border:1px solid var(--line2);border-radius:8px;font-size:13px;font-family:inherit;
 background:rgba(255,255,255,.06);color:var(--tx)}
.ctl input::placeholder{color:var(--tx3)}
.ctl label{font-size:12px;color:var(--tx2);display:flex;align-items:center;gap:4px}
.cnt{background:rgba(109,124,255,.14);color:#aab9ff;padding:1px 8px;border-radius:9px;font-size:12px;font-weight:700}
.pills{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}
.pill{font-family:inherit;font-size:12.5px;padding:5px 12px;border:1px solid var(--line);border-radius:999px;
 background:var(--panel);cursor:pointer;color:var(--tx2);font-weight:600;transition:.15s}
.pill:hover{border-color:rgba(109,124,255,.5);color:var(--tx)}
.pill.on{background:var(--grad);color:#070a14;border-color:transparent;font-weight:800}
.pill.on .cnt{background:rgba(7,10,20,.22);color:#070a14}
.hidden{display:none}
.donerow td{opacity:.4;text-decoration:line-through}
.donerow td:first-child{text-decoration:none;opacity:1}
.stbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:700;
 border:1px solid var(--line2);border-radius:11px;padding:8px 15px;background:var(--panel2);color:var(--tx);
 cursor:pointer;min-width:74px;font-family:inherit;line-height:1.4;white-space:nowrap;transition:.18s}   /* 처리 버튼 — 상담 처리 버튼과 통일(06-22 대표) */
.stbtn::after{content:'▾';color:#9aa6b8;font-size:10px}
.stbtn:hover{transform:translateY(-1px);border-color:rgba(109,124,255,.5);box-shadow:0 6px 24px rgba(109,124,255,.18)}
.stbtn.stdone{border-color:#34d399;background:rgba(52,211,153,.13);color:#6ee7b7;font-weight:700}
.stbtn.stdone::after{color:#34d399}
.stmenu{position:fixed;z-index:9999;display:none;background:#fff;border:1px solid #cdd3de;border-radius:10px;
 box-shadow:0 12px 34px rgba(15,23,42,.22);padding:5px;min-width:150px;
 max-height:80vh;overflow-y:auto}        /* 공용 처리 선택 메뉴(1개 재사용)·항목 많아도 내부 스크롤(06-15 #7) */
.stmi{display:block;width:100%;text-align:left;border:none;background:none;padding:9px 13px;
 font-size:13px;cursor:pointer;border-radius:7px;color:#243b53;font-family:inherit;font-weight:600}
/* ⭐08-18 — 08-07 에 "흰 메뉴 위 2.6:1 이라 흐렸다"고 **주석만 달고 색은 안 고쳤다.**
   대표가 "고치라고 했는데 계속 나온다"고 한 게 이런 것이다. 4.50:1 로 맞췄다. */
.stmi:first-child{color:#536073;font-weight:500}
.stmi:hover{background:#eef1ff;color:#3730a3}
.act2{background:rgba(52,211,153,.16);color:#6ee7b7;border:1px solid rgba(52,211,153,.35);border-radius:8px;
 padding:3px 10px;font-size:12px;text-decoration:none;display:inline-block;margin-left:8px;cursor:pointer}
td a.tel{color:var(--ac2);text-decoration:none;white-space:nowrap}
.actiontip{margin:0 0 6px;font-size:12px;color:#6ee7b7;background:rgba(52,211,153,.08);
 border:1px solid rgba(52,211,153,.25);border-radius:8px;padding:6px 10px}
.pgr{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:8px;font-size:13px;color:var(--tx2)}
.pgr button{border:1px solid var(--line2);background:var(--panel2);color:var(--tx);border-radius:8px;padding:4px 12px;cursor:pointer;font-family:inherit}
.pgr button:disabled{opacity:.3;cursor:default}
/* 우선 처리 TOP + 추천 액션 */
.duo{display:grid;grid-template-columns:1.55fr 1fr;gap:12px;align-items:start;margin:14px 0 4px}
@media(max-width:860px){.duo{grid-template-columns:1fr}}
.ptop{display:flex;gap:12px;align-items:flex-start;padding:11px 13px;border-radius:12px;border:1px solid var(--line);
 background:rgba(255,255,255,.02);margin-bottom:8px;transition:.16s;cursor:pointer}
.ptop:hover{border-color:rgba(251,113,133,.4);background:rgba(251,113,133,.05)}
.ptop .rank{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-weight:800;font-size:12.5px;
 background:rgba(251,113,133,.13);color:var(--bad);border:1px solid rgba(251,113,133,.3);flex:none}
.ptop .rank.mid{background:rgba(251,191,36,.12);color:var(--warn);border-color:rgba(251,191,36,.3)}
.ptop b{font-size:13.5px} .ptop .why{font-size:12px;color:var(--tx2);margin-top:1px}
.ptop .meta{margin-left:auto;text-align:right;flex:none}
.ptop .amt{font-weight:800;font-size:13.5px;color:var(--bad);font-variant-numeric:tabular-nums}
.ptop .od{font-size:11px;color:var(--tx3)}
.chip{display:inline-block;font-size:10.5px;font-weight:700;padding:1px 8px;border-radius:99px;margin-right:5px}
.chip.c-bad{background:rgba(251,113,133,.14);color:#fda4af}
.chip.c-warn{background:rgba(251,191,36,.13);color:#fcd34d}
.chip.c-ok{background:rgba(52,211,153,.13);color:#6ee7b7}
.actr{display:flex;gap:11px;align-items:center;padding:10px 12px;border-radius:11px;border:1px solid var(--line);
 margin-bottom:8px;background:rgba(255,255,255,.02);transition:.16s;cursor:pointer}
.actr:hover{border-color:rgba(52,211,153,.4)}
.actr .n{width:24px;height:24px;border-radius:50%;background:rgba(52,211,153,.13);color:var(--ok);
 display:grid;place-items:center;font-weight:800;font-size:12px;flex:none;border:1px solid rgba(52,211,153,.3)}
.actr .t b{font-size:13px;display:block} .actr .t span{font-size:11.5px;color:var(--tx2)}
.actr .go{margin-left:auto;font-size:12px;font-weight:700;color:var(--ac2);white-space:nowrap}
/* 환자 행 점프 하이라이트(TOP5·피드 클릭 → 그 환자) */
tr.rowhl td{animation:rowhl 4s ease}
@keyframes rowhl{0%{background:rgba(109,124,255,.55)}60%{background:rgba(109,124,255,.22)}100%{background:transparent}}
/* ─ 🧠 관제센터(06-13 대표: ERP 아닌 AI 관제실) — 상태 스트립·AI Brain·실시간 피드 ─ */
a.tabbtn{text-decoration:none}
.ctrstat{display:flex;gap:9px;flex-wrap:wrap;margin:2px 0 12px}
.cst{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:#aab6cd;
 border:1px solid var(--line);background:var(--panel);padding:6px 12px;border-radius:99px}
.cst b{color:#fff;font-size:13.5px;font-variant-numeric:tabular-nums}
.ctrgrid{display:grid;grid-template-columns:1.3fr 1fr;gap:13px;margin-bottom:14px}
@media(max-width:920px){.ctrgrid{grid-template-columns:1fr}}
.brainbox{position:relative;height:440px;border:1px solid var(--line);border-radius:18px;overflow:hidden;
 background:radial-gradient(440px 320px at 50% 46%,rgba(109,124,255,.15),transparent 70%),var(--bg2)}
#brain{position:absolute;inset:0;width:100%;height:100%}
.borb{position:absolute;left:50%;top:50%;width:190px;height:190px;border-radius:50%;
 transform:translate(-50%,-50%);
 background:radial-gradient(circle,rgba(109,124,255,.38),rgba(109,124,255,.06) 60%,transparent 72%);
 animation:bpulse 2.6s ease-in-out infinite}
@keyframes bpulse{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.7}
 50%{transform:translate(-50%,-50%) scale(1.13);opacity:1}}
.bcore{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;
 pointer-events:none;z-index:3;padding:20px 30px;border-radius:50%;
 background:radial-gradient(circle,rgba(8,11,22,.82),rgba(8,11,22,.3) 62%,transparent 76%)}
.bct{font-size:11px;letter-spacing:3px;color:#7ee7f5;font-weight:800}
.bcn{font-size:42px;font-weight:800;color:#fff;font-variant-numeric:tabular-nums;line-height:1.12;
 text-shadow:0 0 22px rgba(109,124,255,.9),0 2px 6px rgba(0,0,0,.6)}
.bcl{font-size:12px;color:#c6d0e4;font-weight:600}
.bchip{position:absolute;z-index:4;display:flex;flex-direction:column;gap:1px;padding:9px 14px;
 border-radius:13px;border:1px solid rgba(140,156,255,.35);background:rgba(7,10,20,.88);
 -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-decoration:none;
 animation:floaty 6s ease-in-out infinite;transition:.16s;
 box-shadow:0 4px 18px rgba(0,0,0,.45)}
.bchip:hover{border-color:rgba(140,156,255,.7)}
.bchip span{font-size:11px;color:#aab6cd;font-weight:600}
.bchip b{font-size:16.5px;color:#fff;font-variant-numeric:tabular-nums}
.feedbox{display:flex;flex-direction:column;height:440px;border:1px solid var(--line);
 border-radius:18px;background:var(--panel);overflow:hidden}
.fhd{padding:11px 14px;border-bottom:1px solid var(--line);font-weight:800;font-size:13px;
 display:flex;align-items:center;gap:8px}
#feed{flex:1;overflow:auto;padding:11px 14px;display:flex;flex-direction:column;gap:10px}
.fitem{display:flex;gap:9px;align-items:flex-start;border-bottom:1px dashed var(--line);
 padding-bottom:9px;animation:fin .5s cubic-bezier(.22,1,.36,1) both;cursor:pointer}
.fitem:hover .fl2>b{text-decoration:underline}
@keyframes fin{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.ft{color:var(--tx3);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:1px}
.fai{color:var(--ac2);font-weight:800;font-size:11px;padding-top:1px}
.fl2{min-width:0} .fl2>b{font-size:12.5px}
.fm{color:var(--tx2);font-size:12px;margin-top:2px}
.fa{color:var(--warn);font-weight:800;font-size:12px;margin-top:2px;font-variant-numeric:tabular-nums}
@media(max-width:760px){.brainbox{height:320px}.feedbox{height:360px}.bcn{font-size:33px}
 .bchip{padding:7px 11px}.bchip b{font-size:14px}.bcore{padding:14px 20px}}
/* ═══ 스크롤 스토리텔링(06-13 대표: AI가 원장에게 브리핑하는 흐름·표 없는 첫 화면) ═══ */
.story{display:block}
.sec{padding:42px 0;position:relative}
.sec+.sec{border-top:1px solid var(--line)}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.07s}.reveal.d2{transition-delay:.14s}.reveal.d3{transition-delay:.21s}
.reveal.d4{transition-delay:.28s}.reveal.d5{transition-delay:.35s}.reveal.d6{transition-delay:.42s}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;font-weight:800;letter-spacing:.14em;
 text-transform:uppercase;color:var(--ac2);margin-bottom:11px}
.eyebrow::before{content:'';width:24px;height:2px;background:var(--grad);border-radius:2px}
.sectitle{font-size:24px;font-weight:800;letter-spacing:-.5px;margin:0 0 5px;line-height:1.2}
.secsub{color:var(--tx2);font-size:13.5px;margin:0 0 24px;max-width:680px}
/* 1. Hero */
.shero{display:grid;grid-template-columns:1.3fr .95fr;gap:30px;align-items:center;
 padding:26px 30px;border-radius:22px;position:relative;overflow:hidden;border:1px solid var(--line);
 background:linear-gradient(155deg,rgba(109,124,255,.15),rgba(34,211,238,.05) 52%,transparent),var(--bg2)}
/* 한 장의 히어로 카드 안에 브리핑(좌·넓게)+Brain(우·악센트) — 반반 분리 느낌 제거(06-13 대표) */
@media(max-width:760px){.shero{grid-template-columns:1fr;gap:18px;padding:20px 18px}}  /* 폴드 접힘·모바일 = 세로 스택 */
.shh{font-size:35px;font-weight:800;line-height:1.16;letter-spacing:-.7px;margin:15px 0 8px}
.shh em{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:normal}
.shp{color:var(--tx2);font-size:14px;line-height:1.7;max-width:560px;margin:0 0 6px}
.shbasis{color:var(--tx2);font-size:12px;line-height:1.6;margin:0 0 9px;max-width:640px;
 padding:7px 12px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--line)}
.shbasis b{color:var(--tx)} .shbasis .dim{color:var(--tx3);font-weight:400}
.bigstats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0 22px}
@media(max-width:560px){.bigstats{grid-template-columns:1fr}}
.bstat{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--ac);
 border-radius:15px;padding:17px 19px;position:relative}
.bstat.loss{border-left-color:#fb7185}
.bstat[onclick]{transition:.16s}.bstat[onclick]:hover{border-color:var(--line2);transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.35)}
.dtable .drow{cursor:pointer;transition:.12s}.dtable .drow:hover td{background:rgba(255,255,255,.05)}
.bstat .bv{font-size:42px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-1px;
 background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;
 filter:drop-shadow(0 0 26px rgba(109,124,255,.35))}
.bstat.loss .bv{background:linear-gradient(135deg,#fb7185,#fbbf24);-webkit-background-clip:text;background-clip:text;color:transparent;
 filter:drop-shadow(0 0 26px rgba(251,113,133,.3))}
.bstat .bl{color:var(--tx2);font-size:12.5px;margin-top:7px;font-weight:600}
.bstat .bl b{color:var(--tx);font-weight:700}
.bstat .bsub{display:block;font-size:10.5px;color:var(--tx3);font-weight:500;margin-top:3px;letter-spacing:.01em}
.act3{display:flex;flex-direction:column;gap:9px;max-width:560px}
.act3 .a3hd{font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--tx3);text-transform:uppercase;margin-bottom:1px}
.a3{display:flex;align-items:center;gap:13px;padding:13px 16px;border-radius:14px;cursor:pointer;
 background:var(--panel);border:1px solid var(--line);transition:.16s;text-decoration:none;color:var(--tx)}
.a3:hover{border-color:var(--line2);background:var(--panel2);transform:translateX(4px)}
.a3 .a3n{width:28px;height:28px;border-radius:9px;background:var(--grad);color:#06101f;font-weight:800;
 display:grid;place-items:center;flex:none;font-size:14px}
.a3 b{font-size:14px;display:block} .a3 span{font-size:12px;color:var(--tx2);display:block;margin-top:1px}
.a3 .a3a{margin-left:auto;font-weight:800;color:var(--ac2);white-space:nowrap;font-size:12.5px}
.sbrain{position:relative}
.sbrain .brainbox{height:440px;border:none;border-radius:16px;
 background:radial-gradient(360px 300px at 50% 48%,rgba(109,124,255,.16),transparent 72%)}
@media(min-width:761px){.sbrain.sticky{position:sticky;top:84px}}
/* 2. Risk overview */
.riskfeat{margin-bottom:14px}
.riskwrap{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}    /* 4=짝수 → 홀로 남는 카드 없음 */
@media(max-width:920px){.riskwrap{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.riskwrap{grid-template-columns:1fr}}
.riskc{padding:19px;border-radius:16px;background:var(--panel);border:1px solid var(--line);
 position:relative;overflow:hidden;transition:.2s;cursor:pointer;text-decoration:none;color:var(--tx);display:block}
.riskc.feat{display:flex;align-items:center;gap:22px;padding:22px 26px;
 background:linear-gradient(120deg,rgba(251,113,133,.1),var(--panel) 60%)}
.riskc.feat .ri{font-size:42px;flex:none}
.riskc.feat .fcol{flex:1;min-width:0}
.riskc.feat .rl{margin-top:2px;font-size:14px;font-weight:700;color:var(--tx)}
.riskc.feat .fmeta{display:flex;align-items:baseline;gap:15px;flex-wrap:wrap;margin-top:2px}
.riskc.feat .rv{font-size:44px;margin:0}
.riskc.feat .ra{margin-top:0;font-size:15px}
.riskc.feat .rcta{margin-left:auto;white-space:nowrap;font-weight:800;color:var(--ac2);font-size:13.5px;flex:none}
.rerank{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.07em;color:#fda4af}
.riskc .rd{font-size:12px;color:var(--tx2);margin-top:6px;position:relative;line-height:1.45}
@media(max-width:520px){.riskc.feat{flex-direction:column;align-items:flex-start;gap:10px}.riskc.feat .rcta{margin-left:0}}
.riskc::after{content:'';position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;
 background:var(--gl,radial-gradient(circle,rgba(109,124,255,.4),transparent 70%));opacity:.16;transition:.25s}
.riskc:hover{border-color:var(--line2);transform:translateY(-4px);box-shadow:0 14px 34px rgba(0,0,0,.4)}
.riskc:hover::after{opacity:.4}
.riskc .ri{font-size:23px;position:relative}
.riskc .rl{color:var(--tx2);font-size:12.5px;margin-top:10px;font-weight:600;position:relative}
.riskc .rv{font-size:31px;font-weight:800;font-variant-numeric:tabular-nums;margin-top:2px;position:relative;letter-spacing:-.5px}
.riskc .ra{font-size:12px;color:var(--warn);font-weight:700;margin-top:4px;position:relative}
.ral{font-size:10px;color:var(--tx3);font-weight:600;letter-spacing:.02em}            /* 금액 의미(받을 돈/진행 중 등) */
.riskc .rcrit{font-size:11px;color:var(--tx3);margin-top:8px;line-height:1.5;position:relative;
 padding-top:8px;border-top:1px dashed var(--line)}                                    /* 집계 기준 — 숫자 근거 노출(06-14) */
.riskc.feat .rcrit{margin-top:7px;padding-top:7px;font-size:11.5px;max-width:560px}
/* 3. Priority patients */
.patwrap{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}  /* 4/2/1 — 3열 회피(10장이 3,3,3,1로 홀로 안 떨어지게) */
@media(max-width:1080px){.patwrap{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.patwrap{grid-template-columns:1fr}}
.patc{padding:17px;border-radius:16px;background:var(--panel);border:1px solid var(--line);
 position:relative;cursor:pointer;transition:.18s;overflow:hidden}
.patc:hover{border-color:var(--line2);transform:translateY(-4px);box-shadow:0 14px 32px rgba(0,0,0,.4)}
.patc .prank{position:absolute;right:13px;top:6px;font-size:38px;font-weight:800;color:rgba(255,255,255,.05);letter-spacing:-2px}
.patc .pn{font-size:16.5px;font-weight:800;letter-spacing:-.3px}
.patc .pwhy{color:var(--tx2);font-size:12.5px;line-height:1.55;margin:8px 0 12px;min-height:36px}
.patc .prow{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:6px 0;border-top:1px solid var(--line)}
.patc .prow .k{color:var(--tx3)} .patc .prow .v{font-weight:700;text-align:right}
.patc .ploss .v{color:#fda4af;font-variant-numeric:tabular-nums}
.patc .pact{margin-top:11px;padding:10px;border-radius:11px;background:rgba(109,124,255,.1);
 border:1px solid rgba(109,124,255,.26);font-size:12px;text-align:center;font-weight:700;color:#bcc6ff}
.patc:hover .pact{background:rgba(109,124,255,.18)}
/* 4. feed in story = 넓게 */
.sfeed .feedbox{height:480px}
/* 4b. 최근 처리 활동 띠(06-18 대표: AI 피드 아래·요약만·상세는 처리 활동 로그 탭) */
.actstrip{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:16px 18px}
.actsum{display:flex;flex-wrap:wrap;gap:18px;font-size:13.5px;color:var(--tx2);
 padding-bottom:13px;border-bottom:1px solid var(--line);margin-bottom:13px}
.actsum b{color:var(--tx);font-size:17px;font-variant-numeric:tabular-nums}
.actus{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:13px}
.actu{display:flex;align-items:center;gap:12px;padding:9px 14px;border-radius:12px;
 background:rgba(255,255,255,.03);border:1px solid var(--line)}
.actun{font-weight:800;font-size:13px}
.actuv{text-align:center;line-height:1.15}
.actuv b{font-size:15px;font-variant-numeric:tabular-nums} .actuv span{display:block;font-size:10px;color:var(--tx3)}
.actrl{display:flex;flex-direction:column;gap:8px}
.actr{display:flex;gap:10px;align-items:baseline;font-size:12.5px;padding-bottom:7px;border-bottom:1px dashed var(--line)}
.actr:last-child{border-bottom:none;padding-bottom:0}
.actrt{color:var(--tx3);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}
.actrn{color:var(--tx2)} .actrs{margin-left:auto;font-weight:700;white-space:nowrap}
.actrm{flex:1;min-width:0;color:var(--tx3);font-size:11px;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sact .actr b{white-space:nowrap}
/* 5. detail(접힘) */
.sdetail details{border:1px solid var(--line);border-radius:16px;background:var(--panel);overflow:hidden}
.sdetail summary{padding:16px 19px;cursor:pointer;font-weight:700;font-size:14px;list-style:none;display:flex;align-items:center;gap:10px}
.sdetail summary::-webkit-details-marker{display:none}
.sdetail summary .chev{margin-left:auto;color:var(--tx3);transition:transform .2s}
.sdetail details[open] summary .chev{transform:rotate(180deg)}
.sdetail .dbody{padding:4px 19px 18px;border-top:1px solid var(--line)}
.dtable{width:100%;border-collapse:collapse;font-size:13px}
.dtable td{padding:10px 6px;border-top:1px solid var(--line)} .dtable tr:first-child td{border-top:none}
.dtable .dc{text-align:right;font-variant-numeric:tabular-nums;font-weight:700} .dtable a{text-decoration:none}
.dlinks{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
/* 상세 페이지 헤더 밴드 — 관제센터 섹션과 동일한 eyebrow/title 통일(06-13 대표: 나머지 페이지도 통일) */
.pagehd{margin:14px 0 20px;padding-bottom:16px;border-bottom:1px solid var(--line);position:relative}
.pagehd .sectitle{margin:2px 0 4px} .pagehd .secsub{margin:0}
@media(max-width:760px){.shh{font-size:27px}.bstat .bv{font-size:38px}.sectitle{font-size:20px}.bigstats{gap:24px}}
/* 태블릿(아이패드·갤탭) 중간 구간 — 헤드라인·featured 숫자 부드럽게 축소 */
@media(max-width:1000px){.shh{font-size:30px}.sbrain .brainbox{height:420px}}
@media(max-width:760px){.sbrain .brainbox{height:360px}}
/* 초소형(폴드 접힘·소형폰) — 넘침 방지 */
@media(max-width:420px){main{padding:12px 10px}.shh{font-size:22px}.bstat .bv{font-size:30px}
 .bigstats{gap:18px}.sectitle{font-size:18px}.eyebrow{font-size:10.5px}
 .riskc.feat .rv{font-size:34px}.riskc.feat .ri{font-size:34px}.patc .prank{font-size:30px}}
