:root{--brand:#087f8c;--brand-dark:#075f69;--ink:#17343b;--muted:#61777c;--line:#d7e6e8;--surface:#fff;--bg:#eef5f5;--danger:#a62b2b;--ok:#087548;--warn:#a45c00}
body{background:var(--bg);color:var(--ink)}header{background:linear-gradient(120deg,var(--brand-dark),var(--brand));min-height:64px;align-items:center;box-shadow:0 3px 14px #17343b30}main{max-width:1440px;padding:20px}.panel{border:1px solid #dce9ea;box-shadow:0 3px 16px #17343b12}.role-banner{display:flex;gap:12px;align-items:center;justify-content:space-between}.role-title{font-size:1.2rem;font-weight:750}.role-help{color:var(--muted);margin:.35rem 0 0}.stepbar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.step{background:#e7f1f2;color:#36585e;padding:7px 11px;border-radius:999px;font-size:.85rem}.step.active{background:var(--brand);color:white}.queue-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.queue-count{background:#e2f2f3;padding:5px 10px;border-radius:999px;font-weight:700}.primary-action{background:var(--brand);font-weight:700}.secondary-action{background:#526c72}.touch-form input,.touch-form select,.touch-form button{min-height:46px}.clinical-core{display:grid;gap:12px}.clinical-core textarea{min-height:90px}.clinical-optional{margin:10px 0;border:1px solid var(--line);border-radius:10px;padding:10px}.clinical-optional summary{cursor:pointer;font-weight:700}.payment-total{font-size:2rem;font-weight:800;color:var(--brand);margin:10px 0}.payment-methods{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px}.payment-methods label{border:2px solid var(--line);border-radius:10px;padding:12px;cursor:pointer}.payment-methods label:has(input:checked){border-color:var(--brand);background:#eaf7f7}.payment-methods input{min-width:auto}.production-dialog{max-width:680px}.production-dialog form{display:grid;gap:12px}.production-dialog textarea{min-height:130px}.status-paid{color:var(--ok);font-weight:750}.status-waiting{color:var(--warn);font-weight:750}button:disabled{opacity:.55;cursor:not-allowed}.flash-fixed{position:sticky;top:72px;z-index:3}.role-doctor #catalogPanel,.role-doctor #nativeOpsPanel,.role-doctor #staffPanel,.role-reception #catalogPanel,.role-reception #nativeOpsPanel,.role-reception #staffPanel,.role-lab #catalogPanel,.role-lab #nativeOpsPanel,.role-lab #staffPanel,.role-imaging #catalogPanel,.role-imaging #nativeOpsPanel,.role-imaging #staffPanel{display:none!important}
@media(max-width:820px){main{padding:10px}.panel{padding:14px;margin:10px 0;border-radius:12px}header{padding:12px 14px}header strong{font-size:.95rem}.touch-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.touch-form input,.touch-form select,.touch-form button{width:100%;min-width:0}.touch-form [name=chief_complaint],.touch-form [name=assigned_doctor_id],.touch-form button{grid-column:1/-1}table{min-width:680px}dialog{width:96%;padding:16px}.payment-methods{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.touch-form{grid-template-columns:1fr}.touch-form>*{grid-column:1!important}.payment-methods{grid-template-columns:1fr}.role-help{font-size:.88rem}}
.warning-box{background:#fff4dc;border:1px solid #e3bd6c;color:#754500;padding:12px;border-radius:10px}.confirm-box{display:flex;gap:8px;align-items:flex-start}.confirm-box input{min-width:auto;margin-top:4px}#shiftPanel .actions{margin-bottom:10px}
.order-box{border:2px solid var(--line);border-radius:12px;padding:12px}.order-box label{display:grid;gap:6px}.order-box span{color:var(--muted);font-size:.88rem}.order-box textarea{min-height:110px}.pharmacy-box{border-color:#78b9a4;background:#f2fbf7}.lab-box{border-color:#79aeca;background:#f3f9fc}.imaging-box{border-color:#b69acb;background:#faf7fc}
.pending-orders{display:grid;gap:7px;min-width:280px}.pending-orders>div{padding:7px;border-bottom:1px solid var(--line)}
.catalog-match-results{display:grid;gap:8px;max-height:55vh;overflow:auto;margin:12px 0}.catalog-match-results button{text-align:left;background:#f4f9f9;color:var(--ink);border:1px solid var(--line)}
.direct-search-results{max-height:42vh}.direct-search-row{display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#f4f9f9}.direct-search-row span{flex:1}.direct-search-row button{flex:0 0 auto;min-width:112px;text-align:center;background:var(--brand);color:#fff}.direct-search-row button:disabled{background:#dcebea;color:#37666a;cursor:default}.direct-add-feedback{min-height:1.5em;margin-top:8px;color:#087548;font-weight:700}.direct-cart-summary{position:sticky;bottom:0;z-index:1;margin:10px 0;padding:10px 12px;border:2px solid var(--brand);border-radius:10px;background:#fff;font-weight:700;color:var(--brand);box-shadow:0 -2px 8px #17343b18}
.injection-box{border-color:#dc9a72;background:#fff8f3}.rx-row{display:grid;grid-template-columns:28px minmax(80px,.7fr) minmax(170px,2fr) minmax(75px,.7fr) minmax(90px,.8fr) auto;gap:7px;align-items:center;margin-top:7px}.pharmacy-box .rx-row{grid-template-columns:28px minmax(190px,2fr) minmax(110px,1fr) minmax(75px,.7fr) auto}.rx-row input,.rx-row select{min-width:0;width:100%}@media(max-width:700px){.rx-row,.pharmacy-box .rx-row{grid-template-columns:28px 1fr 1fr}.rx-row input[name="injection_name"],.rx-row input[name="oral_name"]{grid-column:2/-1}}
.role-pharmacy_cashier #summary,.role-pharmacy_cashier #catalogPanel,.role-pharmacy_cashier #nativeOpsPanel,.role-pharmacy_cashier #staffPanel,.role-pharmacy_cashier #notificationPanel{display:none!important}.cashier-queue-label{display:grid;grid-template-columns:minmax(130px,.35fr) minmax(280px,1fr);gap:12px;align-items:center}.cashier-queue-label select{min-height:48px;font-size:1.05rem}.cashier-bill-workspace{margin-top:16px;padding:16px;border:2px solid var(--line);border-radius:12px;background:#fbfefe}.cashier-patient{font-size:1.15rem}.cashier-bill-actions{margin-top:18px}.cashier-bill-actions .primary-action{font-size:1.08rem;padding:12px 20px}.cashout-funding-row{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:8px;margin:8px 0}fieldset{border:1px solid var(--line);border-radius:10px}@media(max-width:700px){.cashier-queue-label,.cashout-funding-row{grid-template-columns:1fr}}
.role-owner #summary{display:none!important}.owner-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:14px;margin:18px 0}.owner-dashboard-grid .card h3{margin-bottom:12px}.metric-row{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--line)}.owner-controls{display:flex;gap:10px;flex-wrap:wrap}.owner-kpis .card{border-top:4px solid var(--brand)}@media(max-width:700px){.owner-dashboard-grid{grid-template-columns:1fr}}

.operations-group{display:grid;gap:14px;margin:14px 0}.operations-dropdown{background:var(--surface);border:1px solid #dce9ea;border-radius:14px;box-shadow:0 3px 16px #17343b12;overflow:hidden;margin:14px 0}.operations-dropdown>summary{cursor:pointer;list-style:none;min-height:58px;padding:17px 52px 17px 18px;font-size:1.08rem;font-weight:750;display:flex;align-items:center;position:relative}.operations-dropdown>summary::-webkit-details-marker{display:none}.operations-dropdown>summary::after{content:'▾';position:absolute;right:20px;font-size:1.25rem;transition:transform .18s ease}.operations-dropdown[open]>summary::after{transform:rotate(180deg)}.operations-dropdown>summary:focus-visible{outline:3px solid #56aeb8;outline-offset:-3px}.operations-dropdown-body{padding:0 18px 18px}.operations-dropdown-body>.panel{box-shadow:none;border:0;padding:0;margin:0;background:transparent}.operations-dropdown.operations-plain{border:0;box-shadow:none;background:transparent;overflow:visible}.operations-dropdown.operations-plain>summary{display:none}.operations-dropdown.operations-plain>.operations-dropdown-body{padding:0}.operations-dropdown.operations-plain>.operations-dropdown-body>.panel{background:var(--surface);border:1px solid #dce9ea;box-shadow:0 3px 16px #17343b12;padding:18px;margin:14px 0}.operations-dropdown-body>h3:first-child{display:none}@media(max-width:820px){.operations-dropdown{margin:10px 0;border-radius:12px}.operations-dropdown>summary{min-height:54px;padding:14px 46px 14px 14px}.operations-dropdown-body{padding:0 14px 14px}}

.diagnosis-picker{border:2px solid #4b9aa3;border-radius:12px;padding:12px;background:#f3fbfc;display:grid;gap:9px}.diagnosis-picker>span{color:var(--muted);font-size:.88rem}.diagnosis-controls{display:grid;grid-template-columns:minmax(220px,1fr) 150px;gap:8px}.diagnosis-options{display:flex;flex-wrap:wrap;gap:6px;max-height:210px;overflow:auto}.diagnosis-options strong{flex-basis:100%;font-size:.9rem}.diagnosis-options button{background:white;color:var(--ink);border:1px solid #93c6cc;text-align:left;padding:7px 9px}.diagnosis-options button small{display:block;color:var(--muted);margin-top:2px}.diagnosis-picker textarea[name="diagnosis"]{min-height:90px}@media(max-width:700px){.diagnosis-controls{grid-template-columns:1fr}.diagnosis-options{max-height:180px}}
.complaint-picker{grid-column:1/-1;border:2px solid #78b9a4;border-radius:12px;padding:12px;background:#f2fbf7;display:grid;gap:9px}.complaint-picker>span{color:var(--muted);font-size:.9rem}.complaint-buttons{display:flex;flex-wrap:wrap;gap:7px}.complaint-buttons button,.selected-complaints button{background:white;color:var(--ink);border:1px solid #78b9a4;min-height:44px}.complaint-buttons button.selected{background:var(--brand);color:white}.pain-locations{padding:9px;border-radius:9px;background:#fff8f3}.pain-locations strong{flex-basis:100%}.other-complaint{display:grid;grid-template-columns:1fr auto;gap:7px}.selected-complaints{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.selected-complaints strong{flex-basis:100%}.selected-complaints button{background:#e1f3ed}@media(max-width:480px){.other-complaint{grid-template-columns:1fr}.complaint-buttons button{flex:1 1 auto}}
.complaint-card{margin:10px 0;padding:10px 12px;border-radius:10px;background:#f2fbf7;border:1px solid #78b9a4}.complaint-card ul{margin:6px 0 0;padding-left:24px}
.counter-note-box{border-color:#e0ad36;background:#fffaf0}.counter-note{margin-top:12px;padding:12px 14px;border-left:5px solid #d39100;border-radius:8px;background:#fff6d8;white-space:pre-wrap}
.doctor-emr{margin:12px 0}.emr-safety-banner{display:grid;gap:7px;background:#fff0f0;border:2px solid #b02f2f;color:#6f1717;padding:13px;border-radius:10px}.emr-profile{margin-top:10px;border:2px solid var(--line);border-radius:10px;padding:11px}.emr-profile>summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.emr-facts{display:grid;gap:8px;margin:10px 0}.emr-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:10px;border-top:1px solid var(--line)}.emr-form label{display:grid;gap:5px}.emr-wide{grid-column:1/-1}#fulfilClinicalSafety{margin:10px 0}@media(max-width:700px){.emr-form{grid-template-columns:1fr}.emr-wide{grid-column:1}.emr-profile button,.emr-form input,.emr-form select,.emr-form textarea{min-height:46px}}
.item-master-filters{margin:14px 0;padding:12px;background:#eff9fa;border-radius:12px}.item-editor{margin:12px 0;border:1px solid var(--line);border-radius:10px;padding:10px}.item-editor>summary{cursor:pointer;font-weight:700;min-height:44px}.item-pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:12px}.stock-ok{color:#087548;font-weight:700}.stock-low{color:#a56600;font-weight:700}.stock-out{color:#a32;font-weight:700}.item-master-table .actions{min-width:210px}.item-master button{min-height:44px}@media(max-width:820px){.item-master-filters{display:grid;grid-template-columns:1fr}.item-master-filters>*{width:100%}.item-master .queue-heading{display:grid;gap:12px}}
.owner-dashboard-v2{border-top:6px solid var(--brand)}.dashboard-section{border:1px solid var(--line);border-radius:12px;margin:12px 0;overflow:hidden;background:#fff}.dashboard-section>summary{cursor:pointer;min-height:54px;padding:15px 18px;font-weight:800;color:#075f69;background:#edf8f9}.dashboard-section>summary:focus-visible{outline:3px solid #56aeb8}.dashboard-section>.card,.dashboard-section>.grid{border:0;margin:0;border-radius:0}.dashboard-alert{display:flex;justify-content:space-between;padding:10px;border-left:5px solid #789;margin:7px 0;background:#f3f6f8}.status-green{border-color:#16834d;background:#effaf4}.status-amber{border-color:#d39100;background:#fff8e5}.status-red{border-color:#b02f2f;background:#fff0f0}.dashboard-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.dashboard-choices label{min-height:46px;padding:10px;border:1px solid var(--line);border-radius:8px}.dashboard-shortcut button,#customizeDashboardBtn{min-height:46px}@media(max-width:700px){.dashboard-choices{grid-template-columns:1fr}.owner-dashboard-v2 .queue-heading{display:grid;gap:10px}.dashboard-section>summary{min-height:58px}.owner-dashboard-v2 button{min-height:48px}}
.receipt-detail-row{cursor:pointer}.receipt-detail-row:hover{background:#f1f6fb}.receipt-number-link{min-height:0;padding:0;background:transparent;color:#174f8c;text-align:left}.receipt-number-link:hover{text-decoration:underline}.receipt-detail-drawer{overflow:auto}.receipt-drawer-head{position:sticky;top:-24px;z-index:2;display:flex;justify-content:space-between;align-items:start;background:#fff;border-bottom:1px solid var(--line);padding:18px 0 12px;margin-bottom:14px}.receipt-meta-grid,.receipt-total-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.receipt-meta-grid>div,.receipt-total-grid>*{display:grid;padding:10px;border:1px solid var(--line);border-radius:8px}.receipt-meta-grid small{color:var(--muted)}.receipt-training-badge,.receipt-adjustment-warning{padding:10px;border-left:5px solid #a15c00;background:#fff8e5;color:#704000;font-weight:700}.return-line-list{display:grid;gap:10px}.return-line{border:1px solid var(--line);border-radius:10px;padding:12px}.return-line label,#receiptReturnForm>label{display:grid;gap:5px;margin:8px 0}.return-line>label:first-child{display:flex;align-items:center}.return-preview{display:grid;gap:7px;margin:12px 0;padding:12px;border:2px solid #2e7d32;border-radius:10px;background:#effaf4}.return-preview span{display:block}@media(max-width:600px){.receipt-meta-grid,.receipt-total-grid{grid-template-columns:1fr}.receipt-detail-drawer table{min-width:720px}}


/* Owner Supplier AP analytics */
.dashboard-ap-section{grid-column:1/-1}.supplier-ap-explainer{display:grid;gap:5px;margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f6fafb}.supplier-ap-explainer small{color:var(--muted);line-height:1.5}.supplier-ap-chart-grid{display:grid;grid-template-columns:minmax(180px,240px) minmax(260px,1fr);gap:24px;align-items:center;margin:12px 0 18px}.supplier-ap-donut{width:210px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;margin:auto;position:relative}.supplier-ap-donut::after{content:"";position:absolute;inset:30%;border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--line)}.supplier-ap-donut>div{position:relative;z-index:1;display:grid;gap:3px;text-align:center}.supplier-ap-donut strong{font-size:1.05rem}.supplier-ap-donut small{color:var(--muted)}.supplier-ap-legend{display:grid;gap:7px}.supplier-ap-legend-row{display:grid;grid-template-columns:12px minmax(120px,1fr) auto 58px;gap:8px;align-items:center;padding:5px 0;border-bottom:1px solid #edf1f2}.supplier-ap-legend-row small{text-align:right;color:var(--muted)}.supplier-ap-swatch{width:12px;height:12px;border-radius:3px}.supplier-ap-table-wrap{margin:8px 0 18px}.supplier-ap-table{min-width:1080px}.supplier-ap-table th{white-space:nowrap}.supplier-ap-table td:nth-child(n+2){text-align:right;white-space:nowrap}.supplier-ap-progress{width:140px;height:6px;margin-top:7px;border-radius:999px;overflow:hidden;background:#e7ecee}.supplier-ap-progress i{display:block;height:100%;background:#2e7d32;border-radius:inherit}@media(max-width:700px){.supplier-ap-chart-grid{grid-template-columns:1fr}.supplier-ap-donut{width:180px}.supplier-ap-legend-row{grid-template-columns:12px minmax(100px,1fr) auto 48px}.dashboard-ap-section{grid-column:auto}}
