/* =====================================================================
   Screen styles for #/azi — owned by the azi screen agent.
   Only tokens + design-system components; every class is prefixed "azi-".
   ===================================================================== */

/* ---------- page frame ---------- */
.azi { display: flex; flex-direction: column; gap: var(--sp-4); min-width: 0; }
.azi > .ui-pagehead { margin-bottom: var(--sp-1); }
.azi .ui-pagehead__text { color: var(--muted); }
.azi-stack { display: flex; flex-direction: column; gap: var(--sp-4); min-width: 0; }
.azi-top { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-5); align-items: stretch; }
.azi-cols { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-5); align-items: start; }
.azi-col { display: flex; flex-direction: column; gap: var(--sp-5); min-width: 0; }
@media (min-width: 768px) { .azi { gap: var(--sp-5); } }
@media (min-width: 960px) { .azi-cols--2, .azi-cols--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* portrait tablet (768–959): two 300px columns are too cramped — one column, cards in the brief's priority order */
@media (min-width: 768px) and (max-width: 959px) {
  .azi-cols > .azi-col { display: contents; }
  .azi-cols [data-card="azi-prep"] { order: 1; }
  .azi-cols [data-card="azi-news"] { order: 2; }
  .azi-cols [data-card="azi-att"] { order: 3; }
  .azi-cols [data-card="azi-photos"] { order: 4; }
  .azi-cols [data-card="azi-shr"] { order: 5; }
  .azi-cols [data-card="azi-com"] { order: 6; }
  .azi-cols [data-card="azi-jr"] { order: 7; }
  .azi-cols [data-card="azi-menu"] { order: 8; }
  .azi-cols [data-card="azi-acts"] { order: 9; }
}
@media (min-width: 1100px) {
  .azi-top { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
  .azi-top--solo { grid-template-columns: minmax(0, 1fr); }
  .azi-cols--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .azi-cols--1 { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- card ---------- */
.azi-card { display: flex; flex-direction: column; gap: var(--sp-4); }
.azi-card__head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-3); min-width: 0; }
.azi-card__titles { display: grid; gap: 4px; min-width: 0; }
.azi-card__title { font-family: var(--font-display); font-weight: var(--fw-regular); font-size: var(--fs-display-s); line-height: var(--lh-display-s); letter-spacing: var(--ls-display); text-wrap: balance; }
.azi-card__aside { display: flex; align-items: center; gap: var(--sp-2); flex-shrink: 0; max-width: 60%; }
@media (max-width: 359px) { .azi-card__head { flex-wrap: wrap; } .azi-card__aside { max-width: none; } }
.azi-card__foot { display: flex; flex-direction: column; gap: var(--sp-2); padding-top: var(--sp-3); border-top: 1px solid var(--line); }
.azi-card__foot:empty { display: none; }
.azi-card--att { border-color: var(--accent-soft); box-shadow: var(--sh-1), inset 0 3px 0 var(--accent); }
.azi-sub { margin-top: var(--sp-2); font-size: var(--fs-eyebrow); font-weight: var(--fw-semibold); letter-spacing: var(--ls-eyebrow); text-transform: uppercase; color: var(--muted); }

.azi-note { display: block; font-size: var(--fs-caption); line-height: 1.5; color: var(--muted); }
.azi-note > .ui-i { display: inline-block; vertical-align: -2px; margin-right: 5px; }
.azi-note .ui-aud { margin: 2px 0 0 2px; }
.azi-note--src { color: var(--muted); font-style: normal; }
.azi-lead-note { display: flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-body-s); color: var(--ink-2); padding: var(--sp-2) 0; }
.azi-lead-note .ui-i { color: var(--muted); }

.azi-empty { display: flex; gap: var(--sp-3); align-items: flex-start; padding: var(--sp-3) 0 var(--sp-1); }
.azi-empty > .ui-i { width: 22px; height: 22px; color: var(--success); flex-shrink: 0; margin-top: 1px; }
.azi-empty > div { min-width: 0; }
.azi-empty__t { font-weight: var(--fw-semibold); }
.azi-empty__x { font-size: var(--fs-body-s); color: var(--muted); margin-top: 2px; }
.azi-empty .ui-link { display: inline-flex; margin-top: var(--sp-2); font-size: var(--fs-body-s); }

.azi-more { display: inline-flex; align-items: center; gap: 4px; align-self: flex-start; min-height: var(--touch); margin: calc(var(--sp-2) * -1) 0 calc(var(--sp-2) * -1) -2px; padding: 0 2px; font-size: var(--fs-button); font-weight: var(--fw-semibold); color: var(--primary-ink); }
.azi-more:focus-visible { outline: none; box-shadow: var(--focus-ring); border-radius: var(--r-sm); }
.azi-actions { display: flex; flex-wrap: wrap; gap: var(--sp-2); position: relative; z-index: 2; }
.azi-actions .ui-btn .ui-i { width: 16px; height: 16px; }

/* ---------- rows (stretched link; chip + meta on their own line) ---------- */
.azi-list { margin: calc(var(--sp-2) * -1) 0; }
.azi-row { align-items: flex-start; min-height: 0; padding-block: 12px; }
.azi-row .ui-row__lead { margin-top: 1px; }
.azi-row .ui-row__lead .ui-i { width: 20px; height: 20px; }
.azi-row__link { color: inherit; text-align: left; font: inherit; }
.azi-row__link::after { content: ""; position: absolute; inset: 0; border-radius: var(--r-md); }
.azi-row__link:focus-visible { outline: none; }
.azi-row__link:focus-visible::after { box-shadow: var(--focus-ring); }
.azi-row--link:hover .azi-row__link { color: var(--primary-ink); }
.azi-row__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin-top: 6px; }
/* the row body is a grid: an explicit shrinkable track keeps a long (English) nowrap chip from widening the row; the chip ellipsises */
.azi-row .ui-row__body { grid-template-columns: minmax(0, 1fr); }
.azi-row__meta > * { min-width: 0; max-width: 100%; }
.azi-row__meta > .ui-state { white-space: normal; }
.azi-row__meta > .ui-state > span { white-space: normal; min-width: 0; }
/* long words (and ?i18n=long padding) wrap inside titles, subs and notes instead of pushing the card */
.azi-row__link, .azi-row .ui-row__sub, .azi-note, .azi-pick__txt, .azi-hero__title, .azi-card__title { overflow-wrap: anywhere; }
.azi-row__meta > .ui-aud, .azi-row__meta > .sh-vis, .azi-row__meta > .ui-state, .azi-row__meta > .azi-due, .ui-row__trail > * { position: relative; z-index: 2; }
.azi-row__time { font-size: var(--fs-caption); color: var(--muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.azi-row__chev { align-self: center; }
.azi-row.is-unread .ui-row__title::after { content: none; }
.azi-row.is-unread .ui-row__lead { position: relative; overflow: visible; }
.azi-row.is-unread .ui-row__lead::after { content: ""; position: absolute; top: -3px; right: -3px; width: 10px; height: 10px; border-radius: 50%; background: var(--primary-ink); box-shadow: 0 0 0 2px var(--surface); }
.azi-row.is-unread .azi-row__lead--photo .azi-thumb { border-radius: 12px; }
.azi-row .azi-actions { margin-top: var(--sp-3); }
.azi-row--muted .ui-row__title { color: var(--ink-2); font-weight: var(--fw-medium); }
.azi-row--muted .ui-row__lead { opacity: .8; }
.azi-row__lead--photo { width: 40px; height: 40px; padding: 0; overflow: hidden; border-radius: 12px; background: transparent; }
.azi-thumb.ui-photo { width: 40px; height: 40px; border-radius: 12px; aspect-ratio: auto; }
.azi-thumb .sh-photo__badge, .azi-thumb .sh-photo__pending { display: none; }
.azi-lead--ai { background: var(--ai-soft); color: var(--ai-ink); }
.ui-list--plain .azi-row + .azi-row::before { left: 52px; }

/* ---------- Schimbări în clasă (class history: no approvals, Anulează for coordinators) ---------- */
.azi-chg .sh-hist { padding-inline: 0; }
.azi-chg .sh-hist .ui-row__trail { align-self: center; }
/* compact: a line per change, the undo as a quiet text button (it is still a 44px target) */
.azi-chg .sh-hist .ui-row__title { font-size: var(--fs-body-s); line-height: 1.4; }
.azi-chg .sh-hist [data-sh-undo] { background: transparent; border-color: transparent; box-shadow: none; color: var(--primary-ink); padding-inline: 8px; min-height: var(--touch); }
.azi-chg .sh-hist [data-sh-undo]:hover { background: var(--surface-2); }
.azi-chg__all { display: inline-flex; align-items: center; gap: 4px; align-self: flex-start; min-height: var(--touch); font-size: var(--fs-body-s); font-weight: var(--fw-semibold); }
.azi-chg__all .ui-i { width: 16px; height: 16px; }

/* ---------- HERO: Acum / următorul ---------- */
.azi-hero { position: relative; background: var(--hero-bg); border: 1px solid var(--hero-line); border-radius: var(--r-lg); overflow: hidden; min-width: 0; display: flex; flex-direction: column; }
.azi-hero__main { padding: var(--sp-5) var(--sp-5) var(--sp-4); display: flex; flex-direction: column; gap: var(--sp-2); flex: 1; }
.azi-hero__top { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); }
.azi-hero__eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--_fg, var(--hero-ink)); min-width: 0; }
.azi-hero__title { font-family: var(--font-display); font-weight: var(--fw-regular); font-size: var(--fs-display-m); line-height: var(--lh-display-m); letter-spacing: var(--ls-display); text-wrap: balance; margin-top: 2px; }
.azi-hero__text { color: var(--hero-ink); font-size: var(--fs-body); line-height: 1.5; }
.azi-hero__text b { color: var(--ink); font-weight: var(--fw-semibold); }
/* an APPROVED timetable change on the day shown (proposals never reach the hero) */
.azi-hero__exc { display: flex; align-items: flex-start; gap: 8px; align-self: flex-start; max-width: 100%; padding: 6px 10px; border-radius: var(--r-sm); background: var(--warning-soft); color: var(--warning-ink); font-size: var(--fs-body-s); font-weight: var(--fw-semibold); line-height: 1.4; overflow-wrap: anywhere; }
.azi-hero__exc > .ui-i { flex-shrink: 0; margin-top: 1px; }
.azi-hero__exc > span { min-width: 0; }
@media (min-width: 768px) {
  .azi-hero__main { padding: var(--sp-6) var(--sp-7) var(--sp-5); }
  .azi-hero__title { font-size: var(--fs-display-l); line-height: var(--lh-display-l); }
}

