
/* :root tokens moved to theme.css */
[hidden]{display:none!important}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{touch-action:manipulation}.app{display:grid;grid-template-columns:268px 1fr;min-height:100vh}.side{background:var(--bb-navy-900);color:var(--bb-navy-text-strong);padding:18px 14px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:10px;align-items:center;padding:8px 8px 18px}.mark{width:38px;height:38px;border-radius:11px;background:var(--panel);color:var(--brand-text);display:grid;place-items:center;font-weight:850;font-size:20px}.brand b{display:block;font-size:15px}.brand span{display:block;color:var(--bb-navy-text-muted);font-size:12px}.nav{padding-bottom:120px}.nav-group{color:var(--bb-blue-56);font-size:10px;text-transform:uppercase;letter-spacing:.12em;padding:14px 10px 4px}.nav button{display:flex;width:100%;border:0;background:transparent;color:var(--bb-navy-text);padding:9px 11px;border-radius:9px;text-align:left;cursor:pointer;margin:2px 0;min-height:40px}.nav button:hover,.nav button.active{background:var(--bb-blue-25);color:var(--on-brand)}.main{min-width:0}.top{min-height:68px;background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:9px 24px;position:sticky;top:0;z-index:10;gap:14px}.patient{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:5px 9px;background:var(--panel);color:var(--muted);font-size:12px}.pill.bad{background:var(--bb-warm-97);border-color:var(--bb-red-87);color:var(--bad);font-weight:750}.pill.good{background:var(--bb-green-97);border-color:var(--bb-green-90);color:var(--ok)}.content{padding:24px;max-width:1660px;margin:auto}.screen{display:none}.screen.active{display:block}.h1{font-size:24px;font-weight:800;margin:0 0 4px}.sub{color:var(--muted);margin-bottom:18px;max-width:1100px}.grid{display:grid;gap:16px}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:16px}.label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:750}.muted{color:var(--muted)}.tiny{font-size:11px;color:var(--muted)}.section-title{font-size:16px;font-weight:780;margin:0 0 11px}.section-title small{font-weight:500;color:var(--muted)}.row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.between{justify-content:space-between}.stack{display:grid;gap:10px}.btn{border:1px solid var(--line);background:var(--panel);border-radius:9px;padding:8px 11px;cursor:pointer;font-weight:650;color:var(--ink);min-height:36px}.btn:hover{border-color:var(--bb-slate-79)}.btn.primary{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}.btn.small{padding:5px 8px;font-size:12px;min-height:30px}.form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.field label{display:block;color:var(--muted);font-size:12px;margin:0 0 4px;font-weight:600}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 9px;background:var(--panel);color:var(--ink)}.field textarea{min-height:80px;resize:vertical}.alert{border-left:4px solid var(--warn);background:var(--bb-warm-98);padding:10px 12px;border-radius:8px;margin:10px 0}.alert.bad{border-left-color:var(--bad);background:var(--bb-warm-97)}.alert.ok{border-left-color:var(--ok);background:var(--bb-green-97)}.alert.info{border-left-color:var(--info);background:var(--bb-cool-75)}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:720px}.table th,.table td{padding:9px 9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--bb-cool-50);position:sticky;top:0}.table tr:last-child td{border-bottom:0}.status{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:750;white-space:nowrap}.status.ok{background:var(--bb-green-97);color:var(--ok)}.status.warn{background:var(--bb-yellow-97);color:var(--warn)}.status.bad{background:var(--bb-warm-97);color:var(--bad)}.status.info{background:var(--bb-navy-text-strong);color:var(--info)}.surgeon-aa{box-shadow:inset 4px 0 0 var(--bb-blue-50)}.surgeon-gw{box-shadow:inset 4px 0 0 var(--bb-indigo-49)}.surgeon-ms{box-shadow:inset 4px 0 0 var(--bb-green-55)}.flow{display:flex;align-items:center;gap:8px;overflow:auto;padding:9px 0}.node{min-width:150px;border:1px solid var(--line);border-radius:11px;padding:11px;background:var(--bb-cool-50)}.flow-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.flow-card{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:12px;min-height:155px}.flow-card b{display:block;margin-bottom:7px}.proc{border:1px solid var(--line);border-radius:11px;padding:12px;margin:9px 0;background:var(--panel)}.proc .proc-head{display:flex;justify-content:space-between;gap:10px}.choice{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:8px}.choice button{border:1px solid var(--line);background:var(--panel);padding:6px 8px;border-radius:8px;cursor:pointer;font-size:12px}.choice button.selected{border-color:var(--bb-blue-70);background:var(--brand2);color:var(--brand-ink);font-weight:750}.split{display:grid;grid-template-columns:minmax(430px,.92fr) minmax(500px,1.08fr);gap:16px}.note{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:28px;min-height:690px;box-shadow:var(--shadow)}.note h3{margin:18px 0 5px;font-size:14px}.note p{margin:4px 0 10px}.note .note-header{border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:14px}.stepbar{display:flex;gap:7px;margin:0 0 14px;flex-wrap:wrap}.step{background:var(--bb-cool-75);border-radius:999px;padding:6px 10px;color:var(--bb-blue-47);font-size:12px}.step.on{background:var(--bb-slate-92);color:var(--brand-text);font-weight:750}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:13px;flex-wrap:wrap}.tab{border:0;background:transparent;padding:8px 10px;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent}.tab.active{color:var(--brand-text);border-bottom-color:var(--brand);font-weight:750}.preview-letter{border:1px solid var(--line);background:var(--panel);max-width:720px;min-height:620px;margin:auto;padding:42px;box-shadow:var(--shadow)}.sig{margin-top:34px;border-top:1px solid var(--bb-slate-86);padding-top:10px;width:320px}.code-grid{display:grid;grid-template-columns:1.5fr .65fr .65fr .65fr .8fr 1.1fr;gap:0;border:1px solid var(--line);border-radius:10px;overflow:auto}.code-grid>div{padding:9px;border-bottom:1px solid var(--line);background:var(--panel);min-width:90px}.code-grid .hd{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:760;background:var(--bb-cool-50)}.editor-toolbar{display:flex;gap:6px;flex-wrap:wrap;padding:8px;border:1px solid var(--line);border-radius:10px 10px 0 0;background:var(--bb-cool-50)}.editor{min-height:420px;border:1px solid var(--line);border-top:0;border-radius:0 0 10px 10px;background:var(--panel);padding:18px;outline:none}.upload-zone{border:1px dashed var(--bb-slate-79);border-radius:11px;padding:18px;text-align:center;background:var(--bb-cool-50)}.dev-intent{margin-top:18px;border:1px dashed var(--bb-slate-79);border-radius:11px;background:var(--bb-cool-50);padding:10px 12px;color:var(--bb-blue-41)}.dev-intent summary{cursor:pointer;font-weight:750;color:var(--bb-blue-32)}.dev-intent .devgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px;font-size:12px}.dev-intent .devgrid div{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px}.footer-actions{position:sticky;bottom:0;background:var(--bb-cool-75-a96);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:11px 0;margin-top:16px;display:flex;justify-content:flex-end;gap:8px;z-index:5}.toggle{display:inline-flex;align-items:center;gap:6px}.toggle input{width:18px;height:18px}.matrix{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.matrix .box{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--panel)}.hidden{display:none!important}.mono{font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--bb-cool-50);border:1px solid var(--line);padding:10px;border-radius:9px;white-space:pre-wrap}.print-preview{border:1px solid var(--line);padding:22px;background:var(--panel);min-height:440px}.hr{height:1px;background:var(--line);margin:14px 0}.narrow{max-width:980px}.no-min{min-width:0}
@media(max-width:1320px){.flow-cards{grid-template-columns:repeat(3,1fr)}.form{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1100px){.app{grid-template-columns:86px 1fr}.brand b,.brand span,.nav button span,.nav-group,.sidefoot{display:none}.nav button{justify-content:center}.g4,.flow-cards{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}.split,.setting-side,.api-map{grid-template-columns:1fr}.form{grid-template-columns:repeat(2,1fr)}.dev-intent .devgrid{grid-template-columns:1fr}.top{padding:8px 14px}}
@media(max-width:700px){.app{grid-template-columns:1fr}.side{position:relative;height:auto;display:none}.top{position:relative}.content{padding:14px}.g6,.g4,.g3,.g2,.flow-cards,.form,.matrix{grid-template-columns:1fr}.note{padding:18px}.code-grid{grid-template-columns:repeat(6,minmax(120px,1fr))}}

.tracker-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.tracker-kpi{border:1px solid var(--line);background:var(--bb-cool-50);border-radius:10px;padding:10px}.tracker-kpi b{font-size:20px;display:block}.sync{font-size:10px;white-space:nowrap}.sync.saving{color:var(--warn)}.sync.ok{color:var(--ok)}.editor:after{content:"";display:block;clear:both}.case-demand{border:1px solid var(--line);border-radius:10px;padding:9px;margin-bottom:8px;background:var(--panel)}.editor-block{position:relative}
@media(max-width:900px){.tracker-kpis{grid-template-columns:repeat(2,1fr)}}

/* v0.9 interaction + visual-system pass */
/* :root tokens moved to theme.css */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-color:var(--bb-slate-89);border-radius:10px;padding:8px 12px;background:var(--panel);box-shadow:0 1px 2px var(--bb-indigo-12-a04);transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}
.btn:hover{background:var(--control-hover);border-color:var(--bb-slate-79);box-shadow:0 3px 10px var(--bb-indigo-12-a07)}
.btn:active{transform:translateY(1px)}
.btn:focus-visible,.filterbar input:focus-visible,.filterbar select:focus-visible,.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:0;box-shadow:var(--focus);border-color:var(--bb-blue-70)}
.btn.primary{background:var(--brand);border-color:var(--brand);box-shadow:0 3px 10px var(--bb-indigo-40-a18)}
.btn.primary:hover{background:var(--bb-indigo-36);border-color:var(--bb-indigo-36)}
.btn.subtle{background:var(--bb-cool-50);border-color:transparent;color:var(--bb-blue-34);box-shadow:none}
.btn.subtle:hover{background:var(--bb-cool-75);border-color:var(--bb-slate-89)}
.btn.small{border-radius:8px}
.filterbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--bb-cool-50)}
.filterbar input,.filterbar select{height:38px;border:1px solid var(--bb-slate-89);border-radius:9px;background:var(--panel);color:var(--ink);padding:0 10px;box-shadow:0 1px 1px var(--bb-indigo-12-a02)}
.filterbar input[type="search"],.filterbar .search{min-width:240px;flex:1 1 260px}
.filterbar select{min-width:145px;cursor:pointer}
.filterbar .filter-spacer{flex:1 1 auto}
.live-filter-note{font-size:11px;color:var(--muted);display:inline-flex;align-items:center;gap:5px;margin-left:2px}
.live-filter-note:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--bb-green-61);box-shadow:0 0 0 3px var(--bb-green-97)}
.segmented{display:flex;gap:4px;flex-wrap:wrap;padding:4px;background:var(--bb-cool-100);border:1px solid var(--bb-cool-200);border-radius:11px;min-height:40px;align-items:center}
.segmented .seg-option{border:0;background:transparent;color:var(--bb-blue-41);border-radius:8px;padding:7px 10px;cursor:pointer;font-weight:650;line-height:1.2;transition:.14s ease;white-space:nowrap}
.segmented .seg-option:hover{background:var(--bb-navy-text-strong);color:var(--bb-blue-28)}
.segmented .seg-option.selected{background:var(--panel);color:var(--brand-text);box-shadow:0 1px 5px var(--bb-blue-20-a13)}
.segmented.compact{display:inline-flex;min-height:36px;padding:3px}
.segmented.compact .seg-option{padding:6px 9px;font-size:12px}
.quick-field{display:grid;gap:5px;min-width:0}.quick-field>label{font-size:12px;font-weight:650;color:var(--muted)}
.quick-field.wide{grid-column:span 2}
.form.quick-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.fixed-value{height:40px;display:flex;align-items:center;padding:0 11px;border:1px solid var(--bb-cool-200);border-radius:10px;background:var(--bb-cool-50);color:var(--bb-blue-34);font-weight:600}
.team-person{display:flex;align-items:center;gap:9px;min-width:190px}.team-avatar{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--bb-navy-text-strong);color:var(--brand-text);font-size:11px;font-weight:850}.team-person small{display:block;color:var(--muted);font-weight:500;margin-top:1px}
.table input,.table select{border:1px solid var(--bb-slate-89);border-radius:8px;background:var(--panel);padding:6px 8px}.table select{cursor:pointer}.table tbody tr{transition:background .12s ease}.table tbody tr:hover{filter:brightness(.992)}

.filter-segments{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-segments .filter-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:750;margin-right:2px}

@media(max-width:1050px){.form.quick-form,.implant-block .form{grid-template-columns:1fr}.quick-field.wide{grid-column:auto}.filterbar .filter-spacer{display:none}}

/* v0.9 anesthesia-record workflow */
.source-strip{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px}.source-pill{display:inline-flex;gap:5px;align-items:center;padding:6px 9px;border-radius:999px;background:var(--bb-cool-75);border:1px solid var(--bb-blue-wash);color:var(--bb-blue-40);font-size:11px}.context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.context-item{border:1px solid var(--line);background:var(--bb-cool-50);border-radius:10px;padding:9px;min-height:72px}.context-item span,.context-item small{display:block;color:var(--muted);font-size:10px}.context-item b{display:block;margin:3px 0;font-size:13px}.quick-stack{display:grid;gap:11px}.quick-field>label{display:block;color:var(--muted);font-size:12px;margin-bottom:5px;font-weight:650}.toggle-chips{display:flex;gap:6px;flex-wrap:wrap}.toggle-chip{border:1px solid var(--bb-slate-89);background:var(--panel);border-radius:999px;padding:6px 10px;cursor:pointer;color:var(--bb-blue-41);font-weight:650;font-size:12px;transition:.14s ease}.toggle-chip:hover{background:var(--bb-cool-75)}.toggle-chip.selected{background:var(--bb-navy-text-strong);border-color:var(--bb-blue-70);color:var(--brand-text)}.time-buttons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.time-stamp{border:1px solid var(--bb-slate-89);background:var(--panel);border-radius:11px;padding:10px;text-align:left;cursor:pointer;min-height:62px;transition:.14s ease}.time-stamp:hover{background:var(--bb-cool-75);border-color:var(--bb-blue-77)}.time-stamp span{display:block;color:var(--muted);font-size:11px}.time-stamp b{display:block;font-size:18px;margin-top:2px}.setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.segmented.wrap{flex-wrap:wrap}.medication-table input{width:82px;border:1px solid var(--line);border-radius:7px;padding:6px}.med-events{display:flex;gap:4px;flex-wrap:wrap;max-width:500px}
.med-event-chip{display:inline-flex;gap:4px;border:1px solid var(--bb-slate-89);border-radius:999px;padding:3px 6px;background:var(--bb-cool-50);font-size:10px}.med-event-chip.waste{background:var(--bb-warm-98);border-color:var(--bb-yellow-87)}.la-list{display:grid;gap:7px}.la-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:7px 0}.aldrete-list{display:grid;gap:6px}.aldrete-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}.score-panel{display:flex;align-items:center;gap:9px;margin-top:10px;padding:10px;background:var(--bb-cool-50);border-radius:10px}.score-panel b{font-size:25px}.recovery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.segmented{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.segmented .seg-option{border:1px solid var(--bb-slate-89);background:var(--panel);padding:7px 10px;border-radius:9px;cursor:pointer;color:var(--bb-blue-41);font-weight:650;transition:.14s ease}.segmented.compact .seg-option{padding:5px 8px;font-size:12px}.segmented .seg-option:hover{background:var(--bb-cool-75)}.segmented .seg-option.selected{background:var(--bb-navy-text-strong);border-color:var(--bb-blue-70);color:var(--brand-text);box-shadow:inset 0 0 0 1px var(--bb-indigo-40-a04)}.filter-segments{display:flex;align-items:center;gap:6px}.filter-label{font-size:11px;color:var(--muted);font-weight:700}.live-filter-note{font-size:10px;color:var(--ok);font-weight:700}.filter-spacer{flex:1}.team-person{display:flex;align-items:center;gap:8px}.team-avatar{width:30px;height:30px;border-radius:9px;background:var(--bb-navy-text-strong);color:var(--brand-text);display:grid;place-items:center;font-weight:800;font-size:11px}.team-person small{display:block;color:var(--muted);font-size:9px}
@media(max-width:1100px){.context-grid{grid-template-columns:repeat(2,1fr)}.time-buttons{grid-template-columns:repeat(3,1fr)}.recovery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.context-grid,.time-buttons,.setup-grid,.recovery-grid{grid-template-columns:1fr}}

/* v1.0 production-style refinement ------------------------------------------------ */
/* :root tokens moved to theme.css */
body{background:var(--bg);letter-spacing:-.002em}
.app{grid-template-columns:232px minmax(0,1fr) 310px}
.side{padding:14px 10px;background:var(--bb-navy-900);border-right:1px solid var(--bb-navy-700)}
.brand{padding:7px 8px 14px;gap:9px}.mark{width:32px;height:32px;border-radius:4px;font-size:16px}.brand b{font-size:14px}.brand span{font-size:11px}
.nav-group{padding:14px 9px 5px;font-size:9px;color:var(--bb-navy-label)}
.nav button{position:relative;min-height:36px;padding:7px 9px;border-radius:3px;margin:1px 0;font-size:13px;transition:background .12s ease,color .12s ease}
.nav button:hover{background:var(--bb-navy-800)}.nav button.active{background:var(--bb-navy-750);color:var(--on-brand)}.nav button.active:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:2px;background:var(--bb-blue-72)}

