:root{color:#182d3c;font-synthesis:none;text-rendering:optimizelegibility;background:#f3f6f8;font-family:system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button{font:inherit}main{max-width:540px;padding:28px 20px max(28px, env(safe-area-inset-bottom));margin:0 auto}.eyebrow{color:#366276;letter-spacing:.08em;font-size:.75rem;font-weight:750}h1{margin:10px 0;font-size:2rem}.intro,.note{color:#425b6a;line-height:1.5}.preview{aspect-ratio:4/3;background:#132632;border-radius:16px;margin-top:24px;position:relative;overflow:hidden}video{object-fit:contain;width:100%;height:100%;display:block}.preview span{color:#fff;place-items:center;display:grid;position:absolute;inset:0}.status{min-height:3em;margin:18px 0;line-height:1.5}.actions{gap:12px;display:flex}button{color:#fff;touch-action:manipulation;background:#08637a;border:2px solid #08637a;border-radius:12px;flex:1;min-height:54px;padding:12px;font-weight:700}button.secondary{color:#08637a;background:#fff}button:disabled{opacity:.45}button:focus-visible{outline-offset:4px;outline:3px solid #b25b00}.note{margin-top:24px;font-size:.875rem}.result{background:#fff;border:1px solid #c9d8df;border-radius:14px;margin-top:24px;padding:20px;line-height:1.5}.result h2{margin-top:0;font-size:1.25rem}.result{min-width:0;margin-inline:0}.raw{overflow-wrap:anywhere;max-height:140px;overflow:auto}label{font-weight:700;display:block}input{width:100%;min-height:52px;font:inherit;border:2px solid #567381;border-radius:8px;margin-top:8px;padding:12px}#part-help{color:#425b6a;font-size:.8rem}.session-warning{color:#654900;background:#fff3d6;border-radius:10px;padding:14px;line-height:1.5}.mode,.receipt{font-weight:700;line-height:1.5}.quantity{align-items:center;gap:10px;margin-top:8px;display:flex}.quantity input{text-align:center;width:90px;margin:0}.rescan,.cancel{width:100%;margin-top:12px}.history{margin-top:32px}.history ol{padding:0;list-style:none}.history li{overflow-wrap:anywhere;background:#fff;border:1px solid #c9d8df;border-radius:10px;margin-bottom:12px;padding:14px}time{color:#425b6a;margin:8px 0;display:block}summary{cursor:pointer;padding:10px 0}.view-nav{gap:8px;margin:20px 0;display:flex}.view-nav button{padding:10px 5px;font-size:.9rem}.view-nav button[aria-pressed=true]{color:#123c48;background:#d9edf2}.balance-list{padding:0;list-style:none}.balance-list li{overflow-wrap:anywhere;background:#fff;border:1px solid #c9d8df;border-radius:12px;margin-top:12px;padding:16px}.balance-list p{margin:8px 0;line-height:1.5}.attention{color:#973400}.balances legend{font-weight:700}.scan-guide{pointer-events:none;border:2px dashed #ffffffd9;border-radius:8px;position:absolute;inset:16% 8%}.suggestions{background:#e9f4f6;border-radius:10px;margin-bottom:16px;padding:12px}.suggestions button{overflow-wrap:anywhere;width:100%;margin-bottom:8px}#result-title:focus{outline-offset:4px;outline:2px solid #08637a}.batch-review{border:0;min-width:0;margin:20px 0;padding:0}.batch-review legend{font-size:1.2rem;font-weight:700}.batch-actions{margin-top:16px}.batch-candidates{overflow-wrap:anywhere;line-height:1.6}.batch-guide{inset:5%}.offline-panel{background:#e9f4f6;border:1px solid #c9d8df;border-radius:10px;padding:8px 14px;line-height:1.5}.offline-panel summary{font-weight:700}.update-check{width:100%;margin-top:12px;display:block}.update-instructions{background:#fff;border:1px solid #c9d8df;border-radius:10px;margin-top:12px;padding:8px 14px;line-height:1.5}.update-instructions summary{font-weight:700}.update-instructions ol{padding-left:22px}.update-instructions li{margin-bottom:10px}input[type=file]{max-width:100%;font-size:.85rem}.history-toolbar{z-index:2;background:#f4f8fa;padding:10px 0;position:sticky;top:0}button.danger{background:#a12d25;border-color:#a12d25}.history-editor{border:1px solid #c9d8df;border-radius:10px;min-width:0;margin:16px 0;padding:12px}.history-editor legend{font-weight:700}.history-editor label{margin-top:10px}.entry-actions{margin:12px 0}.usage-panel{background:#e9f4f6;border:1px solid #c9d8df;border-radius:10px;margin:16px 0;padding:8px 14px 14px;line-height:1.5}.usage-panel summary,.usage-since{font-weight:750}.usage-panel table{border-collapse:collapse;table-layout:fixed;background:#fff;width:100%}.usage-panel th,.usage-panel td{text-align:left;overflow-wrap:anywhere;border-bottom:1px solid #c9d8df;padding:10px}.usage-panel th:last-child,.usage-panel td:last-child{text-align:right;width:95px}.capture-notice{z-index:1;color:#064426;overflow-wrap:anywhere;pointer-events:none;background:#d5ffe4;border:3px solid #16824c;border-radius:10px;padding:14px;font-size:1.15rem;font-weight:800;animation:.25s ease-out capture-pop;position:absolute;bottom:12px;left:12px;right:12px}.capture-notice small{margin-top:5px;font-size:.85rem;display:block}.capture-result{color:#064426;background:#d5ffe4;border-radius:10px;padding:14px;font-weight:800}@keyframes capture-pop{0%{transform:scale(.96)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.capture-notice{animation:none}}@media (orientation:landscape) and (width>=600px){main{max-width:none;padding:12px max(16px, env(safe-area-inset-right)) 16px max(16px, env(safe-area-inset-left));grid-template-columns:minmax(0,35%) minmax(0,1fr);align-items:start;column-gap:20px;display:grid}main>*{grid-column:2;min-width:0}.app-chrome{grid-row:1/span 2}.app-chrome .eyebrow{margin-top:0}.view-nav{z-index:3;background:#f4f8fa;grid-area:1/1;margin:0 0 12px;padding:6px 0;position:sticky;top:0}.home-view:not([hidden]){display:contents}.home-view>*{grid-column:1;min-width:0}.home-view>.preview:not([hidden]){top:max(12px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));width:calc((100vw - max(16px, env(safe-area-inset-left)) - max(16px, env(safe-area-inset-right)) - 20px) * .65);height:calc(100dvh - max(12px, env(safe-area-inset-top)) - max(12px, env(safe-area-inset-bottom)));aspect-ratio:auto;margin:0;position:fixed}.camera-active .app-chrome,.camera-active .privacy-note{display:none}.home-view .mode{margin-top:0}.camera-active .home-view>.mode{grid-row:2}.camera-active .home-view>.scan-controls,.camera-active .home-view>.batch-panel{grid-row:3}.home-view .actions{flex-direction:column;gap:8px}.home-view .status{min-height:0;margin:10px 0}.home-view .note{margin:10px 0}.home-view .result{padding:12px}.home-view .result h2{font-size:1.1rem}.home-view h2{margin:12px 0}.home-view .batch-candidates{margin:8px 0}.capture-notice{font-size:1.1rem}}