.azi-live { width: 8px; height: 8px; border-radius: 50%; background: var(--_fg, var(--primary)); box-shadow: 0 0 0 0 color-mix(in srgb, var(--_fg, var(--primary)) 45%, transparent); animation: azi-pulse 2s var(--ease-standard) infinite; flex-shrink: 0; }
@keyframes azi-pulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--_fg, var(--primary)) 45%, transparent); } 70% { box-shadow: 0 0 0 8px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }
@media (prefers-reduced-motion: reduce) { .azi-live { animation: none; } }

.azi-clock { position: relative; display: inline-flex; align-items: center; gap: 5px; min-height: 30px; padding: 4px 10px; border-radius: var(--r-pill); background: var(--surface-glass); color: var(--hero-ink); font-size: var(--fs-caption); font-weight: var(--fw-semibold); font-variant-numeric: tabular-nums; flex-shrink: 0; transition: background-color var(--dur-1); }
.azi-clock::after { content: ""; position: absolute; inset: -7px -4px; }
.azi-clock:hover { background: var(--surface); }
.azi-clock.is-sim { background: var(--accent-soft); color: var(--accent-ink); }
.azi-clock:focus-visible { outline: none; box-shadow: var(--focus-ring); }

.azi-progress { height: 6px; border-radius: var(--r-pill); background: color-mix(in srgb, var(--_fg, var(--primary)) 16%, transparent); overflow: hidden; margin-top: var(--sp-1); }
.azi-progress > span { display: block; height: 100%; border-radius: inherit; background: var(--_fg, var(--primary)); }
.azi-progress--fund { --_fg: var(--primary); background: var(--surface-3); height: 8px; }

