:root {
  --portal-forest: #17392d;
  --portal-forest-2: #24543f;
  --portal-ink: #17261f;
  --portal-muted: #66736d;
  --portal-paper: #fffdf8;
  --portal-bg: #f4efe4;
  --portal-line: #ded8ca;
  --portal-saffron: #e4933d;
  --portal-green: #21884e;
}

.portal-page {
  min-height: 100vh;
  padding-bottom: 0;
  color: var(--portal-ink);
  background:
    radial-gradient(circle at 7% 4%, rgba(228, 147, 61, 0.14), transparent 23rem),
    var(--portal-bg);
  font-family: "Noto Sans Devanagari", "Poppins", system-ui, sans-serif;
}

.portal-page a { color: inherit; }

.skip-link {
  position: fixed;
  top: 0.5rem;
  left: 0.5rem;
  z-index: 200;
  transform: translateY(-160%);
  border-radius: 8px;
  padding: 0.7rem 1rem;
  color: #fff;
  background: #111;
}
.skip-link:focus { transform: translateY(0); }

.portal-wrap { width: min(1160px, calc(100% - 2rem)); margin-inline: auto; }

.portal-header {
  position: relative;
  z-index: 30;
  padding: 0.8rem max(1rem, calc((100vw - 1160px) / 2));
  background: var(--portal-forest);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.portal-page .portal-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  color: #fff;
  text-decoration: none;
}
.portal-brand span { display: flex; flex-direction: column; line-height: 1.05; }
.portal-brand b { font-family: "Baloo 2", sans-serif; font-size: 1.1rem; }
.portal-brand small { color: #d8e6dc; font-size: 0.67rem; line-height: 1.3; }
.portal-page .portal-header .pill { color: var(--cream); font-family: "Poppins", sans-serif; }
.portal-header .pill-active { border-color: var(--portal-saffron); background: rgba(228, 147, 61, 0.18); }

.portal-hero {
  position: relative;
  overflow: hidden;
  padding: 3.6rem 0 5.8rem;
  color: #fff;
  background:
    radial-gradient(circle at 82% 20%, rgba(228, 147, 61, 0.48), transparent 21rem),
    radial-gradient(circle at 14% 115%, rgba(112, 175, 92, 0.28), transparent 32rem),
    linear-gradient(140deg, #122f25, #24533e);
}
.portal-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 13px;
  background: repeating-linear-gradient(90deg, #e4933d 0 20px, #a94a2e 20px 40px, #6ea955 40px 60px, #f2d9ae 60px 80px);
  opacity: 0.75;
}

.breadcrumbs {
  display: flex;
  gap: 0.45rem;
  align-items: center;
  overflow: hidden;
  margin-bottom: 1.6rem;
  color: rgba(255, 255, 255, 0.7);
  font: 500 0.75rem/1.3 "Poppins", sans-serif;
  white-space: nowrap;
}
.breadcrumbs a { text-decoration: none; }
.breadcrumbs a:hover { color: #fff; text-decoration: underline; }
.breadcrumbs span:last-child { overflow: hidden; text-overflow: ellipsis; }

.hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.8rem;
  color: #ffd49e;
  font: 700 0.73rem/1 "Poppins", sans-serif;
  letter-spacing: 0.09em;
}
.hero-kicker span { font-size: 1.2rem; }
.portal-hero h1 {
  max-width: 850px;
  margin: 0;
  font: 800 clamp(2.05rem, 5.2vw, 4rem)/0.99 "Baloo 2", "Noto Sans Devanagari", sans-serif;
  letter-spacing: -0.02em;
}
.portal-lede { max-width: 780px; margin: 1rem 0 0; color: #e7eee9; font-size: clamp(0.96rem, 2vw, 1.08rem); line-height: 1.75; }
.trust-row { display: flex; flex-wrap: wrap; gap: 0.65rem; margin-top: 1.25rem; }
.trust-row span { border: 1px solid rgba(255,255,255,0.17); border-radius: 999px; padding: 0.35rem 0.72rem; color: #e9f3ec; background: rgba(255,255,255,0.07); font-size: 0.75rem; }

.portal-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 1.25rem; align-items: start; margin-top: -3.4rem; padding-bottom: 4rem; position: relative; z-index: 2; }
.portal-primary { display: grid; gap: 1.1rem; min-width: 0; }
.portal-sidebar { display: grid; gap: 1rem; position: sticky; top: 1rem; }

.content-card,
.side-card {
  border: 1px solid var(--portal-line);
  border-radius: 22px;
  background: rgba(255, 253, 248, 0.97);
  box-shadow: 0 18px 45px rgba(40, 52, 44, 0.08);
}
.content-card { padding: clamp(1.25rem, 3vw, 2rem); }
.side-card { padding: 1.25rem; }
.content-card h2,
.side-card h2 { margin: 0; color: var(--portal-ink); font: 800 clamp(1.35rem, 3vw, 1.75rem)/1.1 "Baloo 2", "Noto Sans Devanagari", sans-serif; }
.content-card p,
.side-card p { color: var(--portal-muted); line-height: 1.7; }

.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.1rem; }
.mini-kicker { display: block; margin-bottom: 0.35rem; color: #b96524; font: 700 0.68rem/1.2 "Poppins", sans-serif; letter-spacing: 0.11em; }
.count-chip,
.privacy-chip { flex: none; border-radius: 999px; padding: 0.4rem 0.7rem; color: #2f674d; background: #e5f2e9; font-size: 0.74rem; font-weight: 700; }

.portal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
.portal-tile {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  min-width: 0;
  padding: 1rem;
  border: 1px solid #e4decf;
  border-radius: 16px;
  color: var(--portal-ink);
  background: #fff;
  text-decoration: none;
  transition: transform 0.18s, border-color 0.18s, box-shadow 0.18s;
}
.portal-tile:hover { transform: translateY(-2px); border-color: #d99a55; box-shadow: 0 12px 25px rgba(34, 53, 43, 0.08); }
.tile-icon { display: grid; place-items: center; flex: 0 0 2.65rem; width: 2.65rem; height: 2.65rem; border-radius: 13px; background: #f7ecda; font-size: 1.3rem; }
.tile-copy { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.tile-copy b { font: 700 1rem/1.2 "Baloo 2", "Noto Sans Devanagari", sans-serif; }
.tile-copy small { display: -webkit-box; overflow: hidden; margin-top: 0.25rem; color: var(--portal-muted); font-size: 0.72rem; line-height: 1.45; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.tile-arrow { flex: none; color: #b96524; font-weight: 800; }

.promise-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.8rem; margin-top: 1rem; }
.promise-grid > div { padding: 1rem; border-radius: 15px; background: #f5f1e8; }
.promise-grid span { color: #bd6b28; font: 800 1.4rem/1 "Baloo 2", sans-serif; }
.promise-grid h3 { margin: 0.4rem 0 0; color: var(--portal-ink); font: 700 1.05rem/1.2 "Baloo 2", sans-serif; }
.promise-grid p { margin: 0.3rem 0 0; font-size: 0.8rem; }

.alert-card { color: #fff; border-color: #276247; background: linear-gradient(145deg, #17392d, #245b42); }
.alert-card h2 { color: #fff; }
.alert-card p { margin: 0.5rem 0 1rem; color: #dbe9df; font-size: 0.83rem; }
.side-icon { display: block; margin-bottom: 0.55rem; font-size: 1.5rem; }
.whatsapp-action,
.telegram-action { display: block; margin-top: 0.55rem; border-radius: 999px; padding: 0.7rem 0.9rem; text-align: center; text-decoration: none; font-weight: 700; font-size: 0.84rem; }
.whatsapp-action { color: #113822 !important; background: #71dc94; }
.telegram-action { color: #e8f5ff !important; border: 1px solid #71b9df; background: rgba(38, 156, 215, 0.14); }
.side-link { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #ece5d7; padding: 0.72rem 0; color: var(--portal-ink); text-decoration: none; font-size: 0.86rem; }
.side-card .mini-kicker + .side-link { margin-top: 0.55rem; }
.side-link b { color: #b96524; }
.ad-card { min-height: 240px; }
.ad-card > span { display: block; color: #9c9c91; text-align: center; font: 500 0.58rem/1 "Poppins", sans-serif; letter-spacing: 0.12em; }

.review-line { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 1rem; color: #537061; font-size: 0.75rem; }
.review-line a { color: #2a6b45; text-underline-offset: 2px; }
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: #31a55e; box-shadow: 0 0 0 5px rgba(49,165,94,0.12); }
.official-button { display: flex; align-items: center; gap: 0.9rem; border: 1px solid #aad1b9; border-radius: 16px; padding: 0.95rem 1rem; color: #164d2c; background: #eaf7ee; text-decoration: none; }
.official-button > span:first-child { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; color: #fff; background: var(--portal-green); font-weight: 800; }
.official-button > span:nth-child(2) { display: flex; flex: 1; flex-direction: column; }
.official-button small { font: 700 0.58rem/1.3 "Poppins", sans-serif; letter-spacing: 0.1em; opacity: 0.7; }
.official-button b { font-size: 0.95rem; }
.official-button > span:last-child { font-size: 1.2rem; }
.official-button:hover { border-color: #65a67e; background: #dff1e5; }

.facts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.7rem; margin-top: 1rem; }
.facts-grid div { padding: 0.85rem; border-radius: 13px; background: #f5f1e8; }
.facts-grid small { display: block; margin-bottom: 0.25rem; color: #8b7760; font-size: 0.67rem; }
.facts-grid b { display: block; font-size: 0.83rem; line-height: 1.45; }

.step-list { list-style: none; margin: 1rem 0 0; padding: 0; }
.step-list li { display: flex; gap: 0.8rem; position: relative; }
.step-list li:not(:last-child)::after { content: ""; position: absolute; top: 2rem; bottom: 0; left: 0.95rem; width: 1px; background: #dcc9ae; }
.step-list span { display: grid; place-items: center; z-index: 1; flex: 0 0 2rem; width: 2rem; height: 2rem; border-radius: 50%; color: #fff; background: #b96524; font: 700 0.8rem/1 "Poppins", sans-serif; }
.step-list p { margin: 0 0 1rem; padding-top: 0.25rem; color: var(--portal-ink); font-size: 0.9rem; }
.check-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.55rem 1rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 1.55rem; color: #435349; font-size: 0.87rem; line-height: 1.5; }
.check-list li::before { content: "✓"; position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 1.1rem; height: 1.1rem; border-radius: 50%; color: #fff; background: #38975d; font-size: 0.66rem; font-weight: 800; }
.notice-box { margin-top: 1.1rem; border-left: 4px solid var(--portal-saffron); border-radius: 0 10px 10px 0; padding: 0.8rem 1rem; color: #5c4d3e; background: #fff3df; font-size: 0.8rem; line-height: 1.6; }
.notice-box b { color: #8b4c1e; }

.guide-copy { display: grid; gap: 1.4rem; }
.guide-copy-section + .guide-copy-section { border-top: 1px solid #e6dece; padding-top: 1.35rem; }
.guide-copy-section h2 { margin-bottom: 0.65rem; }
.guide-copy-section p { margin: 0 0 0.8rem; color: #435349; font-size: 0.92rem; line-height: 1.82; }
.guide-copy-section p:last-child { margin-bottom: 0; }

.action-row { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1rem; }
.primary-action,
.secondary-action,
.sponsor-action { display: inline-flex; align-items: center; justify-content: center; min-height: 2.8rem; border-radius: 999px; padding: 0.72rem 1.1rem; font: 700 0.86rem/1 "Noto Sans Devanagari", "Poppins", sans-serif; text-decoration: none; cursor: pointer; }
.primary-action { border: 0; color: #23170d !important; background: linear-gradient(135deg, #f1a955, #d97d2c); box-shadow: 0 7px 18px rgba(202, 112, 37, 0.22); }
.primary-action:disabled { opacity: 0.48; cursor: not-allowed; box-shadow: none; }
.primary-action.compact { min-height: 2.35rem; margin-top: 0.7rem; padding: 0.55rem 0.9rem; }
.secondary-action { border: 1px solid #d4c7b4; color: #33483d; background: #fff; }
button.secondary-action { font-family: inherit; }
.sponsor-action { color: #fff; border: 0; background: #6948b6; }
.affiliate-note { margin-bottom: 0; font-size: 0.7rem; }

.faq-stack { display: grid; gap: 0.55rem; margin-top: 1rem; }
.faq-stack details { border: 1px solid #e5ddce; border-radius: 13px; padding: 0.8rem 0.9rem; background: #fff; }
.faq-stack summary { color: var(--portal-ink); cursor: pointer; font-weight: 700; font-size: 0.87rem; }
.faq-stack p { margin: 0.65rem 0 0; font-size: 0.82rem; }

.tool-form { margin-top: 1rem; }
.tool-form label { display: flex; flex-direction: column; gap: 0.35rem; color: #52635a; font-size: 0.77rem; font-weight: 600; }
.tool-form input,
.tool-form select { width: 100%; min-height: 3rem; border: 1px solid #d6cebf; border-radius: 11px; padding: 0.65rem 0.75rem; color: var(--portal-ink); background: #fff; font: 500 0.92rem/1.2 inherit; }
.tool-form input:focus,
.tool-form select:focus { outline: 3px solid rgba(228, 147, 61, 0.2); border-color: #d38a3d; }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem; }
.upload-zone { display: grid !important; place-items: center; min-height: 180px; margin-bottom: 0.9rem; border: 2px dashed #cdbb9e; border-radius: 17px; padding: 1.2rem; text-align: center; background: #faf6ed; cursor: pointer; }
.upload-zone:hover { border-color: #cf8133; background: #fff7e9; }
.upload-zone input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.upload-zone b { color: var(--portal-ink); font-size: 1rem; }
.upload-zone small { color: var(--portal-muted); font-weight: 400; }
.upload-icon { display: grid; place-items: center; width: 2.8rem; height: 2.8rem; border-radius: 50%; color: #fff; background: #24734a; font-size: 1.5rem; }
.tool-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1rem; }
.tool-message { margin: 0.7rem 0 0 !important; font-size: 0.78rem; }
.photo-result { display: flex; align-items: center; gap: 1rem; margin-top: 1rem; border: 1px solid #cfe2d4; border-radius: 15px; padding: 0.9rem; background: #f0f8f2; }
.photo-result img { width: 110px; height: 110px; border-radius: 10px; object-fit: contain; background: #fff; }
.photo-result > div { display: flex; flex-direction: column; align-items: flex-start; }
.photo-result b { color: #206d42; }
.photo-result small { color: var(--portal-muted); }
.signature-inline-check { display: flex !important; flex-direction: row !important; align-items: center; gap: 0.55rem !important; margin-top: 0.85rem; cursor: pointer; }
.signature-inline-check input { width: 1rem; min-height: auto; height: 1rem; margin: 0; accent-color: #24734a; }
.signature-result { align-items: stretch; }
.signature-preview-wrap { display: grid; place-items: center; width: min(46%, 280px); min-width: 180px; min-height: 120px; border: 1px solid #d8dfd9; border-radius: 10px; padding: 0.65rem; background-color: #fff; background-image: linear-gradient(45deg, #eef1ee 25%, transparent 25%), linear-gradient(-45deg, #eef1ee 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #eef1ee 75%), linear-gradient(-45deg, transparent 75%, #eef1ee 75%); background-position: 0 0, 0 8px, 8px -8px, -8px 0; background-size: 16px 16px; }
.photo-result .signature-preview-wrap img { width: 100%; height: auto; max-height: 150px; border-radius: 4px; object-fit: contain; background: #fff; }
.signature-result > div { justify-content: center; gap: 0.2rem; }
.signature-result .primary-action { margin-top: 0.45rem; }
.number-result { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.7rem; margin-top: 1rem; }
.number-result span { border-radius: 14px; padding: 1rem 0.6rem; text-align: center; color: #58655e; background: #eef6f0; }
.number-result b { display: block; color: #216b42; font: 800 1.8rem/1 "Baloo 2", sans-serif; }
.percentage-result { margin-top: 1rem; border-radius: 16px; padding: 1.1rem; text-align: center; background: #eef6f0; }
.percentage-result b { display: block; color: #216b42; font: 800 2.4rem/1 "Baloo 2", sans-serif; }
.percentage-result small { display: block; margin-top: 0.3rem; color: var(--portal-muted); }

.pincode-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem; margin-top: 1rem; }
.pincode-summary { display: flex; align-items: center; justify-content: space-between; grid-column: 1 / -1; gap: 0.7rem; border-radius: 13px; padding: 0.8rem 0.9rem; color: #1f5c39; background: #e8f4eb; }
.pincode-summary span { color: var(--portal-muted); font-size: 0.72rem; }
.pincode-result-card { border: 1px solid #ded7ca; border-radius: 14px; padding: 0.85rem; background: #fff; }
.pincode-result-card h3 { margin: 0 0 0.55rem; color: var(--portal-ink); font: 700 1.02rem/1.2 "Baloo 2", "Noto Sans Devanagari", sans-serif; }
.pincode-result-card p { display: flex; justify-content: space-between; gap: 0.8rem; margin: 0.32rem 0; color: var(--portal-muted); font-size: 0.7rem; }
.pincode-result-card p b { color: #344b3f; text-align: right; }
.tool-official-link { margin-top: 1rem; }

.checklist-custom-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.45rem; }
.checklist-custom-row button { min-width: 4.8rem; border: 1px solid #c78a49; border-radius: 11px; padding: 0.65rem 0.8rem; color: #744416; background: #fff6e7; font: 700 0.8rem/1 "Noto Sans Devanagari", "Poppins", sans-serif; cursor: pointer; }
.checklist-custom-row button:hover { background: #ffe8c4; }
.checklist-progress { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, 0.8fr); align-items: center; gap: 1rem; margin: 1rem 0 0.8rem; border-radius: 14px; padding: 0.85rem 0.95rem; color: #245b3e; background: #eaf5ed; }
.checklist-progress span { display: flex; justify-content: space-between; gap: 0.8rem; }
.checklist-progress small { color: #607268; }
.checklist-progress progress { width: 100%; height: 0.72rem; overflow: hidden; border: 0; border-radius: 99px; background: #d5e2d8; }
.checklist-progress progress::-webkit-progress-bar { border-radius: 99px; background: #d5e2d8; }
.checklist-progress progress::-webkit-progress-value { border-radius: 99px; background: linear-gradient(90deg, #278250, #66ad72); }
.checklist-progress progress::-moz-progress-bar { border-radius: 99px; background: linear-gradient(90deg, #278250, #66ad72); }
.checklist-sheet { overflow: hidden; border: 1px solid #d9d0c0; border-radius: 17px; background: #fff; box-shadow: 0 8px 22px rgba(43, 56, 49, 0.06); }
.checklist-sheet header { padding: 1rem 1.1rem; color: #f9f4e9; background: linear-gradient(135deg, #183d2d, #296346); }
.checklist-sheet header span { color: #f2ad5b; font: 700 0.61rem/1 "Poppins", sans-serif; letter-spacing: 0.13em; }
.checklist-sheet header h3 { margin: 0.28rem 0 0.12rem; color: #fff; font: 800 1.3rem/1.15 "Baloo 2", "Noto Sans Devanagari", sans-serif; }
.checklist-sheet header p { margin: 0 !important; color: #d8e5dc !important; font-size: 0.72rem !important; }
.checklist-sheet ul { display: grid; margin: 0; padding: 0; list-style: none; }
.checklist-sheet li { border-top: 1px solid #eee8dd; }
.checklist-sheet li:first-child { border-top: 0; }
.checklist-sheet li label { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 0.75rem; min-height: 3.35rem; padding: 0.72rem 1rem; cursor: pointer; }
.checklist-sheet li label:hover { background: #fbf7ef; }
.checklist-sheet input[type="checkbox"] { width: 1.2rem; height: 1.2rem; min-height: 0; margin: 0; accent-color: #237549; }
.checklist-sheet li span { color: #334b3f; font-size: 0.82rem; font-weight: 500; }
.checklist-sheet li:has(input:checked) span { color: #77847d; text-decoration: line-through; }
.checklist-remove-item { border: 0; border-radius: 8px; padding: 0.35rem 0.5rem; color: #99483e; background: #fff0ed; font: 700 0.68rem/1 "Poppins", sans-serif; cursor: pointer; }
.checklist-actions { align-items: center; }

.image-pdf-upload-zone { transition: border-color 0.18s, background 0.18s, min-height 0.18s; }
.image-pdf-upload-zone.has-files { min-height: 120px; }
.image-pdf-upload-zone.is-dragging { border-color: #d77c2c; background: #fff0d5; box-shadow: inset 0 0 0 3px rgba(215, 124, 44, 0.12); }
.image-pdf-status { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; border-radius: 13px; padding: 0.75rem 0.9rem; color: #285b40; background: #e8f4eb; }
.image-pdf-status[hidden],
.image-pdf-list[hidden],
.image-pdf-settings[hidden] { display: none !important; }
.image-pdf-status > span { font-size: 0.82rem; }
.image-pdf-status > small { color: var(--portal-muted); font-size: 0.68rem; }
.image-pdf-list { display: grid; gap: 0.65rem; margin: 0.8rem 0 0; padding: 0; list-style: none; }
.image-pdf-item { display: grid; grid-template-columns: 1.4rem 4.2rem minmax(0, 1fr) auto; align-items: center; gap: 0.75rem; border: 1px solid #ddd5c7; border-radius: 14px; padding: 0.65rem; background: #fff; box-shadow: 0 5px 14px rgba(41,55,47,0.04); transition: border-color 0.18s, transform 0.18s, opacity 0.18s; }
.image-pdf-item:hover { border-color: #d4a16d; }
.image-pdf-item.is-dragging { opacity: 0.42; }
.image-pdf-item.is-drop-target { border-color: #d57d2f; transform: translateY(2px); box-shadow: 0 0 0 3px rgba(213,125,47,0.12); }
.image-pdf-grip { color: #9a8f7f; cursor: grab; font-size: 1.15rem; user-select: none; }
.image-pdf-preview { display: grid; place-items: center; width: 4rem; height: 4rem; overflow: hidden; border: 1px solid #e0d8ca; border-radius: 10px; background: #f4f1ea; }
.image-pdf-preview img { display: block; max-width: 3.55rem; max-height: 3.55rem; object-fit: contain; transition: transform 0.18s; }
.image-pdf-copy { display: flex; min-width: 0; flex-direction: column; }
.image-pdf-copy > b { color: var(--portal-ink); font: 700 0.95rem/1.2 "Baloo 2", "Noto Sans Devanagari", sans-serif; }
.image-pdf-copy > small { overflow: hidden; margin-top: 0.12rem; color: var(--portal-muted); font-size: 0.68rem; text-overflow: ellipsis; white-space: nowrap; }
.image-pdf-copy > em { margin-top: 0.18rem; color: #a45d27; font-size: 0.63rem; font-style: normal; font-weight: 600; }
.image-pdf-actions { display: flex; align-items: center; gap: 0.32rem; }
.image-pdf-actions button { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border: 1px solid #d8cfbf; border-radius: 10px; color: #31483c; background: #faf8f3; cursor: pointer; font: 700 0.95rem/1 inherit; }
.image-pdf-actions button:hover:not(:disabled) { border-color: #ca7d37; color: #9a4f19; background: #fff3df; }
.image-pdf-actions button:disabled { opacity: 0.32; cursor: not-allowed; }
.image-pdf-actions button[data-action="delete"] { color: #a73b35; }
.image-pdf-settings { margin-top: 0.9rem; border: 1px solid #ded5c6; border-radius: 15px; padding: 0.9rem; background: #faf8f3; }
.image-pdf-summary { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-top: 0.75rem; }
.image-pdf-summary span { border: 1px solid #cfe1d4; border-radius: 999px; padding: 0.35rem 0.58rem; color: #35604a; background: #edf7f0; font-size: 0.64rem; font-weight: 700; }

.pdf-image-upload-zone { transition: border-color 0.18s, background 0.18s, min-height 0.18s; }
.pdf-image-upload-zone.has-files { min-height: 120px; }
.pdf-image-upload-zone.is-dragging { border-color: #d77c2c; background: #fff0d5; box-shadow: inset 0 0 0 3px rgba(215,124,44,0.12); }
.pdf-image-status { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; border-radius: 13px; padding: 0.75rem 0.9rem; color: #285b40; background: #e8f4eb; }
.pdf-image-status[hidden],
.pdf-image-settings[hidden],
.pdf-image-progress[hidden],
.pdf-image-results[hidden] { display: none !important; }
.pdf-image-status > span { display: flex; min-width: 0; flex-direction: column; }
.pdf-image-status > span b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pdf-image-status small { color: var(--portal-muted); font-size: 0.68rem; }
.pdf-image-status > b { flex: none; font-size: 0.78rem; }
.pdf-image-settings { margin-top: 0.9rem; border: 1px solid #ded5c6; border-radius: 15px; padding: 0.9rem; background: #faf8f3; }
.pdf-image-progress { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, 0.8fr); align-items: center; gap: 1rem; margin-top: 1rem; border-radius: 14px; padding: 0.8rem 0.9rem; color: #245b3e; background: #eaf5ed; }
.pdf-image-progress span { display: flex; justify-content: space-between; gap: 0.7rem; font-size: 0.76rem; }
.pdf-image-progress small { color: #607268; }
.pdf-image-progress progress { width: 100%; height: 0.7rem; overflow: hidden; border: 0; border-radius: 99px; accent-color: #278250; }
.pdf-image-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; margin-top: 1rem; }
.pdf-image-result-card { display: grid; grid-template-columns: 105px minmax(0, 1fr); align-items: center; gap: 0.8rem; overflow: hidden; border: 1px solid #ded6c8; border-radius: 15px; padding: 0.7rem; background: #fff; box-shadow: 0 7px 18px rgba(42,54,47,0.05); }
.pdf-image-result-card img { display: block; width: 105px; height: 120px; border-radius: 9px; object-fit: contain; background: #ece9e2; }
.pdf-image-result-card h3 { margin: 0; color: var(--portal-ink); font: 700 1rem/1.2 "Baloo 2", "Noto Sans Devanagari", sans-serif; }
.pdf-image-result-card p { margin: 0.2rem 0 0.55rem !important; color: var(--portal-muted); font-size: 0.66rem !important; }
.pdf-image-result-card .secondary-action { min-height: 2.2rem; padding: 0.55rem 0.75rem; font-size: 0.7rem; }

.pdf-compress-upload-zone { transition: border-color 0.18s, background 0.18s, min-height 0.18s; }
.pdf-compress-upload-zone.has-files { min-height: 120px; }
.pdf-compress-upload-zone.is-dragging { border-color: #d77c2c; background: #fff0d5; box-shadow: inset 0 0 0 3px rgba(215,124,44,0.12); }
.pdf-compress-status { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; border-radius: 13px; padding: 0.75rem 0.9rem; color: #285b40; background: #e8f4eb; }
.pdf-compress-status[hidden],
.pdf-compress-settings[hidden],
.pdf-compress-progress[hidden],
.pdf-compress-result[hidden] { display: none !important; }
.pdf-compress-status > span { display: flex; min-width: 0; flex-direction: column; }
.pdf-compress-status > span b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pdf-compress-status small { color: var(--portal-muted); font-size: 0.68rem; }
.pdf-compress-status > b { flex: none; font-size: 0.78rem; }
.pdf-compress-settings { margin-top: 0.9rem; border: 1px solid #ded5c6; border-radius: 15px; padding: 0.9rem; background: #faf8f3; }
.pdf-compress-progress { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, 0.8fr); align-items: center; gap: 1rem; margin-top: 1rem; border-radius: 14px; padding: 0.8rem 0.9rem; color: #245b3e; background: #eaf5ed; }
.pdf-compress-progress span { display: flex; justify-content: space-between; gap: 0.7rem; font-size: 0.76rem; }
.pdf-compress-progress small { color: #607268; }
.pdf-compress-progress progress { width: 100%; height: 0.7rem; overflow: hidden; border: 0; border-radius: 99px; accent-color: #278250; }
.pdf-compress-result { margin-top: 1rem; border: 1px solid #cddfd2; border-radius: 16px; padding: 1rem; background: #f1f8f3; }
.pdf-compress-size { display: flex; align-items: center; justify-content: center; gap: clamp(0.8rem, 4vw, 2rem); }
.pdf-compress-size span { display: flex; min-width: 7rem; flex-direction: column; text-align: center; }
.pdf-compress-size small { color: #6d7c73; font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.08em; }
.pdf-compress-size b { margin-top: 0.2rem; color: #205f3c; font: 800 1.45rem/1 "Baloo 2", sans-serif; }
.pdf-compress-size i { color: #c46d28; font-size: 1.4rem; font-style: normal; }
.pdf-compress-result > p { margin: 0.75rem 0 !important; color: #506158; text-align: center; font-size: 0.76rem !important; }
.pdf-compress-result .pdf-compress-warning { border-radius: 10px; padding: 0.65rem 0.75rem; color: #7d491d; background: #fff0d9; font-weight: 600; }
.pdf-compress-result .primary-action { width: 100%; margin-top: 0.25rem; }

.pdf-upload-zone { transition: border-color 0.18s, background 0.18s, min-height 0.18s; }
.pdf-upload-zone.has-files { min-height: 125px; }
.pdf-upload-zone.is-dragging { border-color: #d77c2c; background: #fff0d5; box-shadow: inset 0 0 0 3px rgba(215, 124, 44, 0.12); }
.pdf-editor-status { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; border-radius: 13px; padding: 0.75rem 0.9rem; color: #285b40; background: #e8f4eb; }
.pdf-editor-status[hidden],
.pdf-page-list[hidden],
.pdf-visual-editor[hidden] { display: none !important; }
.pdf-editor-status > span { font-size: 0.82rem; }
.pdf-editor-status > small { color: var(--portal-muted); font-size: 0.68rem; }
.pdf-page-list { display: grid; gap: 0.65rem; margin: 0.8rem 0 0; padding: 0; list-style: none; }
.pdf-page-item { display: grid; grid-template-columns: 1.5rem 3.4rem minmax(0, 1fr) auto; align-items: center; gap: 0.75rem; border: 1px solid #ddd5c7; border-radius: 14px; padding: 0.7rem; background: #fff; box-shadow: 0 5px 14px rgba(41, 55, 47, 0.04); transition: border-color 0.18s, transform 0.18s, opacity 0.18s; }
.pdf-page-item:hover { border-color: #d4a16d; }
.pdf-page-item.is-dragging { opacity: 0.45; }
.pdf-page-item.is-drop-target { border-color: #d57d2f; transform: translateY(2px); box-shadow: 0 0 0 3px rgba(213, 125, 47, 0.12); }
.pdf-drag-grip { color: #9a8f7f; cursor: grab; font-size: 1.1rem; letter-spacing: -0.28rem; user-select: none; }
.pdf-drag-grip:active { cursor: grabbing; }
.pdf-page-sheet { display: grid; place-items: center; position: relative; width: 3rem; height: 3.7rem; overflow: hidden; border: 1px solid #e1d8c9; border-radius: 7px; color: #a63e35; background: linear-gradient(145deg, #fff, #f6f1e8); box-shadow: 0 4px 9px rgba(45, 42, 36, 0.08); }
.pdf-page-sheet::after { content: ""; position: absolute; top: 0; right: 0; border-width: 0 0.65rem 0.65rem 0; border-style: solid; border-color: transparent #eadfce transparent transparent; }
.pdf-page-sheet small { font: 800 0.48rem/1 "Poppins", sans-serif; letter-spacing: 0.08em; }
.pdf-page-sheet b { color: #31483c; font: 800 1.05rem/1 "Baloo 2", sans-serif; }
.pdf-page-copy { display: flex; min-width: 0; flex-direction: column; }
.pdf-page-copy > b { color: var(--portal-ink); font: 700 0.95rem/1.2 "Baloo 2", "Noto Sans Devanagari", sans-serif; }
.pdf-page-copy > small { overflow: hidden; margin-top: 0.15rem; color: var(--portal-muted); font-size: 0.68rem; text-overflow: ellipsis; white-space: nowrap; }
.pdf-page-copy > em { margin-top: 0.22rem; color: #a45d27; font-size: 0.63rem; font-style: normal; font-weight: 600; }
.pdf-page-actions { display: flex; align-items: center; gap: 0.35rem; }
.pdf-page-action { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border: 1px solid #d8cfbf; border-radius: 10px; color: #31483c; background: #faf8f3; cursor: pointer; font: 700 0.95rem/1 inherit; }
.pdf-page-action:hover:not(:disabled) { border-color: #ca7d37; color: #9a4f19; background: #fff3df; }
.pdf-page-action:disabled { opacity: 0.32; cursor: not-allowed; }
.pdf-page-delete { color: #a73b35; }
.pdf-page-delete:hover:not(:disabled) { border-color: #d79b97; color: #912c27; background: #fff0ef; }
.pdf-page-edit { color: #1f6d43; border-color: #b9d9c4; background: #edf8f0; }
.pdf-page-edit:hover:not(:disabled) { border-color: #5ca477; color: #155b35; background: #e2f4e8; }
.pdf-page-item.is-being-edited { border-color: #d78336; box-shadow: 0 0 0 3px rgba(215, 131, 54, 0.12); }

.pdf-visual-editor {
  margin-top: 1rem;
  border: 1px solid #d5c9b6;
  border-radius: 18px;
  padding: clamp(0.8rem, 2vw, 1.1rem);
  background: #f6f1e7;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.8);
}
.pdf-visual-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.pdf-visual-header h3 { margin: 0; color: var(--portal-ink); font: 800 1.35rem/1.1 "Baloo 2", "Noto Sans Devanagari", sans-serif; }
.pdf-visual-header small { display: block; margin-top: 0.2rem; color: var(--portal-muted); font-size: 0.7rem; }
.pdf-editor-close { display: grid; place-items: center; flex: none; width: 2.35rem; height: 2.35rem; border: 1px solid #d7cdbd; border-radius: 10px; color: #6c5c4b; background: #fff; cursor: pointer; font: 700 0.95rem/1 inherit; }
.pdf-editor-close:hover { border-color: #c97935; color: #9a4f19; background: #fff6e9; }
.pdf-editor-notice { margin-top: 0.8rem; border-left: 4px solid #d98538; border-radius: 0 10px 10px 0; padding: 0.72rem 0.85rem; color: #5c5144; background: #fff8e9; font-size: 0.74rem; line-height: 1.55; }
.pdf-editor-notice b { color: #914e1f; }

.pdf-visual-layout { display: grid; grid-template-columns: minmax(230px, 285px) minmax(0, 1fr); gap: 1rem; align-items: start; margin-top: 0.9rem; }
.pdf-annotation-controls { display: grid; gap: 0.75rem; min-width: 0; border: 1px solid #ddd3c3; border-radius: 15px; padding: 0.8rem; background: #fffdfa; }
.pdf-tool-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.42rem; }
.pdf-mobile-tool-grid { display: none; }
.pdf-tool-grid button,
.pdf-mobile-tool-grid button,
.pdf-layer-actions button,
.pdf-clear-page,
.pdf-page-navigation button { min-height: 2.35rem; border: 1px solid #d8cfbf; border-radius: 10px; color: #354c40; background: #faf8f3; cursor: pointer; font: 700 0.7rem/1.2 "Noto Sans Devanagari", "Poppins", sans-serif; }
.pdf-tool-grid button:hover,
.pdf-mobile-tool-grid button:hover,
.pdf-layer-actions button:hover:not(:disabled),
.pdf-page-navigation button:hover:not(:disabled) { border-color: #cc894c; background: #fff4e4; }
.pdf-tool-grid button.is-active { border-color: #25754a; color: #fff; background: #25754a; box-shadow: 0 5px 12px rgba(37,117,74,0.18); }
.pdf-mobile-tool-grid button.is-active { border-color: #25754a; color: #fff; background: #25754a; }
.pdf-control-wide,
.pdf-control-grid label { display: flex; flex-direction: column; gap: 0.3rem; color: #5a685f; font-size: 0.68rem; font-weight: 700; }
.pdf-control-wide textarea,
.pdf-control-grid input,
.pdf-control-grid select { width: 100%; border: 1px solid #d8cfbf; border-radius: 9px; padding: 0.52rem 0.58rem; color: #1e3027; background: #fff; font: 500 0.78rem/1.35 inherit; }
.pdf-control-wide textarea { min-height: 74px; resize: vertical; }
.pdf-control-wide textarea:focus,
.pdf-control-grid input:focus,
.pdf-control-grid select:focus { outline: 3px solid rgba(228,147,61,0.18); border-color: #d18a49; }
.pdf-control-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; }
.pdf-control-grid input[type="color"] { height: 2.55rem; padding: 0.2rem; cursor: pointer; }
.pdf-control-grid input[type="range"] { padding-inline: 0; accent-color: #25754a; }
.pdf-inline-check { display: flex; align-items: center; gap: 0.45rem; color: #44544a; font-size: 0.73rem; font-weight: 700; }
.pdf-inline-check input { width: 1rem; height: 1rem; accent-color: #25754a; }
.pdf-image-actions { display: grid; }
.pdf-image-actions .secondary-action { width: 100%; min-height: 2.55rem; padding: 0.65rem 0.7rem; font-size: 0.73rem; }
.pdf-layer-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.42rem; }
.pdf-layer-actions button:disabled { opacity: 0.4; cursor: not-allowed; }
.pdf-layer-actions button.danger { color: #9c322d; border-color: #e1b6b2; background: #fff6f5; }
.pdf-clear-page { color: #8d352f; border-color: #dfb6b2; background: #fff7f6; }
.pdf-tool-hint { min-height: 2.4em; margin: 0 !important; color: #6c756f !important; font-size: 0.67rem !important; line-height: 1.45 !important; }

.pdf-canvas-column { min-width: 0; }
.pdf-page-navigation { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 0.55rem; margin-bottom: 0.55rem; }
.pdf-page-navigation b { color: #364a3f; text-align: center; font-size: 0.76rem; }
.pdf-page-navigation button { min-height: 2.2rem; padding: 0.45rem 0.7rem; }
.pdf-page-navigation button:disabled { opacity: 0.38; cursor: not-allowed; }
.pdf-canvas-scroller { max-width: 100%; max-height: 760px; overflow: auto; border: 1px solid #cfc4b4; border-radius: 14px; padding: 0.7rem; background: #c7c3ba; overscroll-behavior: contain; }
.pdf-canvas-stage { position: relative; margin: 0 auto; background: #fff; box-shadow: 0 8px 25px rgba(34,44,38,0.22); }
.pdf-canvas-stage canvas { display: block; position: absolute; inset: 0; max-width: none; }
#pdf-preview-canvas { z-index: 1; background: #fff; }
#pdf-annotation-canvas { z-index: 2; touch-action: none; }
#pdf-annotation-canvas[data-tool="select"] { cursor: default; }
#pdf-annotation-canvas[data-tool="text"] { cursor: text; }
#pdf-annotation-canvas[data-tool="replace"],
#pdf-annotation-canvas[data-tool="highlight"],
#pdf-annotation-canvas[data-tool="rectangle"] { cursor: crosshair; }
#pdf-annotation-canvas[data-tool="draw"] { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M4 20l4-1 11-11-3-3L5 16z' fill='%2317261f'/%3E%3C/svg%3E") 3 21, crosshair; }
.pdf-canvas-help { display: flex; flex-wrap: wrap; gap: 0.35rem 0.75rem; margin-top: 0.55rem; color: #6f776f; font-size: 0.62rem; }
.pdf-canvas-help span::before { content: "✓"; margin-right: 0.25rem; color: #3a8c5a; font-weight: 800; }

@media (max-width: 620px) {
  .signature-result { align-items: stretch; flex-direction: column; }
  .signature-preview-wrap { width: 100%; min-width: 0; }
  .pincode-results { grid-template-columns: 1fr; }
  .pincode-summary { align-items: flex-start; flex-direction: column; }
  .pdf-editor-status { align-items: flex-start; flex-direction: column; gap: 0.25rem; }
  .pdf-compress-status { align-items: flex-start; flex-direction: column; gap: 0.25rem; }
  .pdf-compress-progress { grid-template-columns: 1fr; }
  .pdf-compress-size span { min-width: 0; }
  .pdf-page-item { grid-template-columns: 1.1rem 3.2rem minmax(0, 1fr); gap: 0.6rem; }
  .pdf-page-actions { grid-column: 2 / -1; justify-content: flex-end; }
  .pdf-page-action { width: 2.5rem; height: 2.35rem; }
  .pdf-visual-layout { grid-template-columns: 1fr; }
  .pdf-annotation-controls { position: static; }
  .pdf-canvas-column { order: -1; }
  .pdf-annotation-controls > .pdf-tool-grid { display: none; }
  .pdf-mobile-tool-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.38rem; margin-bottom: 0.55rem; }
  .pdf-mobile-tool-grid button { min-height: 2.35rem; border: 1px solid #d8cfbf; border-radius: 9px; color: #354c40; background: #faf8f3; font: 700 0.67rem/1.15 "Noto Sans Devanagari", "Poppins", sans-serif; }
  .pdf-canvas-scroller { max-height: 68vh; padding: 0.45rem; }
  .pdf-canvas-help { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .image-pdf-status { align-items: flex-start; flex-direction: column; gap: 0.25rem; }
  .image-pdf-item { grid-template-columns: 1rem 3.6rem minmax(0, 1fr); gap: 0.55rem; }
  .image-pdf-preview { width: 3.5rem; height: 3.5rem; }
  .image-pdf-preview img { max-width: 3.05rem; max-height: 3.05rem; }
  .image-pdf-actions { grid-column: 2 / -1; justify-content: flex-end; }
  .image-pdf-actions button { width: 2.5rem; height: 2.35rem; }
  .pdf-image-status { align-items: flex-start; flex-direction: column; gap: 0.25rem; }
  .pdf-image-progress { grid-template-columns: 1fr; }
  .pdf-image-results { grid-template-columns: 1fr; }
}

.portal-finder-tool { display: grid; gap: 1rem; }
.portal-finder-search { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 0.65rem; border: 1px solid #c9d9cd; border-radius: 14px; padding: 0.3rem 0.42rem 0.3rem 0.85rem; color: #33734c; background: #fff; box-shadow: 0 8px 24px rgba(34, 68, 49, 0.06); }
.portal-finder-search > span { font: 800 1.25rem/1 "Poppins", sans-serif; }
.portal-finder-search input { min-width: 0; border: 0; padding: 0.7rem 0; color: #173a2b; background: transparent; font: 600 0.88rem/1.4 "Noto Sans Devanagari", "Poppins", sans-serif; outline: 0; }
.portal-finder-search input::placeholder { color: #7b8a80; font-weight: 500; }
.portal-finder-search:focus-within { border-color: #5c9b6f; box-shadow: 0 0 0 3px rgba(73, 139, 92, 0.12), 0 8px 24px rgba(34, 68, 49, 0.07); }
.portal-finder-search button { border: 0; border-radius: 10px; padding: 0.58rem 0.75rem; color: #5c4a37; background: #f2eee6; font: 700 0.7rem/1 "Poppins", sans-serif; cursor: pointer; }
.portal-finder-filters { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.portal-finder-filters button { border: 1px solid #cedbd1; border-radius: 999px; padding: 0.48rem 0.75rem; color: #385246; background: #f9fbf9; font: 700 0.7rem/1.2 "Noto Sans Devanagari", "Poppins", sans-serif; cursor: pointer; }
.portal-finder-filters button[aria-pressed="true"] { border-color: #2f7b4b; color: #fff; background: #2f7b4b; box-shadow: 0 5px 14px rgba(35, 101, 57, 0.18); }
.portal-finder-status { margin: 0; color: #617368; font-size: 0.76rem; }
.portal-finder-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem; }
.portal-finder-card { display: grid; grid-template-columns: 2.35rem minmax(0, 1fr) auto; align-items: start; gap: 0.75rem; border: 1px solid #d7e1d9; border-radius: 14px; padding: 0.85rem; color: #172e24; background: #fff; text-decoration: none; transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease; }
.portal-finder-card:hover { transform: translateY(-2px); border-color: #74aa84; box-shadow: 0 10px 24px rgba(34, 68, 49, 0.09); }
.portal-finder-card[hidden] { display: none; }
.portal-finder-icon { display: grid; place-items: center; width: 2.35rem; height: 2.35rem; border-radius: 10px; background: #edf6ef; font-size: 1.2rem; }
.portal-finder-card > span:nth-child(2) { display: grid; min-width: 0; }
.portal-finder-card b { font: 800 0.86rem/1.3 "Baloo 2", "Noto Sans Devanagari", sans-serif; }
.portal-finder-card small { margin-top: 0.08rem; color: #2c7a48; font: 700 0.62rem/1.35 "Poppins", sans-serif; overflow-wrap: anywhere; }
.portal-finder-card em { margin-top: 0.35rem; color: #66776d; font: 500 0.68rem/1.5 "Noto Sans Devanagari", "Poppins", sans-serif; }
.portal-finder-card > i { color: #a76327; font-size: 0.92rem; font-style: normal; }
.portal-finder-empty { border: 1px dashed #c9d5cc; border-radius: 14px; padding: 1.2rem; text-align: center; color: #5d6d63; background: #fafbf8; }
.portal-finder-empty span { display: block; margin-bottom: 0.35rem; font-size: 1.4rem; }
.portal-finder-empty b { display: block; color: #263d31; }
.portal-finder-empty p { margin: 0.3rem 0 0; font-size: 0.75rem; }

/* Government form file checker */
.file-checker { display: grid; gap: 1rem; }
.file-checker-rules { margin-top: 0; }
.file-checker-result { overflow: hidden; border: 1px solid #abd1b9; border-radius: 18px; background: #f4fbf6; }
.file-checker-result > header { display: flex; align-items: center; gap: 0.85rem; padding: 1rem 1.1rem; color: #173c2b; background: #e3f4e8; }
.file-checker-result > header > span { display: grid; place-items: center; flex: 0 0 2.4rem; width: 2.4rem; height: 2.4rem; border-radius: 50%; color: #fff; background: #21884e; font-weight: 900; }
.file-checker-result > header small { color: #3f7357; font: 700 0.61rem/1 "Poppins", sans-serif; letter-spacing: 0.1em; }
.file-checker-result > header h3 { margin: 0.15rem 0 0; font: 800 1.25rem/1.1 "Baloo 2", "Noto Sans Devanagari", sans-serif; }
.file-checker-result > header p { margin: 0.25rem 0 0; color: #4d6758; font-size: 0.78rem; line-height: 1.45; }
.file-checker-result.is-fail { border-color: #e0a5a0; background: #fff7f5; }
.file-checker-result.is-fail > header { color: #742d28; background: #fbe7e4; }
.file-checker-result.is-fail > header > span { background: #b84b43; }
.file-checker-result.is-fail > header small,
.file-checker-result.is-fail > header p { color: #8b4b46; }
.file-checker-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem; padding: 1rem 1.1rem 0; }
.file-checker-facts span { display: flex; flex-direction: column; min-width: 0; border: 1px solid #d7e4da; border-radius: 12px; padding: 0.7rem 0.8rem; background: #fff; }
.file-checker-facts small { color: #6f7d75; font-size: 0.66rem; }
.file-checker-facts b { overflow: hidden; margin-top: 0.18rem; color: #213f31; font-size: 0.83rem; text-overflow: ellipsis; white-space: nowrap; }
.file-checker-checks { display: grid; gap: 0.5rem; margin: 0; padding: 1rem 1.1rem; list-style: none; }
.file-checker-checks li { display: flex; align-items: flex-start; gap: 0.55rem; border-radius: 10px; padding: 0.65rem 0.75rem; color: #385246; background: #fff; font-size: 0.8rem; line-height: 1.5; }
.file-checker-checks li::before { content: "✓"; flex: none; color: #21884e; font-weight: 900; }
.file-checker-checks li.is-fail::before { content: "✕"; color: #b84b43; }
.file-checker-checks li.is-note::before { content: "i"; display: grid; place-items: center; width: 1rem; height: 1rem; margin-top: 0.1rem; border-radius: 50%; color: #fff; background: #7b8b83; font: 800 0.65rem/1 sans-serif; }
.file-checker-result .action-row { margin: 0; border-top: 1px solid #dce7df; padding: 0.9rem 1.1rem 1.1rem; }

.certificate-paper { max-width: 720px; margin: 1.2rem auto 0; border: 1px solid #d8d0c1; padding: clamp(1.2rem, 4vw, 2.5rem); color: #1c1c1c; background: #fff; font-family: "Noto Sans Devanagari", sans-serif; }
.certificate-paper h3 { margin: 0 0 2rem; text-align: center; text-decoration: underline; }
.certificate-paper p { color: #1c1c1c; line-height: 1.9; }
.certificate-paper span[data-cert] { display: inline-block; min-width: 80px; border-bottom: 1px dotted #555; text-align: center; font-weight: 600; }
.certificate-paper .paper-note { margin-top: 2rem; border: 1px solid #aaa; padding: 0.7rem; font-size: 0.7rem; }
.signature-row { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3rem; font-size: 0.82rem; }

.radio-launch-card { display: grid; grid-template-columns: 160px 1fr; gap: 1.6rem; align-items: center; }
.radio-launch-card p { margin: 0.55rem 0 1.1rem; }
.radio-disc { display: grid; place-items: center; width: 150px; height: 150px; border: 8px solid #203a2e; border-radius: 50%; background: repeating-radial-gradient(circle, #19261f 0 5px, #2e3d35 6px 8px); box-shadow: 0 16px 30px rgba(25,45,35,0.2); }
.radio-disc img { width: 62px; height: 62px; padding: 10px; border-radius: 50%; background: #eddfc4; }
.prose-card p { font-size: 0.9rem; }

.portal-footer { padding: 2.5rem 0; color: #dce8df; background: #102a21; }
.footer-grid { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.portal-footer p { margin: 0.5rem 0 0; color: #9fb3a6; font-size: 0.73rem; }
.portal-footer nav { display: flex; flex-wrap: wrap; gap: 1rem; }
.portal-footer nav a { color: #dce8df; text-decoration: none; font-size: 0.8rem; }
.portal-footer nav a:hover { color: #ffcf92; }

/* Trust, privacy and editorial pages */
.trust-hero { padding-bottom: 5.3rem; }
.trust-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 1.25rem; align-items: start; position: relative; z-index: 2; margin-top: -3.2rem; padding-bottom: 4rem; }
.trust-article { display: grid; gap: 1rem; min-width: 0; }
.trust-sidebar { display: grid; gap: 1rem; position: sticky; top: 1rem; }
.trust-section h2 { margin-bottom: 0.8rem; }
.trust-section p { margin: 0 0 0.8rem; color: #435349; font-size: 0.94rem; line-height: 1.85; }
.trust-section p:last-child { margin-bottom: 0; }
.trust-link-list { display: grid; gap: 0.55rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.trust-link-list a { display: flex; justify-content: space-between; gap: 1rem; border: 1px solid #cfe1d4; border-radius: 12px; padding: 0.75rem 0.9rem; color: #1d613a; background: #eff8f1; text-decoration: none; font-size: 0.84rem; font-weight: 700; }
.trust-link-list a:hover { border-color: #73aa83; background: #e7f4ea; }
.trust-sidebar .side-link.is-current { margin-inline: -0.35rem; padding-inline: 0.35rem; border-radius: 8px; color: #8e4e1e; background: #fff1dc; }
.trust-note { border-color: #e5c38f; background: #fff6e7; }
.trust-note > b { color: #8b4c1e; font-size: 0.9rem; }
.trust-note p { margin-bottom: 0; font-size: 0.78rem; }
.contact-email-card { border-color: #aed6ba; background: #f0f8f2; }
.contact-email-card h2 { word-break: break-word; }
.contact-email-card .primary-action { margin-top: 0.3rem; }

@media (max-width: 900px) {
  .portal-layout { grid-template-columns: 1fr; }
  .portal-sidebar { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .portal-sidebar .alert-card { grid-row: span 2; }
  .trust-layout { grid-template-columns: 1fr; }
  .trust-sidebar { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 650px) {
  .portal-wrap { width: min(100% - 1.2rem, 1160px); }
  .portal-header { align-items: flex-start; padding-inline: 0.6rem; }
  .portal-header .nav-links { width: 100%; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 0.2rem; }
  .portal-header .pill { padding: 0.42rem 0.72rem; font-size: 0.78rem; }
  .portal-hero { padding: 2.5rem 0 4.9rem; }
  .portal-grid,
  .promise-grid,
  .facts-grid,
  .check-list,
  .field-grid { grid-template-columns: 1fr; }
  .content-card { border-radius: 17px; padding: 1.1rem; }
  .portal-sidebar { grid-template-columns: 1fr; }
  .portal-sidebar .alert-card { grid-row: auto; }
  .guide-copy { gap: 1.15rem; }
  .radio-launch-card { grid-template-columns: 1fr; text-align: center; }
  .radio-disc { margin-inline: auto; }
  .footer-grid { align-items: flex-start; flex-direction: column; }
  .signature-row { flex-direction: column; }
  .trust-sidebar { grid-template-columns: 1fr; }
  .checklist-progress { grid-template-columns: 1fr; }
  .checklist-progress span { flex-wrap: wrap; }
  .portal-finder-grid { grid-template-columns: 1fr; }
  .portal-finder-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 0.25rem; }
  .portal-finder-filters button { flex: none; }
  .file-checker-facts { grid-template-columns: 1fr; }
}

@media print {
  .portal-header,
  .portal-hero,
  .portal-sidebar,
  .tool-card > :not(.certificate-paper),
  .portal-primary > :not(.tool-card),
  .whatsapp-growth-cta,
  .portal-footer { display: none !important; }
  .portal-page { background: #fff; }
  .portal-layout,
  .portal-primary,
  .tool-card { display: block; width: 100%; margin: 0; padding: 0; border: 0; box-shadow: none; }
  .certificate-paper { max-width: none; margin: 0; border: 0; padding: 15mm; }
  .portal-route-jharkhand-form-document-checklist .tool-card > .checklist-tool { display: block !important; }
  .portal-route-jharkhand-form-document-checklist .checklist-tool-controls,
  .portal-route-jharkhand-form-document-checklist .checklist-actions,
  .portal-route-jharkhand-form-document-checklist .tool-message { display: none !important; }
  .portal-route-jharkhand-form-document-checklist .checklist-progress { border: 1px solid #cdd8d0; color: #173a2b; background: #fff; }
  .portal-route-jharkhand-form-document-checklist .checklist-sheet { border-color: #88998f; box-shadow: none; }
  .portal-route-jharkhand-form-document-checklist .checklist-sheet header { color: #111; background: #fff; }
  .portal-route-jharkhand-form-document-checklist .checklist-sheet header span,
  .portal-route-jharkhand-form-document-checklist .checklist-sheet header h3,
  .portal-route-jharkhand-form-document-checklist .checklist-sheet header p { color: #111 !important; }
  .portal-route-jharkhand-form-document-checklist .checklist-remove-item { display: none; }
}
