/* Mon statut fiscal à Genève — styles du widget, tous préfixés par #archimi-statut (charte du site :
   bleu nuit #182842, bouton #294FA6 arrondi 3 px, accent or #C4B583, Montserrat). Repris de l'aperçu privé. */
#archimi-statut {
  --as-surface: #ffffff; --as-ink: #1f2733; --as-title: #182842; --as-muted: #5b6474; --as-line: #dcdfe5;
  --as-accent: #294fa6; --as-accent-ink: #ffffff; --as-accent-soft: #eaeef8;
  --as-gold: #c4b583; --as-analyse: #6b5a24; --as-analyse-soft: #f6f1e3; --as-danger: #b42318; --as-ok: #1d6b3a; --as-ok-soft: #e7f3eb;
  --as-font: "Montserrat", "Segoe UI", system-ui, sans-serif;
  color: var(--as-ink); font: 15.5px/1.6 var(--as-font); max-width: 760px; margin: 0 auto; text-align: left; color-scheme: light;
}
#archimi-statut *, #archimi-statut *::before, #archimi-statut *::after { box-sizing: border-box }
#archimi-statut .as-wrap { display: grid; gap: 16px }
#archimi-statut .as-card { background: var(--as-surface); border: 1px solid var(--as-line); border-radius: 4px; padding: clamp(18px, 4vw, 32px); display: grid; gap: 24px }
#archimi-statut .as-progress { display: grid; gap: 8px }
#archimi-statut .as-meta { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; color: var(--as-muted); text-transform: uppercase; letter-spacing: .06em }
#archimi-statut .as-bar { height: 4px; background: var(--as-line); border-radius: 4px; overflow: hidden }
#archimi-statut .as-bar i { display: block; height: 100%; background: var(--as-gold); transition: width .25s }
#archimi-statut h2 { font: 700 21px/1.25 var(--as-font); color: var(--as-title); margin: 0; text-transform: none; letter-spacing: 0 }
#archimi-statut h3 { margin: 0 }
#archimi-statut p { margin: 0 }
#archimi-statut .as-intro { color: var(--as-muted); max-width: 62ch }
#archimi-statut .as-form { display: grid; gap: 24px }
#archimi-statut fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: 10px; min-width: 0 }
#archimi-statut legend, #archimi-statut .as-flabel { font-weight: 500; padding: 0; margin: 0 0 4px; font-size: 15.5px; color: var(--as-ink) }
#archimi-statut .as-hint { font-size: 14px; color: var(--as-muted); margin-top: -4px }
#archimi-statut .as-help { font-size: 14px; color: var(--as-muted); background: var(--as-accent-soft); border-radius: 8px; padding: 10px 12px }
#archimi-statut .as-after { font-size: 14px; font-weight: 500; color: var(--as-analyse); background: var(--as-analyse-soft); border-radius: 8px; padding: 10px 12px }
#archimi-statut .as-opts { display: grid; gap: 8px }
#archimi-statut .as-opt { display: flex; gap: 12px; align-items: flex-start; border: 1px solid var(--as-line); border-radius: 8px; padding: 11px 14px; cursor: pointer; background: var(--as-surface); margin: 0; font-weight: 400 }
#archimi-statut .as-opt:hover { border-color: var(--as-accent) }
#archimi-statut .as-opt input { margin: 4px 0 0; accent-color: var(--as-accent); flex: none; width: auto; height: auto }
#archimi-statut .as-opt:has(input:checked) { border-color: var(--as-accent); background: var(--as-accent-soft) }
#archimi-statut .as-opt:has(input:focus-visible) { outline: 2px solid var(--as-accent); outline-offset: 2px }
#archimi-statut input[type=text], #archimi-statut input[type=email], #archimi-statut input[type=tel], #archimi-statut select, #archimi-statut textarea {
  width: 100%; font: 16px var(--as-font); color: var(--as-ink); background: var(--as-surface); border: 1px solid var(--as-line); border-radius: 8px; padding: 11px 12px; box-shadow: none; height: auto; margin: 0 }
