/* ============================================================
   NUMEROLOGY REPORT — PDF-style layout (.nr-*)
   The one stylesheet for the report. Loaded by the public tool
   (tools/numerology.html) and by the consultant panel
   (admin/client.html), which have different base themes — so the
   brand tokens are re-declared on the container and the block is
   self-contained rather than depending on either page's :root.
   ============================================================ */
.nr-report {
  --agni:#E63329; --agni-dark:#cc2b22;
  --prithvi:#FFC72C; --prithvi-dark:#b8890a;
  --vayu:#2E9E4F; --vayu-dark:#247d3e;
  --muted:#6B6560;
  --font-display:'Fraunces','Georgia',serif;
  --font-body:'Inter','Work Sans',system-ui,sans-serif;
}


/* --- Report Container --- */
.nr-report { font-family:var(--font-body); color:#1a1a2e; line-height:1.7; }
.nr-report * { box-sizing:border-box; }

/* --- Page / Section --- */
.nr-page { padding:40px 48px; margin-bottom:32px; background:#fff; border-radius:12px;
  box-shadow:0 2px 16px rgba(0,0,0,0.06); position:relative; overflow:hidden; }

/* --- Cover Page --- */
.nr-cover { text-align:center; min-height:500px; display:flex; flex-direction:column; align-items:center;
  justify-content:center; background:linear-gradient(160deg,#0d0d2b 0%,#1a1a3e 40%,#2a1a4e 100%); color:#fff;
  border-radius:12px; position:relative; overflow:hidden; }
.nr-cover::before { content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 20% 80%, rgba(212,175,55,0.15) 0%, transparent 50%),
             radial-gradient(circle at 80% 20%, rgba(212,175,55,0.1) 0%, transparent 50%);
  pointer-events:none; }
.nr-cover__brand { font-size:0.85rem; letter-spacing:0.2em; text-transform:uppercase; color:rgba(255,255,255,0.6);
  margin-bottom:4px; position:relative; z-index:1; }
.nr-cover__logo { width:80px; height:auto; margin-bottom:16px; position:relative; z-index:1;
  filter:drop-shadow(0 2px 8px rgba(212,175,55,0.3)); }
.nr-cover__services { font-size:0.78rem; letter-spacing:0.12em; text-transform:uppercase; color:rgba(212,175,55,0.7);
  margin-bottom:28px; position:relative; z-index:1; }
.nr-cover__title { font-family:var(--font-display); font-size:2.4rem; font-weight:700; color:#d4af37;
  margin:0 0 8px; position:relative; z-index:1; letter-spacing:0.02em; }
.nr-cover__subtitle { font-size:1rem; color:rgba(255,255,255,0.7); margin-bottom:40px; position:relative; z-index:1; }
.nr-cover__info { position:relative; z-index:1; text-align:center; }
.nr-cover__info-row { display:flex; justify-content:center; gap:40px; margin-top:20px; flex-wrap:wrap; }
.nr-cover__info-item { text-align:center; }
.nr-cover__info-label { display:block; font-size:0.75rem; text-transform:uppercase; letter-spacing:0.1em; color:rgba(255,255,255,0.5); margin-bottom:4px; }
.nr-cover__info-value { display:block; font-family:var(--font-display); font-size:1.2rem; font-weight:600; color:#d4af37; }
.nr-cover__decorative { position:absolute; font-size:12rem; font-weight:900; color:rgba(212,175,55,0.04);
  font-family:var(--font-display); pointer-events:none; }
.nr-cover__decorative--tl { top:-30px; left:-20px; }
.nr-cover__decorative--br { bottom:-30px; right:-20px; }

/* --- Section Header (golden amber banner) --- */
.nr-section-header { background:linear-gradient(135deg,#f5deb3 0%,#e8c97a 50%,#d4af37 100%);
  padding:14px 24px; border-radius:8px; margin-bottom:24px; display:flex; align-items:center; gap:12px; }
.nr-section-header h2 { font-family:var(--font-display); font-size:1.4rem; font-weight:700; color:#1a1a2e; margin:0; }
.nr-section-header__icon { width:28px; height:28px; display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; }

/* --- Red Labels (Lucky Dates, Lucky Colours, etc.) --- */
.nr-label { font-weight:700; color:#cc0000; font-size:1rem; margin:16px 0 6px; }
.nr-label-inline { font-weight:700; color:#cc0000; display:inline; }

/* --- Text Blocks --- */
.nr-text { font-size:0.95rem; color:#333; margin-bottom:16px; line-height:1.8; }
.nr-text--intro { font-size:1rem; color:#444; line-height:1.9; }

/* --- Info Grid (for stats like Lucky Number, Lucky Colour) --- */
.nr-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px 24px; margin:16px 0; }
.nr-info-item { display:flex; flex-direction:column; }
.nr-info-item__label { font-weight:700; color:#cc0000; font-size:0.85rem; text-transform:uppercase; letter-spacing:0.04em; }
.nr-info-item__value { font-size:0.95rem; color:#1a1a2e; margin-top:2px; }

/* --- Number Archetype Grid --- */
.nr-archetype-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:20px 0; }
.nr-archetype { background:linear-gradient(160deg,#fefcf5,#fff8e1); border:1px solid #e8dcc8;
  border-radius:10px; padding:16px 12px; text-align:center; position:relative; transition:transform 0.2s; }
.nr-archetype:hover { transform:translateY(-2px); }
.nr-archetype__icon { font-size:1.8rem; margin-bottom:4px; }
.nr-archetype__num { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px;
  background:linear-gradient(135deg,#d4af37,#b8890a); color:#fff; border-radius:50%; font-weight:700;
  font-size:0.9rem; margin-bottom:6px; font-family:Georgia,serif; }
.nr-archetype__title { font-family:Georgia,serif; font-size:0.95rem; font-weight:700; color:#1a1a2e; margin-bottom:4px; }
.nr-archetype__desc { font-size:0.78rem; color:#666; line-height:1.5; }
@media (max-width:768px) { .nr-archetype-grid { grid-template-columns:repeat(2,1fr); } }

/* --- Lo Shu Grid --- */
.nr-grid-container { display:flex; gap:32px; align-items:flex-start; flex-wrap:wrap; margin:20px 0; }
.nr-grid-wrapper { text-align:center; }
.nr-grid-wrapper__title { font-size:0.8rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em;
  color:var(--muted); margin-bottom:8px; }
.nr-loshu-grid { display:grid; grid-template-columns:repeat(3,1fr); width:180px; height:180px;
  border:2px solid #b8890a; border-radius:4px; overflow:hidden; }
.nr-loshu-grid__cell { display:flex; align-items:center; justify-content:center; border:1px solid #d8c9a0;
  font-family:var(--font-display); font-weight:700; font-size:1.1rem; color:#1a1a2e; background:#fefcf5; }
.nr-loshu-grid__cell--empty { color:#d8d0c0; }
.nr-loshu-grid__cell--highlight { background:#fff8e1; color:#b8890a; }

/* --- Prediction Card (Year) --- */
.nr-year-card { background:#fefcf5; border:1px solid #e8dcc8; border-radius:10px; padding:24px; margin-bottom:20px; }
.nr-year-card__header { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.nr-year-card__year { font-family:var(--font-display); font-size:1.8rem; font-weight:700; color:#d4af37; }
.nr-year-card__number { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px;
  background:linear-gradient(135deg,#d4af37,#b8890a); color:#fff; border-radius:50%; font-weight:700; font-size:1rem; }
.nr-year-card__cols { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:12px; }
.nr-year-card__col { padding:12px; background:#fff; border-radius:8px; border-left:3px solid #d4af37; }
.nr-year-card__col-title { font-weight:700; color:#cc0000; font-size:0.8rem; text-transform:uppercase;
  letter-spacing:0.04em; margin-bottom:6px; }
.nr-year-card__col-text { font-size:0.9rem; color:#444; line-height:1.6; }
.nr-year-card__todos { margin-top:16px; padding:12px 16px; background:#fff; border-radius:8px; border-left:3px solid var(--vayu); }
.nr-year-card__todos h4 { font-weight:700; font-size:0.85rem; color:var(--vayu-dark); text-transform:uppercase;
  letter-spacing:0.04em; margin:0 0 8px; }
.nr-year-card__todos ol { padding-left:20px; margin:0; font-size:0.9rem; color:#444; }
.nr-year-card__todos ol li { margin-bottom:4px; }

/* --- Monthly Prediction Card --- */
.nr-month-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin:16px 0; }
.nr-month-card { background:#fefcf5; border:1px solid #e8dcc8; border-radius:10px; padding:20px; }
.nr-month-card__header { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.nr-month-card__name { font-family:var(--font-display); font-size:1.1rem; font-weight:700; color:#1a1a2e; }
.nr-month-card__number { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px;
  background:linear-gradient(135deg,#d4af37,#b8890a); color:#fff; border-radius:50%; font-weight:700; font-size:0.8rem; }
.nr-month-card__title { font-size:0.8rem; font-weight:600; color:#cc0000; text-transform:uppercase;
  letter-spacing:0.04em; margin-bottom:8px; }
.nr-month-card__text { font-size:0.88rem; color:#444; line-height:1.6; margin-bottom:8px; }
.nr-month-card__tips { padding-left:16px; margin:0; font-size:0.85rem; color:#555; }
.nr-month-card__tips li { margin-bottom:2px; }

/* --- Bracelet Card --- */
.nr-bracelet-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:20px; margin:20px 0; }
.nr-bracelet-card { background:linear-gradient(160deg,#fefcf5,#fff8e1); border:1px solid #e8dcc8;
  border-radius:12px; padding:24px; text-align:center; position:relative; overflow:hidden; }
.nr-bracelet-card::after { content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg,#d4af37,#b8890a); }
.nr-bracelet-card__icon { font-size:2.5rem; margin-bottom:8px; }
.nr-bracelet-card__name { font-family:var(--font-display); font-size:1.15rem; font-weight:700; color:#1a1a2e; margin-bottom:4px; }
.nr-bracelet-card__stone { font-size:0.82rem; color:#b8890a; font-weight:600; margin-bottom:12px; }
.nr-bracelet-card__purpose { font-size:0.85rem; color:#555; font-style:italic; margin-bottom:12px; }
.nr-bracelet-card__benefits { font-size:0.88rem; color:#444; line-height:1.6; text-align:left; }
.nr-bracelet-card__for { display:inline-block; margin-top:12px; padding:4px 12px; background:#d4af37; color:#fff;
  border-radius:20px; font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; }

/* --- Vastu Product Card --- */
.nr-product { background:linear-gradient(160deg,#0d0d2b,#1a1a3e); color:#fff; border-radius:12px;
  padding:40px 32px; text-align:center; margin-top:20px; }
.nr-product__name { font-family:var(--font-display); font-size:1.6rem; font-weight:700; color:#d4af37; margin:0 0 4px; }
.nr-product__tagline { font-size:0.9rem; color:rgba(255,255,255,0.6); margin-bottom:24px; }
.nr-product__benefits { list-style:none; padding:0; text-align:left; max-width:500px; margin:0 auto 24px; }
.nr-product__benefits li { padding:6px 0 6px 28px; position:relative; font-size:0.9rem; color:rgba(255,255,255,0.85); }
.nr-product__benefits li::before { content:'✓'; position:absolute; left:0; color:#d4af37; font-weight:700; }
.nr-product__usage { font-size:0.88rem; color:rgba(255,255,255,0.6); margin-bottom:20px; font-style:italic; }
.nr-product__cta { display:inline-block; padding:12px 32px; background:#25D366; color:#fff; font-weight:700;
  border-radius:30px; text-decoration:none; font-size:0.95rem; transition:transform 0.2s, box-shadow 0.2s; }
.nr-product__cta:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(37,211,102,0.3); }

/* --- Arrows Section --- */
.nr-arrow-list { list-style:none; padding:0; display:flex; flex-direction:column; gap:12px; }
.nr-arrow-item { padding:16px; border-radius:8px; background:#fefcf5; border-left:4px solid #d4af37; }
.nr-arrow-item--strength { border-left-color:var(--vayu); }
.nr-arrow-item--weakness { border-left-color:var(--agni); }
.nr-arrow-item__name { font-weight:700; color:#1a1a2e; font-size:0.95rem; }
.nr-arrow-item__type { font-size:0.75rem; font-weight:600; text-transform:uppercase; letter-spacing:0.05em;
  margin-left:8px; padding:2px 8px; border-radius:12px; }
.nr-arrow-item__type--strength { background:rgba(46,158,79,0.15); color:var(--vayu-dark); }
.nr-arrow-item__type--weakness { background:rgba(230,51,41,0.12); color:var(--agni-dark); }
.nr-arrow-item__desc { font-size:0.9rem; color:#444; margin-top:6px; line-height:1.6; }

/* --- Missing Number Card --- */
.nr-missing-card { background:#fefcf5; border:1px solid #e8dcc8; border-radius:10px; padding:20px;
  margin-bottom:16px; border-left:4px solid var(--agni); }
.nr-missing-card__header { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.nr-missing-card__num { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px;
  background:var(--agni); color:#fff; border-radius:50%; font-weight:700; font-size:0.95rem; }
.nr-missing-card__title { font-weight:700; color:#1a1a2e; font-size:1rem; }
.nr-missing-card__meaning { font-size:0.9rem; color:#444; margin-bottom:12px; line-height:1.6; }
.nr-missing-card__remedies { margin:0; padding:0; }
.nr-missing-card__remedies h4 { font-weight:700; font-size:0.85rem; color:var(--vayu-dark); text-transform:uppercase;
  letter-spacing:0.04em; margin:0 0 8px; }
.nr-missing-card__remedies ol { padding-left:20px; margin:0; font-size:0.88rem; color:#444; }
.nr-missing-card__remedies ol li { margin-bottom:4px; }

/* --- Letter Profile --- */
.nr-letter-card { display:flex; gap:24px; align-items:flex-start; background:#fefcf5; border:1px solid #e8dcc8;
  border-radius:10px; padding:24px; margin:16px 0; }
.nr-letter-big { width:80px; height:80px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#d4af37,#b8890a); color:#fff; font-family:var(--font-display);
  font-size:2.8rem; font-weight:700; border-radius:12px; flex-shrink:0; }
.nr-letter-details { flex:1; }
.nr-letter-details__row { margin-bottom:10px; }
.nr-letter-details__label { font-weight:700; color:#cc0000; font-size:0.82rem; text-transform:uppercase; letter-spacing:0.04em; }
.nr-letter-details__value { font-size:0.9rem; color:#444; margin-top:2px; }

/* --- Name Number Section --- */
.nr-name-section { background:#fefcf5; border:1px solid #e8dcc8; border-radius:10px; padding:24px; margin:16px 0; }
.nr-name-section__header { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.nr-name-section__num { font-family:var(--font-display); font-size:2rem; font-weight:700; color:#d4af37; }
.nr-name-section__label { font-size:0.85rem; color:var(--muted); }

/* --- Repeated Numbers --- */
.nr-repeated-list { list-style:none; padding:0; display:flex; flex-direction:column; gap:12px; }
.nr-repeated-item { padding:16px; border-radius:8px; background:#fefcf5; border-left:4px solid var(--prithvi); }
.nr-repeated-item__header { font-weight:700; color:#1a1a2e; font-size:0.95rem; margin-bottom:6px; }
.nr-repeated-item__count { font-size:0.8rem; color:var(--prithvi-dark); font-weight:600; }
.nr-repeated-item__desc { font-size:0.9rem; color:#444; line-height:1.6; }

/* --- Print / PDF Media Query --- */
@media print {
  body { background:#fff !important; }
  .site-header, .site-footer, .site-nav, .tool-form, .result-actions, .breadcrumbs,
  .hero, .hero-inner, .whatsapp-float, #num-actions { display:none !important; }
  .nr-page { box-shadow:none; border-radius:0; padding:24px 32px; margin:0; page-break-after:always; }
  .nr-page:last-child { page-break-after:avoid; }
  .nr-cover { border-radius:0; min-height:100vh; }
  .nr-report { font-size:11pt; }
}

/* --- Responsive Adjustments --- */
@media (max-width:768px) {
  .nr-page { padding:24px 20px; }
  .nr-cover__title { font-size:1.6rem; }
  .nr-cover__info-row { flex-direction:column; gap:16px; }
  .nr-year-card__cols { grid-template-columns:1fr; }
  .nr-month-grid { grid-template-columns:1fr; }
  .nr-grid-container { flex-direction:column; }
  .nr-letter-card { flex-direction:column; }
  .nr-info-grid { grid-template-columns:1fr; }
}
