/* ==========================================================================
   Aadhaar Guide design system — g.indiacustomercare.com/adhaar/
   Everything is scoped under .aa so it cannot clash with the site template.
   Layout concept: one calm reading column (~68ch) with full-bleed "instrument"
   panels (phone walkthrough, decision tree, tables) that break wider on desktop.
   Actor colours are fixed site-wide: You = blue, UIDAI = green, OTP/Bank = amber.
   ========================================================================== */
.aa{
  --aa-bg:#ffffff; --aa-panel:#f4f6f8; --aa-ink:#17202b; --aa-muted:#566170; --aa-line:#dde2e8;
  --aa-you:#1f56c2; --aa-you-soft:#e7eefc;          /* accent = "You" */
  --aa-uidai:#1d7a52; --aa-uidai-soft:#e3f3ea;      /* done / free / official */
  --aa-otp:#b26a00; --aa-otp-soft:#fdf1dc;          /* OTP / pending / charge */
  --aa-warn:#b42318; --aa-warn-soft:#fdeceb;        /* action needed / scam */
  --aa-focus:#ffdd00;
  --aa-f-display:"Noto Serif","Noto Serif Devanagari",Georgia,serif;
  --aa-f-body:"Noto Sans","Noto Sans Devanagari",system-ui,-apple-system,"Segoe UI",sans-serif;
  --aa-f-mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --aa-measure:68ch; --aa-r:10px;
  color:var(--aa-ink); background:var(--aa-bg);
  font:17px/1.65 var(--aa-f-body);
  -webkit-text-size-adjust:100%;
  container-type:inline-size;
}
.aa:lang(hi), .aa [lang="hi"]{ line-height:1.8; font-size:18px }
.aa *, .aa *::before, .aa *::after{ box-sizing:border-box }
.aa :focus-visible{ outline:3px solid var(--aa-ink); outline-offset:2px; box-shadow:0 0 0 6px var(--aa-focus) }
.aa a{ color:var(--aa-you); text-underline-offset:3px }
.aa img{ max-width:100%; height:auto }

/* ---------- reading column ---------- */
.aa-wrap{ max-width:calc(var(--aa-measure) + 32px); margin:0 auto; padding-inline:16px; padding-block:8px 48px; display:grid; grid-template-columns:minmax(0,1fr); gap:22px }
.aa section, .aa aside, .aa-tree{ min-width:0 }
.aa-wide{ --aa-wide:min(1040px, 100cqw - 32px); width:var(--aa-wide); max-width:none; justify-self:start; margin-inline:calc((100% - var(--aa-wide)) / 2) }
@media (max-width:700px){ .aa-wide{ --aa-wide:100%; margin-inline:0 } }
.aa-wide > :not(.aa-walk){ width:100%; max-width:var(--aa-measure); justify-self:center }
.aa-nw{ white-space:nowrap }
.aa h1,.aa h2,.aa h3{ text-wrap:balance; line-height:1.25; margin:0 }
.aa h1{ font:700 clamp(1.75rem, 4.6vw, 2.5rem)/1.18 var(--aa-f-display); letter-spacing:-.01em }
.aa h2{ font:700 clamp(1.3rem, 3vw, 1.6rem)/1.25 var(--aa-f-display); margin-top:18px; scroll-margin-top:80px }
.aa h3{ font-size:1.12rem; font-weight:700; scroll-margin-top:80px }
.aa p{ margin:0 }
.aa section{ display:grid; grid-template-columns:minmax(0,1fr); gap:14px }
.aa ul,.aa ol{ margin:0; padding-left:1.3em; display:grid; gap:6px }

/* ---------- top matter ---------- */
.aa-crumbs{ font-size:.85rem; color:var(--aa-muted); display:flex; flex-wrap:wrap; gap:6px }
.aa-crumbs a{ color:var(--aa-muted) }
.aa-indep{ font-size:.82rem; color:var(--aa-muted); border:1px dashed var(--aa-line); border-radius:8px; padding:6px 10px }
.aa-byline{ font-size:.88rem; color:var(--aa-muted); display:flex; flex-wrap:wrap; gap:4px 14px }
.aa-byline b{ color:var(--aa-ink); font-weight:600 }
.aa-pending{ background:var(--aa-otp-soft); color:var(--aa-ink); padding:1px 8px; border-radius:999px }
.aa-answer{ font-size:1.12rem; line-height:1.6; border-left:4px solid var(--aa-you); padding:4px 0 4px 16px }
.aa-takeaways{ background:var(--aa-panel); border-radius:var(--aa-r); padding:16px 18px 16px 20px }
.aa-takeaways h2{ font:700 .8rem/1 var(--aa-f-body); text-transform:uppercase; letter-spacing:.08em; color:var(--aa-muted); margin:0 0 10px }
.aa-facts{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:1px; background:var(--aa-line); border:1px solid var(--aa-line); border-radius:var(--aa-r); overflow:hidden }
.aa-facts div{ background:var(--aa-bg); padding:10px 14px; display:grid; gap:2px }
.aa-facts dt{ font-size:.75rem; text-transform:uppercase; letter-spacing:.07em; color:var(--aa-muted) }
.aa-facts dd{ margin:0; font-weight:700; font-variant-numeric:tabular-nums }
.aa-toc{ border:1px solid var(--aa-line); border-radius:var(--aa-r); padding:6px 14px }
.aa-toc summary{ cursor:pointer; font-weight:600; padding:6px 0; min-height:44px; display:flex; align-items:center }
.aa-toc ol{ padding:4px 0 10px 1.2em; font-size:.95rem }

/* ---------- channel cards ---------- */
.aa-channels{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px }
.aa-channel{ border:1px solid var(--aa-line); border-radius:var(--aa-r); padding:14px 16px; display:grid; gap:8px; align-content:start }
.aa-channel h3{ font-size:1.02rem }
.aa-channel .aa-meta{ font-size:.85rem; color:var(--aa-muted) }
.aa-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:8px 16px; border-radius:8px;
  background:var(--aa-you); color:#fff !important; text-decoration:none; font-weight:600; border:0; cursor:pointer; font-size:.95rem; justify-self:start }
.aa-btn.aa-ghost{ background:transparent; color:var(--aa-you) !important; border:1.5px solid var(--aa-you) }
.aa-domain{ font-family:var(--aa-f-mono); font-size:.82rem; color:var(--aa-muted); word-break:break-all }

/* ---------- callouts (first word names the type) ---------- */
.aa-call{ border-radius:var(--aa-r); padding:12px 16px; display:grid; gap:6px; border:1px solid transparent }
.aa-call > strong:first-child{ font-size:.8rem; text-transform:uppercase; letter-spacing:.07em }
.aa-tip{ background:var(--aa-you-soft) } .aa-tip > strong:first-child{ color:var(--aa-you) }
.aa-important{ background:var(--aa-otp-soft) } .aa-important > strong:first-child{ color:var(--aa-otp) }
.aa-warning{ background:var(--aa-warn-soft) } .aa-warning > strong:first-child{ color:var(--aa-warn) }
.aa-counter{ background:var(--aa-bg); border:1.5px solid var(--aa-ink) } .aa-counter > strong:first-child{ color:var(--aa-ink) }
.aa-todo{ outline:2px dashed var(--aa-otp); outline-offset:3px }
.aa-nri{ background:var(--aa-panel); border-left:4px solid var(--aa-uidai) } .aa-nri > strong:first-child{ color:var(--aa-uidai) }
html.aa-abroad .aa .aa-nri{ outline:2px solid var(--aa-uidai); background:var(--aa-uidai-soft) }
.aa-nri-summary{ display:none } html.aa-abroad .aa .aa-nri-summary{ display:grid }
.aa-ad-foreign{ display:none } html.aa-abroad .aa .aa-ad-foreign{ display:block; min-height:250px }

