/* SNS X-Ray — page-specific styles (the site stylesheet does the rest) */
[hidden]{display:none !important}
.xr-file{display:grid;gap:7px}
.xr-file input[type=file]{padding:13px 14px;border:1px dashed var(--line);border-radius:12px;background:var(--surface);
  font-family:"IBM Plex Sans",system-ui,sans-serif;font-size:15px;color:var(--ink);cursor:pointer;width:100%}
.xr-file input[type=file]:focus{outline:none;border-color:var(--amber)}
.xr-hint{font-size:13.5px;color:var(--muted);font-weight:300}
.xr-preview{overflow:auto;max-height:240px;border:1px solid var(--line);border-radius:12px;background:var(--surface);
  direction:ltr;text-align:left}
.xr-preview table{border-collapse:collapse;font-family:"IBM Plex Mono",monospace;font-size:12px;width:100%}
.xr-preview th,.xr-preview td{padding:7px 11px;border-bottom:1px solid var(--line-soft);white-space:nowrap;max-width:240px;
  overflow:hidden;text-overflow:ellipsis}
.xr-preview th{background:var(--surface2);font-weight:500;position:sticky;top:0}
.xr-meta{font-family:"IBM Plex Mono",monospace;font-size:11.5px;color:var(--muted);letter-spacing:.04em}
.xr-status{min-height:1.5em;font-size:15px;color:var(--ink2)}
.xr-status.err{color:#B3261E}
.xr-status.ok{color:var(--ok)}
.xr-spin{display:inline-block;width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--amber);
  border-radius:50%;animation:xrs .8s linear infinite;vertical-align:-2px;margin-inline-end:8px}
@keyframes xrs{to{transform:rotate(360deg)}}
.xr-report{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:30px 32px;max-width:78ch}
.xr-report h3{font-size:21px;font-weight:700;margin:26px 0 10px}
.xr-report h3:first-child{margin-top:0}
.xr-report p{color:var(--ink2);font-weight:300;margin:0 0 12px}
.xr-report ul,.xr-report ol{margin:0 0 14px;padding-inline-start:22px;color:var(--ink2);font-weight:300}
.xr-report li{margin:6px 0}
.xr-report b{color:var(--ink);font-weight:600}
.xr-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:20px}
.xr-offers{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:6px}
.xr-offers .card{display:flex;flex-direction:column}
.xr-offers .price{font-family:"Archivo",sans-serif;font-size:30px;font-weight:800;margin:6px 0 10px}
.xr-offers .price small{font-size:14px;font-weight:500;color:var(--muted)}
.xr-offers .btn{margin-top:auto;align-self:flex-start}
.xr-offers .xr-status{margin-top:14px}
.xr-sep{margin-top:44px}
@media (max-width:760px){.xr-offers{grid-template-columns:1fr}.xr-report{padding:22px 20px}}

/* ================= polish pass ================= */
:root{--xr-ease:cubic-bezier(.23,1,.32,1)}

/* browser surfaces, drawn from the palette */
.xr-scope ::selection,#xr-form ::selection,#xr-result ::selection{background:var(--yellow);color:#0E0E0C}
#xr-form input,#xr-form textarea{caret-color:var(--amber)}
#xr-form :focus-visible,.xr-offers .btn:focus-visible,.xr-actions .btn:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.xr-preview{scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.xr-offers .price,.xr-meta,.xr-preview td,.xr-preview th{font-variant-numeric:tabular-nums}
input[aria-invalid="true"]{border-color:#B3261E !important;background:color-mix(in srgb,#B3261E 6%,var(--surface))}

/* drop zone */
.xr-drop{position:relative;display:grid;place-items:center;min-height:116px;padding:22px;border:1.5px dashed var(--line);
  border-radius:14px;background:var(--surface);text-align:center;cursor:pointer;
  transition:border-color 160ms var(--xr-ease),background-color 160ms var(--xr-ease),transform 160ms var(--xr-ease)}
.xr-drop input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0;border:0}
.xr-drop-t{font-size:15.5px;color:var(--ink2);font-weight:300;pointer-events:none;max-width:36ch}
.xr-drop.has-file .xr-drop-t{color:var(--ink);font-weight:500}
.xr-drop.over,.xr-drop:focus-within{border-color:var(--amber);background:var(--surface2)}
.xr-drop.over{transform:scale(1.008)}
@media (hover:hover) and (pointer:fine){.xr-drop:hover{border-color:var(--ink2)}}

/* press feedback — instant, small */
.frm .btn,.xr-offers .btn,.xr-actions .btn{transition:transform 140ms var(--xr-ease),background-color 160ms var(--xr-ease),color 160ms var(--xr-ease),border-color 160ms var(--xr-ease)}
.frm .btn:active,.xr-offers .btn:active,.xr-actions .btn:active{transform:scale(.97)}
.frm .btn:disabled,.xr-offers .btn:disabled{opacity:.55;cursor:default;transform:none}

/* skeleton shown while the analysis runs (matches the report's footprint) */
.xr-skel{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:30px 32px;max-width:78ch;display:grid;gap:14px}
.xr-skel i{display:block;height:14px;border-radius:7px;background:linear-gradient(90deg,var(--surface2) 0%,var(--line-soft) 45%,var(--surface2) 90%);
  background-size:220% 100%;animation:xrsh 1.3s linear infinite}
