/* voice.css — the "voice" screen group: Home, Search, Chat, and the Voice / Review / Note sheets.
   Prefixes: .home-… .search-… .chat-… .voice-… .review-… .note-…  Colours and sizes from tokens.css only; logical properties (RTL). */

/* ================= home ================= */
.home{display:flex;flex-direction:column;gap:14px}
.home > .section{margin-top:var(--sp-2)}
.home-head{display:flex;flex-direction:column;gap:0}
.home-hello{font-size:clamp(1.375rem,6.6vw,var(--fs-2xl));overflow-wrap:anywhere}
.home-date{color:var(--text-2);font-size:var(--fs-sm)}
.home-link{color:var(--y);font-weight:600;font-size:var(--fs-sm);text-decoration:none;white-space:nowrap;min-height:var(--tap);
  display:inline-flex;align-items:center;padding-inline:4px}
.home-link:hover{text-decoration:underline}
.home-welcome{flex-direction:column}
.home-welcome__h{font-size:var(--fs-lg);margin-bottom:4px}
.home-welcome__btns{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-3)}
.home-tiles{margin:0;gap:10px}
.home-tiles .tile{min-height:84px;padding:12px 14px} /* a little tighter on Home: the watch list starts on the first screen */
.home-pending{align-items:center;flex-wrap:wrap}
.home-pending .btn{flex:1 1 100%} /* own row: long Russian labels never squeeze the text */

.home-watch{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:var(--sp-3);row-gap:2px;align-items:start;padding-block:10px 6px}
.home-watch__icon{grid-row:span 2}
.home-watch__text{grid-column:2}
.home-watch__foot{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 8px}
.home-watch__acts{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:0 8px;margin-inline-start:auto}
.home-watch__wait{margin-block:4px}
.home-watch__level{color:var(--text-3);font-size:var(--fs-xs)}
.home-watch__level--l3{color:var(--ember);font-weight:600}
.home-watch__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;flex:none;background:var(--s3);color:var(--text-2)}
.home-watch__icon--l2{background:var(--y-soft);color:var(--y)}
.home-watch__icon--l3{background:var(--ember-soft);color:var(--ember)}
.home-watch .card__title{font-weight:500;font-size:var(--fs-sm);line-height:1.4}
.home-watch__act{text-decoration:none;margin-inline-start:auto}
.home-more{display:flex;justify-content:center;margin-top:var(--sp-3)}

/* quick actions: one row of four under the tiles, icon over a short label (A065) */
.home-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.home-quick--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.home-quick__btn,.home-quick .btn--quick{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:72px;
  padding:8px 4px;border-radius:var(--r-sm);background:var(--s1);border:1.5px solid var(--line);box-shadow:none;color:var(--text);
  font:600 var(--fs-xs)/1.2 var(--font);text-align:center;transition:border-color var(--t) var(--ease),background-color var(--t)}
.home-quick .btn--quick{width:100%}
.home-quick__btn .icon,.home-quick .btn--quick .icon{color:var(--y)}
.home-quick__btn:hover,.home-quick .btn--quick:hover{border-color:var(--line-strong)}
.home-quick__btn:active,.home-quick .btn--quick:active{background:var(--s2)}
.home-quick .btn--quick .btn__label{overflow-wrap:normal;hyphens:auto}

/* trial banner (owner): from 7 days before the free month ends (A129) */
.home-trial{display:flex;flex-direction:column;gap:6px;padding:10px 14px 8px;padding-inline-end:6px;border-radius:var(--r);background:var(--y-soft);border:1px solid var(--y-ring)}
.home-trial__top{display:flex;align-items:flex-start;gap:4px}
.home-trial__top .home-trial__title{flex:1;min-width:0;padding-top:2px}
.home-trial__hide{margin-block:-8px -4px;color:var(--text-2)}
.home-trial--ember{background:var(--ember-soft);border-color:var(--ember-line)}
.home-trial__title{display:flex;align-items:flex-start;gap:8px;font-size:var(--fs);line-height:1.3}
.home-trial__title .icon{color:var(--y);margin-top:1px}
.home-trial--ember .home-trial__title .icon{color:var(--ember)}
.home-trial__text{color:var(--text-2);font-size:var(--fs-sm);padding-inline-end:8px}
.home-trial__btns{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:2px}

/* "add to home screen" (A093) */
.home-install{flex-direction:column;gap:var(--sp-2)}
.home-install__title{display:flex;align-items:center;gap:8px;font-size:var(--fs)}
.home-install__title .icon{color:var(--y)}
.home-install__steps{display:flex;flex-direction:column;gap:10px;margin:4px 0;counter-reset:step}
.home-install__step{display:flex;align-items:flex-start;gap:10px;font-size:var(--fs-sm);line-height:1.45;counter-increment:step}
.home-install__icon{position:relative;display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:var(--r-xs);background:var(--s3);color:var(--volt)}
.home-install__icon::before{content:counter(step);position:absolute;inset-block-start:-7px;inset-inline-start:-7px;min-width:20px;height:20px;
  border-radius:50%;background:var(--y);color:var(--ink);font:700 var(--fs-xs)/20px var(--font);text-align:center}