.main{min-width:0;background:var(--bg)}
.top{min-height:58px;padding:8px 18px;box-shadow:none;border-bottom:1px solid var(--line)}
.content{padding:20px 22px 40px;max-width:none;margin:0}
.h1{font-size:22px;letter-spacing:-.02em}.sub{margin-bottom:16px;color:var(--bb-slate-52);max-width:900px}
.grid{gap:12px}.stack{gap:12px}.g2{gap:14px}.g3,.g4,.g6{gap:10px}
.card,.node,.api-core,.api-source,.flow-card,.proc,.matrix .box,.upload-zone,.preview-letter,.note,.code-grid,.source-strip,.context-item,.setup-card,.recovery-card{border-radius:0!important;box-shadow:var(--shadow)}
.card{padding:14px;border-color:var(--bb-cool-200)}.section-title{font-size:15px;margin-bottom:9px}
.btn,.choice button,.seg-option,.toolbar-btn,.time-btn,.setting-menu button{border-radius:0!important;min-height:var(--control-h);padding:6px 10px;font-weight:650;box-shadow:none;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .05s ease}
.btn{background:var(--panel);border-color:var(--bb-slate-86)}.btn:hover,.choice button:hover,.seg-option:hover{border-color:var(--bb-slate-75);background:var(--bb-cool-50)}.btn:active,.choice button:active,.seg-option:active{transform:translateY(1px)}
.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.btn.primary:hover{background:var(--brand-strong);border-color:var(--brand-strong)}
.btn.small{min-height:28px;padding:4px 8px}.btn.subtle{background:var(--bb-cool-50)}.user-btn{font-weight:600;color:var(--bb-blue-27)}.guide-toggle{background:var(--bb-cool-100);border-color:var(--bb-slate-89);color:var(--bb-blue-36)}
.icon-btn{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);background:var(--panel);border-radius:4px;cursor:pointer;font-size:18px;color:var(--bb-blue-47)}
.field input,.field select,.field textarea,.filterbar input,.filterbar select,.status-select,.search{border-radius:0!important;border-color:var(--bb-slate-86);min-height:34px;background:var(--panel);outline:none;transition:border-color .12s ease,box-shadow .12s ease}
.field input:focus,.field select:focus,.field textarea:focus,.filterbar input:focus,.filterbar select:focus,.status-select:focus,.search:focus{border-color:var(--bb-blue-64);box-shadow:0 0 0 2px var(--bb-indigo-40-a10)}
.pill,.status,.source-pill,.sync{border-radius:0!important}.pill{padding:4px 7px}.status{padding:3px 6px}
.choice{gap:5px}.choice button.selected,.seg-option.selected{border-color:var(--bb-blue-67);background:var(--bb-cool-75);color:var(--bb-navy-strong)}
.segmented{border-radius:0!important;overflow:hidden;gap:0!important}.segmented .seg-option{border-radius:0!important;margin-left:-1px}.segmented .seg-option:first-child{border-radius:0!important;margin-left:0}.segmented .seg-option:last-child{border-radius:0!important}
.tabs{gap:14px}.tab{padding:7px 1px}.step{border-radius:0!important;padding:5px 8px}.step.on{background:var(--bb-navy-text-strong)}
.table th{background:var(--bb-cool-50);color:var(--bb-blue-47)}.table th,.table td{padding:8px 9px}.table tbody tr:hover td{background:var(--bb-cool-75-a45)}
.alert{border-radius:0!important}.filterbar{background:var(--bb-cool-50);border:1px solid var(--line);border-radius:0!important;padding:8px;gap:7px}.filter-label{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}
.editor-toolbar{border-radius:0!important;background:var(--bb-cool-50);padding:6px}.editor{border-radius:0!important}

.footer-actions{background:var(--bb-cool-50-a96);padding:9px 0}
/* Keep developer commentary out of the production workspace. */
body:not(.designnotes) .dev-intent{display:none!important}
/* Contextual prototype guide */
.guide-rail{position:sticky;top:0;height:100vh;background:var(--bb-cool-50);border-left:1px solid var(--line);display:flex;flex-direction:column;z-index:11}
.guide-head{min-height:58px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--panel)}
.guide-kicker{font-size:9px;letter-spacing:.12em;font-weight:800;color:var(--bb-slate-60)}.guide-title{font-size:14px;font-weight:750;margin-top:2px}.guide-body{padding:14px;overflow:auto}.guide-copy{margin:0;color:var(--bb-blue-32-2);font-size:13px;line-height:1.5}.guide-muted{color:var(--bb-slate-55);font-size:12px;line-height:1.5}.guide-rule{height:1px;background:var(--line);margin:14px 0}.guide-section-label{font-size:9px;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:var(--bb-slate-62);margin-bottom:7px}.guide-intent{display:grid;gap:7px}.guide-intent .guide-block{border-left:2px solid var(--bb-blue-82);padding:4px 0 4px 9px;font-size:12px;color:var(--bb-slate-40)}.guide-intent .guide-block b{color:var(--bb-blue-23)}.guide-target{outline:2px solid var(--bb-blue-46-a14);outline-offset:2px}
@media(max-width:1380px){.app{grid-template-columns:220px minmax(0,1fr)}.guide-rail{display:none;position:fixed;right:0;top:0;width:320px;box-shadow:-16px 0 36px var(--bb-indigo-12-a12)}.guide-rail.open{display:flex}}
@media(min-width:1381px){.guide-rail.closed{display:none}.app:has(.guide-rail.closed){grid-template-columns:232px minmax(0,1fr)}}
@media(max-width:900px){.app{grid-template-columns:76px minmax(0,1fr)}.side{padding:10px 7px}.brand>div:last-child,.nav button span,.nav-group,.sidefoot{display:none}.nav button{justify-content:center}.content{padding:16px}.top{padding:8px 12px}.patient .pill{display:none}.g6,.g4,.g3{grid-template-columns:repeat(2,minmax(0,1fr))}.split,.setting-side{grid-template-columns:1fr}}

/* Additional compact controls */
.toggle-chip,.time-stamp,.med-event-chip,.team-avatar,.score-panel,.stepper button,.quick-action,.status-select{border-radius:0!important}
.toggle-chip{padding:5px 9px}.time-stamp{padding:8px;min-height:56px}.time-stamp b{font-size:16px}.med-event-chip{padding:3px 5px}.team-avatar{border-radius:0!important}.score-panel{padding:8px}.source-pill{padding:5px 7px}.context-item{min-height:68px;padding:8px}

/* v1.1 workflow refinement ------------------------------------------------ */
.patient-picker{display:flex;align-items:center;gap:10px;min-width:430px}.patient-select-wrap{display:grid;gap:2px}.patient-select-label{font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:var(--bb-slate-60);font-weight:800}.patient-select{border:0;background:transparent;color:var(--ink);font-size:18px;font-weight:800;letter-spacing:-.02em;padding:0 28px 0 0;min-height:26px;cursor:pointer;outline:none;max-width:520px}.patient-meta{font-size:11px;color:var(--muted)}.patient-avatar{width:38px;height:38px;border-radius:4px;background:var(--bb-navy-text-strong);color:var(--brand-text);display:grid;place-items:center;font-weight:800}.tracker-surgeon-filter{display:flex;align-items:center;gap:6px}.tracker-surgeon-filter .filter-label{margin-right:2px}.top .pill{white-space:nowrap}@media(max-width:1050px){.patient-picker{min-width:280px}.patient-select{font-size:16px;max-width:330px}.top{align-items:flex-start;flex-wrap:wrap}}

/* v1.3 documentation focus ------------------------------------------------ */
.module-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.module-head .sub{margin-bottom:0}.module-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.preview-btn{display:inline-flex;align-items:center;gap:7px}.recording-bar{display:none;align-items:center;gap:10px;border:1px solid var(--bb-warm-82);background:var(--bb-gray-98);padding:8px 10px;border-radius:4px;margin-bottom:12px}.recording-bar.active{display:flex}.recording-dot{width:8px;height:8px;border-radius:50%;background:var(--bb-red-40);box-shadow:0 0 0 4px var(--bb-red-40-a10)}.recording-time{font-variant-numeric:tabular-nums;font-weight:800}.workspace-wide{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.op-grid{display:grid;grid-template-columns:minmax(360px,.72fr) minmax(520px,1.28fr);gap:14px}.context-source{display:flex;align-items:center;justify-content:flex-end;gap:6px;color:var(--bb-cool-600);font-size:11px}.doc-icon{width:22px;height:22px;border:1px solid var(--bb-slate-86);display:grid;place-items:center;border-radius:4px;background:var(--panel)}.preview-overlay{display:none;position:fixed;inset:0;background:var(--bb-blue-11-a42);z-index:1000;padding:28px}.preview-overlay.open{display:grid;place-items:center}.preview-shell{width:min(980px,94vw);height:min(92vh,980px);background:var(--bb-cool-50);border:1px solid var(--bb-slate-86);border-radius:6px;box-shadow:0 24px 70px var(--bb-blue-11-a24);display:grid;grid-template-rows:auto 1fr}.preview-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--panel)}.preview-scroll{overflow:auto;padding:22px}.preview-document{max-width:760px;margin:auto;background:var(--panel);border:1px solid var(--bb-slate-89);padding:42px;min-height:900px;box-shadow:0 1px 2px var(--bb-indigo-12-a04)}.preview-document h2{font-size:18px;margin:0 0 18px}.preview-document h3{font-size:14px;margin:18px 0 5px}.preview-document p{margin:4px 0 10px}.clinical-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.clinical-statusbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:4px;background:var(--bb-cool-50);margin-top:10px}.clinical-statusbar .tiny{margin:0}.tracker-table th:nth-last-child(-n+3){white-space:nowrap}.tracker-patient{min-width:155px}.tracker-next{min-width:170px}.tracker-context{color:var(--bb-slate-40)}.surgeon-segments-inline{display:flex;align-items:center;gap:6px}.surgeon-segments-inline .segmented{min-width:max-content}@media(max-width:1050px){.op-grid{grid-template-columns:1fr}.context-source{justify-content:flex-start}}
.med-event-editor{display:grid;grid-template-columns:minmax(72px,.8fr) minmax(92px,1fr) auto;gap:5px;align-items:center;margin:4px 0}.med-event-editor input,.med-event-editor select{width:100%;border:1px solid var(--line);border-radius:4px;padding:5px 6px;background:var(--panel);font-size:11px}.med-event-note{font-size:10px;color:var(--muted);margin-top:4px}.anes-preview-table{width:100%;border-collapse:collapse;margin:10px 0 18px}.anes-preview-table th,.anes-preview-table td{border-bottom:1px solid var(--bb-cool-200);padding:6px 7px;text-align:left;vertical-align:top;font-size:11px}.anes-preview-table th{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--bb-blue-49);background:var(--bb-cool-50)}.anes-preview-section{margin:18px 0}.anes-preview-section h3{border-bottom:1px solid var(--bb-cool-200);padding-bottom:5px}.anes-preview-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.anes-preview-summary div{border:1px solid var(--bb-cool-200);padding:8px;border-radius:4px}.anes-preview-summary span{display:block;font-size:9px;text-transform:uppercase;color:var(--bb-slate-55);letter-spacing:.05em}.anes-preview-summary b{display:block;margin-top:3px;font-size:12px}@media(max-width:760px){.anes-preview-summary{grid-template-columns:1fr}.med-event-editor{grid-template-columns:1fr 1fr auto}}

.case-time-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:8px}.case-time-field{border:1px solid var(--line);background:var(--panel);padding:10px;display:grid;grid-template-columns:1fr auto;gap:7px;align-items:end}.case-time-field label{grid-column:1/-1;font-size:11px;color:var(--muted);font-weight:750;text-transform:uppercase;letter-spacing:.05em}.case-time-field input{min-width:0;width:100%;height:34px;border:1px solid var(--line);border-radius:4px;padding:5px 7px;font-weight:750}.recon-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:12px}.recon-toolbar .field{min-width:160px}.recon-table input{width:86px}.live-filter-note{display:none!important}@media(max-width:1100px){.case-time-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}

/* v1.8 brand + resilient preview + fresh demo dataset */
.brand{padding:14px 12px 16px;align-items:center}

.doc-brand{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--bb-navy-750);color:var(--on-brand);padding:12px 15px;margin:-20px -20px 22px;border-bottom:3px solid var(--bb-blue-67)}
.doc-brand-logo{height:34px;max-width:180px;object-fit:contain;object-position:left center}
.doc-brand-copy{font-size:10px;text-align:right;line-height:1.35;color:var(--bb-blue-wash)}
.preview-error{padding:14px;border:1px solid var(--bb-red-82-2);background:var(--bb-gray-98);color:var(--bb-red-31)}
.preview-document .preview-empty{padding:22px;text-align:center;color:var(--bb-blue-47);border:1px dashed var(--bb-slate-86)}

.cc-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cc-tile{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow)}
.cc-tile .label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:700}
.cc-tile b{display:block;font-size:26px;font-weight:800;line-height:1.25;margin-top:2px}
.cc-tile.is-blocked{border-color:var(--bb-red-82);background:var(--bb-gray-98)}.cc-tile.is-blocked b{color:var(--bad)}
.cc-tile.is-review{border-color:var(--bb-yellow-87);background:var(--bb-gray-99)}.cc-tile.is-review b{color:var(--warn)}
.cc-tile.is-ready b{color:var(--ok)}
.cc-table{min-width:840px}
.cc-table td{vertical-align:top}
.cc-issues td{padding-top:0;border-bottom:2px solid var(--line)}
.cc-issuebar{display:flex;gap:10px;flex-wrap:wrap;padding:8px 10px;border-radius:8px;background:var(--bb-cool-50);border:1px solid var(--line)}
.cc-issuebar.err{background:var(--bb-warm-97);border-color:var(--bb-red-82)}
.cc-issuebar.warn{background:var(--bb-warm-98);border-color:var(--bb-yellow-87)}