.xr-skel i:nth-child(1){width:34%;height:20px}
.xr-skel i:nth-child(2){width:92%}.xr-skel i:nth-child(3){width:84%}.xr-skel i:nth-child(4){width:90%}.xr-skel i:nth-child(5){width:58%}
@keyframes xrsh{to{background-position:-220% 0}}

/* one authored moment: the report arrives, then the offers follow */
@keyframes xrin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.xr-in{animation:xrin 320ms var(--xr-ease) both}
.xr-in-2{animation-delay:90ms}.xr-in-3{animation-delay:170ms}

/* offers: the audit leads, the consultation stays quiet */
.xr-offers .card{box-shadow:none}
.xr-offers .xr-lead{background:var(--ink);border-color:var(--ink);color:var(--onink)}
.xr-offers .xr-lead h3,.xr-offers .xr-lead .price{color:var(--onink)}
.xr-offers .xr-lead p,.xr-offers .xr-lead .price small,.xr-offers .xr-lead .xr-status{color:color-mix(in srgb,var(--onink) 78%,transparent)}
.xr-offers .xr-lead .xr-status.ok{color:var(--yellow)}
.xr-offers .xr-lead .xr-status.err{color:#FFB4AB}
.xr-offers .xr-lead .btn-y:hover{background:transparent;color:var(--onink);border-color:var(--onink)}
.xr-status.err{display:flex;gap:8px;align-items:baseline}

@media (prefers-reduced-motion:reduce){
  .xr-in{animation:none}.xr-skel i{animation:none}
  .xr-drop,.xr-drop.over{transition:none;transform:none}
  .frm .btn:active,.xr-offers .btn:active,.xr-actions .btn:active{transform:none}
}
.xr-offers .card p{margin-bottom:24px}
.xr-offers .price{line-height:1.1}

/* ================= v8: stepped form ================= */
.xr-wiz fieldset{border:0;margin:0;padding:0;min-width:0;display:grid;gap:18px}
.xr-wiz legend{font-family:"Archivo",sans-serif;font-size:26px;font-weight:700;letter-spacing:-.01em;margin:0 0 6px;padding:0;float:left;width:100%}
.xr-wiz legend+*{clear:both}
.xr-wiz select{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);
  font:inherit;font-size:15px;color:var(--ink);appearance:auto}
.xr-wiz select:focus{outline:none;border-color:var(--amber)}
.xr-wiz select[aria-invalid="true"]{border-color:#B3261E;background:color-mix(in srgb,#B3261E 6%,var(--surface))}
.xr-wiz .xr-ltr{direction:ltr;text-align:start}
[dir=rtl] .xr-wiz .xr-ltr{text-align:right}
.xr-nav{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}
.xr-steps{list-style:none;margin:0 0 26px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.xr-steps li{display:flex;align-items:center;gap:10px;padding-top:12px;border-top:2px solid var(--line);
  color:var(--muted);font-size:13.5px;transition:border-color 200ms var(--xr-ease),color 200ms var(--xr-ease)}
.xr-steps b{font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:12px;width:22px;height:22px;display:grid;place-items:center;
  border:1px solid var(--line);border-radius:50%;flex:none}
.xr-steps li.on{border-top-color:var(--amber);color:var(--ink)}
.xr-steps li.on b{background:var(--ink);color:var(--onink);border-color:var(--ink)}
.xr-steps li.past{border-top-color:var(--ink2);color:var(--ink2)}
@media (max-width:520px){.xr-steps span{display:none}.xr-steps li.on span{display:inline}}
@keyframes xrstep{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.xr-step:not([hidden]){animation:xrstep 260ms var(--xr-ease) both}
.xr-step[hidden]{display:none}

/* coverage: what was read, what was not */
.xr-cov{margin-top:18px;max-width:78ch;border:1px solid var(--line);border-radius:14px;padding:18px 22px;background:var(--surface)}
.xr-cov h4{font-family:"IBM Plex Mono",monospace;font-size:11.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.xr-cov ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.xr-cov li{position:relative;padding-inline-start:22px;font-size:14.5px;color:var(--ink2);font-weight:300}
.xr-cov li::before{content:"";position:absolute;inset-inline-start:0;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--ok)}
.xr-cov li.no::before{background:transparent;border:1.5px solid var(--amber)}
@media (prefers-reduced-motion:reduce){.xr-step:not([hidden]){animation:none}.xr-steps li{transition:none}}
.xr-wiz{scroll-margin-top:96px}

/* ================= v10: label layout + stale-cache safe ================= */
.xr-wiz label{display:block}
.xr-wiz label .opt{display:inline;margin-inline-start:8px}
.xr-wiz label>input,.xr-wiz label>select{display:block;width:100%;margin-top:8px}
.xr-wiz .row label>input{margin-top:8px}

/* picked files */
.xr-files{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.xr-files li{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 14px;border:1px solid var(--line);
  border-radius:12px;background:var(--surface)}
[dir=rtl] .xr-files li{padding:10px 14px 10px 12px}
.xr-fn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;color:var(--ink);text-align:start}
.xr-fs{flex:none;font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.xr-rm{flex:none;width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:var(--ink2);font-size:20px;line-height:1;
  cursor:pointer;transition:background-color 160ms var(--xr-ease),color 160ms var(--xr-ease)}
.xr-rm:hover{background:var(--surface2);color:var(--ink)}
.xr-rm:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