/* day rail */
.azi-rail { margin-top: var(--sp-3); }
.azi-rail__track { position: relative; height: 12px; border-radius: var(--r-pill); background: color-mix(in srgb, var(--hero-line) 70%, transparent); }
.azi-rail__seg { position: absolute; top: 0; bottom: 0; border-radius: var(--r-pill); background: color-mix(in srgb, var(--_fg) 40%, var(--hero-bg)); transition: background-color var(--dur-2); }
.azi-rail__seg.is-past { background: color-mix(in srgb, var(--_fg) 18%, var(--hero-bg)); }
.azi-rail__seg.is-now { background: var(--_fg); box-shadow: 0 0 0 2px var(--hero-bg), 0 0 0 3.5px var(--_fg); z-index: 1; }
.azi-rail__seg--meal { --_fg: var(--muted); background: repeating-linear-gradient(135deg, var(--line-strong) 0 3px, transparent 3px 6px); }
.azi-rail__seg--meal.is-past { opacity: .5; }
.azi-rail__seg--act { background: transparent; border: 2px dashed var(--_fg); }
.azi-rail__seg--act.is-now { background: color-mix(in srgb, var(--_fg) 30%, transparent); }
.azi-rail__now { position: absolute; top: -5px; bottom: -5px; width: 2px; margin-left: -1px; border-radius: 2px; background: var(--ink); z-index: 2; }
.azi-rail__now::before { content: ""; position: absolute; top: -4px; left: -3px; width: 8px; height: 8px; border-radius: 50%; background: var(--ink); }
.azi-rail__labels { position: relative; display: flex; justify-content: space-between; align-items: center; margin-top: 6px; font-size: var(--fs-caption); color: var(--hero-ink); font-variant-numeric: tabular-nums; }
.azi-rail__mid { position: absolute; top: 0; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 3px; white-space: nowrap; }