#archimi-statut input:focus-visible, #archimi-statut select:focus-visible, #archimi-statut textarea:focus-visible, #archimi-statut button:focus-visible, #archimi-statut a:focus-visible { outline: 2px solid var(--as-accent); outline-offset: 2px }
#archimi-statut textarea { min-height: 110px; resize: vertical }
#archimi-statut .as-q { display: grid; gap: 10px }
#archimi-statut .as-err { color: var(--as-danger); font-size: 14px; font-weight: 500 }
#archimi-statut .as-err[hidden] { display: none }
#archimi-statut .as-q.as-invalid .as-opt, #archimi-statut .as-q.as-invalid input, #archimi-statut .as-q.as-invalid select { border-color: var(--as-danger) }
#archimi-statut .as-nav, #archimi-statut .as-cta { display: flex; gap: 12px; justify-content: space-between; flex-wrap: wrap; align-items: center }
#archimi-statut .as-cta { justify-content: flex-start }
#archimi-statut .as-btn { font: 500 15px/1.3 var(--as-font); border-radius: 3px; padding: 12px 20px; cursor: pointer; border: 1px solid var(--as-accent); text-decoration: none; display: inline-flex; align-items: center; text-transform: none; letter-spacing: 0; box-shadow: none; margin: 0 }
#archimi-statut .as-primary, #archimi-statut .as-primary:hover, #archimi-statut .as-primary:focus { background: var(--as-accent); color: var(--as-accent-ink) }
#archimi-statut .as-ghost, #archimi-statut .as-ghost:hover, #archimi-statut .as-ghost:focus { background: transparent; color: var(--as-accent) }
#archimi-statut .as-btn[hidden] { display: none }
#archimi-statut .as-note { font-size: 13px; color: var(--as-muted) }
#archimi-statut .as-note a { color: var(--as-accent); text-decoration: underline }
#archimi-statut .as-piege { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden }
#archimi-statut .as-res { display: grid; gap: 22px }
#archimi-statut .as-res section { display: grid; gap: 10px }
#archimi-statut .as-res ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px }
#archimi-statut .as-res li { margin: 0 }
#archimi-statut .as-phrase { padding: 12px 14px; border-radius: 8px; border: 1px solid var(--as-line) }
#archimi-statut .as-phrase a { color: var(--as-accent); text-decoration: underline }
#archimi-statut .as-an { background: var(--as-analyse-soft); border-color: var(--as-gold) }
#archimi-statut .as-disclaimer { font-size: 14px; color: var(--as-muted); border-left: 3px solid var(--as-line); padding-left: 12px }
#archimi-statut .as-theme { font: 700 13px/1.4 var(--as-font); text-transform: uppercase; letter-spacing: .06em; color: var(--as-title); margin: 6px 0 0 }
#archimi-statut .as-doc { display: flex; gap: 10px; align-items: flex-start }
#archimi-statut .as-doc input { margin: 5px 0 0; accent-color: var(--as-accent); flex: none }
#archimi-statut .as-doc label { margin: 0; font-weight: 400 }
#archimi-statut .as-statut { padding: 12px 14px; border-radius: 8px; background: var(--as-accent-soft); font-weight: 500 }
#archimi-statut .as-statut.as-ok { background: var(--as-ok-soft); color: var(--as-ok) }
#archimi-statut .as-statut.as-ko { background: #fdecea; color: var(--as-danger); margin-bottom: 10px }
#archimi-statut .as-envoi:empty { display: none }
@media (prefers-reduced-motion: reduce) { #archimi-statut .as-bar i { transition: none } }
@media print {
  body * { visibility: hidden }
  #archimi-statut, #archimi-statut * { visibility: visible }
  #archimi-statut { position: absolute; left: 0; top: 0; width: 100%; max-width: none }
  #archimi-statut .as-cta, #archimi-statut .as-envoi, #archimi-statut .as-foot { display: none }
  #archimi-statut .as-card { border: 0; padding: 0 }
}