.cc-od{display:flex;flex-direction:column;gap:3px}
.cc-od code{font-size:11px;color:var(--muted)}
.cc-code select,.cc-decision select{width:100%;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.cc-code select:disabled{background:var(--bb-cool-100);color:var(--bb-slate-60);cursor:not-allowed}
.cc-codehint{font-size:11px;margin-top:4px;color:var(--muted);line-height:1.45}
.cc-codehint.changed{color:var(--brand-text);font-weight:650}
.cc-derived{font-size:11px;margin-top:4px;color:var(--ok);font-weight:650;line-height:1.45}
.cc-override{font-size:11px;margin-top:4px;color:var(--warn);font-weight:650;line-height:1.45}
.cc-lock{margin-top:5px;font-size:11px;color:var(--bad);font-weight:650;cursor:pointer}
.cc-lockdetail{margin-top:6px;padding:8px 9px;border-left:3px solid var(--bad);background:var(--bb-warm-97);border-radius:6px;font-size:11px;line-height:1.5;color:var(--bb-red-29)}
.cc-issue{font-size:11.5px;font-weight:650;line-height:1.45}
.cc-issue.err{color:var(--bad)}.cc-issue.warn{color:var(--warn)}
.cc-lower{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
@media(max-width:1240px){.cc-lower{grid-template-columns:1fr}.cc-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cc-phase{margin:12px 0 4px;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line);padding-top:11px}
.cc-phase:first-child{margin-top:0;border-top:0;padding-top:0}
.cc-step{display:flex;gap:10px;padding:9px 0;border-bottom:1px dashed var(--line)}
.cc-step:last-child{border-bottom:0}
.cc-step .n{width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:var(--brand2);color:var(--brand-ink);display:grid;place-items:center;font-size:11px;font-weight:800;margin-top:1px}
.cc-step.gate .n{background:var(--bb-yellow-97);color:var(--warn)}
.cc-step code{display:inline-block;background:var(--bb-cool-100);border:1px solid var(--line);border-radius:6px;padding:1px 5px;font-size:11px;margin-right:5px}
.cc-step .what{font-size:12.5px;line-height:1.5}
.cc-gatewarn{margin-top:10px;padding:9px 11px;border-left:4px solid var(--warn);background:var(--bb-warm-98);border-radius:8px;font-size:12px;line-height:1.5}
.cc-whoami{display:flex;align-items:center;gap:8px}
.enc-flow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px;padding:9px 12px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.enc-flow .st{display:flex;gap:7px;align-items:center;padding:5px 10px;border-radius:9px;font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer;border:1px solid transparent;background:none}
.enc-flow .st.on{background:var(--brand2);color:var(--brand-ink);border-color:var(--bb-blue-edge)}
.enc-flow .st .dot{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:800;background:var(--bb-cool-100);color:var(--muted)}
.enc-flow .st.on .dot{background:var(--brand);color:var(--on-brand)}
.enc-flow .st.done .dot{background:var(--bb-green-97);color:var(--ok)}
.enc-flow .sep{color:var(--bb-navy-text);font-weight:800}
.cs-set{padding:13px 0;border-bottom:1px dashed var(--line)}
.cs-set:last-child{border-bottom:0}
.cs-set .hd{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.cs-opts{display:flex;gap:7px;flex-wrap:wrap}
.cs-opt{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:8px 11px;cursor:pointer;font-size:12.5px;font-weight:650;text-align:left;color:var(--ink);line-height:1.35;max-width:270px}
.cs-opt small{display:block;color:var(--muted);font-weight:500;font-size:11px;margin-top:2px}
.cs-opt.on{border-color:var(--brand);background:var(--brand2);color:var(--brand-ink)}
.cs-opt.on small{color:var(--brand-ink)}
.cc-diverge{margin-top:14px;border:1px solid var(--bb-yellow-87);background:var(--bb-gray-99);border-radius:14px;padding:15px 16px;box-shadow:var(--shadow)}
.cc-diverge.clean{border-color:var(--bb-green-90);background:var(--bb-gray-98-2)}
.cc-diverge h4{margin:0 0 4px;font-size:15px;font-weight:780}
.cc-dv{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px dashed var(--bb-yellow-88)}
.cc-dv:last-of-type{border-bottom:0}

.cc-ack{display:flex;gap:9px;align-items:flex-start;margin-top:11px;padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:9px}
.cc-ack input{margin-top:2px;width:17px;height:17px}
.cc-attrib{font-size:11px;color:var(--muted);margin-top:3px;line-height:1.45}
.cc-actline{font-weight:700;font-size:13px;line-height:1.35}

.cc-action select{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.cc-code select{max-width:100%}
.btn.primary:disabled{background:var(--bb-blue-76);border-color:var(--bb-blue-76);cursor:not-allowed}
.op-proc{border:1px solid var(--line);border-radius:11px;padding:11px 12px;margin-top:9px;background:var(--panel)}
.op-proc.missing{border-color:var(--bb-yellow-87);background:var(--bb-gray-99)}

.op-proc-head{display:flex;gap:9px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.op-proc-head b{font-size:14px}
.op-facts{display:flex;gap:14px;flex-wrap:wrap;margin-top:9px}
.op-fact label{display:block;color:var(--muted);font-size:11px;font-weight:650;margin-bottom:3px}
.op-fact select{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);min-width:210px}
.op-fact.needed select{border-color:var(--bb-yellow-73);background:var(--bb-gray-99)}
.op-drives{margin-top:8px;font-size:11.5px;font-weight:650;color:var(--ok)}
.op-drives.missing{color:var(--warn)}
.op-seg{display:flex;gap:3px;padding:3px;background:var(--bb-cool-100);border:1px solid var(--bb-cool-200);border-radius:9px}
.op-seg button{border:0;background:transparent;border-radius:7px;padding:5px 9px;font-size:12px;font-weight:650;color:var(--bb-blue-41);cursor:pointer;white-space:nowrap}
.op-seg button.on{background:var(--panel);color:var(--brand-text);box-shadow:0 1px 3px var(--bb-blue-20-a14)}

.avs-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
@media(max-width:1300px){.avs-layout{grid-template-columns:1fr}}
.avs-status{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.avs-track{flex:1;min-width:250px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow)}
.avs-track .label{font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:700;color:var(--muted)}
.avs-track b{display:block;font-size:15px;margin-top:3px}
.avs-track.live{border-color:var(--bb-green-90);background:var(--bb-gray-98-2)}
.avs-track.wait{border-color:var(--bb-yellow-87);background:var(--bb-gray-99)}
.avs-blk{border:1px solid var(--line);border-radius:11px;padding:11px 12px;margin-top:9px}
.avs-blk.off{opacity:.55;background:var(--bb-cool-50)}
.avs-blk .hd{display:flex;justify-content:space-between;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:6px}
.avs-blk textarea{width:100%;min-height:82px;border:1px solid var(--line);border-radius:8px;padding:9px;font:inherit;line-height:1.5}
.avs-blk .src{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.avs-why{font-size:11px;color:var(--muted);line-height:1.45;margin:0 0 7px;padding-left:9px;border-left:2px solid var(--line)}
.avs-inserts{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}
.avs-ins{border:1px solid var(--line);background:var(--panel);border-radius:11px;padding:9px 11px;cursor:pointer;font-weight:650;font-size:12.5px;display:flex;gap:9px;align-items:center;text-align:left}
.avs-ins.on{border-color:var(--brand);background:var(--brand2);color:var(--brand-ink)}
.avs-ins img{width:34px;height:34px}
.avs-ins small{display:block;font-weight:500;color:var(--muted);font-size:11px}
.avs-ins.on small{color:var(--brand-text)}
.avs-preview-card{position:sticky;top:84px}
.avs-paper{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:26px 30px;margin-top:10px;max-height:640px;overflow:auto;font-size:12.5px;line-height:1.55;color:var(--bb-slate-19)}
.avs-paper .lh{display:flex;justify-content:flex-end;font-size:10.5px;color:var(--bb-cool-600);line-height:1.5;margin-bottom:16px;text-align:right}
.avs-paper h2{font-size:15px;margin:0 0 10px}
.avs-paper h3{font-size:12.5px;margin:15px 0 5px;font-weight:800}
.avs-paper p,.avs-paper li{font-size:12px}
.avs-paper ul{margin:5px 0;padding-left:17px}
.avs-qr{display:flex;gap:16px;flex-wrap:wrap;margin:12px 0;padding:11px;border:1px dashed var(--line);border-radius:8px}
.avs-qr figure{margin:0;text-align:center;width:96px}
.avs-qr img{width:74px;height:74px}
.avs-qr figcaption{font-size:9.5px;color:var(--bb-cool-600);margin-top:3px;line-height:1.3}
.avs-photo{margin:11px 0;border:1px dashed var(--line);border-radius:8px;padding:22px;text-align:center;color:var(--muted);font-size:11px;background:var(--bb-cool-50)}

.find-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:6px}
@media(max-width:1000px){.find-grid{grid-template-columns:1fr}}
.find-hd{font-weight:750;font-size:12.5px;margin-bottom:7px}
.find-hd .tiny{display:block;font-weight:400;margin-top:2px}
.find-row{display:flex;gap:9px;align-items:flex-start;padding:7px 0;border-bottom:1px dashed var(--line)}
.find-row:last-child{border-bottom:0}
.find-row input[type=checkbox]{width:17px;height:17px;margin-top:1px;flex:0 0 17px}
.find-row label{font-size:12.5px;line-height:1.4;cursor:pointer}

.find-row.on label{font-weight:650}
.find-preview{margin-top:12px;padding:11px 13px;background:var(--bb-cool-50);border:1px solid var(--line);border-radius:10px}
.find-preview p{margin:0 0 3px;font-size:12.5px;line-height:1.5}
.find-preview .none{color:var(--muted);font-style:italic}

.tq-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:1100px){.tq-grid{grid-template-columns:1fr}}
.tq-imp{border:1px solid var(--line);border-radius:11px;padding:11px 12px;margin-top:9px}
.tq-note{background:var(--bb-cool-50);border:1px solid var(--line);border-radius:10px;padding:14px;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;margin-top:9px;max-height:520px;overflow:auto}

.cb-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.cb-tab{border:1px solid var(--line);background:var(--panel);border-radius:11px;padding:10px 14px;cursor:pointer;font-weight:700;font-size:13px;color:var(--ink);display:flex;gap:9px;align-items:center;box-shadow:var(--shadow)}
.cb-tab .n{background:var(--bb-cool-100);color:var(--muted);border-radius:999px;padding:1px 8px;font-size:11.5px;font-weight:800}
.cb-tab.on{border-color:var(--brand);background:var(--brand2);color:var(--brand-ink)}
.cb-tab.on .n{background:var(--brand);color:var(--on-brand)}
.cb-tab .urgent{background:var(--bb-warm-97);color:var(--bad)}
.cb-note{margin-top:12px;padding:10px 12px;background:var(--bb-cool-50);border:1px solid var(--line);border-radius:9px;font-size:11.5px;line-height:1.5;color:var(--muted)}
.cb-dup{display:inline-flex;align-items:center;gap:5px;background:var(--bb-yellow-97);color:var(--warn);border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:800;margin-left:6px}
.cb-status select{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);width:100%}
.cb-sync{font-size:10.5px;font-weight:700;margin-top:4px}
body.clinicwide .top .patient{display:none}
.clinic-label{display:none;font-weight:800;font-size:13px;color:var(--brand-text)}
body.clinicwide .clinic-label{display:block}

.day-list{margin-top:10px;border:1px solid var(--line);border-radius:11px;overflow:hidden}
.day-row{display:grid;grid-template-columns:64px 1fr 190px 150px;gap:12px;align-items:center;padding:10px 13px;border-bottom:1px solid var(--line)}
.day-row:last-child{border-bottom:0}
.day-row.on{background:var(--brand2)}
.day-time{font-weight:800;font-size:13px;color:var(--brand-text)}
@media(max-width:1000px){.day-row{grid-template-columns:56px 1fr;row-gap:6px}.day-state,.day-row>div:last-child{grid-column:2}}

/* ============ CLINICAL MODE ============
   Default state. Strips every explanatory element the prototype uses to
   describe itself, leaving only what someone mid-case needs to see. */
body.clinical .dev-intent,
body.clinical #guideRail,
body.clinical .guide-toggle,
body.clinical .cc-gatewarn,
body.clinical .cb-note,
body.clinical .cc-sync,
body.clinical .avs-why,
body.clinical .cc-phase,
body.clinical #ccPlanCard,
body.clinical .api-map,
body.clinical .flow-cards,
body.clinical .source-strip,
body.clinical .explain,
body.clinical .cs-opt small,
body.clinical .avs-ins small,
body.clinical .fp-warn .why,
body.clinical .module-head .sub,
body.clinical .h1 + .sub,
body.clinical .section-title + .tiny,
body.clinical .row.between .tiny:not(.keep){display:none!important}
body.clinical .cc-lower{grid-template-columns:1fr}
body.clinical .avs-status .avs-track:nth-child(3){display:none}
body.clinical .content{max-width:1280px}
body.clinical .card{padding:15px}

body.clinical #ccWho, body.clinical #ccProvenance, body.clinical .cc-whoami .tiny{display:none!important}

body.clinical .h1{font-size:22px}
body.clinical .module-head{align-items:flex-start;gap:14px}

.nav-group{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.nav-scope{font-size:9px;letter-spacing:.06em;text-transform:uppercase;font-weight:800;color:var(--bb-blue-56);border:1px solid var(--bb-navy-600);border-radius:999px;padding:1px 6px}
.nav-scope.patient{color:var(--bb-blue-82-2);border-color:var(--bb-blue-40-2)}
body.clinicwide .nav-scope.patient{opacity:.35}
.scope-band{display:none;align-items:center;gap:8px;margin-bottom:12px;padding:7px 12px;border-radius:9px;background:var(--brand2);border:1px solid var(--bb-blue-edge);font-size:12px;font-weight:650;color:var(--brand-ink)}
body:not(.clinicwide) .screen.active .scope-band{display:flex}

.pill.warn{background:var(--bb-yellow-97);border-color:var(--bb-yellow-87);color:var(--warn)}

.pill.good{background:var(--bb-green-97);border-color:var(--bb-green-90);color:var(--ok)}

/* ==========================================================
   CALM LAYER — spacing and hierarchy do the work that
   borders, shadows and colour were doing before.
   ========================================================== */
/* :root tokens moved to theme.css */

body{ font-size:14px; line-height:1.6; letter-spacing:-.002em; }
.content{ padding:36px 44px 80px; max-width:1200px; }
@media(max-width:1100px){ .content{ padding:24px 20px 60px; } }

/* surfaces */
.card{ border:1px solid var(--bb-cool-75); box-shadow:none; padding:26px 28px; border-radius:18px; }
.card + .card{ margin-top:20px; }
.card.no-min{ padding:26px 28px; }
body.clinical .card{ padding:26px 28px; }

/* type */
.h1{ font-size:28px; font-weight:760; letter-spacing:-.02em; line-height:1.2; margin:0 0 4px; }
body.clinical .h1{ font-size:28px; }
.sub{ font-size:14px; color:var(--muted); max-width:70ch; margin-bottom:22px; }
.section-title{ font-size:16.5px; font-weight:720; letter-spacing:-.01em; margin:0 0 4px; }
.tiny{ font-size:12px; line-height:1.55; }
.module-head{ margin-bottom:24px; }

/* chrome that was shouting */
.pill{ border:1px solid transparent; background:var(--bb-cool-100); color:var(--bb-cool-600); font-size:11.5px; padding:5px 10px; font-weight:650; }
.pill.quiet{ background:transparent; color:var(--bb-slate-62); padding-left:0; }
.pill.good{ background:var(--bb-green-97); color:var(--bb-green-46); border-color:transparent; }
.status{ font-weight:700; font-size:11px; padding:4px 9px; }
.status.info{ background:var(--bb-cool-100); color:var(--bb-cool-600); }
.alert{ border-radius:12px; padding:13px 15px; margin:10px 0; border-left-width:3px; }

/* rhythm */
.grid{ gap:18px; }
.cc-summary, .tracker-kpis, .avs-status, .cap-sources{ gap:18px; }
.cc-lower, .avs-layout, .tq-grid, .find-grid{ gap:20px; }

/* sidebar: same navy, far fewer edges */
.side{ padding:26px 16px; background:var(--bb-navy-900); }
.brand{ padding:4px 8px 26px; }
.nav-group{ padding:18px 12px 6px; font-size:9.5px; letter-spacing:.14em; color:var(--bb-blue-50-2); }
.nav button{ padding:8px 12px; margin:1px 0; border-radius:10px; font-weight:600; color:var(--bb-slate-79); min-height:36px; line-height:1.3; }
.nav button:hover{ background:var(--bb-navy-800); }
.nav button.active{ background:var(--bb-blue-28-2); color:var(--on-brand); font-weight:700; }
.nav-scope{ border:0; background:var(--bb-navy-800); color:var(--bb-blue-60); font-size:8.5px; padding:2px 7px; }
.nav-scope.patient{ background:var(--bb-blue-28-2); color:var(--bb-blue-81); }

.nav{ padding-bottom:8px; }
.side{ display:flex; flex-direction:column; }

/* header */
.top{ min-height:78px; padding:14px 44px; border-bottom:1px solid var(--line); gap:18px; }
@media(max-width:1100px){ .top{ padding:12px 20px; } }
.patient-select-label{ font-size:9.5px; letter-spacing:.13em; }
.patient-meta{ font-size:11.5px; }

/* controls */
.btn{ padding:10px 15px; border-radius:11px; font-weight:650; border-color:var(--bb-cool-200); }
.btn.small{ padding:6px 11px; border-radius:9px; }
.btn.primary{ box-shadow:0 1px 2px var(--bb-indigo-40-a25); }
.footer-actions{ padding:16px 0; border-top:1px solid var(--line); }

/* tables read as rows, not as a grid */
.table th{ font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--bb-slate-62); font-weight:750;
  border-bottom:1px solid var(--line); padding:8px 10px; }
.table td{ padding:14px 10px; border-bottom:1px solid var(--bb-cool-100); }
.table tr:last-child td{ border-bottom:0; }

/* module-specific softening */
.scope-band{ background:transparent; border:0; padding:0 0 4px; margin-bottom:16px; color:var(--bb-slate-57); font-weight:600; }
.scope-band b{ color:var(--ink); font-weight:750; }
.enc-flow{ border:0; background:var(--bb-cool-75); padding:8px 10px; border-radius:13px; margin-bottom:22px; }
.day-list, .fp-list, .cap-item, .avs-blk, .op-proc, .tq-imp, .prod-wrap{ border-radius:14px; }
.day-row{ padding:14px 16px; border-bottom:1px solid var(--bb-cool-100); }

.cc-tile, .tracker-kpi, .avs-track, .cap-src{ box-shadow:none; border:1px solid var(--bb-cool-75); border-radius:16px; padding:18px 20px; }
.cc-tile b{ font-size:30px; letter-spacing:-.02em; }

.op-seg, .segmented, .cc-seg{ background:var(--bb-cool-100); border-color:transparent; }
.cs-opt{ border-radius:12px; padding:11px 13px; }

.card .label{ font-size:10px; letter-spacing:.1em; color:var(--bb-slate-62); font-weight:750; }

/* clinical mode: one accent, alerts only where something is wrong */
body.clinical .status.ok{ background:transparent; color:var(--bb-green-46); padding-left:0; }
body.clinical .alert.ok{ background:transparent; border-left-color:var(--bb-green-89); padding-left:13px; }
body.clinical .pill:not(.bad):not(.warn){ background:transparent; color:var(--bb-slate-62); padding-left:0; }

.stage{ margin-top:26px; }
.stage:first-child{ margin-top:0; }
.stage-head{ display:flex; align-items:baseline; gap:11px; margin:0 0 12px; flex-wrap:wrap; }
.stage-n{ width:24px; height:24px; flex:0 0 24px; border-radius:50%; background:var(--brand2); color:var(--brand-ink);
  display:grid; place-items:center; font-size:11px; font-weight:800; align-self:center; }
.stage-head b{ font-size:16px; font-weight:740; letter-spacing:-.01em; }
.stage .card + .card{ margin-top:16px; }
.stepbar .step{ font-size:11.5px; }

/* the anaesthesia record is a single vertical pass, like the paper form */
#anesthesia .grid.g2, #anesthesia .grid.g3{ grid-template-columns:1fr; }
#anesthesia .anes-stages .card{ margin-top:0; }
#anesthesia .stage .card + .card{ margin-top:16px; }
#anesthesia .context-grid{ grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); }

.lh-row{ display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:18px; }
.lh-logo{ width:172px; height:auto; }
.avs-paper .lh-row .lh{ margin:0; }
.brand{ display:block; padding:6px 8px 8px; }

.doc-brand-logo{ width:186px; height:auto; }

.avs-paper .lh{ margin-bottom:10px; }

.sde-body{ margin-top:11px; padding:14px 16px; background:var(--bb-cool-50); border-radius:13px; }
.sde-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media(max-width:1000px){ .sde-grid{ grid-template-columns:1fr; } }
.sde-grid label{ display:block; color:var(--muted); font-weight:650; margin-bottom:4px; }
.sde-grid textarea{ width:100%; border:1px solid var(--line); border-radius:9px; padding:9px 10px; font:inherit; line-height:1.5; }

.dc-table{ min-width:0; font-size:12px; margin:6px 0 10px; }
.dc-table th{ font-size:9.5px; }
.dc-table td{ padding:7px 8px; }

.apap{ background:var(--bb-warm-98); border-left:3px solid var(--warn); border-radius:9px; padding:10px 12px; font-size:11.5px; line-height:1.55; }
#tnote .tq-note{ max-height:none; }

/* commentary the prototype uses to describe itself */
body.clinical .note-only,
body.clinical .auto-note,
body.clinical .scope-band,
body.clinical .stage-head .tiny,
body.clinical .enc-flow .tiny{ display:none!important; }
body.clinical .stage-head{ margin-bottom:10px; }
body.clinical .module-head{ margin-bottom:18px; }
body.clinical .section-title{ margin-bottom:10px; }

.lanes{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:14px; }
@media(max-width:1150px){ .lanes{ grid-template-columns:1fr; } }
.lane{ border:1px solid var(--bb-cool-75); border-radius:14px; overflow:hidden; }

body.clinical .patient-meta{ display:none; }
body.clinical .patient-select-label{ display:none; }
.cb-cleared{ opacity:.5; }
.cb-over{ display:inline-block; margin-left:7px; background:var(--bb-warm-97); color:var(--bad);
  border-radius:999px; padding:2px 8px; font-size:10px; font-weight:800; letter-spacing:.03em; }

/* a subtitle rule was swallowing counters that sit next to a section title */
body.clinical .section-title + .tiny.keep{ display:inline!important; }

.la-row2{ display:grid; grid-template-columns:242px auto; justify-content:start; gap:18px;
  align-items:center; padding:6px 0; border-bottom:1px solid var(--bb-cool-100); }
.la-row2:last-child{ border-bottom:0; }
.la-name{ font-size:13.5px; font-weight:650; line-height:1.25; }
.la-opts{ display:flex; gap:3px; flex-wrap:nowrap; }
.la-opt{ min-width:36px; height:36px; padding:0 8px; border:1px solid var(--line); background:var(--panel);
  border-radius:8px; font-size:13px; font-weight:650; color:var(--bb-cool-600); cursor:pointer; }
.la-opt:hover{ border-color:var(--bb-navy-text); }
.la-opt.on{ border-color:var(--brand); background:var(--brand2); color:var(--brand-ink); }
.la-opt.na{ min-width:44px; margin-left:6px; }
.la-opt.na.on{ border-color:var(--bb-slate-86); background:var(--bb-cool-100); color:var(--bb-cool-600); }
@media(max-width:900px){ .la-row2{ grid-template-columns:1fr; gap:5px; justify-content:stretch; } }

.local-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media(max-width:820px){ .local-grid{ grid-template-columns:1fr; } }
.local-grid label{ display:block; color:var(--muted); font-weight:650; margin-bottom:4px; }
.local-grid input{ width:100%; padding:9px 10px; border:1px solid var(--line); border-radius:9px; font:inherit; }
.local-grid input:focus{ outline:none; border-color:var(--brand); }

/* ==========================================================================
   v6.0 — BluebirdOS design system 0.2
   Brand: BluebirdOS guidelines, June 2024. One job per colour.
   ========================================================================== */
/* :root tokens moved to theme.css */
body{ font-family:var(--ui); font-size:15px; line-height:1.5; color:var(--ink);
      background:var(--bg); font-variant-numeric:tabular-nums; }

/* ---- the case tray ---------------------------------------------------- */
.app{ grid-template-columns:248px minmax(0,1fr); }
.side{ background:var(--ink); border-right:0; padding:26px 0 22px;
       display:flex; flex-direction:column; }
.brand{ display:flex; align-items:center; gap:10px; padding:0 24px 6px; }
.brand .bird{ width:26px; height:auto; display:block; opacity:.95; }
.brand b{ color:var(--on-brand); font-size:15px; font-weight:700; letter-spacing:-.01em; }

.nav{ padding-bottom:8px; }
.nav-group{ padding:22px 24px 6px; font-size:10px; font-weight:700; letter-spacing:.13em;
            text-transform:uppercase; color:var(--bb-white-a30); display:block; }
.nav-scope{ display:none; }
.nav button{ display:block; width:100%; text-align:left; background:none; border:0;
             cursor:pointer; padding:10px 24px; margin:0; border-radius:0;
             position:relative; min-height:var(--tap); font-family:inherit; }
.nav button span{ display:block; font-size:14.5px; font-weight:600;
                  color:var(--bb-white-a70); line-height:1.25; }
.nav button i{ display:block; font-family:var(--id); font-style:normal; font-size:11.5px;
               margin-top:3px; color:var(--bb-white-a34); min-height:1px; }
.nav button:before{ content:''; position:absolute; left:0; top:7px; bottom:7px; width:3px;
                    border-radius:0 3px 3px 0; background:transparent; }
.nav button:hover{ background:var(--bb-white-a05); }
.nav button:hover span{ color:var(--on-brand); }
.nav button.active{ background:var(--bb-blue-a18); }
.nav button.active:before{ background:var(--blue); }
.nav button.active span{ color:var(--on-brand); font-weight:700; }
.nav button i.done{ color:var(--bb-green-71); }
.nav button i.wait{ color:var(--bb-yellow-68); }
.nav button i.stop{ color:var(--bb-red-65); }

/* ---- the patient bar --------------------------------------------------- */
.top{ min-height:0; background:var(--panel); border-bottom:1px solid var(--hair);
      padding:16px 40px; gap:24px; align-items:flex-end; box-shadow:none; }

.top{ justify-content:flex-start; }

.patient-select-label,.patient-meta,.patient-avatar,.top-brand-mark{ display:none!important; }

/* ---- surfaces ---------------------------------------------------------- */
.content{ padding:40px 40px 96px; max-width:1280px; }
.card{ background:var(--panel); border:1px solid var(--hair); border-radius:10px;
       box-shadow:none; padding:24px 26px; }
.card + .card{ margin-top:20px; }
.h1{ font-family:var(--dis); font-size:31px; font-weight:300; letter-spacing:-.012em;
     line-height:1.1; margin:0 0 6px; }
body.clinical .h1{ font-size:31px; }
.sub{ font-size:15px; color:var(--ink-2); max-width:68ch; margin-bottom:26px; }
.section-title{ font-size:19px; font-weight:700; letter-spacing:-.006em; margin:0 0 4px; }
.label,.tiny{ color:var(--ink-2); }
.label{ font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
        color:var(--ink-3); }
.tiny{ font-size:12.5px; line-height:1.5; }

/* ---- identifiers are monospaced ---------------------------------------- */
code,.mono,.cc-od code,.bb-id{ font-family:var(--id); }
.table td code, .cc-od code{ font-size:12.5px; font-weight:500; color:var(--ink-2); }

/* ---- controls ---------------------------------------------------------- */
.btn{ border:1px solid var(--hair); background:var(--panel); border-radius:9px; padding:0 16px;
      min-height:var(--tap); font-weight:600; font-size:14.5px; color:var(--ink); box-shadow:none; }
.btn:hover{ background:var(--linen); border-color:var(--stone); box-shadow:none; }
.btn.small{ min-height:36px; padding:0 12px; font-size:13px; border-radius:8px; }
.btn.primary{ background:var(--ink); border-color:var(--ink); color:var(--on-brand); box-shadow:none; }
.btn.primary:hover{ background:var(--bb-gray-0); border-color:var(--bb-gray-0); }

.btn.subtle{ background:var(--linen); border-color:transparent; color:var(--ink-2); }
.btn:focus-visible{ outline:0; box-shadow:var(--focus); border-color:var(--blue); }
.field input,.field select,.field textarea,.filterbar input,.filterbar select,
.status-select,.cap-actions select{ border:1px solid var(--hair); border-radius:9px;
  background:var(--panel); color:var(--ink); font-family:var(--ui); }
.field input,.field select,.filterbar input,.filterbar select{ min-height:var(--tap); padding:0 12px; }
.field label{ font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
              color:var(--ink-3); }
.segmented,.op-seg,.cc-seg,.mode-toggle{ background:var(--linen); border-color:transparent;
  border-radius:10px; }
.segmented .seg-option,.op-seg button{ color:var(--ink-2); font-weight:600; border-radius:8px; }
.segmented .seg-option.on,.segmented .seg-option.active,.op-seg button.on{
  background:var(--panel); color:var(--ink); font-weight:700; box-shadow:0 1px 2px var(--bb-ink-a10); }

/* ---- state ------------------------------------------------------------- */
.pill{ border:0; background:var(--linen); color:var(--ink-2); font-size:12px;
       font-weight:600; padding:6px 11px; border-radius:999px; }
.pill.quiet{ background:transparent; padding-left:0; color:var(--ink-3); }
.pill.good{ background:var(--bb-green-52-a14); color:var(--moss); }
.pill.bad{ background:var(--bb-brick-a12); color:var(--brick); font-weight:700; }
.pill.warn{ background:var(--bb-orange-52-a14); color:var(--ochre); }
.status{ font-size:11.5px; font-weight:700; padding:4px 9px; border-radius:999px; }
.status.ok{ background:var(--bb-green-52-a14); color:var(--ok-ink); }
.status.warn{ background:var(--bb-orange-52-a14); color:var(--ochre); }
.status.bad{ background:var(--bb-brick-a12); color:var(--brick); }
.status.info{ background:var(--linen); color:var(--ink-2); }
.alert{ border-radius:9px; padding:13px 15px; border-left-width:3px; margin:10px 0;
        font-size:14px; line-height:1.5; }
.alert{ background:var(--bb-orange-52-a07); border-left-color:var(--ochre); }
.alert.ok{ background:var(--bb-green-52-a08); border-left-color:var(--moss); }
.alert.bad{ background:var(--bb-brick-a07); border-left-color:var(--brick); }
.alert.info{ background:var(--linen); border-left-color:var(--stone); }

/* ---- tables read as rows ----------------------------------------------- */
.table th{ font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--ink-3); background:var(--panel); border-bottom:1px solid var(--hair); padding:0 10px 8px 0; }
.table td{ padding:13px 10px 13px 0; border-bottom:1px solid var(--hair); }
.table tr:last-child td{ border-bottom:0; }

/* ---- documents that leave the building --------------------------------- */
.note,.preview-letter,.print-preview,.avs-paper{ border:1px solid var(--hair); border-radius:4px;
  box-shadow:none; font-size:14.5px; line-height:1.62; }
.note p,.preview-letter p{ max-width:66ch; }
pre,.tq-note,.mono{ font-family:var(--id); background:var(--linen); border-color:var(--hair); }

/* ---- misc chrome ------------------------------------------------------- */
.enc-flow{ background:var(--linen); border:0; border-radius:10px; padding:8px 10px; margin-bottom:24px; }
.scope-band{ display:none; }
.dev-intent{ border:1px dashed var(--stone); background:var(--linen); border-radius:10px; color:var(--ink-2); }
.dev-intent summary{ color:var(--ink); font-weight:700; }
.dev-intent .devgrid div{ background:var(--panel); border-color:var(--hair); border-radius:8px; }
.footer-actions{ background:var(--bb-paper-a96); border-top:1px solid var(--hair); padding:14px 0; }
.cc-tile,.tracker-kpi,.avs-track,.cap-src{ border:1px solid var(--hair); border-radius:10px;
  box-shadow:none; background:var(--panel); padding:18px 20px; }
.cc-tile b{ font-family:var(--dis); font-size:32px; font-weight:300; letter-spacing:-.02em; }
.day-row,.fp-row{ border-bottom:1px solid var(--hair); }
.upload-zone,.image-grid{ border-color:var(--stone); }
.tab.active{ color:var(--brand-text); border-bottom-color:var(--blue); }
.choice button.selected,.setting-menu button.active{ background:var(--brand2); color:var(--brand-ink); }
@media(max-width:1100px){
  .app{ grid-template-columns:88px minmax(0,1fr); }
  .brand b,.nav button span,.nav button i,.nav-group,.sidefoot{ display:none; }
  .brand{ justify-content:center; padding:0 0 6px; }
  .content{ padding:24px 20px 72px; } .top{ padding:12px 20px; }
}
@media(max-width:700px){ .app{ grid-template-columns:1fr; } .side{ display:none; } }

/* residual hard-coded blues from the pre-brand sheet */
.step.on{ background:var(--bb-blue-a12); color:var(--brand-ink); font-weight:700; }
.step{ background:var(--linen); color:var(--ink-2); border-radius:999px; }
.choice button.selected{ border-color:var(--bb-blue-a35); }

.node,.api-source,.flow-card,.proc,.tracker-kpi{ background:var(--panel); border-color:var(--hair); border-radius:10px; }
.table th{ background:var(--panel); }

.editor-toolbar,.filterbar{ background:var(--linen); border-color:var(--hair); }

.enc-flow .st.on{ color:var(--brand-text); }
/* counts, doses and carpules are identifiers */
.la-row button,.dose-btn,.count-btn{ font-family:var(--id); }
.la-row button.on,.la-row button.selected{ background:var(--bb-blue-a10); border-color:var(--blue);
  color:var(--brand-ink); font-weight:700; }
/* the surgeon stripes were three arbitrary hues */
.surgeon-aa{ box-shadow:inset 3px 0 0 var(--blue); }
.surgeon-gw{ box-shadow:inset 3px 0 0 var(--stone); }
.surgeon-ms{ box-shadow:inset 3px 0 0 var(--moss); }

/* The dock owns the did/didn't decision now, so the note stops asking twice.
   The note keeps the clinical facts; the dock keeps the outcome. */
.op-proc .op-seg[data-perf]{ display:none; }

/* ---- procedure detail: only what still needs a person stays open --------- */
.op-proc{ border:1px solid var(--hair); border-radius:10px; padding:14px 16px; margin:10px 0; background:var(--panel); }
.op-proc.missing{ box-shadow:inset 3px 0 0 var(--ochre); border-color:var(--bb-orange-52-a30); }

@keyframes opflash{ 0%{ box-shadow:0 0 0 3px var(--bb-blue-a45);} 100%{ box-shadow:0 0 0 3px var(--bb-blue-a00);} }

.op-proc-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.op-proc-head b{ font-size:15px; font-weight:700; }
.op-narr{ font-size:14px; line-height:1.55; color:var(--ink-2); margin-top:7px; max-width:66ch; }
.op-fact{ margin-top:11px; max-width:340px; }
.op-fact label{ display:block; font-size:11px; font-weight:700; letter-spacing:.09em;
                text-transform:uppercase; color:var(--ink-3); margin-bottom:5px; }
.op-fact select{ width:100%; height:var(--tap); border:1px solid var(--hair); border-radius:9px;
                 padding:0 12px; background:var(--panel); font-family:var(--ui); font-size:15px; }
.op-fact.needed select{ border-color:var(--ochre); box-shadow:inset 0 0 0 1px var(--ochre); }
.op-drives.missing{ margin-top:8px; font-size:12.5px; color:var(--ochre); font-weight:600; }
.op-fold{ margin:10px 0 0; }
.op-fold summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:12px;
  padding:11px 2px; border-top:1px solid var(--hair); flex-wrap:wrap; }