/* full day list */
.azi-hero__day { margin-top: var(--sp-2); }
.azi-hero__toggle { display: inline-flex; align-items: center; gap: 4px; min-height: var(--touch); margin: -6px 0 -10px -2px; padding: 0 2px; font-size: var(--fs-button); font-weight: var(--fw-semibold); color: var(--primary-ink); }
.azi-hero__day.is-open .azi-hero__toggle { margin-bottom: 0; }
.azi-day { display: grid; gap: 2px; margin-top: var(--sp-1); }
@media (min-width: 1100px) { .azi-day { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--sp-4); } }
.azi-day__item { display: grid; grid-template-columns: 44px 30px minmax(0, 1fr); align-items: center; gap: 10px; min-height: 40px; padding: 4px 8px 4px 4px; border-radius: var(--r-sm); }
.azi-day__time { display: grid; font-size: var(--fs-label); font-weight: var(--fw-semibold); font-variant-numeric: tabular-nums; line-height: 1.15; color: var(--ink-2); }
.azi-day__time small { font-size: var(--fs-label-s); font-weight: var(--fw-regular); color: var(--hero-ink); }
.azi-day__dot { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: var(--_bg, var(--surface-3)); color: var(--_fg, var(--muted)); }
.azi-day__name { font-size: var(--fs-body-s); line-height: 1.3; min-width: 0; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.azi-day__now { font-size: var(--fs-label-s); font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: .06em; color: var(--_fg); }
.azi-day__chg { padding: 1px 6px; border-radius: var(--r-xs); background: var(--warning-soft); color: var(--warning-ink); font-size: var(--fs-label-s); font-weight: var(--fw-semibold); }
.azi-day__item.is-now { background: var(--surface); box-shadow: var(--sh-1); }
.azi-day__item.is-now .azi-day__name { font-weight: var(--fw-semibold); }
.azi-day__item.is-past { opacity: .55; }
.azi-day__item--act .azi-day__dot { background: transparent; border: 1.5px dashed var(--_fg); }

/* pickup strip inside the hero */
.azi-hero__pick { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-2) var(--sp-3); padding: var(--sp-3) var(--sp-5); background: var(--hero-bg-2); border-top: 1px solid var(--hero-line); }
.azi-hero__pick > .azi-pick { flex: 1 1 220px; }
.azi-hero__pickchip { flex-shrink: 0; margin-left: auto; }
@media (min-width: 768px) { .azi-hero__pick { padding: var(--sp-3) var(--sp-7); } }
.azi-pick { display: flex; align-items: center; gap: var(--sp-3); min-width: 0; text-align: left; color: inherit; width: 100%; }
button.azi-pick { min-height: var(--touch); border-radius: var(--r-md); }
button.azi-pick:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.azi-pick__icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--surface-glass); color: var(--hero-ink); flex-shrink: 0; }
.azi-pick__icon .ui-i { width: 18px; height: 18px; }
.azi-pick__txt { display: grid; gap: 1px; min-width: 0; flex: 1; }
.azi-pick__txt b { font-weight: var(--fw-semibold); font-size: var(--fs-body); line-height: 1.3; }
.azi-pick__txt > span { font-size: var(--fs-body-s); color: var(--hero-ink); line-height: 1.35; }
.azi-pick__txt .azi-pick__proj { display: inline-flex; align-items: center; gap: 4px; font-size: var(--fs-caption); color: var(--muted); }
.azi-pick__go { color: var(--subtle); flex-shrink: 0; }
.azi-pick--empty { padding: var(--sp-1) 0; flex-wrap: wrap; row-gap: var(--sp-2); }
.azi-pick--empty .azi-pick__txt { flex: 1 1 170px; }
.azi-pick--empty > .ui-btn { margin-left: auto; }
.azi-card .azi-pick .azi-pick__icon { background: var(--surface-3); }
.azi-card .azi-pick__txt > span { color: var(--muted); }

.azi-hero__foot { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2) var(--sp-3); padding: var(--sp-2) var(--sp-5) var(--sp-3); border-top: 1px solid var(--hero-line); }
.azi-hero__foot .ui-prov { font-size: var(--fs-caption); }
@media (min-width: 768px) { .azi-hero__foot { padding: var(--sp-3) var(--sp-7); } }

