:root{--bg:#070b14;--panel:#111827;--panel2:#0f172a;--text:#e5e7eb;--muted:#94a3b8;--line:#243044;--accent:#22c55e;--warn:#f59e0b;--danger:#ef4444;--blue:#38bdf8}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#111827,#070b14 50%);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;padding-bottom:86px}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #172033;padding:0 18px;background:rgba(7,11,20,.88);position:sticky;top:0;z-index:10;backdrop-filter:blur(10px)}a{color:inherit;text-decoration:none}.brand{font-weight:900;font-size:21px}nav{display:flex;gap:16px;color:var(--muted);font-weight:700}.container{max-width:980px;margin:0 auto;padding:22px}.hero{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:8px 0 18px}.eyebrow{color:var(--blue);letter-spacing:.18em;text-transform:uppercase;font-size:12px}h1{font-size:34px;line-height:1.05;margin:4px 0 0}h2{margin:0 0 14px}.primary,.secondary,.danger-btn,.sort-btn,button{border:0;border-radius:16px;padding:13px 18px;font-weight:900;cursor:pointer}.primary{background:var(--accent);color:#03130a}.secondary{background:#1f2937;color:var(--text);text-align:center}.danger-btn{background:#32131a;color:#fecaca}.full{width:100%}.card{background:rgba(17,24,39,.78);border:1px solid var(--line);border-radius:28px;padding:20px;margin:16px 0;box-shadow:0 16px 50px rgba(0,0,0,.24)}.narrow{max-width:620px;margin-left:auto;margin-right:auto}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{background:#0b1220;border:1px solid #1f2937;border-radius:20px;padding:16px}.stat strong{display:block;font-size:26px}.stat span{color:var(--muted)}.stat.danger strong{color:var(--danger)}.stat.warn strong{color:var(--warn)}.searchbar{display:grid;grid-template-columns:1fr 180px 105px;gap:10px;margin:18px 0}input,select,textarea{width:100%;background:#0b1220;border:1px solid #253044;color:var(--text);border-radius:16px;padding:14px 16px;font:inherit}label{display:grid;gap:7px;color:var(--muted);font-weight:700}.form{display:grid;gap:14px}.form.compact{gap:10px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checklist{display:grid;gap:10px}.checklist-row{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;background:rgba(15,23,42,.9);border:1px solid #243044;border-radius:22px;padding:12px}.checklist-row.is-checked{border-color:rgba(34,197,94,.35)}.checklist-row.is-missing{opacity:.72;border-color:rgba(239,68,68,.35)}.big-check{width:46px;height:46px;border-radius:16px;border:2px solid #334155;background:#0b1220;color:#07110b;font-size:25px;padding:0}.big-check.on{background:var(--accent);border-color:var(--accent);color:#04120a}.checklist-main{display:grid;gap:4px;min-width:0}.checklist-main strong{font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checklist-main span,.muted{color:var(--muted);font-size:13px}.checklist-actions{display:flex;gap:7px}.checklist-actions button,.icon-btn{width:40px;height:40px;padding:0;background:#1f2937;color:var(--text)}.location-toggle{width:100%;border:0;background:transparent;color:var(--text);display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;text-align:left;padding:0 0 14px;cursor:pointer}.location-toggle span{font-size:22px;font-weight:900}.location-toggle small{color:var(--muted)}.location-toggle b{font-size:20px;transition:transform .2s ease}.checklist-card.collapsed .location-toggle b{transform:rotate(-90deg)}.checklist-card.collapsed .checklist{display:none}.sort-btn{background:#111827;color:var(--text);border:1px solid #334155}.bottomnav{position:fixed;bottom:0;left:0;right:0;height:72px;background:rgba(7,11,20,.94);border-top:1px solid #1f2937;display:flex;justify-content:space-around;align-items:center;z-index:20}.bottomnav a{display:grid;text-align:center;gap:4px;color:var(--muted);font-size:20px}.bottomnav span{font-size:12px}.empty{text-align:center;color:var(--muted);padding:28px}.flashbox{display:grid;gap:8px}.flash{padding:12px 14px;border-radius:16px;background:#10241a;color:#bbf7d0}.flash.error{background:#34131a;color:#fecaca}.item-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.details-simple{background:#0b1220;border:1px solid #253044;border-radius:20px;padding:14px;margin:16px 0}.actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sep{border:0;border-top:1px solid var(--line);margin:22px 0}.inline-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.inline-form input[type=number]{max-width:110px}.list-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.list-tabs a{background:#0b1220;border:1px solid #253044;border-radius:999px;padding:10px 14px;font-weight:800}.list-tabs a.active{background:var(--accent);color:#03130a}.shopping-items{display:grid;gap:10px;margin-top:16px}.shopping-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:#0b1220;border:1px solid #253044;border-radius:18px;padding:10px}.shopping-row.done{opacity:.55}.shopping-row.done strong{text-decoration:line-through}.mini-check{width:40px;height:40px;padding:0;background:#111827;color:var(--accent);border:1px solid #334155}.shopping-row span{display:block;color:var(--muted);font-size:13px}.location-line{padding:13px;border-bottom:1px solid #1f2937;font-weight:800}@media(max-width:720px){.container{padding:16px}.hero{align-items:flex-start}.stats{grid-template-columns:repeat(2,1fr)}.searchbar{grid-template-columns:1fr}.checklist-row{grid-template-columns:50px 1fr}.checklist-actions{grid-column:2}.topbar nav{gap:10px;font-size:14px}.inline-form{grid-template-columns:1fr}.item-head{display:grid}.grid2{grid-template-columns:1fr}h1{font-size:28px}}
/* Secure/list upgrade */
.logout-form{display:inline}.logout-form button{border:1px solid #334155;background:#111827;color:var(--text);border-radius:999px;padding:9px 12px;font-weight:800}.login-card{max-width:520px;margin:40px auto}.flash-wrap{display:grid;gap:8px;margin-bottom:14px}.flash{padding:12px 14px;border-radius:16px;border:1px solid #334155;background:#111827}.flash.success{border-color:#22c55e}.flash.error{border-color:#ef4444}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkline{display:flex;gap:10px;align-items:center;background:#111827;border:1px solid #243044;border-radius:16px;padding:12px}.checkline input{width:auto}.muted{color:var(--muted)}.small{font-size:13px}.alert-card{border-color:rgba(245,158,11,.45)}.alert-row{display:grid;gap:4px;padding:12px;border:1px solid rgba(245,158,11,.3);border-radius:16px;margin-top:10px;background:rgba(245,158,11,.08)}.alert-row span{color:var(--muted);font-size:13px}.shop-add-inline{display:flex;gap:6px;align-items:center}.shop-add-inline select{max-width:140px}.shop-add-inline button{width:42px;height:38px;border-radius:14px;padding:0}.head-actions{display:flex;gap:8px;flex-wrap:wrap}.warn-btn{background:#f59e0b;color:#171006;border:0;border-radius:14px;padding:10px 14px;font-weight:900}.detail-list{display:grid;gap:8px;margin-bottom:18px}.admin-list{display:grid;gap:10px;margin-top:14px}.admin-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;background:#0f172a;border:1px solid #243044;border-radius:18px;padding:12px}.admin-row span{display:block;color:var(--muted);font-size:13px}.inline-mini{display:flex;gap:8px}.inline-mini input{max-width:170px}.inline-mini button{white-space:nowrap}
@media(max-width:760px){.grid-2{grid-template-columns:1fr}.admin-row{grid-template-columns:1fr}.inline-mini{display:grid}.shop-add-inline{grid-column:2 / span 2}.shop-add-inline select{max-width:none}.checklist-row{grid-template-columns:52px 1fr auto}.checklist-actions{grid-column:auto}.head-actions{width:100%}.head-actions form,.head-actions button{width:100%}}

/* v2: better shopping list selector and rule visibility */
.shop-add-inline{grid-column:2 / 4;display:grid;grid-template-columns:130px 1fr auto;gap:8px;align-items:center;margin-top:6px;background:#0b1220;border:1px solid #253044;border-radius:18px;padding:10px}.shop-add-inline label{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.shop-add-inline select{max-width:none;min-width:180px;background:#111827}.shop-add-inline button{width:auto;height:auto;padding:12px 14px;border-radius:14px;background:#1f2937;color:var(--text)}.selected-list{grid-column:2 / 4;color:#86efac;font-weight:800;font-size:13px}.inline-form .selected-list{grid-column:1 / -1}.form-grid{display:grid;gap:14px}
@media(max-width:760px){.shop-add-inline{grid-column:1 / -1;grid-template-columns:1fr}.selected-list{grid-column:1}.shop-add-inline button{width:100%}}
