/* Plan V3 : mise en page de la maquette Kitchubb, limitée à cet écran. */
.plan-topbar.screen__header {
  background: var(--cream);
  border-bottom: 0;
  padding: 12px 18px 5px;
  gap: 8px;
}
.plan-topbar .plan-topbar__title {
  flex: 1;
  color: var(--sage-deep);
  font-size: 22px;
  line-height: 1.1;
}
.plan-topbar__ai {
  border: 0;
  border-radius: 999px;
  padding: 8px 15px;
  background: var(--grad-accent);
  color: #fff;
  font: 700 13px var(--font-body);
  cursor: pointer;
  white-space: nowrap;
  min-height: 36px;
}
.plan-topbar__ai:disabled,
.plan-screen .plan-ai-cta button:disabled { opacity: .6; cursor: progress; }

.plan-screen.screen__body {
  background: var(--cream);
  padding: 0 14px 24px;
}
.plan-screen .plan-toolbar {
  flex-direction: column;
  gap: 3px;
  margin: 0 0 11px;
}
.plan-screen .plan-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  color: var(--sage-deep);
}
.plan-screen .plan-nav .icon-btn {
  color: var(--sage-deep);
  font-size: 28px;
  min-width: 42px;
  min-height: 42px;
  line-height: 1;
}
.plan-screen .plan-nav__today {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  min-width: 190px;
  color: var(--sage-deep);
  font: 600 15px var(--font-display);
  text-transform: capitalize;
}
.plan-screen .plan-nav__today small {
  font: 500 10px var(--font-body);
  color: var(--ink-2);
  text-transform: none;
  margin-top: 2px;
}
.plan-screen .plan-view-toggle {
  align-self: center;
  gap: 6px;
}
.plan-screen .plan-view-toggle .pill {
  border: 0;
  background: transparent;
  box-shadow: none;
  color: var(--ink-2);
  font-size: 11px;
  padding: 5px 13px;
  min-height: 29px;
}
.plan-screen .plan-view-toggle .pill-toggle--active {
  background: var(--paper);
  box-shadow: var(--shadow-card);
  color: var(--sage-deep);
}

.plan-screen .plan-scope {
  background: var(--paper);
  border: 0;
  margin: 0 0 10px;
  box-shadow: var(--shadow-card);
}
.plan-screen .plan-week__days {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 13px;
}
.plan-screen .plan-week__day-btn {
  min-width: 0;
  min-height: 54px;
  padding: 7px 1px 4px;
  gap: 2px;
  background: var(--paper);
  color: var(--ink-3);
  box-shadow: 0 2px 6px rgba(47,42,58,.07);
  border-radius: 12px;
}
.plan-screen .plan-week__day-btn--active {
  color: #fff;
  background: var(--sage-deep);
}
.plan-screen .plan-week__day-name { font-size: 10px; line-height: 1.2; }
.plan-screen .plan-week__day-num { font: 700 16px var(--font-display); }
.plan-screen .plan-week__dot { width: 4px; height: 4px; }

.plan-screen .plan-day {
  background: var(--paper);
  border-radius: var(--radius-card);
  padding: 15px 14px 12px;
  box-shadow: 0 5px 20px rgba(80,103,179,.09), var(--shadow-card);
  margin: 0;
}
.plan-screen .plan-day__heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 9px;
}
.plan-screen .plan-day__label {
  font: 600 18px var(--font-display);
  color: var(--sage-deep);
  margin: 0;
}
.plan-screen .plan-day__today {
  color: var(--coral-deep);
  font-size: 11px;
  font-weight: 700;
}
.plan-screen .plan-day__empty {
  color: var(--ink-2);
  font-size: 13px;
  margin: 4px 0 9px;
}
.plan-screen .plan-slot {
  border-top: 1px solid var(--line);
  padding: 5px 0;
  margin: 0;
}
.plan-screen .plan-slot__header { margin: 0; min-height: 34px; }
.plan-screen .plan-slot__label {
  font-size: 11px;
  letter-spacing: .02em;
  color: var(--ink-2);
  text-transform: none;
}
.plan-screen .plan-slot__add {
  background: var(--cream);
  color: var(--sage-deep);
  font-size: 21px;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}