/* pickup roster */
.azi-roster { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.azi-roster__day { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px 4px; border-radius: var(--r-md); background: var(--surface-2); text-align: center; min-width: 0; }
.azi-roster__day.is-today { background: var(--primary-soft); box-shadow: inset 0 0 0 1.5px var(--primary); }
.azi-roster__dow { font-size: var(--fs-label-s); font-weight: var(--fw-bold); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.azi-roster__who { display: grid; justify-items: center; gap: 4px; font-size: var(--fs-caption); font-weight: var(--fw-semibold); line-height: 1.2; min-width: 0; overflow-wrap: anywhere; }
.azi-roster__day.is-parent .azi-roster__who { color: var(--muted); font-weight: var(--fw-medium); }
.azi-roster__today { font-size: var(--fs-label-s); font-weight: var(--fw-bold); color: var(--primary-ink); }
.azi-roster__tick { display: inline-flex; color: var(--success); }

/* 27.09 tick off ("✓ Gata"): big, thumb-sized for the family; the done line in green */
.azi-tick { align-items: center; }
.azi-row .azi-tick { margin-top: var(--sp-3); }
.azi-tick__btn { min-height: 48px; padding-inline: 22px; font-size: var(--fs-body); }
.azi-tick__btn .ui-i { width: 20px; height: 20px; }
.azi-tick__done { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: var(--r-pill, 999px); background: var(--success-soft); color: var(--success-ink); font-size: var(--fs-body-s); font-weight: var(--fw-semibold); line-height: 1.3; }
.azi-tick__done .ui-i { flex-shrink: 0; }
.azi-pick__done { display: inline-flex; align-items: center; gap: 4px; }
.azi-pick__done .ui-i { color: var(--success); flex-shrink: 0; }
@media (max-width: 767px) { .azi-tick__btn { flex: 1 1 100%; } }
.azi-sheet-chip { margin-top: var(--sp-3); }

/* ---------- DE PREGĂTIT ---------- */
.azi-needs { display: flex; flex-direction: column; margin: calc(var(--sp-2) * -1) 0 0; }
.azi-need { display: flex; align-items: flex-start; gap: var(--sp-3); }
.azi-need + .azi-need { border-top: 1px solid var(--line); }
.azi-need__check { flex: 1; min-width: 0; padding: 12px 0; }
.azi-need__check .ui-check__text { font-weight: var(--fw-medium); line-height: 1.35; }
.azi-need.is-done .ui-check__text { color: var(--muted); }
.azi-need.is-done .azi-need__t { text-decoration: line-through; text-decoration-thickness: 1px; text-decoration-color: var(--control-border); }
.azi-need__check:has(input:disabled) { cursor: not-allowed; }
.azi-need__check input:disabled { opacity: .55; }
.azi-need > span { padding-top: 13px; flex-shrink: 0; }
.azi-due { display: inline-flex; align-items: center; gap: 4px; min-height: 24px; padding: 2px 9px 2px 7px; border-radius: var(--r-pill); background: var(--surface-3); color: var(--ink-2); font-size: var(--fs-caption); font-weight: var(--fw-semibold); white-space: nowrap; font-variant-numeric: tabular-nums; }
.azi-due .ui-i { width: 13px; height: 13px; opacity: .8; }
.azi-due--soon { background: var(--warning-soft); color: var(--warning-ink); }
.azi-kits { border-top: 1px solid var(--line); }
.azi-kits .azi-row { padding-block: 12px 4px; }

/* ---------- WEEK STRIP ---------- */
.azi-card--week .azi-card__head { align-items: flex-end; flex-wrap: wrap; }
.azi-card--week .azi-card__title { white-space: nowrap; }
.azi-card--week .azi-card__aside { max-width: none; margin-left: auto; }
.azi-seg { flex-shrink: 0; }
@media (max-width: 767px) {
  .azi-card--week .azi-card__aside { flex-basis: 100%; margin-left: 0; }
  .azi-card--week .azi-seg { display: flex; width: 100%; }
  .azi-card--week .azi-seg .ui-seg__btn { flex: 1; }
}
.azi-seg .ui-seg__btn { min-height: 36px; padding-inline: 12px; }
.azi-wk { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(132px, 1fr); gap: var(--sp-2); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--_pad); margin-inline: calc(var(--_pad) * -1); padding: 2px var(--_pad) 6px; scrollbar-width: none; }
.azi-wk::-webkit-scrollbar { display: none; }
@media (min-width: 768px) { .azi-wk { grid-auto-flow: row; grid-template-columns: repeat(5, minmax(0, 1fr)); grid-auto-columns: auto; overflow: visible; margin-inline: 0; padding: 0; } }
.azi-wk__cell { min-width: 0; scroll-snap-align: start; display: flex; }
.azi-wk__day { position: relative; display: flex; flex-direction: column; gap: var(--sp-2); width: 100%; min-height: 136px; padding: 10px; border-radius: var(--r-md); background: var(--surface-2); border: 1px solid var(--line); color: inherit; transition: border-color var(--dur-1), box-shadow var(--dur-1); min-width: 0; }
a.azi-wk__day:hover { border-color: var(--line-strong); box-shadow: var(--sh-1); }
a.azi-wk__day:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.azi-wk__day.is-today { background: var(--surface); border-color: var(--primary); box-shadow: inset 0 0 0 1px var(--primary); }
.azi-wk__day.is-past { background: transparent; }
.azi-wk__day.is-past .azi-wk__items, .azi-wk__day.is-past .azi-wk__head { opacity: .62; }
.azi-wk__head { display: flex; align-items: baseline; gap: 6px; }
.azi-wk__dow { font-size: var(--fs-label-s); font-weight: var(--fw-bold); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.azi-wk__num { font-family: var(--font-display); font-size: var(--fs-display-s); font-weight: var(--fw-regular); line-height: 1; }
.azi-wk__today { margin-left: auto; font-size: var(--fs-label-s); font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: .06em; color: var(--primary-ink); }
.azi-wk__items { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.azi-wk__it { display: flex; align-items: flex-start; gap: 5px; padding: 4px 6px; border-radius: 8px; background: var(--_bg, var(--primary-soft)); color: var(--_fg, var(--on-primary-soft)); font-size: var(--fs-caption); line-height: 1.3; min-width: 0; }
.azi-wk__it > span { min-width: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--ink); }
.azi-wk__it b { font-weight: var(--fw-semibold); font-variant-numeric: tabular-nums; color: var(--_fg, var(--on-primary-soft)); }
.azi-wk__it .ui-i { flex-shrink: 0; margin-top: 1px; }
.azi-wk__it.is-proposed { background: transparent; border: 1.5px dashed var(--ai); }
.azi-wk__it.is-activity { background: transparent; border: 1.5px solid var(--_bg, var(--line)); }
.azi-wk__it.is-private { background: var(--surface-3); color: var(--ink-2); }
.azi-wk__it.is-holiday { background: var(--accent-soft); color: var(--accent-ink); }
.azi-wk__none { font-size: var(--fs-caption); color: var(--muted); }
.azi-wk__more { font-size: var(--fs-caption); font-weight: var(--fw-semibold); color: var(--muted); padding-left: 2px; }
.azi-wk__need { display: inline-flex; align-items: center; gap: 4px; margin-top: auto; font-size: var(--fs-label-s); font-weight: var(--fw-semibold); color: var(--warning-ink); }

/* ---------- JOURNAL teaser ---------- */
.azi-jr .azi-card__title { font-size: var(--fs-display-s); }
.azi-jr__sum { color: var(--ink-2); font-size: var(--fs-body); line-height: 1.55; }
.azi-jr__hl { container-type: inline-size; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); background: var(--hero-bg); border: 1px solid var(--hero-line); border-radius: var(--r-md); padding: var(--sp-3) var(--sp-2); }
.azi-jr__stat { padding: 0 var(--sp-2); border-left: 1px solid var(--hero-line); min-width: 0; }
.azi-jr__stat:first-child { border-left: 0; }
.azi-jr__stat b { display: block; font-family: var(--font-display); font-weight: var(--fw-regular); font-size: var(--fs-title-l); font-size: min(var(--fs-title-l), 7cqi); line-height: 1.2; white-space: nowrap; }
.azi-jr__stat span { display: block; margin-top: 2px; font-size: var(--fs-caption); line-height: 1.3; color: var(--hero-ink); }
.azi-jr__subs { display: flex; flex-wrap: wrap; gap: 6px; }
.azi-jr__foot { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; }
.azi-jr__foot .ui-prov { font-size: var(--fs-caption); }
.azi-jr__foot .ui-btn .ui-i { width: 16px; height: 16px; }

/* ---------- MENU ---------- */
.azi-menu { display: grid; gap: var(--sp-2); }
.azi-menu > div { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: var(--sp-3); align-items: baseline; }
.azi-menu dt { font-size: var(--fs-caption); font-weight: var(--fw-semibold); color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }
.azi-menu dd { font-size: var(--fs-body-s); }
.azi-menu__alg { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.azi-menu__alg > span:first-child { font-size: var(--fs-caption); color: var(--muted); margin-right: 2px; }
.azi-allergy { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 10px 12px; border-radius: var(--r-md); background: var(--success-soft); color: var(--success-ink); font-size: var(--fs-body-s); line-height: 1.4; }
.azi-allergy > .ui-i { flex-shrink: 0; }
.azi-allergy > span { flex: 1 1 160px; min-width: 0; }
.azi-allergy small { display: block; color: var(--muted); font-size: var(--fs-caption); }
.azi-allergy.is-hit { background: var(--danger-soft); color: var(--danger-ink); }

/* ---------- activities ---------- */
.azi-club { display: inline-flex; align-items: center; gap: 5px; margin-top: 6px; padding: 3px 8px; border-radius: var(--r-xs); background: var(--warning-soft); color: var(--warning-ink); font-size: var(--fs-caption); font-weight: var(--fw-semibold); line-height: 1.3; }
.azi-club .ui-i { flex-shrink: 0; }

/* ---------- committee (Mihai) ---------- */
.azi-fund { display: grid; gap: var(--sp-2); padding: var(--sp-4); border-radius: var(--r-md); background: var(--surface-2); border: 1px solid var(--line); }
.azi-fund__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-2); font-size: var(--fs-body-s); color: var(--muted); }
.azi-fund__top b { font-family: var(--font-display); font-size: var(--fs-display-s); font-weight: var(--fw-regular); color: var(--ink); margin-right: 2px; }
.azi-fund__meta { font-size: var(--fs-caption); color: var(--muted); }
.azi-fund__unpaid { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; font-size: var(--fs-body-s); }
.azi-fund__unpaid > span:first-child { color: var(--muted); }
.azi-caps { display: grid; gap: var(--sp-2); }
.azi-caps li { display: flex; gap: var(--sp-2); align-items: flex-start; font-size: var(--fs-body-s); font-weight: var(--fw-medium); }
.azi-caps li .ui-i { margin-top: 3px; color: var(--accent-ink); flex-shrink: 0; }
.azi-caps small { display: block; font-size: var(--fs-caption); font-weight: var(--fw-regular); color: var(--muted); }
.azi-poll { display: grid; gap: 6px; }
.azi-poll__q { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; font-weight: var(--fw-semibold); font-size: var(--fs-body-s); margin-bottom: 2px; }
.azi-poll__opt { position: relative; display: flex; justify-content: space-between; gap: var(--sp-2); padding: 8px 10px; border-radius: var(--r-sm); background: var(--surface-2); overflow: hidden; font-size: var(--fs-body-s); }
.azi-poll__bar { position: absolute; inset: 0 auto 0 0; background: var(--primary-soft); }
.azi-poll__l, .azi-poll__n { position: relative; }
.azi-poll__n { font-weight: var(--fw-semibold); font-variant-numeric: tabular-nums; }

