:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--bg:#08111d;--panel:#101c2b;--panel-2:#142235;--border:#26364a;--text:#f7f9fc;--muted:#9eb0c5;--accent:#2f9bf4;--danger:#ef6b73}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#07101b,#0b1726);color:var(--text)}button,input{font:inherit}button{min-height:46px;border-radius:12px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);padding:0 16px;cursor:pointer}.primary{border-color:#2388da;background:var(--accent);color:#fff;font-weight:700}.app-shell{width:min(760px,100%);margin:0 auto;padding:24px 16px 44px}.card{background:rgba(16,28,43,.96);border:1px solid var(--border);border-radius:20px;padding:22px;box-shadow:0 18px 50px rgba(0,0,0,.22)}.auth-card{max-width:520px;margin:48px auto 0}.brand{color:var(--accent);text-transform:uppercase;letter-spacing:.11em;font-size:.8rem;font-weight:800}h1{margin:6px 0 8px;font-size:clamp(2rem,7vw,3rem)}h2{margin-top:0;font-size:1.25rem}.muted{color:var(--muted)}label{display:grid;gap:7px;margin-top:16px;color:var(--muted)}input{width:100%;min-height:50px;border:1px solid var(--border);border-radius:12px;background:#0b1522;color:var(--text);padding:0 14px;font-size:16px}.row{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.hidden{display:none!important}.message{min-height:1.3em;color:var(--muted);margin-bottom:0}.setup-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center}.divider-text{color:var(--muted);text-transform:uppercase;font-size:.75rem}#joinForm{display:grid;gap:10px}.topbar{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}.text-btn{background:transparent;border-color:transparent;color:var(--accent);padding-inline:8px}.add-row{display:grid;grid-template-columns:1fr auto;gap:10px}.add-button{min-width:92px}.household-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 6px;padding-top:14px;border-top:1px solid var(--border)}.join-code{font-size:1.6rem;letter-spacing:.16em;font-weight:800;text-align:center;padding:14px;border-radius:14px;background:#0b1522;border:1px dashed var(--border)}.shopping-list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}.item{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:8px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--panel-2)}.check-btn,.delete-btn{width:44px;min-height:44px;padding:0;display:grid;place-items:center;font-size:1.25rem}.item-name{font-size:1.12rem;min-width:0;overflow-wrap:anywhere}.item.checked .item-name{text-decoration:line-through;color:var(--muted)}.delete-btn{color:var(--danger);background:transparent}.empty-state{color:var(--muted);text-align:center;padding:34px 12px 14px}footer{color:var(--muted);text-align:center;font-size:.85rem;padding:18px 6px 0}@media(max-width:620px){.setup-grid{grid-template-columns:1fr}.divider-text{text-align:center}.topbar{align-items:center}.add-row{grid-template-columns:1fr}.add-button{width:100%}}

.item.pending { opacity: 0.65; }
button:disabled { opacity: 0.7; cursor: wait; }
