/* Shared design tokens for master-life-app.
   Category color tokens live here so every page (and the homepage tiles)
   reference the same values instead of redefining them. */

:root{
  --ink:#4A4560;
  --muted:#8B87A0;
  --line:#E7E5F5;
  --ink-soft:#6B6684;

  --self-care:#9B8FC9;
  --home:#C9A227;
  --home-improvement:#4C7A5D;
  --collections:#B08BB0;
  --calendar:#7B93C9;
  --today:#FFD9E0;

  --tile-border:#d8c8e8;
  --me-bg:#fce4f0;
  --home-bg:#e1ebdc;
  --today-bg:#F2F0F8;
  --calendar-bg:#f8e8d0;
  --collections-bg:#d4e8f8;

  --home-glow:#cad9bf;
  --collections-glow:#b4c0fc;
}



*{box-sizing:border-box;}

body{
  margin:0;
  background:linear-gradient(180deg, #FBFAFD 0%, #F5F4FB 45%, #F0EEF8 100%);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  font-weight:300;
  padding-bottom:80px;
}

header{
  max-width:720px;
  margin:0 auto;
  padding:30px 20px 20px;
  position:relative;
  overflow:hidden;
}
header::before{
  content:'';
  position:absolute;
  top:-70px;
  right:-50px;
  width:240px;
  height:240px;
  background:radial-gradient(circle, rgba(155,143,201,0.16) 0%, rgba(201,212,238,0.10) 55%, transparent 75%);
  filter:blur(2px);
  pointer-events:none;
}
header .eyebrow, header h1{
  position:relative;
  z-index:1;
}
header .eyebrow{
  font-weight:600;
  font-size:11px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--self-care);
}
header h1{
  font-family:'Italiana',serif;
  font-weight:400;
  font-size:38px;
  letter-spacing:1.5px;
  margin:6px 0 0;
  -webkit-text-stroke:0.5px currentColor;
  color:var(--ink-soft);
}

main{max-width:720px; margin:0 auto; padding:24px 18px;}

h2.section-title{
  font-family:'Italiana',serif;
  font-weight:400;
  font-size:22px;
  letter-spacing:0.8px;
  margin:32px 0 12px;
  padding-bottom:8px;
  border-bottom:1px solid var(--line);
  -webkit-text-stroke:0.4px currentColor;
  color:var(--ink-soft);
  display:flex;
  align-items:center;
  gap:8px;
}

h2.section-title:first-child{margin-top:0;}

.card{
  background:rgba(255,255,255,0.45);
  backdrop-filter:blur(14px) saturate(160%);
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  border:1px solid rgba(255,255,255,0.6);
  border-top:1px solid rgba(255,255,255,0.85);
  border-radius:20px;
  box-shadow:0 4px 16px rgba(155,143,201,0.10);
  padding:14px 16px;
  margin-bottom:10px;
}

.empty-state{
  font-size:13px;
  color:var(--muted);
  line-height:1.5;
}
.empty-state b{color:var(--ink);}

/* Section tile grid on the homepage */
.tile-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.tile{
  display:block;
  text-decoration:none;
  color:var(--ink);
  background:rgba(255,255,255,0.45);
  backdrop-filter:blur(14px) saturate(160%);
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  border:1px solid rgba(255,255,255,0.6);
  border-left:3px solid var(--tile-accent, var(--self-care));
  border-radius:18px;
  box-shadow:0 4px 16px rgba(155,143,201,0.10);
  padding:16px;
  transition:transform 0.15s ease;
}
.tile:active{transform:scale(0.98);}
.tile .tile-label{
  font-family:'Italiana',serif;
  font-size:19px;
  letter-spacing:0.4px;
  display:block;
  margin-bottom:4px;
}
.tile .tile-sub{
  font-size:12px;
  color:var(--muted);
  display:block;
}
.tile.soon{opacity:0.7;}
.tile.soon .tile-sub::after{content:' · binnenkort';}