/* ---------- shared with me (Ioana): schedule, carpool, notes — never photos (D3) ---------- */
.azi-shared { display: grid; gap: var(--sp-3); }
.azi-shared { grid-template-columns: minmax(0, 1fr); }
.azi-shared__head > div { min-width: 0; }
.azi-shared + .azi-shared { padding-top: var(--sp-4); border-top: 1px solid var(--line); }
.azi-shared__head { display: flex; gap: var(--sp-3); align-items: flex-start; }
.azi-shared__t { font-weight: var(--fw-semibold); line-height: 1.35; }
.azi-shared__s { font-size: var(--fs-body-s); color: var(--muted); }
.azi-shared__list { display: grid; gap: 6px; }
.azi-shared__list li { display: flex; gap: 8px; align-items: flex-start; font-size: var(--fs-body-s); }
.azi-shared__list li .ui-i { margin-top: 3px; color: var(--_fg, var(--muted)); flex-shrink: 0; }
.azi-shared__list b { font-weight: var(--fw-semibold); }
.azi-shared__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-2); }

/* ---------- family member scope (preset Familie: Buni, Mamie, Tataie, Mamasa) ---------- */
.azi-scope .ui-callout__body { line-height: 1.5; }
.azi-scope__line + .azi-scope__line { margin-top: 2px; }
.azi-scope__line b, .azi-scope__no b { font-weight: var(--fw-semibold); }
.azi-scope__no { display: block; margin-top: 4px; color: var(--muted); font-size: var(--fs-body-s); }

