/* Build 2: app-local customer surfaces. Canonical colours come from yitm-theme-tokens.css.
   Selectors deliberately exclude staff/admin pages. Hidden and semantic states stay intact. */
html body main#main-content:is(.qm-intake,.qm-entry,.qm-specialist,.receipt,.yitm-sign-in),
html body:has(.yitm-customer-topbar) main#main-content {
  font-family:var(--yitm-font);font-size:18px;line-height:1.6;color:var(--yitm-navy);
}
html body main#main-content:is(.qm-intake,.qm-entry,.qm-specialist) {
  width:100%;max-width:960px;padding:28px 24px 64px;box-sizing:border-box;
}
html body main#main-content:is(.qm-intake,.qm-specialist)>.hero,
html body:has(.yitm-customer-topbar) main#main-content>.yitm-customer-heading {
  background:var(--yitm-footer);color:var(--yitm-white);border:0;border-radius:22px;
  padding:24px 28px;margin:0 0 24px;min-width:0;
}
html body main#main-content:is(.qm-intake,.qm-specialist)>.hero :is(h1,p,.eyebrow),
html body:has(.yitm-customer-topbar) main#main-content>.yitm-customer-heading :is(h1,p) {
  color:var(--yitm-white);-webkit-text-fill-color:currentColor;
}
html body main#main-content:is(.qm-intake,.qm-specialist)>.hero h1,
html body:has(.yitm-customer-topbar) main#main-content>.yitm-customer-heading h1 {
  font-family:var(--yitm-heading-font);font-size:clamp(1.7rem,3.5vw,2.5rem)!important;
  font-weight:750;line-height:1.18!important;letter-spacing:-.025em;margin:0 0 10px;
}
html body main#main-content:is(.qm-intake,.qm-specialist)>.hero p {
  display:block;font-size:1.125rem;line-height:1.6;margin:0;max-width:62ch;
}
html body main#main-content:is(.qm-intake,.qm-specialist)>.hero .eyebrow {
  display:block;font-size:.875rem;font-weight:650;letter-spacing:.02em;text-transform:none;margin:0 0 10px;
}
html body main#main-content.qm-intake #quoteme-card,
html body main#main-content.qm-specialist>.card,
html body main#main-content.qm-entry .qm-return-entry {
  border:1px solid var(--yitm-border);border-radius:22px;background:var(--yitm-white);
  padding:24px;box-shadow:0 12px 32px #0b23440a;
}
html body main#main-content.qm-intake .journey-steps {gap:8px;margin:0 0 24px}
html body main#main-content.qm-intake .journey-steps span {
  min-height:56px;padding:8px;font-size:1rem;line-height:1.4;color:var(--yitm-copy);border-radius:12px;
}
html body main#main-content.qm-intake .journey-steps [aria-current="step"] {
  color:var(--yitm-deep);border:2px solid var(--yitm-primary);background:var(--yitm-soft);font-weight:750;
}
html body main#main-content.qm-intake .journey-steps [aria-current="step"] b {
  background:var(--yitm-primary);color:var(--yitm-white);
}
html body main#main-content.qm-intake #active-question {font-size:1.3rem;line-height:1.5}
html body main#main-content.qm-intake .choices {padding-left:0;gap:10px}
html body main#main-content.qm-intake .choice {
  font:inherit;min-height:52px;padding:12px 16px;border-radius:12px;text-align:left;white-space:normal;
  color:var(--yitm-navy);border:1px solid var(--yitm-control-border);box-shadow:none;transition:none;
}
html body main#main-content.qm-intake .choice:hover:not(:disabled) {background:var(--yitm-soft)}
html body main#main-content.qm-intake .choice:is([aria-pressed="true"],.is-selected) {
  background:var(--yitm-deep);color:var(--yitm-white);border-color:var(--yitm-deep);
}
html body main#main-content.qm-intake .choice:is([aria-pressed="true"],.is-selected) small {color:inherit}
html body main#main-content.qm-intake .choice:is([aria-pressed="true"],.is-selected):is(:hover,:active,:focus-visible) {
  background:var(--yitm-deep);color:var(--yitm-white);border-color:var(--yitm-deep);
}
html body main#main-content.qm-intake :is(.mytech-context,.qm-shared-summary) {
  border-color:var(--yitm-border);background:var(--yitm-soft);border-radius:14px;
}
html body main#main-content.qm-intake .msg {font-size:1.125rem;line-height:1.6;max-width:94%}
html body main#main-content.qm-intake .msg--assistant {background:var(--yitm-soft)}
html body main#main-content.qm-intake .msg__mascot {box-shadow:none}
html body main#main-content.qm-intake .composer__row {display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
html body main#main-content.qm-intake .composer textarea {
  grid-column:1/-1;min-height:88px;max-height:220px;font:inherit;line-height:1.6;
  border:1px solid var(--yitm-control-border);border-radius:12px;background:var(--yitm-white);color:var(--yitm-navy);
}
html body main#main-content.qm-intake .optional-photo {grid-column:1/-1;justify-self:start}
html body main#main-content.qm-intake .composer__send {grid-column:1/-1;min-height:52px;width:100%}
html body main#main-content.qm-intake #ready {
  margin:20px 0;max-width:100%;padding:24px;border-radius:16px;border:1px solid var(--yitm-border);
  background:var(--yitm-white);box-shadow:inset 0 4px var(--yitm-primary);
}
html body main#main-content.qm-intake #ready :is(.known-title,.contact-heading) {
  font-size:1rem;line-height:1.5;text-transform:none;letter-spacing:0;
}
html body main#main-content.qm-intake #ready :is(p,label,.review-summary) {line-height:1.6}
html body main#main-content.qm-intake #ready :is(.quote-review-status,.quote-review-disclaimer,#draft-quote-ref) {font-size:1rem;line-height:1.6}
html body main#main-content.qm-intake :is(.composer textarea,.contact-grid input,.contact-grid select):focus {outline:3px solid var(--yitm-border);border-color:var(--yitm-primary)}
html body main#main-content.qm-intake :is(.approved-help,.agent-plan,#decision-explanation,#correction-context) {margin-left:0;max-width:100%}
html body main#main-content:is(.qm-intake,.qm-specialist,.yitm-sign-in) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select) {
  box-sizing:border-box;min-height:52px;font:inherit;color:var(--yitm-navy);background:var(--yitm-white);border-color:var(--yitm-control-border);
}
html body main#main-content:is(.qm-intake,.qm-specialist,.receipt,.yitm-sign-in) :is(button,.btn,.receipt-primary) {
  min-height:52px;font-size:1rem;line-height:1.5;border-radius:12px;
}
html body main#main-content:is(.qm-intake,.qm-specialist,.yitm-sign-in) :is(input[type="checkbox"],input[type="radio"]),
html body:has(.yitm-customer-topbar) main#main-content :is(input[type="checkbox"],input[type="radio"]) {
  min-width:24px;min-height:24px!important;width:24px;height:24px;flex:0 0 24px;accent-color:var(--yitm-primary);
}
html body main#main-content:is(.qm-intake,.qm-specialist,.receipt,.yitm-sign-in) :is(.privacy,.contact-hint,.photo-hint,.receipt-note,.receipt-hint) {font-size:1rem;line-height:1.6}
html body main#main-content:is(.qm-intake,.qm-specialist,.receipt,.yitm-sign-in) a:not(.btn):not(.receipt-primary) {color:var(--yitm-blue);text-underline-offset:.2em}
html body main#main-content:is(.qm-intake,.qm-entry,.qm-specialist,.receipt,.yitm-sign-in) :is(a,button,input,textarea,select,summary):focus-visible,
html body:has(.yitm-customer-topbar) :is(a,button,input,textarea,select,summary):focus-visible {
  outline:3px solid var(--yitm-blue)!important;outline-offset:3px;box-shadow:0 0 0 3px var(--yitm-white);
}
html body main#main-content:is(.qm-intake,.qm-specialist,.receipt,.yitm-sign-in) :is(button,.btn):disabled {cursor:not-allowed;opacity:.6}
html body main#main-content.yitm-sign-in {max-width:720px;padding:24px;font-size:18px}
html body main#main-content.yitm-sign-in h1 {font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.2;letter-spacing:-.025em}
html body main#main-content.yitm-sign-in form {border-top:4px solid var(--yitm-primary);padding:24px;border-radius:18px}
html body main#main-content.yitm-sign-in button {width:100%;background:var(--yitm-primary);font-weight:700}
html body main#main-content.yitm-sign-in input[type="email"] {border:1px solid var(--yitm-control-border)}
html body main#main-content.receipt {border-top:4px solid var(--yitm-primary);padding:28px;max-width:780px}
html body main#main-content.receipt .receipt-next {background:var(--yitm-soft);border:1px solid var(--yitm-border)}