.plan-screen .plan-meal {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 4px 0 9px;
  min-width: 0;
}
.plan-screen .plan-meal--done { opacity: .68; }
.plan-screen .plan-meal__icon {
  font-size: 23px;
  line-height: 1.1;
  flex: 0 0 25px;
}
.plan-screen .plan-meal__content { min-width: 0; flex: 1; }
.plan-screen .plan-meal__title {
  border: 0;
  background: none;
  padding: 0;
  color: var(--ink);
  font: 600 14px/1.35 var(--font-body);
  cursor: pointer;
  text-align: left;
}
.plan-screen .plan-meal__pill {
  display: inline-block;
  font: 700 10px var(--font-body);
  border-radius: 999px;
  padding: 2px 7px;
  margin-left: 5px;
  vertical-align: 1px;
}
.plan-screen .plan-meal__pill--parve { background: var(--parve-bg); color: var(--parve-fg); }
.plan-screen .plan-meal__pill--laitier { background: var(--laitier-bg); color: var(--laitier-fg); }
.plan-screen .plan-meal__pill--viande { background: var(--viande-bg); color: var(--viande-fg); }
.plan-screen .plan-meal__pill--leftover { background: var(--cream); color: var(--coral-deep); }
.plan-screen .plan-meal__meta { font-size: 11.5px; color: var(--ink-2); line-height: 1.35; margin-top: 3px; }
.plan-screen .plan-meal__bar {
  height: 5px;
  background: var(--cream);
  border-radius: 999px;
  overflow: hidden;
  margin: 7px 0 3px;
}
.plan-screen .plan-meal__bar span {
  display: block;
  height: 100%;
  background: var(--sage);
  border-radius: inherit;
}
.plan-screen .plan-meal__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  margin-top: 5px;
}
.plan-screen .plan-meal__actions button {
  cursor: pointer;
  font: 600 11px var(--font-body);
  min-height: 27px;
}
.plan-screen .plan-meal__status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 0;
  border: 0;
  background: none;
  color: var(--ink-2);
}
.plan-screen .plan-meal__status-dot { width: 7px; height: 7px; background: var(--ink-3); border-radius: 50%; }
.plan-screen .plan-meal__status-dot--in_progress { background: var(--coral); }
.plan-screen .plan-meal__status-dot--done { background: var(--parve-fg); }
.plan-screen .plan-meal__cook {
  border: 1px solid var(--sage);
  background: transparent;
  color: var(--sage-deep);
  padding: 3px 9px;
  border-radius: 10px;
}
.plan-screen .plan-meal__delete {
  border: 0;
  background: none;
  color: var(--ink-3);
  padding: 3px;
  margin-left: auto;
}

.plan-screen .plan-peek {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin-top: 12px;
}
.plan-screen .plan-peek__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 96px;
  padding: 10px 4px;
  border: 0;
  border-radius: var(--radius-card);
  background: var(--paper);
  box-shadow: var(--shadow-card);
  cursor: pointer;
  text-align: center;
}
.plan-screen .plan-peek__date { font-size: 11.5px; font-weight: 600; color: var(--ink-2); }
.plan-screen .plan-peek__icon { font-size: 26px; color: var(--sage-deep); line-height: 1.1; }
.plan-screen .plan-peek__summary { font-size: 10px; color: var(--ink-3); }

.plan-screen .plan-month__calendar {
  background: var(--paper);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: 12px;
  margin-bottom: 12px;
}
.plan-screen .plan-month__grid { margin-bottom: 0; gap: 3px; }
.plan-screen .plan-month__cell { min-height: 38px; }
.plan-screen .plan-month__cell--today { background: var(--cream); }
.plan-screen .plan-month__cell--selected { background: var(--sage-deep); }

.plan-screen .plan-ai-cta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 15px 0 0;
}
.plan-screen .plan-ai-cta .btn {
  min-width: 0;
  width: 100%;
  font-size: 13px;
  border-radius: 13px;
}
.plan-screen .plan-ai-btn { background: var(--grad-accent); color: #fff; }
.plan-screen .plan-photo-btn { background: var(--paper); color: var(--sage-deep); box-shadow: var(--shadow-card); }

@media (max-width: 359px) {
  .plan-screen .plan-week__days { gap: 3px; }
  .plan-screen .plan-day { padding: 12px 10px; }
}