/* ---------- POZELE FAMILIEI (D3) ---------- */
.azi-photos__strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.azi-photos__strip .ui-photo { border-radius: var(--r-md); min-width: 0; }
.azi-photos__strip button.ui-photo:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.azi-photos__sort { display: grid; gap: var(--sp-3); padding: var(--sp-3) var(--sp-4); border-radius: var(--r-md); background: var(--ai-soft); border: 1px solid color-mix(in srgb, var(--ai) 22%, transparent); }
.azi-photos__sort { grid-template-columns: minmax(0, 1fr); }
.azi-photos__sort .azi-actions .ui-btn { max-width: 100%; white-space: normal; text-align: left; }
.azi-photos__sorthead { display: flex; align-items: flex-start; gap: var(--sp-3); min-width: 0; }
.azi-photos__sorthead .ui-row__lead { background: var(--surface); flex-shrink: 0; }
.azi-photos__sorttxt { flex: 1 1 140px; min-width: 0; }
.azi-photos__sortt { font-weight: var(--fw-semibold); line-height: 1.35; }
.azi-photos__sorts { font-size: var(--fs-body-s); color: var(--ink-2); line-height: 1.4; overflow-wrap: anywhere; }
.azi-photos__sortchip { display: flex; margin-top: 6px; }
.azi-photos__sort .azi-actions .ui-btn .ui-i { width: 16px; height: 16px; }
.azi-photos__sort .azi-note { color: var(--ink-2); }
.azi-photos__all { align-self: flex-start; font-size: var(--fs-body-s); }

/* ---------- sheets ---------- */
.azi-sheet { display: grid; gap: var(--sp-4); }
.azi-sheet__body { font-size: var(--fs-body); line-height: var(--lh-body); white-space: pre-line; }
.azi-sim { margin-top: var(--sp-3); }
/* longer English sub-lines (approval status, source): 3 lines before the ellipsis; the full text is in the title tooltip */
.azi-row .ui-row__sub { -webkit-line-clamp: 3; }

/* ---------- "Tradu" / Translate: AI translation of CONTENT, under the original (SCREEN_CONTRACT §7.2) ---------- */
.azi-tr { display: grid; gap: var(--sp-2); justify-items: start; min-width: 0; }
.azi-tr:empty { display: none; }
.azi-tr__btn { margin-left: -6px; max-width: 100%; white-space: normal; text-align: left; }
.azi-tr__btn .ui-i { flex-shrink: 0; }
.azi-tr__out { display: grid; gap: var(--sp-2); width: 100%; min-width: 0; padding: var(--sp-3); border-radius: var(--r-md); background: var(--ai-soft); border-left: 3px solid var(--ai); }
.azi-tr__note { display: flex; align-items: flex-start; gap: 5px; color: var(--ai-ink); }
.azi-tr__note .ui-i { flex-shrink: 0; margin-top: 2px; }
.azi-tr__text { white-space: pre-line; font-size: var(--fs-body-s); line-height: 1.5; color: var(--ink-2); overflow-wrap: anywhere; min-width: 0; }
.azi-tr__busy { color: var(--muted); }
.azi-tr__busy:empty { display: none; }
.azi-tr__err { color: var(--danger-ink); }

/* deep-link highlight */
.azi-flash { animation: azi-flash 1.6s var(--ease-standard) 1; }
@keyframes azi-flash { 0%, 40% { box-shadow: 0 0 0 3px var(--accent); } 100% { box-shadow: var(--sh-1); } }
@media (prefers-reduced-motion: reduce) { .azi-flash { animation: none; } }

/* =====================================================================
   KID MODE (Ezra) — big type, friendly, no adult information
   ===================================================================== */
