
:root{--bg:#f5f7fa;--navy:#14243a;--ink:#15253b;--ink2:#374a60;--muted:#718093;--line:#e3eaf0;--teal:#07887e;--teal2:#086b66;--mint:#eaf8f5;--white:#fff;--amber:#ad6a11;--cream:#fff6e9;--red:#ba3d4b;--pink:#fff1f2;--blue:#4266ad;--pale:#eff4ff;--shadow:0 10px 32px rgba(20,42,63,.035)}
*{box-sizing:border-box}html,body{margin:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font:14px/1.65 -apple-system,BlinkMacSystemFont,"Pretendard","Noto Sans KR","Malgun Gothic",sans-serif;letter-spacing:-.22px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none!important;transform:none!important}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #76c9c1;outline-offset:2px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}.app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{background:#10243a;color:#d9e6ed;padding:28px 16px 22px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:28px}.brand{display:flex;gap:12px;align-items:center;padding:0 10px 20px;border-bottom:1px solid #33465c}.logo{width:42px;height:42px;border-radius:13px;background:#13a598;display:grid;place-items:center;color:white;font-size:26px;font-weight:800;box-shadow:0 6px 17px rgba(6,153,144,.25)}.brand b{display:block;font-size:18px;letter-spacing:-.5px}.brand small{font-size:10px;color:#a0becc;white-space:nowrap}.tinycap{font-size:10px;font-weight:850;letter-spacing:1.4px;color:#68859a;padding:0 14px 8px}.navs{display:grid;gap:6px}.nav{display:flex;align-items:center;gap:13px;border:0;background:transparent;border-radius:11px;padding:12px 14px;width:100%;text-align:left;color:#c3d0da;font-size:13px;font-weight:700;transition:.15s}.nav:hover{background:#1e3b50}.nav.active{color:white;background:#144e56;box-shadow:inset 3px 0 #3ee2cb}.navnum{font-size:10px;color:#8fa8ba;font-weight:900;width:19px}.nav.active .navnum{color:#80e2d4}.sidenote{margin-top:auto;border:1px solid #2a4256;background:#193247;border-radius:12px;padding:17px 16px;color:#b5cbd8;font-size:11.5px;line-height:1.85}.sidenote b{color:white;display:block;font-size:13px;margin-bottom:5px}.shell{min-width:0}.topbar{height:69px;background:white;border-bottom:1px solid var(--line);padding:0 35px;display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar .crumb{font-size:12px;color:#8494a5}.topbar .crumb strong{color:var(--ink)}.topright{display:flex;align-items:center;gap:8px}.demo{background:#fff7e9;color:#9c6617;border-radius:999px;padding:6px 12px;font-size:10px;font-weight:800;white-space:nowrap}.page{max-width:1390px;margin:0 auto;padding:33px 37px 65px}.hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:25px}.eyebrow{color:var(--teal);font-size:10.5px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:7px}.hero h1{font-size:29px;letter-spacing:-1.0px;line-height:1.38;margin-bottom:10px}.hero p{font-size:13px;color:var(--muted);max-width:710px;line-height:1.9}.herocta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.noticebar{background:#edf8f5;border:1px solid #c7e7e1;border-radius:12px;padding:15px 19px;margin-bottom:21px;display:flex;align-items:center;gap:14px;color:#356c68;line-height:1.6}.noticebar b{color:#105e59}.noticebar .mark{width:29px;height:29px;flex:0 0 auto;border:1px solid #9ed8cb;border-radius:9px;display:grid;place-items:center;font-weight:800;font-size:16px}.noticebar small{font-size:11.5px;display:block}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.kpi,.panel,.subpanel{background:white;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.kpi{padding:20px 21px}.kpi .key{font-size:11px;color:#75859a;font-weight:750;margin-bottom:13px}.kpi strong{display:block;font-size:30px;letter-spacing:-1.1px;line-height:1.15}.kpi strong.teal{color:var(--teal)}.kpi small{font-size:11px;color:#9ba8b5;display:block;margin-top:9px}.panel{padding:23px 25px;margin-bottom:18px;min-width:0}.panelhead{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}.panelhead h2{font-size:16.5px;letter-spacing:-.45px}.panelhead .sub{font-size:12px;color:var(--muted);margin-top:4px}.grid2{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:18px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.btn{background:var(--teal);border:1px solid var(--teal);border-radius:9px;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:white;font-weight:800;font-size:12px;box-shadow:0 3px 12px rgba(3,113,104,.12);transition:.15s}.btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(.98)}.btn.secondary{color:var(--ink2);background:white;border-color:#dce5ec;box-shadow:none}.btn.light{background:#eaf8f5;border-color:#c7e9df;color:#046e65;box-shadow:none}.btn.danger{background:white;border-color:#ecd0d0;color:#b44e4e;box-shadow:none}.btn.small{font-size:11px;padding:7px 11px}.btn.block{width:100%}.btn.ghost{background:transparent;color:#75889b;border-color:transparent;box-shadow:none}.btntext{border:0;background:none;color:var(--teal);font-weight:850;font-size:12px}.pill{display:inline-block;font-size:10.5px;font-weight:800;border-radius:100px;padding:5px 10px;background:#f0f3f7;color:#667689;white-space:nowrap}.pill.ok{background:#e6f8f2;color:#146c51}.pill.warn{background:#fff3df;color:#a06b18}.pill.red{background:#feeff1;color:#b63c4d}.pill.blue{background:#eaf1fd;color:#2d59a3}.pill.teal{background:#eaf8f5;color:#07736a}.tablewrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:11px}.table{border-collapse:collapse;width:100%;min-width:700px}.table th{text-align:left;color:#7d8c9d;background:#f8fafc;font-size:11px;font-weight:800;padding:12px 15px;border-bottom:1px solid var(--line)}.table td{padding:14px 15px;border-bottom:1px solid #eef2f5;font-size:12.5px;vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:#f8fbfb}.table b{font-size:12.5px}.muted{color:var(--muted)}.faint{color:#9dadbb}.small{font-size:11.5px}.strong{font-weight:800}.recordlist{display:grid;gap:8px}.recordcard{display:flex;justify-content:space-between;gap:10px;align-items:center;border-radius:10px;border:1px solid var(--line);background:white;text-align:left;padding:13px 14px;width:100%;color:var(--ink)}.recordcard:hover{border-color:#a8d7cd}.recordcard.active{background:#ecf9f5;border-color:#62b9af}.recordcard b{font-size:12.5px;display:block}.recordcard small{color:var(--muted);font-size:11px;display:block;margin-top:4px}.minipath{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.pathcell{padding:15px 11px;border-radius:10px;background:#f7f9fb;border:1px solid #e7edf2;text-align:center}.pathcell .no{font-size:11px;font-weight:900;color:var(--teal);display:block}.pathcell b{font-size:12px;display:block;margin:6px 0 3px}.pathcell small{font-size:10px;color:var(--muted);display:block;line-height:1.5}.box{border:1px solid var(--line);border-radius:11px;padding:16px 18px;background:#fbfcfe;min-width:0}.box.accent{background:#f0faf7;border-color:#caeae2}.box.warning{background:#fff9ed;border-color:#f2dfbb}.box h3{font-size:13px;margin-bottom:7px}.box p{font-size:12px;color:#5d7186;line-height:1.85}.field{display:block;margin-bottom:7px;font-size:11px;color:#748496;font-weight:850}.textinput,.select,.textarea{width:100%;border:1px solid #d8e3eb;border-radius:9px;background:white;color:var(--ink);padding:11px 12px;font-size:12.5px;min-width:0}.textarea{resize:vertical;min-height:90px}.inputrow{display:grid;grid-template-columns:1fr 1fr;gap:12px}.drop{border:1.5px dashed #a1c9c4;border-radius:13px;background:#f4faf8;padding:30px;text-align:center;position:relative}.drop.drag{background:#e3f7f1;border-color:#0b9184}.drop p{font-weight:850;font-size:15px}.drop small{display:block;color:#708795;margin:6px 0 16px;font-size:11.5px}.drop input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.mappinggrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mappingitem{background:#fbfcfe;padding:11px;border:1px solid var(--line);border-radius:10px}.mappingitem .select{padding:9px}.hint{font-size:11px;color:#8494a4;margin-top:7px}.samplelink{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.timeline{border-left:2px solid #d8ebe5;margin:12px 0 0 8px;padding-left:20px}.event{position:relative;padding-bottom:17px}.event:before{content:"";position:absolute;left:-27px;top:6px;width:10px;height:10px;background:#13a598;border-radius:50%;border:2px solid white;box-shadow:0 0 0 2px #cdebe6}.event:last-child{padding-bottom:0}.event small{color:#93a1b2;font-size:10px}.event b{display:block;font-size:12px;margin:3px 0}.event p{color:#62768b;font-size:11.5px}.reviewtext{white-space:pre-wrap;padding:17px;border-radius:10px;border:1px solid #dce5ec;background:#f8fafc;color:#32455a;font-size:12.5px;line-height:2;overflow-wrap:anywhere}.quotehl{background:#fff0b7;border-radius:3px;padding:2px 3px}.cut{height:1px;background:var(--line);margin:19px 0}.guard{background:#fff8ee;color:#9c691e;border:1px solid #f0dfc1;padding:13px 15px;border-radius:10px;font-size:11.5px;margin-top:13px}.guard.red{color:#a94f56;background:#fff3f3;border-color:#efd4d6}.logs{border:1px solid var(--line);border-radius:9px;padding:0 13px;max-height:240px;overflow-y:auto}.log{border-bottom:1px solid #edf1f5;padding:10px 0;color:#64788d;font-size:11.5px}.log:last-child{border:0}.stepbar{display:flex;align-items:center;gap:6px;margin:13px 0 21px;flex-wrap:wrap}.stepitem{border-radius:7px;background:#eef2f5;padding:9px 10px;color:#8595a5;font-size:11px;font-weight:800}.stepitem.done{background:#def4ec;color:#11745c}.stepitem.active{outline:2px solid #0e8e82;outline-offset:0}.preview{white-space:pre-wrap;line-height:1.9;color:#344f63;font-size:12.5px;padding:17px 19px;background:#f7f9fb;border:1px solid #dce5ec;border-radius:11px}.kicker{font-size:12px;color:var(--muted);margin-top:10px}.bars{display:grid;gap:14px}.barrow .barcap{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#677d8f}.barrow .barbg{height:9px;background:#ebf0f5;border-radius:999px;margin-top:7px;overflow:hidden}.barrow .barfg{height:100%;border-radius:999px;background:linear-gradient(90deg,#1ea69d,#068076);transition:width .25s}.score{border-radius:12px;background:#172e45;color:white;padding:23px 25px}.score small{display:block;color:#a6c8c5;font-size:11px}.score strong{font-size:29px;display:block;margin:4px 0 13px}.score .line{border-top:1px solid #3b536a;padding:10px 0;font-size:12px;display:flex;justify-content:space-between;color:#c1d0d9}.score .line b{color:white}.footer{margin-top:27px;padding-top:16px;border-top:1px solid var(--line);color:#99a8b5;font-size:11px;line-height:1.75}.modalshade{position:fixed;inset:0;background:rgba(16,32,49,.55);z-index:40;display:grid;place-items:center;padding:18px}.modal{background:#fff;border-radius:17px;width:min(700px,100%);max-height:92vh;overflow:auto;padding:26px;box-shadow:0 24px 70px rgba(0,0,0,.15)}.modal h2{font-size:19px;margin-bottom:7px}.modal p{font-size:12px;color:#66798c;margin:5px 0}.toast{position:fixed;right:23px;bottom:23px;z-index:100;background:#183349;color:white;box-shadow:0 14px 35px rgba(19,37,52,.2);padding:12px 17px;border-radius:10px;font-size:12.5px;font-weight:800}.empty{text-align:center;padding:34px;color:#8291a1;font-size:12px;background:#fafcfd;border:1px dashed #d3dfe8;border-radius:10px}.red{color:var(--red)}.teal{color:var(--teal)}.breadcrumb{font-size:11px;color:#90a1b0}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.badgecount{font-size:11px;color:#92a2af;font-weight:800}.explain{display:flex;gap:11px;align-items:flex-start}.explain strong{display:block;font-size:12.5px}.explain small{display:block;font-size:11.5px;color:#708093;line-height:1.8;margin-top:2px}.bullet{width:25px;height:25px;background:#eaf8f5;color:#087a71;display:grid;place-items:center;border-radius:8px;flex:0 0 auto;font-weight:800;font-size:11px}.hidden{display:none!important}[hidden]{display:none!important}
@media(max-width:1180px){.app{grid-template-columns:214px minmax(0,1fr)}.page{padding:26px}.kpis{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.minipath{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.app{display:block}.sidebar{height:auto;position:static;padding:15px 16px;gap:12px}.brand{padding:0 2px 11px}.brand b{font-size:16px}.brand small{font-size:9px}.tinycap,.sidenote{display:none}.navs{display:flex;overflow-x:auto;gap:5px}.nav{white-space:nowrap;width:auto;padding:9px 11px;font-size:11px}.navnum{width:auto}.topbar{height:53px;padding:0 17px}.topbar .crumb{display:none}.page{padding:21px 16px 50px}.hero{display:block;margin-bottom:17px}.hero h1{font-size:25px}.herocta{margin-top:14px}.panel{padding:18px 16px}.mappinggrid,.grid3{grid-template-columns:1fr 1fr}.minipath{grid-template-columns:repeat(2,1fr)}.grid4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.page{padding:17px 12px 45px}.hero h1{font-size:22px}.hero p{font-size:12px}.kpis{gap:8px}.kpi{padding:13px}.kpi strong{font-size:24px}.panel{padding:16px 13px}.panelhead{align-items:flex-start;flex-wrap:wrap}.grid3,.mappinggrid,.inputrow{grid-template-columns:1fr}.minipath{grid-template-columns:1fr 1fr}.drop{padding:20px 12px}.demo{font-size:9px}.toolbar{width:100%}.toolbar .btn{flex:1}}
@media print{.sidebar,.topbar,.btn,.footer{display:none!important}.app{display:block}.page{max-width:none;padding:10px}.panel,.kpi{box-shadow:none!important;break-inside:avoid}}

/* Integrated Eghis demo sync — visually distinct provenance and compact action flow */
.sync-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 15px}
.sync-top .muted{font-size:12px}
.sync-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:18px}
.sync-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 21px;box-shadow:var(--shadow)}
.sync-card .mini{font-size:11px;font-weight:800;color:var(--teal);letter-spacing:.5px}.sync-card b{font-size:17px;letter-spacing:-.5px;display:block;margin:6px 0 4px}.sync-card small{font-size:11.5px;color:var(--muted);display:block;line-height:1.6}
.sync-file{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:15px 16px;background:#fcfdfd;margin-bottom:10px}
.sync-file b{display:block;font-size:13px}.sync-file small{font-size:11px;color:var(--muted)}
.sync-callout{background:#edf8f6;border:1px solid #bde4dd;border-radius:13px;padding:16px 18px;color:#205c58;font-size:12px;line-height:1.75;margin-bottom:16px}
.sync-callout strong{color:#135b55}.sync-scene{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px}
.sync-scene .sbox{padding:12px 13px;background:#f7fafc;border-radius:10px;border:1px solid var(--line);min-height:96px}
.sync-scene .sbox b{display:block;color:var(--navy);font-size:12.5px}.sync-scene .sbox small{color:var(--muted);font-size:11px}
.sync-ledger{margin:0;padding:0;list-style:none}.sync-ledger li{border-bottom:1px solid #eef2f5;padding:10px 0;display:flex;gap:12px;font-size:12px}.sync-ledger li:last-child{border:0}
.sync-dot{width:7px;height:7px;margin-top:7px;border-radius:50%;background:var(--teal);flex:none}
.sync-log{font-size:11.5px;color:var(--muted);line-height:1.6}
.sync-help{font-size:12px;color:var(--muted);margin:12px 0 0}
.sync-badge{border-radius:8px;padding:5px 10px;background:#e8f5ee;color:#247c55;font-weight:800;font-size:11px;display:inline-flex}
.sync-badge.wait{background:#fff4e0;color:#98600b}.sync-badge.muted{background:#eef3f7;color:#64748b}.sync-badge.blue{background:#eef4ff;color:#355bb0}
.sync-table{min-width:710px}.sync-table td{white-space:normal;line-height:1.6}.sync-table th{white-space:nowrap}
.sync-path{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin:12px 0 19px}
.sync-path span{padding:7px 9px;border:1px solid var(--line);background:#fff;border-radius:8px;font-weight:700}
.sync-path i{font-style:normal;color:var(--teal)}
@media(max-width:1040px){.sync-cards{grid-template-columns:1fr}.sync-scene{grid-template-columns:1fr}}
@media(max-width:800px){.navs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible!important;gap:5px}.nav{font-size:11px;min-width:0!important;justify-content:center;padding:10px 5px}.navnum{display:none}}
@media(max-width:640px){.sync-file{grid-template-columns:1fr}.sync-file .btn{width:100%}.sync-ledger li{flex-direction:column;gap:3px}}


.review-toolbar{margin:16px 0;align-items:flex-end}.review-toolbar label{min-width:180px;flex:1}
.review-table{min-width:1000px;table-layout:fixed}/* columns counted from the right: doctors get an extra checkbox column on the left (0.7), staff do not */.review-table th.checkcol{width:44px}.review-table th:nth-last-child(4){width:27%}.review-table th:nth-last-child(3){width:26%}.review-table th:nth-last-child(2){width:24%}.review-table th:nth-last-child(1){width:19%}.review-table td{vertical-align:top;overflow-wrap:anywhere}.review-table mark{background:#fff0b7;color:#243e51;border-radius:3px;padding:1px}.review-table .reviewtext{padding:12px;margin:10px 0}.review-table .box{margin-bottom:8px;padding:11px}.review-table .field{margin-top:12px}.extracted{margin:12px 0;padding:10px 12px;border-left:3px solid #07887e;background:#edf8f5;color:#294d4b;white-space:pre-wrap;font-size:12px}.extracted small{display:block;color:#64817e}.uncertainties{font-size:11px;color:#936213;margin:8px 0}.uncertainties p{margin:4px 0}
@media(max-width:800px){.review-table,.review-table tbody,.review-table tr,.review-table td{display:block;width:100%;min-width:0}.review-table thead{display:none}.review-table tr{border-bottom:2px solid #c7e7e1;padding-bottom:12px}.review-table td::before{content:attr(data-label);display:block;color:#07887e;font-size:11px;font-weight:800;margin-bottom:6px}.review-table td{border-bottom:0}.review-table .recordlist{grid-template-columns:1fr 1fr}.review-toolbar{display:block}.topbar{height:auto;min-height:60px}.topright{flex-wrap:wrap;justify-content:flex-end}}

#connection{flex:1;min-width:0}#refresh{white-space:nowrap;flex-shrink:0}
/* ---- 2026-10 web platform additions ---- */
a.nav{color:#c3d0da}
#message{min-height:20px;margin:10px 0 6px;font-size:12.5px;color:#0b6d64;font-weight:700}
.gap{margin-top:14px}.push{margin-left:auto}.grow{flex:1 1 220px}.narrow{max-width:440px}.slim{padding:14px 18px}
.kpis.kpis6{grid-template-columns:repeat(6,minmax(0,1fr))}
.checkcol{width:38px;text-align:center}.rowcheck{width:17px;height:17px;accent-color:var(--teal)}
.checkline{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--ink2);font-weight:700}
.field.inline{display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap}.field.inline .textinput,.field.inline .select{width:auto;padding:8px 10px}
.textinput.short{width:150px;padding:8px 10px}.select.small{padding:7px 9px;font-size:12px;margin-bottom:6px}
.statgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.stat{border:1px solid var(--line);border-radius:12px;padding:15px 16px;background:#fbfcfe}.stat.accent{background:#eaf8f5;border-color:#bfe6dd}
.stat small{display:block;font-size:11px;color:#6c7f91;font-weight:800}.stat strong{display:block;font-size:19px;margin:6px 0 3px;letter-spacing:-.6px}.stat span{font-size:11px;color:#8494a4}
.bulkbar{margin:10px 0 14px;padding:12px 14px;background:#f4faf8;border:1px solid #d3ebe5;border-radius:10px}
.review-toolbar{align-items:flex-end;margin-bottom:6px}.review-toolbar .field{margin:0}
.tabs{margin:14px 0}.chip{border:1px solid #d5e1e8;background:white;border-radius:999px;padding:7px 13px;font-size:12px;font-weight:750;color:var(--ink2)}
.chip b{color:var(--teal);margin-left:3px}.chip.active{background:#144e56;border-color:#144e56;color:white}.chip.active b{color:#9ff0e3}
.msgcell{min-width:320px}.msgcell .preview{margin-top:8px;padding:11px 13px}
.tplcard .preview{margin:6px 0 4px}
.inputrow3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.permgrid{display:flex;flex-wrap:wrap;gap:8px 16px;margin:6px 0 10px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}
.staffrow{border-bottom:1px solid #edf1f5;padding:14px 0}.staffrow:last-child{border:0}.staffinfo{margin-bottom:4px}
.sectiontitle{font-size:15px;margin:22px 0 10px}
code.pw{background:#fff7e0;border:1px solid #f0dca4;border-radius:6px;padding:3px 8px;font-size:12.5px}
.seg{display:inline-flex;border:1px solid #d5e1e8;border-radius:9px;overflow:hidden}.seg button{border:0;background:white;padding:8px 14px;font-size:12px;font-weight:800;color:var(--ink2)}.seg button.active{background:var(--teal);color:white}
.calmonth{min-width:120px;text-align:center}
.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.calhead{text-align:center;font-size:11px;font-weight:850;color:#7d8c9d;padding:4px 0}
.calcell{min-height:96px;border:1px solid var(--line);border-radius:10px;background:white;padding:7px 8px;text-align:left;display:flex;flex-direction:column;gap:3px;align-items:flex-start}
.calcell:hover{border-color:#62b9af}.calcell.blank{border:0;background:transparent}.calcell.has{background:#fbfefd}
.calcell.today{outline:2px solid #13a598}.calcell.picked{background:#e6f6f2}
.calday{font-size:12px;font-weight:850;color:var(--ink2)}
.calev{font-size:10.5px;font-weight:800;border-radius:6px;padding:2px 6px;background:#f0f3f7;color:#55687b;white-space:nowrap}
.ev-approved{background:#eaf1fd;color:#2d59a3}.ev-outreach{background:#fff3df;color:#a06b18}.ev-booked{background:#eaf8f5;color:#07736a}.ev-visited{background:#e6f8f2;color:#146c51}.ev-exam{background:#f3ecfd;color:#6a3fb0}
@media(max-width:1100px){.kpis.kpis6,.statgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.inputrow3{grid-template-columns:1fr}.calcell{min-height:70px}}
.recordlist .btn{white-space:nowrap}.table td:last-child .recordlist{min-width:118px}.upload-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
/* QA 2026-10: spacing between the synthetic-data checkbox and its upload button; sub-headings inside the agents panel */
.checkline + .btn{margin-left:12px}
.panel > h2.gap{font-size:14px;margin:20px 0 6px}
/* 0.7.2: login centered in the main area; upload confirmation on its own row below the file picker; patient number next to the name */
.loginbox{max-width:640px;margin:24px auto 0}.loginbox .hero p{max-width:none;word-break:keep-all}.loginbox .panel.narrow{max-width:440px}.loginbox .hero{display:block;text-align:center}.loginbox .hero p{margin:0 auto}.loginbox .panel.narrow{margin:0 auto}
.upload-confirm{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px}.upload-confirm .btn{margin-left:0}
.pno{font-weight:600;color:var(--muted);font-size:.92em;margin-left:2px}