.op-fold summary::-webkit-details-marker{ display:none; }
.op-fold summary:after{ content:'▸'; color:var(--ink-3); font-size:12px; margin-left:auto; }
.op-fold[open] summary:after{ content:'▾'; }
.op-fold.flat{ display:flex; align-items:center; gap:12px; padding:11px 2px;
               border-top:1px solid var(--hair); flex-wrap:wrap; }
.op-foldlbl{ font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
             color:var(--ink-3); }
.op-chips{ display:flex; gap:5px; flex-wrap:wrap; }
.op-chip{ font-family:var(--id); font-size:12px; background:var(--linen); color:var(--ink-2);
          border-radius:5px; padding:3px 8px; }
.op-chip i{ font-family:var(--ui); font-style:normal; font-weight:600; font-size:11.5px;
            color:var(--bb-ink-a52); margin-right:6px; }
.op-chips.off .op-chip i{ color:var(--ochre); }
.op-chips.off .op-chip{ color:var(--ochre); background:var(--bb-orange-52-a10); }
.op-foldbody{ padding-bottom:4px; }

/* ---- setup + attestation: large targets, no wasted room (iPad) ---------- */
.quick-stack{ display:grid; grid-template-columns:repeat(auto-fit,minmax(214px,1fr)); gap:14px 16px; }
.setup-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:14px 16px; }
.quick-field{ display:grid; gap:6px; min-width:0; align-content:start; }
.quick-field>label{ font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
                    color:var(--ink-3); }
.quick-field.wide, .setup-grid .quick-field.wide{ grid-column:1/-1; }
.segmented.compact{ display:grid; grid-auto-flow:column; grid-auto-columns:1fr; width:100%;
  min-height:48px; padding:3px; gap:3px; background:var(--linen); border:0; border-radius:10px; }
.segmented.compact .seg-option{ padding:0 8px; font-size:14px; font-weight:600; min-height:42px;
  border-radius:8px; white-space:nowrap; }
.segmented.compact .seg-option.selected{ background:var(--panel); color:var(--ink); font-weight:700;
  box-shadow:0 1px 2px var(--bb-ink-a10); }
.segmented.wrap{ display:flex; flex-wrap:wrap; gap:3px; padding:3px; background:var(--linen);
  border:0; border-radius:10px; }
.segmented.wrap .seg-option{ flex:1 1 auto; min-height:42px; font-size:13.5px; font-weight:600;
  padding:0 12px; border-radius:8px; }
