:root{color-scheme:light;--bg: #f3efe6;--ink: #1a1f16;--mute: #5c6554;--panel: #fffdf8;--accent: #2f5d3a;--line: #cfc6b4;font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:radial-gradient(circle at 20% 0%,#e8f0e4 0%,transparent 45%),linear-gradient(180deg,#f7f3ea 0%,var(--bg) 100%);color:var(--ink)}#app{max-width:28rem;margin:0 auto;padding:1rem 1rem 2rem;display:grid;gap:.75rem}#app.scan,#app.calibrate{height:100dvh;max-height:100dvh;padding:.45rem .7rem calc(.45rem + env(safe-area-inset-bottom));gap:.4rem;overflow:hidden}#app.scan{grid-template-rows:auto auto auto minmax(0,1fr) auto}#app.calibrate{grid-template-rows:auto auto minmax(0,1fr) auto}#app.calibrate.measuring{grid-template-rows:auto auto auto minmax(0,1fr) auto}#app.calibrate.density.measuring{grid-template-rows:auto auto auto auto minmax(0,1fr) auto}header h1{margin:0;font-size:1.75rem;letter-spacing:-.03em}#app.scan header h1,#app.calibrate header h1{font-size:1.2rem}.sub{margin:.25rem 0 0;color:var(--mute);font-size:.95rem}.camera-view{position:relative;width:100%;aspect-ratio:3 / 4;background:#111;border-radius:.75rem;border:1px solid var(--line);overflow:hidden}#app.scan .camera-view,#app.calibrate .camera-view{aspect-ratio:unset;min-height:0;height:100%;border-radius:.5rem}#preview,#barcode-overlay{position:absolute;inset:0;width:100%;height:100%}#preview{object-fit:cover}#barcode-overlay{pointer-events:none}#banner{display:flex;align-items:center;gap:.5rem;min-height:2.1rem;padding:.25rem .4rem .25rem .55rem;border:1px solid var(--line);border-radius:.4rem;background:var(--panel)}#banner.ok{background:#d7eed9;border-color:#2f5d3a;color:#1a3d22}#banner-text{margin:0;flex:1;min-width:0;font-size:.88rem;font-weight:600}#banner #confirm{flex-shrink:0;padding:.35rem .7rem;font-size:.85rem}#bottle-status-wrap,#density-volume-wrap,#recalculate-wrap{display:flex;align-items:center;gap:.5rem;min-height:2.1rem;padding:.25rem .55rem;border:1px solid var(--line);border-radius:.4rem;background:var(--panel);font-size:.88rem;font-weight:600}#bottle-status-wrap select,#density-volume-wrap select,#recalculate-wrap select{flex:1;min-width:0;font:inherit;font-weight:500}#sheet{display:grid;gap:.35rem;min-height:0}#app.scan #sheet,#app.calibrate #sheet{max-height:36dvh;overflow:auto}.bottom-actions{display:flex;flex-wrap:wrap;gap:.4rem}.bottom-actions:not(:has(button:not([hidden]))){display:none}.bottom-actions button{flex:1}#invite-qr{display:block;width:min(18rem,100%);height:auto;margin:0 auto;background:var(--panel);border:1px solid var(--line);border-radius:.5rem;padding:.75rem}#invite-url{margin:0;text-align:center;word-break:break-all;font-weight:600}.nav{margin:.35rem 0 0;font-size:.9rem}.nav a{color:var(--accent)}#app.scan .nav,#app.calibrate .nav,#app.lookup .nav{margin:.15rem 0 0;font-size:.8rem}#app.history{max-width:48rem}.history-chart{position:relative;width:100%;height:24rem;overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:.5rem;padding:.5rem}#chart-plot{height:100%}.history-chart[hidden]{display:none}#medicine-select{width:100%;font:inherit;padding:.6rem .7rem;border:1px solid var(--line);border-radius:.5rem;background:var(--panel)}#result{display:block;margin:0;padding:.55rem .7rem;background:var(--panel);border:1px solid var(--line);border-radius:.5rem;font-size:.9rem;font-weight:600;white-space:pre-line;word-break:break-word}#result[hidden]{display:none}#confirm,#scan-label,#confirm-yes,#confirm-no,#cancel,#start-again,#weigh-again,#measure-full,#measure-empty,#calculate-density,#measure-after,#download-scale-image{appearance:none;border:0;border-radius:.5rem;padding:.85rem 1rem;background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer}#cancel,#confirm-no,#start-again,#weigh-again{padding:.55rem .6rem}#cancel,#confirm-no,#start-again{background:#4b5844}#confirm[hidden],#scan-label[hidden],#confirm-yes[hidden],#confirm-no[hidden],#cancel[hidden],#start-again[hidden],#weigh-again[hidden],#measure-full[hidden],#measure-empty[hidden],#calculate-density[hidden],#measure-after[hidden],#density-volume-wrap[hidden],#recalculate-wrap[hidden],#download-scale-image[hidden]{display:none}#scan-label:disabled,#confirm-yes:disabled,#confirm:disabled{opacity:.5;cursor:not-allowed}#scale-debug{max-height:18rem;margin:0;padding:.75rem;overflow:auto;border:1px solid var(--line);border-radius:.5rem;background:#171a16;color:#d7e8d2;font-size:.75rem;white-space:pre-wrap}#scale-debug[hidden]{display:none}#app.regimen form,#app.regimen .field-group{display:grid;gap:.65rem}#app.regimen .field-group[hidden]{display:none}#app.regimen label{display:grid;gap:.3rem;font-weight:600}#app.regimen input,#app.regimen select,#app.regimen button{width:100%;font:inherit;padding:.6rem .7rem;border:1px solid var(--line);border-radius:.5rem;background:var(--panel)}#app.regimen input[readonly]{background:#efeae0;color:var(--ink)}#app.regimen #medicine-details,#app.regimen #code-details,#app.regimen #estimate-fields{display:grid;gap:.65rem}#app.regimen label[hidden],#app.regimen #medicine-details[hidden],#app.regimen #code-details[hidden],#app.regimen #associated-codes-wrap[hidden],#app.regimen #almost-empty-wrap[hidden],#app.regimen #units-wrap[hidden]{display:none}#app.regimen #associated-codes-heading{margin:0;font-weight:600}#app.regimen #associated-codes{margin:.2rem 0 0;padding-left:1.2rem;font-weight:500;word-break:break-all}#app.regimen #almost-empty-heading,#app.regimen #almost-empty-average{margin:0;font-weight:600}#app.regimen #almost-empty-list{margin:.2rem 0 0;padding-left:1.2rem;font-weight:500}#app.regimen #almost-empty-average{font-weight:500}#app.regimen button[type=button]{background:#efeae0;color:var(--ink);font-weight:600;cursor:pointer}#app.lookup{height:100dvh;max-height:100dvh;padding:.45rem .7rem calc(.45rem + env(safe-area-inset-bottom));gap:.4rem;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden}#app.lookup header h1{font-size:1.2rem}#app.lookup .camera-view{aspect-ratio:unset;min-height:0;height:100%;border-radius:.5rem}#app.lookup.review{grid-template-rows:auto auto minmax(0,1fr);padding-bottom:calc(.75rem + env(safe-area-inset-bottom))}#app.lookup.review .camera-view{display:none}#app.lookup.details{grid-template-rows:auto minmax(0,1fr) auto}#app.lookup.details .camera-view,#app.lookup.details #banner{display:none}#app.lookup.details #result,#app.lookup.review #result{font-size:1rem;line-height:1.45}#app.lookup.details .bottom-actions button,#app.lookup.review .bottom-actions button{padding:.85rem 1rem}#app.lookup #sheet{max-height:none;min-height:0;overflow:hidden;grid-template-rows:minmax(0,1fr) auto;align-content:start}#app.lookup #result{min-height:0;overflow:auto}#app.lookup .bottom-actions{flex-shrink:0}#app.lookup .bottom-actions button{min-width:5.5rem;flex:1 1 5.5rem}
