:root{color:#20252d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#20252d;--muted:#66707d;--line:#d7dee5;--panel:#fff;--soft:#f7f9fb;--red:#b42334;--red-soft:#fff0f2;--green:#08745f;--green-soft:#e8f5f1;--blue:#2d5fc4;--blue-soft:#edf3ff;--amber:#925f00;--amber-soft:#fff6df;--shadow:0 16px 36px #18253614;background:#f4f6f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Yu Gothic,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.56}.app-shell{min-height:100vh;padding:22px}.topbar{align-items:center;gap:14px;max-width:1480px;margin:0 auto 18px;display:flex}.brand-mark{background:var(--red);color:#fff;border-radius:8px;place-items:center;width:50px;height:50px;display:grid}h1,h2,h3,p,dl{margin:0}.topbar h1{letter-spacing:0;font-size:24px;font-weight:820}.topbar p,.section-head p{color:var(--muted);font-size:13px;font-weight:650}.workspace{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;gap:18px;max-width:1480px;margin:0 auto;display:grid}.patient-panel,.wide-panel,.dose-card,.recipe-card,.entry-panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.patient-panel{gap:16px;padding:18px;display:grid;position:sticky;top:22px}.main-panel{gap:16px;min-width:0;display:grid}.panel-heading,.section-head,.dose-card-head,.recipe-head,.custom-row{align-items:center;display:flex}.panel-heading{gap:9px}.panel-heading h2,.section-head h2{letter-spacing:0;font-size:18px;font-weight:820}.section-head{justify-content:space-between;gap:16px}.section-head.compact{margin-bottom:14px}.weight-input{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:78px;display:grid;overflow:hidden}.weight-input input{color:var(--ink);border:0;outline:0;width:100%;min-width:0;padding:8px 8px 8px 16px;font-size:38px;font-weight:850}.weight-input span{color:var(--muted);padding-right:16px;font-size:18px;font-weight:800}.quick-weights{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.quick-weights button,.category-chip{border:1px solid var(--line);color:#334155;background:#fff;border-radius:8px;min-height:36px;padding:0 10px;font-size:13px;font-weight:780}.quick-weights button:hover,.category-chip:hover,.secondary-button:hover{border-color:#aeb8c4}.metric-row{background:var(--green-soft);color:#065e50;border:1px solid #b9ddd2;border-radius:8px;justify-content:space-between;align-items:center;min-height:48px;padding:0 12px;display:flex}.metric-row span,.assist-metric span,.result-band span,.rer-badge span{text-transform:uppercase;font-size:12px;font-weight:820}.metric-row strong,.assist-metric strong,.rer-badge strong{font-size:16px;font-weight:860}.tab-list{gap:8px;display:grid}.tab-button{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:8px;align-items:center;gap:10px;min-height:46px;padding:0 12px;display:flex}.tab-button span{font-size:14px;font-weight:800}.tab-button.active{background:var(--red-soft);color:var(--red);border-color:#efb6bf}.search-box{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;flex:0 360px;align-items:center;gap:8px;height:42px;padding:0 12px;display:flex}.search-box input{border:0;outline:0;width:100%;min-width:0}.category-strip{flex-wrap:wrap;gap:8px;display:flex}.category-chip.active{background:var(--blue-soft);color:var(--blue);border-color:#aac1f4}.dose-grid,.recipe-grid{gap:12px;display:grid}.protocol-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.protocol-strip div{border:1px solid var(--line);background:#fff;border-radius:8px;gap:2px;min-height:58px;padding:9px 12px;display:grid}.protocol-strip span{color:var(--muted);font-size:12px;font-weight:820}.protocol-strip strong{color:var(--blue);font-size:18px;font-weight:900}.dose-list{gap:8px;display:grid}.dose-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}.recipe-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.dose-card,.recipe-card{box-shadow:none;gap:12px;min-width:0;padding:14px;display:grid}.dose-row{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 8px 22px #1825360d}.dose-row summary{grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:10px;min-height:72px;padding:10px 12px;list-style:none;display:grid}.dose-row summary::-webkit-details-marker{display:none}.dose-row-drug{gap:1px;min-width:0;display:grid}.dose-row-drug span,.dose-row-volume span{color:var(--muted);font-size:11px;font-weight:830}.dose-row-drug strong{color:var(--ink);overflow-wrap:anywhere;font-size:17px;font-weight:900;line-height:1.2}.dose-row-volume{text-align:right;align-items:end;gap:1px;min-width:96px;display:grid}.dose-row-volume strong{color:var(--green);letter-spacing:0;white-space:nowrap;font-size:24px;font-weight:950;line-height:1}.dose-row-chevron{color:var(--muted);transition:transform .16s}.dose-row[open] .dose-row-chevron{transform:rotate(180deg)}.dose-row-detail{border-top:1px solid #e3e8ee;gap:10px;padding:10px 12px 12px;display:grid}.dose-card-head{justify-content:space-between;gap:12px}.dose-card h3,.recipe-card h3{letter-spacing:0;overflow-wrap:anywhere;font-size:17px;font-weight:850;line-height:1.28}.category-label,.recipe-head span,.custom-row span{color:var(--muted);font-size:12px;font-weight:800;display:block}.result-band{background:var(--green-soft);color:#055f50;border:1px solid #b8dacf;border-radius:8px;gap:2px;min-height:74px;padding:10px 12px;display:grid}.result-band strong{letter-spacing:0;font-size:30px;font-weight:900;line-height:1.05}.dose-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.dose-details div,.ingredient-result,.assist-metric,.compact-input{background:var(--soft);border:1px solid #e1e6eb;border-radius:8px}.dose-details div{min-height:56px;padding:8px 10px}.dose-details dt{color:var(--muted);font-size:11px;font-weight:800}.dose-details dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:820}.note-line{background:var(--amber-soft);color:#6b4b00;border:1px solid #ecd38e;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:760}.delete-row-button{color:var(--red);background:#fff;border:1px solid #efb6bf;border-radius:8px;justify-content:center;justify-self:start;align-items:center;gap:8px;min-height:38px;padding:0 12px;font-weight:840;display:inline-flex}.row-actions,.custom-row-actions{flex-wrap:wrap;gap:8px;display:flex}.compact-action{min-height:36px;padding:0 10px;font-size:13px}.wide-panel{box-shadow:none;gap:14px;padding:16px;display:grid}.assist-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.assist-metric{gap:4px;min-height:62px;padding:10px 12px;display:grid}.assist-metric span{color:var(--muted)}.assist-metric strong{color:var(--blue)}.echo-panel{grid-template-columns:minmax(160px,1fr) minmax(180px,240px) minmax(180px,240px);align-items:end}.rer-badge{background:var(--blue-soft);color:var(--blue);border:1px solid #b8c9f4;border-radius:8px;min-width:190px;padding:8px 12px;display:grid}.recipe-head{flex-direction:column;align-items:flex-start;gap:2px}.ingredient-results,.ingredient-editor,.custom-list{gap:10px;display:grid}.ingredient-result{justify-content:space-between;align-items:center;min-height:50px;padding:8px 10px;display:flex}.ingredient-result span{color:#3c4653;font-size:14px;font-weight:770}.ingredient-result strong{color:var(--green);font-size:20px;font-weight:900}.ingredient-editor{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.compact-input{gap:6px;padding:9px 10px;display:grid}.compact-input span,.field-group span{color:#485363;font-size:12px;font-weight:820}.compact-input input,.field-group input,.split-input select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;outline:0;width:100%;min-width:0;height:38px;padding:0 10px}.entry-panel{box-shadow:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;display:grid}.field-group{gap:7px;min-width:0;display:grid}.field-group.wide{grid-column:1/-1}.split-input{grid-template-columns:minmax(0,1fr) 116px;gap:8px;display:grid}.primary-button,.secondary-button{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-weight:840;display:inline-flex}.primary-button{background:var(--red);border:1px solid var(--red);color:#fff}.secondary-button{border:1px solid var(--line);color:var(--ink);background:#fff}.form-message{color:var(--green);align-self:center;font-size:13px;font-weight:800}.custom-row{background:var(--soft);border:1px solid #e1e6eb;border-radius:8px;justify-content:space-between;gap:10px;min-height:56px;padding:9px 10px}.custom-row strong{font-size:15px;display:block}.custom-row-actions{flex:none;justify-content:flex-end}.icon-danger{color:var(--red);background:#fff;border:1px solid #efb6bf;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.empty-state{color:var(--muted);border:1px dashed #c4ccd5;border-radius:8px;place-items:center;min-height:90px;font-size:14px;font-weight:800;display:grid}@media (width<=1040px){.workspace,.echo-panel{grid-template-columns:1fr}.patient-panel{position:static}}@media (width<=720px){.app-shell{padding:calc(12px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom))}.topbar{align-items:flex-start}.brand-mark{width:44px;height:44px}.topbar h1{font-size:21px}.patient-panel{grid-template-columns:minmax(112px,.9fr) minmax(0,1.6fr);gap:8px;padding:10px}.patient-panel .panel-heading,.patient-panel .metric-row{display:none}.weight-input{grid-column:1;min-height:70px}.weight-input input{padding-left:12px;font-size:30px}.weight-input span{padding-right:10px;font-size:14px}.quick-weights{grid-column:2;grid-template-columns:repeat(3,minmax(0,1fr));align-self:stretch}.quick-weights button{min-height:31px;padding:0 4px}.tab-list{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.tab-button{justify-content:center;min-height:39px;padding:0 8px}.section-head{flex-direction:column;align-items:stretch}.search-box,.rer-badge{flex-basis:auto;width:100%}.dose-details,.entry-panel,.split-input{grid-template-columns:1fr}.result-band strong{font-size:26px}.dose-row summary{grid-template-columns:minmax(0,1fr) auto 18px;min-height:68px;padding:9px 10px}.dose-row-drug strong{font-size:16px}.dose-row-volume{min-width:84px}.dose-row-volume strong{font-size:21px}.custom-row{flex-direction:column;align-items:stretch}.custom-row-actions{justify-content:stretch}.custom-row-actions .secondary-button{flex:auto}}