/* Sectie-tegels — vierkante 1-laags stijl (Fase A stap 4) */
.section-tile{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-decoration:none;
}
.section-tile .tile-square{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  aspect-ratio:1/1;
  background:var(--section-bg);
  border:3px solid var(--tile-border);
  border-radius:20px;
  box-shadow:3px 3px 0 var(--tile-border);
}
.section-tile .tile-square img{
  width:56%;
  height:56%;
  object-fit:contain;
}
.section-tile .tile-square::after{
  content:'✦';
  position:absolute;
  top:8px;
  right:10px;
  color:var(--tile-border);
  font-size:14px;
  line-height:1;
}
.section-tile .tile-name{
  margin-top:8px;
  font-family:'Italiana',serif;
  font-size:15px;
  letter-spacing:0.3px;
  color:var(--ink-soft);
  text-align:center;
}
.section-tile.soon .tile-square{opacity:0.6;}

.placeholder-page header .eyebrow{color:var(--page-accent, var(--self-care));}

.placeholder-card{
  border-left:3px solid var(--page-accent, var(--self-care));
}

a.back-link{
  font-size:12px;
  color:var(--muted);
  text-decoration:none;
  display:inline-block;
  margin-bottom:8px;
}

.tab-bar{
  position:fixed;
  bottom:16px;
  left:16px;
  right:16px;
  max-width:720px;
  margin:0 auto;
  background:rgba(255,255,255,0.55);
  backdrop-filter:blur(14px) saturate(160%);
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  border:1px solid rgba(255,255,255,0.6);
  border-radius:28px;
  box-shadow:0 6px 20px rgba(155,143,201,0.18);
  display:flex;
  justify-content:space-between;
  padding:12px 16px;
  z-index:100;
}