/* ---------- checklist ---------- */
.aa-check{ list-style:none; padding:0 }
.aa-check li{ display:grid; grid-template-columns:22px 1fr; gap:10px; align-items:start }
.aa-check li::before{ content:""; width:18px; height:18px; margin-top:4px; border:2px solid var(--aa-muted); border-radius:4px }

/* ---------- steps (process list) ---------- */
.aa-steps{ list-style:none; padding:0; counter-reset:aa-step; display:grid; gap:18px }
.aa-steps > li{ counter-increment:aa-step; display:grid; grid-template-columns:40px minmax(0,1fr); gap:4px 14px }
.aa-steps > li::before{ content:counter(aa-step); width:36px; height:36px; border-radius:50%; background:var(--aa-you); color:#fff; font-weight:700;
  display:grid; place-items:center; grid-row:span 3 }
.aa-steps h3{ align-self:center }
.aa-ok{ font-size:.92rem; color:var(--aa-uidai) } .aa-ok::before{ content:"✔ "; font-weight:700 }
.aa-fail{ font-size:.92rem; color:var(--aa-muted) } .aa-fail b{ color:var(--aa-warn) }

/* ---------- phone walkthrough (the animated "photo" of each step) ---------- */
.aa-walk{ background:var(--aa-panel); border-radius:14px; padding:18px; display:grid; grid-template-columns:minmax(0,280px) minmax(0,1fr); gap:24px; align-items:center }
@media (max-width:700px){ .aa-walk{ grid-template-columns:minmax(0,1fr); justify-items:center } }
.aa-phone{ width:100%; max-width:260px; aspect-ratio:9/15.5; background:#10151c; border-radius:30px; padding:10px; box-shadow:0 10px 30px rgba(16,21,28,.18) }
.aa-screen{ position:relative; width:100%; height:100%; background:#fff; color:#17202b; border-radius:22px; overflow:hidden; font:13px/1.4 var(--aa-f-body) }
.aa-urlbar{ display:flex; align-items:center; gap:6px; padding:8px 10px; background:#eef1f4; font:11px/1.2 var(--aa-f-mono); color:#3a4552; border-bottom:1px solid #dde2e8 }
.aa-urlbar::before{ content:""; width:9px; height:10px; border:2px solid #3a4552; border-radius:2px; flex:none }
.aa-frame{ position:absolute; inset:34px 0 0 0; padding:14px 12px; display:grid; gap:10px; align-content:start;
  opacity:0; transform:translateX(18px); transition:opacity .35s ease, transform .35s ease; pointer-events:none }
.aa-frame.is-on{ opacity:1; transform:none }
.aa-frame .t{ font-weight:700; font-size:14px }
.aa-frame .s{ color:#566170; font-size:11.5px }
.aa-ui-btn{ background:#1f56c2; color:#fff; border-radius:7px; padding:9px 10px; text-align:center; font-weight:600; position:relative }
.aa-ui-btn.alt .aa-tap{ border-color:#1f56c2; background:rgba(31,86,194,.2) }
.aa-ui-btn.alt{ background:#fff; color:#1f56c2; border:1.5px solid #1f56c2 }
.aa-ui-field{ border:1.5px solid #c9d1db; border-radius:7px; padding:8px 9px; font-family:var(--aa-f-mono); font-size:12px; min-height:34px; white-space:nowrap; overflow:hidden }
.aa-ui-field.otp{ border-color:#b26a00; background:#fdf1dc; letter-spacing:.3em }
.aa-ui-radio{ display:flex; gap:6px; flex-wrap:wrap; font-size:11.5px }
.aa-ui-radio span{ border:1.5px solid #c9d1db; border-radius:999px; padding:3px 8px }
.aa-ui-radio span.on{ border-color:#1f56c2; background:#e7eefc; color:#1f56c2; font-weight:600 }
.aa-ui-captcha{ display:flex; gap:8px; align-items:center }
.aa-ui-captcha i{ font-style:normal; font:700 15px var(--aa-f-mono); letter-spacing:.18em; background:repeating-linear-gradient(45deg,#eef1f4 0 6px,#e1e6ec 6px 12px); padding:5px 8px; border-radius:5px; text-decoration:line-through wavy #9aa5b1 }
.aa-ui-sms{ background:#fdf1dc; border:1px solid #f0d6a8; border-radius:10px; padding:8px 10px; font-size:11.5px }
.aa-ui-sms b{ color:#b26a00 }
.aa-ui-done{ display:grid; justify-items:center; gap:8px; padding-top:12px; text-align:center }
.aa-ui-pdf{ width:56px; height:70px; border-radius:6px; background:#fff; border:2px solid #1d7a52; display:grid; place-items:center; font:700 12px var(--aa-f-mono); color:#1d7a52 }
.aa-ui-check{ width:18px;height:18px;border:2px solid #1f56c2;border-radius:4px;display:inline-grid;place-items:center;font-size:12px;color:#1f56c2;vertical-align:-3px;margin-right:6px }
.aa-ui-person{ width:64px; height:64px; border-radius:50%; background:#e7eefc; border:3px solid #1f56c2; justify-self:center; position:relative }
.aa-ui-person::after{ content:""; position:absolute; inset:-10px; border-radius:50%; border:2px dashed #1d7a52; animation:aa-spin 6s linear infinite }
.aa-ui-finger{ width:58px; height:74px; border-radius:30px 30px 14px 14px; border:3px solid #1f56c2; justify-self:center;
  background:repeating-radial-gradient(circle at 50% 70%, transparent 0 4px, #c7d6f5 4px 6px) }
.aa-ui-counter{ display:grid; grid-template-columns:auto 1fr; gap:6px 8px; align-items:center; font-size:11.5px }
.aa-ui-counter span{ width:24px; height:24px; border-radius:50%; display:grid; place-items:center; color:#fff; font-weight:700; font-size:11px }
/* the tap that "presses" the highlighted control */
.aa-tap{ position:absolute; width:22px; height:22px; border-radius:50%; background:rgba(255,255,255,.35); border:2px solid #fff; right:8px; top:calc(50% - 11px);
  transform:scale(.4); opacity:0 }
.aa-frame.is-on .aa-tap{ animation:aa-tap 1.6s .6s ease-out infinite }
.aa-type{ display:inline-block; overflow:hidden; white-space:nowrap; vertical-align:bottom; border-right:2px solid #1f56c2; max-width:0 }
.aa-frame.is-on .aa-type{ animation:aa-type 1.4s .3s steps(14,end) forwards, aa-caret .8s step-end infinite }
@keyframes aa-tap{ 0%{opacity:0;transform:scale(.4)} 30%{opacity:1;transform:scale(1)} 70%{opacity:.7;transform:scale(1.6)} 100%{opacity:0;transform:scale(1.9)} }
@keyframes aa-type{ to{ max-width:14ch } }
@keyframes aa-caret{ 50%{ border-color:transparent } }
@keyframes aa-spin{ to{ transform:rotate(360deg) } }
.aa-illus{ position:absolute; left:8px; bottom:6px; font-size:9px; color:#8a94a1 }

/* walkthrough side panel: step text + controls */
.aa-walk-text{ display:grid; gap:12px; align-content:center; min-width:0; width:100% }
.aa-walk-count{ font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; color:var(--aa-muted) }
.aa-walk-text h3{ font-size:1.2rem }
.aa-walk-ctrl{ display:flex; flex-wrap:wrap; gap:8px; align-items:center }
.aa-walk-ctrl button{ min-width:44px; min-height:44px; border-radius:8px; border:1.5px solid var(--aa-line); background:var(--aa-bg); color:var(--aa-ink); font:600 .9rem var(--aa-f-body); padding:0 12px; cursor:pointer }
.aa-walk-ctrl button[aria-pressed="true"]{ border-color:var(--aa-you); color:var(--aa-you) }
.aa-dots{ display:flex; gap:6px; flex-wrap:wrap }
.aa-dots button{ width:28px; min-width:28px; height:28px; min-height:28px; padding:0; border-radius:50%; font-size:.75rem }
.aa-dots button[aria-current="step"]{ background:var(--aa-you); border-color:var(--aa-you); color:#fff }
.aa-legend{ display:flex; flex-wrap:wrap; gap:6px 14px; font-size:.8rem; color:var(--aa-muted) }
.aa-legend i{ display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:5px; vertical-align:0 }
/* text fallback list sits under each walkthrough; hidden visually only when JS is running */
.aa-walk-list{ font-size:.95rem }
.aa-js .aa-walk-list{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap }
.aa:not(.aa-js) .aa-frame{ position:static; opacity:1; transform:none; border-top:1px solid #dde2e8 }
.aa:not(.aa-js) .aa-phone{ aspect-ratio:auto } .aa:not(.aa-js) .aa-screen{ height:auto } .aa:not(.aa-js) .aa-walk-ctrl{ display:none }

/* ---------- decision tree ---------- */
.aa-tree{ border:1px solid var(--aa-line); border-radius:14px; padding:18px; display:grid; gap:14px }
.aa-tree .aa-q{ font-weight:700; font-size:1.05rem }
.aa-tree .aa-opts{ display:flex; flex-wrap:wrap; gap:8px }
.aa-tree .aa-opts button{ min-height:44px; padding:8px 16px; border-radius:999px; border:1.5px solid var(--aa-you); background:var(--aa-bg); color:var(--aa-you); font:600 .95rem var(--aa-f-body); cursor:pointer }
.aa-tree .aa-result{ border-radius:var(--aa-r); padding:14px 16px; background:var(--aa-uidai-soft); display:grid; gap:6px }
.aa-tree .aa-trail{ font-size:.82rem; color:var(--aa-muted) }
.aa-tree-static{ font-size:.95rem }
.aa-js .aa-tree-static{ display:none }

/* ---------- tables ---------- */
.aa-table-wrap{ overflow-x:auto; border:1px solid var(--aa-line); border-radius:var(--aa-r) }
.aa table{ border-collapse:collapse; width:100%; font-size:.95rem; min-width:520px }
.aa th,.aa td{ text-align:left; padding:10px 12px; border-bottom:1px solid var(--aa-line); vertical-align:top }
.aa thead th{ background:var(--aa-panel); font-size:.82rem; text-transform:uppercase; letter-spacing:.05em; color:var(--aa-muted) }
.aa tbody tr:last-child td{ border-bottom:0 }
.aa td.num{ font-variant-numeric:tabular-nums; font-weight:700; white-space:nowrap }
.aa .free{ color:var(--aa-uidai); font-weight:700 }
.aa .fee{ color:var(--aa-otp); font-weight:700 }

/* ---------- timeline ---------- */
.aa-timeline{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-radius:var(--aa-r); overflow:hidden; border:1px solid var(--aa-line) }
.aa-timeline > div{ padding:12px 14px; display:grid; gap:2px; background:var(--aa-bg); border-right:1px solid var(--aa-line) }
.aa-timeline > div:last-child{ border-right:0 }
.aa-timeline b{ font-variant-numeric:tabular-nums }
.aa-timeline small{ color:var(--aa-muted) }
@media (max-width:560px){ .aa-timeline{ grid-template-columns:1fr } .aa-timeline > div{ border-right:0; border-bottom:1px solid var(--aa-line) } }

/* ---------- mini tool: PDF password ---------- */
.aa-tool{ border:1.5px solid var(--aa-you); border-radius:14px; padding:16px 18px; display:grid; gap:12px }
.aa-tool label{ display:grid; gap:4px; font-weight:600; font-size:.92rem }
.aa-tool input{ min-height:44px; border:1.5px solid var(--aa-line); border-radius:8px; padding:8px 12px; font:inherit; color:var(--aa-ink); background:var(--aa-bg) }
.aa-tool .aa-row{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px }
.aa-pw{ font:700 1.4rem var(--aa-f-mono); letter-spacing:.06em; background:var(--aa-panel); border-radius:8px; padding:10px 14px; min-height:52px; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap }
.aa-tool .aa-note{ font-size:.82rem; color:var(--aa-muted) }

/* ---------- FAQ ---------- */
.aa-faq details{ border-bottom:1px solid var(--aa-line); padding:4px 0 }
.aa-faq summary{ cursor:pointer; font-weight:600; min-height:44px; display:flex; align-items:center; gap:10px; list-style:none }
.aa-faq summary::-webkit-details-marker{ display:none }
.aa-faq summary::before{ content:"+"; font:700 1.2rem var(--aa-f-mono); color:var(--aa-you); width:18px; flex:none }
.aa-faq details[open] summary::before{ content:"–" }
.aa-faq details > p{ padding:0 0 12px 28px }

/* ---------- bottom matter ---------- */
.aa-sources{ font-size:.88rem }
.aa-sources ol{ gap:4px }
.aa-feedback{ background:var(--aa-panel); border-radius:var(--aa-r); padding:14px 16px; display:flex; flex-wrap:wrap; gap:10px; align-items:center }
.aa-feedback button{ min-height:44px; min-width:64px; border-radius:8px; border:1.5px solid var(--aa-line); background:var(--aa-bg); color:var(--aa-ink); font:600 .95rem var(--aa-f-body); cursor:pointer }
.aa-help{ border-top:3px solid var(--aa-ink); padding-top:14px; display:grid; gap:6px; font-size:.95rem }
.aa-help .aa-num{ font:700 1.6rem var(--aa-f-mono) }

@media (prefers-reduced-motion:reduce){
  .aa *{ animation:none !important; transition:none !important }
  .aa .aa-type{ max-width:none; border-right:0 }
}
@media print{ .aa-walk-ctrl,.aa-feedback,.aa-ad-foreign,.aa-tree .aa-opts{ display:none } .aa-js .aa-walk-list{ position:static; width:auto; height:auto; clip:auto; white-space:normal } }

/* ---------- related guides (generated by interlink.py from linkmap) ---------- */
.aa-related{ border-top:3px solid var(--aa-you); padding-top:16px; display:grid; gap:14px }
.aa-rel-groups{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px }
.aa-rel-group{ display:grid; gap:8px; align-content:start; min-width:0 }
.aa-rel-group h3{ font:700 .78rem/1.2 var(--aa-f-body); text-transform:uppercase; letter-spacing:.08em; color:var(--aa-muted) }
.aa-rel-group ul{ list-style:none; padding:0; margin:0; display:grid; gap:8px }
.aa-rel-card{ display:grid; gap:2px; min-height:44px; padding:10px 12px; border:1px solid var(--aa-line); border-radius:var(--aa-r);
  text-decoration:none; color:var(--aa-ink); background:var(--aa-bg); transition:border-color .15s, background .15s }
a.aa-rel-card:hover{ border-color:var(--aa-you); background:var(--aa-you-soft) }
.aa-rel-cl{ font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color:var(--aa-muted) }
.aa-rel-t{ font-weight:600; line-height:1.35 }
a.aa-rel-card .aa-rel-t{ color:var(--aa-you) }
a.aa-rel-card .aa-rel-t::after{ content:" →" }
.aa-rel-card.is-soon{ border-style:dashed; color:var(--aa-muted) }
.aa-rel-soon{ font-size:.75rem; color:var(--aa-otp); font-weight:600 }

/* ---------- all-guides sidebar (after the article in the HTML; moved left on wide screens) ---------- */
.aa-side{ padding-inline:16px; padding-block:8px 32px; max-width:calc(var(--aa-measure) + 32px); margin:0 auto; width:100%; display:grid; gap:2px; align-content:start }
.aa-side-h{ font:700 .8rem/1.2 var(--aa-f-body); text-transform:uppercase; letter-spacing:.08em; color:var(--aa-muted); padding:10px 0 8px; border-top:3px solid var(--aa-ink) }
.aa-side details{ border-bottom:1px solid var(--aa-line) }
.aa-side summary{ cursor:pointer; min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:8px; font-weight:700; font-size:.95rem; list-style:none }
.aa-side summary::-webkit-details-marker{ display:none }
.aa-side summary::after{ content:"+"; font:700 1.1rem var(--aa-f-mono); color:var(--aa-you); margin-left:auto }
.aa-side details[open] summary::after{ content:"–" }
.aa-side summary small{ font-weight:600; color:var(--aa-muted); font-variant-numeric:tabular-nums; background:var(--aa-panel); border-radius:999px; padding:0 8px }
.aa-side ul{ list-style:none; padding:0 0 10px; margin:0; display:grid; gap:1px }
.aa-side li a, .aa-side-soon{ display:block; padding:7px 10px; border-radius:6px; font-size:.92rem; line-height:1.35; text-decoration:none; color:var(--aa-ink) }
.aa-side li a:hover{ background:var(--aa-you-soft); color:var(--aa-you) }
.aa-side li a[aria-current="page"]{ background:var(--aa-you); color:#fff; font-weight:600 }
.aa-side-soon{ color:var(--aa-muted) } .aa-side-soon small{ color:var(--aa-otp); font-weight:600 }
/* Top row: language switch + "All guides" jump (16 Oct 2026 fix: the two links ran together on phones) */
.aa-topnav{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin:6px 0 14px }
.aa-lang, .aa-alljump{ display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:0 14px; border:1px solid var(--aa-line); border-radius:999px;
  background:var(--aa-bg); color:var(--aa-you); font-size:.88rem; font-weight:600; line-height:1.2; text-decoration:none }
.aa-lang:hover, .aa-alljump:hover{ background:var(--aa-you-soft) }
.aa-lang > span[aria-hidden]{ font-weight:700; color:var(--aa-muted) }
.aa-alljump{ justify-self:start }
@media (min-width:1100px){
  .aa:has(> .aa-side){ display:grid; grid-template-columns:280px minmax(0,1fr); column-gap:8px; align-items:start; max-width:1280px; margin:0 auto }
  .aa:has(> .aa-side) > .aa-wrap{ grid-column:2; grid-row:1; max-width:860px; margin:0 }
  .aa:has(> .aa-side) > .aa-side{ grid-column:1; grid-row:1; position:sticky; top:env(safe-area-inset-top,0px); max-height:100vh; overflow:auto; padding-block:16px; margin:0 }
  .aa:has(> .aa-side) .aa-wide{ --aa-wide:100%; margin-inline:0 }
  .aa:has(> .aa-side) .aa-wide > :not(.aa-walk){ max-width:none }
  .aa:has(> .aa-side) .aa-alljump{ display:none }
}

/* ---------- previous / next ---------- */
.aa-prevnext{ display:grid; grid-template-columns:1fr 1fr; gap:12px }
.aa-pn{ display:grid; gap:2px; min-height:56px; padding:12px 14px; border:1.5px solid var(--aa-line); border-radius:var(--aa-r); text-decoration:none; color:var(--aa-ink) }
.aa-pn:hover{ border-color:var(--aa-you); background:var(--aa-you-soft) }
.aa-pn small{ font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(--aa-muted); font-weight:600 }
.aa-pn span{ font-weight:700; color:var(--aa-you); line-height:1.3 }
.aa-pn.next{ text-align:right; grid-column:2 }
@media (max-width:480px){ .aa-prevnext{ grid-template-columns:1fr } .aa-pn.next{ grid-column:1 } }
@media print{ .aa-side,.aa-prevnext,.aa-alljump{ display:none } }
.aa-hublist{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:10px }
.aa h2 a{ color:inherit; text-decoration-thickness:2px }


/* ---------- title symbol (our own ID-card mark; never official emblems) ---------- */
.aa h1::before{ content:""; display:inline-block; width:30px; height:30px; margin-right:10px; vertical-align:-4px;
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2030%2030%27%20width%3D%2730%27%20height%3D%2730%27%20role%3D%27img%27%20aria-label%3D%27Aadhaar%20guide%27%3E%20%3Crect%20x%3D%271.5%27%20y%3D%275%27%20width%3D%2727%27%20height%3D%2720%27%20rx%3D%273.5%27%20fill%3D%27%23e7eefc%27%20stroke%3D%27%231f56c2%27%20stroke-width%3D%272%27%2F%3E%20%3Ccircle%20cx%3D%279%27%20cy%3D%2712.6%27%20r%3D%272.7%27%20fill%3D%27%231f56c2%27%2F%3E%20%3Cpath%20d%3D%27M4.6%2021c.5-3%202.3-4.6%204.4-4.6s3.9%201.6%204.4%204.6z%27%20fill%3D%27%231f56c2%27%2F%3E%20%3Crect%20x%3D%2715.5%27%20y%3D%2710%27%20width%3D%278.5%27%20height%3D%271.8%27%20rx%3D%27.9%27%20fill%3D%27%231f56c2%27%2F%3E%20%3Crect%20x%3D%2715.5%27%20y%3D%2713.6%27%20width%3D%276%27%20height%3D%271.8%27%20rx%3D%27.9%27%20fill%3D%27%231f56c2%27%20opacity%3D%27.55%27%2F%3E%20%3Crect%20x%3D%2720.5%27%20y%3D%2717.6%27%20width%3D%274.6%27%20height%3D%274.6%27%20rx%3D%27.8%27%20fill%3D%27%231d7a52%27%2F%3E%20%3Crect%20x%3D%2721.7%27%20y%3D%2718.8%27%20width%3D%271.1%27%20height%3D%271.1%27%20fill%3D%27%23e7eefc%27%2F%3E%20%3Crect%20x%3D%2723%27%20y%3D%2720.1%27%20width%3D%271.1%27%20height%3D%271.1%27%20fill%3D%27%23e7eefc%27%2F%3E%20%3C%2Fsvg%3E") center/30px 30px no-repeat }

/* ---------- floating "All guides" button + popup ---------- */
.aa-fab{ position:fixed; right:16px; bottom:calc(16px + env(safe-area-inset-bottom,0px)); z-index:50;
  display:inline-flex; align-items:center; gap:8px; min-height:48px; padding:8px 16px 8px 10px; border-radius:999px;
  background:rgba(255,255,255,.28); -webkit-backdrop-filter:blur(8px) saturate(1.2); backdrop-filter:blur(8px) saturate(1.2); color:var(--aa-you); border:1.5px solid rgba(31,86,194,.45); font:700 .95rem var(--aa-f-body); cursor:pointer;
  box-shadow:0 4px 14px rgba(31,86,194,.12); opacity:0; visibility:hidden; transform:translateY(8px);
  transition:opacity .6s ease, transform .6s ease, visibility 0s linear .6s }
.aa-fab.is-shown{ opacity:1; visibility:visible; transform:none; transition:opacity .6s ease, transform .6s ease, visibility 0s }
.aa-fab::before{ content:""; width:30px; height:30px; border-radius:6px; background:transparent url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2030%2030%27%20width%3D%2730%27%20height%3D%2730%27%20role%3D%27img%27%20aria-label%3D%27Aadhaar%20guide%27%3E%20%3Crect%20x%3D%271.5%27%20y%3D%275%27%20width%3D%2727%27%20height%3D%2720%27%20rx%3D%273.5%27%20fill%3D%27%23e7eefc%27%20stroke%3D%27%231f56c2%27%20stroke-width%3D%272%27%2F%3E%20%3Ccircle%20cx%3D%279%27%20cy%3D%2712.6%27%20r%3D%272.7%27%20fill%3D%27%231f56c2%27%2F%3E%20%3Cpath%20d%3D%27M4.6%2021c.5-3%202.3-4.6%204.4-4.6s3.9%201.6%204.4%204.6z%27%20fill%3D%27%231f56c2%27%2F%3E%20%3Crect%20x%3D%2715.5%27%20y%3D%2710%27%20width%3D%278.5%27%20height%3D%271.8%27%20rx%3D%27.9%27%20fill%3D%27%231f56c2%27%2F%3E%20%3Crect%20x%3D%2715.5%27%20y%3D%2713.6%27%20width%3D%276%27%20height%3D%271.8%27%20rx%3D%27.9%27%20fill%3D%27%231f56c2%27%20opacity%3D%27.55%27%2F%3E%20%3Crect%20x%3D%2720.5%27%20y%3D%2717.6%27%20width%3D%274.6%27%20height%3D%274.6%27%20rx%3D%27.8%27%20fill%3D%27%231d7a52%27%2F%3E%20%3Crect%20x%3D%2721.7%27%20y%3D%2718.8%27%20width%3D%271.1%27%20height%3D%271.1%27%20fill%3D%27%23e7eefc%27%2F%3E%20%3Crect%20x%3D%2723%27%20y%3D%2720.1%27%20width%3D%271.1%27%20height%3D%271.1%27%20fill%3D%27%23e7eefc%27%2F%3E%20%3C%2Fsvg%3E") center/26px 26px no-repeat }
.aa-fab:hover{ background:rgba(231,238,252,.6); border-color:var(--aa-you) }
.aa-fab:focus-visible{ outline:3px solid var(--aa-focus); outline-offset:3px }
.aa-dlg{ width:min(560px, 100vw - 24px); max-height:min(80vh, 760px); padding:0; border:0; border-radius:14px; background:var(--aa-bg); color:var(--aa-ink);
  box-shadow:0 20px 60px rgba(16,21,28,.35) }
.aa-dlg::backdrop{ background:rgba(16,21,28,.45) }
.aa-dlg-head{ position:sticky; top:0; background:var(--aa-bg); display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; border-bottom:1px solid var(--aa-line); z-index:1 }
.aa-dlg-head strong{ font:700 1.05rem var(--aa-f-body); display:flex; align-items:center; gap:10px }
.aa-dlg-head strong::before{ content:""; width:30px; height:30px; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2030%2030%27%20width%3D%2730%27%20height%3D%2730%27%20role%3D%27img%27%20aria-label%3D%27Aadhaar%20guide%27%3E%20%3Crect%20x%3D%271.5%27%20y%3D%275%27%20width%3D%2727%27%20height%3D%2720%27%20rx%3D%273.5%27%20fill%3D%27%23e7eefc%27%20stroke%3D%27%231f56c2%27%20stroke-width%3D%272%27%2F%3E%20%3Ccircle%20cx%3D%279%27%20cy%3D%2712.6%27%20r%3D%272.7%27%20fill%3D%27%231f56c2%27%2F%3E%20%3Cpath%20d%3D%27M4.6%2021c.5-3%202.3-4.6%204.4-4.6s3.9%201.6%204.4%204.6z%27%20fill%3D%27%231f56c2%27%2F%3E%20%3Crect%20x%3D%2715.5%27%20y%3D%2710%27%20width%3D%278.5%27%20height%3D%271.8%27%20rx%3D%27.9%27%20fill%3D%27%231f56c2%27%2F%3E%20%3Crect%20x%3D%2715.5%27%20y%3D%2713.6%27%20width%3D%276%27%20height%3D%271.8%27%20rx%3D%27.9%27%20fill%3D%27%231f56c2%27%20opacity%3D%27.55%27%2F%3E%20%3Crect%20x%3D%2720.5%27%20y%3D%2717.6%27%20width%3D%274.6%27%20height%3D%274.6%27%20rx%3D%27.8%27%20fill%3D%27%231d7a52%27%2F%3E%20%3Crect%20x%3D%2721.7%27%20y%3D%2718.8%27%20width%3D%271.1%27%20height%3D%271.1%27%20fill%3D%27%23e7eefc%27%2F%3E%20%3Crect%20x%3D%2723%27%20y%3D%2720.1%27%20width%3D%271.1%27%20height%3D%271.1%27%20fill%3D%27%23e7eefc%27%2F%3E%20%3C%2Fsvg%3E") center/30px 30px no-repeat }
.aa-dlg-close{ min-width:44px; min-height:44px; border-radius:8px; border:1.5px solid var(--aa-line); background:var(--aa-bg); color:var(--aa-ink); font:700 1.2rem var(--aa-f-body); cursor:pointer }
.aa-dlg .aa-side{ position:static; max-height:none; overflow:visible; padding-block:4px 16px; max-width:none }
.aa-dlg .aa-side-h{ display:none }
@media print{ .aa-fab,.aa-dlg{ display:none } }

/* ---------- Term hover cards (EID, VID, OTP ...) — data from glossary/TERM_CARDS.xlsx via terms.py ---------- */
.aa .aa-term{ text-decoration:underline dotted; text-decoration-thickness:1.5px; text-underline-offset:.24em; text-decoration-skip-ink:none; cursor:help; border-radius:3px }
.aa-js .aa-term{ cursor:pointer }
.aa-js .aa-term:hover, .aa .aa-term[aria-expanded="true"]{ background:var(--aa-you-soft); text-decoration-color:var(--aa-you) }
.aa.aa-tip-host{ container-type:normal; background:none; display:block; height:0; font-size:15px }
.aa-tip-card{ position:fixed; z-index:2147483000; top:0; left:0; width:min(340px, calc(100vw - 24px)); max-height:min(72vh, 540px); overflow:auto;
  background:var(--aa-bg); color:var(--aa-ink); border:1px solid var(--aa-line); border-radius:12px;
  box-shadow:0 14px 34px rgba(23,32,43,.18), 0 2px 6px rgba(23,32,43,.08);
  padding:14px 16px 12px; font:15px/1.55 var(--aa-f-body); text-align:left;
  opacity:0; transform:translateY(4px); transition:opacity .14s ease, transform .14s ease }
.aa-tip-card.is-open{ opacity:1; transform:none }
.aa-tip-card[hidden]{ display:none }
.aa-tip-host:lang(hi) .aa-tip-card{ line-height:1.75 }
.aa-tip-h{ display:flex; flex-wrap:wrap; gap:2px 8px; align-items:baseline; padding-right:30px }
.aa-tip-h b{ font-size:18px; letter-spacing:.01em }
.aa-tip-h span{ color:var(--aa-muted) }
.aa-tip-x{ position:absolute; top:6px; right:6px; width:34px; height:34px; border:0; background:transparent; color:var(--aa-muted); font-size:22px; line-height:1; border-radius:8px; cursor:pointer }
.aa-tip-x:hover{ background:var(--aa-panel); color:var(--aa-ink) }
.aa-tip-fig{ margin:10px 0 6px }
.aa-tip-fig img{ display:block; width:100%; height:auto; aspect-ratio:2/1; object-fit:cover; border-radius:8px; background:var(--aa-panel) }
.aa-tip-fig figcaption{ font-size:11.5px; color:var(--aa-muted); margin-top:3px }
.aa-tip-m{ margin:8px 0 }
.aa-tip-ex{ margin:8px 0; padding:8px 10px; border-radius:8px; background:var(--aa-otp-soft); font-size:14px }
.aa-tip-ex b{ color:var(--aa-otp) }
.aa-tip-w{ margin:6px 0 0; font-size:12.5px; color:var(--aa-muted) }
@media (max-width:560px){
  .aa-tip-card{ left:12px !important; right:12px; top:auto !important; bottom:12px; width:auto; max-height:60vh; border-radius:14px }
}
@media (prefers-reduced-motion:reduce){ .aa-tip-card{ transition:none; transform:none } }
@media print{ .aa-tip-host{ display:none } .aa .aa-term{ text-decoration:none } }

/* ---------- Lightning over the page heading (same effect as the IFSC badge; aadhaar.js) ---------- */
.aa h1.aa-bolt-h1{ position:relative }
.aa-bolt-canvas{ position:absolute; pointer-events:none; z-index:2 }
.aa h1.aa-bolt-h1.is-charged{ text-shadow:0 0 14px rgba(90,150,255,.45); transition:text-shadow .15s }

/* ---------- Contacts: emails copy on click, helplines open the dialer (terms.py links them) ---------- */
.aa a.aa-tel, .aa a.aa-mail{ white-space:nowrap; font-weight:600 }
.aa a.aa-tel::before{ content:"\260E\00a0"; color:var(--aa-muted); font-weight:400 }
.aa a.aa-mail::before{ content:"\2709\00a0"; color:var(--aa-muted); font-weight:400 }
.aa-js a.aa-mail::after{ content:""; display:inline-block; width:.85em; height:.85em; margin-left:4px; vertical-align:-.05em; opacity:.7;
  background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2'%3E%3Crect x='9' y='9' width='12' height='12' rx='2'/%3E%3Cpath d='M5 15V5a2 2 0 0 1 2-2h10'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2'%3E%3Crect x='9' y='9' width='12' height='12' rx='2'/%3E%3Cpath d='M5 15V5a2 2 0 0 1 2-2h10'/%3E%3C/svg%3E") center/contain no-repeat }
.aa-copied{ position:fixed; z-index:2147483001; padding:6px 12px; border-radius:8px; background:#1d7a52; color:#fff;
  font:600 14px/1.3 "Noto Sans","Noto Sans Devanagari",system-ui,sans-serif; pointer-events:none; box-shadow:0 6px 18px rgba(16,21,28,.2); transform:translate(-50%,-100%); white-space:nowrap }

/* ---------- Before/after signature illustration (#sign on the download page) ---------- */
.aa-sigfig{ margin:4px 0 0 }
.aa-sig-row{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px }
.aa-sig-row svg{ display:block; flex:1 1 240px; max-width:300px; height:auto }
.aa-sig-arrow{ font-size:1.6rem; color:var(--aa-muted); line-height:1 }
@container (max-width:560px){ .aa-sig-arrow{ transform:rotate(90deg); width:100%; text-align:center } .aa-sig-row svg{ max-width:none } }
.aa-sigfig figcaption{ font-size:.82rem; color:var(--aa-muted); margin-top:4px }

/* ---------- "Did this number work?" votes (same server as usacustomercare.com; aadhaar.js) ---------- */
.aa-vote{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px; font-size:.88rem; color:var(--aa-muted) }
.aa-vote-q{ margin-right:2px }
.aa-vote button{ display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:4px 12px; border-radius:999px; cursor:pointer;
  border:1.5px solid var(--aa-line); background:var(--aa-bg); color:var(--aa-ink); font:600 .88rem var(--aa-f-body) }
.aa-vote button:hover{ border-color:var(--aa-you) }
.aa-vote button[aria-pressed="true"].up{ background:var(--aa-uidai-soft); border-color:var(--aa-uidai); color:var(--aa-uidai) }
.aa-vote button[aria-pressed="true"].down{ background:var(--aa-warn-soft); border-color:var(--aa-warn); color:var(--aa-warn) }
.aa-vote b{ font-variant-numeric:tabular-nums }
.aa-vote-note{ flex-basis:100%; font-size:.78rem }

/* ---------- Animated procedure flowchart (.aa-flow) ----------
   No JS: the <ol> is a numbered list with actor-coloured markers. JS: boxes + SVG arrows light up in turn. */
.aa-flow{ margin:0; background:var(--aa-panel); border-radius:14px; padding:16px 16px 14px; display:grid; gap:12px }
.aa-flow figcaption{ font-weight:700; font-size:1rem }
.aa-flow-src{ list-style:none; padding:0; counter-reset:fl; gap:8px }
.aa-flow-src > li{ counter-increment:fl; position:relative; padding:8px 12px 8px 46px; background:var(--aa-bg); border-radius:10px; border:1px solid var(--aa-line) }
.aa-flow-src > li::before{ content:counter(fl); position:absolute; left:10px; top:8px; width:26px; height:26px; border-radius:50%; display:grid; place-items:center;
  font:700 .8rem/1 var(--aa-f-body); color:#fff; background:var(--aa-you) }
.aa-flow-src > li[data-actor="uidai"]::before, .aa-flow-src > li[data-actor="centre"]::before{ background:var(--aa-uidai) }
.aa-flow-src > li[data-actor="otp"]::before{ background:var(--aa-otp) }
.aa-flow-src > li[data-kind="ask"]::before{ content:"?" }
.aa-flow-src > li[data-kind="done"]::before{ content:"✓"; background:var(--aa-uidai) }
.aa-flow-no{ display:block; font-size:.88rem; color:var(--aa-warn); margin-top:2px }
.aa-flow.is-drawn .aa-flow-src{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap }
.aa-flow-chart{ display:grid; justify-items:start; gap:0 }
.aa-flow-row{ display:grid; grid-template-columns:minmax(0,340px) minmax(0,1fr); align-items:center; gap:10px; width:100% }
.aa-flow-node{ position:relative; display:flex; gap:10px; align-items:center; padding:10px 14px; min-height:52px; border-radius:12px; background:var(--aa-bg);
  border:2px solid var(--aa-line); color:var(--aa-ink); text-decoration:none; font-size:.95rem; line-height:1.4;
  opacity:.28; transform:translateY(6px); transition:opacity .45s ease, transform .45s ease, border-color .3s, box-shadow .3s }
a.aa-flow-node{ cursor:pointer; color:var(--aa-ink) } a.aa-flow-node .aa-flow-t{ text-decoration:underline; text-decoration-color:var(--aa-line); text-underline-offset:3px }
.aa-flow-node .aa-flow-n{ flex:none; width:28px; height:28px; border-radius:50%; display:grid; place-items:center; font:700 .82rem/1 var(--aa-f-body); color:#fff; background:var(--aa-you) }
.aa-flow-node.a-uidai .aa-flow-n, .aa-flow-node.a-centre .aa-flow-n, .aa-flow-node.k-done .aa-flow-n{ background:var(--aa-uidai) }
.aa-flow-node.a-otp .aa-flow-n{ background:var(--aa-otp) }
.aa-flow-node.k-ask{ border-style:dashed; border-color:var(--aa-otp); background:var(--aa-otp-soft) }
.aa-flow-node.k-ask .aa-flow-n{ background:var(--aa-otp); transform:rotate(45deg); border-radius:5px; width:24px; height:24px }
.aa-flow-node.k-ask .aa-flow-n{ font-size:0 } .aa-flow-node.k-ask .aa-flow-n::after{ content:"?"; font-size:.82rem; transform:rotate(-45deg); color:#fff }
.aa-flow-node.k-done{ background:var(--aa-uidai-soft); border-color:var(--aa-uidai) }
.aa-flow-node.is-on{ opacity:1; transform:none }
.aa-flow-node.is-on.a-you{ border-color:var(--aa-you) }
.aa-flow-node.is-on.a-uidai, .aa-flow-node.is-on.a-centre{ border-color:var(--aa-uidai) }
.aa-flow-node.is-on.a-otp{ border-color:var(--aa-otp) }
.aa-flow-node.is-cur{ box-shadow:0 0 0 5px var(--aa-you-soft) }
.aa-flow-node.is-cur.a-otp, .aa-flow-node.is-cur.k-ask{ box-shadow:0 0 0 5px var(--aa-otp-soft) }
.aa-flow-node.is-cur.a-uidai, .aa-flow-node.is-cur.a-centre, .aa-flow-node.is-cur.k-done{ box-shadow:0 0 0 5px var(--aa-uidai-soft) }
.aa-flow-arr{ width:24px; height:34px; margin-left:22px; overflow:visible }
.aa-flow-arr path{ fill:none; stroke:var(--aa-muted); stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset .45s ease }
.aa-flow-arr .hd{ transition-delay:.35s }
.aa-flow-arr.is-on path{ stroke-dashoffset:0 }
.aa-flow-yes{ font:700 .75rem/1 var(--aa-f-body); color:var(--aa-uidai); margin:-26px 0 10px 54px; opacity:0; transition:opacity .4s .3s }
.aa-flow-yes.is-on{ opacity:1 }
.aa-flow-branch{ display:flex; align-items:center; gap:6px; opacity:0; transform:translateX(-6px); transition:opacity .45s .25s, transform .45s .25s }
.aa-flow-branch.is-on{ opacity:1; transform:none }
.aa-flow-barr{ flex:none; width:40px; height:12px; overflow:visible }
.aa-flow-barr path{ fill:none; stroke:var(--aa-warn); stroke-width:2; stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset .5s .3s }
.aa-flow-branch.is-on .aa-flow-barr path{ stroke-dashoffset:0 }
.aa-flow-bub{ font-size:.86rem; line-height:1.4; background:var(--aa-warn-soft); border:1px solid #f3c6c2; border-radius:10px; padding:6px 10px }
.aa-flow-ctrl{ display:flex; align-items:center; gap:12px; flex-wrap:wrap }
.aa-flow-count{ font-size:.82rem; color:var(--aa-muted); font-variant-numeric:tabular-nums }
.aa-flow.is-static .aa-flow-ctrl{ display:none }
@media (max-width:620px){
  .aa-flow-row{ grid-template-columns:minmax(0,1fr) }
  .aa-flow-branch{ margin:6px 0 0 34px }
  .aa-flow-barr{ transform:rotate(30deg); width:28px }
}
@media (prefers-reduced-motion:reduce){ .aa-flow *{ transition:none !important } }
@media print{ .aa-flow-node, .aa-flow-branch, .aa-flow-yes{ opacity:1 !important; transform:none !important } .aa-flow-arr path, .aa-flow-barr path{ stroke-dashoffset:0 !important } .aa-flow-ctrl{ display:none } }

/* ---------- SMS helper (.aa-sms) ---------- */
.aa-sms-lead{ font-weight:600; font-size:.92rem }
.aa-sms-tasks{ display:flex; flex-wrap:wrap; gap:8px; padding:0 }
.aa-chip{ min-height:44px; padding:8px 14px; border-radius:999px; border:1.5px solid var(--aa-line); background:var(--aa-bg); color:var(--aa-ink); font:600 .9rem var(--aa-f-body); cursor:pointer }
.aa-chip[aria-checked="true"]{ border-color:var(--aa-you); background:var(--aa-you-soft); color:var(--aa-you) }
.aa-sms-form{ display:grid; gap:10px }
.aa-sms-field{ display:grid; gap:4px; font-weight:600; font-size:.92rem }
.aa-sms-field input{ font:600 1.15rem var(--aa-f-mono); letter-spacing:.08em; max-width:280px }
.aa-sms-field input[aria-invalid="true"]{ border-color:var(--aa-warn) }
.aa-sms-err{ color:var(--aa-warn); font-weight:600; font-size:.85rem; min-height:1em }
.aa-sms-confirm{ background:var(--aa-otp-soft); border-radius:10px; padding:10px 12px; display:flex; flex-wrap:wrap; gap:8px; align-items:center }
.aa-sms-confirm p{ flex:1 1 100%; font-size:.9rem }
.aa-sms-fam{ display:flex; gap:8px; align-items:flex-start; font-size:.86rem; color:var(--aa-muted) }
.aa-sms-fam input{ width:20px; height:20px; margin-top:2px }
.aa-sms-out{ display:grid; gap:10px }
.aa-sms-card{ background:var(--aa-panel); border-radius:10px; padding:10px 14px; display:grid; gap:6px }
.aa-sms-card small{ color:var(--aa-muted); font-size:.8rem }
.aa-sms-text{ font:700 1.35rem var(--aa-f-mono); letter-spacing:.05em; word-break:break-all }
.aa-sms-btns{ display:flex; flex-wrap:wrap; gap:8px }
.aa-sms-wait{ font-size:.88rem; color:var(--aa-muted) }
.aa-sms-warn{ font-size:.88rem; background:var(--aa-warn-soft); border-radius:8px; padding:8px 12px }
/* Myth-buster callout */
.aa-myth{ background:#f3eefc; border-color:#d9cdf3 }
.aa-myth > strong:first-child{ color:#5b3aa8 }
.aa-sms-confirm[hidden], .aa-sms-nojs[hidden]{ display:none }
.aa-tool label.aa-sms-fam{ display:flex; font-weight:400 }

/* ---------- Report an issue: floating + inline buttons, dialog ---------- */
.aa-rep-fab{ position:fixed; left:max(14px, env(safe-area-inset-left)); bottom:max(14px, env(safe-area-inset-bottom)); z-index:2147482000;
  display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:8px 16px 8px 12px; border-radius:999px;
  border:1px solid rgba(180,35,24,.28); color:#b42318; font:600 15px/1 "Noto Sans","Noto Sans Devanagari",system-ui,sans-serif;
  background:rgba(253,236,235,.72); -webkit-backdrop-filter:blur(8px) saturate(1.4); backdrop-filter:blur(8px) saturate(1.4);
  box-shadow:0 6px 20px rgba(23,32,43,.12), inset 0 1px 0 rgba(255,255,255,.7);
  opacity:0; visibility:hidden; transform:translateY(6px); transition-property:opacity, transform, visibility; transition-timing-function:ease; cursor:pointer }
.aa-rep-fab.is-on{ opacity:1; visibility:visible; transform:none }
.aa-rep-fab:hover{ background:rgba(253,236,235,.95) }
.aa-rep-fab:focus-visible{ outline:3px solid #17202b; outline-offset:2px; box-shadow:0 0 0 6px #ffdd00 }
.aa-rep-fab.no-anim{ transition:none }
.aa-rep-btn{ justify-self:start; display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:4px 12px; border-radius:999px; border:1px solid #f3c6c2;
  background:var(--aa-warn-soft); color:var(--aa-warn); font:600 .85rem var(--aa-f-body); cursor:pointer }
.aa-rep-btn:hover{ border-color:var(--aa-warn) }
.aa-help .aa-rep-btn{ margin-top:4px }
.aa-rep-dlg{ border:0; border-radius:16px; padding:0; width:min(520px, calc(100vw - 24px)); max-height:calc(100vh - 24px); color:#17202b; box-shadow:0 20px 60px rgba(0,0,0,.25) }
.aa-rep-dlg::backdrop{ background:rgba(23,32,43,.45) }
.aa-rep-form{ display:grid; gap:12px; padding:18px 18px 16px; font:16px/1.55 "Noto Sans","Noto Sans Devanagari",system-ui,sans-serif }
.aa-rep-head{ display:flex; justify-content:space-between; align-items:center; gap:10px }
.aa-rep-head strong{ display:flex; align-items:center; gap:8px; color:#b42318; font-size:1.05rem }
.aa-rep-intro, .aa-rep-privacy{ margin:0; font-size:.88rem; color:#566170 }
.aa-rep-form label{ display:grid; gap:4px; font-weight:600; font-size:.92rem }
.aa-rep-form input, .aa-rep-form textarea{ font:inherit; min-height:44px; padding:8px 12px; border:1.5px solid #dde2e8; border-radius:8px; color:#17202b; background:#fff; width:100% }
.aa-rep-form textarea{ resize:vertical }
.aa-rep-cap{ display:flex; gap:10px; align-items:flex-end; flex-wrap:wrap }
.aa-rep-cap label{ flex:1 1 180px } .aa-rep-cap input{ max-width:120px }
.aa-rep-hp{ position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden }
.aa-rep-msg{ margin:0; min-height:1.2em; font-weight:600; font-size:.92rem }
.aa-rep-msg.is-ok{ color:#1d7a52 } .aa-rep-msg.is-err{ color:#b42318 }
.aa-rep-actions{ display:flex; gap:10px; flex-wrap:wrap }
.aa-rep-form [data-send][disabled]{ opacity:.55; cursor:wait }
.aa-rep-dlg .aa-btn{ display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 16px; border-radius:8px; font:600 .95rem inherit; cursor:pointer; border:1.5px solid #1f56c2; background:#1f56c2; color:#fff }
.aa-rep-dlg .aa-btn.aa-ghost{ background:#fff; color:#1f56c2 }
.aa-rep-dlg .aa-dlg-close{ min-width:44px; min-height:44px; border:0; background:none; font-size:1.6rem; cursor:pointer; color:#566170 }
@media print{ .aa-rep-fab, .aa-rep-btn{ display:none !important } }
.aa-rep-form label b{ color:#b42318 }
/* Document filter */
.aa-docfilter{ display:grid; gap:10px }
.aa-docfilter-bar{ display:grid; gap:8px }
.aa-docfilter-l{ align-self:center; font-weight:600; font-size:.88rem; margin-right:4px }
.aa-docfilter-count{ font-size:.85rem; color:var(--aa-muted) }
.aa-docfilter tr[hidden]{ display:none }
/* Bottom action row: Subscribe (orange, like the IFSC site) then Report */
.aa-actions{ display:flex; flex-wrap:wrap; gap:10px; align-items:center }
.aa-actions .aa-rep-btn{ min-height:44px; padding:8px 16px; font-size:.95rem }
.aa-sub-btn{ display:inline-flex; align-items:center; gap:7px; min-height:44px; background:#ef6c00; color:#fff; border:0; border-radius:8px; padding:10px 18px;
  font:600 .95rem var(--aa-f-body); cursor:pointer; box-shadow:0 2px 6px rgba(239,108,0,.28) }
.aa-sub-btn:hover:not(:disabled), .aa-sub-btn:focus-visible{ background:#e65100 }
.aa-sub-btn:disabled{ background:#ffcc80; cursor:default; box-shadow:none }
.aa-sub-form{ background:#fff8f0; border:1px solid #ffd8a8; border-radius:10px; padding:18px; display:grid; gap:12px }
.aa-sub-form[hidden]{ display:none }
.aa-sub-form h3{ margin:0; font-size:1.05rem; color:#bf360c }
.aa-sub-intro{ font-size:.88rem; color:#5d4037; line-height:1.55 }
.aa-sub-field{ display:grid; gap:5px; font-size:.9rem; font-weight:600 }
.aa-sub-field input{ max-width:380px; min-height:44px; padding:9px 11px; border:1px solid #e0c3a3; border-radius:6px; font:inherit }
.aa-sub-choices{ border:0; padding:0; margin:0; display:grid; gap:4px }
.aa-sub-choices legend{ font-size:.9rem; font-weight:600; padding:0; margin-bottom:4px }
.aa-sub-choices label{ display:flex; align-items:flex-start; gap:8px; font-size:.92rem; cursor:pointer }
.aa-sub-choices input{ width:18px; height:18px; margin-top:3px; accent-color:#ef6c00; flex:none }
.aa-sub-captcha{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:.92rem }
.aa-sub-captcha .aa-sub-q{ color:#bf360c; letter-spacing:.5px }
.aa-sub-captcha input{ width:64px; min-height:40px; padding:8px 10px; border:1px solid #e0c3a3; border-radius:6px; font:inherit; text-align:center }
.aa-sub-newq{ background:#fff; border:1px solid #e0c3a3; border-radius:50%; width:36px; height:36px; cursor:pointer; color:#bf360c; font-size:1rem }
.aa-sub-actions{ display:flex; flex-wrap:wrap; gap:10px; align-items:center }
.aa-sub-status{ font-size:.86rem; color:#bf360c }
.aa-sub-done{ margin:0; color:#1d7a52; font-weight:600 }
@media (max-width:480px){ .aa-sub-captcha label{ flex-basis:100% } }
@media print{ .aa-actions, .aa-sub-form{ display:none !important } }

/* Site footer (owner, 16 Oct 2026): copyright + Terms of Use | Privacy Policy | About us (m.indiacustomercare.com) */
.aa-sitefoot{ margin:40px 0 0; padding:18px 16px calc(18px + env(safe-area-inset-bottom,0px)); border-top:1px solid #dde2e8; background:#f4f6f8;
  font:400 .88rem/1.7 "Noto Sans","Noto Sans Devanagari",system-ui,sans-serif; color:#566170; text-align:center }
.aa-sitefoot .content{ max-width:1280px; margin:0 auto }
.aa-sitefoot a{ color:#1f56c2; text-decoration:underline; text-underline-offset:2px; display:inline-block; padding:6px 2px }
.aa-sitefoot a:hover{ text-decoration-thickness:2px }
@media print{ .aa-sitefoot a{ color:inherit } }

/* long emails/domains never push the page sideways on phones (16 Oct 2026) */
.aa a.aa-mail{ white-space:normal; overflow-wrap:anywhere }
