:root{--blue:#123d72;--light:#eaf3ff;--red:#b42318;--orange:#b54708;--green:#067647;--ink:#172b4d}*{box-sizing:border-box}body{margin:0;background:#f5f8fc;color:var(--ink);font:16px system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.wrap{max-width:760px;margin:auto;padding:0 16px 40px}header{min-height:68px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.brand{font-size:1.3rem;font-weight:800;color:var(--blue);text-decoration:none}.household{color:#52657e;font-size:.9rem}nav{margin-left:auto;display:flex;align-items:center;gap:12px}nav a,.link{color:var(--blue);font-size:.9rem;text-decoration:none;background:none;border:0;padding:0;cursor:pointer}.hero{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0 18px}.hero h1,.card h1{font-size:1.6rem;margin:0 0 4px}.hero p{margin:0;color:#52657e}.button,button{background:var(--blue);color:white;border:0;border-radius:10px;padding:12px 16px;font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer}.card{background:white;border-radius:16px;padding:20px;box-shadow:0 2px 12px #19365d12}.auth{max-width:460px;margin:10vh auto}.auth p{color:#52657e}label{display:block;font-weight:650;margin:14px 0 0}input,select{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #b9c8da;border-radius:9px;background:#fff;font:inherit;color:inherit}form button{margin-top:18px;width:100%}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.filters{display:flex;gap:8px;overflow:auto;margin:0 -16px 16px;padding:0 16px}.filters a{white-space:nowrap;padding:7px 12px;background:#e8eef7;color:var(--blue);border-radius:18px;text-decoration:none;font-size:.9rem}.filters .active{background:var(--blue);color:#fff}.items{display:grid;gap:10px}.item{background:#fff;border-radius:13px;padding:11px;display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:12px;box-shadow:0 2px 10px #19365d0c}.thumb{width:54px;height:54px;border-radius:10px;background:var(--light);display:grid;place-items:center;font-size:1.6rem;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover}.item h2{font-size:1rem;margin:0}.item p{color:#62738a;margin:3px 0;font-size:.88rem}.edit{font-size:.84rem;color:var(--blue);font-weight:700;text-decoration:none}.expiry{font-size:.77rem;font-weight:700}.expiry.expired{color:var(--red)}.expiry.today{color:var(--red)}.expiry.soon{color:var(--orange)}.expiry.ok{color:var(--green)}.flash{border-radius:10px;padding:12px;margin:4px 0 10px}.flash.ok{background:#dff7eb;color:#075b39}.flash.error{background:#fee9e7;color:#8f1d16}.empty{text-align:center;color:#62738a;padding:50px 20px;background:#fff;border-radius:13px}.hidden{display:none}.manual-scan{display:flex;gap:8px;margin:16px 0}.manual-scan input{margin:0}.manual-scan button{white-space:nowrap}.manual-scan+form{margin-top:16px}#reader{max-width:420px;margin:auto;overflow:hidden;border-radius:12px}.product-preview{display:flex;gap:10px;align-items:center;margin-top:10px;color:#52657e}.product-preview img{width:55px;height:55px;object-fit:cover;border-radius:8px}.danger{background:var(--red);margin-top:12px}.list{padding:0;list-style:none}.list li{padding:11px 0;border-bottom:1px solid #e5ebf2}.invite{text-align:center;background:var(--light);font-weight:800;font-size:1.7rem;letter-spacing:.1em;padding:18px;margin-top:14px;border-radius:10px;color:var(--blue)}hr{border:0;border-top:1px solid #e5ebf2;margin:25px 0}@media(max-width:500px){.wrap{padding-inline:12px}.hero{align-items:flex-start}.button{padding:10px}.two{grid-template-columns:1fr}header{gap:9px}nav{margin-left:0;width:100%;justify-content:flex-end}.item{grid-template-columns:48px 1fr auto}.thumb{width:48px;height:48px}}