.home-install__plain{font-size:var(--fs-sm)}
.home-install__btns{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-top:4px}

/* search: the field on Home and the #/search screen (A076) */
.home-search{display:flex;flex-direction:column;gap:var(--sp-2)}
.search{display:flex;flex-direction:column;gap:var(--sp-3)}
.search__title{font-size:var(--fs-xl)}
.search-box{display:flex;align-items:center;gap:8px;min-height:50px;padding:2px 4px;padding-inline-start:14px;border-radius:var(--r-pill);
  background:var(--s1);border:1.5px solid var(--line-strong)}
.search-box:focus-within{border-color:var(--y);box-shadow:0 0 0 3px var(--y-ring)}
.search-box__icon{color:var(--text-2)}
.search-box__input{flex:1;min-width:0;min-height:var(--tap);border:0;background:transparent;color:var(--text);outline:none;-webkit-appearance:none;appearance:none}
.search-box__input::placeholder{color:var(--text-3)}
.search-box__input::-webkit-search-cancel-button{display:none}
.search-status:empty{display:none}
.search-row .card__body{flex-direction:row}
.search-row__main{display:flex;align-items:flex-start;gap:var(--sp-3);min-width:0;flex:1}
.search-row__icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:var(--s3);color:var(--text-2)}
.search-row__text{display:flex;flex-direction:column;gap:2px;min-width:0}
.search-row__owed{font-size:var(--fs-sm)}
.search-row__plate,.search-row__sub .phone{white-space:nowrap;font-variant-numeric:tabular-nums}
.search-row__sub > bdi,.search-row__car{display:inline-block} /* a part moves to the next line whole ("טיפול 60,000" never splits) */
.search-none{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:var(--r);background:var(--s1);border:1px dashed var(--line)}
.search-hint{max-width:40ch}

.home-agenda{display:flex;flex-direction:column;gap:var(--sp-4)}
.home-agenda__h{font-size:var(--fs-sm);color:var(--text-3);font-weight:600;margin-bottom:var(--sp-2)}
.home-agenda__row{align-items:center;padding-block:6px;padding-inline-end:6px}
.home-agenda__main{display:flex;align-items:center;gap:var(--sp-3);flex:1;min-width:0;min-height:var(--tap);text-align:start;color:inherit}
.home-agenda__time{flex:none;min-width:58px;font-weight:700;color:var(--y);font-variant-numeric:tabular-nums}

.home-ask__row{display:flex;align-items:center;gap:var(--sp-2);padding:6px;padding-inline-start:14px;border-radius:var(--r-pill);
  background:var(--s1);border:1.5px solid var(--line-strong)}
.home-ask__row:focus-within{border-color:var(--y)}
.home-ask__icon{color:var(--text-3)}
.home-ask__input{flex:1;min-width:0;min-height:var(--tap);border:0;background:transparent;color:var(--text);outline:none}
.home-ask__input::placeholder{color:var(--text-3)}

/* ================= voice sheet ================= */
.voice-center{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;text-align:center}
.voice-orb{display:grid;place-items:center;width:120px;height:120px;border-radius:50%;flex:none}
.voice-orb--idle{background:var(--s2);color:var(--y);box-shadow:0 0 0 6px var(--s1),0 0 0 8px var(--line)}
.voice-orb--rec{background:var(--y);color:var(--ink);cursor:pointer;box-shadow:0 0 0 6px var(--s1),0 0 0 9px var(--y-ring);
  animation:vr-pulse 1.6s var(--ease) infinite;transition:transform var(--t-fast) var(--ease)}
.voice-orb--rec:active{transform:scale(.95)}
.voice-timer{font:700 var(--fs-xl)/1.2 var(--font);font-variant-numeric:tabular-nums;color:var(--text)}
.voice-timer--ending{color:var(--bad)}
.voice-meter{display:flex;align-items:center;justify-content:center;gap:4px;height:40px;direction:ltr}
.voice-meter i{display:block;width:5px;height:36px;border-radius:3px;background:var(--y);transform:scaleY(.12);transform-origin:center;
  transition:transform 90ms linear}