.toggle-chips{ display:flex; flex-wrap:wrap; gap:6px; }
.toggle-chip{ min-height:var(--tap); padding:0 15px; border-radius:10px; border:1px solid var(--hair);
  background:var(--panel); color:var(--ink-2); font-weight:600; font-size:13.5px; display:inline-flex;
  align-items:center; }
.toggle-chip.selected{ background:var(--ink); border-color:var(--ink); color:var(--on-brand); font-weight:700; }
#anesthesia .card{ padding:20px 22px; }
#anesthesia .card + .card, #anesthesia .grid{ margin-top:14px; }
.case-time-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px; }
.case-time-field{ display:grid; gap:6px; }
.case-time-field label{ font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
                        color:var(--ink-3); }
.case-time-field input{ height:48px; border:1px solid var(--hair); border-radius:9px; padding:0 12px;
                        font-family:var(--id); font-size:16px; background:var(--panel); }
.case-time-field .btn{ min-height:40px; }
@media(max-width:1100px){
  .quick-stack{ grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); }
  .setup-grid{ grid-template-columns:repeat(auto-fit,minmax(172px,1fr)); }
}
/* ---- day assignment board (v7.22) -------------------------------------- */
.dayasg{ display:grid; gap:5px; margin-top:13px; }

/* ---- team board: the roster needs the room ----------------------------- */
#team .grid.g2{ grid-template-columns:minmax(0,2.1fr) minmax(0,1fr); align-items:start; }
@media(max-width:1440px){ #team .grid.g2{ grid-template-columns:1fr; } }
#teamRows td{ padding:10px 10px 10px 0; }
.team-person small{ display:none; }
/* ---- every option control is a real tap target ------------------------- */
.segmented{ padding:3px; gap:3px; border:0; background:var(--linen); border-radius:10px;
            min-height:48px; align-items:center; }
.segmented .seg-option{ min-height:42px; padding:0 14px; font-size:13.5px; font-weight:600;
  border-radius:8px; display:inline-flex; align-items:center; justify-content:center; }
.segmented .seg-option.selected, .segmented.compact .seg-option.selected,
.segmented.wrap .seg-option.selected{ background:var(--panel); color:var(--ink); font-weight:700;
  border-color:transparent; box-shadow:0 1px 2px var(--bb-ink-a14); }
/* ---- a table must never escape its card -------------------------------- */
.card .table-wrap{ max-width:100%; overflow:auto; }
.grid > *, .stack > *, .card{ min-width:0; }
/* ---- a clinic-wide screen has no patient, so it shows none ------------- */
.clinic-label{ display:none!important; }

body.clinicwide .top{ min-height:66px; }

.team-table{ min-width:0; }
.team-table th:nth-child(2), .team-table td:nth-child(2){ width:44px; text-align:center; }
.team-table th:nth-child(3), .team-table td:nth-child(3){ width:140px; }
.team-table th:first-child, .team-table td:first-child{ width:178px; }
.team-person{ display:flex; gap:10px; align-items:center; }
.team-avatar{ width:32px; height:32px; border-radius:6px; background:var(--linen); color:var(--ink-2);
  display:grid; place-items:center; font-size:11.5px; font-weight:700; flex:0 0 32px; }
.team-person b{ display:block; font-size:14.5px; font-weight:600; line-height:1.2; }
.team-role{ display:block; font-size:11.5px; color:var(--ink-3); margin-top:2px; }
.team-present{ width:22px; height:22px; accent-color:var(--blue); }
.team-hours{ display:grid; gap:5px; width:132px; }
.team-hours label{ display:flex; align-items:center; gap:6px; }
.team-hours i{ font-style:normal; font-size:10px; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:var(--ink-3); width:22px; flex:0 0 22px; }
.team-hours input{ flex:1; min-width:0; height:38px; border:1px solid var(--hair); border-radius:8px;
  padding:0 6px; font-family:var(--id); font-size:13px; background:var(--panel); }

#teamRows td{ vertical-align:middle; }

.segmented .seg-option{ border:0; }
.segmented .seg-option:hover{ background:var(--bb-white-a55); }

/* ==========================================================================
   v6.7 — the brand colour does the work black was doing
   Reserving PMS 7461 for "where you are" was too strict: it left PMS Black as
   the loudest thing on every screen, so the app read heavy and not much like
   Bluebird. Blue now means BOTH "where you are" and "the thing you act on" —
   still one idea (the live thing), and it puts the brand back on the screen.
   Black returns to being ink.
   ========================================================================== */
/* :root tokens moved to theme.css */

/* the one filled action on a screen */
.btn.primary{ background:var(--blue); border-color:var(--blue); color:var(--on-brand); }
.btn.primary:hover{ background:var(--blue-deep); border-color:var(--blue-deep); }
.btn.primary[disabled],.btn.primary:disabled{ background:var(--bb-slate-87); border-color:var(--bb-slate-87); color:var(--bb-slate-58); }

/* multi-select stays distinct from single-choice, but in brand blue */
.toggle-chip.selected{ background:var(--blue-tint); border-color:var(--blue-line);
  color:var(--blue-deep); font-weight:700; }

.team-present{ accent-color:var(--blue); }
.segmented.compact{ min-width:0; }
.segmented.compact .seg-option{ min-width:0; }

.btn.rec.on{background:var(--blue);border-color:var(--blue);color:var(--on-brand)}

@keyframes recpulse{50%{opacity:.35}}

.op-narr-ta{width:100%;min-height:64px;margin-top:8px;border:1px solid var(--hair);border-radius:9px;
  padding:10px 12px;font-family:var(--ui);font-size:14px;line-height:1.55;background:var(--panel);resize:vertical}
.op-narr-ta:focus{outline:2px solid var(--blue);outline-offset:-1px}
.op-addprose{margin-top:9px;font-size:12.5px;font-weight:600;color:var(--brand-text);background:none;
  border:0;padding:0;cursor:pointer}
.sde-body .btn.rec{margin-left:auto}

/* ---- a board is a queue you scan, not an archive you search ------------- */
.filterbar input[type="search"], .filterbar .search, .filterbar input#implantSearch,
.filterbar input#pathSearch, .filterbar input#clearanceSearch, .filterbar input#cbSearch{
  min-width:0; flex:0 0 176px; width:176px; }
.filterbar .filter-spacer{ flex:1 1 auto; }

#rosterSum{ margin-top:3px; }

.case-demand{border:1px solid var(--hair);border-radius:10px;padding:12px 14px;margin-bottom:9px;background:var(--panel)}

/* ---- reconciliation: a row is as big as its decision -------------------- */
.rc-list{ display:grid; gap:2px; }
.rc-row{ padding:12px 2px; border-bottom:1px solid var(--hair); }
.rc-row:last-child{ border-bottom:0; }
.rc-row.open{ background:var(--panel); border:1px solid var(--hair); border-radius:10px;
  padding:16px 18px; margin:8px 0; }
.rc-row.open.err{ box-shadow:inset 3px 0 0 var(--brick); border-color:var(--bb-brick-a28); }
.rc-row.open.locked:not(.err){ box-shadow:inset 3px 0 0 var(--ochre); }
.rc-line{ display:grid; grid-template-columns:minmax(0,1fr) 168px 176px 74px; gap:14px;
  align-items:baseline; }
@media(max-width:900px){ .rc-line{ grid-template-columns:1fr; gap:5px; } }
.rc-what b{ font-size:14.5px; font-weight:650; }
.rc-sites{ font-family:var(--id); font-size:12px; color:var(--ink-2); margin-left:9px; }
.rc-prov{ display:block; font-size:11.5px; color:var(--ink-3); margin-top:3px; }
.rc-code{ font-family:var(--id); font-size:13.5px; font-weight:500; }
.rc-code.bad{ color:var(--brick); font-weight:650; }
.rc-act{ font-size:13px; color:var(--ink-2); }
.rc-change{ border:0; background:none; padding:0; text-align:right; cursor:pointer;
  font-family:inherit; font-size:12.5px; font-weight:650; color:var(--brand-text); }
.rc-problem{ margin-top:12px; font-size:14px; line-height:1.5; font-weight:600; max-width:74ch; }
.rc-problem.quiet{ font-weight:400; color:var(--ink-2); }
.rc-row.err .rc-problem{ color:var(--brick); }
.rc-row.locked:not(.err) .rc-problem{ color:var(--ochre); }
.rc-narr{ margin-top:9px; font-size:13.5px; line-height:1.5; color:var(--ink-2); max-width:70ch; }
.rc-choices{ display:flex; gap:9px; flex-wrap:wrap; align-items:center; margin-top:14px; }
.rc-choices:empty{ display:none; }
.rc-pick{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.rc-lbl{ font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--ink-3); }
.rc-pick select{ min-width:320px; max-width:100%; height:var(--tap); border:1px solid var(--hair);
  border-radius:9px; padding:0 12px; background:var(--panel); font-family:var(--ui); font-size:14.5px; }
.rc-done{ font-size:13.5px; font-weight:650; color:var(--moss); }
.rc-meta{ display:flex; gap:16px; flex-wrap:wrap; margin-top:14px; padding-top:11px;
  border-top:1px solid var(--hair); font-family:var(--id); font-size:11.5px; color:var(--ink-3); }
.rc-meta span:empty{ display:none; }

#anesthesia .stage + .stage{ margin-top:18px; }
#anesthesia .stage-promoted{ margin-bottom:12px; }

/* ==========================================================================
   v7.4 — charges live beside the note, not under it and not on their own page
   The note and its charges were never two tasks; they were one pass that had
   been split across a strip and a screen. Side by side, the note keeps full
   reading width and every charge decision stays in view while you write.
   ========================================================================== */
.note-wrap{ display:grid; grid-template-columns:minmax(0,1fr) 392px; gap:26px; align-items:start; }
@media(max-width:1240px){ .note-wrap{ grid-template-columns:1fr; } }
.note-main{ min-width:0; }
.note-side{ position:sticky; top:96px; min-width:0; max-height:calc(100vh - 120px);
  overflow:auto; background:var(--linen); border-radius:12px; padding:18px 18px 16px;
  scrollbar-width:thin; scrollbar-color:var(--stone) transparent; }
.note-side::-webkit-scrollbar{ width:8px; }
.note-side::-webkit-scrollbar-thumb{ background:var(--stone); border-radius:99px; }
@media(max-width:1240px){ .note-side{ position:static; max-height:none; } }
.ns-head{ display:flex; justify-content:space-between; align-items:baseline; gap:12px;
  flex-wrap:wrap; margin-bottom:12px; }
.ns-head .t{ font-size:17px; font-weight:700; letter-spacing:-.006em; }
.ns-head .s{ font-size:12.5px; color:var(--ink-2); }

/* everything that moved in has to fit a 392px column */
.note-side .card{ background:var(--panel); border:1px solid var(--hair); border-radius:10px;
  padding:14px 15px; margin:0 0 10px; }
.note-side .scope-band, .note-side .module-head, .note-side .enc-flow,
.note-side .dev-intent, .note-side #ccDivergence .cc-diverge.clean{ display:none!important; }
.note-side .cc-summary{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px;
  margin-bottom:12px; }
.note-side .cc-tile{ padding:10px 11px; border-radius:9px; }
.note-side .cc-tile .label{ font-size:9.5px; letter-spacing:.08em; }
.note-side .cc-tile b{ font-size:22px; }
.note-side .cc-tile .tiny{ display:none; }
.note-side .cc-tile:first-child{ grid-column:1/-1; display:flex; align-items:baseline; gap:9px; }
.note-side .cc-tile:first-child .tiny{ display:block; font-size:11.5px; }
.note-side .section-title{ font-size:14px; }

.note-side .rc-line{ grid-template-columns:1fr; gap:3px; }
.note-side .rc-change{ text-align:left; }
.note-side .rc-row.open{ padding:13px 14px; }
.note-side .rc-pick select{ min-width:0; width:100%; }
.note-side .rc-meta{ gap:10px; }
.note-side .cc-lower{ display:block; }
.note-side .alert{ font-size:12.5px; padding:10px 12px; }
.note-side .footer-actions{ position:static; background:none; border-top:1px solid var(--hair);
  padding:13px 0 0; margin-top:12px; display:grid; gap:9px; }
.note-side .footer-actions .btn{ width:100%; }
.note-side #ccGateReason{ font-size:12.5px; order:-1; }
.note-side .btn{ font-size:13.5px; }
.note-side details.ns-fold > summary{ list-style:none; cursor:pointer; font-size:11px;
  font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--ink-3);
  padding:11px 2px; border-top:1px solid var(--hair); }
.note-side details.ns-fold > summary::-webkit-details-marker{ display:none; }
.note-side details.ns-fold > summary:after{ content:' \25B8'; }
.note-side details.ns-fold[open] > summary:after{ content:' \25BE'; }

.doc-pat{ display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; padding:11px 0 13px;
  border-bottom:1px solid var(--hair); margin-bottom:18px; }

#anesDob, #anesTime{ text-transform:none; }

/* ==========================================================================
   v7.7 — the medication grid, as the paper record has it
   Agents down the left, five minutes to a column, the first column anchored to
   anaesthesia start. A case is read across, not down a list of separate events.
   ========================================================================== */
.med-grid-host{ margin-top:14px; position:relative; }
.mg-scroll{ overflow-x:auto; scrollbar-width:thin; scrollbar-color:var(--stone) transparent; }
.mg-scroll::-webkit-scrollbar{ height:8px; }
.mg-scroll::-webkit-scrollbar-thumb{ background:var(--stone); border-radius:99px; }
.mg-now{ display:flex; flex-direction:column; align-items:flex-end; gap:2px; flex:0 0 auto; }
.mg-now b{ font-family:var(--id); font-size:24px; font-weight:600; line-height:1; color:var(--ink);
  font-variant-numeric:tabular-nums; letter-spacing:.01em; }
.mg-now b em{ font-style:normal; font-size:12px; font-weight:700; margin-left:4px; color:var(--ink-3); }
.mg-now.live b em{ color:var(--brand-text); }
.mg-now span{ font-size:11px; font-weight:650; color:var(--ink-3); white-space:nowrap; }
.mg-now.live b{ color:var(--brand-text); }
.mg-now.live span{ color:var(--blue-deep); }
.g{ display:grid; grid-template-columns:212px repeat(var(--mg-cols), minmax(54px,1fr)) 78px;
    min-width:max-content; }
.g-th, .g-t{ position:sticky; right:0; z-index:2; background:var(--panel);
  border-left:1px solid var(--hair); border-bottom:1px solid var(--hair); }
.g-th{ height:30px; display:grid; place-items:center; font-size:9.5px; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); }
.g-t{ height:38px; display:flex; flex-direction:column; align-items:flex-end;
  justify-content:center; padding:0 9px; line-height:1.1; }
.g-t b{ font-family:var(--id); font-size:14px; font-weight:700; color:var(--ink);
  font-variant-numeric:tabular-nums; }
.g-t i{ font-style:normal; font-family:var(--id); font-size:9.5px; font-weight:700;
  color:var(--ochre); }
.g-t.zero{ font-family:var(--id); font-size:13px; color:var(--ink-3); justify-content:center;
  align-items:flex-end; }
.g-corner{ border-bottom:1px solid var(--hair); }
.g-h{ font-family:var(--id); font-size:10.5px; font-weight:500; color:var(--ink-3);
  display:grid; place-items:center; height:30px; white-space:nowrap;
  border-bottom:1px solid var(--hair); }
.g-h.mark{ color:var(--brand-text); font-weight:700; }
.g-name{ display:flex; align-items:center; gap:10px; flex-wrap:nowrap; height:38px;
  border-right:1px solid var(--hair); border-bottom:1px solid var(--hair); padding-right:12px; }
.g-name.g-corner{ height:30px; border-right:1px solid var(--hair); }
.mg-name{ font-size:13.5px; font-weight:650; line-height:1.2; }
.mg-sub{ font-family:var(--id); font-size:11px; color:var(--ink-3); margin-top:2px; display:block; }
.mg-drawn{ width:58px; height:30px; border:1px solid var(--hair); border-radius:7px;
  padding:0 7px; font-family:var(--id); font-size:12.5px; background:var(--panel); flex:0 0 58px; }
.g-name.idle .mg-name{ color:var(--ink-3); font-weight:600; }
.g-name.idle .mg-drawn{ background:var(--paper); }
.g-c{ display:grid; place-items:center; height:38px; border-right:1px solid var(--bb-linen);
  border-bottom:1px solid var(--hair); cursor:pointer; }
.g-c:hover{ background:var(--bb-blue-a06); }
.g-c.milestone{ box-shadow:inset 2px 0 0 var(--bb-blue-a55); }
.mg-dose{ display:inline-block; min-width:34px; font-family:var(--id); font-size:12.5px;
  font-weight:600; color:var(--on-brand); background:var(--blue); border-radius:6px; padding:4px 6px; }
.mg-dose.waste{ background:transparent; color:var(--ochre); border:1px solid var(--ochre); font-weight:700; }
.mg-marks{ display:flex; gap:18px; flex-wrap:wrap; margin-bottom:12px; font-size:12px; color:var(--ink-2); }
.mg-marks b{ font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--brand-text); margin-right:5px; }
.mg-marks span{ font-family:var(--id); }
.mg-legend{ display:flex; gap:16px; flex-wrap:wrap; margin-top:12px; font-size:12px; color:var(--ink-2); }
.mg-legend b{ font-weight:650; color:var(--ink); }
.mg-more{ margin-top:10px; }
.mg-more summary{ list-style:none; cursor:pointer; font-size:11px; font-weight:700; letter-spacing:.09em;
  text-transform:uppercase; color:var(--ink-3); padding:10px 0; border-top:1px solid var(--hair); }
