:root{--accent:#009db4;--accent-2:#00798c;--orange:#eb641f;--green:#178b8e}
body{background:#f3f7f8}.hospital-demo-banner{min-height:32px;background:#006b7d;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 22px;font-size:10px;letter-spacing:1.3px;font-weight:750}.hospital-demo-banner span{font-size:9px;opacity:.85}
.login-shell{min-height:calc(100vh - 32px);background:radial-gradient(ellipse at 15% 10%,#e7f5f5,transparent 55%),linear-gradient(150deg,#f8fbfc,#e8f0f2)}
.login-card{border:1px solid #dae7e9;border-radius:24px;box-shadow:0 22px 70px #214e5a13;padding:48px;max-width:620px}
.login-card .login-store-logo{width:100%!important;max-width:460px!important;height:auto!important;object-fit:contain;margin:0 auto 35px;filter:none!important}
.login-card h1{font-size:42px;line-height:1.15;color:#294852;margin:16px 0}.login-card h1 span{display:block;font-size:20px;font-weight:450;color:#637d83;margin-top:12px}
.login-card .eyebrow{color:#008ca1;font-size:10px;letter-spacing:2px}.login-card input{min-height:52px}.login-card .primary{min-height:48px;background:#008da2;color:#fff}
.sidebar .store-logo{background:#fff!important;border-radius:10px;padding:13px 10px!important;margin-bottom:18px;display:flex;flex-direction:column;gap:9px}
.sidebar .store-logo img{width:100%!important;max-width:225px!important;height:auto!important;filter:none!important;object-fit:contain}.sidebar .store-logo span{display:block!important;color:#52676a;letter-spacing:4px;font-size:10px}
.hospital-quick-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:10px 0 12px}.hospital-quick-heading h3{margin:3px 0}.hospital-quick-heading .eyebrow{margin:0;color:#00899c;font-size:9px;letter-spacing:1.4px}
.hospital-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.hospital-quick-item{display:flex;flex-direction:column;justify-content:space-between;gap:9px;min-height:80px;text-align:left;border:1px solid #cfe3e7!important;border-radius:10px!important;background:#f4fafb!important;color:#244f5c!important;padding:11px!important}.hospital-quick-item span{font-size:12px;font-weight:650;line-height:1.3}.hospital-quick-item b{color:#008397;font-size:15px}.hospital-quick-item:hover{background:#e6f4f6!important;border-color:#009db4!important}
.hospital-dept-title{font-size:16px;margin:25px 0 12px}#department-buttons{gap:9px!important}#department-buttons button{min-height:74px!important;font-size:13px!important;border-radius:10px!important;line-height:1.3!important}
.product-card{position:relative;overflow:hidden;border-radius:12px!important;min-height:160px!important;padding:12px!important}.product-card-name{font-size:14px!important;line-height:1.3!important}.hospital-product-image{width:100%;height:76px;object-fit:contain;border-radius:7px;margin-bottom:8px;background:#f4f8f9}.product-card-brand{display:none!important}.product-card-upc{font-size:9px!important}.product-card-requirement{font-size:10px!important}.hospital-restricted{border:2px solid #9c5169!important;background:#fff8fb!important}
#product-search{font-size:17px;min-height:48px}.rc .rc-hero{background:linear-gradient(125deg,#eff8fa,#fff)}.rc .rc-badge{color:#00798c}.rc .rc-catalog button.active{background:#e4f4f7!important;color:#006b7d!important;border-color:#009db4!important}
.portal-login-logo,.application-brand img,.store-portal-logo img{filter:none!important;object-fit:contain!important;height:auto!important;background:#fff;border-radius:10px;padding:12px}.portal-login-logo{width:100%!important;max-width:570px!important}.portal-logo img{width:270px!important;max-width:45vw!important}.login-visual{background:linear-gradient(155deg,#edf9fb,#deecef)!important;color:#315462!important}.login-visual h1{color:#315462!important}.login-visual h1 span{color:#008fa4!important}.login-visual .trust-row span{background:#fff;color:#326672;border:1px solid #c8e2e7}.application-brand img{max-width:380px!important}.application-brand b{color:#315462}
body.dark{background:#13232b}body.dark .hospital-quick-item{background:#203842!important;color:#e4f4f7!important}body.dark .hospital-quick-item b{color:#73d3df}body.dark .hospital-restricted{background:#3d2633!important}
@media(max-width:1050px){.hospital-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hospital-quick-item{min-height:66px}}
@media(max-width:700px){.hospital-demo-banner{padding:8px 12px;font-size:8px;letter-spacing:.7px}.hospital-demo-banner span{font-size:7px}.login-card{padding:28px 22px}.login-card h1{font-size:34px}.login-card h1 span{font-size:17px}.hospital-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-logo img{width:195px!important}.hospital-product-image{height:62px}.product-card{min-height:148px!important}#department-buttons button{min-height:65px!important}}
[data-theme="dark"] body{background:#13232b}
[data-theme="dark"] .hospital-quick-item{background:#203842!important;color:#e4f4f7!important}
[data-theme="dark"] .hospital-quick-item b{color:#73d3df}
[data-theme="dark"] .hospital-restricted{background:#3d2633!important}
[data-theme="dark"] .hospital-dept-title{color:#d9edf1}
/* Let departments flow naturally inside a scrollable catalog; fixed grocery rows cannot hold the gift-shop assortment. */
#view-pos .catalog-panel{grid-template-rows:48px minmax(0,1fr)!important;height:calc(100dvh - 175px)!important}
#department-browser-screen{display:block!important;overflow-y:auto!important;overflow-x:hidden;min-height:0;padding-right:5px}
#department-browser-screen.hidden{display:none!important}
#view-pos #department-buttons{height:auto!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:none!important;grid-auto-rows:74px!important;overflow:visible!important;align-content:start}
#department-buttons button{height:74px!important;min-height:74px!important;box-shadow:none!important;background:var(--department-color)!important;text-shadow:none!important;border:0}
.hospital-quick-heading{min-height:46px;margin-top:18px}.hospital-quick-heading h3{display:block!important;font-size:18px}
.sidebar .store-logo img{filter:none!important;box-shadow:none!important}
.sidebar .store-logo span{color:#486a72!important;font-size:10px!important}
.sidebar{background:linear-gradient(180deg,#214c5b,#183b48)!important}
#view-pos .catalog-panel,#view-pos .sale-panel{border-color:#ccdde2!important;border-top-color:#008fa5!important;box-shadow:0 8px 26px #24536210!important}
html:not([data-theme="dark"]) .primary{background:#008ca1!important;color:#fff!important;box-shadow:none!important}
@media(max-width:900px) and (min-width:701px){#view-pos #department-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){#view-pos .catalog-panel{height:570px!important;min-height:570px!important}#view-pos #department-buttons{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:65px!important}#department-buttons button{height:65px!important;min-height:65px!important}.hospital-quick-heading{gap:8px}.hospital-quick-heading .soft{font-size:11px;padding:8px}.hospital-demo-banner{padding-right:175px;min-height:38px}.hospital-demo-banner span{display:none}.hospital-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.receipt-logo{display:block!important;width:250px!important;max-width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;background:#fff!important;padding:8px 0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.kiosk-store-logo{width:350px!important;max-width:85%!important;height:auto!important;object-fit:contain!important;background:#fff!important;padding:12px!important;border:0!important;border-radius:8px!important;box-shadow:none!important}
@media(max-width:700px){#nav button{display:flex!important;flex-direction:column!important;align-items:center;justify-content:center;font-size:9px!important;gap:3px!important;min-height:58px!important;padding:6px 2px!important}#nav button span{font-size:17px!important;width:auto!important;height:auto!important;padding:0!important;margin:0!important}.sidebar{min-height:64px!important}.hospital-demo-banner{position:relative}}
#view-pos #product-results{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:none!important;grid-auto-rows:190px!important;gap:10px!important;align-content:start!important;overflow-y:auto!important;padding:3px 3px 10px!important}
#view-pos #product-results .product-card{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;height:190px!important;min-height:190px!important;max-height:none!important;padding:10px!important;gap:5px!important}
#view-pos .hospital-product-image{height:62px!important;min-height:62px!important;flex:0 0 62px;margin:0!important}
#view-pos .product-card-name{display:block!important;white-space:normal!important;min-height:36px!important;height:auto!important;max-height:none!important;overflow:visible!important;line-height:1.3!important;font-size:12px!important;text-align:left!important}
#view-pos .product-card-meta{margin-top:auto!important;display:flex!important;align-items:center!important;gap:3px!important;flex-wrap:wrap!important}
#view-pos .product-card-requirement{display:block!important;white-space:normal!important;line-height:1.2!important;min-height:12px!important;font-size:9px!important}
@media(max-width:1050px){#view-pos #product-results{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:700px){#view-pos #product-results{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:186px!important}#view-pos #product-results .product-card{height:186px!important;min-height:186px!important}}
@media(max-width:700px){body:has(#view-reports.active) .topbar{min-height:118px!important;height:118px!important}}
.hospital-mobile-logo{display:none}
@media(max-width:700px){.hospital-demo-banner{background:#fff;padding:6px 174px 6px 10px;min-height:46px}.hospital-demo-banner strong{display:none}.hospital-demo-banner .hospital-mobile-logo{display:block;width:195px;max-width:100%;height:auto;object-fit:contain}}

/* Expanded hospital catalog: SQL-backed menus, counts and department finder. */
.hospital-quick-tabs{display:flex;gap:6px;margin:0 0 10px;flex-wrap:wrap}
.hospital-quick-tabs button{border:1px solid #cbdfe4!important;border-radius:20px!important;background:#fff!important;color:#395f69!important;padding:8px 12px!important;font-size:11px!important;min-height:34px}
.hospital-quick-tabs button[aria-selected="true"]{background:#007f93!important;border-color:#007f93!important;color:#fff!important}
.hospital-dept-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;margin-bottom:12px}.hospital-dept-toolbar h3{margin:0;white-space:nowrap}.hospital-dept-toolbar input{width:200px;min-width:100px;min-height:38px;font-size:12px}
#department-buttons button{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px!important}
#department-buttons button small{font-size:10px;opacity:.85;font-weight:450}#department-buttons button[hidden]{display:none!important}
.hospital-empty{padding:16px;border:1px dashed #bdd5dd;border-radius:10px;color:#557b87;font-size:12px}.hospital-empty[hidden]{display:none}
#view-pos #product-results{grid-auto-rows:214px!important}#view-pos #product-results .product-card{height:214px!important;min-height:214px!important}
#view-pos .product-card-name{font-size:12px!important;line-height:1.35!important;min-height:49px!important}
[data-theme="dark"] .hospital-quick-tabs button{background:#203842!important;color:#dbf0f4!important;border-color:#41616b!important}
[data-theme="dark"] .hospital-quick-tabs button[aria-selected="true"]{background:#008ca1!important;color:white!important}
@media(max-width:700px){.hospital-dept-toolbar{flex-direction:column;align-items:stretch;gap:8px}.hospital-dept-toolbar input{width:100%}.hospital-quick-tabs{gap:5px}.hospital-quick-tabs button{font-size:10px!important;padding:7px 10px!important}.hospital-quick-item{min-height:87px!important}#view-pos #product-results{grid-auto-rows:214px!important}}

/* Allow long department names and item counts to fit on narrow screens. */
#view-pos #department-buttons{grid-auto-rows:88px!important}
#department-buttons button{height:88px!important;min-height:88px!important}
@media(max-width:700px){#view-pos #department-buttons{grid-auto-rows:92px!important}#department-buttons button{height:92px!important;min-height:92px!important;font-size:12px!important;line-height:1.25!important}}