.voice-hint{color:var(--text-2);max-width:32ch}
.voice-steps{display:flex;flex-direction:column;gap:var(--sp-3);align-self:stretch;padding:var(--sp-2) var(--sp-2)}
.voice-steps__item{display:flex;align-items:center;gap:var(--sp-3);color:var(--text-3);font-size:var(--fs);text-align:start}
.voice-steps__item--done{color:var(--text-2)}
.voice-steps__item--now{color:var(--text);font-weight:600}
.voice-steps__dot{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;flex:none;background:var(--s2);border:1.5px solid var(--line-strong)}
.voice-steps__item--done .voice-steps__dot{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}
.voice-steps__item--now .voice-steps__dot{border-color:var(--y);color:var(--y)}
.voice-msg{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-4)}
.voice-msg__text{display:flex;align-items:flex-start;gap:var(--sp-2);line-height:1.45}
.voice-msg__text .icon{color:var(--ember);margin-top:2px}
.voice-help{padding:10px 14px;border-radius:var(--r-sm);background:var(--s2);color:var(--text-2);font-size:var(--fs-sm);line-height:1.5}
.voice-type-wrap{display:flex;flex-direction:column;gap:var(--sp-2)}

/* ================= review sheet + action cards ================= */
.review-busy{display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);padding:var(--sp-8) 0;color:var(--text-2);text-align:center}
.review-busy .spinner{color:var(--y)}
.review-err{display:flex;flex-direction:column;gap:var(--sp-3)}
.review-err__text{display:flex;align-items:flex-start;gap:var(--sp-2);line-height:1.45}
.review-err__text .icon{color:var(--ember);margin-top:2px}
.review-body{display:flex;flex-direction:column;gap:var(--sp-3)}
.review-demo{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.review-said{margin:0;padding:10px 14px;border-radius:var(--r-sm);background:var(--s2);border-inline-start:3px solid var(--note)}
.review-said blockquote{margin:4px 0 0;color:var(--text);font-style:italic;line-height:1.45;overflow-wrap:anywhere}
.review-reply{font-size:var(--fs);line-height:1.45}
.review-questions{display:flex;flex-direction:column;gap:6px}
.review-questions li{display:flex;align-items:flex-start;gap:8px;color:var(--text-2);font-size:var(--fs-sm)}
.review-questions .icon{color:var(--volt);margin-top:2px}
.review-hint{color:var(--bad);font-weight:600;font-size:var(--fs-sm)}
.review-notyet{display:flex;align-items:center;gap:8px;color:var(--ember);font-weight:600;font-size:var(--fs-sm)}

.review-card{flex-direction:column;align-items:stretch;gap:var(--sp-2);padding:12px 14px}
.review-card--off{background:transparent;border-style:dashed;border-color:var(--line-strong)} /* left out: dashed, text keeps contrast (A084) */
.review-card--off .review-card__sum{color:var(--text-2);font-weight:500}
.review-card--ok{border-inline-start-color:var(--ok)}
.review-card--bad{box-shadow:inset 0 0 0 1px var(--bad)}
.review-card__head{display:flex;align-items:flex-start;gap:var(--sp-2)}
.review-card__pick{display:grid;place-items:center;width:var(--tap);height:var(--tap);margin:-10px;margin-inline-end:-6px;flex:none;cursor:pointer}
.review-card__check{width:24px;height:24px;margin:0;accent-color:var(--y);cursor:pointer}
.review-card__state{display:grid;place-items:center;width:28px;height:28px;flex:none;color:var(--text-3)}
.review-card--ok .review-card__state{color:var(--ok)}
.review-card__main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.review-card__type{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--text-3);font-size:var(--fs-xs);font-weight:600}
.review-card__sum{font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.review-card__edit{display:inline-flex;align-items:center;gap:4px;min-height:40px;padding:0 10px;margin:-6px;margin-inline-start:0;border-radius:var(--r-pill);
  color:var(--y);font:600 var(--fs-xs)/1 var(--font);flex:none;position:relative}
.review-card__edit::after{content:"";position:absolute;inset:-4px 0}
.review-card__edit:hover{background:var(--y-soft)}
.review-card__note,.review-card__soft{color:var(--text-3);font-size:var(--fs-xs)}
.review-card__choose{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:var(--r-sm);background:var(--s2)}
.review-card__ask{font-size:var(--fs-sm);font-weight:600}
.review-card__chips{display:flex;flex-wrap:wrap;gap:0 8px}
.review-card__need,.review-card__warn{display:flex;align-items:flex-start;gap:6px;font-size:var(--fs-sm);line-height:1.4}
.review-card__need{color:var(--ember);font-weight:600}
.review-card__warn{color:var(--text-2)}
.review-card__need .icon,.review-card__warn .icon{margin-top:1px}
.review-card__form{padding-top:var(--sp-2);border-top:1px solid var(--line)}
.review-card__res{font-size:var(--fs-sm);color:var(--text-2)}
.review-card__res--ok{color:var(--ok);font-weight:600}
.review-card__res--bad{color:var(--bad);font-weight:600}
.review-paid{display:flex;flex-wrap:wrap;gap:0 8px}
.review-parts{display:flex;flex-direction:column;gap:6px}
.review-parts__row{display:flex;align-items:center;gap:var(--sp-2)}
.review-parts__name{flex:1;min-width:0;overflow-wrap:anywhere}

/* ================= note sheet ================= */
.note-body{display:flex;flex-direction:column;gap:var(--sp-4)}
.note-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;color:var(--text-3);font-size:var(--fs-sm)}
.note-audio__player{width:100%;min-height:var(--tap)}
.note-audio .meta{display:flex;align-items:center;gap:8px}
.note-said{display:flex;flex-direction:column;gap:6px}
.note-said__text{margin:0;padding:10px 14px;border-radius:var(--r-sm);background:var(--s2);border-inline-start:3px solid var(--note);line-height:1.45;overflow-wrap:anywhere}
.note-results{display:flex;flex-direction:column;gap:6px}
.note-results li{display:flex;align-items:flex-start;gap:8px;font-size:var(--fs-sm)}
.note-err{display:flex;align-items:flex-start;gap:8px;color:var(--ember);font-size:var(--fs-sm)}
.note-actions{display:flex;flex-direction:column;gap:var(--sp-2)}