.tab-btn{
  flex:1 1 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  text-decoration:none;
  color:var(--muted);
  padding:6px 0;
}
.tab-btn .tab-badge{
  position:relative;
  width:56px;
  height:56px;
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:2px solid transparent;
  transition:transform 0.15s ease, background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.tab-btn .tab-badge::before{
  content:'';
  position:absolute;
  inset:-8px;
  border-radius:50%;
  background:radial-gradient(circle, var(--tab-glow) 0%, transparent 70%);
  opacity:0.55;
  z-index:0;
}
.tab-btn .tab-badge img{
  position:relative;
  z-index:1;
  width:42px;
  height:42px;
  object-fit:contain;
}

.tab-btn .tab-label{font-size:12px;letter-spacing:0.2px;}

.tab-btn.active{color:var(--ink);}
.tab-btn.active .tab-badge{
  background:transparent;
  border-color:var(--tile-border);
  box-shadow:1.5px 1.5px 0 var(--tile-border);
  transform:scale(1.12);
}

.header-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
}
.date-row{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:4px;
  flex-wrap:wrap;
}
.today-date{
  font-size:13px;
  color:var(--muted);
  text-transform:capitalize;
}
.med-pill{
  width:14px;
  height:22px;
  border-radius:7px;
  border:none;
  background:var(--line);
  padding:0;
  cursor:default;
  position:relative;
  flex-shrink:0;
}
.med-pill::after{
  content:'';
  position:absolute;
  top:50%; left:2px; right:2px;
  height:1px;
  background:rgba(139,135,160,0.45);
  transform:translateY(-50%);
}
.med-pill.taken{background:#a9c7a7;}
.med-pill.taken::after{background:rgba(255,255,255,0.65);}
.med-pill.pending{
  opacity:0.5;
  animation:medPillPulse 1s ease-in-out infinite;
}
@keyframes medPillPulse{
  0%,100%{opacity:0.3;}
  50%{opacity:0.7;}
}

.profile-circle{
  width:36px;
  height:36px;
  border-radius:50%;
  background:rgba(255,255,255,0.5);
  border:1px solid rgba(255,255,255,0.7);
  box-shadow:0 2px 8px rgba(155,143,201,0.12);
  flex-shrink:0;
  display:block;
}

/* Astro-badges (Moon/Astro-agenda-items) — los in de header, alleen zichtbaar
   als er vandaag een astro-event is. Max 3 tegelijk (zie index.html). */
.astro-badges{
  display:inline-flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
}
.astro-chip{
  display:inline-flex;
  align-items:center;
  gap:3px;
  font-size:9px;
  font-weight:500;
  color:var(--muted);
  background:rgba(155,143,201,0.14);
  border:1px solid rgba(155,143,201,0.22);
  border-radius:20px;
  padding:2px 7px 2px 5px;
  white-space:nowrap;
}
.astro-chip .em{font-size:10px;}

/* --- Agenda-timeline (Today-kaart) ---
   Vaste kolombreedte (84px) via flexbox, gedeeld tussen het tijdblok
   (lopend/toekomstig) en de compacte rij (afgerond), zodat de titel altijd
   op dezelfde plek begint. */
.agenda-timeline{display:flex; flex-direction:column;}
.agenda-block, .done-row{
  display:flex;
  gap:16px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(139,135,160,0.12);
  margin-bottom:8px;
  position:relative;
  cursor:pointer;
}
.agenda-block:last-child, .done-row:last-child{border-bottom:none; margin-bottom:0; padding-bottom:0;}
.agenda-block{align-items:stretch;}

.agenda-rail{
  flex:0 0 104px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.agenda-chip{
  display:inline-block;
  font-size:9px;
  font-weight:500;
  letter-spacing:0.2px;
  color:var(--muted);
  background:rgba(155,143,201,0.14);
  border:1px solid rgba(155,143,201,0.20);
  border-radius:7px;
  padding:1.5px 6px;
  line-height:1.4;
  white-space:nowrap;
  font-variant-numeric: tabular-nums;
}
.chip-sep{font-size:8px; color:var(--muted); opacity:0.6;}
.agenda-line{
  width:2px;
  flex:1;
  min-height:36px;
  background:var(--line);
  border-radius:1px;
  margin:3px 0 3px 4px;
}
.agenda-content{
  flex:1;
  display:flex;
  align-items:center;
  gap:6px;
  font-size:14px;
  color:var(--ink-soft);
}
.agenda-dot{font-size:18px; line-height:1; opacity:0.75;}
.agenda-icons{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-left:2px;
  flex-shrink:0;
}
.agenda-icon{
  width:12px;
  height:12px;
  stroke:var(--muted);
  opacity:0.85;
  flex-shrink:0;
}

/* Lopend item: subtiele losstaande achtergrond + steviger gekleurde tijd-pilletjes */
.agenda-block.current::before{
  content:'';
  position:absolute;
  inset:-4px -8px 4px -8px;
  background:rgba(155,143,201,0.12);
  border-radius:12px;
  z-index:0;
}
.agenda-block.current .agenda-rail,
.agenda-block.current .agenda-content{
  position:relative;
  z-index:1;
}
.agenda-block.current .agenda-chip{
  background:rgba(155,143,201,0.35);
  color:var(--ink-soft);
}

/* Afgerond item: compacte rij, max 1 regel, geen tijdblok/lijn meer */
.done-row{
  align-items:center;
  opacity:0.45;
  font-size:13px;
  padding-top:5px;
  padding-bottom:5px;
}
.done-meta{
  flex:0 0 104px;
  display:flex;
  align-items:center;
  gap:5px;
}
.done-content{
  flex:1;
  display:flex;
  align-items:center;
  gap:6px;
}

/* Tap-to-sheet voor agenda-items */
.sheet-backdrop{
  position:fixed; inset:0;
  background:rgba(74,69,96,0.35);
  opacity:0; pointer-events:none;
  transition:opacity 0.2s ease;
  z-index:200;
}
.sheet-backdrop.open{opacity:1; pointer-events:auto;}

.agenda-sheet{
  position:fixed;
  left:0; right:0; bottom:0;
  max-width:720px;
  margin:0 auto;
  background:#FBFAFD;
  border-radius:24px 24px 0 0;
  box-shadow:0 -6px 24px rgba(155,143,201,0.25);
  padding:20px 20px 32px;
  transform:translateY(100%);
  transition:transform 0.25s ease;
  z-index:201;
}
.agenda-sheet.open{transform:translateY(0);}

.sheet-close{
  position:absolute;
  top:14px; right:16px;
  background:none; border:none;
  font-size:16px; color:var(--muted);
  cursor:pointer;
}
.sheet-time-row{
  display:flex;
  align-items:center;
  gap:8px;
  margin:2px 30px 8px 0;
}
.sheet-time{font-size:14px; color:var(--muted);}
.sheet-cal-pill-sm{
  display:inline-block;
  color:#fff;
  font-size:10px;
  font-weight:500;
  padding:2px 9px;
  border-radius:20px;
  opacity:0.75;
}
.sheet-title{
  font-family:'Italiana',serif;
  font-weight:400;
  font-size:22px;
  margin:0 30px 14px 0;
}

.sheet-row{font-size:14px; margin-bottom:10px;}
.sheet-location-link{color:var(--ink); text-decoration:none;}
.sheet-notes{color:var(--ink); white-space:pre-wrap;}
.sheet-link-btn{
  display:inline-block;
  background:var(--self-care);
  color:#fff;
  text-decoration:none;
  font-size:13px;
  font-weight:500;
  padding:8px 16px;
  border-radius:20px;
}

/* Notificatie-bolletje + paneel voor openstaande items uit andere lijsten */
.other-dot{
  background:#9B8FC9;
  color:#fff;
  font-size:11px;
  font-weight:600;
  border-radius:999px;
  padding:2px 8px;
  border:none;
  cursor:pointer;
  font-family:'Inter',sans-serif;
  line-height:1.6;
}

.other-panel-backdrop{
  position:fixed; inset:0;
  background:rgba(74,69,96,0.35);
  opacity:0; pointer-events:none;
  transition:opacity 0.2s ease;
  z-index:200;
}
.other-panel-backdrop.open{opacity:1; pointer-events:auto;}

.other-panel{
  position:fixed;
  left:0; right:0; bottom:0;
  max-width:720px;
  margin:0 auto;
  background:#FBFAFD;
  border-radius:24px 24px 0 0;
  box-shadow:0 -6px 24px rgba(155,143,201,0.25);
  padding:20px 20px 32px;
  transform:translateY(100%);
  transition:transform 0.25s ease;
  z-index:201;
  max-height:70vh;
  overflow-y:auto;
}
.other-panel.open{transform:translateY(0);}

.other-panel-close{
  position:absolute;
  top:14px; right:16px;
  background:none; border:none;
  font-size:16px; color:var(--muted);
  cursor:pointer;
}

.other-panel-title{
  font-family:'Italiana',serif;
  font-weight:400;
  font-size:20px;
  margin:0 30px 14px 0;
}

.other-panel-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 0;
  border-top:1px solid var(--line);
  font-size:14px;
}
.other-panel-item:first-child{border-top:none;}
.other-panel-item-meta{font-size:11px; color:var(--muted); display:block;}
.agenda-filter-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:8px;
  background:rgba(139,135,160,0.10);
  border:1px solid var(--line);
  padding:0;
  cursor:pointer;
  vertical-align:middle;
}
.agenda-filter-btn svg{width:14px; height:14px; stroke:var(--muted);}

