:root{--ink:#16181d;--ink-soft:#5b6270;--ink-faint:#8b93a1;--line:#e3e6ec;--line-soft:#eef0f4;--paper:#ffffff;--ground:#f7f8fa;--brand:#12736b;--brand-dark:#0d5a54;--brand-wash:#e7f2f0;--warn:#9a5b06;--warn-wash:#fdf3e3;--danger:#a5271f;--danger-wash:#fceceb;--cold:#1f5f8b;--cold-wash:#e8f1f8;--radius:10px;--radius-sm:6px;--shadow:0 1px 2px rgba(22,24,29,0.05),0 4px 12px rgba(22,24,29,0.04);--font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font);background:var(--ground);color:var(--ink);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--brand-dark);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;line-height:1.25;letter-spacing:-.011em}h1{font-size:1.5rem}h2{font-size:1.125rem}h3{font-size:1rem}p{margin:0 0 .75rem}p:last-child{margin-bottom:0}.shell{min-height:100vh;display:flex;flex-direction:column}.wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 1.25rem}.wrap-narrow{max-width:640px}main.page{flex:1 1;padding:1.75rem 0 4rem}.masthead{background:var(--paper);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:20}.masthead-inner{display:flex;align-items:center;gap:1rem;min-height:60px}.logo{display:inline-flex;align-items:center;gap:.5rem;font-weight:650;font-size:1.0625rem;color:var(--ink);letter-spacing:-.02em;white-space:nowrap}.logo:hover{text-decoration:none}.logo span{color:var(--brand)}.masthead-search{flex:1 1;max-width:460px}.masthead-links{margin-left:auto;display:flex;align-items:center;gap:1rem;font-size:.875rem}.cart-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border-radius:999px;background:var(--brand-wash);color:var(--brand-dark);font-weight:550}.cart-pill:hover{text-decoration:none;background:#dbeae7}.footer{border-top:1px solid var(--line);background:var(--paper);padding:1.5rem 0 2.5rem;font-size:.8125rem;color:var(--ink-soft)}.footer-cols{display:flex;flex-wrap:wrap;gap:2rem 3rem}.footer h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);margin-bottom:.5rem}.footer ul{list-style:none;margin:0;padding:0}.footer li{margin-bottom:.3rem}.footer-legal{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--line-soft);color:var(--ink-faint);font-size:.75rem;max-width:62ch}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.125rem}.card+.card{margin-top:.875rem}.stack{display:flex;flex-direction:column;gap:.875rem}.stack-tight{gap:.5rem}.row{display:flex;align-items:center;gap:.75rem}.row-between{justify-content:space-between}.row-wrap{flex-wrap:wrap}.grow{flex:1 1}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint)}.small{font-size:.8125rem}.tiny{font-size:.75rem}.strong{font-weight:600}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.875rem}hr.rule{border:0;border-top:1px solid var(--line-soft);margin:1rem 0}.field{display:block;margin-bottom:.875rem}.field>label,.label{display:block;font-size:.8125rem;font-weight:550;color:var(--ink-soft);margin-bottom:.3rem}input:not([type]),input[type=date],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=text],input[type=time],select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.55rem .7rem}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:-1px;border-color:var(--brand)}input::placeholder,textarea::placeholder{color:var(--ink-faint)}textarea{min-height:6rem;resize:vertical}.otp-input{font-size:1.5rem;letter-spacing:.5em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.btn,.otp-input{text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:inherit;font-weight:550;padding:.55rem 1rem;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--brand);color:#fff;cursor:pointer}.btn:hover{background:var(--brand-dark);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--paper);color:var(--ink);border-color:var(--line)}.btn-secondary:hover{background:var(--ground)}.btn-quiet{background:transparent;color:var(--ink-soft);border-color:transparent;padding-left:.35rem;padding-right:.35rem}.btn-quiet:hover{background:var(--line-soft);color:var(--ink)}.btn-danger{background:var(--paper);color:var(--danger);border-color:#edd3d1}.btn-danger:hover{background:var(--danger-wash)}.btn-block{width:100%}.btn-sm{padding:.35rem .65rem;font-size:.8125rem}.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:var(--paper)}.qty button{font:inherit;border:0;background:transparent;color:var(--ink);padding:.3rem .6rem;cursor:pointer;line-height:1}.qty button:hover:not(:disabled){background:var(--line-soft)}.qty button:disabled{color:var(--ink-faint);cursor:not-allowed}.qty span{min-width:2rem;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.875rem}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .5rem;border-radius:999px;font-size:.6875rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.chip-rx{background:var(--warn-wash);color:var(--warn)}.chip-cold{background:var(--cold-wash);color:var(--cold)}.chip-otc{background:var(--brand-wash);color:var(--brand-dark)}.chip-blocked{background:var(--danger-wash);color:var(--danger)}.chip-neutral{background:var(--line-soft);color:var(--ink-soft)}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex:none}.dot-good{background:#2f8f52}.dot-warn{background:#c98a1e}.dot-bad{background:#c0433a}.detail-list{display:grid;grid-template-columns:minmax(7.5rem,11rem) 1fr;grid-gap:.45rem 1rem;gap:.45rem 1rem;margin:0;font-size:.875rem}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0}@media (max-width:30rem){.detail-list{grid-template-columns:1fr;gap:.15rem}.detail-list dd{margin-bottom:.5rem}}.plain-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.6rem;gap:.6rem}.plain-list>li{padding-bottom:.55rem;border-bottom:1px solid var(--line)}.note{border-radius:var(--radius-sm);padding:.7rem .85rem;font-size:.8438rem;border:1px solid transparent}.note-rx{background:var(--warn-wash);border-color:#f0dfc0;color:#6f4204}.note-cold{background:var(--cold-wash);border-color:#cfe0ee;color:#16455f}.note-error{background:var(--danger-wash);border-color:#edd3d1;color:#7d1e18}.note-good{background:var(--brand-wash);border-color:#cbe2de;color:var(--brand-dark)}.note-plain{background:var(--ground);border-color:var(--line);color:var(--ink-soft)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));grid-gap:.875rem;gap:.875rem}.product-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem;display:flex;flex-direction:column;gap:.4rem}.product-card:hover{border-color:#cfd4de;box-shadow:var(--shadow)}.product-card .name{font-weight:600;color:var(--ink);line-height:1.3}.product-card .composition{font-size:.8125rem;color:var(--ink-soft)}.product-card .price{margin-top:auto;padding-top:.4rem;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.price-strike{text-decoration:line-through;color:var(--ink-faint);font-weight:400;margin-right:.4rem}.saving{color:var(--brand-dark);font-weight:600}.line{display:flex;gap:.875rem;padding:.875rem 0;border-bottom:1px solid var(--line-soft)}.line:last-child{border-bottom:0;padding-bottom:0}.line:first-child{padding-top:0}.line-body{flex:1 1;min-width:0}.line-amount{text-align:right;white-space:nowrap}.line-amount,.totals{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.totals .t-row{display:flex;justify-content:space-between;gap:1rem;padding:.2rem 0;font-size:.875rem;color:var(--ink-soft)}.totals .t-row.t-total{margin-top:.4rem;padding-top:.6rem;border-top:1px solid var(--line);font-size:1rem;font-weight:650;color:var(--ink)}.timeline{list-style:none;margin:0;padding:0}.timeline li{position:relative;padding:0 0 1rem 1.5rem;border-left:2px solid var(--line)}.timeline li:last-child{border-left-color:transparent;padding-bottom:0}.timeline li:before{content:"";position:absolute;left:-6px;top:3px;width:10px;height:10px;border-radius:50%;background:var(--line);border:2px solid var(--paper)}.timeline li.done:before{background:var(--brand)}.timeline li.current:before{background:var(--warn)}.timeline .when{font-size:.75rem;color:var(--ink-faint)}.empty{text-align:center;padding:3rem 1rem;color:var(--ink-soft)}.empty h2{color:var(--ink);margin-bottom:.4rem}.two-col{display:grid;grid-template-columns:1fr 320px;grid-gap:1.25rem;gap:1.25rem;align-items:start}.sticky-side{position:-webkit-sticky;position:sticky;top:76px}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--line);margin-bottom:1.25rem;overflow-x:auto}.tabs a{padding:.5rem .75rem;color:var(--ink-soft);border-bottom:2px solid transparent;white-space:nowrap;font-size:.875rem}.tabs a:hover{text-decoration:none;color:var(--ink)}.tabs a.on{color:var(--brand-dark);border-bottom-color:var(--brand);font-weight:550}.skeleton{background:var(--line-soft);border-radius:var(--radius-sm);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}@media (max-width:860px){.two-col{grid-template-columns:1fr}.sticky-side{position:static}.masthead-inner{flex-wrap:wrap;padding:.6rem 0}.masthead-search{order:3;flex-basis:100%;max-width:none}}.counter .masthead-inner{gap:1.5rem}.logo-sub{font-size:.6875rem;font-weight:500;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;margin-left:.4rem}.counter-nav{display:flex;gap:.25rem;overflow-x:auto}.counter-nav a{position:relative;padding:.4rem .7rem;border-radius:var(--radius-sm);color:var(--ink-soft);font-size:.875rem;white-space:nowrap}.counter-nav a:hover{text-decoration:none;background:var(--line-soft);color:var(--ink)}.counter-nav a.on{background:var(--brand-wash);color:var(--brand-dark);font-weight:600}.counter-nav .badge{display:inline-block;margin-left:.35rem;min-width:1.25rem;padding:0 .3rem;border-radius:999px;background:var(--danger);color:#fff;font-size:.6875rem;font-weight:700;text-align:center;line-height:1.25rem}.offer{border:2px solid var(--warn);border-radius:var(--radius);background:var(--paper);padding:1rem;box-shadow:var(--shadow)}.offer.urgent{border-color:var(--danger)}.countdown{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;font-size:1.75rem;line-height:1;color:var(--warn)}.countdown.urgent{color:var(--danger)}.countdown-bar{height:4px;border-radius:2px;background:var(--line-soft);overflow:hidden;margin-top:.4rem}.countdown-bar>span{display:block;height:100%;background:var(--warn);transition:width 1s linear}.countdown-bar>span.urgent{background:var(--danger)}.queue{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.queue-row{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--line-soft);color:inherit}.queue-row:last-child{border-bottom:0}.queue-row:hover{background:var(--ground);text-decoration:none}.queue-row .grow{min-width:0}.queue-row.blocked{background:var(--warn-wash)}.queue-row.blocked:hover{background:#fbeed6}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:1.25rem}.stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem .9rem}.stat .n{font-size:1.5rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.stat .k{font-size:.75rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}.stat.alert .n{color:var(--danger)}.source-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1rem;gap:1rem}.stock-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:.875rem;gap:.875rem;align-items:start}.stock-panels .card+.card{margin-top:0}.file-pick input[type=file]{display:block;width:100%;font:inherit;font-size:.875rem;padding:.6rem;border:1px dashed var(--line);border-radius:var(--radius-sm);background:var(--ground)}.choices{border:0;margin:0;padding:0;display:grid;grid-gap:.35rem;gap:.35rem}.choice{gap:.5rem;cursor:pointer}.choice,.feed-line{display:flex;align-items:baseline}.feed-line{gap:.6rem}.facts{margin:.35rem 0 0;padding-left:1.1rem}dl.kv{display:grid;grid-template-columns:max-content 1fr;grid-gap:.35rem .75rem;gap:.35rem .75rem;margin:0}dl.kv dt{color:var(--ink-soft)}dl.kv dd{margin:0;min-width:0;overflow-wrap:anywhere}dl.kv code{font-size:.8125rem}code.secret{background:var(--paper);padding:.1rem .35rem;border-radius:4px;border:1px solid #e7d4b0}details.batches summary{cursor:pointer;white-space:nowrap}details.batches ul{margin:.35rem 0 0;padding-left:1rem;font-size:.8125rem}details.batches li{margin-bottom:.2rem}details.batches .chip{margin-left:.35rem}table.grid.stock-grid tr.out td{color:var(--ink-soft)}.pick-line{display:flex;gap:.875rem;align-items:flex-start;padding:.875rem 0;border-bottom:1px solid var(--line-soft)}.pick-line:last-child{border-bottom:0}.pick-qty{flex:none;min-width:3rem;text-align:center;font-size:1.25rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--ground);border-radius:var(--radius-sm);padding:.35rem .5rem}@media (max-width:720px){.counter .masthead-inner{flex-wrap:wrap;gap:.5rem}.counter-nav{order:3;flex-basis:100%}}.control .masthead{background:#14161b;border-bottom-color:#262a33}.control .masthead .logo{color:#f2f4f7}.control .masthead .logo span{color:#4db6ab}.control .logo-sub{color:#7d8595}.control .masthead-inner{gap:1.25rem}.control .masthead-links{gap:.75rem;align-items:center}.role-tag{color:#7d8595;text-transform:lowercase;letter-spacing:.02em}.control .masthead .btn-quiet{color:#b8c0cd;border-color:#333844}.control .masthead .btn-quiet:hover{background:#232730;color:#f2f4f7}.admin-nav{display:flex;gap:.15rem;overflow-x:auto;flex:1 1}.admin-nav a{position:relative;padding:.35rem .6rem;border-radius:var(--radius-sm);color:#b8c0cd;font-size:.8125rem;white-space:nowrap}.admin-nav a:hover{text-decoration:none;background:#232730;color:#f2f4f7}.admin-nav a.on{background:#232730;color:#fff;font-weight:600}.admin-nav .badge{display:inline-block;margin-left:.3rem;min-width:1.15rem;padding:0 .28rem;border-radius:999px;background:#3a3f4b;color:#e6e9ef;font-size:.6563rem;font-weight:700;text-align:center;line-height:1.15rem}.admin-nav .badge.urgent{background:var(--danger);color:#fff}.todo{display:flex;align-items:flex-start;gap:.875rem;padding:.75rem 1rem;background:var(--paper);border-left:1px solid var(--line);border:1px solid var(--line);border-left-width:3px;border-radius:var(--radius);color:inherit}.todo:hover{text-decoration:none;border-color:var(--brand);border-left-color:var(--brand)}.todo.urgent{border-left-color:var(--danger)}.todo.urgent:hover{border-color:var(--danger)}.todo-n{font-size:1.375rem;font-weight:700;line-height:1.2;min-width:2rem;color:var(--ink)}.todo.urgent .todo-n{color:var(--danger)}.filter-bar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.filter-bar .field{margin:0;flex:1 1 9rem;min-width:0}.filter-bar .btn{flex:none}.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}table.grid{width:100%;border-collapse:collapse;font-size:.875rem}table.grid th{text-align:left;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);padding:.6rem .75rem;border-bottom:1px solid var(--line);white-space:nowrap}table.grid td{padding:.6rem .75rem;border-bottom:1px solid var(--line-soft);vertical-align:top}table.grid tr:last-child td{border-bottom:none}table.grid td.right,table.grid th.right{text-align:right}table.grid tr.row-blocked{background:var(--danger-wash)}.card table.grid{margin-top:.5rem}.message{padding:.6rem .75rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper)}.message.internal{background:var(--warn-wash);border-color:#e7d4b0;border-style:dashed}.setting{padding:.75rem 1rem;border-bottom:1px solid var(--line-soft)}.setting:last-child{border-bottom:none}@media (max-width:900px){.control .masthead-inner{flex-wrap:wrap;gap:.6rem}.admin-nav{order:3;width:100%;flex:1 1 100%}}.brand-mark{width:30px;height:30px;border-radius:7px;flex:none;display:block}.logo-words{display:inline}.control .brand-mark{box-shadow:0 0 0 1px rgba(255,255,255,.14)}@media (max-width:600px){.logo-sub{display:none}}.chemist-option{display:flex;align-items:flex-start;gap:.7rem;padding:.7rem .85rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);cursor:pointer}.chemist-option.on,.chemist-option:hover{border-color:var(--brand)}.chemist-option.on{background:var(--brand-wash)}.chemist-option input[type=radio]{width:1.05rem;height:1.05rem;margin-top:.2rem;flex:none;accent-color:var(--brand)}.install-bar{position:-webkit-sticky;position:sticky;bottom:0;z-index:20;background:var(--brand-wash);border-top:1px solid #cbe2de}.install-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.6rem;padding-bottom:.6rem}.install-bar-words{display:flex;flex-direction:column;gap:.1rem;color:var(--brand-dark);min-width:0}.install-bar-words .tiny{color:var(--ink-soft)}.install-bar-actions{display:flex;gap:.4rem;flex:none}@media (max-width:34rem){.install-bar-words .tiny,.install-brand{display:none}.install-bar-inner{gap:.6rem}}.breadcrumbs{margin-bottom:.75rem;font-size:.8125rem;color:var(--ink-soft)}.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;list-style:none;margin:0;padding:0}.breadcrumbs li+li:before{content:"›";margin-right:.35rem;color:#c7cdd8}.breadcrumbs a{color:var(--ink-soft)}.breadcrumbs a:hover{color:var(--brand-dark)}.breadcrumbs [aria-current=page]{color:var(--ink);font-weight:550}.faq details{border-top:1px solid var(--line);padding:.6rem 0 .1rem}.faq details:first-of-type{border-top:0;padding-top:0}.faq summary{cursor:pointer;font-weight:550;list-style:none;display:flex;align-items:baseline;gap:.5rem}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"›";color:var(--brand-dark);font-weight:700;transition:transform .12s ease;display:inline-block}.faq details[open] summary:before{transform:rotate(90deg)}.faq details p{margin:.4rem 0 .6rem;padding-left:1rem}