:root{--primary:#0b5ed7;--ink:#102a43;--muted:#526983;--line:#dce5ef;--canvas:#f5f8fc;--font-main:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif;--font-display:"Inter","Segoe UI",Arial,sans-serif;font-family:var(--font-main);color:var(--ink);background:var(--canvas)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit;border:1px solid var(--line);border-radius:10px;background:#fff;min-height:46px;padding:10px 14px}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:hover:not(:disabled){background:#f0f5fc}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #68a5f5;outline-offset:3px}a{color:var(--primary);text-underline-offset:4px}svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.primary{display:inline-flex;align-items:center;justify-content:center;gap:14px;border-color:var(--primary);background:var(--primary);color:#fff;font-weight:650}.primary:hover:not(:disabled){background:#084fb8}.secondary{font-weight:600}.text-button{border:0;background:transparent;min-height:44px;padding:8px;color:var(--primary)}.app-header{display:flex;align-items:center;gap:22px;padding:18px 3%;background:white;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:25px;letter-spacing:-.7px}.brand img{border-radius:9px}.module-name{display:flex;align-items:center;gap:15px;border-left:1px solid #c7d5e4;padding-left:22px}.module-name strong{font-size:22px}.module-name>span{font-size:13px;color:var(--muted);max-width:230px}.header-meta{display:flex;align-items:center;gap:18px;margin-left:auto}.header-meta time{font-size:12px;color:var(--muted);white-space:nowrap}.back-link{font-size:12px;text-decoration:none}.badge{display:inline-flex;align-items:center;gap:8px;border-radius:24px;padding:8px 12px;font-size:12px;font-weight:600;line-height:1.4}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.positive{background:#e8f8f1;color:#087552}.neutral{background:#edf2f8;color:#526983}.warning{background:#fff3d9;color:#8a5500}.negative{background:#fff0ef;color:#ac252b}.info{background:#eaf2ff;color:#0b5ed7}main{max-width:1600px;padding:28px 32px 18px;margin:auto}.card{background:white;border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 18px #1f426008}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.6px}h1,h2,h3,p{margin-top:0}.subtitle{color:var(--muted);line-height:1.5;margin-bottom:0}.eyebrow{color:var(--primary);font-size:10px;font-weight:750;letter-spacing:1.4px;margin-bottom:9px}#locked{display:grid;grid-template-columns:1.15fr 1fr;gap:22px;align-items:stretch;min-height:640px}.wait{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:40px 34px 24px}.wait-content{position:relative;z-index:1;margin:auto 0;padding:38px 0}.wait h1{font-size:clamp(32px,3.1vw,48px);line-height:1.18;max-width:480px;margin:25px 0 16px}.wait-count{font-size:18px;color:var(--muted)}.privacy-note{margin-top:30px;max-width:480px}.privacy-note p{font-size:13px;line-height:1.7;margin:0}.privacy-note span{color:var(--muted)}.pharmacy-scene{position:absolute;right:-5px;top:0;width:65%;height:100%;opacity:.42;filter:blur(2px);transform:perspective(700px) rotateY(-12deg);transform-origin:right;background:#e9f2f4;border-left:12px solid #fff;mask-image:linear-gradient(to right,transparent,#000);pointer-events:none}.pharmacy-cross{font-size:100px;color:#b3d7d3;line-height:1;text-align:center;margin:30px}.shelf{height:120px;border-bottom:12px solid #c4d5da;display:flex;gap:16px;align-items:flex-end;padding:0 18px 8px;margin-bottom:20px}.shelf i{display:block;width:44px;height:72px;background:linear-gradient(#fff 30%,#9ec6cb 30%,#9ec6cb 52%,#fff 52%);border:1px solid #d6e2e5;border-radius:5px 5px 2px 2px;box-shadow:1px 4px 7px #c2cfd1}.shelf i:nth-child(even){height:88px;background:linear-gradient(#fff 25%,#bad7ca 25%,#bad7ca 43%,#fff 43%)}.shelf:nth-child(3) i{border-radius:14px 14px 4px 4px;height:65px}.capabilities{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:12px 0 24px}.capabilities>div{padding:16px 6px;border:1px solid #e0e9f2;background:#ffffffdf;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;font-size:12px;line-height:1.5}.capabilities svg{color:var(--primary)}.audio-panel{position:relative;border-top:1px solid var(--line);padding-top:17px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.audio-panel button{font-size:12px}.audio-panel>span{font-size:11px;color:var(--muted);flex:1;min-width:100px}.audio-panel .text-button{margin-left:auto}.login-card{padding:30px 36px;display:flex;flex-direction:column;justify-content:center}.login-card h2{font-size:32px;margin-bottom:7px}.login-card .subtitle{font-size:15px;margin-bottom:24px}label{display:block;font-size:13px;font-weight:600;margin-bottom:10px}input,select{width:100%;font-size:14px}select{height:48px}.pin-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.pin-label label{margin:0}.pin-label button{font-size:12px;text-decoration:underline}.pin-control{position:relative;height:62px;margin:3px 0 14px}.pin-control input{position:absolute;inset:0;z-index:2;width:100%;height:100%;opacity:0;cursor:text;caret-color:transparent}.pin-control:focus-within{outline:3px solid #68a5f5;outline-offset:3px;border-radius:10px}#pin-dots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;height:100%;pointer-events:none}#pin-dots span{display:grid;place-items:center;border:1px solid #d1ddeb;border-radius:10px;background:#fff}#pin-dots span:after{content:"";width:9px;height:9px;border-radius:50%;background:#d3dce6}#pin-dots span.filled:after{background:#102a43;width:11px;height:11px}#pin-dots span.filled{border-color:#89b2e8;background:#f6f9ff}.pin-control:has(input:disabled){opacity:.5}#keys{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}#keys button{height:49px;font-size:21px;font-weight:600;background:#fafcfe}#keys button.key-action{font-size:13px;background:#eef3f8}#keys button:hover:not(:disabled){border-color:#8fb8ed;background:#edf4ff}#enter{width:100%;margin-top:16px;min-height:52px;font-size:16px}#enter>span{font-size:23px}.secure-note{font-size:11px;color:var(--muted);text-align:center;margin:19px 0 0;line-height:1.6}.notice{border:1px solid #f0c8cb;background:#fff3f3;color:#9c2830;padding:13px 18px;border-radius:10px;margin-bottom:18px;font-size:13px;line-height:1.6}.desk-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:6px 0 26px}.desk-heading h1{font-size:28px;margin-bottom:7px}.operator-session{display:flex;align-items:center;gap:12px}.operator-session small,.operator-session strong{display:block;font-size:12px}.operator-session small{color:var(--muted);margin-bottom:4px}.operator-session button{font-size:12px;margin-left:8px}.avatar{display:grid;place-items:center;border-radius:50%;width:40px;height:40px;background:#e7effc;color:var(--primary);font-weight:700}.workspace{display:grid;grid-template-columns:350px minmax(0,1fr);gap:22px}.queue-card{padding:20px;height:fit-content}.queue-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.queue-heading h2{font-size:17px;margin:0}.count{border-radius:8px;padding:5px 9px;background:#eef3f8;font-size:12px}.filters{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:16px}.filters button{font-size:11px;padding:9px;min-height:44px;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:6px}.filters button[aria-pressed=true]{border-color:var(--primary);background:#edf4ff;color:var(--primary);font-weight:700}.filters span{font-variant-numeric:tabular-nums}#order-search{font-size:12px;background:#f9fbfd;margin-bottom:14px}#queue{max-height:58vh;overflow:auto;scrollbar-width:thin}#queue button{display:block;width:100%;text-align:left;margin:0 0 9px;padding:15px;border-radius:10px}#queue button.selected{border-color:#82afe9;background:#f2f7ff;box-shadow:inset 3px 0 var(--primary)}.queue-number{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.queue-patient{font-size:14px;font-weight:600;margin:10px 0 7px}.queue-code{font-size:11px;color:var(--muted)}.queue-footnote{font-size:10px;color:var(--muted);margin:17px 0 0}.empty-state{padding:40px 15px;text-align:center;color:var(--muted)}.empty-state h2{color:var(--ink);font-size:22px}.empty-state p{line-height:1.6;font-size:13px}#detail{padding:28px;min-height:440px}.detail-heading{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);gap:20px;padding-bottom:20px}.detail-heading h2{font-size:24px;margin:0}.detail-heading .eyebrow{margin-bottom:8px}.patient-card{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;padding:20px 0}.patient-card small{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}.patient-card strong{display:block;font-size:16px}.patient-card p{font-size:12px;color:var(--muted);margin:7px 0 0}.section-title{display:flex;justify-content:space-between;align-items:center;background:#f6f9fc;padding:12px 14px;border-radius:8px}.section-title h3{font-size:13px;margin:0}.section-title small{font-size:10px;color:var(--muted)}.medication{padding:18px 3px;border-bottom:1px solid var(--line)}.medication-title{display:flex;justify-content:space-between;align-items:center;gap:18px}.medication-title strong{font-size:14px}.quantity{font-size:12px;font-weight:650;background:#eef4fc;padding:7px 10px;border-radius:8px;white-space:nowrap}.medication dl{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:14px 0 0}.medication dt{font-size:10px;color:var(--muted);margin-bottom:4px}.medication dd{font-size:12px;line-height:1.5;margin:0}.clinical-notes{font-size:12px;line-height:1.6;padding:15px 3px;color:var(--muted)}.clinical-notes p:last-child{margin-bottom:0}.actions{display:flex;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px;margin-top:18px}.actions button{font-size:13px;min-height:48px}.actions .primary{margin-left:auto}.signature{margin-top:90px;border-top:1px solid #64748b;padding-top:14px;text-align:center}#prescription{background:white;padding:30px;max-width:900px;margin:20px auto}footer{max-width:1600px;margin:0 auto;padding:20px 32px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px;line-height:1.7}footer i{font-style:normal;padding:0 8px;color:#8fa5bc}dialog{border:1px solid var(--line);border-radius:16px;padding:26px;max-width:490px;width:calc(100% - 36px);color:var(--ink);box-shadow:0 20px 70px #102a4326}dialog::backdrop{background:#102a4359}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.dialog-heading h2{font-size:22px;margin:0}.dialog-heading button{font-size:25px}dialog p{font-size:14px;line-height:1.7}dialog form{text-align:right;margin-top:22px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(min-width:1700px){#locked{min-height:730px}.wait{padding:45px}.login-card{padding:42px}.login-card h2{font-size:36px}.pin-control{height:70px}#keys button{height:58px}.capabilities>div{padding:20px 8px}.wait-content{padding:50px 0}}
@media(max-width:1250px){.app-header{gap:15px}.header-meta{gap:10px}.module-name{padding-left:15px;gap:9px}.module-name>span{display:none}.header-meta time{font-size:11px}.header-meta .badge{font-size:10px}main{padding:22px}#locked{gap:18px}.wait{padding:27px 24px 20px}.login-card{padding:26px}.wait h1{font-size:35px}.capabilities{gap:8px}.capabilities>div{font-size:11px}.workspace{grid-template-columns:300px minmax(0,1fr)}.medication dl{grid-template-columns:repeat(2,1fr)}}
@media(max-width:950px){.header-meta time,.back-link{display:none}.brand{font-size:22px}.module-name strong{font-size:20px}#locked{grid-template-columns:1fr;max-width:650px;margin:auto;min-height:auto}.wait-content{padding:12px 0}.wait h1{max-width:none;font-size:30px;margin:18px 0 12px}.wait-count{font-size:16px}.privacy-note{margin-top:16px}.capabilities{margin:22px 0 16px}.pharmacy-scene{width:50%}.login-card{padding:28px}.workspace{grid-template-columns:270px minmax(0,1fr);gap:14px}#detail{padding:20px}.patient-card{grid-template-columns:1fr}.detail-heading{gap:12px}.detail-heading h2{font-size:20px}.operator-session .avatar{display:none}.desk-heading{align-items:flex-start;flex-wrap:wrap}.actions .primary{margin-left:0}.actions button{width:100%}footer{flex-wrap:wrap}}
@media(max-width:650px){.app-header{padding:14px 18px;gap:12px;flex-wrap:wrap}.brand{font-size:20px}.brand img{width:30px;height:30px}.module-name strong{font-size:18px}.header-meta{gap:10px;margin-left:0;width:100%;justify-content:space-between}.header-meta time{display:block}.header-meta .text-button{min-height:32px}main{padding:16px 12px}.wait,.login-card{padding:24px 20px}.wait h1{font-size:29px}.capabilities>div{font-size:10px;padding:12px 3px}.login-card h2{font-size:28px}.pin-label{gap:5px}.pin-label button{font-size:11px}.pin-label label{font-size:12px}#pin-dots{gap:6px}.workspace{grid-template-columns:1fr}#queue{max-height:300px}.operator-session{flex-wrap:wrap}.operator-session button{margin-left:0}footer{padding:14px 18px}.detail-heading{flex-wrap:wrap}.medication-title{align-items:flex-start}}
@media print{@page{size:A4;margin:18mm}body{background:white;color:black}.app-header,#error,#locked,#desk,footer,dialog{display:none!important}main{padding:0;max-width:none}#prescription{display:block!important;padding:0;margin:0;max-width:none}#prescription button{display:none}.signature{margin-top:65mm}h1{font-size:22px}.medication{break-inside:avoid}.quantity{background:white}.medication dl{grid-template-columns:repeat(4,1fr)}}

.status-caption{font-size:11px!important;color:var(--muted);border-left:1px solid var(--line);padding-left:12px;max-width:150px!important}.module-name{flex-wrap:wrap}.header-meta{flex-shrink:0}@media(max-width:1450px){.module-name>span:not(.status-caption){display:none}.header-meta{gap:10px}.app-header{gap:16px}}

.module-name>.status-caption{display:block}

/* Installed iPad terminal: safe areas, touch targets and both orientations. */
@media screen {
 body{min-height:100vh;min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
 button,a,input,select{touch-action:manipulation}
 .workspace>*{min-width:0}#detail,.queue-patient,.clinical-notes{overflow-wrap:anywhere}
 dialog{max-height:calc(100dvh - 40px);overflow:auto}
}
@media screen and (pointer:coarse) {
 input,select,#order-search{font-size:16px}
 button,.text-button{min-height:48px}
 #keys button{height:52px}.back-link{display:inline-flex;align-items:center;min-height:48px}
}
@media screen and (min-width:951px) and (max-width:1400px) and (max-height:900px) {
 .app-header{padding:10px 22px}.header-meta time{display:none}
 main{padding:16px 22px 8px}#locked{min-height:0}
 .wait,.login-card{padding:22px}.wait-content{padding:18px 0}
 .login-card h2{font-size:28px}.login-card .subtitle{margin-bottom:16px}
 .pin-label{margin-top:12px}.pin-control{height:52px;margin-bottom:10px}
 #keys button{height:48px}#enter{margin-top:12px}.secure-note{margin-top:12px}
 footer{padding:10px 22px}
}
@media screen and (min-width:651px) and (max-width:950px) {
 #locked{max-width:760px;gap:16px}.wait{padding:18px 24px}
 .wait-content{padding:0}.wait h1{font-size:25px;margin:10px 0}
 .wait-count{font-size:15px;margin-bottom:8px}.privacy-note{margin-top:8px}
 .capabilities,.pharmacy-scene{display:none}.audio-panel{margin-top:12px;padding-top:12px}
 .login-card{padding:22px 32px}.login-card .subtitle{margin-bottom:16px}
 .workspace{grid-template-columns:250px minmax(0,1fr)}
 .operator-session{flex-wrap:wrap}.section-title{flex-wrap:wrap;gap:8px}
}

/* Status colors match Clinical while retaining readable text labels. */
.badge.indigo{color:#5145a0;background:#f0edff}.badge.cyan{color:#0e6579;background:#ecfeff}.badge.orange{color:#9a3412;background:#fff1e6}.badge.teal{color:#0f766e;background:#f0fdfa}.badge.negative{color:#b91c1c;background:#fef2f2}
.pos-timers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;padding:12px;background:#f5f8fc;border:1px solid #dce5ef;border-radius:12px;text-align:left}.pos-timers>span{display:grid;gap:4px}.pos-timers small{font-size:11px;color:#52647d}.pos-timers strong,.pos-history strong{font-variant-numeric:tabular-nums;font-size:14px}#queue .pos-timers{grid-template-columns:1fr;margin:12px 0 0;gap:8px}
.pos-history{margin:24px 0}.pos-history ol{list-style:none;padding:0;display:grid;gap:12px}.pos-history li{border-left:3px solid #dce5ef;padding:8px 12px;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.pos-history time{font-size:12px;color:#52647d}.pos-history p{width:100%;font-size:12px;margin:0}#history-pages{align-items:center;justify-content:space-between;font-size:12px}