.mg-more summary::-webkit-details-marker{ display:none; }
.mg-more summary:after{ content:' \25B8'; }
.mg-more[open] summary:after{ content:' \25BE'; }
/* the dose popover */
.mg-pop{ position:absolute; z-index:20; background:var(--panel); border:1px solid var(--hair); border-radius:10px;
  box-shadow:0 10px 30px var(--bb-ink-a14); padding:12px 13px; width:250px; }
.mg-pop .h{ font-size:12.5px; font-weight:700; margin-bottom:2px; }
.mg-pop .t{ font-family:var(--id); font-size:11.5px; color:var(--ink-3); margin-bottom:10px; }
.mg-pop .presets{ display:flex; gap:5px; flex-wrap:wrap; margin-bottom:9px; }
.mg-pop .presets button{ height:34px; padding:0 11px; border:1px solid var(--hair); background:var(--panel);
  border-radius:7px; font-family:var(--id); font-size:12.5px; font-weight:600; color:var(--brand-text); cursor:pointer; }
.mg-pop .presets button:hover{ background:var(--linen); }
.mg-pop .row2{ display:flex; gap:6px; }
.mg-pop input{ flex:1; min-width:0; height:36px; border:1px solid var(--hair); border-radius:7px;
  padding:0 9px; font-family:var(--id); font-size:13px; }
.mg-pop .acts{ display:flex; gap:6px; margin-top:9px; }
.mg-pop .acts button{ flex:1; height:36px; border-radius:7px; border:1px solid var(--hair);
  background:var(--panel); font-family:inherit; font-size:12.5px; font-weight:650; cursor:pointer; }
.mg-pop .acts .give{ background:var(--blue); border-color:var(--blue); color:var(--on-brand); }
.mg-pop .acts .waste{ color:var(--ochre); border-color:var(--bb-orange-52-a35); }
.mg-pop .acts .clear{ color:var(--brick); border-color:var(--bb-brick-a28); }

/* ---- note type tabs ----------------------------------------------------- */
.nt-tabs{ display:flex; gap:4px; flex-wrap:wrap; background:var(--linen); border-radius:11px;
  padding:4px; margin-bottom:20px; }
.nt-tabs button{ border:0; background:none; cursor:pointer; font-family:inherit; font-size:14px;
  font-weight:600; color:var(--ink-2); height:42px; padding:0 16px; border-radius:8px;
  display:inline-flex; align-items:center; gap:8px; }
.nt-tabs button:hover{ background:var(--bb-white-a60); }
.nt-tabs button.on{ background:var(--panel); color:var(--ink); font-weight:700;
  box-shadow:0 1px 2px var(--bb-ink-a14); }
.nt-tabs .nt-sched{ font-size:9.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--brand-ink); background:var(--bb-blue-a12); border-radius:999px; padding:3px 7px; }
.nt-tabs button.added .nt-sched{ color:var(--ochre); background:var(--bb-orange-52-a14); }

/* ---- notes and complications on one line -------------------------------- */
.nc-line{ display:flex; gap:26px; flex-wrap:wrap; align-items:flex-end; margin-top:12px; }
.nc-item{ display:grid; gap:6px; }
.nc-lbl{ font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--ink-3); }
.nc-seg{ width:max-content; }
.nc-seg .seg-option{ font-size:13px; padding:0 12px; }
@media(max-width:900px){ .nc-line{ gap:16px; } }

/* ---- a rail step that is unlikely, but still yours to open --------------- */
.nav button.dim span{ color:var(--bb-white-a30); }
.nav button.dim i{ color:var(--bb-white-a18); }
.nav button.dim:hover span{ color:var(--bb-white-a62); }
.nav button.dim.active span{ color:var(--on-brand); }

/* ==========================================================================
   v7.10 — the charges column, sized for the column it is in
   Desktop card padding in a 392px sidebar left every row cramped horizontally
   and loose vertically. One panel, one level of container, rows that are one
   line each.
   ========================================================================== */
.note-side .card,
body.clinical .note-side .card{ padding:0; background:transparent; border:0; border-radius:0;
  margin:0 0 4px; }
.note-side .card + .card{ margin-top:14px; }
.note-side .section-title{ font-size:13px; font-weight:700; }
.note-side .row.between{ align-items:baseline; margin-bottom:8px; }

/* reconciliation rows in a narrow column */
.note-side .rc-row{ padding:10px 0; }
.note-side .rc-row.open{ padding:14px 15px; margin:8px 0; }
.note-side .rc-meta{ gap:12px; font-size:11px; }
.note-side .cc-summary{ margin-bottom:14px; }

/* ==========================================================================
   v7.11 — identity is stated once, in the header
   Patient, date of birth, surgeon, referring provider and date of service were
   restated on the note and again on the anaesthesia record. They belong to the
   encounter, not to a document, so the header carries them and the page body is
   only the things you act on.
   ========================================================================== */
.top{ align-items:flex-start; padding-top:14px; }

.context-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px 16px; }

/* ---- pre-op attestation: one slim line ---------------------------------- */
#anesthesia .quick-stack{ display:flex; gap:24px; flex-wrap:wrap; align-items:flex-end; }
#anesthesia .quick-stack .quick-field{ gap:6px; }
#anesthesia .quick-stack .quick-field.wide{ grid-column:auto; }
#anesthesia .quick-stack .segmented{ width:max-content; min-height:42px; }
#anesthesia .quick-stack .seg-option{ min-height:36px; font-size:13px; padding:0 12px; }
#anesthesia .quick-stack .toggle-chip{ min-height:36px; font-size:12.5px; padding:0 12px; }
#anesthesia .quick-stack + .row, #anesthesia .quick-stack{ margin:0; }

/* ---- one look for a chosen option, everywhere --------------------------- */
.segmented .seg-option.selected,
.segmented.compact .seg-option.selected,
.segmented.wrap .seg-option.selected,
.nc-seg .seg-option.selected,
.dv-seg button.on, .sq-seg button.on{
  background:var(--blue-tint); color:var(--blue-deep); font-weight:700;
  border:1px solid var(--blue-line); box-shadow:none; }
/* an unselected option keeps its own edge so the row does not jump by a pixel
   when the choice moves */
.segmented .seg-option, .segmented.compact .seg-option, .segmented.wrap .seg-option,
.nc-seg .seg-option{ border:1px solid transparent; }
.toggle-chip.selected, .cap-editor .cap-chip.on{
  background:var(--blue-tint); border-color:var(--blue-line); color:var(--blue-deep); font-weight:700; }

textarea{ overflow:hidden; resize:none; }

/* the phase chips at the top were the same sequence a third time */
#opnote .stepbar{ display:none; }
.anes-stages .stage + .stage, #opnote .stage + .stage{ margin-top:18px; }

/* ---- a case within three days is red, wherever it sits in the list ------- */
#cbRows tr.cb-soon > td{ background:var(--bb-brick-a06); }
#cbRows tr.cb-soon > td:first-child{ box-shadow:inset 3px 0 0 var(--brick); }
#cbRows tr.cb-soon b{ color:var(--brick); }
.cb-soon-tag{ display:inline-block; margin-left:9px; font-size:10.5px; font-weight:700;
  letter-spacing:.04em; color:var(--on-brand); background:var(--brick); border-radius:999px; padding:3px 9px;
  white-space:nowrap; }
#cbRows tr.cb-cleared.cb-soon > td{ background:transparent; }
#cbRows tr.cb-cleared.cb-soon > td:first-child{ box-shadow:none; }

/* ==========================================================================
   v7.13 — a scored criterion is a column, not a stretched row
   The segmented control was a flex child with room to grow, so it started
   wherever its label happened to end and every 2 / 1 / 0 sat at a different
   place. Five rows of the same question have to read as one column.
   ========================================================================== */
#anesthesia .aldrete-list{ display:grid; gap:0; }
#anesthesia .aldrete-row{ display:grid; grid-template-columns:minmax(0,180px) 264px;
  gap:24px; align-items:center; justify-content:start;
  padding:10px 0; border-bottom:1px solid var(--hair); }
#anesthesia .aldrete-row:last-child{ border-bottom:0; }
#anesthesia .aldrete-row > span{ font-size:14.5px; font-weight:600; line-height:1.25; }
#anesthesia .aldrete-row .segmented{ display:grid; grid-template-columns:repeat(3,1fr);
  width:264px; min-height:46px; padding:3px; gap:3px; }
#anesthesia .aldrete-row .seg-option{ width:auto; min-height:40px; padding:0;
  font-family:var(--id); font-size:14px; justify-content:center; }
.score-panel{ display:flex; align-items:baseline; gap:14px; margin-top:16px;
  padding:14px 16px; background:var(--linen); border-radius:10px; }
.score-panel b{ font-family:var(--dis); font-size:34px; font-weight:300; line-height:1;
  letter-spacing:-.02em; }
.score-panel .tiny{ margin-left:auto; }

/* the disposition rows below had the same stretch */
#anesthesia .recovery-grid .segmented{ width:max-content; max-width:100%; }
.cb-soon-tag{ display:none!important; }

/* ==========================================================================
   v7.15 — the urgency bar needs room of its own
   The bar was drawn inside the first cell's box and the cell had no left
   padding, so it sat under the patient's name.
   ========================================================================== */
/* v7.54: the CDT code leads, the layman term sits under it — the code is what
   gets typed into a lab form, the words are what gets said to the patient. */
#cbRows td.cb-code{ line-height:1.25; }
#cbRows td.cb-code b{ font-family:var(--id); letter-spacing:.02em; }
#cbRows td.cb-code .cb-layman{ display:block; color:var(--ink-2); font-size:12px; }
#cbRows td.cb-reason{ white-space:nowrap; }
#cbRows td.cb-reason select{ max-width:170px; }
#cbRows td.cb-reason .cb-other{ display:block; margin-top:4px; width:100%; max-width:190px;
  font:inherit; font-size:12px; padding:3px 6px; border:1px solid var(--hair); background:var(--panel); color:var(--ink); }
#cbRows td.cb-reason .cb-other[hidden]{ display:none; }
#cbRows td:first-child{ padding-left:14px; }
#cbRows tr.cb-soon > td:first-child{ box-shadow:inset 4px 0 0 var(--brick); }
#cbRows th:first-child{ padding-left:14px; }
#cbKpis{ display:none; }
#cbTabs{ margin-bottom:4px; }
.filterbar .search{ order:9; }
#opnote .enc-flow, #clinicalnote .enc-flow, #tnote .enc-flow, #avs .enc-flow{ display:none; }

/* ---- recovery / disposition: one grid, one row height -------------------- */
#anesthesia .recovery-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(228px,1fr));
  gap:18px 20px; }
#anesthesia .recovery-grid .quick-field{ display:grid; gap:7px; align-content:start; }
#anesthesia .recovery-grid .segmented{ width:100%; display:grid;
  grid-auto-flow:column; grid-auto-columns:1fr; min-height:46px; }
#anesthesia .recovery-grid .seg-option{ padding:0 6px; min-height:40px; justify-content:center;
  font-size:13px; text-align:center; }

#anesthesia .recovery-grid input, #anesthesia .recovery-grid select{ width:100%;
  height:var(--tap); border:1px solid var(--hair); border-radius:9px; padding:0 12px;
  background:var(--panel); font-family:var(--ui); font-size:14.5px; }

.iv-other{ margin-top:7px; width:100%; height:var(--tap); border:1px solid var(--hair);
  border-radius:9px; padding:0 12px; background:var(--panel); font-family:var(--ui); font-size:14.5px; }
.iv-other[hidden]{ display:none; }

/* recovery / disposition: nothing clipped, rows on one baseline */
#anesthesia .recovery-grid{ align-items:start; }
#anesthesia .recovery-grid .segmented.wrap{ display:flex; flex-wrap:wrap; }
#anesthesia .recovery-grid .seg-option{ white-space:normal; line-height:1.2; padding:6px 10px; }
#anesthesia .recovery-grid .context-item{ min-height:0; padding:12px 13px; border-radius:9px;
  border:1px solid var(--hair); background:var(--panel); }
#anesthesia .recovery-grid .toggle-chip{ white-space:normal; text-align:left; min-height:44px; }

/* ---- the sidebar holds two things (v7.43) ------------------------------
   Charges are work in progress until they are approved, and then they are a
   receipt — so they fold. The printed note is the thing being checked, so it
   sits below them, open, for as long as the note is open.                  */
.note-side .ns-stack{ display:block; }
.note-side details.ns-charges > summary{ list-style:none; cursor:pointer; }
.note-side details.ns-charges > summary::-webkit-details-marker{ display:none; }
.note-side details.ns-charges > summary.ns-head{ margin-bottom:12px; }
.note-side details.ns-charges > summary .t:after{ content:' \25B8'; color:var(--ink-3);
  font-size:13px; font-weight:600; }
.note-side details.ns-charges[open] > summary .t:after{ content:' \25BE'; }
.note-side details.ns-charges.done > summary .t{ color:var(--ink-2); }
.note-side details.ns-charges:not([open]) > summary.ns-head{ margin-bottom:4px;
  padding-bottom:12px; border-bottom:1px solid var(--hair); }
/* the printed note, relocated out of the note card */
.note-side details.ns-print{ margin-top:2px; }
.note-side details.ns-print > summary{ border-top:1px solid var(--hair); }

   

/* ---- the summary is one document, not eight boxes (v7.42) --------------- */
.avs-doc{ width:100%; min-height:520px; border:1px solid var(--hair); border-radius:11px;
  padding:15px 17px; font:14.5px/1.62 var(--ui); color:var(--ink); background:var(--panel);
  resize:vertical; white-space:pre-wrap; }
.avs-doc:focus{ outline:2px solid var(--blue); outline-offset:-1px; }

/* ---- rescue agents and the Aldrete criteria card (v7.33) ---------------- */
.mg-add{ display:flex; align-items:center; gap:9px; margin-top:11px; flex-wrap:wrap; }
.mg-add label{ font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--ink-3); }
.mg-add select{ min-height:36px; border:1px solid var(--hair); border-radius:8px; padding:0 8px;
  background:var(--panel); font-size:12.5px; font-weight:600; color:var(--ink); max-width:280px; }
.mg-drop{ border:0; background:none; cursor:pointer; color:var(--ink-3); font-weight:800;
  font-size:13px; line-height:1; padding:0 2px; }
.mg-drop:hover{ color:var(--brick); }

#anesthesia .aldrete-row > span[data-ald]{ cursor:help; text-decoration:underline;
  text-decoration-style:dotted; text-decoration-color:var(--hair);
  text-underline-offset:3px; }

/* ---- charges: a column when there is a column, a strip when there is not --
   Below the sidebar breakpoint the panel stacks under the note, which is the
   footer of the note screen. A tall stack of cards there buries the note, so
   at that width it becomes the horizontal strip it used to be: the codes in a
   row, scrolled sideways, with the toggles beside each code.               */
@media(max-width:1240px){
  .note-side{ background:var(--linen); border-radius:12px; padding:14px 0 12px 14px; }
  .note-side .ns-head{ padding-right:14px; }
  
  .note-side .cc-summary{ display:flex; gap:7px; overflow-x:auto; padding:0 14px 4px 0;
    grid-template-columns:none; }
  .note-side .cc-summary .cc-tile{ flex:0 0 auto; min-width:132px; }
  .note-side .cc-summary .cc-tile:first-child{ min-width:206px; }
  .note-side .cc-strip-scroll{ display:flex; gap:10px; overflow-x:auto; padding:0 14px 8px 0;
    align-items:stretch; scrollbar-width:thin; scrollbar-color:var(--stone) transparent; }
  .note-side .cc-strip-scroll > *{ flex:0 0 auto; min-width:320px;
    max-width:min(560px,100%); margin:0; }
  
  .note-side .cc-strip-scroll::-webkit-scrollbar{ height:8px; }
  .note-side .cc-strip-scroll::-webkit-scrollbar-thumb{ background:var(--stone); border-radius:99px; }
  .note-side .ns-fold, .note-side #signResult{ margin-right:14px; }
  
  
}
/* ---- scheduler, ported into Team (v7.28) --------------------------------
   The scheduler arrived as a separate React app with its own visual language.
   Its logic is copied verbatim; its look is rebuilt on Bluebird tokens so the
   Team module reads as one screen rather than two products stitched together.
   Every class is prefixed sch- because the bundle's own names (.card, .btn,
   .table, .row, .tabs) already mean something here. */
#team .sch-tabs{ display:flex; gap:3px; flex-wrap:wrap; background:var(--linen);
  border-radius:11px; padding:3px; margin:0 0 14px; }
#team .sch-tab{ border:0; background:transparent; min-height:38px; padding:0 14px;
  border-radius:8px; font-size:13px; font-weight:650; color:var(--ink-2); cursor:pointer; }
#team .sch-tab:hover{ color:var(--ink); }
#team .sch-tab.on{ background:var(--panel); color:var(--ink); font-weight:700;
  box-shadow:0 1px 2px var(--bb-ink-a14); }
#team .sch-tab .n{ font-family:var(--id); font-size:11px; margin-left:6px; color:var(--ink-3); }
#team .sch-tab.on .n{ color:var(--brand-text); }
#team .sch-pane{ display:none; }
#team .sch-pane.on{ display:block; }