/* Verified customer workspace: same navy entrance, light reading surfaces and teal actions. */
html body:has(.yitm-customer-topbar) .yitm-app-sidebar {background:var(--yitm-footer);border-right:0}
html body:has(.yitm-customer-topbar) .yitm-app-sidebar :is(a,p) {color:var(--yitm-on-dark-copy)}
html body:has(.yitm-customer-topbar) .yitm-app-sidebar a {font-size:1rem}
html body:has(.yitm-customer-topbar) .yitm-app-sidebar a:is(:hover,:focus-visible) {background:var(--yitm-deep);color:var(--yitm-white)}
html body:has(.yitm-customer-topbar) .yitm-app-sidebar a.is-current {background:var(--yitm-primary);color:var(--yitm-white);box-shadow:inset 3px 0 var(--yitm-white)}
html body:has(.yitm-customer-topbar) main#main-content :is(.yitm-customer-card,.dh-card,.dh-empty,.tt-event__body,.pc-card) {
  background:var(--yitm-white);border:1px solid var(--yitm-border);border-radius:18px;box-shadow:0 8px 24px #0b234406;
}
html body:has(.yitm-customer-topbar) main#main-content .yitm-request-next {border-left:4px solid var(--yitm-primary);padding:20px 24px}
html body:has(.yitm-customer-topbar) main#main-content .yitm-customer-status {font-size:1rem;line-height:1.5;white-space:normal;border:1px solid var(--yitm-border);background:var(--yitm-soft);color:var(--yitm-deep);padding:6px 12px;border-radius:10px}
html body:has(.yitm-customer-topbar) main#main-content .yitm-customer-ref {font-size:1rem;color:var(--yitm-copy)}
html body:has(.yitm-customer-topbar) main#main-content :is(.yitm-customer-button,button,summary) {min-height:52px;font-size:1rem;line-height:1.5}
html body:has(.yitm-customer-topbar) main#main-content .yitm-customer-button {border-radius:12px;padding:12px 16px;white-space:normal;text-align:center}
html body:has(.yitm-customer-topbar) main#main-content .yitm-customer-button.is-primary:not(.is-danger) {background:var(--yitm-primary);color:var(--yitm-white)!important;border-color:var(--yitm-primary)}
html body:has(.yitm-customer-topbar) main#main-content .yitm-customer-button.is-primary:not(.is-danger):hover:not(:disabled) {background:var(--yitm-hover);color:var(--yitm-white)}
html body:has(.yitm-customer-topbar) main#main-content .yitm-request-form textarea {
  box-sizing:border-box;width:100%;min-height:120px;font:inherit;line-height:1.6;border:1px solid var(--yitm-control-border);border-radius:12px;padding:14px;background:var(--yitm-white);color:var(--yitm-navy);
}
html body:has(.yitm-customer-topbar) .yitm-app-bottomnav a {font-size:.875rem;min-height:56px;line-height:1.35}
html body:has(.yitm-customer-topbar) .yitm-app-bottomnav a.is-current {background:var(--yitm-soft);color:var(--yitm-deep);box-shadow:inset 0 3px var(--yitm-primary)}
html body:has(.yitm-customer-topbar) .yitm-customer-footer {font-size:1rem}
@media(min-width:901px) {
  html body:has(.yitm-customer-topbar) main#main-content:is(.qm-intake,.qm-entry,.qm-specialist,.receipt) {width:calc(100% - 234px);margin-left:222px;margin-right:12px}
}
@media(max-width:900px) {
  html body:has(.yitm-customer-topbar) main#main-content:is(.qm-intake,.qm-entry,.qm-specialist,.receipt) {width:100%;margin-left:0;margin-right:0}
}
@media(max-width:640px) {
  html body main#main-content:is(.qm-intake,.qm-entry,.qm-specialist) {padding:16px 14px 44px}
  html body main#main-content:is(.qm-intake,.qm-specialist)>.hero,
  html body:has(.yitm-customer-topbar) main#main-content>.yitm-customer-heading {padding:20px;margin-bottom:18px;border-radius:18px}
  html body main#main-content.qm-intake #quoteme-card,
  html body main#main-content.qm-specialist>.card {padding:18px;border-radius:18px}
  html body main#main-content.qm-intake .journey-steps span {font-size:.875rem;flex-direction:column;gap:4px;min-height:76px;padding:8px 4px}
  html body main#main-content.qm-intake .choices {display:grid;grid-template-columns:minmax(0,1fr)}
  html body main#main-content.qm-intake .choice {width:100%}
  html body main#main-content.qm-intake #ready {padding:18px}
  html body main#main-content.qm-specialist .grid {grid-template-columns:minmax(0,1fr)}
  html body:has(.yitm-customer-topbar) main#main-content .yitm-customer-actions {gap:12px}
  html body:has(.yitm-customer-topbar) main#main-content .yitm-customer-actions .yitm-customer-button {width:100%}
  html body:has(.yitm-customer-topbar) .yitm-customer-topbar__actions {gap:8px}
  html body:has(.yitm-customer-topbar) .yitm-customer-topbar__actions .yitm-customer-button {font-size:.875rem;padding:10px;min-height:48px}
  html body main#main-content.yitm-sign-in {padding:12px}
  html body main#main-content.yitm-sign-in form {padding:20px}
}
@media(prefers-reduced-motion:reduce) {
  html body main#main-content.qm-intake .msg--thinking .msg__mascot svg,
  html body main#main-content.qm-intake .msg--thinking .msg__body::after {animation:none!important}
}

