:root{--navy:#0d2c4b;--blue:#2563eb;--blue-soft:#eaf1ff;--green:#16815f;--amber:#aa6900;--red:#d63f3f;--ink:#162332;--muted:#69798a;--line:#dce5ee;--bg:#f4f7fa;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Pretendard,"Noto Sans KR",Arial,sans-serif}
button,input,select{font:inherit}button{cursor:pointer}
header{height:68px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.brand{font-size:21px;font-weight:900;color:var(--navy)}.brand span{color:var(--blue)}
.hospital{font-weight:800}.hospital span,.badge{font-size:12px;padding:5px 9px;border-radius:999px;background:var(--blue-soft);color:var(--blue);margin-left:6px}
main{max-width:1180px;margin:auto;padding:44px 24px 80px}
.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:44px;align-items:end;margin-bottom:32px}.eyebrow{color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.12em;margin:0 0 9px}.hero h1{font-size:44px;line-height:1.14;margin:0 0 16px;color:var(--navy)}.sub{color:var(--muted);font-size:16px;margin:0}
.summary{background:var(--navy);color:#fff;padding:26px;border-radius:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.summary div+div{border-left:1px solid #ffffff2e;padding-left:22px}.summary span,.summary strong{display:block}.summary span{font-size:13px;color:#c4d3e3}.summary strong{font-size:22px;margin-top:7px}
.workspace-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.workspace-nav button{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:11px;align-items:center;padding:15px 17px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--navy);text-align:left}.workspace-nav button>span{grid-row:1/3;display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:#edf2f7;color:#718195;font-size:11px;font-weight:900}.workspace-nav b{font-size:16px}.workspace-nav small{color:var(--muted);font-size:11px}.workspace-nav button.active{border-color:#86abf3;background:#f2f7ff;box-shadow:0 8px 22px #2563eb16}.workspace-nav button.active>span{background:var(--blue);color:#fff}
.tabs{display:flex;gap:7px;margin-bottom:14px;overflow:auto;padding:3px}.tabs button{border:0;background:transparent;color:var(--muted);padding:11px 15px;border-radius:11px;font-weight:800;white-space:nowrap}.tabs button.active{background:#fff;color:var(--blue);box-shadow:0 3px 12px #17324d12}
.tabs[hidden]{display:none!important}
.panel{display:none;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 12px 40px #1836510b}.panel.active{display:block}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.section-head h2{margin:0 0 22px;color:var(--navy)}
.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px}.quick-actions button{border:1px solid var(--line);border-radius:15px;background:#f9fbfd;padding:18px;text-align:left;color:var(--ink)}.quick-actions button:hover{border-color:#a8c3f7;background:#f2f7ff}.quick-actions span{font-size:22px;display:block;margin-bottom:8px}.quick-actions b,.quick-actions small{display:block}.quick-actions small{color:var(--muted);margin-top:5px}
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card{border:1px solid var(--line);border-radius:16px;padding:20px}.card h3{margin:0 0 14px;color:var(--navy)}
.compact-list button,.compact-list>div{width:100%;border:0;border-top:1px solid #edf1f5;background:transparent;padding:12px 0;display:flex;justify-content:space-between;align-items:center;text-align:left;color:var(--ink)}.compact-list button:first-child,.compact-list>div:first-child{border-top:0}.compact-list span b,.compact-list span small{display:block}.compact-list span small{color:var(--muted);margin-top:3px}.empty-mini{color:var(--muted);padding:18px 0}
.form-card{background:#f9fbfd;border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:18px}.form-card h3{margin-top:0;color:var(--navy)}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.span-2{grid-column:span 2}
label{font-size:12px;font-weight:700;color:var(--muted)}input,select{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 11px;color:var(--ink);background:#fff;margin-top:6px;min-height:41px}input:focus,select:focus{outline:3px solid #2563eb18;border-color:#7ca4f0}
.actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.primary,.secondary,.ghost{border:0;border-radius:11px;padding:12px 19px;font-weight:900}.primary{background:var(--blue);color:#fff}.secondary{background:var(--navy);color:#fff}.ghost{background:#fff;border:1px solid var(--line);color:var(--muted)}
.picker{display:flex;gap:10px;margin:18px 0}.picker input{margin:0}.list-toolbar{display:flex;gap:12px;justify-content:space-between;align-items:center;margin:18px 0}.list-toolbar>input{max-width:420px;margin:0}.product-management-search{width:min(760px,100%)}.product-management-search>input{width:100%;margin:0}.product-management-search .autocomplete-list{z-index:60}.product-management-toolbar{align-items:flex-start}.filters{display:flex;gap:7px}.filters button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 13px;color:var(--muted);font-weight:800}.filters button.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.data-list article{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:18px 4px}.data-list article:last-child{border-bottom:0}.data-list h3{margin:0;color:var(--navy)}.data-list p{margin:5px 0;color:var(--muted);font-size:13px}.data-list small{color:var(--muted)}.data-list article>div:last-child{text-align:right}.data-list article>div:last-child strong,.data-list article>div:last-child small{display:block}.data-list article>div:last-child strong{font-size:19px}
.title-line{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.code{font-size:11px;background:#eff3f7;border-radius:7px;padding:4px 7px;color:var(--muted)}.text-button{border:0;background:none;color:var(--blue);font-size:13px;font-weight:800;padding:5px 0}.status{font-size:11px;border-radius:99px;padding:4px 7px;font-weight:900}.status.normal{background:#e5f6ef;color:var(--green)}.status.low{background:#fff2d8;color:var(--amber)}.status.out{background:#ffe8e8;color:var(--red)}
.entry-rows{display:grid;gap:12px}.entry-row{border:1px solid var(--line);border-radius:15px;padding:18px}.row-main{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:start}.row-main h3{margin:0;color:var(--navy)}.row-main p{margin:5px 0 0;color:var(--muted);font-size:13px}.stock-pill{background:var(--blue-soft);color:var(--blue);font-size:12px;font-weight:900;padding:6px 9px;border-radius:99px}.remove{border:0;background:#f5f6f8;color:#8793a0;width:28px;height:28px;border-radius:8px;font-size:18px}
.row-fields{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:16px}.row-fields label:nth-child(3){display:flex;flex-direction:column}.quantity-preview{display:flex;align-items:center;min-height:41px;margin-top:6px;padding:10px;border-radius:9px;background:#eef3f8;color:var(--navy);font-weight:900}.package-info{display:block;margin-top:10px;color:var(--muted)}.totals{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin:16px 0}.totals span{color:var(--muted)}.totals strong{font-size:22px;color:var(--navy)}
.usage-field{display:grid;grid-template-columns:220px 1fr;align-items:end;gap:20px;margin-top:15px}.after-stock{background:#f3f7fb;padding:13px;border-radius:10px;color:var(--muted)}.after-stock strong{color:var(--navy)}.after-stock.danger{background:#fff0f0;color:var(--red)}.after-stock.danger strong{color:var(--red)}.payment-card,.history{margin-top:28px}.history h3{color:var(--navy)}.empty-state{padding:45px 15px;text-align:center;color:var(--muted)}.empty-state.small{padding:22px}.inventory-card>div:last-child small{margin-top:5px}
#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,30px);opacity:0;background:var(--navy);color:#fff;padding:14px 20px;border-radius:11px;box-shadow:0 12px 30px #102a4340;transition:.25s;pointer-events:none;z-index:30;max-width:min(90vw,560px);text-align:center}#toast.show{transform:translate(-50%,0);opacity:1}
@media(max-width:820px){main{padding:28px 14px 60px}.hero{grid-template-columns:1fr;gap:20px}.hero h1{font-size:34px}.summary{padding:20px}.quick-actions,.dashboard-grid{grid-template-columns:1fr}.panel{padding:18px}.form-grid{grid-template-columns:1fr 1fr}.row-fields{grid-template-columns:1fr 1fr}.row-fields label:nth-child(3){grid-column:span 2}.usage-field{grid-template-columns:1fr 1fr}.section-head h2{font-size:21px}}
@media(max-width:520px){header{height:60px;padding:0 14px}.hospital{font-size:13px}.hero h1{font-size:30px}.summary{grid-template-columns:1fr}.summary div+div{border-left:0;border-top:1px solid #ffffff2e;padding-left:0;padding-top:14px}.form-grid,.usage-field{grid-template-columns:1fr}.span-2{grid-column:auto}.picker{align-items:stretch}.picker .secondary{padding-inline:14px}.row-main{grid-template-columns:1fr auto}.stock-pill{grid-row:2}.remove{grid-column:2;grid-row:1}.row-fields{grid-template-columns:1fr 1fr}.data-list article{align-items:flex-start}.data-list article>div:last-child{min-width:105px}.list-toolbar{align-items:stretch;flex-direction:column}.list-toolbar>input{max-width:none}.section-head .badge{display:none}}

.import-card>div:first-child{display:flex;justify-content:space-between;align-items:start;gap:18px}.import-card h3{margin-bottom:7px}.import-card p{margin:0;color:var(--muted);font-size:13px}.import-picker{display:flex;gap:10px;align-items:end;margin-top:16px}.import-picker input{margin:0}.import-picker button{white-space:nowrap}.import-result{margin-top:18px;border-top:1px solid var(--line);padding-top:18px}.import-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.import-summary div{background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px}.import-summary span,.import-summary strong{display:block}.import-summary span{font-size:12px;color:var(--muted)}.import-summary strong{margin-top:4px;color:var(--navy);font-size:18px}.import-table-wrap{max-height:330px;overflow:auto;border:1px solid var(--line);border-radius:11px;background:#fff}.import-table{width:100%;border-collapse:collapse;font-size:13px}.import-table th{position:sticky;top:0;background:var(--navy);color:#fff;text-align:left;padding:10px;white-space:nowrap}.import-table td{padding:9px 10px;border-bottom:1px solid #edf1f5}.import-table td.number{text-align:right}.import-errors{margin-top:12px;color:var(--red);font-size:13px}.import-errors p{margin:5px 0;color:inherit}.import-errors .import-ok{color:var(--green);font-weight:800}.primary:disabled,.secondary:disabled{opacity:.5;cursor:not-allowed}
.inventory-baseline-row{display:grid;grid-template-columns:210px 1fr;gap:16px;align-items:center;margin-top:14px;padding:14px 16px;border:1px solid #dce7f6;border-radius:12px;background:#f7faff}.inventory-baseline-row label{margin:0;font-weight:800;color:var(--navy)}.inventory-baseline-row input{margin-top:7px;background:#fff}.inventory-baseline-row strong{display:block;margin-bottom:5px;color:var(--navy);font-size:13px}.inventory-baseline-row p{line-height:1.55}.inventory-baseline-row small{display:block;margin-top:6px;color:#2471d9}
@media(max-width:820px){.import-summary{grid-template-columns:1fr 1fr}.import-picker{align-items:stretch;flex-direction:column}.import-picker button{align-self:flex-end}.inventory-baseline-row{grid-template-columns:1fr}}

.import-summary{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.missing-value{color:var(--amber);font-weight:800}
.import-warning{margin-bottom:10px;padding:12px 14px;border:1px solid #f2c36b;border-radius:10px;background:#fff8e8;color:#8a5700}
.import-blocking{padding:12px 14px;border:1px solid #efb0b0;border-radius:10px;background:#fff1f1;color:var(--red)}
.amount-preview{display:flex;align-items:center;min-height:41px;margin-top:6px;padding:10px;border-radius:9px;background:#eef3f8;color:var(--navy);font-weight:900}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(145deg,#eef4ff,#f7f9fb 55%,#eaf6f2)}
.auth-screen[hidden],#appShell[hidden],.director-only[hidden],.admin-only[hidden]{display:none!important}
.auth-card{width:min(100%,460px);padding:34px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 22px 60px #17324d1c}
.source-link{display:inline-block;margin-top:4px;color:var(--blue);font-size:13px;font-weight:800;text-decoration:none}
.catalog-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.catalog-summary[hidden]{display:none}.catalog-summary article{min-width:0;padding:15px;border:1px solid var(--line);border-radius:13px;background:#fff}.catalog-summary span,.catalog-summary strong{display:block}.catalog-summary span{color:var(--muted);font-size:11px;font-weight:800}.catalog-summary strong{margin-top:7px;overflow-wrap:anywhere;color:var(--navy);font-size:15px}.catalog-summary article:first-child strong{color:var(--green)}.catalog-policy{margin-top:18px;padding:15px 17px;border:1px solid #c8d9f7;border-radius:13px;background:#f3f7ff}.catalog-policy strong{color:var(--navy)}.catalog-policy p{margin:6px 0 0!important;line-height:1.55}.hira-card{max-width:920px;margin-inline:auto}@media(max-width:700px){.catalog-summary{grid-template-columns:1fr 1fr}}@media(max-width:460px){.catalog-summary{grid-template-columns:1fr}}
.table-actions{display:flex;gap:6px;align-items:center}.table-save{border:1px solid #9ebcf4;border-radius:8px;background:#eef4ff;color:var(--blue);padding:7px 10px;font-size:12px;font-weight:900;white-space:nowrap}.table-save:hover{background:#dfeaff}.table-save:disabled{opacity:.5;cursor:not-allowed}
.table-delete{border:1px solid #f0bcbc;border-radius:8px;background:#fff5f5;color:var(--red);padding:7px 10px;font-size:12px;font-weight:800;white-space:nowrap}.table-delete:hover{background:#ffe8e8}.table-delete:disabled{opacity:.5;cursor:not-allowed}
.catalog-status{margin:12px 0 0;color:var(--muted);font-size:13px}.catalog-status.ready{color:var(--green);font-weight:800}
.autocomplete-field{position:relative}.field-help{display:block;margin-top:6px;color:var(--muted);font-size:11px;font-weight:500}.autocomplete-list{position:absolute;top:66px;left:0;right:0;z-index:25;max-height:360px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 18px 40px #102a4330}.autocomplete-list[hidden]{display:none}.autocomplete-list:not([hidden]){transform-origin:top center;animation:autocomplete-reveal .18s cubic-bezier(.2,.8,.2,1)}.autocomplete-list button{display:block;width:100%;padding:12px 14px;border:0;border-bottom:1px solid #edf1f5;background:#fff;text-align:left;transition:background-color .14s ease,padding-left .14s ease}.autocomplete-list button:last-child{border-bottom:0}.autocomplete-list button:hover,.autocomplete-list button:focus{padding-left:17px;background:#f1f6ff;outline:0}.autocomplete-list strong,.autocomplete-list span{display:block}.autocomplete-list strong{color:var(--navy)}.autocomplete-list span{margin-top:4px;color:var(--muted);font-size:12px}.danger-text{color:var(--red);margin-left:8px}@keyframes autocomplete-reveal{from{opacity:0;transform:translateY(-7px) scaleY(.97)}to{opacity:1;transform:translateY(0) scaleY(1)}}
.autocomplete-message{padding:14px}.autocomplete-message strong,.autocomplete-message span{display:block}.autocomplete-message span{margin-top:4px;color:var(--muted);font-size:12px}.autocomplete-notice strong{color:var(--blue)!important}
.receipt-picker{align-items:flex-start}.receipt-product-picker{position:relative;flex:1;min-width:0}.receipt-product-picker>input{margin:0}.receipt-autocomplete-list{top:calc(100% + 6px);max-height:380px}.receipt-autocomplete-list button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 18px;align-items:center}.receipt-autocomplete-list button span{margin-top:3px}.receipt-autocomplete-list button>span>span,.receipt-autocomplete-list button>span>small{display:block;overflow:hidden;margin-top:3px;text-overflow:ellipsis;white-space:nowrap}.receipt-autocomplete-list button>span>small{color:#8794a3;font-size:11px}.receipt-autocomplete-list .receipt-stock{grid-column:2;grid-row:1 / span 2;margin:0;color:var(--blue);font-weight:900;text-align:right;white-space:nowrap}.receipt-autocomplete-list .receipt-package{color:var(--muted);white-space:nowrap}
.usage-picker{align-items:flex-start}.usage-comparison{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end;margin-top:16px}.usage-stock-box{min-height:70px;border:1px solid var(--line);border-radius:12px;background:#f4f8fd;padding:12px 15px;display:flex;flex-direction:column;justify-content:center}.usage-stock-box span{font-size:12px;font-weight:800;color:var(--muted)}.usage-stock-box strong{font-size:22px;color:var(--navy);margin-top:5px}.usage-quantity-box input{font-size:18px;font-weight:900;color:var(--navy)}.usage-comparison+.after-stock{margin-top:10px;text-align:right}.usage-day-summary{margin-top:26px}.usage-summary-head{display:flex;justify-content:space-between;gap:18px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:14px}.usage-summary-head h3{margin:0 0 6px}.usage-summary-head p{margin:0;color:var(--muted);font-size:13px}.usage-daily-list article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 2px;border-bottom:1px solid var(--line)}.usage-daily-list article:last-child{border-bottom:0}.usage-daily-list span strong,.usage-daily-list span small{display:block}.usage-daily-list span small{margin-top:4px;color:var(--muted)}.usage-daily-list>article>strong{font-size:18px;color:var(--navy);white-space:nowrap}
.date-range-controls{display:flex;align-items:end;gap:8px}.date-range-controls label{min-width:145px}.date-range-controls input{margin-top:4px}.date-range-controls>span{padding-bottom:11px;color:var(--muted);font-weight:800}.statistics-filter-card{display:grid;gap:16px}.statistics-presets{display:flex;gap:8px;flex-wrap:wrap}.statistics-presets button{border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px 14px;color:var(--muted);font-weight:900}.statistics-presets button.active{border-color:var(--navy);background:var(--navy);color:#fff}.statistics-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.statistics-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.statistics-summary-card{border:1px solid var(--line);border-radius:14px;background:#f8fbff;padding:16px}.statistics-summary-card span,.statistics-summary-card strong{display:block}.statistics-summary-card span{color:var(--muted);font-size:12px}.statistics-summary-card strong{margin-top:7px;color:var(--navy);font-size:19px;line-height:1.35}.statistics-list{border:1px solid var(--line);border-radius:16px;padding:4px 18px}.statistics-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:center;padding:17px 2px;border-bottom:1px solid var(--line)}.statistics-row:last-child{border-bottom:0}.statistics-rank{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:var(--blue-soft);color:var(--blue);font-size:12px;font-weight:900}.statistics-row h3{margin:0;color:var(--navy);font-size:16px}.statistics-row p{margin:5px 0 0;color:var(--muted);font-size:12px}.statistics-row>strong{color:var(--navy);font-size:20px;white-space:nowrap}
.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:#0d2c4b80;backdrop-filter:blur(3px)}.modal-backdrop[hidden]{display:none}.reminder-card{width:min(100%,500px);padding:30px;border-radius:20px;background:#fff;box-shadow:0 28px 80px #0d2c4b40}.reminder-icon{display:grid;width:45px;height:45px;margin-bottom:18px;place-items:center;border-radius:14px;background:var(--blue-soft);color:var(--blue);font-size:27px;font-weight:900}.reminder-card h2{margin:0 0 12px;color:var(--navy)}.reminder-card>p:not(.eyebrow){margin:0;color:var(--muted);line-height:1.6}
.auth-brand{margin-bottom:32px;color:var(--navy);font-size:23px;font-weight:900}.auth-brand span{color:var(--blue)}
.brand,.auth-brand{display:flex;align-items:center}.header-brand-logo,.auth-brand-logo{display:block;width:auto;object-fit:contain;object-position:left center}.header-brand-logo{height:39px;max-width:230px}.auth-brand-logo{width:min(100%,355px);height:auto;max-height:66px}.brand-meaning{margin:-25px 0 28px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em}
@media(max-width:520px){.header-brand-logo{height:31px;max-width:174px}.auth-brand-logo{max-width:300px}.brand-meaning{margin-top:-24px}}
.auth-card h1{margin:0 0 12px;color:var(--navy);font-size:31px;line-height:1.25}.auth-help{margin:0 0 24px;color:var(--muted);line-height:1.55}
.auth-card form{display:grid;gap:14px}.auth-submit{width:100%;margin-top:6px}.account-area{display:flex;align-items:center;gap:12px}.logout-button{border:1px solid var(--line);border-radius:9px;background:#fff;padding:8px 10px;color:var(--muted);font-size:12px;font-weight:800}
@media(max-width:520px){.auth-card{padding:24px}.auth-card h1{font-size:27px}.logout-button{padding:7px}.hospital{display:flex;align-items:center}}
@media(max-width:520px){.receipt-picker,.usage-picker{flex-direction:column}.receipt-product-picker,.receipt-picker .secondary,.usage-picker .secondary{width:100%}.receipt-autocomplete-list button{grid-template-columns:minmax(0,1fr)}.receipt-autocomplete-list .receipt-stock{grid-column:1;grid-row:auto;text-align:left}.usage-comparison{grid-template-columns:1fr}.usage-comparison+.after-stock{text-align:left}}
@media(max-width:820px){.usage-summary-head{flex-direction:column}.date-range-controls{width:100%}.date-range-controls label{min-width:0;flex:1}.statistics-summary{grid-template-columns:1fr 1fr}.statistics-controls{grid-template-columns:1fr}.statistics-row{grid-template-columns:34px minmax(0,1fr) auto}}
@media(max-width:520px){.date-range-controls{display:grid;grid-template-columns:1fr 1fr}.date-range-controls>span{display:none}.statistics-summary{grid-template-columns:1fr 1fr}.statistics-summary-card{padding:12px}.statistics-summary-card strong{font-size:16px}.statistics-list{padding:4px 12px}.statistics-row{grid-template-columns:30px minmax(0,1fr)}.statistics-row>strong{grid-column:2;text-align:left;font-size:18px}}
.nurse-view .summary{grid-template-columns:repeat(2,1fr)}
.statistics-controls{grid-template-columns:repeat(4,1fr)}
.statistics-product-search[hidden]{display:none}
.statistics-summary{grid-template-columns:repeat(5,1fr)}
.statistics-summary-card small{display:block;margin-top:5px;color:var(--amber);font-size:10px;font-weight:800}
.statistics-values{text-align:right}.statistics-values strong,.statistics-values b{display:block;white-space:nowrap}.statistics-values strong{color:var(--navy);font-size:19px}.statistics-values b{margin-top:5px;color:var(--blue);font-size:15px}
.statistics-manufacturer-row{padding:18px 2px;border-bottom:1px solid var(--line)}.statistics-manufacturer-row:last-child{border-bottom:0}.statistics-manufacturer-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:center}.statistics-manufacturer-head h3{margin:0;color:var(--navy);font-size:16px}.statistics-manufacturer-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.statistics-manufacturer-head>strong{color:var(--navy);font-size:20px;white-space:nowrap}.statistics-product-breakdown{margin:14px 0 0 56px;border-radius:12px;background:#f7f9fc;padding:4px 14px}.statistics-product-breakdown>div{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid var(--line)}.statistics-product-breakdown>div:last-child{border-bottom:0}.statistics-product-breakdown span:last-child{text-align:right}.statistics-product-breakdown b,.statistics-product-breakdown small{display:block}.statistics-product-breakdown b{color:var(--navy);font-size:13px}.statistics-product-breakdown small{margin-top:4px;color:var(--muted);font-size:11px}
@media(max-width:1000px){.statistics-summary{grid-template-columns:repeat(3,1fr)}.statistics-controls{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.statistics-controls{grid-template-columns:1fr}.statistics-values{grid-column:2;text-align:left}.statistics-manufacturer-head{grid-template-columns:30px minmax(0,1fr)}.statistics-manufacturer-head>strong{grid-column:2}.statistics-product-breakdown{margin-left:0}.statistics-product-breakdown>div{align-items:flex-start}}
.usage-editor-status{margin:14px 0 0;color:var(--muted);font-size:12px;text-align:right}.usage-draft-section{margin-top:26px}.usage-draft-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}.usage-draft-head h3{margin:0 0 6px;color:var(--navy)}.usage-draft-head p{margin:0;color:var(--muted);font-size:13px}.usage-draft-list{display:grid}.usage-draft-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 2px;border-bottom:1px solid var(--line)}.usage-draft-card:last-child{border-bottom:0}.usage-draft-card.selected{margin-inline:-10px;padding-inline:12px;border-radius:12px;background:#f3f7ff}.usage-draft-card h4{display:inline;margin:0 0 0 8px;color:var(--navy);font-size:16px}.usage-draft-card p{margin:6px 0 0;color:var(--muted);font-size:12px}.draft-status{display:inline-block;border-radius:999px;background:#fff2d8;color:var(--amber);padding:4px 8px;font-size:11px;font-weight:900}.usage-draft-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.usage-draft-actions button{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--blue);padding:8px 11px;font-size:12px;font-weight:900}.usage-draft-actions .draft-close{border-color:#9ebcf4;background:var(--blue-soft)}.usage-draft-actions .draft-delete{border-color:#f0bcbc;color:var(--red);background:#fff5f5}
@media(max-width:520px){.usage-editor-status{text-align:left}.usage-draft-card{align-items:flex-start;flex-direction:column}.usage-draft-actions{width:100%;justify-content:stretch}.usage-draft-actions button{flex:1}}
.product-edit-empty p,.receipt-new-head p{margin:7px 0 0;color:var(--muted);font-size:13px}.product-edit-empty strong{color:var(--navy)}.receipt-new-product{border-color:#b9cff8;background:#f5f8ff}.receipt-new-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.receipt-new-head h3{margin-bottom:0}.new-product-code{background:#e4f7ef;color:var(--green)}.row-fields{grid-template-columns:repeat(6,1fr)}.row-fields label:nth-child(6){display:flex;flex-direction:column}
@media(max-width:1050px){.row-fields{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.receipt-new-head{display:block}.row-fields{grid-template-columns:1fr 1fr}.row-fields label:nth-child(3),.row-fields label:nth-child(6){grid-column:span 2}}
.draft-status.closed{background:#e5f6ef;color:var(--green)}
.closed-usage-record{border-bottom:1px solid var(--line);transition:background-color .16s ease,box-shadow .16s ease}.closed-usage-record:last-child{border-bottom:0}.closed-usage-record:hover{background:#f8faff}.closed-usage-record.selected{margin-inline:-10px;padding-inline:10px;border-radius:12px;background:#f3f7ff}.closed-usage-record summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 2px;cursor:pointer;list-style:none}.closed-usage-record summary::-webkit-details-marker{display:none}.closed-usage-record summary h4{display:inline;margin:0 0 0 8px;color:var(--navy);font-size:16px}.closed-usage-record summary p{margin:6px 0 0;color:var(--muted);font-size:12px}.closed-usage-record summary:focus-visible{border-radius:10px;outline:3px solid #b9d0fa;outline-offset:2px}.closed-usage-toggle{display:flex;align-items:center;gap:8px;color:var(--blue);font-size:12px;white-space:nowrap}.closed-usage-toggle i{font-size:18px;font-style:normal;transition:transform .16s ease}.closed-usage-record[open] .closed-usage-toggle i{transform:rotate(180deg)}.closed-usage-record[open] .closed-usage-toggle b{font-size:0}.closed-usage-record[open] .closed-usage-toggle b::after{content:"목록 닫기";font-size:12px}.closed-usage-detail{padding:0 2px 18px}.closed-usage-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff}.closed-usage-table{width:100%;min-width:760px;border-collapse:collapse}.closed-usage-table th{padding:10px 12px;background:#f0f5fb;color:var(--navy);font-size:12px;text-align:left;white-space:nowrap}.closed-usage-table td{padding:11px 12px;border-top:1px solid var(--line);font-size:13px;white-space:nowrap}.closed-usage-table .closed-usage-product{min-width:250px}.closed-usage-product strong,.closed-usage-product small{display:block}.closed-usage-product strong{color:var(--navy)}.closed-usage-product small{margin-top:4px;color:var(--muted);font-size:11px}.closed-usage-detail-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:11px}.closed-usage-detail-foot small{color:var(--muted)}.closed-usage-detail-foot button{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--blue);padding:8px 11px;font-size:12px;font-weight:900}
@media(max-width:520px){.closed-usage-record summary{align-items:flex-start}.closed-usage-toggle b{display:none}.closed-usage-detail-foot{align-items:stretch;flex-direction:column}.closed-usage-detail-foot button{width:100%}}
.debt-supplier-card{cursor:pointer;border-radius:12px;padding-inline:12px!important}.debt-supplier-card:hover{background:#f3f7ff}.debt-ledger-card{margin-top:26px}.debt-ledger-controls{flex-wrap:wrap}.debt-ledger-controls label:first-child{min-width:180px}.debt-ledger-presets{margin-top:16px}.debt-ledger-summary{margin-bottom:16px}.ledger-purchase{color:var(--blue)!important}.ledger-payment{color:var(--green)!important}.debt-ledger-list{display:grid;gap:14px}.ledger-day{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.ledger-day-head{display:flex;justify-content:space-between;gap:16px;padding:13px 16px;background:#f5f8fc;border-bottom:1px solid var(--line)}.ledger-day-head strong{color:var(--navy)}.ledger-day-head span{color:var(--muted);font-size:12px;font-weight:800}.ledger-entry{border-bottom:1px solid var(--line)}.ledger-entry:last-child{border-bottom:0}.ledger-entry summary,.ledger-entry.payment-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 16px}.ledger-entry summary{cursor:pointer;list-style:none}.ledger-entry summary::-webkit-details-marker{display:none}.ledger-entry summary:hover{background:#fbfcfe}.ledger-entry span b,.ledger-entry span small,.ledger-entry span strong{display:block}.ledger-entry span small{margin-top:4px;color:var(--muted);font-size:12px}.ledger-entry span:last-child{text-align:right}.receipt-entry>summary span:last-child strong{color:var(--blue)}.payment-entry span:last-child strong{color:var(--green)}.ledger-item-table-wrap{overflow:auto;border-top:1px dashed var(--line);background:#fbfcfe;padding:12px 16px}.ledger-item-table{width:100%;border-collapse:collapse;min-width:680px}.ledger-item-table th,.ledger-item-table td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:right;font-size:13px}.ledger-item-table th{color:var(--muted);font-size:11px}.ledger-item-table th:first-child,.ledger-item-table td:first-child{text-align:left}.ledger-item-table td small{display:block;color:var(--muted);margin-top:3px}.ledger-adjustment{margin:0;padding:10px 16px;color:var(--amber);font-size:12px;background:#fffaf0}.payment-balance-help{margin:12px 0 0;color:var(--blue);font-size:13px;font-weight:800}.tabs-main,.tabs-director{display:flex;gap:7px;align-items:center;flex:0 0 auto}.tabs-director{margin-left:auto;padding-left:13px;border-left:1px solid #dce5ee}.tabs-role-label{white-space:nowrap;border-radius:999px;padding:6px 10px;background:#e9f0ff;color:var(--blue);font-size:11px;font-weight:900}.tabs-director button{color:var(--navy)}
@media(max-width:820px){.debt-ledger-controls{display:grid;grid-template-columns:1fr 1fr;width:100%}.debt-ledger-controls label:first-child{grid-column:span 2;min-width:0}.debt-ledger-controls>span{display:none}.ledger-day-head{align-items:flex-start;flex-direction:column;gap:5px}}
.category-badge,.department-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;white-space:nowrap}.category-badge{background:#eef7f4;color:#18765a}.department-badge{background:#edf3ff;color:#245fbf}.filters select{margin:0;min-width:170px}.product-card .category-badge,.inventory-card .category-badge{margin-left:0}

/* 공통 마우스 위치·선택 음영 */
button,input,select,textarea,.card,.form-card,.entry-row,.data-list article,.statistics-row,.statistics-manufacturer-row,.usage-daily-list article,.usage-draft-card,.ledger-day{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
input:not(:disabled):hover,select:not(:disabled):hover,textarea:not(:disabled):hover{border-color:#9db9ed;background:#f8fbff}
button:not(:disabled):hover{box-shadow:0 4px 13px #17324d14}
.card:hover,.form-card:hover,.statistics-summary-card:hover,.ledger-day:hover{border-color:#b8caf0;box-shadow:0 8px 22px #17324d0d}
:is(.data-list article,.entry-row,.statistics-row,.statistics-manufacturer-row,.statistics-product-breakdown>div,.usage-daily-list article,.usage-draft-card,.ledger-entry,.compact-list>button,.compact-list>div):hover{background:#f4f8ff}
:is(.data-list article,.entry-row,.statistics-row,.statistics-manufacturer-row,.statistics-product-breakdown>div,.usage-daily-list article,.usage-draft-card,.ledger-entry,.compact-list>button,.compact-list>div).ui-selected-row{background:#e8f1ff!important;box-shadow:inset 4px 0 #3977e8}
table tbody tr>td{transition:background-color .14s ease,box-shadow .14s ease}
table tbody tr:hover>td{background:#f3f7ff}
table td:hover{background:#e6efff!important;box-shadow:inset 0 0 0 2px #a7c2f5}
table tr.ui-selected-row>td{background:#edf4ff}
table td.ui-selected-column{background:#f3f7ff!important}
table th.ui-selected-column{background:#244f78!important}
table td.ui-selected-cell,table th.ui-selected-cell{background:#d7e6ff!important;box-shadow:inset 0 0 0 2px #3977e8!important;color:var(--navy)}
@media(prefers-reduced-motion:reduce){button,input,select,textarea,.card,.form-card,.entry-row,.data-list article,.statistics-row,.statistics-manufacturer-row,.usage-daily-list article,.usage-draft-card,.ledger-day{transition:none}.autocomplete-list{animation:none!important}}

/* 품목관리: 제품 정보를 한 행에서 비교하는 넓은 표 */
#products.active{width:min(1840px,calc(100vw - 32px));margin-left:50%;transform:translateX(-50%)}
#products.active,#products #productList,#products .product-master-table{overflow-anchor:none}
#products .list-toolbar{position:sticky;left:0}
#products .product-management-toolbar{position:relative;z-index:45;align-items:stretch;flex-direction:column;gap:10px}
#products .product-management-search{position:relative;z-index:46;width:min(920px,100%)}
#products .product-management-search>input{height:44px;padding-inline:14px;border-radius:11px}
#products .product-management-suggestions{top:calc(100% + 6px);right:auto;z-index:80;width:min(920px,calc(100vw - 80px));max-height:min(42vh,360px)}
#products .product-management-toolbar>.filters{justify-content:flex-start}
@media(max-width:700px){#products .product-management-suggestions{width:100%}}
.product-column-search-suggestions{position:fixed;inset:auto;z-index:1000;width:min(520px,calc(100vw - 24px));max-height:min(42vh,360px);box-shadow:0 18px 44px #102f522b}
.product-table-wrap{width:100%;max-height:min(78vh,920px);overflow:auto;scrollbar-gutter:stable;border:1px solid var(--line);border-radius:14px;background:#fff}
.product-master-table{width:100%;min-width:1810px;border-collapse:separate;border-spacing:0;font-size:13px}
.product-master-table th{position:sticky;top:0;z-index:2;padding:12px 11px;background:var(--navy);color:#fff;text-align:left;white-space:nowrap}
.product-master-table th:first-child{border-top-left-radius:12px}.product-master-table th:last-child{border-top-right-radius:12px}
.product-master-table td{padding:12px 11px;border-bottom:1px solid #e7edf3;color:var(--ink);vertical-align:middle;white-space:nowrap}
.product-master-table tbody tr:last-child td{border-bottom:0}
.product-master-table .product-name-cell{min-width:210px;white-space:normal;line-height:1.45;color:var(--navy)}
.product-master-table .number-cell{text-align:right;font-variant-numeric:tabular-nums}
.product-master-table .stock-cell{color:var(--blue);font-size:14px}
.product-inline-with-unit{display:flex;align-items:center;justify-content:flex-end;gap:5px}.product-inline-with-unit input{width:82px;min-height:34px;margin:0;padding:7px 8px;text-align:right}.product-inline-with-unit span{color:var(--muted);font-size:11px}
.product-inline-supplier{min-width:140px;min-height:34px;margin:0;padding:7px 8px}
.product-master-table tr.product-row-editing>td{background:#f5f9ff;box-shadow:inset 0 1px #c9daf8,inset 0 -1px #c9daf8}.product-master-table tr.product-row-editing>td:first-child{box-shadow:inset 4px 0 #3977e8,inset 0 1px #c9daf8,inset 0 -1px #c9daf8}
.product-table-actions{display:flex;align-items:center;gap:6px}.product-table-actions .text-button{white-space:nowrap}.product-row-cancel{min-height:32px;padding:7px 10px;font-size:12px;white-space:nowrap}
.product-bulk-card{position:sticky;left:0;margin:0 0 14px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#f7faff}
.product-bulk-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:13px}.product-bulk-head strong,.product-bulk-head small{display:block}.product-bulk-head strong{color:var(--navy);font-size:16px}.product-bulk-head small{margin-top:4px;color:var(--muted)}
.product-bulk-actions{display:flex;align-items:center;gap:8px}.product-bulk-actions button{min-height:38px;padding:8px 13px;border-radius:9px}
.product-bulk-editor{display:grid;grid-template-columns:minmax(190px,240px) minmax(240px,1fr) auto;gap:12px;align-items:end}.product-bulk-editor select,.product-bulk-editor input{margin-top:5px}.product-bulk-editor .primary{min-height:41px;white-space:nowrap}
.product-bulk-editor.has-secondary{grid-template-columns:minmax(190px,240px) minmax(180px,1fr) minmax(180px,1fr) auto}
.product-select-cell{width:46px!important;min-width:46px!important;text-align:center!important}.product-select-cell input{width:18px;height:18px;min-height:0;margin:0;accent-color:var(--blue)}
.product-master-table tbody tr.product-row-selected>td{background:#edf4ff}.product-master-table tbody tr.product-row-selected>td:first-child{box-shadow:inset 4px 0 var(--blue)}
.product-bulk-table{min-width:1840px}
.product-inventory-value-summary{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px;align-items:center;margin:0 0 14px;padding:14px 16px;border:1px solid #cfe0ff;border-radius:14px;background:#f5f9ff;color:var(--navy)}
.product-inventory-value-summary[hidden]{display:none}
.product-inventory-value-summary div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 10px;border-right:1px solid #dce8fa}
.product-inventory-value-summary div:nth-child(3){border-right:0}
.product-inventory-value-summary span{font-size:12px;color:var(--muted);white-space:nowrap}
.product-inventory-value-summary strong{font-size:17px;white-space:nowrap}
.product-inventory-value-summary small{grid-column:1/-1;color:var(--muted);font-size:11px;text-align:right}
.product-inventory-value-summary .summary-warning{color:#c2410c}
.product-filter-readonly{display:inline-flex;align-items:center;justify-content:center;min-height:36px;width:100%;color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}
.inventory-value-cell{color:var(--navy);font-variant-numeric:tabular-nums;white-space:nowrap}
.inventory-value-missing{display:inline-block;color:#9a6700;background:#fff4d6;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;white-space:nowrap}

.receipt-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:20px 0 10px}.receipt-table-toolbar strong{display:block;color:var(--navy);font-size:16px}.receipt-table-toolbar p{margin:4px 0 0;color:var(--muted);font-size:13px}.receipt-table-toolbar>div:last-child{display:flex;gap:9px}.receipt-entry-table-wrap{overflow:visible;border:1px solid var(--line);border-radius:14px;background:#fff}.receipt-entry-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:1050px}.receipt-entry-table th{padding:12px 10px;background:var(--navy);color:#fff;font-size:12px;text-align:left;white-space:nowrap}.receipt-entry-table th:first-child{border-radius:13px 0 0}.receipt-entry-table th:last-child{border-radius:0 13px 0 0}.receipt-entry-table td{height:66px;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.receipt-entry-table tbody tr:last-child td{border-bottom:0}.receipt-entry-table tbody tr:hover td{background:#f4f8ff}.receipt-entry-table th:nth-child(1){width:52px}.receipt-entry-table th:nth-child(2){width:320px}.receipt-entry-table th:nth-child(3){width:110px}.receipt-entry-table th:nth-child(4),.receipt-entry-table th:nth-child(5),.receipt-entry-table th:nth-child(6),.receipt-entry-table th:nth-child(7){width:130px}.receipt-entry-table th:nth-child(8){width:60px}.receipt-row-number{text-align:center;color:var(--muted);font-weight:800}.receipt-product-cell strong,.receipt-product-cell small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.receipt-product-cell strong{color:var(--navy)}.receipt-product-cell small{margin-top:5px;color:var(--muted)}.receipt-product-cell .code{display:inline-block;margin-top:5px}.receipt-number-input{margin:0;min-height:38px;padding:8px;text-align:right}.receipt-entry-table .quantity-preview{margin:0;min-height:38px;padding:8px;white-space:nowrap}.receipt-placeholder{text-align:center;color:#b8c1ca}.receipt-row-picker{position:relative}.receipt-row-picker>input{margin:0}.receipt-row-suggestions{top:calc(100% + 5px);left:0;right:auto;width:min(620px,75vw);max-height:320px;z-index:35}.receipt-row-suggestions button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}.receipt-row-suggestions button span span{display:block;margin-top:3px}.receipt-row-suggestions .receipt-stock{white-space:nowrap;color:var(--blue);font-weight:900}.receipt-empty-row:focus-within td{background:#eef5ff}.receipt-entry-table-wrap:has(.receipt-row-suggestions:not([hidden])){position:relative;z-index:34}
@media(max-width:900px){.receipt-entry-table-wrap{overflow-x:auto;overflow-y:visible}.receipt-table-toolbar{align-items:flex-start}.receipt-entry-table{min-width:1050px}}
@media(max-width:600px){.receipt-table-toolbar{flex-direction:column}.receipt-table-toolbar>div:last-child,.receipt-table-toolbar button{width:100%}}
.hira-name-standardization{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:18px;border:1px solid #cfe0fb;border-radius:14px;background:#f4f8ff}.hira-name-standardization strong{display:block;color:var(--navy)}.hira-name-standardization p{margin:5px 0 0;color:var(--muted);font-size:13px}.hira-name-standardization button{white-space:nowrap}.hira-name-preview{margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.hira-name-preview .catalog-summary{grid-template-columns:repeat(5,1fr)}.hira-name-list{max-height:440px;overflow:auto;border:1px solid var(--line);border-radius:12px}.hira-name-list article{display:grid;grid-template-columns:100px minmax(220px,1fr) 24px minmax(220px,1fr);gap:12px;align-items:center;padding:13px 15px;border-bottom:1px solid var(--line)}.hira-name-list article:last-child{border-bottom:0}.hira-name-list code{color:var(--blue);font-weight:900}.hira-name-list span small,.hira-name-list span b{display:block}.hira-name-list span small{margin-bottom:4px;color:var(--muted)}.hira-name-list i{text-align:center;color:var(--blue);font-style:normal;font-weight:900}@media(max-width:760px){.hira-name-standardization{align-items:stretch;flex-direction:column}.hira-name-preview .catalog-summary{grid-template-columns:1fr 1fr}.hira-name-list article{grid-template-columns:1fr}.hira-name-list article i{transform:rotate(90deg)}}
.hira-name-preview .catalog-summary{grid-template-columns:repeat(6,minmax(120px,1fr));margin-bottom:14px}.hira-name-filter{display:flex;min-width:0;min-height:78px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;text-align:left;align-items:flex-start;justify-content:center;flex-direction:column;box-shadow:none}.hira-name-filter:hover{border-color:#9bbcf2;background:#f2f7ff}.hira-name-filter span{color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}.hira-name-filter strong{margin-top:5px;color:var(--navy);font-size:20px}.hira-name-filter.active{border-color:var(--blue);background:#eaf2ff;box-shadow:0 0 0 2px rgba(47,103,232,.12)}.hira-name-filter.active span,.hira-name-filter.active strong{color:var(--blue)}.hira-name-result-unchanged{background:#f7fcf9}.hira-name-result-noCode,.hira-name-result-unmatched,.hira-name-result-ambiguous{background:#fffdf7}@media(max-width:1000px){.hira-name-preview .catalog-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.hira-name-preview .catalog-summary{grid-template-columns:repeat(2,1fr)}.hira-name-filter{min-height:70px}.hira-name-result span,.hira-name-result code{min-width:0;overflow-wrap:anywhere}}
.product-master-table .product-heading-row th{top:0;z-index:4;height:43px}
.product-master-table .product-filter-row th{top:43px;z-index:3;padding:7px;background:#eaf1f9;border-bottom:1px solid #cbd9e7;color:var(--navy)}
.product-filter-row input,.product-filter-row select{width:100%;min-width:92px;min-height:34px;margin:0;padding:6px 8px;border:1px solid #bdccdc;border-radius:8px;background:#fff;color:var(--ink);font-size:12px;box-shadow:none}
.product-filter-row input:focus,.product-filter-row select:focus{border-color:var(--blue);box-shadow:0 0 0 2px #cfe0ff;outline:0}
.product-filter-row th:nth-child(4) input{min-width:180px}.product-filter-row th:nth-child(5) select{min-width:135px}.product-filter-row th:last-child select{min-width:130px}
.product-filter-row .clear-product-column-filters{width:28px;min-width:28px;min-height:28px;padding:0;border:1px solid #aebfd2;border-radius:8px;background:#fff;color:var(--blue);font-size:19px;line-height:1}.product-filter-row .clear-product-column-filters:disabled{opacity:.35;cursor:default}
.product-filter-empty-row td{text-align:center!important;padding:28px!important;color:var(--muted)!important}.product-filter-empty-row button{margin-left:10px;min-height:34px;padding:7px 11px}
.product-filter-empty{display:flex;align-items:center;justify-content:center;gap:12px}.product-filter-empty button{min-height:34px;padding:7px 11px}
@media(max-width:720px){.product-bulk-head{align-items:flex-start;flex-direction:column}.product-bulk-editor{grid-template-columns:1fr}.product-bulk-actions{width:100%}.product-bulk-actions button{flex:1}}
@media(max-width:720px){.product-inventory-value-summary{grid-template-columns:1fr}.product-inventory-value-summary div{border-right:0;border-bottom:1px solid #dce8fa;padding:7px 2px}.product-inventory-value-summary div:nth-child(3){border-bottom:0}.product-inventory-value-summary small{text-align:left}}

/* 사용량 입력: 새 품목을 위에 쌓고 한 행에서 재고 변화를 비교 */
#usageRows{display:block;overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff}
#usageRows>.empty-state{border:0}
.usage-entry-header,.usage-entry-row{display:grid;grid-template-columns:minmax(300px,1.7fr) minmax(150px,.7fr) minmax(145px,.65fr) minmax(175px,.8fr) 42px;gap:16px;align-items:center;min-width:930px}
.usage-entry-header{padding:11px 16px;background:var(--navy);color:#fff;font-size:12px;font-weight:900}
.usage-entry-header span:not(:first-child){text-align:right}
.usage-entry-row{padding:13px 16px;border-bottom:1px solid var(--line);transition:background-color .16s ease,box-shadow .16s ease}
.usage-entry-row:last-child{border-bottom:0}
.usage-entry-row:hover{background:#f4f8ff}
.usage-entry-row.ui-selected-row{background:#e8f1ff;box-shadow:inset 4px 0 #3977e8}
.usage-product-cell{min-width:0}.usage-product-cell h3{margin:0;color:var(--navy);font-size:15px}.usage-product-cell p{margin:4px 0 0;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.usage-table-quantity{display:block}.usage-table-quantity>span,.usage-table-value>span{display:none}.usage-table-quantity input{margin:0;text-align:right;font-size:17px;font-weight:900;color:var(--navy)}
.usage-table-value{text-align:right}.usage-table-value strong{color:var(--navy);font-size:16px;white-space:nowrap}.usage-table-value.after-stock{margin:0;padding:10px 12px;border-radius:9px;background:#f3f7fb}.usage-table-value.after-stock.danger{background:#fff0f0}.usage-remove-cell{text-align:right}
@media(max-width:700px){#usageRows{overflow:visible;border:0;background:transparent}.usage-entry-header{display:none}.usage-entry-row{min-width:0;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px;padding:15px;border:1px solid var(--line);border-radius:13px;background:#fff}.usage-product-cell{grid-column:1 / -1}.usage-table-quantity>span,.usage-table-value>span{display:block;margin-bottom:5px;color:var(--muted);font-size:11px;font-weight:800}.usage-table-value{text-align:left}.usage-table-value.after-stock{padding:10px}.usage-remove-cell{position:absolute;right:12px;top:12px}.usage-entry-row{position:relative}.usage-product-cell{padding-right:38px}}

/* 원장님 대시보드: 오늘 마감 사용량을 가장 먼저 확인 */
.director-today-usage-card{position:relative;margin:0 0 20px;overflow:hidden;border:1px solid #b9cff8;background:linear-gradient(135deg,#f5f9ff 0%,#fff 58%);box-shadow:0 14px 34px #17324d12}
.director-today-usage-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#90acd8}
.director-today-usage-card.has-usage{border-color:#8fb3f7;box-shadow:0 16px 38px #2563eb1a}.director-today-usage-card.has-usage::before{background:var(--blue)}
.director-usage-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.director-usage-title h3{font-size:22px!important}.director-usage-title span{border-radius:999px;padding:5px 9px;background:#fff;color:var(--navy);font-size:12px;font-weight:900;box-shadow:inset 0 0 0 1px var(--line)}
.dashboard-usage-date-picker{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:4px 6px 4px 11px;border:1px solid #d7e2f1;border-radius:10px;background:#fff;color:#60738c}.dashboard-usage-date-picker span{font-size:12px;font-weight:800;white-space:nowrap}.dashboard-usage-date-picker input{width:138px;min-height:28px;padding:3px 7px;border:0;background:transparent;color:#0c3158;font:inherit;font-size:13px;font-weight:800;outline:none}
.director-usage-meta{margin:15px 0 0;padding:11px 14px;border-radius:11px;background:#eaf1ff;color:var(--navy);font-size:13px;font-weight:900}
.director-usage-detail{min-height:34px;padding:8px 12px;border:0;border-radius:9px;background:var(--blue);color:#fff;font-size:12px;font-weight:900;white-space:nowrap}
.director-today-usage-card .today-usage-categories article{background:#fff;box-shadow:0 5px 16px #17324d0a}.director-today-usage-card.has-usage #dashboardTodayUsageStatus{background:#e3f6ee;color:var(--green)}
@media(max-width:760px){.director-usage-status{flex-wrap:wrap}.dashboard-usage-date-picker{width:100%;justify-content:space-between}.dashboard-usage-date-picker input{width:auto;flex:1}.director-usage-detail{flex:1}.director-today-usage-card{padding:18px}.director-usage-title h3{font-size:19px!important}}

/* 원장님 대시보드: 금액에 영향을 주는 간호사 업무 최종 승인 */
.director-approval-card{position:relative;margin:0 0 18px;overflow:hidden;border-color:#bfd8cb;background:linear-gradient(135deg,#f4fbf7,#fff 64%)}
.director-approval-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#7cb79c}.director-approval-card.has-pending{border-color:#edc67b;background:linear-gradient(135deg,#fff9ed,#fff 64%)}.director-approval-card.has-pending::before{background:#e2a32e}
.director-approval-head,.director-approval-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.director-approval-head{padding-bottom:15px;border-bottom:1px solid var(--line)}.director-approval-head h3{margin:0;color:var(--navy);font-size:22px}.director-approval-head>div>p:not(.eyebrow){margin:7px 0 0;color:var(--muted);font-size:13px}.director-approval-title{display:flex;align-items:center;gap:10px}.director-approval-title span{padding:5px 9px;border-radius:999px;background:#fff;color:var(--navy);font-size:12px;font-weight:900;box-shadow:inset 0 0 0 1px var(--line)}
.director-approval-head .badge{margin:0}.approval-clear{background:#e4f6ed!important;color:var(--green)!important}.approval-pending{background:#fff0d2!important;color:#9b6100!important}
.director-approval-list{display:grid;gap:12px;margin-top:15px}.director-approval-item{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}.director-approval-item.price-approval{border-left:4px solid #e3a12a}.director-approval-item.return-approval{border-left:4px solid #d76a6a}.approval-kind{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef3f8;color:#49647e;font-size:11px;font-weight:900}.director-approval-item h4{margin:7px 0 4px;color:var(--navy);font-size:17px}.director-approval-item p{margin:0;color:var(--muted);font-size:12px}.director-approval-item-head>strong{color:var(--navy);font-size:18px;text-align:right;white-space:nowrap}.director-approval-item-head>strong small{display:block;margin-top:4px;color:var(--muted);font-size:10px}
.director-approval-products{display:grid;gap:7px;margin-top:13px}.director-approval-products>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 12px;border-radius:10px;background:#f5f8fb}.director-approval-products b,.director-approval-products small{display:block}.director-approval-products b{color:var(--navy);font-size:13px}.director-approval-products small{margin-top:3px;color:var(--muted);font-size:11px}.director-approval-products button{min-height:34px;padding:8px 11px;font-size:11px}.director-approval-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:13px}.director-approval-actions button{min-height:36px;padding:8px 13px;font-size:12px}.director-approval-empty{display:flex;align-items:center;justify-content:center;gap:12px;padding:19px;color:var(--green)}.director-approval-empty>span{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#e4f6ed;font-weight:900}.director-approval-empty b,.director-approval-empty small{display:block}.director-approval-empty small{margin-top:3px;color:var(--muted)}
@media(max-width:700px){.director-approval-head,.director-approval-item-head{flex-direction:column}.director-approval-item-head>strong{text-align:left}.director-approval-products>div{align-items:stretch;flex-direction:column}.director-approval-products button,.director-approval-actions button{width:100%}.director-approval-actions{flex-direction:column}.director-approval-empty{justify-content:flex-start}}

/* 전체 작업영역을 넓히고 긴 상단 메뉴는 스크롤 대신 자연스럽게 줄바꿈 */
:root{--app-content-width:1480px}
header{padding-left:max(24px,calc((100vw - var(--app-content-width))/2));padding-right:max(24px,calc((100vw - var(--app-content-width))/2))}
main{max-width:var(--app-content-width)}
.tabs{overflow:visible;flex-wrap:wrap;align-items:center;row-gap:8px}
.tabs-main,.tabs-director{min-width:0;flex-wrap:wrap}
@media(max-width:1100px){.tabs-director{width:100%;margin-left:0;padding:9px 0 0;border-left:0;border-top:1px solid var(--line)}}
@media(max-width:620px){.tabs{gap:4px}.tabs button{padding:9px 11px}.tabs-role-label{margin-right:3px}}

/* 휴대폰에서는 현장 업무 메뉴만 남기고 한 줄로 넘겨 볼 수 있게 합니다. */
@media(max-width:700px){
  header{z-index:40}
  main{padding-top:20px}
  .hero{margin-bottom:18px}
  .hero>div:first-child{display:none}
  .summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;border-radius:14px}
  .summary div+div{border-top:0;border-left:1px solid #ffffff2e;padding-top:0;padding-left:12px}
  .summary .director-only{grid-column:1/-1;border-top:1px solid #ffffff2e!important;border-left:0!important;padding-top:12px!important;padding-left:0!important}
  .tabs{position:sticky;top:60px;z-index:30;display:flex;flex-wrap:nowrap;gap:4px;margin-inline:-14px;padding:8px 14px;overflow-x:auto;background:rgba(244,247,250,.96);box-shadow:0 8px 18px #17324d0d;scrollbar-width:none}
  .tabs::-webkit-scrollbar{display:none}
  .tabs-main,.tabs-director:not([hidden]){display:contents}
  .tabs button{flex:0 0 auto;padding:10px 12px}
  .tabs-role-label,.tabs [data-panel="products"],.tabs [data-panel="orders"],.tabs [data-panel="data-management"],.quick-actions [data-go="orders"]{display:none!important}
  .panel{border-radius:15px;padding:16px}
}

/* 현재고는 직접 덮어쓰지 않고 실사 조정 이력으로 관리 */
.stock-adjustment-card{border-color:#c7d7f2;background:#f7faff}.stock-adjustment-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}.stock-adjustment-head h3{margin:0 0 6px}.stock-adjustment-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.stock-adjustment-head .badge{margin:0;white-space:nowrap}.stock-adjustment-history{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.stock-adjustment-history h4{margin:0 0 8px;color:var(--navy)}.stock-adjustment-history article{display:flex;justify-content:space-between;gap:20px;padding:11px 2px;border-bottom:1px solid var(--line)}.stock-adjustment-history article:last-child{border-bottom:0}.stock-adjustment-history span:last-child{text-align:right}.stock-adjustment-history b,.stock-adjustment-history strong,.stock-adjustment-history small{display:block}.stock-adjustment-history small{margin-top:4px;color:var(--muted);font-size:11px}@media(max-width:620px){.stock-adjustment-head,.stock-adjustment-history article{flex-direction:column}.stock-adjustment-history span:last-child{text-align:left}}
@media(max-width:1320px){#products.active{width:calc(100vw - 20px);padding-inline:18px}.product-master-table{min-width:1660px}}

/* 재고현황: 품목관리와 같은 가로형 비교 표 */
#inventory.active{width:min(1800px,calc(100vw - 32px));margin-left:50%;transform:translateX(-50%)}
.inventory-table-wrap{width:100%;max-height:min(72vh,760px);overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}
.inventory-master-table{width:100%;min-width:1700px;border-collapse:separate;border-spacing:0;font-size:13px}
.inventory-master-table th{position:sticky;top:0;z-index:2;padding:12px 11px;background:var(--navy);color:#fff;text-align:left;white-space:nowrap}
.inventory-master-table th:first-child{border-top-left-radius:12px}.inventory-master-table th:last-child{border-top-right-radius:12px}
.inventory-master-table td{padding:12px 11px;border-bottom:1px solid #e7edf3;vertical-align:middle;white-space:nowrap}.inventory-master-table tbody tr:last-child td{border-bottom:0}
.inventory-master-table .inventory-name-cell{min-width:210px;white-space:normal;line-height:1.45;color:var(--navy)}.inventory-master-table .number-cell{text-align:right;font-variant-numeric:tabular-nums}.inventory-master-table .inventory-current{color:var(--blue);font-size:15px}
.inventory-order-cell b,.inventory-order-cell small{display:block}.inventory-order-cell b{color:var(--blue);text-align:right}.inventory-order-cell small{margin-top:3px;color:var(--muted);font-size:11px;text-align:right}.inventory-order-cell>span{color:var(--muted);font-size:12px}
@media(max-width:1320px){#inventory.active{width:calc(100vw - 20px);padding-inline:18px}}

/* 원장님 대시보드: 간호사가 마감한 오늘 사용량 */
.director-today-usage-card{margin-top:18px}.director-usage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:15px;border-bottom:1px solid var(--line)}.director-usage-head h3{margin:0 0 6px}.director-usage-head p:not(.eyebrow){margin:0;color:var(--muted);font-size:13px}.director-usage-status{display:flex;align-items:center;gap:8px}.director-usage-status .ghost{min-height:34px;padding:7px 11px;font-size:12px}.director-usage-status .badge{margin:0}
.today-usage-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:16px 0}.today-usage-categories article{padding:14px;border:1px solid #dce6f0;border-radius:12px;background:#f7faff}.today-usage-categories span,.today-usage-categories strong,.today-usage-categories small{display:block}.today-usage-categories span{color:var(--muted);font-size:12px;font-weight:800}.today-usage-categories strong{margin-top:5px;color:var(--navy);font-size:21px}.today-usage-categories small{margin-top:3px;color:var(--blue);font-size:11px;font-weight:800}
.today-usage-table-wrap{overflow:auto;border-radius:12px}.today-usage-table{width:100%;min-width:680px;border-collapse:collapse;font-size:13px}.today-usage-table th{padding:10px 12px;background:#eef3f8;color:var(--muted);text-align:left;white-space:nowrap}.today-usage-table td{padding:11px 12px;border-bottom:1px solid var(--line)}.today-usage-table tbody tr:last-child td{border-bottom:0}.today-usage-table .number-cell{text-align:right;color:var(--blue)}
@media(max-width:620px){.director-usage-head{flex-direction:column}.director-usage-status{width:100%;justify-content:space-between}.today-usage-categories{grid-template-columns:1fr 1fr}}

/* 첫 재고 등록 시 업체별 기존 미지급금 */
.product-import-debts{margin:0 0 16px;padding:16px;border:1px solid #cddcf5;border-radius:13px;background:#f4f8ff}.product-import-debts h4{margin:0;color:var(--navy)}.product-import-debts h4 span{margin-left:6px;padding:3px 7px;border-radius:999px;background:#fff;color:var(--blue);font-size:10px}.product-import-debts>div:first-child p{margin:5px 0 12px}.product-import-debt-rows{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px}.product-import-debt-rows label{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.product-import-debt-rows label>span{display:block;color:var(--navy);font-weight:900}.product-import-debt-rows label>div{display:flex;align-items:center;gap:7px}.product-import-debt-rows input{margin-top:6px;text-align:right}.product-import-debt-rows b{margin-top:6px;color:var(--muted)}
.opening-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 16px;background:#f7faff}.opening-entry span b,.opening-entry span small,.opening-entry span strong{display:block}.opening-entry span small{margin-top:4px;color:var(--muted);font-size:12px}.opening-entry span:last-child{text-align:right}.opening-entry span:last-child strong{color:var(--blue)}
@media(max-width:820px){.product-import-debt-rows{grid-template-columns:1fr}}

/* 원장님 전용 기존 미지급금 설정 */
.opening-debt-card{margin-bottom:18px;border-color:#c9d9f4;background:linear-gradient(135deg,#f7faff 0%,#fff 62%)}
.opening-debt-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:15px}.opening-debt-head h3{margin:0 0 6px}.opening-debt-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.opening-debt-head .badge{margin:0;white-space:nowrap}
.opening-debt-form-grid{grid-template-columns:1.2fr 1fr 1fr 1.4fr}.opening-debt-form-grid input{margin-top:6px}.opening-debt-help{margin:10px 0 0;color:var(--muted);font-size:12px}.opening-debt-history{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.opening-debt-history h4{margin:0 0 10px;color:var(--navy)}
.opening-debt-supplier-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.opening-debt-supplier-control input{min-width:0}.opening-debt-supplier-control button{min-height:41px;margin-top:6px;white-space:nowrap}.opening-debt-supplier-field .field-help{font-weight:500}
.opening-debt-item>div:last-child{display:flex;align-items:center;gap:12px}.opening-debt-item>div:last-child strong{color:var(--blue);font-size:18px}.opening-debt-item .text-button{white-space:nowrap}
@media(max-width:920px){.opening-debt-form-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.opening-debt-head{flex-direction:column}.opening-debt-form-grid{grid-template-columns:1fr}.opening-debt-supplier-control{grid-template-columns:1fr}.opening-debt-supplier-control button{margin-top:0}.opening-debt-item>div:last-child{align-items:flex-end;flex-direction:column}}

/* 원장님 전용 마이페이지 */
.mypage-intro{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding:20px;border:1px solid #cadbf5;border-radius:17px;background:linear-gradient(135deg,#f2f7ff,#fff)}
.mypage-clinic-mark{display:grid;width:52px;height:52px;place-items:center;border-radius:15px;background:var(--navy);color:#fff;font-size:13px;font-weight:900}
.mypage-intro h3{margin:0;color:var(--navy);font-size:22px}.mypage-intro p{margin:6px 0 0;color:var(--muted);font-size:13px}.mypage-cloud-status{margin-left:auto;padding:7px 10px;border-radius:999px;background:#fff2d8;color:var(--amber);font-size:11px;font-weight:900;white-space:nowrap}
.mypage-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mypage-card{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}.mypage-card.is-upcoming{background:#fbfcfe}
.mypage-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:15px;border-bottom:1px solid var(--line)}.mypage-card-head>div{display:flex;align-items:center;gap:9px}.mypage-card-head span{display:grid;width:27px;height:27px;place-items:center;border-radius:8px;background:var(--blue-soft);color:var(--blue);font-size:10px;font-weight:900}.mypage-card-head h3{margin:0;color:var(--navy);font-size:17px}.mypage-card-head>b{padding:5px 8px;border-radius:999px;background:#e5f6ef;color:var(--green);font-size:10px}.mypage-card.is-upcoming .mypage-card-head>b{background:#eef1f5;color:var(--muted)}
.mypage-details{margin:4px 0 0}.mypage-details>div,.mypage-placeholder-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 2px;border-bottom:1px solid #edf1f5}.mypage-details dt,.mypage-placeholder-row span{color:var(--muted);font-size:12px;font-weight:800}.mypage-details dd{margin:0;color:var(--navy);font-weight:900}.mypage-details code{padding:4px 7px;border-radius:7px;background:#f0f4f8;color:var(--blue)}.mypage-placeholder-row strong{color:#8b98a6;font-size:12px}
.mypage-account-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 2px;border-bottom:1px solid #edf1f5}.mypage-account-row span b,.mypage-account-row span small{display:block}.mypage-account-row span b{color:var(--navy);font-size:13px}.mypage-account-row span small{margin-top:4px;color:var(--muted);font-size:11px}.mypage-account-row>strong{color:var(--green);font-size:11px;white-space:nowrap}.mypage-note{margin:14px 0 0;color:var(--muted);font-size:11px;line-height:1.55}.mypage-disabled-action{width:100%;margin-top:15px;opacity:.65;cursor:not-allowed}
.mypage-security-notice{margin-top:18px;padding:17px 19px;border-left:4px solid var(--blue);border-radius:0 13px 13px 0;background:#f4f8ff}.mypage-security-notice b{color:var(--navy)}.mypage-security-notice p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.55}
.mypage-card-description{margin:14px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.mypage-department-form{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:14px}.mypage-department-form input{margin:0}.mypage-department-form button{white-space:nowrap}.mypage-department-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.mypage-department-item{display:inline-flex;align-items:center;gap:7px;padding:7px 8px 7px 11px;border:1px solid #cad8ea;border-radius:999px;background:#f5f8fd;color:var(--navy);font-size:12px;font-weight:900}.mypage-department-item button{display:grid;width:21px;height:21px;place-items:center;border:0;border-radius:50%;background:#fff;color:var(--red);font-size:14px;line-height:1}.mypage-department-item.is-default{background:#eaf1ff;color:var(--blue)}.mypage-department-item.is-default small{color:var(--blue);font-size:9px}
.mypage-demo-reset-card{grid-column:1/-1;border-color:#f0cfab;background:#fffdf9}.mypage-reset-option{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 2px;border-bottom:1px solid #edf1f5}.mypage-reset-option>div{min-width:0}.mypage-reset-option strong,.mypage-reset-option small{display:block}.mypage-reset-option strong{color:var(--navy);font-size:13px}.mypage-reset-option small{margin-top:5px;color:var(--muted);font-size:11px;line-height:1.5}.mypage-reset-option button{flex:0 0 auto;white-space:nowrap}.danger-outline{border:1px solid #efb1ae;background:#fff;color:var(--red)}.danger-outline:hover{background:#fff2f1}.mypage-reset-option.is-danger strong{color:var(--red)}
@media(max-width:780px){.mypage-grid{grid-template-columns:1fr}.mypage-intro{align-items:flex-start;flex-wrap:wrap}.mypage-cloud-status{margin-left:68px}}

/* 원장님 전용 매입가 관리 */
#purchase-prices.active{width:min(1540px,calc(100vw - 32px));margin-left:50%;transform:translateX(-50%)}
.price-policy-card{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#f3f7ff,#fff)}.price-policy-card h3{margin:0 0 7px}.price-policy-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.purchase-price-summary{display:grid;grid-template-columns:repeat(3,minmax(105px,1fr));gap:9px;min-width:380px}.purchase-price-summary article{padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}.purchase-price-summary span,.purchase-price-summary strong{display:block}.purchase-price-summary span{color:var(--muted);font-size:10px;font-weight:800}.purchase-price-summary strong{margin-top:5px;color:var(--navy);font-size:18px}
.purchase-price-table-wrap{max-height:min(68vh,760px);overflow:auto;border:1px solid var(--line);border-radius:14px}.purchase-price-table{width:100%;min-width:1160px;border-collapse:separate;border-spacing:0;font-size:13px}.purchase-price-table th{position:sticky;top:0;z-index:2;padding:12px 11px;background:var(--navy);color:#fff;text-align:left;white-space:nowrap}.purchase-price-table td{padding:12px 11px;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}.purchase-price-table .number-cell{text-align:right}.price-product-name{min-width:210px;white-space:normal!important}.price-product-name b,.price-product-name small{display:block}.price-product-name small{margin-top:4px;color:var(--muted);font-size:11px}.purchase-price-table input{min-width:135px;min-height:35px;margin:0;padding:7px 8px}.price-row-editing td{background:#f4f8ff}.price-row-actions{display:flex;gap:6px}.price-row-actions .ghost{min-height:32px;padding:7px 10px;font-size:12px}.price-empty{text-align:center;padding:40px!important;color:var(--muted)}
#receipt .row-fields{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.price-policy-card{align-items:stretch;flex-direction:column}.purchase-price-summary{min-width:0}.purchase-price-toolbar{align-items:stretch;flex-direction:column}.purchase-price-toolbar>input{max-width:none}}@media(max-width:620px){.purchase-price-summary{grid-template-columns:1fr 1fr}#receipt .row-fields{grid-template-columns:1fr 1fr}}
/* Barcode receiving and returns */
.barcode-assistant{margin:16px 0;padding:18px 20px;border:1px solid #cfe0f4;border-radius:18px;background:linear-gradient(135deg,#f7fbff,#edf5ff)}
.barcode-assistant-head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.barcode-assistant-head p{margin:5px 0 0;color:#65758a;font-size:13px}
.barcode-card{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:end;margin-top:16px;padding-top:16px;border-top:1px solid #d8e5f3}
.barcode-card label{display:grid;gap:7px;font-weight:700;color:#26384d}
.barcode-actions{display:flex;gap:8px}
#barcodeVideo{grid-column:1/-1;width:100%;max-height:360px;border-radius:14px;background:#0d2239;object-fit:cover}
.barcode-result{grid-column:1/-1;padding:12px 14px;border-radius:12px;background:#fff;color:#52657a;font-size:13px}
.barcode-code{background:#e8f7ef;color:#087943}
.return-picker{margin-top:16px}
.return-history-card{margin-top:22px}
.return-history{display:grid;gap:12px;margin-top:16px}
.return-history-item{padding:17px;border:1px solid #dce5ef;border-radius:15px;background:#fff}
.return-history-item.pending{border-left:4px solid #f2a93b}.return-history-item.confirmed{border-left:4px solid #20a464}.return-history-item.cancelled{opacity:.7;border-left:4px solid #94a3b8}
.return-history-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.return-history-head h3{margin:5px 0}.return-history-head p,.return-memo{margin:0;color:#718096;font-size:13px}
.return-status{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf3fa;color:#315b86;font-size:11px;font-weight:800}
.return-item-summary{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.return-item-summary span{padding:6px 9px;border-radius:9px;background:#f4f7fa;font-size:12px}
.return-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:14px}
@media(max-width:720px){.barcode-assistant-head,.return-history-head{align-items:stretch;flex-direction:column}.barcode-card{grid-template-columns:1fr}.barcode-actions{display:grid;grid-template-columns:1fr 1fr}.return-row-fields{grid-template-columns:1fr 1fr}}

#returnRows,#usageRows{display:block;overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff}
.workflow-entry-table{width:100%;border-collapse:collapse;table-layout:auto}
.return-entry-table{min-width:1420px}.usage-entry-table{min-width:980px}
.workflow-entry-table thead th{padding:12px 11px;background:var(--navy);color:#fff;font-size:12px;text-align:left;white-space:nowrap}
.workflow-entry-table thead th:first-child{border-radius:13px 0 0}.workflow-entry-table thead th:last-child{border-radius:0 13px 0 0}
.workflow-entry-table tbody tr.entry-row,.workflow-entry-table tbody tr.usage-entry-row{display:table-row;min-width:0;padding:0;border:0;border-bottom:1px solid var(--line);border-radius:0}
.workflow-entry-table tbody tr:hover td{background:#f4f8ff}.workflow-entry-table tbody tr.ui-selected-row td{background:#e8f1ff}
.workflow-entry-table td{height:66px;padding:9px 11px;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}
.workflow-entry-table tbody tr:last-child td{border-bottom:0}.workflow-row-number{width:54px;text-align:center;color:var(--muted);font-weight:800}
.workflow-product-cell{min-width:280px}.workflow-product-cell strong,.workflow-product-cell small{display:block;overflow:hidden;max-width:420px;text-overflow:ellipsis;white-space:nowrap}.workflow-product-cell strong{color:var(--navy)}.workflow-product-cell small{margin-top:5px;color:var(--muted)}
.workflow-number-input{width:96px;min-height:38px;margin:0;padding:8px;text-align:right}.workflow-entry-table .after-stock{padding:9px 11px;border-radius:0;background:transparent}.workflow-entry-table .after-stock.danger{background:#fff0f0}
.workflow-empty-row td{height:120px;text-align:center;color:var(--muted)}
@media(max-width:700px){#returnRows,#usageRows{display:block;overflow-x:auto;border:1px solid var(--line);background:#fff}.workflow-entry-table tbody tr.entry-row,.workflow-entry-table tbody tr.usage-entry-row{display:table-row;position:static;margin:0;padding:0;border:0;border-radius:0}.workflow-product-cell{padding-right:11px}.usage-remove-cell{position:static}}
.stock-ledger-card{margin-top:18px}.stock-ledger-head,.order-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.stock-ledger-head h3,.order-sheet-head h3{margin:0 0 5px}.stock-ledger-head p,.order-sheet-head p{margin:0;color:var(--muted)}.stock-ledger-list,.order-sheet-card{overflow:auto;margin-top:18px}.stock-ledger-table,.order-sheet-card table{width:100%;border-collapse:collapse;min-width:760px}.stock-ledger-table th,.stock-ledger-table td,.order-sheet-card th,.order-sheet-card td{padding:13px 12px;border-bottom:1px solid var(--line);text-align:left}.stock-in{color:#087f5b}.stock-out{color:#dc2626}.inventory-forecast-cell b,.inventory-forecast-cell small{display:block}.inventory-forecast-cell small{color:var(--muted);margin-top:4px;white-space:nowrap}.order-guide{display:flex;justify-content:space-between}.order-guide h3{margin:0 0 6px}.order-guide p{margin:0;color:var(--muted)}.order-sheet-list{display:grid;gap:18px}.order-sheet-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 10px 28px #173b6510}.today-usage-financial{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.today-usage-financial article{background:#f5f9ff;border:1px solid #dbe8f7;border-radius:12px;padding:14px}.today-usage-financial span,.today-usage-financial strong,.today-usage-financial small{display:block}.today-usage-financial span,.today-usage-financial small{color:var(--muted);font-size:12px}.today-usage-financial strong{font-size:20px;margin:5px 0}@media(max-width:760px){.today-usage-financial{grid-template-columns:1fr}.stock-ledger-head,.order-sheet-head{flex-direction:column}.order-sheet-head button{width:100%}}
.order-needs-target{display:inline-flex;padding:4px 8px;border-radius:999px;background:#fff4dc;color:#9a5a00;font-size:12px;font-weight:800}
.order-guide{align-items:end}.order-guide>label{min-width:180px}.order-sheet-actions{display:flex;gap:8px;flex-wrap:wrap}.order-box-input{display:grid;grid-template-columns:90px auto;align-items:center;gap:8px}.order-box-input input{margin:0;text-align:right;font-weight:900}.order-box-input small{white-space:nowrap;color:var(--muted)}.order-history-section{border-top:1px solid var(--line);padding-top:26px}.section-subhead,.order-history-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.section-subhead h3{margin:0;color:var(--navy)}.order-history-list{display:grid;gap:12px;margin-top:16px}.order-history-card{border:1px solid var(--line);border-radius:15px;padding:18px;background:#fbfdff}.order-history-head strong{font-size:16px;color:var(--navy)}.order-history-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.order-history-items{display:grid;gap:7px;margin-top:14px}.order-history-items span{display:flex;align-items:center;gap:7px;padding:9px 11px;background:#f2f6fa;border-radius:9px}.order-history-items span b{margin-left:auto;color:var(--blue)}.order-history-items small{color:var(--muted)}
.order-sheet-financial{display:flex;align-items:baseline;gap:10px;margin-top:10px}.order-sheet-financial strong{font-size:20px;color:var(--navy)}.order-sheet-financial small{color:var(--muted)}.order-history-items em{font-style:normal;font-weight:900;color:var(--navy);margin-left:8px}.order-sheet-card .number-cell{white-space:nowrap;text-align:right}
@media(max-width:760px){.order-guide{align-items:stretch}.order-guide>label{min-width:0}.order-sheet-actions{width:100%}.order-sheet-actions button{flex:1}.order-box-input{grid-template-columns:80px auto}.order-history-head{flex-direction:column}.order-history-head button{width:100%}}
.order-product-picker{align-items:flex-start}.order-product-picker .autocomplete-field{flex:1}.order-recommendation-note{margin:-5px 0 18px;padding:12px 14px;border-radius:11px;background:#f2f7ff;color:#49647e;font-size:13px}.order-source{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}.order-source.recommended{background:#e8f1ff;color:#2167d5}.order-source.manual{background:#e9f8ef;color:#15804b}.remove-order-item{border:1px solid #f1c9c9;background:#fff7f7;color:#c33;border-radius:9px;padding:8px 10px;font-size:12px;font-weight:800;white-space:nowrap}.remove-order-item:hover{background:#ffecec}@media(max-width:760px){.order-product-picker{flex-direction:column}.order-product-picker>button,.order-product-picker .autocomplete-field{width:100%}}
.order-insurance-code,.order-history-items code{display:inline-flex;padding:4px 7px;border-radius:7px;background:#eef3f8;color:#52657a;font-family:inherit;font-size:11px;font-weight:800}.dashboard-receipt{border-top:1px solid #edf1f5}.dashboard-receipt:first-child{border-top:0}.compact-list .dashboard-receipt>button{width:100%;border:0;background:transparent;padding:12px 0;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;text-align:left;color:var(--ink)}.dashboard-receipt>button span b,.dashboard-receipt>button span small{display:block}.dashboard-receipt>button span small{margin-top:3px;color:var(--muted)}.dashboard-receipt>button i{font-style:normal;color:var(--blue);font-size:11px;font-weight:900}.dashboard-receipt.expanded>button{background:#f4f8ff}.dashboard-receipt-detail{overflow:auto;padding:0 0 12px}.dashboard-receipt-detail table{width:100%;min-width:560px;border-collapse:collapse;font-size:12px}.dashboard-receipt-detail th,.dashboard-receipt-detail td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left}.dashboard-receipt-detail th{background:#eef3f8;color:var(--muted)}.dashboard-receipt-detail .number-cell{text-align:right}

/* 넓은 업무 화면: 표 안의 항목은 줄바꿈 없이 한눈에 비교 */
:root{--app-content-width:1800px}
table th,table td,table th *,table td *{white-space:nowrap!important;word-break:keep-all}
.product-master-table .product-name-cell,.inventory-master-table .inventory-name-cell,.price-product-name{min-width:max-content;white-space:nowrap!important;line-height:1.35}
.order-sheet-card table{min-width:1680px}
.stock-ledger-table{min-width:1120px}
.primary,.secondary,.ghost,.text-button,.table-save,.table-delete,.remove,.remove-order-item,.badge,.status,.stock-pill,.code{white-space:nowrap}
.order-excluded-count{display:inline-flex;align-items:center;justify-content:center;min-width:30px;margin-left:5px;padding:2px 7px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:11px;font-weight:900}
#resetOrderRecommendations:disabled{opacity:.5;cursor:not-allowed}
@media(min-width:821px){
  .quick-actions{grid-template-columns:repeat(4,minmax(0,1fr))}
  body main .panel.active{width:min(1800px,calc(100vw - 20px))!important;margin-left:50%;transform:translateX(-50%);padding-inline:30px}
}
.template-download{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap}
.statistics-controls{grid-template-columns:repeat(5,minmax(150px,1fr))}
.statistics-trend{margin:18px 0}.statistics-chart-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:22px}.statistics-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:22px 0 14px}.statistics-section-head:first-child{margin-top:0}.statistics-section-head h3{margin:0;color:var(--navy);font-size:18px}.statistics-section-head p{margin:6px 0 0;color:var(--muted);font-size:12px}.statistics-comparison{min-width:270px;border-radius:13px;padding:12px 15px;background:#f3f6fa;text-align:right}.statistics-comparison span,.statistics-comparison strong,.statistics-comparison small{display:block}.statistics-comparison span,.statistics-comparison small{font-size:11px;color:var(--muted)}.statistics-comparison strong{font-size:22px;margin:4px 0;color:var(--navy)}.statistics-comparison.up{background:#fff3e4}.statistics-comparison.up strong{color:#c66a00}.statistics-comparison.down{background:#eaf8f1}.statistics-comparison.down strong{color:var(--green)}.statistics-bars{display:flex;gap:10px;align-items:stretch;min-height:245px;padding-top:20px;overflow-x:auto}.statistics-bar-column{min-width:72px;flex:1;display:grid;grid-template-rows:28px 1fr 24px;gap:7px;text-align:center}.statistics-bar-value{font-size:10px;color:var(--muted);white-space:nowrap}.statistics-bar-track{height:170px;border-radius:9px 9px 4px 4px;background:#f0f4f8;display:flex;align-items:flex-end;overflow:hidden}.statistics-bar-track i{display:block;width:100%;min-height:3px;border-radius:8px 8px 0 0;background:#9bbcff}.statistics-bar-column.current .statistics-bar-track i{background:var(--blue)}.statistics-bar-column b{font-size:11px;color:var(--muted);white-space:nowrap}.statistics-bar-column.current b{color:var(--blue)}
.statistics-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 24px}.statistics-insight-card{border:1px solid var(--line);border-radius:16px;padding:17px;background:#fbfdff}.statistics-insight-card.warning{border-color:#f0d3a8;background:#fffaf2}.statistics-insight-card h3{margin:0;color:var(--navy);font-size:15px}.statistics-insight-card p{margin:5px 0 12px;color:var(--muted);font-size:11px}.statistics-insight-card ol{list-style:none;padding:0;margin:0}.statistics-insight-card li{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:10px 0}.statistics-insight-card li:first-child{border-top:0}.statistics-insight-card li span,.statistics-insight-card li b,.statistics-insight-card li small{display:block}.statistics-insight-card li b{font-size:12px;color:var(--navy)}.statistics-insight-card li small{font-size:10px;color:var(--muted);margin-top:3px}.statistics-insight-card li>strong{font-size:12px;color:var(--blue);text-align:right;white-space:nowrap}.statistics-insight-card .insight-empty{color:var(--muted);font-size:12px}
@media(max-width:1100px){.statistics-controls{grid-template-columns:1fr 1fr}.statistics-insights{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.statistics-controls,.statistics-insights{grid-template-columns:1fr}.statistics-section-head{flex-direction:column}.statistics-comparison{min-width:0;width:100%;text-align:left}.statistics-chart-card{padding:16px}.statistics-bar-column{min-width:62px}}
.receipt-entry-table{min-width:1180px}
.receipt-entry-table th:nth-child(8){width:130px}
.receipt-entry-table th:nth-child(9){width:60px}
.row-department-select{width:100%;min-width:110px;margin:0;min-height:38px;padding:7px 28px 7px 9px;white-space:nowrap}
.return-entry-table{min-width:1540px}
.usage-entry-table{min-width:1100px}
@media(max-width:900px){.receipt-entry-table{min-width:1180px}}
#paymentHistory article.is-cancelled { opacity: .62; background: #f7f8fa; }
.status-pill.cancelled { display: inline-flex; margin-left: 8px; padding: 3px 7px; border-radius: 999px; background: #f2f3f5; color: #667085; font-size: 11px; }
.inline-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 7px; }
.danger-text { color: #d92d20 !important; }
.opening-verification-card { margin: 18px 0; }
.opening-verification-item.is-valid { border-left: 4px solid #12b76a; }
.opening-verification-item.is-invalid { border-left: 4px solid #f04438; background: #fff8f7; }
.supplier-master-card { grid-column: 1 / -1; }
.supplier-master-item { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid #e4e7ec; }
.supplier-master-item > span { display: flex; align-items: center; gap: 10px; }
.supplier-master-actions { justify-content: flex-end; flex-wrap: wrap; }
.supplier-master-item small { color: #667085; }
.supplier-master-item em { font-style: normal; color: #027a48; font-size: 12px; }
.supplier-master-item.is-inactive { opacity: .58; }
.supplier-master-item.is-inactive em { color: #667085; }
@media(max-width:720px){
  .product-bulk-editor.has-secondary{grid-template-columns:1fr}
  .supplier-master-item { align-items: flex-start; flex-direction: column; }
  .supplier-master-item > span { align-items: flex-start; flex-wrap: wrap; }
  .supplier-master-actions { justify-content: flex-start; }
}

/* 2026 UI polish: 기존 레이아웃은 유지하고 글꼴·간격·상호작용만 정돈합니다. */
:root{--radius-sm:9px;--radius-md:13px;--radius-lg:19px;--shadow-soft:0 14px 34px rgba(18,51,83,.08);--shadow-hover:0 8px 20px rgba(18,51,83,.12)}
body{font-size:14px;line-height:1.52;letter-spacing:-.012em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,strong,b{letter-spacing:-.024em}
header{height:66px;box-shadow:0 1px 0 rgba(18,51,83,.07)}
.brand-home{appearance:none;margin:0;padding:5px 8px;border:0;border-radius:11px;background:transparent;cursor:pointer;transition:background .16s ease,transform .16s ease}
.brand-home:hover{background:#f2f6fb;transform:translateY(-1px)}
.brand-home:focus-visible{outline:3px solid rgba(42,103,231,.22);outline-offset:2px}
.hospital{font-size:13px}.hospital span,.badge{font-weight:800}
.hero h1{letter-spacing:-.045em}.sub{line-height:1.65}
.tabs{gap:5px}.tabs button{padding:10px 13px;border-radius:10px;font-size:13px;letter-spacing:-.018em;transition:background .16s ease,color .16s ease,box-shadow .16s ease}
.tabs button:hover{background:#edf4ff;color:var(--blue)}
.tabs button.active{box-shadow:0 5px 14px rgba(42,103,231,.12)}
.panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}
.card,.form-card,.mypage-card,.director-approval-item{border-radius:var(--radius-md)}
button,input,select,textarea{transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease}
.primary,.secondary,.ghost{border-radius:10px;font-size:13px;letter-spacing:-.015em}
.primary:hover,.secondary:hover{transform:translateY(-1px);box-shadow:var(--shadow-hover)}
input,select,textarea{border-color:#d4e0eb;border-radius:var(--radius-sm)}
input:focus,select:focus,textarea:focus{border-color:#7fa8f5;box-shadow:0 0 0 3px rgba(42,103,231,.1)}
input::placeholder,textarea::placeholder{color:#9aa8b6}
table th{font-size:11.5px;letter-spacing:-.01em}table td{font-size:13px}
.section-head h2{letter-spacing:-.035em}.eyebrow{font-size:11px;letter-spacing:.1em}
@media(max-width:620px){body{font-size:13px}header{height:60px}.tabs button{padding:9px 11px;font-size:12px}.panel{border-radius:15px}.hero h1{letter-spacing:-.04em}}

/* 품목관리: 원장님 금액 열까지 일반 PC 화면 한 폭에 정돈합니다. */
.product-master-table.product-bulk-table{width:100%;min-width:0;table-layout:fixed;font-size:12px}
.product-master-table.product-bulk-table th,
.product-master-table.product-bulk-table td{padding-left:6px;padding-right:6px;overflow:hidden;text-overflow:ellipsis}
.product-master-table.product-bulk-table .product-name-cell{min-width:0!important;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap!important}
.product-master-table.product-bulk-table .product-filter-row input,
.product-master-table.product-bulk-table .product-filter-row select{min-width:0!important;width:100%;padding-inline:5px;font-size:11px}
.product-master-table.product-bulk-table .category-badge,
.product-master-table.product-bulk-table .department-badge,
.product-master-table.product-bulk-table .code,
.product-master-table.product-bulk-table .inventory-value-missing{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1100px){.product-master-table.product-bulk-table{min-width:1180px}}
/* 입고등록 자동완성에서 병원 품목과 심평원 신규 품목을 구분 */
.receipt-row-suggestions .autocomplete-source{display:inline-flex;margin:0 0 5px;padding:3px 7px;border-radius:999px;background:#edf2f7;color:#53677c;font-size:10px;font-weight:900;line-height:1.2}
.receipt-row-suggestions .autocomplete-source.hira{background:#e8f1ff;color:#2162d2}
.receipt-entry-table{min-width:1190px}
.receipt-entry-table th:nth-child(8),.receipt-entry-table th:nth-child(9){width:130px}
.receipt-entry-table th:nth-child(10){width:60px}
.stock-level-range-hint {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 12px 0;
  padding: 10px 13px;
  border: 1px solid #dbe8f7;
  border-radius: 11px;
  background: #f5f9ff;
  color: #53677c;
  font-size: 12px;
}

.stock-level-range-hint b { color: var(--navy); }

.stock-level-range-cell {
  cursor: cell;
  user-select: none;
  transition: background 0.15s ease, box-shadow 0.15s ease, color 0.15s ease;
}

.stock-level-range-cell:hover { background: #f3f7ff; }

.stock-level-range-cell.is-range-selected {
  background: #dbeafe !important;
  box-shadow: inset 0 0 0 2px #2f6fed;
  color: #0b2f5b;
  font-weight: 900;
}

.stock-level-range-cell:focus-visible {
  outline: 2px solid #2f6fed;
  outline-offset: -2px;
}

.stock-level-range-toolbar {
  position: fixed;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  z-index: 1400;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(140px, 180px) auto auto;
  gap: 12px;
  align-items: end;
  width: min(780px, calc(100vw - 32px));
  padding: 14px 16px;
  border: 1px solid #bfdbfe;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 18px 48px rgba(15, 47, 91, 0.22);
  backdrop-filter: blur(12px);
}

.stock-level-range-toolbar[hidden] { display: none; }
.stock-level-range-copy { display: grid; gap: 3px; }
.stock-level-range-copy small { color: var(--muted); font-size: 11px; }
.stock-level-range-toolbar label { display: grid; gap: 5px; }
.stock-level-range-toolbar label span { color: var(--muted); font-size: 11px; font-weight: 900; }

.stock-level-range-toolbar input {
  min-height: 40px;
  margin: 0;
  text-align: right;
  font-weight: 900;
}

@media (max-width: 760px) {
  .stock-level-range-toolbar { bottom: 12px; grid-template-columns: 1fr 1fr; }
  .stock-level-range-copy,
  .stock-level-range-toolbar label { grid-column: 1 / -1; }
  .stock-level-range-toolbar button { width: 100%; }
}

.dashboard-usage-viewbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 14px 0 10px;
}

.dashboard-usage-viewbar > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.dashboard-usage-view-options {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.dashboard-usage-view-options button {
  padding: 7px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.dashboard-usage-view-options button.active {
  border-color: var(--blue);
  background: #eaf2ff;
  color: var(--blue);
}

.dashboard-usage-result { min-width: 0; }
.dashboard-usage-groups { display: grid; gap: 10px; }

.dashboard-usage-group {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}

.dashboard-usage-group > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
}

.dashboard-usage-group > summary::-webkit-details-marker { display: none; }
.dashboard-usage-group[open] > summary { border-bottom: 1px solid var(--line); background: #f7faff; }
.dashboard-usage-group-title { display: flex; align-items: center; gap: 9px; }
.dashboard-usage-group-title b { font-size: 14px; }
.dashboard-usage-group-title small { color: var(--muted); }
.dashboard-usage-group-metrics { display: flex; align-items: center; gap: 20px; }
.dashboard-usage-group-metrics > span { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 12px; }
.dashboard-usage-group-metrics b { color: var(--navy); font-size: 14px; }
.dashboard-usage-group-metrics small { color: #c26a00; font-weight: 700; }
.dashboard-usage-group .today-usage-table-wrap { border-radius: 0; }
.price-pending { color: var(--muted); font-size: 11px; font-weight: 700; }
.inventory-mismatch-warning {
  display: block;
  margin-top: 4px;
  color: #dc2626;
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}
.compliance-today-card { margin-top: 16px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.compliance-today-card > div:last-child { display: flex; align-items: center; gap: 14px; }
.compliance-today-card strong { color: var(--blue); font-size: 28px; }
.compliance-year { display: grid; gap: 5px; color: var(--muted); font-size: 12px; font-weight: 800; }
.compliance-year select { min-width: 120px; }
.compliance-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 16px; }
.compliance-summary article { padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: #fff; display: grid; gap: 5px; }
.compliance-summary span, .compliance-summary small { color: var(--muted); }
.compliance-summary strong { font-size: 26px; color: var(--navy); }
.compliance-summary .needs-check { border-color: #f5b55b; background: #fffaf1; }
.compliance-layout { display: grid; grid-template-columns: minmax(240px, 300px) 1fr; gap: 16px; align-items: start; }
.compliance-main { display: grid; gap: 16px; min-width: 0; }
.compliance-card-head, .employee-detail-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.employee-detail-head > div:last-child { display: flex; flex-wrap: wrap; gap: 8px; }
.employee-list { display: grid; gap: 8px; margin-top: 14px; }
.employee-list button { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px; text-align: left; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.employee-list button.active { border-color: var(--blue); background: #f2f7ff; }
.employee-list span { display: grid; gap: 3px; }
.employee-list small { color: var(--muted); }
.employee-list strong { white-space: nowrap; font-size: 12px; }
.employee-list .pending { color: #c26a00; }
.employee-list .done { color: #16844b; }
.employee-search { margin-top: 12px; }
.work-flags { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; }
.work-flags legend { padding: 0 6px; font-weight: 800; }
.work-flags label { display: flex; align-items: center; gap: 7px; font-weight: 600; }
.work-flags input { width: auto; }
.compliance-view-tabs { display: flex; gap: 8px; margin: 18px 0 12px; }
.compliance-view-tabs button { flex: 1; padding: 11px; border: 1px solid var(--line); border-radius: 10px; background: #fff; font-weight: 800; }
.compliance-view-tabs button.active { color: var(--blue); border-color: var(--blue); background: #edf4ff; }
.compliance-checklist { display: grid; gap: 10px; }
.compliance-row { padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.compliance-row-main { display: flex; align-items: flex-start; gap: 10px; }
.compliance-row-main h4 { margin: 0 0 4px; }
.compliance-row-main p { margin: 0; color: var(--muted); font-size: 12px; }
.compliance-row-main a { display: inline-block; margin-top: 5px; color: var(--blue); font-size: 12px; font-weight: 700; }
.requirement { flex: 0 0 auto; padding: 4px 7px; border-radius: 999px; background: #eaf2ff; color: var(--blue); font-size: 10px; font-weight: 900; }
.requirement.conditional { background: #fff3d6; color: #a05d00; }
.requirement.custom { background: #eeeafc; color: #6243aa; }
.compliance-row-fields { display: grid; grid-template-columns: 120px 145px minmax(150px, 1fr) auto; gap: 8px; align-items: center; margin-top: 12px; }
.compliance-row-fields .hours { display: flex; align-items: center; gap: 5px; white-space: nowrap; color: var(--muted); font-size: 12px; }
.compliance-row-fields .hours input { min-width: 65px; }
.compliance-notice { margin-top: 14px; padding: 12px; border-radius: 10px; background: #f6f7fa; color: var(--muted); font-size: 12px; line-height: 1.6; }
.management-subnav { display: flex; gap: 8px; margin: 0 0 16px; padding: 5px; border: 1px solid var(--line); border-radius: 13px; background: #f3f6f9; }
.management-subnav button { min-width: 150px; padding: 11px 18px; border: 0; border-radius: 9px; background: transparent; color: var(--muted); font-weight: 900; }
.management-subnav button.active { background: #fff; color: var(--navy); box-shadow: 0 4px 14px #0f274414; }
[data-management-panel][hidden] { display: none !important; }
.management-board { padding: 18px; }
.management-board-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.management-board-head h3 { margin: 0 0 5px; }
.management-board-head p { margin: 0; color: var(--muted); font-size: 12px; }
.status-legend { display: flex; flex-wrap: wrap; gap: 12px; color: var(--muted); font-size: 11px; font-weight: 800; }
.status-legend span::before { display: inline-block; width: 9px; height: 9px; margin-right: 5px; border-radius: 50%; content: ""; }
.status-legend .completed::before, .management-status.completed i { background: #10b981; }
.status-legend .pending::before, .management-status.pending i { background: #f6b800; }
.status-legend .in-progress::before, .management-status.in-progress i { background: #3b82f6; }
.status-legend .exempt::before, .management-status.exempt i { background: #cbd5e1; }
.management-matrix-scroll { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }
.management-matrix table { width: max-content; min-width: 100%; border-collapse: collapse; background: #fff; }
.management-matrix th, .management-matrix td { min-width: 126px; padding: 13px 11px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: center; }
.management-matrix thead th { max-width: 170px; color: var(--muted); font-size: 11px; line-height: 1.4; white-space: normal; }
.management-matrix tbody th { position: sticky; left: 0; z-index: 1; min-width: 145px; background: #fff; color: var(--navy); text-align: left; }
.management-matrix tbody th small { display: block; margin-top: 3px; color: var(--muted); font-weight: 500; }
.management-matrix .profession-group-row th { position: static; padding: 10px 14px; border-right: 0; background: #eef4fb; color: var(--navy); font-size: 13px; text-align: left; }
.management-matrix .profession-group-row th small { display: inline; margin-left: 5px; color: var(--muted); font-size: 11px; }
.management-matrix tr:last-child th, .management-matrix tr:last-child td { border-bottom: 0; }
.management-matrix th:last-child, .management-matrix td:last-child { border-right: 0; }
.management-status { display: inline-grid; width: 24px; height: 24px; place-items: center; }
.management-status i { display: block; width: 11px; height: 11px; border-radius: 50%; }
.management-status.not-applicable { color: #cbd5e1; font-weight: 900; }
.employee-checklist-title { margin: 18px 0 12px; font-size: 15px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.item-settings-card, .duty-settings-card { display: grid; gap: 16px; }
.managed-item-list, .setting-list { display: grid; gap: 9px; }
.managed-item-search { display: grid; gap: 6px; margin: 16px 0; color: var(--navy); font-size: 12px; font-weight: 800; }
.managed-item-search input { width: 100%; font-weight: 500; }
.managed-item-group { display: grid; gap: 9px; }
.managed-item-group + .managed-item-group { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.managed-item-group-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.managed-item-group-head h4 { margin: 0; color: var(--navy); font-size: 15px; }
.managed-item-group-head span { color: var(--muted); font-size: 12px; font-weight: 800; }
.managed-item-row, .setting-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.managed-item-row > div:first-child { display: flex; align-items: flex-start; gap: 9px; min-width: 0; }
.managed-item-row > div:first-child > div, .setting-row > div:first-child { display: grid; gap: 3px; min-width: 0; }
.managed-item-row small, .setting-row small { color: var(--muted); line-height: 1.45; }
.managed-item-row > div:last-child, .setting-row > div:last-child { display: flex; flex: 0 0 auto; gap: 6px; }
.setting-order { display: inline-flex; gap: 4px; margin-right: 2px; }
.setting-order button { min-width: 34px; padding-inline: 8px; font-size: 15px; }
.setting-order button:disabled { cursor: not-allowed; opacity: .35; }
.managed-item-row.inactive, .setting-row.inactive { background: #f6f7f9; opacity: .72; }
.managed-item-form { margin-top: 14px; }
.cycle-input { display: grid; grid-template-columns: minmax(90px, 1fr) 86px; gap: 8px; }
.managed-all-target { display: flex; align-items: center; gap: 8px; margin-top: 14px; font-weight: 800; }
.managed-all-target input { width: auto; }
.managed-targets { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
.managed-targets fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 13px; border: 1px solid var(--line); border-radius: 12px; }
.managed-targets legend { padding: 0 5px; font-weight: 800; }
.managed-targets label { display: flex; align-items: flex-start; gap: 7px; font-size: 12px; font-weight: 600; }
.managed-targets input { width: auto; margin-top: 2px; }
.inline-setting-form { display: grid; grid-template-columns: minmax(180px, 1fr) auto auto; gap: 8px; }
.target-catalog-card { display: grid; gap: 16px; margin-top: 14px; }
.target-catalog-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.target-catalog-grid > div { min-width: 0; }
.target-catalog-grid h4 { margin: 0 0 10px; color: var(--navy); }
.target-setting-form { display: grid; grid-template-columns: minmax(130px, 1fr) 120px auto auto; gap: 8px; margin-bottom: 12px; }
.target-setting-form.duty { grid-template-columns: minmax(150px, 1fr) auto auto; }
button.danger { color: #c83232; }

@media (max-width: 720px) {
  .compliance-layout, .compliance-summary { grid-template-columns: 1fr; }
  .management-subnav { overflow-x: auto; }
  .management-subnav button { min-width: 135px; }
  .management-board-head { flex-direction: column; }
  .compliance-row-fields { grid-template-columns: 1fr 1fr; }
  .compliance-row-fields [data-record-note] { grid-column: 1 / -1; }
  .work-flags { grid-template-columns: 1fr; }
  .compliance-today-card, .employee-detail-head { align-items: flex-start; flex-direction: column; }
  .dashboard-usage-viewbar { align-items: flex-start; flex-direction: column; }
  .dashboard-usage-view-options { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .dashboard-usage-view-options button { padding: 9px 8px; }
  .dashboard-usage-group > summary { align-items: flex-start; flex-direction: column; }
  .dashboard-usage-group-metrics { justify-content: space-between; gap: 8px; width: 100%; }
  .managed-item-row, .setting-row { align-items: flex-start; flex-direction: column; }
  .managed-targets { grid-template-columns: 1fr; }
  .managed-targets fieldset { grid-template-columns: 1fr; }
  .inline-setting-form { grid-template-columns: 1fr auto; }
  .inline-setting-form .ghost { grid-column: 1 / -1; }
  .target-catalog-grid { grid-template-columns: 1fr; }
  .target-setting-form, .target-setting-form.duty { grid-template-columns: 1fr auto; }
  .target-setting-form select { grid-column: 1 / -1; }
  .target-setting-form .ghost { grid-column: 1 / -1; }
}
@media(max-width:700px){.workspace-nav{grid-template-columns:repeat(3,minmax(150px,1fr));margin-bottom:10px;overflow-x:auto}.workspace-nav button{padding:12px 14px}}