#team .sch-bar{ display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin-bottom:12px; }
#team .sch-bar > .sch-note{ flex:1 1 240px; min-width:0; }
#team .sch-bar .sch-grow{ flex:1; }
#team .sch-note{ font-size:12px; color:var(--ink-3); }
#team .sch-pill{ display:inline-flex; align-items:center; gap:6px; min-height:32px;
  padding:0 11px; border-radius:999px; font-size:12px; font-weight:700;
  background:var(--linen); color:var(--ink-2); }
#team .sch-pill.err{ background:var(--bb-warm-93); color:var(--brick); }
#team .sch-pill.warn{ background:var(--bb-warm-94); color:var(--ochre); }
#team .sch-pill.ok{ background:var(--bb-green-94); color:var(--moss); }

/* ── day columns (the OR board) ── */
#team .sch-board{ display:grid; grid-template-columns:52px minmax(0,1fr); gap:0;
  border:1px solid var(--hair); border-radius:12px; overflow:hidden; background:var(--panel); }
#team .sch-gutter{ position:relative; border-right:1px solid var(--hair); background:var(--paper); }
#team .sch-gutter .sch-hr{ position:absolute; right:6px; transform:translateY(-50%);
  font-family:var(--id); font-size:10px; color:var(--ink-3); }
#team .sch-cols{ display:grid; overflow-x:auto; }
#team .sch-col{ border-left:1px solid var(--hair); min-width:0; }
#team .sch-col:first-child{ border-left:0; }
#team .sch-colhead{ padding:6px 8px; border-bottom:1px solid var(--hair);
  background:var(--paper); height:66px; overflow:hidden; }
#team .sch-colhead b{ display:block; font-size:12.5px; line-height:1.2;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#team .sch-colhead span{ display:block; font-family:var(--id); font-size:9.5px;
  color:var(--ink-3); margin-top:2px; }
#team .sch-meter{ height:3px; border-radius:99px; background:var(--hair); margin-top:5px; }
#team .sch-meter i{ display:block; height:3px; border-radius:99px; background:var(--blue); }
#team .sch-canvas{ position:relative; }
#team .sch-grid{ position:absolute; left:0; right:0; border-top:1px solid var(--bb-night-ink); }
#team .sch-off{ position:absolute; left:0; right:0; background:
  repeating-linear-gradient(135deg, var(--bb-ink-a04) 0 5px, transparent 5px 10px); }
#team .sch-lunch{ position:absolute; left:3px; right:3px; border-radius:5px;
  background:var(--linen); border:1px dashed var(--hair); font-size:9.5px;
  color:var(--ink-3); text-align:center; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; overflow:hidden; }
#team .sch-appt{ position:absolute; left:3px; right:3px; border-radius:6px; padding:3px 5px;
  overflow:hidden; cursor:pointer; border:1px solid transparent; text-align:left;
  background:var(--blue-tint); border-color:var(--blue-line); }
#team .sch-appt.consult{ background:var(--bb-green-94); border-color:var(--bb-green-83); }
#team .sch-appt:hover{ filter:brightness(.97); }
#team .sch-appt.err{ background:var(--bb-warm-93); border-color:var(--brick); }
#team .sch-appt.warn{ background:var(--bb-warm-94); border-color:var(--ochre); }
#team .sch-appt b{ display:block; font-size:11px; line-height:1.15; font-weight:700;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#team .sch-appt span{ display:block; font-size:9.5px; color:var(--ink-2);
  overflow:hidden; white-space:nowrap; }
#team .sch-appt.thin b{ font-size:10px; }
#team .sch-appt.thin span{ display:none; }

/* ── week columns ── */
#team .sch-week{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px;
  align-items:start; }
#team .sch-day{ border:1px solid var(--hair); border-radius:11px; background:var(--panel);
  overflow:hidden; }
#team .sch-dayhead{ display:flex; align-items:baseline; gap:7px; padding:8px 10px;
  background:var(--paper); border-bottom:1px solid var(--hair); }
#team .sch-dayhead b{ font-family:var(--dis); font-weight:400; font-size:15px; }
#team .sch-dayhead span{ font-size:11px; color:var(--ink-3); }
#team .sch-dayhead .bad{ margin-left:auto; background:var(--brick); color:var(--on-brand);
  font-size:10px; font-weight:700; padding:1px 6px; border-radius:99px; }
#team .sch-daybody{ padding:6px; display:grid; gap:5px; max-height:560px; overflow:auto; }
#team .sch-wcard{ border:1px solid var(--hair); border-left:3px solid var(--blue);
  border-radius:7px; padding:6px 7px; background:var(--panel); cursor:pointer; text-align:left;
  width:100%; }
#team .sch-wcard.consult{ border-left-color:var(--moss); }
#team .sch-wcard.err{ border-left-color:var(--brick); background:var(--bb-gray-98); }
#team .sch-wcard.warn{ border-left-color:var(--ochre); }
#team .sch-wcard:hover{ background:var(--paper); }
#team .sch-wtop{ display:flex; gap:6px; align-items:baseline; }
#team .sch-wtop code{ font-family:var(--id); font-size:10.5px; font-weight:700; }
#team .sch-wtop em{ font-style:normal; font-size:9.5px; color:var(--ink-3); }
#team .sch-wtop i{ font-style:normal; margin-left:auto; font-size:9px; font-weight:700;
  letter-spacing:.05em; text-transform:uppercase; color:var(--ink-3); }
#team .sch-wcard b{ display:block; font-size:12px; margin-top:1px; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap; }
#team .sch-crew{ display:flex; gap:3px; flex-wrap:wrap; margin-top:4px; }
#team .sch-ini{ font-family:var(--id); font-size:9.5px; font-weight:700; padding:1px 4px;
  border-radius:4px; background:var(--blue-tint); color:var(--blue-deep); }
#team .sch-ini.none{ background:var(--bb-warm-93); color:var(--brick); }

/* ── tables shared by capabilities / availability / appointments / mappings ── */
#team .sch-table{ width:100%; border-collapse:collapse; }
#team .sch-table th{ text-align:left; font-size:10px; font-weight:700; letter-spacing:.07em;
  text-transform:uppercase; color:var(--ink-3); padding:0 8px 7px; white-space:nowrap; }
#team .sch-table td{ padding:5px 8px; border-top:1px solid var(--hair); font-size:13px;
  vertical-align:middle; }
#team .sch-table tr:hover td{ background:var(--paper); }
#team .sch-table .num{ font-family:var(--id); font-size:12px; color:var(--ink-2); }
#team .sch-name{ font-weight:650; white-space:nowrap; }
#team .sch-ck{ width:26px; height:26px; border-radius:7px; border:1px solid var(--hair);
  background:var(--panel); cursor:pointer; display:grid; place-items:center; color:transparent;
  font-size:13px; font-weight:800; }
#team .sch-ck.on{ background:var(--blue); border-color:var(--blue); color:var(--on-brand); }
#team .sch-shift{ width:100%; min-width:104px; height:32px; border:1px solid var(--hair); border-radius:7px;
  padding:0 7px; font-family:var(--id); font-size:11.5px; background:var(--panel); }
#team .sch-shift.pto{ background:var(--bb-warm-94); color:var(--ochre); font-weight:700; }
#team .sch-shift.off{ background:var(--linen); color:var(--ink-3); }
#team .sch-sick{ width:28px; height:32px; border:1px solid var(--hair); border-radius:7px;
  background:var(--panel); cursor:pointer; font-size:12px; color:var(--ink-3); }
#team .sch-sick.on{ background:var(--bb-warm-93); border-color:var(--brick); color:var(--brick);
  font-weight:800; }
#team .sch-avcell{ display:flex; gap:4px; align-items:center; }
#team .sch-avcell .sch-shift{ flex:1 1 auto; min-width:0; }
#team .sch-avcell .sch-sick{ flex:0 0 28px; }
#team .sch-tag{ display:inline-block; font-size:10.5px; font-weight:700; padding:2px 6px;
  border-radius:5px; background:var(--blue-tint); color:var(--blue-deep); margin:1px 2px 1px 0; }
#team .sch-tag.q{ background:var(--linen); color:var(--ink-2); }
#team .sch-sel{ height:32px; border:1px solid var(--hair); border-radius:7px; padding:0 6px;
  background:var(--panel); font-size:12px; max-width:210px; }
#team .sch-sel.bad{ border-color:var(--brick); }
#team .sch-txt{ height:34px; border:1px solid var(--hair); border-radius:7px; padding:0 9px;
  background:var(--panel); font-size:13px; width:100%; }
#team .sch-desc{ font-size:11.5px; color:var(--ink-2); max-width:330px; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap; }

/* ── workload ── */
#team .sch-stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:9px; margin-bottom:14px; }
#team .sch-stat{ border:1px solid var(--hair); border-radius:10px; padding:11px 12px;
  background:var(--panel); }
#team .sch-stat span{ display:block; font-size:10px; font-weight:700; letter-spacing:.07em;
  text-transform:uppercase; color:var(--ink-3); }
#team .sch-stat b{ display:block; font-family:var(--dis); font-weight:300; font-size:27px;
  line-height:1.1; margin-top:3px; }
#team .sch-stat em{ font-style:normal; font-size:11px; color:var(--ink-3); }
#team .sch-load{ display:grid; grid-template-columns:minmax(120px,1.1fr) minmax(0,3fr) 64px 64px;
  gap:11px; align-items:center; padding:5px 0; border-top:1px solid var(--hair); }
#team .sch-load:first-child{ border-top:0; }
#team .sch-load > b{ font-size:13px; font-weight:650; }
#team .sch-bars{ display:flex; height:12px; border-radius:99px; overflow:hidden;
  background:var(--linen); }
#team .sch-bars i{ display:block; height:12px; }
#team .sch-bars i.s{ background:var(--blue); }
#team .sch-bars i.c{ background:var(--moss); }
#team .sch-load .num{ text-align:right; font-family:var(--id); font-size:12px; }

/* ── procedures ── */
#team .sch-proc{ border:1px solid var(--hair); border-radius:11px; background:var(--panel);
  padding:12px 13px; margin-bottom:9px; }
#team .sch-prochead{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
#team .sch-prochead .sch-txt{ width:auto; flex:1; min-width:150px; font-weight:650; }
#team .sch-slots{ display:flex; gap:5px; flex-wrap:wrap; margin-top:9px; align-items:center; }
#team .sch-kw{ display:flex; gap:4px; flex-wrap:wrap; margin-top:8px; align-items:center; }
#team .sch-kw code{ font-family:var(--id); font-size:11px; background:var(--linen);
  border-radius:5px; padding:2px 5px; }
#team .sch-kw code button{ border:0; background:none; cursor:pointer; color:var(--ink-3);
  font-weight:800; margin-left:3px; }
#team .sch-mini{ min-height:28px; padding:0 8px; font-size:11.5px; border-radius:7px;
  border:1px solid var(--hair); background:var(--panel); cursor:pointer; font-weight:650;
  color:var(--ink-2); }
#team .sch-mini:hover{ background:var(--paper); }

/* ── modal ── */
.sch-modal .sch-tabs{ background:var(--linen); }
.sch-modal .sch-tab.on{ background:var(--blue); color:var(--on-brand); box-shadow:none; }
.sch-veil{ position:fixed; inset:0; background:var(--bb-ink-a42); z-index:120;
  display:grid; place-items:center; padding:24px; }
.sch-modal{ background:var(--panel); border-radius:14px; width:min(720px,100%);
  max-height:88vh; display:flex; flex-direction:column; overflow:hidden;
  box-shadow:0 24px 60px var(--bb-ink-a30); }
.sch-mhead{ display:flex; gap:12px; align-items:flex-start; padding:16px 18px;
  border-bottom:1px solid var(--hair); }
.sch-mhead b{ display:block; font-size:15px; }
.sch-mhead span{ display:block; font-size:12px; color:var(--ink-3); margin-top:2px; }
.sch-mbody{ padding:16px 18px; overflow:auto; }
.sch-mfoot{ display:flex; gap:8px; justify-content:flex-end; padding:12px 18px;
  border-top:1px solid var(--hair); background:var(--paper); }
.sch-row{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px;
  align-items:center; padding:8px 10px; border:1px solid var(--hair);
  border-radius:9px; margin-bottom:6px; }
.sch-row.dim{ opacity:.45; }
.sch-row b{ font-family:var(--id); font-size:12.5px; }
.sch-row span{ display:block; font-size:11px; color:var(--ink-3); overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap; }
.sch-swap{ display:grid; grid-template-columns:minmax(120px,1fr) minmax(0,1.4fr) minmax(0,1fr);
  gap:10px; align-items:center; padding:7px 9px; border-radius:8px; cursor:pointer;
  border:1px solid transparent; }
.sch-swap:hover{ background:var(--blue-tint); border-color:var(--blue-line); }
.sch-swap.no{ opacity:.42; cursor:not-allowed; }
.sch-swap.no:hover{ background:transparent; border-color:transparent; }
.sch-swap .why{ font-size:11px; color:var(--brick); text-align:right; }
.sch-swap.on .why{ color:var(--moss); font-weight:700; }
.sch-ta{ width:100%; min-height:150px; border:1px solid var(--hair); border-radius:9px;
  padding:9px; font-family:var(--id); font-size:12px; }

@media(max-width:1200px){
  #team .sch-week{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  #team .sch-load{ grid-template-columns:minmax(100px,1fr) minmax(0,2fr) 54px; }
  #team .sch-load .wk{ display:none; }
}
/* ---- anesthesia density (v7.27) ---------------------------------------
   Every control had been sized by the column it sat in rather than by what it
   holds: a three-digit pulse in a 240px box, an R/L choice in 240px, one
   segmented control per line. Each box now takes the width of its own content
   and the fields pack, so more of the record is on screen and less of the
   case is scrolling. This block is last on purpose — it has to win. */
#anesthesia .card{ padding:15px 17px; }
#anesthesia .card + .card, #anesthesia .grid{ margin-top:11px; }
#anesthesia .stage + .stage{ margin-top:13px; }
#anesthesia .stage .card + .card{ margin-top:11px; }
#anesthesia .section-title{ margin-bottom:9px; }

/* a form is as many columns as its narrowest field allows */
#anesthesia .form{ display:grid; grid-template-columns:repeat(auto-fit,minmax(158px,1fr));
  gap:9px 12px; }
#anesthesia .form .field{ display:grid; gap:4px; min-width:0; }
#anesthesia .form .field input, #anesthesia .form .field select{ width:100%; min-width:0; height:42px; }
#anesthesia .form .field label{ font-size:10.5px; letter-spacing:.07em; text-transform:uppercase;
  font-weight:700; color:var(--ink-3); }

/* option rows pack: a one-chip field stops claiming a whole line */
#anesthesia .quick-stack, #anesthesia .setup-grid{ display:flex; flex-wrap:wrap;
  gap:10px 18px; align-items:flex-end; }
#anesthesia .quick-stack > .quick-field, #anesthesia .setup-grid > .quick-field,
#anesthesia .quick-stack > .quick-field.wide,
#anesthesia .setup-grid > .quick-field.wide{ display:grid; gap:4px; width:max-content;
  max-width:100%; grid-column:auto; }
#anesthesia .quick-stack .segmented, #anesthesia .setup-grid .segmented,
#anesthesia .quick-stack .toggle-chips,
#anesthesia .setup-grid .toggle-chips{ width:max-content; max-width:100%; }
#anesthesia .quick-stack > .quick-field > label,
#anesthesia .setup-grid > .quick-field > label{ font-size:10.5px; letter-spacing:.07em;
  text-transform:uppercase; font-weight:700; color:var(--ink-3); margin:0; }
#anesthesia .quick-stack .segmented, #anesthesia .setup-grid .segmented{ min-height:38px; padding:2px; }
#anesthesia .quick-stack .seg-option,
#anesthesia .setup-grid .seg-option{ min-height:34px; font-size:12.5px; padding:0 10px; }
#anesthesia .quick-stack .toggle-chip,
#anesthesia .setup-grid .toggle-chip{ min-height:34px; font-size:12.5px; padding:0 10px; }
#anesthesia .quick-stack input[type="text"], #anesthesia .quick-stack input:not([type]),
#anesthesia .setup-grid input[type="text"]{ height:36px; width:168px; }

/* five case-time stamps do not need 150px each */
#anesthesia .case-time-grid{ grid-template-columns:repeat(auto-fit,minmax(168px,1fr)); gap:8px; }
#anesthesia .case-time-field{ padding:8px 9px; gap:5px; }
#anesthesia .case-time-field label{ font-size:10px; }
#anesthesia .case-time-field input{ height:40px; padding:0 7px; min-width:96px;
  font-family:var(--id); font-size:14px; }
#anesthesia .case-time-field .btn{ min-height:32px; font-size:12px; padding:0 9px; }

/* Aldrete was ten short rows in one tall column; now two columns of five */
#anesthesia .aldrete-list{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  column-gap:30px; row-gap:0; }
#anesthesia .aldrete-row{ grid-template-columns:minmax(0,1fr) 132px; padding:3px 0; min-width:0; }
#anesthesia .aldrete-row > span{ min-width:0; overflow:hidden; text-overflow:ellipsis;
  white-space:nowrap; font-size:13px; }
/* three one-character choices; the hard 264px was most of a card for nothing */
#anesthesia .aldrete-row .segmented{ width:100%; min-width:0; min-height:32px; padding:2px; }
#anesthesia .aldrete-row .seg-option{ min-height:28px; font-size:12.5px; }
#anesthesia .score-panel{ padding:8px 10px; margin-top:7px; }
#anesthesia .score-panel b{ font-size:21px; }
#anesthesia .aldrete-row > span{ font-size:13.5px; }
#anesthesia .aldrete-row .seg-option{ min-height:34px; font-size:12.5px; }