/* ================= chat ================= */
.enter:has(> .chat-screen){animation:none} /* a transform would trap the fixed composer */
.chat-screen{display:flex;flex-direction:column;gap:var(--sp-2);padding-bottom:var(--sp-4)}
.chat-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}
.chat-head__title{font-size:var(--fs-xl);min-width:0}
.chat-head .btn{flex:none;white-space:nowrap}
.chat-log{display:flex;flex-direction:column;gap:var(--sp-3);margin-top:var(--sp-3)}
.chat-msg{display:flex;flex-direction:column;gap:6px;max-width:88%;padding:10px 14px;border-radius:var(--r-lg);line-height:1.45}
.chat-msg--me{align-self:flex-end;background:var(--y);color:var(--ink);border-end-end-radius:6px}
.chat-msg--ai{align-self:flex-start;background:var(--s1);border:1px solid var(--line);border-end-start-radius:6px}
.chat-msg--ai:has(.review-card){max-width:100%;width:100%}
.chat-msg--err{border-color:var(--ember-line)}
.chat-msg--err .chat-msg__text .icon{display:inline-block;vertical-align:-3px;color:var(--ember)}
.chat-msg__text{overflow-wrap:anywhere;white-space:pre-wrap}
.chat-msg__tag{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:600}
.chat-msg__meta{align-self:flex-end;font-size:var(--fs-xs);color:var(--text-3)}
.chat-msg--me .chat-msg__meta{color:rgba(13,13,13,.72)}
.chat-msg__lost{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:600}
.chat-msg__lost .chip{background:var(--ink);color:var(--y)}
.chat-msg__note{color:var(--text-3);font-size:var(--fs-xs)}
.chat-msg__foot{display:flex;flex-direction:column;gap:6px}
.chat-msg__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.chat-msg__done{display:flex;align-items:center;gap:6px;color:var(--ok);font-weight:600;font-size:var(--fs-sm)}
.chat-msg__done--off{color:var(--text-3)}
.chat-msg .review-card{background:var(--s2)}
.chat-msg .sample-badge{align-self:flex-start}
/* snackbars sit above the composer, not on top of it */
.app:has(.chat-screen) .snackbar-host:not(.snackbar-host--sheet){bottom:calc(var(--nav-h) + var(--safe-bottom) + 80px)}
.chat-dots{display:inline-flex;gap:5px;padding:6px 2px}
.chat-dots i{width:8px;height:8px;border-radius:50%;background:var(--text-3);animation:chat-blink 1.2s infinite ease-in-out}
.chat-dots i:nth-child(2){animation-delay:.2s}
.chat-dots i:nth-child(3){animation-delay:.4s}
@keyframes chat-blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.chat-sugg{display:flex;flex-wrap:wrap;gap:0 8px}
.chat-sugg .chip{white-space:normal;text-align:start;line-height:1.3}
.chat-composer{position:fixed;z-index:35;inset-inline:0;bottom:calc(var(--nav-h) + var(--safe-bottom));padding:8px var(--gutter);
  background:var(--top-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line)}
.chat-composer__in{display:flex;align-items:flex-end;gap:6px;max-width:calc(var(--maxw) - 2 * var(--gutter));margin:0 auto}
.chat-composer__input{flex:1;min-width:0;min-height:var(--tap);max-height:140px;padding:11px 12px;border-radius:24px;resize:none;overflow-y:hidden;
  background:var(--s2);border:1.5px solid var(--line-strong);color:var(--text);line-height:1.35;font-size:16px}
.chat-composer__input::placeholder{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.has-sheet .chat-composer{visibility:hidden}
.chat-composer__input:focus-visible{outline:none;border-color:var(--y)}
.chat-composer__input::placeholder{color:var(--text-3)}
