@font-face{font-family:Kanit;src:url(/brand/kanit-regular.ttf)format("truetype");font-weight:400;font-display:swap}:root{--brand:#01878a;--primary:#006d70;--primary-hover:#005457;--aqua:#e9fbfb;--blue:#edf5fc;--background:#f4f8f9;--surface:#fff;--text:#203c43;--muted:#536a72;--border:#d7e4e7;--control-border:#80979d;--success:#17613e;--success-bg:#e8f5ed;--warning:#84510a;--warning-bg:#fff3db;--danger:#a52a38;--danger-bg:#fff0f1;--radius:16px;--radius-control:8px;--shadow:0 4px 20px #17454d06;--space:8px;color:var(--text);background:var(--background);font-family:Kanit,Noto Sans Thai,Tahoma,Arial,sans-serif;font-size:16px;line-height:1.65}*{box-sizing:border-box}body{margin:0}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,.button{border-radius:var(--radius-control);background:var(--primary);color:#fff;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 18px;font-weight:600;text-decoration:none;display:inline-flex}button:hover,.button:hover{background:var(--primary-hover);text-decoration:none}.secondary{background:var(--surface);border-color:var(--control-border);color:var(--text)}.secondary:hover{background:var(--aqua)}button:disabled{opacity:.6;cursor:wait}:focus-visible{outline:3px solid var(--primary);outline-offset:3px}input,select{border:1px solid var(--control-border);border-radius:var(--radius-control);width:100%;min-height:46px;color:var(--text);background:#fff;padding:10px 12px}label{font-size:.9rem;font-weight:600;display:block}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.025em;margin-bottom:10px;font-size:clamp(1.6rem,3vw,2.15rem);line-height:1.35}h2{margin-bottom:12px;font-size:1.2rem}h3{font-size:1rem}p:last-child{margin-bottom:0}.muted,small{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--primary);margin-bottom:10px;font-size:.72rem;font-weight:700}.shell{grid-template-columns:244px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.brand img{object-fit:contain;width:118px;height:71px}.brand{align-items:center;gap:12px;display:flex}.brand small{font-size:.7rem;line-height:1.4}.sidebar .brand{border-bottom:1px solid var(--border);padding:0 12px 22px}.nav{gap:5px;margin-top:20px;display:grid}.nav a{color:var(--muted);border-radius:9px;align-items:center;gap:12px;padding:11px 14px;font-size:.95rem;display:flex}.nav a[aria-current=page]{background:var(--aqua);color:var(--primary);box-shadow:inset 3px 0 var(--brand);font-weight:700}.nav a:hover{background:var(--background);text-decoration:none}.nav-icon{text-align:center;width:25px;color:var(--primary)}.sidebar-footer{margin-top:auto;padding-top:24px;font-size:.75rem}.workspace{min-width:0}.topbar{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:16px;min-height:78px;padding:16px 32px;display:flex}.topbar small{display:block}.topbar .button,.topbar button{font-size:.8rem}.mobile-brand{display:none}main{max-width:1320px;margin:auto;padding:32px}.page-heading{margin-bottom:26px}.page-heading p{max-width:760px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;padding:24px}.hero{background:linear-gradient(110deg, var(--aqua), var(--blue));border-color:#c4e6e7;justify-content:space-between;align-items:center;gap:24px;display:flex}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0;display:grid}.metric{margin:0}.metric strong{color:var(--primary);font-variant-numeric:tabular-nums;font-size:2.2rem;line-height:1.4;display:block}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.patient-status-control{align-items:center;gap:.5rem;min-width:22rem;display:flex}.patient-status-control select{min-width:15rem;padding:.55rem .65rem;font-weight:600}.patient-status-select.success{background:var(--success-bg);color:var(--success)}.patient-status-select.warning{background:var(--warning-bg);color:var(--warning)}.patient-status-select.danger{background:var(--danger-bg);color:var(--danger)}.patient-status-control button{white-space:nowrap;padding:.6rem .75rem}.between{justify-content:space-between}.badge{background:var(--blue);color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;padding:4px 11px;font-size:.78rem;font-weight:600;display:inline-flex}.badge.success{background:var(--success-bg);color:var(--success)}.badge.warning{background:var(--warning-bg);color:var(--warning)}.badge.danger{background:var(--danger-bg);color:var(--danger)}.notice{background:var(--aqua);color:var(--primary);border-radius:10px;margin:18px 0;padding:14px 18px}.error{background:var(--danger-bg);color:var(--danger);border-radius:10px;padding:14px 18px}.filters{grid-template-columns:2fr 1fr 1fr;gap:16px;margin-bottom:20px;display:grid}.table-wrap{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}caption{text-align:left;color:var(--muted);padding-bottom:14px;font-size:.85rem}th{background:var(--background);color:var(--muted);font-size:.8rem;font-weight:600}th,td{border-bottom:1px solid var(--border);white-space:nowrap;padding:15px 16px}td{font-size:.9rem}td a{font-weight:700}tbody tr:hover{background:#f6fbfb}.empty{text-align:center;padding:48px 24px}.empty h2{margin-top:12px}.details{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0;display:grid}.details dt{color:var(--muted);font-size:.85rem}.details dd{overflow-wrap:anywhere;margin:5px 0 0;font-weight:600}.section-links{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.section-links a{border:1px solid var(--border);background:#fff;border-radius:8px;padding:8px 14px}.skip{z-index:100;background:#fff;padding:12px;position:fixed;top:-80px;left:16px}.skip:focus{top:12px}.login{grid-template-columns:1.1fr 1fr;max-width:none;min-height:100vh;padding:0;display:grid}.login-story{background:linear-gradient(145deg,#e9fbfb,#dbeff5);flex-direction:column;justify-content:center;padding:64px;display:flex}.login-story h1{margin:36px 0 24px;font-size:clamp(2rem,4vw,3.2rem)}.login-story .brand img{width:174px;height:104px}.login-panel{background:#fff;justify-content:center;align-items:center;padding:48px;display:flex}.login-form{width:100%;max-width:400px}.login-form label{margin:20px 0}.login-form input{margin-top:8px}.login-form button{width:100%}.divider{color:var(--muted);align-items:center;gap:16px;margin:24px 0;font-size:.8rem;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.pending-list{color:var(--muted);padding-left:22px}.pending-list li{margin:10px 0}.module-card{color:var(--text);margin:0;display:block}.module-card:hover{border-color:var(--brand);text-decoration:none}.module-card .arrow{color:var(--primary);font-size:1.4rem}.module-card p{font-size:.9rem}.module-card small{margin-top:16px;display:block}section[id]{scroll-margin-top:24px}@media (width<=1050px){.shell{grid-template-columns:206px minmax(0,1fr)}.sidebar{padding:20px 10px}.sidebar .brand small{display:none}.topbar{padding:16px 24px}main{padding:24px}.filters{grid-template-columns:1fr 1fr}.filters label:first-child{grid-column:1/-1}.login-story{padding:36px}.login-panel{padding:32px}.hero{flex-direction:column;align-items:flex-start}}@media (width<=760px){.shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--border);height:auto;padding:12px 16px;position:static}.sidebar .brand,.sidebar-footer{display:none}.nav{gap:6px;margin:0;display:flex;overflow-x:auto}.nav a{flex:none;padding:10px}.nav-icon{display:none}.topbar{padding:16px}.topbar>div>strong{font-size:.9rem}main{padding:20px 16px}.grid,.metrics{grid-template-columns:1fr}.metrics{gap:10px}.metric{justify-content:space-between;align-items:center;padding:16px;display:flex}.metric strong{font-size:1.8rem}.card{padding:20px}.login{grid-template-columns:1fr}.login-story{padding:24px}.login-story h1{margin:16px 0;font-size:1.8rem}.login-story .brand img{width:118px;height:71px}.login-story>p:last-child{display:none}.login-panel{padding:28px 24px}.details{gap:16px}.mobile-brand{display:block}}@media (prefers-reduced-motion:no-preference){a,button{transition:background-color .15s,border-color .15s}}@media print{.sidebar,.topbar,.filters,.section-links{display:none}.shell{display:block}.card{box-shadow:none;break-inside:avoid}}.stock-editor-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px;display:grid}.stock-group+.stock-group{margin-top:16px}.stock-group h3{margin:8px 0 4px}.patient-form{gap:20px;display:grid}.patient-fieldset{border:1px solid var(--border,#d9e5dc);min-width:0}.patient-fieldset legend{padding:0 8px;font-weight:700}.check-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.choice{min-width:0}.choice>label:first-child{align-items:center;gap:8px;display:flex}.choice input[type=checkbox]{width:auto;accent-color:var(--forest,#246447)}.choice .detail{margin-top:8px;display:block}.choice .detail input{width:100%}@media (width<=700px){.check-grid{grid-template-columns:1fr}}.qapi-tabs{gap:8px;margin:20px 0;padding:4px;display:flex;overflow:auto}.qapi-tabs button{flex:none}.qapi-tabs [aria-current=page]{background:var(--primary);color:#fff}.qapi-form{margin-top:20px}.qapi-form>fieldset{border:0;gap:16px;min-width:0;padding:0;display:grid}.qapi-form fieldset fieldset{border:1px solid var(--border);border-radius:8px}.qapi-form label{gap:6px;display:grid}.qapi-form textarea{width:100%;min-height:110px;font:inherit;border:1px solid var(--control-border);color:var(--text);resize:vertical;border-radius:8px;padding:12px}.qapi-form .qapi-check{align-items:center;gap:8px;display:flex}.qapi-check input{width:20px;min-height:24px}.qapi-filters{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-bottom:20px;display:grid}.qapi-richtext{white-space:pre-wrap;overflow-wrap:anywhere}details{margin:20px 0}summary{cursor:pointer;color:var(--primary);min-height:44px;padding:10px 0}.qapi-gantt{min-width:540px}.qapi-gantt-row{border-top:1px solid var(--border);padding:16px 0}.qapi-gantt-row small{display:block}.qapi-gantt-track{background:var(--aqua);border-radius:6px;height:24px;margin-top:8px;position:relative}.qapi-gantt-track span{background:var(--primary);border-radius:6px;min-width:2px;height:24px;position:absolute}.qapi-editor-block{border:1px solid var(--border);border-radius:8px;padding:16px}.qapi-chart{width:100%;min-width:540px;height:auto;fill:var(--muted);font:12px sans-serif}.qapi-bar-row{grid-template-columns:140px 1fr 100px;align-items:center;gap:16px;margin:16px 0;display:grid}.qapi-bar-track{background:var(--aqua);height:22px;position:relative}.qapi-bar-track span{background:var(--primary);height:100%;display:block}.qapi-bar-track i{border-left:2px dashed var(--warning);height:30px;position:absolute;top:-4px}@media (width<=760px){.qapi-bar-row{grid-template-columns:90px 1fr 75px;gap:8px;font-size:.8rem}}.med-nav,.med-actions,.med-suggestions,.med-steps{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.med-nav{border-bottom:1px solid var(--border);padding-bottom:14px}.med-nav a{background:var(--aqua);border-radius:8px;padding:8px 12px}.med-filters{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:16px;display:grid}.med-filters label,.med-slot label,.med-editor label,.med-count-fields label{flex-direction:column;gap:6px;display:flex}.patient-search{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.patient-search>label{flex-basis:100%}.patient-combobox{flex:320px;position:relative}.patient-combobox>input{width:100%}.patient-suggestions{z-index:20;border:1px solid var(--border);background:var(--surface);border-radius:8px;max-height:280px;padding:6px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 28px #143d4329}.patient-suggestions button{width:100%;color:var(--text);text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.patient-suggestions button:hover,.patient-suggestions button:focus-visible,.patient-suggestions button[aria-selected=true]{background:var(--aqua)}.patient-suggestions span{color:var(--muted);font-size:.86rem}.med-resident-list{flex-basis:100%;width:100%;min-width:0}.med-resident-list td{vertical-align:top}.med-slot{border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:16px 0;padding:16px;display:grid}.med-order{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:18px 0;display:flex}.med-order p{margin:6px 0}.med-order h3{margin:0}.med-alert-group{margin-top:24px}.med-receipt{grid-template-columns:1fr minmax(160px,280px);align-items:center;gap:16px;margin:16px 0;display:grid}.med-receipt small{color:var(--muted);display:block}.med-count-fields{border:0;margin:0;padding:0}.med-sheet-group{margin-top:24px}.med-sheet td{white-space:normal}.med-sheet table{width:100%}.med-sheet .table-wrap{overflow-x:auto}.med-steps button{flex:1;min-width:180px}.med-suggestions{max-height:240px;overflow:auto}.med-editor{border:2px solid var(--primary)}@media (width<=700px){.med-order{flex-direction:column;align-items:flex-start}.med-receipt{grid-template-columns:1fr}}@media print{@page{size:A4 landscape;margin:12mm}body{color:#000;background:#fff;font-size:10pt}.sidebar,.topbar,.no-print,.med-nav,.skip-link{display:none!important}.app-shell,.workspace,.main-shell,.content{margin:0!important;padding:0!important;display:block!important}main{max-width:none!important;margin:0!important;padding:0!important}.med-sheet{box-shadow:none;border:0;margin:0;padding:0}.med-sheet table{table-layout:fixed;width:100%;font-size:9pt}.med-sheet th,.med-sheet td{overflow-wrap:anywhere;border:1px solid #888;padding:6px}.med-sheet thead{display:table-header-group}.med-sheet tr{break-inside:avoid}.med-sheet h3{break-after:avoid}.med-sheet .table-wrap{overflow:visible}}main .panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin:20px 0;padding:24px}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);border-top:3px solid var(--brand);padding:24px}.stat strong{color:var(--primary);margin-top:8px;font-size:2rem;display:block}.med-editor .form-grid,.med-count-fields .form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:16px 0;display:grid}.med-sheet .section-heading,.med-editor .section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}@media print{main .med-sheet.panel{box-shadow:none;border:0;margin:0;padding:0}.skip{display:none!important}}@media screen{.workspace{--page-gap:8px;--panel-padding:10px}.workspace main{padding:12px 24px}.topbar{min-height:52px;padding:6px 24px}.workspace .page-heading{margin-bottom:var(--page-gap)}.compact-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.workspace .page-heading h1,.workspace .hero h1{margin-bottom:2px;font-size:clamp(1.25rem,1.7vw,1.5rem)}.workspace .eyebrow{margin-bottom:2px}.workspace .page-heading p{margin-bottom:0}.workspace .card,.workspace main .panel{padding:var(--panel-padding);margin:0 0 var(--page-gap)}.module-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.compact-page-header .module-toolbar{margin:0}.workspace button,.workspace .button{min-height:38px;padding:6px 12px;font-size:.875rem}.workspace input,.workspace select{min-height:38px;padding:6px 10px}.branch-scope{min-width:0;max-width:100%}.branch-scope select{min-width:220px;max-width:100%}.filter-fields,.workspace .filters,.workspace .med-filters,.workspace .qapi-filters{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;gap:8px 12px;margin-bottom:8px;display:grid}.filter-bar details{margin:4px 0}.filter-bar summary{min-height:32px;padding:3px 0}.compact-stats,.workspace .stats{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:8px;margin:6px 0 8px;display:grid}.workspace .stat{padding:6px 12px}.workspace .stat strong{margin-top:0;font-size:1.6rem;line-height:1.3}.workspace .metrics{gap:10px;margin:12px 0}.workspace .metric strong{font-size:1.7rem}.workspace .grid,.workspace .hero{gap:12px}.workspace .hero h2,.workspace .hero p{margin-bottom:4px}.workspace .med-nav,.workspace .qapi-tabs,.workspace .section-links{gap:6px;margin:0 0 8px;padding:0 0 4px}.workspace .med-nav a,.workspace .section-links a{padding:5px 10px}.workspace .med-actions{gap:8px;margin:8px 0}.workspace .med-alert-group{margin-top:12px}.workspace .med-alert-group h3{margin-bottom:6px}.workspace th,.workspace td{padding:9px 12px}.workspace caption{padding-bottom:8px}.workspace .notice{margin:10px 0;padding:8px 12px}.workspace .med-nav a[aria-current=page]{background:var(--primary);color:#fff}.compact-heading-copy{flex:220px;min-width:0}.compact-heading-copy .eyebrow{font-size:.65rem;line-height:1.3}.compact-heading-copy>.muted{font-size:.8rem;line-height:1.4}.module-toolbar>*{flex-shrink:0}.branch-scope{align-items:center;gap:6px;font-size:.8rem;display:inline-flex}.branch-scope select{width:auto;min-width:0;max-width:240px}.branch-scope [role=status]{background:var(--surface);position:absolute;transform:translateY(30px)}.filter-fields>input[type=hidden]{display:none}.filter-fields>.module-toolbar{margin:0}.filter-fields label{gap:2px;min-width:0;font-size:.8rem;display:grid}.filter-fields input,.filter-fields select{width:100%;min-width:0}.compact-stats .stat{justify-content:space-between;align-items:center;gap:8px;display:flex}.compact-stats .stat span{font-size:.8rem}.workspace .metric{padding:10px 14px}.collapsible-filters>.filter-fields{padding-top:4px}.workspace .med-actions{margin:4px 0}@media (width>=1100px){.filter-fields:has(>.module-toolbar){grid-template-columns:repeat(3,minmax(0,1fr)) auto}}@media (width<=760px){.workspace main{padding:14px 12px}.workspace button,.workspace .button,.workspace input,.workspace select,.workspace .med-nav a{min-height:44px}.compact-page-header{align-items:flex-start}.compact-page-header .module-toolbar{width:100%}.module-toolbar>*{flex-shrink:1}.compact-stats .stat{flex-wrap:wrap}.workspace .filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace .filter-fields>.module-toolbar{grid-column:1/-1}.collapsible-filters summary{min-height:44px}.filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.branch-scope select{min-width:0}.compact-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=420px){.workspace .filter-fields{grid-template-columns:1fr}}}.access-form{gap:12px;margin-top:12px;display:grid}.access-options{flex-wrap:wrap;gap:8px 18px;display:flex}.access-options label{align-items:center;gap:6px;display:flex}.access-options input{width:18px;min-height:18px}.access-form fieldset{border:1px solid var(--border);border-radius:8px}.access-form textarea{width:100%;min-height:90px;font:inherit;padding:8px}.med-sheet .med-sheet-group{margin-top:8px}.med-sheet>p{margin:3px 0}.med-sheet h2{margin:0;font-size:18px}.med-sheet table{border-collapse:collapse}.med-sheet .med-instruction-grid{table-layout:fixed;min-width:1000px}.med-sheet th,.med-sheet td{vertical-align:top;overflow-wrap:anywhere;border:1px solid #555;padding:3px 4px;line-height:1.35}.med-sheet th{text-align:center;color:#111;white-space:normal;background:#f2f2f2}.med-sheet td{font-weight:400}.med-sheet .med-dose-cell{text-align:center}@media print{@page medication-instructions{size:A4 landscape;margin:12mm}:is(html:has(.med-sheet),body:has(.med-sheet)){page:medication-instructions}body:has(.med-sheet) *{page:inherit}body:has(.med-sheet) .shell{min-height:0}.med-sheet .med-instruction-grid th:first-child{white-space:nowrap;font-size:8pt}.med-sheet .med-instruction-grid{min-width:0;font-size:9pt}.med-sheet tr{break-inside:avoid;page-break-inside:avoid}.med-sheet thead{display:table-header-group}.med-sheet th,.med-sheet td{color:#000;background:#fff;padding:2px 3px}.med-sheet .section-heading{margin:0 0 4px}}.stock-report-period-controls{flex-wrap:wrap;align-items:flex-end;gap:8px 16px;margin:8px 0 12px;display:flex}.stock-report-period-form{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.stock-report-period-form label{gap:2px;font-size:.8rem;display:grid}.stock-family-report-table{table-layout:fixed;border-collapse:collapse;width:100%}.stock-family-report-table th,.stock-family-report-table td{vertical-align:top;white-space:normal;word-break:normal;overflow-wrap:anywhere;line-height:1.3}.stock-family-report-table .stock-report-col-item{width:22%}.stock-family-report-table .stock-report-col-category,.stock-family-report-table .stock-report-col-days{width:8%}.stock-family-report-table .stock-report-col-opening{width:16%}.stock-family-report-table .stock-report-col-received{width:9%}.stock-family-report-table .stock-report-col-used,.stock-family-report-table .stock-report-col-balance{width:13%}.stock-family-report-table .stock-report-col-counted-at{width:11%}.stock-family-report-table .cell-sub{color:var(--muted);margin-top:2px;font-size:.75rem;display:block}@media print{@page stock-summary-report{size:A4 landscape;margin:10mm}.stock-print-report.panel{page:stock-summary-report;box-shadow:none!important;border:0!important;margin:0!important;padding:0!important}.stock-print-report .stock-print-heading{margin-bottom:6px}.stock-print-report h1{margin:0;font-size:15pt}.stock-print-report .eyebrow{margin:0 0 2px;font-size:8pt}.stock-print-report .stock-print-meta{gap:4px 14px;margin:6px 0}.stock-print-report .stock-print-note{margin:5px 0;font-size:8pt;line-height:1.35}.stock-family-report-table{font-size:8pt;line-height:1.25}.stock-family-report-table th,.stock-family-report-table td{white-space:normal;word-break:normal;overflow-wrap:anywhere;border:1px solid #777;padding:3px 4px;line-height:1.25}.stock-family-report-table th{font-size:7.5pt;font-weight:700}.stock-print-report .table-wrap{overflow:visible}.stock-family-report-table thead{display:table-header-group}.stock-family-report-table tr{break-inside:avoid;page-break-inside:avoid}}.kpi-tabs{margin-bottom:8px}.kpi-month-filter{align-items:end;gap:8px;margin-bottom:12px;display:flex}.kpi-entry-list{gap:10px;margin-top:12px;display:grid}.kpi-entry-card{border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:12px}.kpi-entry-card h3{margin:0 0 2px}.kpi-entry-form{grid-template-columns:minmax(160px,1fr) minmax(150px,.8fr) minmax(190px,1fr) auto;align-items:end;gap:10px;display:grid}.kpi-entry-form details{grid-column:1/-1}.kpi-derived-value{align-content:center;gap:2px;min-height:54px;display:grid}.kpi-derived-value span,.kpi-derived-value small{color:var(--muted)}.kpi-derived-value strong{font-size:1.05rem}.kpi-denominator-detail{margin:8px 0}.kpi-trend-list{gap:8px;display:grid}.kpi-trend-row{grid-template-columns:90px minmax(180px,1fr) minmax(150px,auto);align-items:center;gap:10px;display:grid}.kpi-trend-track{background:var(--surface-alt);border-radius:999px;height:12px;overflow:hidden}.kpi-trend-track>span{background:var(--primary);min-width:0;height:100%;display:block}.inline-check{align-items:center;gap:4px;display:inline-flex}.cell-sub{color:var(--muted);margin-top:2px;font-size:.78rem;display:block}@media (width<=900px){.kpi-entry-form{grid-template-columns:1fr 1fr}.kpi-trend-row{grid-template-columns:80px 1fr}.kpi-trend-row strong{grid-column:2}}.kpi-chart-controls{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.kpi-chart-controls label{min-width:180px}.kpi-chart-wrap{width:100%;margin:10px 0 16px;overflow-x:auto}.kpi-chart{width:100%;min-width:760px;height:auto;fill:var(--muted);font:12px Kanit,Noto Sans Thai,Tahoma,Arial,sans-serif}.kpi-grid-line{stroke:var(--border);stroke-width:1px}.kpi-axis{stroke:var(--control-border);stroke-width:1.2px}.kpi-target-line{stroke:var(--warning);stroke-width:2px;stroke-dasharray:7 6}.kpi-target-label{fill:var(--warning);font-weight:700}.kpi-line-path{fill:none;stroke:var(--primary);stroke-width:3px;stroke-linejoin:round;stroke-linecap:round}.kpi-line-point{fill:var(--surface);stroke:var(--primary);stroke-width:3px}.kpi-x-label{fill:var(--muted);font-size:11px}.kpi-axis-unit{fill:var(--muted);font-weight:600}.kpi-bar{opacity:.88}.kpi-bar-0{fill:var(--primary)}.kpi-bar-1{fill:var(--brand)}.kpi-bar-2{fill:var(--success)}.kpi-bar-3{fill:var(--warning)}.kpi-bar-4{fill:var(--danger)}.kpi-bar-5{fill:var(--muted)}.kpi-chart-legend{flex-wrap:wrap;gap:8px 16px;margin:4px 0 12px;font-size:.8rem;display:flex}.kpi-chart-legend span{align-items:center;gap:5px;display:inline-flex}.kpi-legend-swatch{border-radius:2px;width:12px;height:12px;display:inline-block}@media (width<=760px){.kpi-chart-controls{align-items:stretch}.kpi-chart-controls label,.kpi-chart-controls button{width:100%}}.kpi-target-0{stroke:var(--primary)}.kpi-target-1{stroke:var(--brand)}.kpi-target-2{stroke:var(--success)}.kpi-target-3{stroke:var(--warning)}.kpi-target-4{stroke:var(--danger)}.kpi-target-5{stroke:var(--muted)}.care-editor .filters{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.care-editor .filters label,.care-editor .card>label{flex-direction:column;gap:5px;display:flex}.care-editor textarea{width:100%;min-height:70px}.care-editor fieldset{border:1px solid #d5e0df;border-radius:8px;margin:12px 0;padding:10px}.care-week{grid-template-columns:repeat(7,minmax(38px,1fr));gap:8px;display:grid}.care-week label{align-items:center;gap:5px;display:flex}.care-plan-paper{box-sizing:border-box;color:#1e3033;background:#fff;max-width:210mm;margin:20px auto;padding:16mm;font-family:Kanit,Noto Sans Thai,Tahoma,Arial,sans-serif;font-size:12px;line-height:1.38;box-shadow:0 3px 16px #0002}.care-plan-header{border-bottom:2px solid #28616b;align-items:center;gap:18px;padding-bottom:9px;display:flex}.care-plan-header h1{margin:2px 0 0;font-size:23px}.care-plan-meta{grid-template-columns:repeat(3,1fr);gap:6px 12px;padding:12px 0;display:grid}.care-handwritten{border-top:1px solid #d5e0df;padding:8px 0}.care-fill-row{grid-template-columns:minmax(0,1fr);gap:8px;margin:3px 0;display:grid}.care-fill-person{grid-template-columns:45fr 18fr 27fr 10fr}.care-fill-contact{grid-template-columns:1fr 1fr}.care-fill-field{align-items:end;gap:4px;min-width:0;display:flex}.care-fill-field>span:first-child{overflow-wrap:anywhere}.care-fill-line{color:#0000;white-space:nowrap;border-bottom:1px solid #1e3033;flex:1 0 14px;min-width:0;overflow:hidden}.care-plan-page-version{margin-top:12px;font-size:9px}.care-plan-section{break-inside:avoid;margin:8px 0}.care-plan-section h2{color:#16444b;background:#e8f1f0;margin:0 0 4px;padding:4px 7px;font-size:13px}.care-plan-section p{overflow-wrap:anywhere;margin:3px 7px}@media print{@page{size:A4;margin:10mm}:is(body:has(.care-plan-paper) .sidebar,body:has(.care-plan-paper) .topbar,body:has(.care-plan-paper) .no-print){display:none!important}.care-plan-paper{width:100%;max-width:none;box-shadow:none;margin:0;padding:0;font-size:11px}@page care-plan{size:A4;margin:10mm 10mm 16mm}.care-plan-paper{page:care-plan}.care-plan-page-version{margin:0;font-size:9px;position:fixed;bottom:-10mm;left:0}.care-plan-section h2{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.patient-incident-report dl{grid-template-columns:180px 1fr;gap:10px 16px;display:grid}.patient-incident-report dt{font-weight:700}.patient-incident-report dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}@media print{:is(body:has(.patient-incident-report) .sidebar,body:has(.patient-incident-report) .topbar,body:has(.patient-incident-report) .no-print){display:none!important}.patient-incident-report .card{box-shadow:none;border:0;padding:0}}.careshift .care-quotas{flex-wrap:wrap;gap:16px;margin:12px 0;display:flex}.careshift .care-quotas>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.careshift .care-roster{min-width:850px}.careshift .care-roster th:first-child{min-width:150px}.careshift .care-roster td{vertical-align:top;min-width:88px}.careshift small{font-weight:400;display:block}.careshift .care-shift{color:#006565;background:#e4f2f0;border:1px solid #bddbd6;min-height:28px;margin-bottom:4px;padding:4px 8px;font-size:12px;display:block}.careshift .care-shift.absent{color:#a73b31;background:#fff0ee;border-color:#eac9c4}.careshift .care-add{min-height:26px;margin-top:4px;padding:2px 8px}.careshift .care-leave{color:#a73b31}.careshift details>summary{cursor:pointer;padding:8px 0;font-weight:600}.careshift .care-settings details{border-bottom:1px solid #e1e8e9;padding:8px 0}.careshift .care-settings form{margin:12px 0}.careshift .care-roster th[aria-current=date]{background:#e4f2f0}.careshift .care-roster td{position:relative}.careshift .care-add:not(.empty){opacity:0;position:absolute;top:4px;right:4px}.careshift .care-roster td:hover .care-add,.careshift .care-roster td:focus-within .care-add{opacity:1}.careshift .care-add.empty{color:var(--muted);border-color:#0000}.careshift input[type=checkbox]{flex:0 0 16px;width:16px;height:16px;min-height:16px;margin:0}.careshift label:has(>input[type=checkbox]){align-items:center;gap:8px;display:flex}.monday-picker{gap:.4rem;display:grid;position:relative}.monday-calendar{z-index:30;border:1px solid var(--border,#b9c9ce);background:#fff;border-radius:8px;width:min(360px,88vw);padding:12px;position:absolute;top:100%;left:0;box-shadow:0 5px 18px #0002}.monday-calendar .row{justify-content:space-between;align-items:center;gap:4px;display:flex}.monday-calendar table{table-layout:fixed;width:100%;min-width:0;margin:8px 0}.monday-calendar th,.monday-calendar td{text-align:center;padding:2px}.monday-calendar td button{width:100%;min-width:0;padding:6px 0}.monday-calendar button[aria-pressed=true]{color:#fff;background:#006c70}.care-roster{white-space:nowrap}.careshift .roster-month-week{margin-top:1rem}.careshift .roster-month-week .care-roster{table-layout:fixed;white-space:normal;width:100%;min-width:0}.careshift .roster-month-week .care-roster th:first-child{overflow-wrap:anywhere;width:20%;min-width:0}.careshift .roster-month-week .care-roster th,.careshift .roster-month-week .care-roster td{min-width:0;padding:6px 3px}.careshift .roster-month-week .care-roster th button{white-space:normal;width:100%;min-width:0;padding:4px 2px;font-size:.8rem}.careshift .roster-month-week .care-roster .care-shift{white-space:normal;min-width:0;padding:4px}.careshift .roster-month-week caption{text-align:left;padding:8px 0;font-weight:700}.careshift .roster-month-week .outside-month{color:#899398;background:#f1f3f4}.careshift .roster-month-week .outside-month button{color:#899398;opacity:1;background:0 0;border-color:#dce1e3}.roster-print-report{max-width:1200px;margin:auto}.roster-print-floor{background:#fff;border:1px solid #dce4e5;margin:20px 0;padding:20px}.roster-print-floor h1{margin:0 0 8px;font-size:21px}.roster-print-floor h2{font-size:17px}.roster-print-week h3{margin:16px 0 5px;font-size:14px}.roster-print-week table{table-layout:fixed;border-collapse:collapse;width:100%}.roster-print-week th,.roster-print-week td{text-align:center;vertical-align:top;overflow-wrap:anywhere;border:1px solid #b7c6c8;padding:6px}.roster-print-week th:first-child{text-align:left;width:20%}.roster-print-week small{font-size:10px;font-weight:400;display:block}.roster-print-week .outside-month{color:#8c959a;background:#f1f2f3}.roster-print-floor p,.roster-print-floor footer{font-size:11px}.roster-print-asof{text-align:right}@media print{@page roster{size:A4 landscape;margin:10mm}:is(body:has(.roster-print-report) .sidebar,body:has(.roster-print-report) .topbar,body:has(.roster-print-report) .no-print){display:none!important}body:has(.roster-print-report) .content{margin:0;padding:0}.roster-print-report{page:roster;color:#111;width:100%;max-width:none}.roster-print-floor{break-before:page;border:0;margin:0;padding:0}.roster-print-floor:first-of-type{break-before:auto}.roster-print-week{break-inside:avoid}.roster-print-week thead{display:table-header-group}.roster-print-week tr{break-inside:avoid}.roster-print-week th,.roster-print-week td{padding:3px;font-size:10px}.roster-print-week .outside-month{-webkit-print-color-adjust:exact;print-color-adjust:exact}.roster-print-floor footer{text-align:left;margin-top:10px}}:root{--font-thai:"Noto Sans Thai", "Sarabun", "IBM Plex Sans Thai", Kanit, Tahoma, sans-serif}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media screen{.shell{--primary:#006565;--brand:teal;--background:#f4f7f7;--border:#e1e8e9;--radius:4px;--radius-control:4px;--shadow:none;--text:#0a1e22;--muted:#52666a;font-family:var(--font-thai);background:var(--background);color:var(--text);grid-template-columns:224px minmax(0,1fr);font-size:14px;line-height:1.6;display:grid}.shell .sidebar{z-index:10;width:224px;height:100dvh;padding:16px 12px;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.shell .workspace{grid-column:2;min-width:0;font-size:14px}.sidebar .brand{flex-shrink:0;gap:6px;padding:0 2px 14px}.sidebar .brand img{object-fit:contain;width:112px;height:67px}.sidebar .brand small{font-size:10px;display:block}.navigation-disclosure>summary{display:none}.navigation-disclosure:not([open])>.nav{display:grid}.nav{gap:12px;margin-top:12px}.nav-group h2{color:var(--muted);margin:4px 8px;font-size:12px;font-weight:400}.nav-group a{border-radius:4px;gap:8px;margin:2px 0;padding:7px 10px;font-size:14px}.nav-group a[aria-current=page]{background:var(--primary);color:#fff;box-shadow:none}.nav-group a:hover{color:var(--primary);background:#e6f6f7}.nav-icon{width:16px;font-size:16px}.sidebar-footer{margin-top:auto;padding:22px 6px 0;font-size:11px}.workspace .topbar{z-index:8;border-bottom:1px solid var(--border);background:#fff;flex-wrap:wrap;gap:14px;min-height:60px;padding:10px 22px;position:sticky;top:0}.topbar>.row{gap:10px}.topbar .branch-scope{align-items:center;gap:8px;margin:0;display:flex}.topbar .branch-scope select{width:auto;min-width:180px;max-width:300px}.topbar form{margin:0}.workspace main{padding:18px 22px}.workspace main main{padding:0}.workspace h1{letter-spacing:0;margin:0 0 4px;font-size:24px;line-height:1.4}.workspace h2{font-size:16px;line-height:1.5}.workspace h3{font-size:15px}.workspace .compact-page-header{align-items:center;margin:0 0 16px;padding:0}.workspace .compact-page-header p{margin:0;font-size:13px}.workspace .compact-page-header .module-toolbar:empty{display:none}.workspace .card,.workspace main .panel{border:1px solid var(--border);box-shadow:none;background:#fff;border-radius:4px;margin-bottom:14px;padding:14px 16px}.workspace .card:has(>.table-wrap){padding:14px 0 0}.workspace .card:has(>.table-wrap)>h2{padding:0 16px}.workspace .card:has(>.table-wrap)>.section-heading{padding:0 16px}.workspace .card:has(>.table-wrap)>small{padding:10px 16px;display:block}.workspace button,.workspace .button{white-space:nowrap;border-radius:4px;min-height:32px;padding:4px 10px;font-size:13px;line-height:1.5}.workspace input,.workspace select{border-radius:4px;min-height:32px;padding:4px 8px;font-size:14px;line-height:1.5}.workspace label{font-size:13px}.workspace .filter-fields{align-items:end;gap:10px}.workspace .module-toolbar{gap:8px}.workspace table{font-variant-numeric:tabular-nums;font-size:14px;line-height:1.6}.workspace th{color:var(--muted);background:#f4f7f7;font-size:13px}.workspace th,.workspace td{vertical-align:top;border-bottom:1px solid var(--border);padding:9px 12px}.workspace td:first-child{white-space:nowrap}.workspace .table-wrap,.workspace .table-scroll{overflow:auto}.workspace .badge{border-radius:16px;padding:2px 7px;font-size:12px;line-height:1.6}.workspace caption{text-align:left;padding:8px 12px;font-size:13px}.workspace .compact-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:12px 0 16px;display:grid}.workspace .compact-stats .stat{border:1px solid var(--border);background:#fff;border-radius:4px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 14px;display:flex}.workspace .compact-stats .stat span{font-size:13px}.workspace .compact-stats .stat strong{color:var(--primary);font-size:26px;line-height:1.4}.exception-strip{background:#fff8ed;border:1px solid #edd7b4;border-radius:4px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.exception-strip .muted{margin-left:auto;font-size:12px}.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-heading h2{margin:0 0 8px}.quick-tasks{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.quick-tasks .card p{color:var(--muted)}.quick-tasks .card span{font-weight:600}.patient-registry{table-layout:fixed;width:1500px;min-width:1500px}.patient-registry th,.patient-registry td{white-space:normal}.patient-registry td{overflow-wrap:anywhere;vertical-align:top;min-width:0}.patient-registry .registry-hn{white-space:nowrap;width:105px}.patient-registry .registry-name{white-space:nowrap;overflow-wrap:normal;width:190px}.patient-registry .registry-branch,.patient-registry .registry-room{width:110px}.patient-registry .registry-status{width:164px}.patient-registry .patient-status-control{width:100%;min-width:0;display:block}.patient-registry .patient-status-control select{white-space:nowrap;width:100%;min-width:0;max-width:100%;height:34px;min-height:34px;padding:4px 28px 4px 8px;line-height:1.2}.patient-registry .registry-goal{width:172px}.patient-registry .registry-care{width:220px}.patient-registry .registry-problems{width:170px}.patient-registry .registry-actions{width:126px}.compact-badges{flex-wrap:wrap;gap:4px;max-width:240px;display:flex}.compact-badges .badge{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:150px;overflow:hidden}.compact-add{white-space:nowrap;margin-top:6px;display:inline-block}.cell-sub{margin-top:3px;display:block}.patient-status-control{flex-wrap:nowrap}.patient-status-control select{width:auto;max-width:210px}.profile-details{grid-template-columns:140px 1fr;gap:14px;display:grid}.profile-details dt{color:var(--muted)}.profile-details dd{margin:0}.detail-drawer{border:0;border-left:1px solid var(--border);width:560px;max-width:95vw;height:100dvh;max-height:100dvh;color:var(--text);font-family:var(--font-thai);background:#fff;margin:0;padding:22px;position:fixed;inset:0 0 0 auto;box-shadow:-8px 0 30px #00202018}.detail-drawer::backdrop{background:#0a353744}.drawer-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;padding-bottom:12px;display:flex}.drawer-heading h2{margin:0}.detail-drawer form>label,.detail-drawer .form-grid{margin-bottom:14px}.detail-drawer .form-grid{grid-template-columns:1fr 1fr}.detail-drawer .panel{border:0!important;padding:0!important}.stock-row-actions{grid-template-columns:repeat(2,auto);gap:5px;display:grid}.stock-group-heading,.stock-print-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.stock-print-actions{flex-wrap:wrap;gap:8px;display:flex}.stock-group-heading h3,.stock-print-heading h1{margin:0}.stock-print-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.stock-print-meta div{border:1px solid var(--border);padding:8px 10px}.stock-print-meta dt{color:var(--muted);font-size:12px}.stock-print-meta dd{margin:2px 0 0;font-weight:700}.stock-print-report table{table-layout:fixed;width:100%}.stock-print-report th,.stock-print-report td{overflow-wrap:anywhere}.stock-group table{min-width:1300px}.stock-group h3{margin:0;padding:10px 0;font-size:14px}.stock-group td:last-child,.stock-group th:last-child{border-left:1px solid var(--border);background:#fff;position:sticky;right:0}.stock-ownership{margin-bottom:12px}.shell[data-density=operational] td{padding-top:11px;padding-bottom:11px}.shell[data-density=simple] td{padding-top:14px;padding-bottom:14px}.shell[data-density=simple] .patient-registry{min-width:1500px}.workspace .notice{border-radius:4px;margin:12px 0;padding:10px 12px;font-size:13px}@media (width<=1050px){.shell{grid-template-columns:196px minmax(0,1fr)}.shell .sidebar{width:196px}.sidebar .brand img{width:102px;height:62px}.sidebar .brand small{font-size:9px}.workspace .topbar{padding:10px 16px}.workspace main{padding:16px}.section-heading{flex-wrap:wrap}}@media (width<=760px){.shell{display:block}.shell .sidebar{flex-flow:wrap;justify-content:space-between;align-items:center;width:100%;height:auto;padding:8px 12px;display:flex;position:static;overflow:visible}.sidebar .brand{border:0;padding:0;display:flex}.sidebar .brand img{width:86px;height:52px}.sidebar .brand small{display:none}.navigation-disclosure>summary{cursor:pointer;border:1px solid var(--border);border-radius:4px;min-height:44px;padding:10px;display:block}.navigation-disclosure:not([open])>.nav{display:none}.navigation-disclosure[open]{width:100%}.navigation-disclosure[open]>.nav{grid-template-columns:1fr 1fr;gap:12px;padding-top:10px;display:grid;overflow:visible}.sidebar-footer{display:none}.workspace .topbar{align-items:center;padding:10px 12px;position:static}.topbar>.row>span{overflow-wrap:anywhere;max-width:130px;font-size:12px}.topbar .branch-scope select{min-width:0;max-width:220px}.workspace main{padding:14px 12px}.workspace h1{font-size:21px}.workspace button,.workspace .button,.workspace input,.workspace select{min-height:44px}.workspace .compact-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.workspace .compact-stats .stat{padding:10px}.exception-strip .muted{margin-left:0}.profile-details{grid-template-columns:1fr;gap:5px}.profile-details dd{margin-bottom:12px}.detail-drawer{padding:16px}.detail-drawer .form-grid{grid-template-columns:1fr}.workspace .card{padding:12px}.workspace .stock-row-actions button{min-height:44px}}}@media print{.detail-drawer,.navigation-disclosure{display:none}.stock-print-report{box-shadow:none;border:0;padding:0}.stock-print-report table{table-layout:fixed;width:100%;font-size:8pt}.stock-print-report th,.stock-print-report td{vertical-align:top;border:1px solid #777;padding:5px}.stock-print-report thead{display:table-header-group}.stock-print-report tr{break-inside:avoid}.stock-print-meta{grid-template-columns:repeat(4,1fr);gap:6px}.stock-print-note{font-size:8pt}}@media screen{.desktop-navigation{display:block}.mobile-navigation{display:none}}@media screen and (width<=760px){.desktop-navigation{display:none}.mobile-navigation{display:block}.mobile-navigation>summary{border:1px solid var(--border);cursor:pointer;border-radius:4px;min-height:44px;padding:10px}.mobile-navigation[open]{width:100%}.mobile-navigation[open]>.nav{grid-template-columns:1fr 1fr;gap:12px;display:grid;overflow:visible}.mobile-navigation:not([open])>.nav{display:none}}@media print{.desktop-navigation,.mobile-navigation{display:none}}@media screen{.detail-drawer .form-grid{gap:12px;display:grid}.detail-drawer .form-grid label{margin:0}}
