:root{--gap: .75rem;--edge: 1rem;--muted: #667085;--accent: #6b4e8f;--error: #b42318;--line: #e4e7ec}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,sans-serif;color:#1d2939;background:#fff}.screen{padding:max(var(--edge),env(safe-area-inset-top)) var(--edge) var(--edge)}.screen--centered{min-height:100vh;display:flex;flex-direction:column;justify-content:center;max-width:420px;margin:0 auto}.stack{display:flex;flex-direction:column;gap:var(--gap)}.inline{display:inline-flex;gap:.5rem;align-items:center}label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}input,select{padding:.6rem;font-size:1rem;border:1px solid var(--line);border-radius:8px}button{padding:.6rem .9rem;font-size:1rem;border:none;border-radius:8px;background:var(--accent);color:#fff}button:disabled{opacity:.5}button.link{background:none;color:var(--accent);padding:.2rem}button.danger{background:none;color:var(--error);border:1px solid var(--error)}.muted{color:var(--muted)}.error{color:var(--error)}.app{min-height:100vh;display:flex;flex-direction:column}.app__header{display:flex;justify-content:space-between;align-items:center;padding:max(.75rem,env(safe-area-inset-top)) max(var(--edge),env(safe-area-inset-right)) .75rem max(var(--edge),env(safe-area-inset-left));border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1}.app__body{flex:1;padding:var(--edge) max(var(--edge),env(safe-area-inset-right)) var(--edge) max(var(--edge),env(safe-area-inset-left))}.tabbar{display:flex;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);position:sticky;bottom:0;background:#fff}.tabbar button{flex:1;background:none;color:var(--muted);border-radius:0;padding:.9rem}.tabbar button.active{color:var(--accent);font-weight:600}.list{list-style:none;padding:0;margin:0}.list__row{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--line)}.row-between{display:flex;justify-content:space-between;align-items:center}.shopping-group{list-style:none;padding:.3rem 0;border-bottom:1px solid var(--line)}.shopping-group__header{font-size:.8rem;padding-bottom:.2rem}.shopping-group__toggle{background:none;color:inherit;text-align:left;padding:0;flex:1}.shopping-group__items{padding-left:1.8rem;border-left:2px solid var(--line);margin-left:.35rem}.shopping-row{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0}.shopping-row__main{display:flex;align-items:center;gap:.6rem}.shopping-row__main input[type=checkbox]{width:1.2rem;height:1.2rem}.checked{text-decoration:line-through;color:var(--muted)}.row-open{background:none;color:inherit;text-align:left;padding:0;width:100%}.stars{display:inline-flex;gap:.1rem}.star{background:none;color:var(--line);padding:0 .05rem;font-size:1.3rem;line-height:1}.star--on{color:#e0a800}.star:disabled{opacity:1}.banner{background:#f4f0f9;border:1px solid #e4d9f0;border-radius:8px;padding:.6rem .75rem;font-size:.9rem}.banner--button{display:block;width:100%;text-align:left;color:inherit;cursor:pointer}.capture{padding-bottom:.5rem;border-bottom:1px solid var(--line)}.capture__button{display:inline-block;text-align:center;padding:.7rem;border:1px dashed var(--accent);border-radius:8px;color:var(--accent)}.pages{display:flex;flex-wrap:wrap;gap:.5rem}.page-thumb-button{background:none;padding:0;border-radius:8px}.page-thumb{width:96px;height:96px;object-fit:cover;border-radius:8px;border:1px solid var(--line);display:block}.image-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:#000000e6;display:flex;align-items:center;justify-content:center;padding:max(var(--edge),env(safe-area-inset-top)) var(--edge) max(var(--edge),env(safe-area-inset-bottom))}.image-viewer__img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}.image-viewer__close{position:fixed;top:max(.75rem,env(safe-area-inset-top));right:max(.75rem,env(safe-area-inset-right));background:#ffffff26;color:#fff;z-index:11}
