/* Ekrany spoza wzoru rozmowy: 01 start, 12–14 senior i telefon Ewy, 16–17 kasa, 19–21. Wartości z design/screens. */

/* 01 start */
.start-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px 4px; flex-shrink: 0; }
.skiplink { min-height: 44px; padding: 0 6px; display: flex; align-items: center; font-size: .875rem; font-weight: 700; text-decoration: none; }
.start-body { display: flex; flex-direction: column; gap: 10px; padding: 0 16px 10px; flex-grow: 1; min-height: 0; overflow-y: auto; }
.start-body > * { flex-shrink: 0; }
.start-intro { display: flex; flex-direction: column; gap: 6px; }
.start-title { margin: 0; font-size: 1.5625rem; line-height: 1.12; font-weight: 800; letter-spacing: -.02em; }
.start-lead { margin: 0; font-size: .9375rem; line-height: 1.35; color: var(--text-2); }
.feat { display: flex; gap: 12px; align-items: flex-start; padding: 8px 14px; border-bottom: 1px solid var(--line-soft); }
.feat:last-child { border-bottom: 0; }
.feat__ic { width: 32px; height: 32px; border-radius: 16px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.feat__ic--primary { background: var(--primary-soft); color: var(--primary); }
.feat__ic--ok { background: var(--ok-bg); color: var(--ok); }
.feat__ic--neutralny { background: var(--neutral-bg); color: var(--neutral-text); }
.feat__title { font-size: .9375rem; font-weight: 700; }
.feat__desc { font-size: .8125rem; line-height: 1.35; color: var(--text-2); }
.start-group { display: flex; flex-direction: column; gap: 8px; }
.planb { display: flex; gap: 10px; align-items: center; padding: 8px 12px; border-radius: 14px; background: var(--card); border: 1px solid var(--line); }
.planb svg { flex-shrink: 0; }
.planb__text { font-size: .8125rem; line-height: 1.35; flex-grow: 1; }
.textlink--bold { font-weight: 700; padding: 0; }
.personas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.persona { display: flex; flex-direction: column; gap: 6px; padding: 12px; border-radius: 18px; text-decoration: none; }
.persona--light { background: var(--card); border: 1px solid var(--line); color: var(--text); }
.persona--light:hover { color: var(--text); background: var(--primary-tint); }
.persona--senior { background: #0B0B0B; border: 1px solid #0B0B0B; color: #FFFFFF; font-family: 'Atkinson Hyperlegible', 'Inter Tight', sans-serif; }
.persona--senior:hover { color: #FFFFFF; }
.persona__top { display: flex; align-items: center; gap: 8px; }
.persona__av { width: 36px; height: 36px; border-radius: 18px; background: #111214; color: #FFFFFF; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: .875rem; flex-shrink: 0; }
.persona--senior .persona__av { background: #FFD60A; color: #0B0B0B; }
.persona__name { font-size: .9375rem; font-weight: 700; }
.persona--senior .persona__name { font-size: 1rem; }
.persona__city, .persona__desc { font-size: .75rem; color: var(--text-2); }
.persona__desc { line-height: 1.35; }
.persona--senior .persona__city, .persona--senior .persona__desc { color: #FFFFFF; }
.persona__go { font-size: .875rem; font-weight: 700; color: var(--primary); }
.persona--senior .persona__go { color: #FFD60A; }
.start-foot { margin: 0; font-size: .75rem; line-height: 1.4; color: var(--text-2); }
.stack0 { display: flex; flex-direction: column; min-width: 0; }
.stack--3 { gap: 3px; }

/* 12, 14 tryb seniora */
.senior { padding: 16px 16px 18px; gap: 12px; font-family: 'Atkinson Hyperlegible', system-ui, sans-serif; }
.senior-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-shrink: 0; }
.senior-back { min-height: 56px; padding: 0 14px 0 8px; border-radius: 28px; border: 2px solid #5A5A5A; display: flex; align-items: center; gap: 6px; text-decoration: none; color: #FFFFFF;
  font-size: 1.375rem; font-weight: 700; }
.senior-back:hover { color: #FFFFFF; border-color: #FFFFFF; }
.senior-read { min-height: 52px; padding: 0 16px; border-radius: 26px; border: 2px solid #FFD60A; background: #0B0B0B; color: #FFD60A; display: flex; align-items: center; gap: 8px;
  font-family: inherit; font-size: 1.375rem; font-weight: 700; cursor: pointer; }
.senior-main { display: flex; flex-direction: column; gap: 12px; flex-grow: 1; min-height: 0; overflow-y: auto; }
.senior-main > * { flex-shrink: 0; }
.senior-said { display: flex; flex-direction: column; gap: 4px; }
.senior-said__label { display: flex; align-items: center; gap: 8px; font-size: 1.375rem; color: #D4D4D4; }
.senior-said__quote { margin: 0; font-size: 2.125rem; font-weight: 700; line-height: 1.2; }
.senior-say { margin: 0; font-size: 1.5rem; line-height: 1.3; color: #FFFFFF; }
.senior-say--bold { font-size: 1.375rem; font-weight: 700; }
.accent { color: #FFD60A; }
.senior-steps { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; }
.senior-steps li { display: flex; gap: 14px; align-items: flex-start; }
.senior-steps__n { width: 44px; height: 44px; border-radius: 22px; background: #FFD60A; color: #0B0B0B; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; font-weight: 700; flex-shrink: 0; }
.senior-steps__t { font-size: 1.625rem; font-weight: 700; line-height: 1.25; }
.senior-steps__o { font-size: 1.375rem; line-height: 1.3; color: #D4D4D4; }
.senior-cta { display: flex; flex-direction: column; gap: 10px; margin-top: auto; }
.senior-cta__main { min-height: 72px; border-radius: 20px; border: 0; background: #FFD60A; color: #0B0B0B; text-decoration: none; display: flex; align-items: center; justify-content: center; gap: 10px;
  font-family: inherit; font-size: 1.625rem; font-weight: 700; cursor: pointer; text-align: center; }
.senior-cta__main:hover { color: #0B0B0B; background: #FFE45C; }
.senior-cta__main--76 { min-height: 76px; gap: 12px; }
.senior-cta__alt { min-height: 72px; border-radius: 20px; border: 2px solid #FFFFFF; color: #FFFFFF; text-decoration: none; display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem; font-weight: 700; }
.senior-cta__alt:hover { color: #FFD60A; border-color: #FFD60A; }
.senior-cta__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.senior-cta__grid .senior-cta__alt { font-size: 1.375rem; }
.senior-cta__note { font-size: 1.375rem; line-height: 1.3; color: #D4D4D4; }
.senior-q { display: flex; flex-direction: column; gap: 2px; }
.senior-q__label { font-size: 1.375rem; color: #D4D4D4; }
.senior-q__title { margin: 0; font-size: 2.125rem; font-weight: 700; line-height: 1.15; }
.senior-card { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px; border-radius: 20px; background: #1A1A1A; border: 2px solid #3A3A3A; }
.senior-card__title { font-size: 1.625rem; font-weight: 700; line-height: 1.25; }
.senior-card__rule { height: 2px; background: #3A3A3A; }
.senior-card__visit { font-size: 1.75rem; font-weight: 700; line-height: 1.2; color: #FFD60A; }
.senior-card__place { font-size: 1.375rem; line-height: 1.3; }
.senior-note { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 20px; border: 2px solid #FFD60A; font-size: 1.5rem; font-weight: 700; line-height: 1.3; }
.senior-sent { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; border-radius: 20px; background: #FFD60A; color: #0B0B0B; }
.senior-sent__t { display: flex; align-items: center; gap: 10px; font-size: 1.75rem; font-weight: 700; }
.senior-sent__v { font-size: 1.5rem; font-weight: 700; line-height: 1.3; }
.senior-sent__n { font-size: 1.375rem; line-height: 1.3; }
.senior-ask { display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; border-radius: 20px; border: 2px solid #FFD60A; background: #1A1A1A; }
.senior-ask__title { font-size: 1.625rem; font-weight: 700; line-height: 1.25; color: #FFD60A; }
.senior-ask__text { font-size: 1.375rem; line-height: 1.3; }
.senior-ask__btns { display: flex; flex-direction: column; gap: 10px; }
button.senior-btn { font-family: inherit; cursor: pointer; gap: 10px; }

/* 13 telefon Ewy */
.info-soft { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 14px; background: var(--primary-soft); color: var(--on-primary-soft); font-size: .84375rem; line-height: 1.4; }
.info-soft svg { flex-shrink: 0; margin-top: 1px; }
.office { display: flex; flex-direction: column; gap: 8px; padding: 10px 14px; }
.hear { display: flex; gap: 8px; align-items: flex-start; padding: 10px 14px; background: #FAFAF7; border-top: 1px solid var(--line); font-size: .78125rem; line-height: 1.4; color: var(--neutral-text); }
.hear svg { margin-top: 1px; }
.queue { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 14px; background: var(--card); border: 1px solid var(--line); }
.queue__title { font-size: .84375rem; font-weight: 600; }
.ewa-foot { display: flex; flex-direction: column; gap: 8px; padding: 10px 14px 18px; background: var(--card); border-top: 1px solid var(--line); flex-shrink: 0; }
.ewa-foot__note { font-size: .78125rem; line-height: 1.4; color: var(--text-2); }

/* 16–17 kasa i terminal */
.who__name { font-size: 1rem; font-weight: 700; }
.who__firm { font-size: .8125rem; color: var(--text-2); }
.self-start { align-self: flex-start; }
.question { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 16px 14px; border-radius: 18px; background: var(--card); border: 2px solid var(--primary); }
.question__label { font-size: .875rem; color: var(--text-2); }
.question__q { font-size: 1.5rem; font-weight: 800; letter-spacing: -.01em; text-align: center; }
.question__a { margin-top: 4px; padding: 8px 28px; border-radius: 14px; background: var(--primary-soft); color: var(--on-primary-soft); font-size: 2.125rem; font-weight: 800; letter-spacing: .04em; }
.reveal { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.reveal__col { display: flex; flex-direction: column; gap: 6px; padding: 12px; border-radius: 16px; background: var(--card); border: 1px solid var(--line); }
.reveal__head { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--neutral-text); }
.reveal__head--ok { color: var(--ok-text); }
.reveal__item { display: flex; gap: 6px; align-items: flex-start; font-size: .875rem; line-height: 1.35; }
.reveal__keep { font-size: .875rem; line-height: 1.4; color: var(--text-2); }
.push-y { margin-top: auto; }
.bottom-btns { display: flex; flex-direction: column; gap: 8px; margin-top: auto; }
.chat-body:has(.bottom-btns) .bottom-btns, .chat-body .row-btns.row-btns--bottom { margin-top: auto; }
.terminal { display: flex; flex-direction: column; border-radius: 18px; background: var(--card); overflow: hidden; }
.terminal--ok { border: 2px solid var(--ok); }
.terminal--bad { border: 2px solid var(--error); }
.terminal__bar { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 14px; background: #111214; color: #FFFFFF; font-family: var(--font-mono); font-size: .6875rem; }
.terminal__name { font-weight: 600; }
.terminal__body { display: flex; flex-direction: column; gap: 8px; padding: 12px 14px; }
.terminal__res { display: flex; align-items: center; gap: 12px; }
.terminal__ic { width: 44px; height: 44px; border-radius: 22px; color: #FFFFFF; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.terminal--ok .terminal__ic { background: var(--ok); }
.terminal--bad .terminal__ic { background: var(--error); }
.terminal__t { font-size: 1.25rem; font-weight: 800; }
.terminal__o { font-size: .875rem; font-weight: 700; }
.terminal--ok .terminal__o { color: var(--ok-text); }
.terminal--bad .terminal__o { color: var(--error); }
.terminal__rows { display: flex; flex-direction: column; border-top: 1px solid var(--line-soft); }
.terminal__row { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 7px 0; border-bottom: 1px solid var(--line-soft); font-size: .875rem; }
.terminal__row:last-child { border-bottom: 0; }
.terminal__row .badge { padding: 2px 8px; }
.terminal__note { margin: 0; font-size: .8125rem; line-height: 1.4; color: var(--text-2); }
.fact { margin: 0; font-size: .8125rem; line-height: 1.4; color: var(--neutral-text); }
.row-btns { display: flex; gap: 8px; }
.chat-body > .row-btns:last-child { margin-top: auto; }

/* 19 ochrona */
.approved { display: flex; align-items: center; gap: 8px; padding: 9px 14px; background: var(--ok-bg); color: var(--ok-text); font-size: .8125rem; font-weight: 700; }
.mono12 { font-family: var(--font-mono); font-size: .75rem; }
.case { font-family: var(--font-mono); font-size: .6875rem; font-weight: 600; color: var(--ok-text); }
.events { font-size: .8125rem; line-height: 1.5; color: var(--neutral-text); }
.chat-body--11 .crow--plan { padding: 9px 14px; }
.chat-body--11 .crow--plan input[type="checkbox"] { margin-top: 1px; }
.chat-body--11 .crow__text { gap: 2px; }
.chat-body--11 .clist .crow:last-child { border-bottom: 1px solid var(--line); }
.chat-body--11 .ccard__head { padding: 11px 14px; }
.crow input:disabled { opacity: 1; }

/* 20 dostęp */
.ok-text { color: var(--ok-text); }
.dates { display: grid; grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr); align-items: center; gap: 6px; padding: 8px 10px; border-radius: 12px; background: var(--bg); }
.dates__label { font-size: .6875rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-2); }
.dates__v { font-family: var(--font-mono); font-size: .875rem; font-weight: 600; }
.dates__v--warn { color: var(--warn-text); }
.dates__v--ok { color: var(--ok-text); }
.dev { display: flex; align-items: center; gap: 10px; padding: 4px 14px; }
.dev--first { padding: 6px 14px 8px; border-bottom: 1px solid var(--line-soft); }
.dev .crow__desc { font-size: .75rem; }
.dev .stack { flex-grow: 1; }
.sbtn { min-height: 44px; padding: 0 12px; border-radius: 12px; border: 1px solid var(--line-btn); background: var(--card); color: var(--text); font-family: inherit; font-size: .8125rem; font-weight: 600;
  cursor: pointer; flex-shrink: 0; display: flex; align-items: center; text-decoration: none; }
.sbtn:hover { color: var(--text); border-color: var(--text-2); }
.sbtn--danger { border-radius: 22px; color: var(--error); font-weight: 700; }
.sbtn--danger:hover { color: var(--error); }
a.sbtn--link { border-radius: 22px; min-height: 46px; }
.av32 { width: 32px; height: 32px; border-radius: 16px; background: var(--neutral-bg); color: var(--neutral-text); display: flex; align-items: center; justify-content: center; font-size: .8125rem;
  font-weight: 700; flex-shrink: 0; }
.av32--warn { background: var(--warn-bg); color: var(--warn-text); }
.grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.tbtn { min-height: 48px; padding: 0 10px; border-radius: 14px; border: 1px solid var(--line); background: var(--card); color: var(--text); display: flex; align-items: center; justify-content: center;
  gap: 6px; font-family: inherit; font-size: .84375rem; font-weight: 600; cursor: pointer; }
.tbtn svg { flex-shrink: 0; }
.tbtn__2 { text-align: left; line-height: 1.2; }

/* 21 ustawienia */
.settings { display: flex; flex-direction: column; gap: 8px; padding: 10px 14px 12px; flex-grow: 1; min-height: 0; overflow-y: auto; }
.settings > * { flex-shrink: 0; }
.eyebrow--pt { padding-top: 4px; }
.set { display: flex; align-items: center; gap: 12px; min-height: 57px; padding: 4px 14px; border-bottom: 1px solid var(--line-soft); cursor: pointer; }
.set:last-child { border-bottom: 0; min-height: 56px; }
div.set { cursor: default; }
.set--last { gap: 8px; }
.set .stack0 { flex-grow: 1; }
.set input[type="checkbox"] { width: 22px; height: 22px; margin: 0; accent-color: var(--primary); flex-shrink: 0; }
.set__t { font-size: .9375rem; font-weight: 600; }
.set__d { font-size: .75rem; color: var(--text-2); }
.set__d--mono { font-family: var(--font-mono); font-size: .6875rem; }
.set__row { display: flex; justify-content: space-between; gap: 8px; }
.setblock { display: flex; flex-direction: column; gap: 6px; padding: 10px 14px; border-bottom: 1px solid var(--line-soft); }
.setblock .tile__title { font-size: .875rem; }
.areas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 6px; }
.area { min-height: 44px; display: flex; align-items: center; gap: 6px; font-size: .8125rem; cursor: pointer; }
.area input { width: 20px; height: 20px; margin: 0; accent-color: var(--primary); }
.senior-preview { min-height: 44px; padding: 0 12px; border-radius: 22px; background: #0B0B0B; color: #FFD60A; text-decoration: none; display: flex; align-items: center; font-size: .8125rem;
  font-weight: 700; flex-shrink: 0; }
.senior-preview:hover { color: #FFD60A; }

/* Zakładki: stany po akcjach */
.card--done { border-color: var(--line); }
.card--okb { border-color: var(--ok); }
.cert--ok { background: var(--ok-bg); }
.cert--ok span { color: var(--ok-text); }
.log-row > .ai-open { flex: 1 1 10rem; }
.ai-open { flex-grow: 1; min-width: 0; min-height: 44px; display: flex; flex-direction: column; justify-content: center; gap: 1px; padding: 0; border: 0; background: transparent; text-align: left;
  font-family: inherit; color: var(--text); cursor: pointer; }
.restart { margin-top: 4px; min-height: 44px; padding: 0 16px; border-radius: 22px; border: 1px solid #B8B6AE; background: #FFFFFF; color: #111214; font-family: inherit; font-size: .875rem;
  font-weight: 600; cursor: pointer; }

/* Ustawienie „Duży tekst” (bez ?text=): całość rośnie o 25% */
html.duzy-tekst { font-size: 125%; }

/* Duży tekst do 200%: łamanie zamiast ściskania */
.ocard__row, .crow, .rrow, .dev, .set, .feat, .terminal__res, .queue, .photo, .deadline, .pills, .row-btns { flex-wrap: wrap; }
.crow__text, .dev > .stack, .set > .stack0, .feat > .stack { flex: 1 1 8rem; }
.nowrap { white-space: normal; }
@media (min-width: 0) { .ocard__title.nowrap { white-space: nowrap; } }
.dates .stack0 { gap: 1px; }
.pill--14 { padding: 0 14px; }
.senior-steps .stack0 { gap: 2px; }

/* Siatki: przy 100% tekstu tyle kolumn co w projekcie, przy dużym tekście mniej (zamiast wystawać w poziomie). */
.tiles--2, .tiles--office, .fgrid, .cando, .reveal, .grid2, .personas, .senior-cta__grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr)); }
.tiles--3, .days, .areas, .slots { grid-template-columns: repeat(auto-fit, minmax(min(100%, 6rem), 1fr)); }
.hours { grid-template-columns: repeat(auto-fit, minmax(min(100%, 4.5rem), 1fr)); }
.ocard__row--oc { gap: 8px; }
.cfoot, .ccard__head, .senior-top, .chat-head, .blik, .where, .cq, .visit__head, .attach, .senior-note { flex-wrap: wrap; }
.chat-head__titles { flex: 1 1 8rem; }
.senior-note span { min-width: 0; flex: 1 1 8rem; }
.senior-card, .senior-q, .senior-said { overflow-wrap: anywhere; }
.approved { flex-wrap: wrap; }
.ocard__small--lh { line-height: normal; }