.filter-check-row{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 0;
  border-top:1px solid var(--line);
  font-size:14px;
  cursor:pointer;
}
.filter-check-row:first-child{border-top:none;}
.filter-check-row input[type="checkbox"]{
  accent-color: #6b5b95;
}
.filter-dot-color{
  width:8px;
  height:8px;
  border-radius:50%;
  flex-shrink:0;
}

.other-move-btn{
  background:#9B8FC9;
  color:#fff;
  border:none;
  border-radius:8px;
  padding:6px 10px;
  font-size:12px;
  flex-shrink:0;
  cursor:pointer;
}

/* Verberg-knop per reminder (dag-gebonden, alleen op de site) */
.reminder-dismiss{
  margin-left:auto;
  background:none;
  border:none;
  color:var(--muted);
  font-size:16px;
  line-height:1;
  padding:2px 6px;
  cursor:pointer;
  flex-shrink:0;
}

/* Reminder-menu (Verbergen/Aanpassen/Verwijderen) */
.menu-action-btn{
  display:block;
  width:100%;
  text-align:left;
  background:rgba(155,143,201,0.10);
  border:1px solid var(--line);
  border-radius:12px;
  padding:12px 14px;
  font-size:14px;
  color:var(--ink);
  font-family:'Inter',sans-serif;
  cursor:pointer;
}
.menu-action-danger{
  color:#B5502E;
  background:rgba(181,80,46,0.08);
  border-color:rgba(181,80,46,0.18);
}
.sheet-input{
  width:100%;
  font-size:16px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--line);
  margin-bottom:14px;
  font-family:'Inter',sans-serif;
  box-sizing:border-box;
}
.qa-date-wrap{
  position:relative;
  width:100%;
  margin-bottom:14px;
}
.qa-date-label{
  display:block;
  width:100%;
  font-size:16px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--line);
  font-family:'Inter',sans-serif;
  color:var(--muted);
  box-sizing:border-box;
  pointer-events:none;
}
.qa-date-label.has-value{
  color:var(--ink);
}
.qa-date-input{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  border:none;
  -webkit-appearance:none;
  appearance:none;
}

