/* calc-combo.css (Oct 31 2026, staging): studies panel, confirm dialog, step schedule builder, water/mixed-on cards, extra tools. Pro colors, neon theme. */
.cm-simple .cc-adv{display:none!important}
.cc-num{background:linear-gradient(135deg,#8000FF,#FF00C8 55%,#00DDEB)!important;color:#fff}
.cc-pill-row{margin:0 0 8px}
.cc-empty{margin:6px 0;color:#A0A0B8;font-size:.86rem;line-height:1.5}
.cc-st-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;max-height:520px;overflow-y:auto;overscroll-behavior:contain}
.cc-st{padding:12px;border-radius:12px;background:rgba(128,0,255,.10);border:1px solid rgba(255,0,200,.30)}
.cc-st-t{display:block;font-weight:700;font-size:.9rem;line-height:1.35;color:#E8E8F5;text-decoration:none}
a.cc-st-t:hover{text-decoration:underline}
.cc-st-m{margin:4px 0 6px;font-size:.78rem;color:#A0A0B8}
.cc-st-q{margin:0 0 8px;padding:8px 10px;border-left:3px solid #FF00C8;background:rgba(255,255,255,.03);font-size:.82rem;line-height:1.5;color:#C9C9DC;border-radius:0 8px 8px 0}
.cc-st-rep{margin:0 0 8px;font-size:.88rem;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.cc-tag{font-size:.72rem;padding:2px 8px;border-radius:999px;border:1px solid rgba(255,0,200,.35);color:#BFF8FC}
.cc-st-a{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cc-pm{font-size:.82rem;color:#E9B8FF}
.cc-use{min-height:40px}
.cc-st-foot{margin:10px 0 0}
.cc-used{margin:8px 0 0;color:#BFF8FC}
.cc-dlg{position:fixed;inset:0;z-index:9500;display:flex;align-items:flex-end;justify-content:center;background:rgba(5,5,12,.72);padding:16px}
.cc-dlg[hidden]{display:none}
.cc-dlg-c{width:100%;max-width:440px;padding:18px;border-radius:18px;background:#0E0E16;border:1.5px solid rgba(255,0,200,.45);box-shadow:0 10px 40px rgba(128,0,255,.35)}
.cc-dlg-c h2{margin:0 0 8px}
.cc-dlg-p{margin:0 0 12px;line-height:1.5;color:#C9C9DC;font-size:.92rem}
.cc-dlg-chk{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:12px;background:rgba(128,0,255,.10);border:1px solid rgba(128,0,255,.35);font-weight:600;line-height:1.4;cursor:pointer}
.cc-dlg-chk input{width:22px;height:22px;flex:none;margin:0;accent-color:#FF00C8}
.cc-dlg-a{display:flex;gap:10px;justify-content:flex-end;margin:14px 0 6px}
.cc-dlg-a .btn{min-height:44px}
.cc-dlg-a .btn:disabled{opacity:.45}
html.cc-modal{overflow:hidden}
.cc-grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}
.cc-f{display:flex;flex-direction:column;gap:4px;min-width:0}
.cc-fl{font-size:.78rem;color:#A0A0B8}
.cc-in{width:100%;min-height:44px;box-sizing:border-box}
.cc-load{margin:6px 0;padding:8px 10px;border-radius:12px;border:1px solid rgba(128,0,255,.35);background:rgba(128,0,255,.06)}
.cc-load summary{cursor:pointer;font-weight:600;min-height:32px;display:flex;align-items:center}
.cc-steps{list-style:none;margin:8px 0;padding:0;display:grid;gap:8px}
.cc-step{padding:10px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,0,200,.28);touch-action:pan-y}
.cc-step.cc-dragging{position:relative;z-index:3;box-shadow:0 8px 24px rgba(128,0,255,.45);opacity:.95}
.cc-sr{display:flex;align-items:center;gap:8px}
.cc-sr+.cc-sr{margin-top:6px}
.cc-grip{min-width:36px;min-height:40px;border:0;background:transparent;color:#E9B8FF;font-size:1rem;cursor:grab;touch-action:none}
.cc-wk{flex:1;font-size:.82rem;font-weight:700;color:#E8E8F5}
.cc-mv,.cc-x{min-width:40px;min-height:40px;border-radius:10px;border:1px solid rgba(128,0,255,.35);background:rgba(128,0,255,.10);color:#fff;font-size:1rem;cursor:pointer}
.cc-mv:disabled{opacity:.35}
.cc-ig{flex:1;display:flex;align-items:center;gap:6px}
.cc-u{font-size:.8rem;color:#A0A0B8}
.cc-draw{display:block;margin-top:6px;font-size:.84rem;color:#BFF8FC}
.cc-btns{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}
.cc-btns .btn{min-height:40px}
.cc-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}
.cc-stat{padding:8px 10px;border-radius:10px;background:rgba(128,0,255,.10);border:1px solid rgba(128,0,255,.30);display:flex;flex-direction:column;gap:2px}
.cc-k{font-size:.78rem;color:#A0A0B8}
.cc-vials{margin:6px 0;padding-left:18px;font-size:.84rem;line-height:1.6;color:#C9C9DC}
.cc-send{margin-top:8px}
.cc-sum{white-space:nowrap}
.cc-src{font-size:.78rem!important;color:#A0A0B8!important}
.cc-src a{color:#E9B8FF}
.cc-mix{margin-top:10px;padding:10px 12px;border-radius:12px;background:rgba(128,0,255,.10);border:1px solid rgba(255,0,200,.35)}
.cc-mix-out{margin:6px 0 8px;font-weight:700;color:#fff}
.cc-warn{color:#FFB020!important}
.cc-sec .cc-in{margin:6px 0}
.cc-out{margin-top:6px}
.cc-line{margin:4px 0;font-size:.9rem}
#ccSyrSvg,#ccHlSvg{width:100%;height:auto;display:block;margin:8px 0}
#cmBlendSheet{display:flex;flex-direction:column}
#cmBlendSheet[hidden]{display:none}
.cc-bs{margin:0 0 8px}
.cc-aka{font-size:.74rem;color:#E9B8FF}
.cm-blend[hidden]{display:none!important}
.cc-lab{display:inline-block;margin:0 0 6px}
.cc-su-chk{margin:8px 0;font-weight:500}
.cc-notice{margin:0 0 10px;padding:10px 12px;border-radius:12px;background:rgba(255,0,200,.10);border:1px solid rgba(255,0,200,.4);font-weight:600}
.cc-notice[hidden]{display:none}
.cc-cf{display:flex;gap:8px;align-items:center;margin:0 0 8px}
.cc-cf .cc-in{flex:1;min-width:0}
.cc-az{width:72px;min-height:44px;flex:none}
.cc-cnt{flex:none;font-size:.75rem;color:#A0A0B8;white-space:nowrap}
.cm-chip[hidden]{display:none!important}
.cc-mark{flex:none;align-self:center;padding:0 2px 0 6px;font-size:.78rem;font-weight:800;letter-spacing:.04em;background:linear-gradient(135deg,#8000FF,#FF00C8 55%,#00DDEB);-webkit-background-clip:text;background-clip:text;color:transparent;scroll-snap-align:start}
.cc-mark[hidden]{display:none}
.cc-np{flex:none;margin:0 8px 0 -6px;padding:1px 6px;border-radius:999px;font-size:.66rem;font-weight:700;color:#FFB020;border:1px solid rgba(255,176,32,.45)}
.cc-mode{display:flex;gap:6px;margin:0 0 8px}
.cc-mb{flex:1;min-height:40px;border-radius:999px;border:1px solid rgba(255,0,200,.35);background:rgba(128,0,255,.10);color:#E8E8F5;font:inherit;font-weight:700;cursor:pointer}
.cc-mb.on{color:#fff;background:linear-gradient(135deg,#8000FF,#FF00C8 55%,#00DDEB);border:0;text-shadow:0 1px 2px rgba(40,0,80,.35)}
.cc-tail{flex:none;width:calc(100% - 140px);min-width:200px}
/* chips: Pro gradient ring (Go Pro pill colours) + soft brand tint fill, brighter on tap/selected; 44px tap height */
.cm-chips{min-height:52px;align-items:center}
.cm-chip{border:1px solid transparent!important;background:linear-gradient(135deg,rgba(128,0,255,.22),rgba(255,0,200,.16)) padding-box,linear-gradient(var(--btn-fill,#0E0E16),var(--btn-fill,#0E0E16)) padding-box,linear-gradient(135deg,#8000FF,#FF00C8 55%,#00DDEB) border-box!important;transition:filter .15s}
.cm-chip:active,.cm-chip:hover{background:linear-gradient(135deg,rgba(128,0,255,.42),rgba(255,0,200,.32)) padding-box,linear-gradient(var(--btn-fill,#0E0E16),var(--btn-fill,#0E0E16)) padding-box,linear-gradient(135deg,#8000FF,#FF00C8 55%,#00DDEB) border-box!important}
.cm-chip-b{min-height:44px!important;color:#F7F2FF!important}
.cm-chip.cm-blendbtn{min-height:44px}
.cm-chip:has(.cm-chip-b.on){background:linear-gradient(135deg,#8000FF,#FF00C8 55%,#00DDEB) border-box!important;box-shadow:0 6px 18px rgba(128,0,255,.4)}
.cm-chip:has(.cm-chip-b.on) .cm-chip-b{box-shadow:none;background:transparent}
.cm-chip-a{color:#F2C6FF}
.cc-mark{min-height:44px;display:inline-flex;align-items:center}
/* Blend compound boxes: same shared --btn-bg / --btn-ring as single-compound + Maintenance inputs (Erik Nov 5 2026: was a stray Pro purple→teal ring) */
.blend-ed .blend-row input{border:1.5px solid transparent!important;background:var(--btn-bg)!important;color:#F7F2FF}
.blend-ed .blend-row input.blend-combo{cursor:pointer;padding-right:34px;background:linear-gradient(45deg,transparent 50%,#F2C6FF 50%) calc(100% - 18px) 50%/6px 6px no-repeat padding-box,linear-gradient(135deg,#F2C6FF 50%,transparent 50%) calc(100% - 12px) 50%/6px 6px no-repeat padding-box,var(--btn-tint) padding-box,linear-gradient(var(--btn-fill,#0E0E16),var(--btn-fill,#0E0E16)) padding-box,var(--btn-ring) border-box!important}
.blend-ed .blend-row input.bad{box-shadow:0 0 0 3px rgba(128,92,255,.22)}
.blend-ed .blend-row input.blend-combo.bad,.blend-ed .blend-row input.bad:not(.blend-combo){border-color:transparent!important}
.blend-ed .blend-row input:focus{outline:none;box-shadow:0 0 0 3px rgba(128,92,255,.28)}
.cc-pk-sheet{position:fixed;inset:0;z-index:2147483000;background:rgba(5,5,10,.6);display:flex;align-items:flex-end;justify-content:center}
.cc-pk-sheet[hidden]{display:none}
.cc-pk-card{width:100%;max-width:520px;max-height:78vh;display:flex;flex-direction:column;gap:8px;padding:14px 14px calc(14px + env(safe-area-inset-bottom));background:#0E0E16;border-radius:18px 18px 0 0;border:1.5px solid rgba(255,0,200,.45);box-shadow:0 -10px 40px rgba(128,0,255,.35)}
.cc-pk-top{display:flex;align-items:center;justify-content:space-between;color:#F7F2FF}
.cc-pk-x{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid transparent;color:#F7F2FF;background:linear-gradient(#0E0E16,#0E0E16) padding-box,linear-gradient(135deg,#8000FF,#FF00C8 55%,#00DDEB) border-box;font:inherit}
.cc-pk-q{width:100%;font-size:16px!important}
.cc-pk-list{list-style:none;margin:0;padding:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:200px}
.cc-pk-hd{position:sticky;top:0;background:#0E0E16;padding:6px 10px 4px;font-size:12px;font-weight:800;letter-spacing:.06em;color:#F2C6FF}
.cc-pk-opt{padding:12px 10px;border-radius:10px;cursor:pointer;font-size:15px;color:#F7F2FF}
.cc-pk-opt:hover,.cc-pk-opt:active{background:linear-gradient(135deg,rgba(128,0,255,.32),rgba(255,0,200,.22))}
.cc-pk-opt.on{background:linear-gradient(135deg,rgba(128,0,255,.42),rgba(255,0,200,.32))}
.cc-pk-own{color:#E9B8FF}
.cc-pk-none{padding:12px 10px;color:#A0A0B8}
body.cc-pk-open{overflow:hidden}
/* CENTERING (Erik invariant, Oct 31): new cards follow the live site convention: title row, pills, paragraphs, buttons centered. Guarded by test_center.py */
#ccStudies,#ccTitr,#ccHandlingPlus,.cc-sec,.cc-pk-card .cc-pk-none,#cmTop .cm-chip-hint,#blendEditor .blend-err,#blendEditor .blend-note{text-align:center}
#ccStudies .head,#ccTitr .head{justify-content:center!important;flex-wrap:wrap;gap:6px 10px;text-align:center}
#ccStudies .head .t,#ccTitr .head .t{justify-content:center}
.cc-pill-row,.cc-empty,.cc-st-foot,.cc-used,.cc-src,.cc-line,.cc-out,.cc-mix-out,.cc-notice,.cc-draw{text-align:center}
.cc-sec>summary,#ccHandlingPlus summary,.cc-load>summary{text-align:center;justify-content:center}
#ccHandlingPlus .cm-h-head{text-align:center;justify-content:center;align-items:center;flex-direction:column}
#ccHandlingPlus p,.cc-sec p{text-align:center}
.cc-btns,.cc-st-a,.cc-st-rep{justify-content:center}
.cc-st-a{gap:8px 12px}
#ccMixSend,#ccSuIcs,#ccTzSend,.cc-send,.cc-lab{display:block;width:fit-content;max-width:100%;margin-left:auto!important;margin-right:auto!important}
.cc-vials{list-style-position:inside;padding-left:0}
.cc-st-q{text-align:left}
.cc-step,.cc-step *{text-align:left}
#ccHandlingPlus .cm-h-card>summary,.cc-sec>summary,.cc-load>summary{display:block;position:relative;text-align:center;padding-left:34px;padding-right:34px;line-height:1.35;padding-top:12px;padding-bottom:12px;list-style:none}
.cc-sec>summary::-webkit-details-marker,.cc-load>summary::-webkit-details-marker{display:none}
#ccHandlingPlus .cm-h-card>summary::after{position:absolute;right:12px;top:50%;transform:translateY(-50%);margin:0}
.cc-sec>summary::after,.cc-load>summary::after{content:'+';position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#00DDEB;font-weight:700}
.cc-sec[open]>summary::after,.cc-load[open]>summary::after{content:'–'}
#ccStudies .head,#ccTitr .head{flex-direction:column;align-items:center}
.cc-bhint{text-align:center;color:#E9B8FF}
/* Drag jitter (Erik t7114u): the "= x mL · vial + water" line under DRAW TO wrapped 1<->2 lines as digits changed, so the card grew/shrank mid-drag. Always reserve exactly 2 lines, centred; digits tabular. Guarded by test_draw_height.py */
.big-result #resSub{box-sizing:content-box;line-height:1.45;height:2.9em;min-height:2.9em;max-height:2.9em;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;font-variant-numeric:tabular-nums;text-wrap:balance}
.stats .stat .v{font-variant-numeric:tabular-nums}
/* Blends view (Erik t7115u): long blend names were cut off in the one-line row (one chip visible). Blends = wrapped, centred, vertically scrolling list; letters as small headers; names wrap inside the chip */
#cmChips.cc-bmode{flex-wrap:wrap!important;justify-content:center;align-content:flex-start;overflow-x:hidden!important;overflow-y:auto;max-height:300px;scroll-snap-type:none!important;gap:8px;padding:4px 2px 8px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#cmChips.cc-bmode .cm-blendbtn,#cmChips.cc-bmode .cc-tail{display:none!important}
#cmChips.cc-bmode .cc-mark{flex:0 0 100%;justify-content:center;min-height:22px;padding:4px 0 0}
#cmChips.cc-bmode .cm-chip{flex:0 1 auto;max-width:100%;min-height:44px}
#cmChips.cc-bmode .cm-chip-b{white-space:normal!important;text-align:center;line-height:1.25;padding-top:8px;padding-bottom:8px;max-width:100%;height:auto!important}
.cc-az{width:84px}
/* cc1031h: Erik t7126u, hero "Free · no account needed" pill hidden; head stacks tight and centred */
.page-head > .pill.pill-cyan{display:none!important}
/* cc1031i: Erik t7128u, main calculator hero subtitle hidden (compound pages keep theirs) */
.page-head p.cc-hsub{display:none!important}
/* cc1031i: Erik t7130u, chip helper line hidden */
.cm-chip-hint:not(.cc-bhint){display:none!important}
/* cc1031i (Erik t7131u/t7132u): one Schedule card. Loading Phase switch, then Titration switch, builder inside titration. All centred */
#titrStep.cc-sched .head{justify-content:center!important;text-align:center}
#titrStep.cc-sched .head .t{justify-content:center}
.cc-ssec{margin:12px 0 0;padding:12px 0 0;border-top:1px solid rgba(255,255,255,.08);text-align:center}
.cc-swrow{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;min-height:44px}
.cc-swl{margin:0;font-size:16px;font-weight:700}
.cc-swrow .seg button{min-height:36px;min-width:52px}
.cc-loadbody{margin-top:10px}
#ccTitrSec #titrBody{margin-top:10px}
#titrStep .cc-titr{margin:14px 0 0;padding:12px 0 0;border-top:1px solid rgba(255,255,255,.08);text-align:center}
.cc-bh{margin:0 0 6px;font-size:15px;font-weight:700;text-align:center}
#titrStep .cc-titr .cc-sum{display:inline-block;margin:0 auto 6px}
#titrStep .cc-titr .cc-sum[hidden]{display:none!important}
.cc-schout{text-align:center;margin-top:10px}
.cc-schout[hidden]{display:none!important}
#titrStep.cc-sched #titrBody .hint{text-align:center}
/* cc1031i (Erik t7135u): floating Draw To pill removed */
#calcLive,.calc-live{display:none!important}
/* cc1031j (Erik t7138u-t7141u): one Titration. Base mode tiles, base fields (Start Date, How Often You Dose, ramp) and base hint hidden; the dose-level rows are the titration */
#titrStep.cc-sched #tzMode,#titrStep.cc-sched #tzFields,#titrStep.cc-sched #ramp,#titrStep.cc-sched #titrBody>.hint{display:none!important}
#titrStep.cc-sched .cc-titr{margin-top:0;padding-top:0;border-top:0}
.cc-step .cc-sr .cc-f{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:4px}
.cc-step .cc-sr .cc-f .cc-fl{font-size:.78rem;font-weight:700;color:#B9B9D0;text-align:left}
.cc-step .cc-sr .cc-f .cc-ig{width:100%}
/* cc1031j (Erik t7143u): Simple/Advanced removed; collapsible Schedule + More Calculator Tools (closed by default) */
.cm-bar:has(#cmModeSimple){display:none!important}
.cc-coll.cc-closed>:not(.cc-collh){display:none!important}
.cc-collh{cursor:pointer;position:relative;-webkit-tap-highlight-color:transparent;min-height:44px}
#calcTools>h2.cc-collh{display:flex;align-items:center;justify-content:center;text-align:center;margin:0}
.cc-collh::after{content:'–';position:absolute;right:4px;top:50%;transform:translateY(-50%);color:#00DDEB;font-weight:800;font-size:20px}
.cc-coll.cc-closed>.cc-collh::after{content:'+'}
#titrStep.cc-coll.cc-closed{padding-bottom:18px}
/* cc1031k (Erik t7145u): Published trials inside the Library Reference card */
#kbRef .kb-pt{margin:14px 0 6px;padding:12px 0 0;border-top:1px solid rgba(255,255,255,.1);text-align:center}
#kbRef .kb-pt[hidden]{display:none!important}
#kbRef .kb-pt .head{justify-content:center!important;margin:0 0 6px}
.kb-pt-h{margin:0;font-size:15px;font-weight:800;text-align:center}
/* cc1031k (Erik t7146u): Blend mode hides step 1; Scan button first inside the Blend card; blend scan confirm rows */
html.cc-blend-on section.calc-step.cc-step1{display:none!important}
.cc-bscan-w{display:flex;justify-content:center;margin:0 0 12px}
.cc-bs-rows{display:flex;flex-direction:column;gap:8px;margin:8px 0 12px}
.cc-bs-row{display:grid;grid-template-columns:1fr 92px auto;gap:8px;align-items:center}
.cc-bscan .share-hint,.cc-bscan h3{text-align:center}
.vs-card.cc-bscan h3,.vs-card.cc-bscan .share-hint,.vs-card.cc-bscan .field>label,.vs-card.cc-bscan .hint{text-align:center!important;display:block}
.vs-card.cc-bscan .ps-row{justify-content:center!important;display:flex;flex-wrap:wrap;gap:8px}
html.cc-blend-on section.calc-step.cc-step3{display:none!important}
#syringe.cp-drag{touch-action:pan-y!important}  /* cc1031k t7148u: page scrolls when the touch is off the plunger tip */
/* cc1031l t7152u/t7153u: collapsible Handling + Reconstitution Solution sections */
.cc-hcoll>.cm-h-head.cc-collh{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6px 24px;margin:0;box-sizing:border-box}
.cc-hcoll>.cm-h-head.cc-collh .label{text-align:center}
/* t7156u loading fields: amount, how often, for how long — one column, centered labels */
#ccLoadBody .cc-loadrow{display:grid;grid-template-columns:1fr;gap:10px;justify-items:stretch}
#ccLoadBody .cc-loadrow .cc-fl{display:block;text-align:center}
#ccLoadBody .cc-ig{display:flex;gap:8px;align-items:center}
#ccLoadBody .cc-ig{width:100%;box-sizing:border-box}
#ccLoadBody .cc-ig .input{flex:1 1 0;min-width:0;width:auto}
#ccLoadBody .cc-ig select.input{flex:0 0 auto;width:auto}
#ccLoadBody .cc-u{flex:0 0 auto;width:auto;min-width:max-content;white-space:nowrap}
.cc-loaddates{text-align:center;margin:4px 0 0;font-size:13px;color:#cfd6e4;line-height:1.4}
#ccTzTitrStart{grid-column:1/-1}
.cc-linkbtn{background:none;border:0;padding:2px 0;color:#00DDEB;text-decoration:underline;font:inherit;cursor:pointer}
.cc-warn-soft{color:#ffcf6e}
/* cc1031n (Erik t7163u/t7164u): calculator heading "Peptide Calculator", ~17% bigger (24px -> 28px), one line, centered */
html body .main .page-head h1{font-size:28px!important;line-height:1.1;white-space:nowrap;text-align:center}
/* cc1031o t7167u Maintenance Phase */
#ccMaintBody .cc-loadrow{display:grid;grid-template-columns:1fr;gap:10px}
#ccMaintBody .cc-loadrow .cc-fl{display:block;text-align:center}
#ccMaintBody .cc-mcard{margin:10px 0 12px;padding:14px 12px}
#ccMaintBody .cc-mcard .head{display:flex;justify-content:center;text-align:center;margin-bottom:10px}
#ccMaintBody .cc-mcard .head .t{justify-content:center}
#ccMaintBody .cc-mcard .head h2{margin:0;white-space:nowrap}
.cc-mtdraw{text-align:center;margin:8px 0 4px;font-weight:700;color:#e8ecf4;min-height:1.4em}
.cc-mtsyr{margin:6px 0 0}
.cc-mtsyr svg{display:block;width:100%;height:auto;touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:default}
.cc-mtsyr svg.cc-grab{touch-action:none}
.cc-mthint{text-align:center;margin:4px 0 0}
.cc-mtbtns{display:flex;justify-content:center;gap:8px;margin-top:10px}
.cc-mtsum{text-align:center;font-weight:700;margin:10px 0 4px;color:#e8ecf4;line-height:1.45}
.cc-mtmsg{text-align:center}
#ccMaintBody .cc-maintbody>.hint,#ccMaintBody>.hint{text-align:center}
.cc-mcard.cc-locked{border-color:#00DDEB;box-shadow:0 0 0 1px rgba(0,221,235,.35) inset}
.cc-mlocked input:disabled,.cc-mlocked select:disabled{opacity:.7}
/* t7173u maintenance vial + step pattern */
.cc-mvck{display:flex;justify-content:center;align-items:center;gap:6px;margin:4px 0 10px;font-weight:600;min-height:44px}
.cc-mvck input{width:20px;height:20px}
#ccMaintBody .cc-mvbox{margin-bottom:10px}
#ccMaintBody .cc-ig,.cc-patgrid .cc-ig{display:flex;gap:8px;align-items:center;width:100%}
#ccMaintBody .cc-ig .input{flex:1 1 0;min-width:0;width:auto}
#ccMaintBody .cc-u{flex:0 0 auto;min-width:max-content}
.cc-mvlink{color:#00DDEB;font-weight:700}
.cc-pat{margin:8px 0 10px;text-align:center}
.cc-pat>summary{cursor:pointer;font-weight:700;padding:10px 0;min-height:44px}
.cc-patgrid{text-align:left}
.cc-patgrid .cc-fl{text-align:center;display:block}
#ccPatGo{margin:6px auto 0;display:block}
.cc-patmsg{text-align:center}
#ccMaintBody .cc-f{display:block;min-width:0;max-width:100%}
#ccMaintBody .cc-ig{box-sizing:border-box;max-width:100%}
#ccMaintBody .cc-ig .input{box-sizing:border-box}
/* t7191u last dose before maintenance */
.cc-mtlast{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 4px}
.cc-mtlast[hidden]{display:none}
.cc-mtl{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:8px 6px;text-align:center;display:flex;flex-direction:column;gap:2px}
.cc-mtl .cc-k{font-size:12px;color:#9aa3b5}
.cc-mtl b{font-size:14px;line-height:1.3}
/* cc1031s plan load-back note */
.cc-plannote{margin:10px auto;max-width:560px;padding:10px 14px;border-radius:12px;background:rgba(0,221,235,.08);border:1px solid rgba(0,221,235,.3);text-align:center;font-size:14px;line-height:1.35}
/* cc1031s2 "Plan updated" note */
.cc-planupd{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));transform:translate(-50%,12px);opacity:0;pointer-events:none;z-index:60;padding:8px 16px;border-radius:999px;background:#12323a;border:1px solid rgba(0,221,235,.5);color:#e8fbff;font-size:14px;font-weight:700;white-space:nowrap;transition:opacity .2s,transform .2s}
.cc-planupd.on{opacity:1;transform:translate(-50%,0)}
/* cc1101f twice-a-week weekday picker (any day Mon..Sun) */
#ccMaintBody .cc-wdpick{grid-column:1/-1;text-align:center;margin:2px 0 4px}
#ccMaintBody .cc-wdpick[hidden]{display:none}
.cc-wdlab{font-size:13px;color:#9aa3b5;margin-bottom:6px;white-space:nowrap}
.cc-wdrow{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;max-width:420px;margin:0 auto}
.cc-wd{min-height:44px;padding:0;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);color:#e6e9f0;font-size:13px;font-weight:700;touch-action:manipulation}
.cc-wd.on{background:linear-gradient(135deg,#00DDEB,#8000FF);border-color:transparent;color:#fff}
.cc-wd:disabled{opacity:.6}
/* cc1101f: chip row edge fade (scroll hint) */
#cmChips.cc-fr{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 80px),rgba(0,0,0,.35) calc(100% - 40px),transparent calc(100% - 6px));mask-image:linear-gradient(90deg,#000 calc(100% - 80px),rgba(0,0,0,.35) calc(100% - 40px),transparent calc(100% - 6px))}
#cmChips.cc-fl{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px);mask-image:linear-gradient(90deg,transparent,#000 28px)}
#cmChips.cc-fl.cc-fr{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 80px),rgba(0,0,0,.35) calc(100% - 40px),transparent calc(100% - 6px));mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 80px),rgba(0,0,0,.35) calc(100% - 40px),transparent calc(100% - 6px))}
#cmChips{scroll-padding-inline:2px}
@media (max-width:379px){#ccChipQ::placeholder{font-size:13px;letter-spacing:-.01em}}

/* collapse1102: pattern unit suffix, no wrap jumps */
.cc-patgrid .cc-ig{width:100%;box-sizing:border-box;display:flex;align-items:center;gap:6px}.cc-patgrid .cc-ig .cc-in{flex:1 1 auto;min-width:0}.cc-patgrid .cc-patu{flex:0 0 auto;min-width:2.2em;text-align:left;white-space:nowrap}
/* collapse1102 (t7535u): "Then at the top amount" choice */
.cc-patendf{display:block;text-align:center;margin:12px 0 4px}.cc-patendf>.cc-fl{display:block;margin-bottom:6px}
.cc-patend{display:flex;width:100%}.cc-patend button{flex:1 1 0;min-width:0;white-space:nowrap;font-size:.8rem;padding-left:4px;padding-right:4px}
.cc-patendnote{margin:6px 0 0;text-align:center}.cc-pathold{display:block;margin-top:8px}.cc-pathold[hidden]{display:none}

/* pillfix1102: save blocker message */
.cc-saveblock{margin:8px 0 0;padding:10px 12px;border-radius:10px;background:rgba(255,80,110,.12);border:1px solid rgba(255,80,110,.5);color:#FFD2DA;text-align:center;font-size:.92rem}
.cc-saveblock-go{background:none;border:0;color:#00DDEB;text-decoration:underline;font:inherit;cursor:pointer;padding:0 2px}
.cc-missing{outline:2px solid #FF5A78!important;outline-offset:2px;border-radius:10px}
.rolo-calc-btn.is-busy,#saveBtn.is-busy{opacity:.7;transform:scale(.98)}

/* menufix1103 (Erik 8:51-8:53 PM regression): the global brand-button rule in styles.css (:where(main button...) with !important, sb1103q)
   gave each chip's inner button its own gradient pill, so tagged chips (NAD+, 5-Amino-1MQ, AICAR ...) looked double-boxed and the
   tag sat against a second pill. The chip itself is the one pill; its inner button stays transparent in every state. */
main .cm-chip > button.cm-chip-b,.cm-chip > button.cm-chip-b,main .cm-chip > button.cm-chip-b.on,.cm-chip > button.cm-chip-b.on,main .cm-chip > button.cm-chip-b[aria-pressed=true],.cm-chip > button.cm-chip-b[aria-pressed=true],main .cm-chip > button.cm-chip-b:hover,.cm-chip > button.cm-chip-b:hover,main .cm-chip > button.cm-chip-b:active,.cm-chip > button.cm-chip-b:active,main .cm-chip > button.cm-chip-b:focus,.cm-chip > button.cm-chip-b:focus,main .cm-chip > button.cm-chip-b:focus-visible,.cm-chip > button.cm-chip-b:focus-visible{background:transparent!important;border:0!important;box-shadow:none!important}
/* menufix1103: every chip the same height and one line (Blend ▾ was 44px vs 46px; four long blend names wrapped to 54px) */
#cmChips .cm-chip.cm-blendbtn{min-height:46px!important}
#cmChips .cm-chip{max-width:100%}
/* menufix1103 (Erik 8:59-9:01 PM): layout only, colors kept.
   Fields: the brand-ring input is the one rounded box (12px on every corner); the unit sits beside it as a plain label, so there's no square edge and no box inside a box. */
.calc-step .input-group{border:0!important;background:transparent!important;overflow:visible!important;display:flex;align-items:center;gap:8px;border-radius:0!important}
.calc-step .input-group > input{border-radius:12px!important;flex:1 1 auto;min-width:0}
.calc-step .input-group > .suffix{background:transparent!important;border:0!important;padding:0 4px!important;flex:none;white-space:nowrap}
/* Schedule rows: label left, Off/On group right, the same x on every row, even spacing */
#titrStep .cc-swrow{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px;text-align:left!important;width:100%;margin:0 0 10px!important}
#titrStep .cc-swrow > .cc-swl{text-align:left!important;margin:0!important;flex:1 1 auto;min-width:0}
#titrStep .cc-swrow > .seg{flex:none;margin:0 0 0 auto!important}
#titrStep .cc-swrow{flex-wrap:nowrap!important}#titrStep .cc-swrow > .cc-swl{white-space:nowrap;font-size:clamp(14px,3.9vw,17px)!important}
/* menufix1103 (review 9:36 PM): the tag is plain small text inside the one chip pill, never a second box */
.cm-chip .cc-np{border:0!important;background:none!important;box-shadow:none!important;border-radius:0!important;padding:0!important;margin:0 14px 0 -6px!important;line-height:1}
/* Blend mode: long names may use two lines, so every blend chip gets the same height (equal cells, nothing cut) */
#cmChips.cc-bmode .cm-chip{min-height:54px!important}
/* menufix1103 (self-review 9:50 PM): schedule labels never run under the toggle; every field the same width; no underline on tags */
#titrStep .cc-swrow > .cc-swl{white-space:normal!important;overflow-wrap:anywhere}
.calc-step .input-group > .suffix{flex:0 0 104px!important;width:104px;text-align:left}
@media (max-width:370px){.calc-step .input-group > .suffix{flex-basis:96px!important;width:96px;font-size:.85rem}}
.cm-chip .cc-np,.cm-chip .cc-np *{text-decoration:none!important;border-bottom:0!important}
/* fields: no spinner arrows (they covered the placeholder), every field's text starts at the same left edge */
.calc-step .input-group > input{text-align:left!important;padding-left:14px!important;padding-right:12px!important;-moz-appearance:textfield}
.calc-step .input-group > input::-webkit-outer-spin-button,.calc-step .input-group > input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.calc-step .input-group > .suffix{flex:0 0 98px!important;width:98px;font-size:.85rem}
.calc-step .input-group > input{text-align-last:left!important;height:50px!important;min-height:50px!important;box-sizing:border-box}
/* gap1104 (Erik t7985u/t7986u): Off pill shifted ~8px left so it no longer touches On; On keeps its spot (seg is right-aligned, gap grows leftward). */
.seg > button[data-on="0"] + button[data-on="1"]{margin-left:8px}
.seg:has(> button[data-on="0"] + button[data-on="1"]){flex-wrap:nowrap}
/* rounded disclosure boxes (Erik Nov 4 2026): the Handling / Reconstitution heads wear the brand ring via padding-box/border-box backgrounds, so a radius keeps the ring on the curve (no clipping); "+" vertically centered, equal side padding */
.cc-hcoll>.cm-h-head.cc-collh,main .cc-collh[role=button]:not(h1):not(h2):not(h3):not(h4){border-radius:12px!important;padding:8px 36px!important}
.cc-hcoll>.cm-h-head.cc-collh::after{right:14px}

/* Nov 4: titration step icon pills: same size, fully rounded, icon dead-centered */
.cc-step .cc-sr .cc-ib,.cc-step .cc-sr button.cc-ib{box-sizing:border-box;width:44px;height:44px;min-width:44px;min-height:44px;max-width:44px;max-height:44px;flex:0 0 44px;padding:0!important;margin:0;display:inline-flex!important;align-items:center;justify-content:center;border-radius:14px!important;line-height:0;font-size:0;align-self:center;border:1px solid rgba(128,0,255,.45);background:rgba(128,0,255,.12);color:#fff}
.cc-step .cc-sr .cc-grip.cc-ib{color:#E9B8FF;cursor:grab;touch-action:none}
.cc-step .cc-sr .cc-ib .cc-ico{display:block;width:20px;height:20px;flex:none;margin:0;pointer-events:none}
.cc-step .cc-sr .cc-ib::before,.cc-step .cc-sr .cc-ib::after{border-radius:inherit!important}
.cc-step .cc-sr:first-child{align-items:center}
.cc-step .cc-sr .cc-wk{align-self:center}
/* libref1104 (Erik t7998u): collapsible Library Reference, head styled like Handling / Reconstitution */
#kbRef .kb-ref.cc-kbcoll.cc-closed{padding:0;background:none;border:0}
#kbRef .kb-ref.cc-kbcoll>.kb-ref-head.cc-collh{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;flex-wrap:nowrap;margin:0 0 8px;padding:8px 36px!important;box-sizing:border-box;border-radius:12px!important;border:1px solid transparent;background:linear-gradient(90deg,rgba(230,25,230,.14),rgba(128,0,255,.14) 55%,rgba(0,128,255,.14)) padding-box,linear-gradient(#0E0E16,#0E0E16) padding-box,linear-gradient(90deg,#E619E6,#0080FF) border-box}
#kbRef .kb-ref.cc-kbcoll.cc-closed>.kb-ref-head.cc-collh{margin-bottom:0}
#kbRef .kb-ref.cc-kbcoll>.kb-ref-head.cc-collh::after{right:14px}
#kbRef .kb-ref.cc-kbcoll>.kb-ref-head .label,#kbRef .kb-ref.cc-kbcoll>.kb-ref-head .pill{text-align:center;max-width:100%}
#kbRef .kb-ref.cc-kbcoll>.kb-ref-head.cc-collh:focus-visible{outline:2px solid #00DDEB;outline-offset:2px}
/* titr1104 (Erik t7999u): compact titration step cards; labels on their own line above inputs, no overlap */
#ccTzRows.cc-steps{gap:8px}
#ccTzRows .cc-step{padding:8px 10px}
#ccTzRows .cc-step>.cc-sr:first-child{min-height:40px}
#ccTzRows .cc-step .cc-sr .cc-ib,#ccTzRows .cc-step .cc-sr button.cc-ib{width:40px;height:40px;min-width:40px;min-height:40px;max-width:40px;max-height:40px;flex:0 0 40px}
#ccTzRows .cc-step>.cc-sr+.cc-sr{margin-top:4px}
#ccTzRows .cc-step .cc-sr .cc-f{position:static;gap:2px}
#ccTzRows .cc-step .cc-sr .cc-f .cc-fl{position:static;font-size:13px;line-height:14px;padding:0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:none}
#ccTzRows .cc-step .cc-ig input{height:40px!important;min-height:40px!important;padding-top:0!important;padding-bottom:0!important;box-sizing:border-box;font-size:16px}
#ccTzRows .cc-step .cc-draw{margin-top:4px;line-height:16px;font-size:13px}
#ccTzRows .cc-step .cc-sr .cc-wk{font-size:13px;line-height:13px}
/* pill30_1104 (Erik t8017u locked "30% shorter" titration step cards: 96px at 390, icons/inputs 25px) */
#ccTzRows.cc-steps{gap:5px}
#ccTzRows .cc-step{padding:4px 10px}
#ccTzRows .cc-step>.cc-sr:first-child{min-height:25px}
#ccTzRows .cc-step .cc-sr .cc-ib,#ccTzRows .cc-step .cc-sr button.cc-ib{width:25px;height:25px;min-width:25px;min-height:25px;max-width:25px;max-height:25px;flex:0 0 25px;border-radius:12.5px!important}
#ccTzRows .cc-step .cc-sr .cc-ib .cc-ico{width:12px;height:12px}
#ccTzRows .cc-step>.cc-sr+.cc-sr{margin-top:2px}
#ccTzRows .cc-step .cc-sr .cc-f{gap:2px}
#ccTzRows .cc-step .cc-sr .cc-f .cc-fl{font-size:13px;line-height:14px}
#ccTzRows .cc-step .cc-ig input{height:25px!important;min-height:25px!important;font-size:16px;line-height:23px;border-radius:12.5px!important}
#ccTzRows .cc-step .cc-draw{margin-top:2px;line-height:15px;font-size:13px}
#ccTzRows .cc-step .cc-sr .cc-wk{font-size:13px;line-height:13px}
/* t8111u: maintenance syringe = the main Results syringe (same drawing via PW_drawSyringe, same wrap + size) */
.cc-mtsyr.syringe-wrap{margin-top:5px;padding:8px 10px 8px}
.cc-mtsyr.syringe-wrap>.row{margin-bottom:2px}
.cc-mtsyr svg#ccMtSyr{width:100%;height:auto}
.cc-mtsyr .cc-mthint{margin:4px 0 0}