/* Batch 3: one clear next step, legible replies and calm decorative edge light. */
html body main#main-content.qm-intake .msg--assistant {grid-template-columns:40px minmax(0,1fr)}
html body main#main-content.qm-intake .msg__mascot {width:40px;height:40px;background:transparent;box-shadow:none}
html body main#main-content.qm-intake .msg__mascot img {display:block;width:40px;height:40px;object-fit:contain}
html body main#main-content:is(.qm-intake,.qm-specialist)>.hero,
html body:has(.yitm-customer-topbar) main#main-content>.yitm-customer-heading {position:relative;isolation:isolate;overflow:hidden}
html body main#main-content:is(.qm-intake,.qm-specialist)>.hero::after,
html body:has(.yitm-customer-topbar) main#main-content>.yitm-customer-heading::after {
 content:"";position:absolute;z-index:-1;pointer-events:none;width:260px;height:260px;right:-170px;top:-90px;
 border:1px solid #52ddff;border-radius:50%;box-shadow:0 0 16px #32d6ff80,0 0 45px #139cff40;opacity:.6;
}
html body:has(.yitm-customer-topbar) main#main-content .yitm-portal-eyebrow {
 font-size:.875rem;font-weight:750;line-height:1.5;letter-spacing:.02em;color:var(--yitm-deep);margin:0 0 6px;
}
html body:has(.yitm-customer-topbar) main#main-content .yitm-request-next-copy {background:var(--yitm-soft);border-radius:12px;padding:16px;margin:16px 0}
html body:has(.yitm-customer-topbar) main#main-content .yitm-request-next-copy p {margin:0}
html body:has(.yitm-customer-topbar) main#main-content .yitm-request-next-copy .yitm-portal-eyebrow {margin-bottom:6px}
html body:has(.yitm-customer-topbar) main#main-content .yitm-portal-support {display:flex;align-items:flex-start;gap:16px;margin-top:28px}
html body:has(.yitm-customer-topbar) main#main-content .yitm-portal-support>img {flex:0 0 56px;object-fit:contain}
html body:has(.yitm-customer-topbar) main#main-content .yitm-portal-support>div {min-width:0}
html body:has(.yitm-customer-topbar) main#main-content .yitm-portal-support p {max-width:65ch}
html body:has(.yitm-customer-topbar) main#main-content .yitm-portal-support a {color:var(--yitm-blue);text-underline-offset:.2em;min-height:48px}
html body:has(.yitm-customer-topbar) main#main-content .yitm-reply-send-note {font-size:1rem;color:var(--yitm-copy);line-height:1.6;margin:12px 0}
html body:has(.yitm-customer-topbar) main#main-content :is(.yitm-request-message p,.yitm-request-next-copy p) {overflow-wrap:anywhere}
html body:has(.yitm-customer-topbar) main#main-content :is([id],a,button,textarea,input,summary) {scroll-margin-top:110px;scroll-margin-bottom:130px}
@media(max-width:480px) {
 html body:has(.yitm-customer-topbar) main#main-content .yitm-portal-support {gap:12px;padding:18px}
 html body:has(.yitm-customer-topbar) main#main-content .yitm-portal-support>img {width:44px;height:44px;flex-basis:44px}
 html body:has(.yitm-customer-topbar) main#main-content .yitm-portal-support .yitm-customer-actions {display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
}
@media(forced-colors:active) {
 html body main#main-content:is(.qm-intake,.qm-specialist)>.hero::after,
 html body:has(.yitm-customer-topbar) main#main-content>.yitm-customer-heading::after {display:none}
}

@media(max-width:640px) {
 html body main#main-content:is(.qm-intake,.qm-specialist)>.hero::after,
 html body:has(.yitm-customer-topbar) main#main-content>.yitm-customer-heading::after {right:-220px;opacity:.3}
}