/* Tijdvelden in het agenda-aanpas-sheet — zelfde aanpak als .popup-date-input
   in self-care-dashboard.html: -webkit-appearance:none voorkomt dat Safari
   de native tijd-picker opgeblazen/inconsistent weergeeft. Achtergrond/rand/
   tekstkleur expliciet gezet zodat het veld dezelfde stijl heeft als de
   andere sheet-input-velden. */
input[type="time"].sheet-input{
  -webkit-appearance:none;
  appearance:none;
  height:41px;
  line-height:39px;
  padding:0 12px;
  font-size:14px;
  text-align:center;
  color:var(--ink);
  background:#FBFAFD;
  border:1px solid var(--line);
}
/* Voorraadlijst (Home > Voorraad) */
.inv-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 0;
  border-top:1px solid var(--line);
  font-size:14px;
}
.inv-item:first-child{border-top:none;}
.inv-item-info{display:flex; flex-direction:column; gap:2px;}
.inv-item-name{color:var(--ink);}
.inv-item-location{font-size:11px; color:var(--muted);}
.inv-status{
  flex-shrink:0;
  font-size:11px;
  font-weight:500;
  padding:3px 10px;
  border-radius:20px;
  white-space:nowrap;
}
.inv-status.veel{background:rgba(169,199,167,0.28); color:#4C7A5D;}
.inv-status.weinig{background:rgba(224,184,110,0.28); color:#96701F;}
.inv-status.op{background:rgba(197,101,79,0.22); color:#B5502E;}
.inv-status.onbekend{background:rgba(139,135,160,0.12); color:var(--muted); border:1px dashed var(--line);}


/* Status-keuze sheet (Voorraad) */
.status-choice-btn{
  display:block;
  width:100%;
  text-align:left;
  border:1px solid var(--line);
  border-radius:12px;
  padding:12px 14px;
  font-size:14px;
  font-family:'Inter',sans-serif;
  margin-bottom:8px;
  cursor:pointer;
  color:var(--ink);
  background:rgba(255,255,255,0.5);
}
.status-choice-btn:last-child{margin-bottom:0;}
.status-choice-btn.veel{background:rgba(169,199,167,0.22); border-color:rgba(169,199,167,0.4);}
.status-choice-btn.weinig{background:rgba(224,184,110,0.22); border-color:rgba(224,184,110,0.4);}
.status-choice-btn.op{background:rgba(197,101,79,0.18); border-color:rgba(197,101,79,0.35);}
.status-choice-btn.current{border-width:2px; font-weight:600;}


/* Voorraad — toolbar, grid, categorie-headers, item-acties, bulkbalk, filter */
.inv-toolbar{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px;}
.inv-toolbar-btn{
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px; font-weight:500; color:var(--ink-soft);
  background:rgba(255,255,255,0.5); border:1px solid var(--line);
  border-radius:20px; padding:7px 14px; cursor:pointer;
  font-family:'Inter',sans-serif;
}
.inv-toolbar-btn.active{background:var(--home); color:#fff; border-color:var(--home);}

.inv-grid{display:flex; gap:12px; align-items:flex-start;}
.inv-grid-col{flex:1; min-width:0;}
.inv-category{margin-bottom:12px;}

.inv-cat-header{
  display:flex; align-items:center; gap:8px; cursor:pointer;
  font-family:'Italiana',serif; font-weight:400; font-size:18px; letter-spacing:0.5px;
  color:var(--ink-soft); margin:0 0 10px; padding-bottom:6px;
  border-bottom:1px solid var(--line);
}
.inv-cat-count{
  font-family:'Inter',sans-serif; font-size:11px; font-weight:500; color:var(--muted);
  background:rgba(139,135,160,0.10); border-radius:20px; padding:1px 8px;
}
.inv-cat-chevron{margin-left:auto; width:14px; height:14px; stroke:var(--muted); transition:transform 0.15s ease; flex-shrink:0;}
.inv-cat-chevron.collapsed{transform:rotate(-90deg);}

.inv-item{display:flex; align-items:center; gap:8px; padding:9px 0; border-top:1px solid var(--line); font-size:14px;}
.inv-item:first-child{border-top:none;}
.inv-item-info{display:flex; flex-direction:column; gap:2px; flex:1; min-width:0;}
.inv-item-name{color:var(--ink);}
.inv-item-location{font-size:11px; color:var(--muted);}
.inv-item-actions{display:flex; align-items:center; gap:8px; flex-shrink:0;}

.inv-status{
  flex-shrink:0; font-size:11px; font-weight:500; padding:3px 10px;
  border-radius:20px; white-space:nowrap;
}
.inv-status.veel{background:rgba(169,199,167,0.28); color:#4C7A5D;}
.inv-status.weinig{background:rgba(224,184,110,0.28); color:#96701F;}
.inv-status.op{background:rgba(197,101,79,0.22); color:#B5502E;}
.inv-status.onbekend{background:rgba(139,135,160,0.12); color:var(--muted); border:1px dashed var(--line);}

.inv-add-btn{
  width:22px; height:22px; border-radius:50%; border:1px solid var(--line);
  background:rgba(255,255,255,0.6); color:var(--muted); font-size:14px; line-height:1;
  display:flex; align-items:center; justify-content:center; cursor:pointer; padding:0; flex-shrink:0;
}
.inv-add-btn.added{background:var(--home); border-color:var(--home); color:#fff;}
.inv-item-checkbox{width:18px; height:18px; accent-color:#6b5b95; flex-shrink:0;}

.inv-bulk-bar{
  position:fixed; bottom:88px; left:16px; right:16px; max-width:400px; margin:0 auto;
  background:rgba(255,255,255,0.85); backdrop-filter:blur(14px) saturate(160%);
  border:1px solid rgba(255,255,255,0.6); border-radius:20px;
  box-shadow:0 6px 20px rgba(155,143,201,0.18); padding:10px 14px;
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  font-size:13px; color:var(--ink); z-index:99;
}

.inv-filter-subhead{
  font-size:11px; font-weight:600; letter-spacing:0.5px; text-transform:uppercase;
  color:var(--muted); margin:14px 0 4px;
}
.inv-filter-subhead:first-child{margin-top:0;}

/* status-keuze sheet (stap 2, al toegevoegd — niet dubbel plakken als je 'm al hebt) */
.status-choice-btn{
  display:block; width:100%; text-align:left; border:1px solid var(--line); border-radius:12px;
  padding:12px 14px; font-size:14px; font-family:'Inter',sans-serif; margin-bottom:8px;
  cursor:pointer; color:var(--ink); background:rgba(255,255,255,0.5);
}
.status-choice-btn:last-child{margin-bottom:0;}
.status-choice-btn.veel{background:rgba(169,199,167,0.22); border-color:rgba(169,199,167,0.4);}
.status-choice-btn.weinig{background:rgba(224,184,110,0.22); border-color:rgba(224,184,110,0.4);}
.status-choice-btn.op{background:rgba(197,101,79,0.18); border-color:rgba(197,101,79,0.35);}
.status-choice-btn.current{border-width:2px; font-weight:600;}

/* Filter-pilletjes (i.p.v. menu + vinkjes) */
.inv-filter-row{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:8px;}
.inv-filter-pill{
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px; font-weight:500; color:var(--ink-soft);
  background:rgba(255,255,255,0.5); border:1px solid var(--line);
  border-radius:20px; padding:7px 14px; cursor:pointer; font-family:'Inter',sans-serif;
}
.inv-filter-pill.filtered{border-color:var(--home); color:var(--home);}
.inv-filter-pill.open{background:var(--home); color:#fff; border-color:var(--home);}

.inv-filter-options{
  display:flex; flex-wrap:wrap; gap:6px;
  margin:0 0 10px; padding:10px;
  background:rgba(255,255,255,0.35); border:1px solid var(--line); border-radius:14px;
}
.inv-option-pill{
  font-size:11px; font-weight:500; padding:5px 11px; border-radius:20px;
  border:1px solid var(--line); cursor:pointer; font-family:'Inter',sans-serif;
}
.inv-option-pill.generic{background:rgba(255,255,255,0.6); border-color:var(--line); color:var(--muted);}
.inv-option-pill.generic.active{background:var(--home); border-color:var(--home); color:#fff;}
.inv-option-pill.veel{background:rgba(169,199,167,0.18); border-color:rgba(169,199,167,0.35); color:#4C7A5D;}
.inv-option-pill.weinig{background:rgba(224,184,110,0.18); border-color:rgba(224,184,110,0.35); color:#96701F;}
.inv-option-pill.op{background:rgba(197,101,79,0.14); border-color:rgba(197,101,79,0.3); color:#B5502E;}
.inv-option-pill.onbekend{background:rgba(139,135,160,0.10); border-color:var(--line); color:var(--muted);}
.inv-option-pill.veel.active{background:#8FB88C; border-color:#8FB88C; color:#fff;}
.inv-option-pill.weinig.active{background:#D9A94A; border-color:#D9A94A; color:#fff;}
.inv-option-pill.op.active{background:#C5654F; border-color:#C5654F; color:#fff;}
.inv-option-pill.onbekend.active{background:#8B87A0; border-color:#8B87A0; color:#fff;}

/* Voorraad checken — doorloop-interactie */
.walk-start-btn{
  display:inline-block;
  background:var(--home); color:#fff; border:none; border-radius:20px;
  padding:8px 16px; font-size:13px; font-weight:500; cursor:pointer;
  margin-top:10px; font-family:'Inter',sans-serif;
}

.walk-overlay{
  position:fixed; inset:0;
  background:linear-gradient(180deg, #FBFAFD 0%, #F5F4FB 45%, #F0EEF8 100%);
  z-index:300; display:none; flex-direction:column; padding:20px;
}
.walk-overlay.open{display:flex;}
.walk-header{display:flex; justify-content:space-between; align-items:center; margin-bottom:8px;}
.walk-header span{font-size:13px; color:var(--muted); text-transform:capitalize;}
.walk-close{background:none; border:none; font-size:14px; color:var(--muted); cursor:pointer; font-family:'Inter',sans-serif;}
.walk-progress{font-size:12px; color:var(--muted); text-align:center; margin-bottom:6px;}
.walk-progress-bar{height:4px; background:var(--line); border-radius:2px; overflow:hidden; margin-bottom:24px;}
.walk-progress-fill{height:100%; background:var(--home); transition:width 0.2s ease;}
.walk-card{
  flex:1; display:flex; flex-direction:column; align-items:center;
  justify-content:flex-start; text-align:center; padding-top:24px;
}
.walk-item-name{font-family:'Italiana',serif; font-size:30px; color:var(--ink); margin-bottom:4px;}
.walk-item-location{font-size:13px; color:var(--muted); margin-bottom:36px;}
.walk-choices{display:flex; flex-direction:column; gap:12px; width:100%; max-width:320px;}
.walk-choice-btn{
  padding:16px; border-radius:16px; border:1px solid var(--line);
  font-size:16px; font-weight:500; cursor:pointer; font-family:'Inter',sans-serif;
}
.walk-choice-btn.veel{background:rgba(169,199,167,0.25); border-color:rgba(169,199,167,0.45); color:#4C7A5D;}
.walk-choice-btn.weinig{background:rgba(224,184,110,0.25); border-color:rgba(224,184,110,0.45); color:#96701F;}
.walk-choice-btn.op{background:rgba(197,101,79,0.2); border-color:rgba(197,101,79,0.4); color:#B5502E;}
.walk-skip-btn{
  margin-top:16px; background:none; border:none; color:var(--muted); font-size:13px;
  text-decoration:underline; cursor:pointer; font-family:'Inter',sans-serif;
}
.walk-done{display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; flex:1;}
.walk-done h2{font-family:'Italiana',serif; font-size:26px; color:var(--ink); margin-bottom:8px;}
.walk-done p{color:var(--muted); font-size:14px; margin-bottom:24px;}


/* --- Quick-add bubbles (long-press op Today-tab) --- */
.qa-bubble-row{
  position:fixed;
  display:flex;
  gap:22px;
  align-items:flex-end;
  z-index:150;
  opacity:0;
  pointer-events:none;
  transform:translate(-50%, 8px);
  transition:opacity 0.18s ease, transform 0.18s ease;
}
.qa-bubble-row.open{
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%, 0);
}
.qa-bubble-col{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
}
.qa-bubble-col.qa-mid{
  transform:translateY(-14px);
}
.qa-bubble-square{
  position:relative;
  width:54px;
  height:54px;
  background:var(--today-bg);
  border:3px solid var(--tile-border);
  border-radius:16px;
  box-shadow:2.5px 2.5px 0 var(--tile-border);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  transition:transform 0.12s ease;
}
.qa-bubble-square.qa-hover{
  transform:scale(1.3);
}

.qa-bubble-square .qa-glow{
  content:'';
  position:absolute;
  inset:-4px;
  background:radial-gradient(circle, var(--qa-glow) 0%, transparent 72%);
  opacity:0.55;
  filter:blur(2px);
  z-index:0;
  border-radius:50%;
}
.qa-bubble-square img{
  position:relative;
  z-index:1;
  width:36px;
  height:36px;
  object-fit:contain;
}
.qa-bubble-label{
  font-size:11px;
  color:var(--muted);
  text-align:center;
  max-width:80px;
  line-height:1.3;
}
/* Verborgen agenda-items — persistent verbergen + inklapbaar terugzet-blokje
   (onderdeel van het ⋯-menu op agenda-items, stap 2) */
.done-row.hidden-regular{opacity:1;}

.agenda-hidden-toggle{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-family:'Inter',sans-serif;
  font-size:12px;
  color:var(--self-care);
  font-weight:600;
  padding:10px 0 2px;
  cursor:pointer;
  border-top:1px dashed var(--line);
  margin-top:4px;
}
.agenda-hidden-toggle .chevron{
  transition:transform 0.25s ease;
  display:inline-block;
  font-size:10px;
}
.agenda-hidden-toggle.open .chevron{transform:rotate(180deg);}
.agenda-hidden-body{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.3s ease;
}
.agenda-hidden-body.open{max-height:400px; margin-top:2px;}
.agenda-hidden-restore{
  background:none;
  border:1px solid var(--self-care);
  color:var(--self-care);
  border-radius:14px;
  padding:4px 10px;
  font-size:11px;
  font-weight:600;
  cursor:pointer;
  font-family:'Inter',sans-serif;
  flex-shrink:0;
  margin-left:auto;
}
/* Aanpas-sheet voor agenda-items (⋯-menu, stap 3) */
.field-label{
  font-size:11px;
  color:var(--muted);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.04em;
  margin:0 0 4px;
}
.time-row{display:flex; gap:10px;}
.time-row .field-group{flex:1;}
textarea.sheet-input{resize:vertical; min-height:70px; font-family:'Inter',sans-serif;}
