:root{--nav-width:258px;--ink:#172b46;--muted:#758399;--blue:#2866dc;--line:#e3e9f1}
*{box-sizing:border-box}body{margin:0;background:#f4f7fb;color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif}body:not(.login-page){padding-left:var(--nav-width)}
.app-sidebar{position:fixed;inset:0 auto 0 0;width:var(--nav-width);background:#14243c;color:#c7d2e4;display:flex;flex-direction:column;padding:30px 18px 20px;z-index:1040;overflow-y:auto}
.sidebar-brand{display:flex;gap:12px;align-items:center;color:#fff;text-decoration:none;font-size:13px;font-weight:750;letter-spacing:.3px;margin:0 8px 40px}.brand-mark{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:13px;background:#3478ee;color:#fff;font-size:16px;font-weight:800;letter-spacing:-.5px}.sidebar-brand small{display:block;font-size:10px;color:#91a4c0;letter-spacing:.3px;font-weight:400;margin-top:5px}
.sidebar-label{font-size:10px;font-weight:700;letter-spacing:1.8px;color:#8599b7;padding:0 14px;margin-bottom:12px}.setup-label{margin-top:30px}.sidebar-link{display:flex;align-items:center;gap:12px;color:#c0cde0;text-decoration:none;padding:12px 14px;margin:4px 0;border-radius:8px;font-size:13px;font-weight:500;transition:background .15s}.sidebar-link:hover{background:#203753;color:#fff}.sidebar-link.active{background:#2b65d5;color:white;box-shadow:0 5px 14px #07173133}.nav-icon{width:20px;font-size:20px;line-height:1;text-align:center}
.sidebar-account{margin-top:auto;padding:32px 14px 0}.account-name{color:#fff;font-size:14px;overflow-wrap:anywhere}.sidebar-account small{font-size:11px;color:#91a4c0}.signout-button{display:flex;justify-content:space-between;width:100%;background:none;border:1px solid #3c4e69;color:#c7d2e4;border-radius:7px;padding:9px 12px;margin-top:16px;font-size:12px}.signout-button:hover{background:#203753}
.app-header{display:flex;align-items:center;gap:16px;background:#fff;border-bottom:1px solid var(--line);padding:25px 34px}.header-breadcrumb{font-size:11px;color:var(--muted);margin-bottom:7px}.app-header h1{font-size:23px;font-weight:700;margin:0;letter-spacing:-.5px}.header-badge{margin-left:auto;background:#edf4ff;color:#4774b6;padding:7px 12px;border-radius:20px;font-size:11px}
body>.container{width:auto;max-width:none!important;margin:28px 32px!important;background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:0 4px 20px #243e6205;overflow-x:auto}.table{font-size:13px;vertical-align:middle}.table>:not(caption)>*>*{padding:13px 12px}.table-secondary{--bs-table-bg:#edf2f8;--bs-table-border-color:#e3e9f1;--bs-table-color:#536780}.table-striped{--bs-table-striped-bg:#f8fafd}.btn{border-radius:7px}.btn-primary,.bg-primary{background-color:var(--blue)!important}.btn-primary{border-color:var(--blue)}.form-label{font-size:13px;font-weight:600}.form-control,.form-select{border-color:#dce3ed}.card{border-color:var(--line);border-radius:9px}.dataTables_wrapper{margin-top:20px}.dataTables_wrapper .dataTables_filter input,.dataTables_wrapper .dataTables_length select{border:1px solid #dce3ed;border-radius:6px;padding:6px}.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_length,.dataTables_info,.dataTables_paginate{font-size:12px;color:#64748b!important;margin-bottom:16px}
.menu-toggle{display:none;background:#eef3fc;border:0;border-radius:7px;padding:6px 11px;color:var(--ink);font-size:22px}.sidebar-backdrop{position:fixed;inset:0;background:#10203980;border:0;z-index:1030}.sidebar-backdrop[hidden]{display:none}
.login-page{min-height:100vh;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(ellipse at 15% 15%,#dce9ff 0,transparent 45%),radial-gradient(ellipse at 95% 90%,#e2e9f7 0,transparent 45%),#f5f7fb}.login-card{width:100%;max-width:440px;background:white;border:1px solid #e2e9f2;border-radius:20px;padding:42px;box-shadow:0 20px 70px #26466d12}.login-card .brand-mark{margin-bottom:24px;width:50px;height:50px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;color:#6782a4;margin-bottom:12px}.login-card h1{font-size:29px;letter-spacing:-1px;margin:0 0 12px}.login-description{font-size:14px;line-height:1.7;color:#758399;margin-bottom:28px}.login-card label{display:block;font-size:13px;font-weight:600;margin:18px 0 9px}.login-card input:not([type=hidden]){width:100%;border:1px solid #d9e1ec;border-radius:8px;padding:13px;font:inherit;font-size:14px}.login-card input:focus{outline:3px solid #2866dc22;border-color:var(--blue)}.login-card small{display:block;font-size:11px;color:var(--muted);margin-top:8px}.login-submit{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:26px;border:0;border-radius:8px;padding:14px 17px;background:var(--blue);color:white;font-size:14px;font-weight:600;cursor:pointer}.login-submit:hover{background:#2056bd}.login-footer{text-align:center;margin:28px 0 0;font-size:11px;color:#8b97a9}.login-alert,.login-success{font-size:13px;line-height:1.6;padding:12px;border-radius:7px;background:#fff0ef;color:#a73535}.login-success{background:#eaf8ef;color:#287144}
@media(max-width:991px){body:not(.login-page){padding-left:0}.app-sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar-open .app-sidebar{transform:translateX(0)}.menu-toggle{display:block}.app-header{padding:20px}.header-badge{display:none}body>.container{margin:20px 16px!important;padding:18px}.app-header h1{font-size:21px}}
@media(max-width:480px){.login-card{padding:28px}.login-card h1{font-size:26px}}

#itemTable{width:100%!important;min-width:720px}

/* Group related pages beneath the Pharmacy Master menu. */
.sidebar-group>summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;padding:12px 10px;border-radius:8px;color:#c0cde0;font-size:13px;font-weight:600}
.sidebar-group>summary::-webkit-details-marker{display:none}
.sidebar-group>summary:hover{background:#203753;color:#fff}
.sidebar-group>summary:focus-visible{outline:2px solid #80adff;outline-offset:2px}
.master-group>summary{color:#c0cde0;background:transparent;font-size:14px}.master-group.has-active>summary{color:#b8d3ff;background:#203753;box-shadow:inset 3px 0 #74a7ff}
.group-chevron{margin-left:auto;font-size:22px;line-height:1;transition:transform .15s}
.sidebar-group[open]>summary>.group-chevron{transform:rotate(90deg)}
.sidebar-children{margin:8px 0 0 10px;padding-left:8px;border-left:1px solid #354963}
.sidebar-children .sidebar-link{padding:11px 8px;gap:8px;font-size:12px}
.category-group{margin:4px 0}
.category-group.has-active>summary{color:#a9c9ff}
.category-children{margin-left:12px;padding-left:6px;border-left:1px solid #354963}
.category-children .sidebar-link{font-size:11px;line-height:1.5}
.category-children .nav-icon{display:none}

.supplier-address,.supplier-contact{overflow-wrap:anywhere;max-width:280px}.supplier-address{margin-top:6px}
.procurement-group{margin-top:12px}.po-lines{min-width:950px}.po-lines th:first-child{width:32%}.po-lines .po-quantity,.po-lines .po-price{min-width:105px}.po-lines .po-pack-size{min-width:150px}.po-amount{white-space:nowrap}.po-notes{overflow-wrap:anywhere}
@media print{body:not(.login-page){padding:0;background:#fff}.app-sidebar,.app-header,.sidebar-backdrop,.no-print{display:none!important}body>.container{border:0;box-shadow:none;margin:0!important;padding:0}.table-responsive{overflow:visible}tr{break-inside:avoid}}
.document-header{display:flex;gap:22px;align-items:center;border-bottom:2px solid #243e62;padding-bottom:20px;margin-bottom:28px;break-inside:avoid;color:#172b46}.document-company{overflow-wrap:anywhere;min-width:0;font-size:13px;line-height:1.7}.document-company h2{font-size:25px;font-weight:750;margin:0 0 5px}.document-tagline{font-weight:600;margin-bottom:5px}.document-logo{max-width:120px;max-height:100px;object-fit:contain;flex-shrink:0}.document-header-center{flex-direction:column;text-align:center;gap:12px}.document-header-right{flex-direction:row-reverse;text-align:right}.print-header-preview{padding:24px;border:1px solid #e3e9f1;border-radius:8px;background:#fff;min-height:280px}.print-header-preview .document-header:not(.document-header-center){flex-wrap:wrap}
@media(max-width:575px){.document-header{flex-wrap:wrap}.document-header-right{justify-content:flex-start}.document-company h2{font-size:21px}}
@media print{.print-preview-column{width:100%!important}.print-header-preview{border:0;padding:0}.print-settings-layout{display:block}.document-header{flex-wrap:nowrap!important}.document-header-center{flex-direction:column}.document-company h2{font-size:24px}.document-header{color:#000;border-color:#000}}




/* In-app confirmations: no browser confirm/alert popups. */
.app-confirm{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #e3e9f1;border-radius:18px;padding:26px;background:#fff;color:#172b46;box-shadow:0 24px 80px #10203940;margin:auto;font-family:inherit}
.app-confirm::backdrop{background:#10203999;backdrop-filter:blur(3px)}
.confirm-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.confirm-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#fff0ef;color:#bd3c3c;font-size:24px;font-weight:700}.confirm-close{border:0;background:transparent;color:#758399;font-size:26px;line-height:1;padding:6px;border-radius:7px}.confirm-close:hover{background:#f0f4f8}
.confirm-brand{font-size:10px;font-weight:750;letter-spacing:1.5px;color:#758399;margin:0 0 9px}.app-confirm h2{font-size:23px;font-weight:700;letter-spacing:-.4px;margin:0 0 12px}.app-confirm #app-confirm-message{font-size:14px;color:#65758a;line-height:1.7;margin:0 0 25px}.confirm-actions{display:flex;justify-content:flex-end;gap:10px}.confirm-actions button{border-radius:8px;padding:10px 17px;font-size:13px;font-weight:600;cursor:pointer}.confirm-cancel{border:1px solid #dce3ed;background:#fff;color:#40526b}.confirm-cancel:hover{background:#f4f7fb}.confirm-accept{border:1px solid #c63e45;background:#c63e45;color:#fff}.confirm-accept:hover{background:#aa3037}.confirm-accept:disabled{opacity:.6;cursor:wait}.app-confirm[data-variant=approve] .confirm-icon{background:#eaf7ef;color:#24794b}.app-confirm[data-variant=approve] .confirm-accept{background:#24794b;border-color:#24794b}.app-confirm button:focus-visible{outline:3px solid #83afff;outline-offset:3px}
@media print{.app-confirm,.app-confirm::backdrop{display:none!important}}

.branch-context{padding:0 10px 22px;color:#c0cde0;font-size:12px}.branch-context label,.branch-context small{display:block;font-size:10px;color:#91a4c0;margin-bottom:6px}.branch-select{width:100%;border:1px solid #3c4e69;border-radius:6px;padding:8px;background:#203753;color:#fff;font-size:12px}.branch-switch{margin-top:7px;background:transparent;color:#b8d3ff;border:0;padding:0;font-size:11px}.sidebar-brand{margin-bottom:24px}