.azi--kid .ui-pagehead__title { font-size: var(--fs-display-l); }
.azi-kid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-4); align-items: start; }
.azi-kid > section, .azi-kid__col > section { min-width: 0; }
.azi-kid__col { display: flex; flex-direction: column; gap: var(--sp-4); min-width: 0; }
@media (min-width: 768px) {
  .azi-kid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-5); }
  .azi-kid__col { gap: var(--sp-5); grid-column: 2; grid-row: 1 / span 3; }
}
.azi-kid__now { display: flex; align-items: center; gap: var(--sp-4); padding: var(--sp-5); border-radius: var(--r-xl); background: var(--_bg); color: var(--ink); }
.azi-kid__now > .ui-i { flex-shrink: 0; width: 72px; height: 72px; padding: 16px; border-radius: 50%; background: var(--surface); color: var(--_fg); box-shadow: var(--sh-1); }
.azi-kid__now-l { font-size: var(--fs-title); font-weight: var(--fw-bold); color: var(--_fg); }
.azi-kid__now-t { font-family: var(--font-display); font-size: 2.5rem; line-height: 1.05; letter-spacing: var(--ls-display); margin-top: 2px; }
.azi-kid__now-n { font-size: var(--fs-title); color: var(--ink-2); margin-top: 6px; }
.azi-kid__card { display: flex; flex-direction: column; gap: var(--sp-4); padding: var(--sp-5); border-radius: var(--r-xl); background: var(--surface); border: 1px solid var(--line); box-shadow: var(--sh-1); }
.azi-kid__h { display: flex; align-items: center; gap: 10px; font-family: var(--font-display); font-weight: var(--fw-regular); font-size: var(--fs-display-s); line-height: 1.2; }
.azi-kid__h > .ui-i { width: 26px; height: 26px; color: var(--accent-ink); }
.azi-kid__tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 1100px) { .azi-kid__tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.azi-kid__tile { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 14px; border-radius: var(--r-lg); background: var(--_bg); min-width: 0; }
.azi-kid__tile--meal { background: var(--surface-3); --_fg: var(--ink-2); }
.azi-kid__ic { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--surface); color: var(--_fg); flex-shrink: 0; }
.azi-kid__nm { font-size: var(--fs-title); font-weight: var(--fw-semibold); line-height: 1.25; overflow-wrap: anywhere; }
.azi-kid__tm { font-size: var(--fs-body-s); color: var(--ink-2); font-variant-numeric: tabular-nums; }
.azi-kid__tile.is-now { box-shadow: 0 0 0 3px var(--_fg); }
.azi-kid__tile.is-past { opacity: .5; }
.azi-kid__badge { position: absolute; top: 10px; right: 10px; padding: 2px 8px; border-radius: var(--r-pill); background: var(--_fg); color: var(--surface); font-size: var(--fs-caption); font-weight: var(--fw-bold); }
.azi-kid__after { display: flex; align-items: center; gap: var(--sp-3); padding: 14px; border-radius: var(--r-lg); border: 2px dashed var(--_fg); }
.azi-kid__after > .ui-i { color: var(--_fg); flex-shrink: 0; }
.azi-kid__after small { display: block; font-size: var(--fs-body-s); color: var(--ink-2); }
.azi-kid__after b { font-size: var(--fs-title-l); font-weight: var(--fw-semibold); }
.azi-kid__bags { display: grid; gap: 12px; }
.azi-kid__bags { grid-template-columns: minmax(0, 1fr); }
.azi-kid__bag > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.azi-kid__bag { display: flex; align-items: center; gap: var(--sp-3); }
.azi-kid__bag .azi-kid__ic { background: var(--_bg); }
.azi-kid__bag b { display: block; font-size: var(--fs-title); font-weight: var(--fw-semibold); line-height: 1.3; }
.azi-kid__bag small { display: block; font-size: var(--fs-body-s); color: var(--muted); margin-top: 2px; }
.azi-kid__learn { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; container-type: inline-size; }
.azi-kid__learn > div { display: grid; gap: 6px; justify-items: center; text-align: center; padding: 14px 6px; border-radius: var(--r-lg); background: var(--hero-bg); }
.azi-kid__learn b { font-family: var(--font-display); font-size: 1.35rem; font-size: min(1.75rem, 7.6cqi); font-weight: var(--fw-regular); line-height: 1.1; white-space: nowrap; }
.azi-kid__learn span { font-size: var(--fs-caption); line-height: 1.3; color: var(--hero-ink); }
.azi-kid__more { display: inline-flex; align-items: center; gap: 6px; min-height: var(--touch); align-self: flex-start; font-weight: var(--fw-semibold); color: var(--primary-ink); }
.azi-kid__pics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.azi-kid__pics .ui-photo { border-radius: var(--r-md); }
.azi-kid__lunch p b { display: block; font-size: var(--fs-title-l); font-weight: var(--fw-semibold); }
.azi-kid__lunch p span { display: block; color: var(--muted); margin-top: 2px; }
.azi-kid__empty { font-size: var(--fs-title); color: var(--ink-2); }

/* "În grija ta": what to take, icon + text on one line */
.azi-mine__bring { display: flex; align-items: flex-start; gap: var(--sp-1); }
.azi-mine__bring > svg, .azi-mine__bring > .ui-icon { flex: none; margin-top: 2px; }