/* recovery: four columns instead of three */
#anesthesia .recovery-grid{ grid-template-columns:repeat(auto-fit,minmax(174px,1fr)); gap:9px;
  align-items:stretch; }
/* every box is a label and a control, so every box is the same height */
#anesthesia .recovery-grid > *{ display:grid; grid-template-rows:auto 1fr; row-gap:6px;
  align-self:stretch; }
#anesthesia .recovery-grid > * > :last-child{ align-self:end; }
#anesthesia .recovery-grid .context-item{ align-content:start; }
#anesthesia .recovery-grid .context-item b{ align-self:end; }
#anesthesia .recovery-grid .seg-option{ min-height:34px; }
#anesthesia .recovery-grid .toggle-chip{ min-height:36px; }
#anesthesia .recovery-grid input, #anesthesia .recovery-grid select{ height:40px; }
#anesthesia .recovery-grid .context-item{ padding:9px 11px; }

/* a carpule row is a name and a count; a one-digit button does not need 36px */
#anesthesia .la-list{ display:grid; grid-template-columns:repeat(auto-fit,minmax(430px,1fr));
  column-gap:30px; row-gap:0; }
#anesthesia .la-row{ padding:5px 0; min-width:0; }
#anesthesia .la-row > *{ min-width:0; }
#anesthesia .la-row > :first-child{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#anesthesia .la-row2{ grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:4px 0; }
#anesthesia .la-name{ font-size:12.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#anesthesia .la-opt{ min-width:28px; height:30px; padding:0 5px; font-size:12px; border-radius:6px; }
#anesthesia .la-opt.na{ min-width:36px; margin-left:5px; }
#anesthesia .la-opts{ gap:2px; }

#anesthesia .context-grid{ grid-template-columns:repeat(auto-fit,minmax(152px,1fr)); gap:7px; }
#anesthesia .context-item{ padding:9px 10px; min-height:0; }
#anesthesia .nc-line{ gap:18px; margin-top:9px; }

@media(max-width:900px){
  #anesthesia .form{ grid-template-columns:repeat(auto-fit,minmax(136px,1fr)); }
  #anesthesia .aldrete-list, #anesthesia .la-list{ grid-template-columns:1fr; }
}

      @page { size: letter portrait; margin: 0.5in; }
      * { box-sizing: border-box; }
      body { font-family: 'Source Sans 3', Arial, sans-serif; color:var(--bb-ink); margin:0; }
      header { display:flex; align-items:center; gap:12px; border-bottom:2px solid var(--bb-blue); padding-bottom:10px; margin-bottom:16px; }
      
      header h1 { font-size:18px; margin:0; letter-spacing:.16em; font-weight:600; text-transform:uppercase; }
      header .sub { color:var(--bb-ink-2); font-size:12px; margin-left:auto; }
      section.day { margin-bottom:18px; break-inside:avoid; }
      h2 { font-size:14px; margin:0 0 6px; color:var(--bb-blue); border-bottom:1px solid var(--bb-gray-92); padding-bottom:4px; }
      
      table { width:100%; border-collapse:collapse; font-size:11px; }
      th { text-align:left; color:var(--bb-ink-2); font-weight:600; font-size:10px; text-transform:uppercase; letter-spacing:.03em; padding:4px 6px; border-bottom:1px solid var(--bb-gray-86); }
      td { padding:5px 6px; border-bottom:1px solid var(--bb-gray-92); vertical-align:top; }
      td.t, th.t { width:52px; font-variant-numeric:tabular-nums; }
      td.l, th.l { width:40px; color:var(--bb-gray-59); }
      .tag { display:inline-block; border:1px solid; border-radius:4px; padding:0 5px; font-size:10px; font-weight:600; }
      footer { margin-top:10px; color:var(--bb-gray-70); font-size:10px; text-align:center; }
    

 body{font:14px/1.55 -apple-system,Segoe UI,Arial,sans-serif;color:var(--bb-ink);max-width:46em;margin:2em auto;padding:0 1em}
 h1{font-size:1.25em;margin:0 0 .15em} .sub{color:var(--bb-ink-2);font-size:.85em;margin-bottom:1.4em}
 h2{font-size:.72em;letter-spacing:.09em;text-transform:uppercase;color:var(--bb-blue-deep);margin:1.5em 0 .2em}
 figure{margin:1.2em 0} img{max-width:100%;height:auto;border:1px solid var(--bb-hair)}
 figcaption{font-size:.82em;color:var(--bb-ink-2);margin-top:.35em}
 .draft{background:var(--bb-warm-94);color:var(--bb-orange-52);font-weight:700;padding:.4em .7em;border-radius:.4em;
        display:inline-block;font-size:.8em;margin-bottom:1.2em}

.sq-other{ margin-top:7px; height:40px; width:100%; max-width:420px; border:1px solid var(--hair);
  border-radius:9px; padding:0 11px; font:inherit; font-size:13.5px; background:var(--panel); }
.sq-other:focus{ outline:2px solid var(--blue); outline-offset:-1px; }

.ned-bar{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; padding:7px 9px;
  background:var(--linen); border-bottom:1px solid var(--hair); }
.ned-bar .btn.small{ min-height:28px; padding:4px 8px; font-size:12px; }
.ned-bar select{ min-height:28px; font-size:12px; border:1px solid var(--hair);
  border-radius:7px; background:var(--panel); padding:3px 6px; }
.ned-bar .ned-sep{ width:1px; height:20px; background:var(--hair); margin:0 3px; }
.ned-state{ margin-left:auto; font-size:11px; color:var(--ink-3); }
.ned-canvas{ min-height:320px; padding:26px 30px; outline:none; font-family:var(--ui);
  font-size:14.5px; line-height:1.62; color:var(--ink); }
.ned-canvas:focus{ outline:none; }
.ned-canvas > *:first-child{ margin-top:0; }
.ned-canvas p{ margin:0 0 11px; }
.ned-canvas h2{ font-family:var(--dis); font-size:20px; font-weight:500; margin:20px 0 8px; }
.ned-canvas h3{ font-size:11.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--blue-deep); margin:20px 0 5px; }
.ned-canvas ul,.ned-canvas ol{ margin:0 0 11px; padding-left:22px; }
.ned-canvas:after{ content:''; display:block; clear:both; }
.ned-canvas .ned-break{ border:0; border-top:1px dashed var(--stone); margin:20px 0;
  position:relative; clear:both; }
.ned-canvas .ned-break:after{ content:'page break'; position:absolute; right:0; top:-8px;
  background:var(--panel); padding:0 6px; font-size:9.5px; letter-spacing:.09em;
  text-transform:uppercase; color:var(--ink-3); }

/* ---- derived text: produced by a field, so not typed over --------------- */
.ned-derived{ position:relative; }
.ned-derived[data-locked="1"]{ cursor:default; }
.ned-derived[data-locked="1"]:hover{ background:var(--blue-tint); border-radius:6px;
  box-shadow:0 0 0 5px var(--blue-tint); }
.ned-derived .ned-from{ position:absolute; right:0; top:-2px; font-size:9.5px;
  letter-spacing:.08em; text-transform:uppercase; color:var(--blue-deep);
  opacity:0; transition:opacity .12s; }
.ned-derived:hover .ned-from{ opacity:1; }

/* ---- an image in the flow ---------------------------------------------- */
/* z-index so a floated image stays clickable: the paragraph that wraps around
   it comes later in the document and would otherwise win the hit test over the
   area the float occupies */
figure.ned-img{ margin:0; padding:0; position:relative; z-index:1; line-height:0; }
figure.ned-img img{ display:block; width:100%; height:auto; border-radius:6px;
  border:1px solid var(--hair); }
figure.ned-img figcaption{ line-height:1.45; font-size:11.5px; color:var(--ink-2);
  padding:5px 2px 0; outline:none; min-height:17px; }
figure.ned-img figcaption:empty:before{ content:'Caption'; color:var(--ink-3); }
figure.ned-img[data-align="inline"]{ display:inline-block; vertical-align:top;
  margin:4px 8px 8px 0; }
figure.ned-img[data-align="left"]{ float:left; margin:4px 20px 10px 0; }
figure.ned-img[data-align="right"]{ float:right; margin:4px 0 10px 20px; }
figure.ned-img[data-align="center"]{ display:block; margin:14px auto; }
figure.ned-img[data-align="full"]{ display:block; margin:14px 0; width:100%!important; }
figure.ned-img.sel img{ border-color:var(--blue); box-shadow:0 0 0 2px var(--blue-line); }
figure.ned-img .ned-grip{ position:absolute; right:-6px; bottom:11px; width:16px; height:16px;
  border-radius:50%; background:var(--blue); border:2px solid var(--panel); cursor:nwse-resize;
  display:none; box-shadow:0 1px 3px var(--bb-gray-0-a25); }
figure.ned-img.sel .ned-grip{ display:block; }
figure.ned-img[data-align="full"] .ned-grip{ display:none; }

/* ---- the chip row that appears over a selected image ------------------- */
.ned-pop{ position:fixed; z-index:1300; display:none; align-items:center; gap:3px;
  background:var(--ink); color:var(--on-brand); border-radius:9px; padding:5px 6px;
  box-shadow:0 6px 20px var(--bb-gray-0-a22); font-family:var(--ui); }
.ned-pop.on{ display:flex; }
.ned-pop button{ border:0; background:transparent; color:var(--on-brand); font-size:11.5px;
  padding:4px 7px; border-radius:6px; cursor:pointer; min-height:26px; }
.ned-pop button:hover{ background:var(--bb-white-a16); }
.ned-pop button.on{ background:var(--blue); }
.ned-pop .ned-w{ font-family:var(--id); font-size:11px; min-width:38px; text-align:center;
  color:var(--on-brand); opacity:.85; }
.ned-pop .ned-psep{ width:1px; height:18px; background:var(--bb-white-a22); margin:0 3px; }

/* ---- crop ------------------------------------------------------------- */
.ned-crop{ position:fixed; inset:0; background:var(--bb-ink-a62); z-index:1200;
  display:none; place-items:center; padding:28px; }
.ned-crop.on{ display:grid; }
.ned-crop-shell{ background:var(--panel); border-radius:12px; padding:18px; max-width:min(880px,94vw);
  max-height:92vh; display:grid; gap:14px; }
.ned-crop-stage{ position:relative; display:inline-block; line-height:0; margin:auto;
  background:var(--bb-ink); max-height:66vh; }
.ned-crop-stage img{ display:block; max-width:100%; max-height:66vh; opacity:.42; }
.ned-crop-box{ position:absolute; border:1px solid var(--panel); cursor:move; }
.ned-crop-clip{ position:absolute; inset:0; overflow:hidden; }
.ned-crop-clip .ned-crop-live{ position:absolute; }
.ned-crop-box .hh{ position:absolute; width:14px; height:14px; background:var(--panel);
  border:1px solid var(--ink-3); border-radius:2px; }
.ned-crop-box .hh[data-h="nw"]{ left:-7px; top:-7px; cursor:nwse-resize; }
.ned-crop-box .hh[data-h="ne"]{ right:-7px; top:-7px; cursor:nesw-resize; }
.ned-crop-box .hh[data-h="sw"]{ left:-7px; bottom:-7px; cursor:nesw-resize; }
.ned-crop-box .hh[data-h="se"]{ right:-7px; bottom:-7px; cursor:nwse-resize; }
.ned-crop-acts{ display:flex; align-items:center; gap:9px; }
.ned-crop-acts .tiny{ margin-right:auto; }

/* the operative document's own header block */
.ned-derived[data-derived="__head"]{ border-bottom:1px solid var(--hair);
  padding-bottom:12px; margin-bottom:18px; }
.ned-derived[data-derived="__head"] p{ font-size:12.5px; color:var(--ink-2); margin:0; }
.ned-derived[data-derived="__head"] p:first-child{ font-family:var(--dis);
  font-size:21px; font-weight:500; color:var(--ink); margin:0 0 3px; }

/* the preview overlay hosts the real editor, so it drops the paper frame */
.preview-shell{ width:min(1080px,96vw); }

/* ---- one footer for every note (v7.46) --------------------------------- */
.footer-actions.nf{ align-items:center; }

.footer-actions.nf .tiny{ margin:0; }

/* the after-visit summary lost its second column with the print preview */
.avs-layout.avs-solo{ grid-template-columns:minmax(0,1fr); }

/* footer buttons are labels, not paragraphs */
.footer-actions.nf .btn, .nf-doc .btn{ white-space:nowrap; }
.footer-actions.nf{ gap:10px; }

/* the referral is a document, not a set of extracted fields */
.ref-open{ display:flex; align-items:center; gap:10px; margin:0 0 16px; }
.ref-open .tiny{ margin:0; }

/* ====== v7.48 — no rounded corners ======================================
   Every corner in the app is square. The only shapes that keep a radius are
   the ones that are circles rather than rounded rectangles: an avatar, a
   status dot, a numbered step, the image resize grip. */
*, *::before, *::after{ border-radius:0 !important; }
.avatar, .mark, .heidi-mark, .help-btn, .stage-n, .cc-step .n,
.rec-dot, .rec-live, .recording-dot, .cap-src .dot, .enc-flow .st .dot,
.ro-badge .ro-dot, .live-filter-note:before, figure.ned-img .ned-grip{
  border-radius:50% !important;
}

/* ---- the implant check form (v7.48) ------------------------------------ */
#tnForm .tq-lab{ font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-3); margin:0 0 7px; display:flex; align-items:baseline; gap:10px; }
#tnForm .tq-lab .tiny{ letter-spacing:0; text-transform:none; font-weight:400; margin:0; }
#tnForm .tq-lab.tq-top{ margin-top:22px; }
#tnForm .tq-chips{ display:flex; flex-wrap:wrap; gap:6px; margin:0 0 12px; }
#tnForm .tq-chip{ border:1px solid var(--hair); background:var(--panel); color:var(--ink);
  font-family:var(--ui); font-size:12.5px; padding:6px 10px; cursor:pointer; min-height:32px; }
#tnForm .tq-chip:hover{ border-color:var(--blue-line); }
#tnForm .tq-chip.on{ border-color:var(--blue); background:var(--blue-tint);
  color:var(--blue-deep); font-weight:650; }
#tnForm .tq-imp{ border:1px solid var(--hair); padding:14px 15px; margin:0 0 10px; background:var(--panel); }
#tnForm .tq-imp-h{ display:flex; align-items:center; gap:9px; flex:1; min-width:0; }
#tnForm .tq-n{ display:inline-grid; place-items:center; width:22px; height:22px; flex:0 0 22px;
  background:var(--ink); color:var(--on-brand); font-family:var(--id); font-size:11px; }
#tnForm .tq-site{ flex:1; min-width:0; border:1px solid var(--hair); padding:7px 9px;
  font-family:var(--ui); font-size:14px; }
#tnForm .tq-size, #tnForm .tq-wide{ width:100%; border:1px solid var(--hair); padding:8px 10px;
  font-family:var(--ui); font-size:13.5px; margin-bottom:12px; }
#tnForm .tq-cover{ width:100%; border:1px solid var(--hair); padding:8px 10px; background:var(--panel);
  font-family:var(--ui); font-size:13px; margin-bottom:12px; }
#tnForm .tq-row2{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:12px 18px; }
#tnForm .tq-fail{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:8px; margin:0 0 12px; }
#tnForm .tq-fail input{ border:1px solid var(--hair); padding:8px 10px; font-family:var(--ui);
  font-size:13.5px; }
#tnForm .alert{ margin-bottom:0; }

/* ---- the implant catalogue table (v7.49) ------------------------------- */
.ic-tbl td, .ic-tbl th{ vertical-align:top; }
.ic-tbl .ic-m{ font-family:var(--id); font-size:12px; }
.ic-tbl .tiny{ margin:2px 0 0; }

#tnForm .tq-range{ display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin:0 0 12px; }
#tnForm .tq-range label{ font-size:10.5px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--ink-3); }
#tnForm .tq-range input{ width:110px; border:1px solid var(--hair); padding:7px 9px;
  font-family:var(--id); font-size:13px; }

/* a connection the size already decided is stated, not asked (v7.50) */
#tnForm .tq-derived{ display:flex; align-items:baseline; gap:9px; flex-wrap:wrap;
  border-left:3px solid var(--blue); background:var(--blue-tint);
  padding:8px 11px; margin:0 0 12px; }
#tnForm .tq-derived b{ font-family:var(--id); font-size:13px; color:var(--blue-deep); }
#tnForm .tq-derived span{ font-size:12.5px; color:var(--ink-2); }

/* the record's own fields, in the document that gets filed (v7.51) */
.anes-dl{ display:grid; grid-template-columns:minmax(150px,auto) 1fr; gap:4px 18px; margin:0; }
.anes-dl dt{ font-size:12px; color:var(--ink-3); font-weight:600; }
.anes-dl dd{ margin:0; font-size:13px; }
.anes-dl dd.wide{ grid-column:1/-1; }

/* ---- the day, laid out like the appointment module (v7.51) -------------- */
.dv{ display:flex; gap:0; align-items:stretch; overflow-x:auto; padding-bottom:4px; }

/* ---- is this real data or not (v7.52) ---------------------------------- */
.live-badge{ position:fixed; left:14px; bottom:14px; z-index:1200; background:var(--ink);
  color:var(--on-brand); padding:8px 12px; font-family:var(--ui); font-size:11.5px; line-height:1.35;
  border-left:3px solid var(--stone); box-shadow:0 4px 16px var(--bb-ink-a22); max-width:320px; }
.live-badge.on{ border-left-color:var(--moss); }
.live-badge b{ display:block; font-weight:700; }
.live-badge span{ display:block; color:var(--bb-white-a75); }

