/* ====== DESIGN TOKENS ====== */
.caloanemi-wrap{
  --primary:#1B3F7C;
  --primary-dark:#0F2550;
  --primary-mid:#2356A8;
  --accent:#C9A84C;
  --accent-light:#F0D98B;
  --accent-soft:#FDF6E3;
  --bg:#F0F4FA;
  --card:#FFFFFF;
  --border:#DDE4F0;
  --border-light:#EEF2FA;
  --text:#0D1E3E;
  --muted:#6B7A96;
  --danger:#C0392B;
  --good:#1A7A4A;
  --nav-h:68px;
}

.caloanemi-wrap, .caloanemi-wrap *, .caloanemi-wrap *::before, .caloanemi-wrap *::after { box-sizing: border-box; }
.caloanemi-wrap *, .caloanemi-wrap *::before, .caloanemi-wrap *::after { margin: 0; padding: 0; }

.caloanemi-wrap{
  background:var(--bg);
  color:var(--text);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  font-size:14px;
  line-height:1.5;
}

/* ── TOP NAV ─────────────────────────────── */
.caloanemi-wrap .topnav{
  height:var(--nav-h);
  background:linear-gradient(120deg, var(--primary-dark) 0%, var(--primary) 60%, var(--primary-mid) 100%);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 32px;
  box-shadow:0 2px 16px rgba(11,30,70,0.28);
  position:sticky;top:0;z-index:100;
}
.caloanemi-wrap .topnav-brand{display:flex;align-items:center;gap:14px;}
.caloanemi-wrap .brand-icon{
  width:40px;height:40px;border-radius:10px;
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-light) 100%);
  display:flex;align-items:center;justify-content:center;
  font-size:18px;font-weight:900;color:var(--primary-dark);
  box-shadow:0 2px 8px rgba(201,168,76,0.4);
  flex-shrink:0;letter-spacing:-0.5px;
}
.caloanemi-wrap .brand-text{}
.caloanemi-wrap .brand-name{
  font-size:17px;font-weight:800;color:#FFFFFF;
  letter-spacing:0.01em;line-height:1.2;
}
.caloanemi-wrap .brand-tag{
  font-size:10.5px;font-weight:500;color:rgba(255,255,255,0.6);
  letter-spacing:0.06em;text-transform:uppercase;margin-top:1px;
}
.caloanemi-wrap .topnav-pill{
  background:rgba(255,255,255,0.12);
  border:1px solid rgba(255,255,255,0.18);
  border-radius:20px;padding:5px 14px;
  font-size:11.5px;font-weight:600;color:rgba(255,255,255,0.85);
  letter-spacing:0.04em;
}

/* ── HERO BAND ──────────────────────────── */
.caloanemi-wrap .hero{
  background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary-mid) 100%);
  padding:36px 32px 38px;
  border-bottom:3px solid var(--accent);
  position:relative;overflow:hidden;
}
.caloanemi-wrap .hero::before{
  content:'';position:absolute;right:-60px;top:-60px;
  width:320px;height:320px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,168,76,0.12) 0%,transparent 70%);
  pointer-events:none;
}
.caloanemi-wrap .hero-inner{max-width:1120px;margin:0 auto;}
.caloanemi-wrap .hero-eyebrow{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(201,168,76,0.15);border:1px solid rgba(201,168,76,0.35);
  border-radius:20px;padding:4px 12px;
  font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--accent-light);margin-bottom:12px;
}
.caloanemi-wrap .hero h1{
  font-size:30px;font-weight:900;color:#FFFFFF;
  letter-spacing:-0.4px;line-height:1.2;margin-bottom:6px;
}
.caloanemi-wrap .hero p{
  font-size:14.5px;color:rgba(255,255,255,0.62);font-weight:400;
}

/* ── MAIN WRAP ──────────────────────────── */
.caloanemi-wrap .wrap{max-width:1120px;margin:0 auto;padding:28px 20px 60px;}
.caloanemi-wrap .grid{display:grid;grid-template-columns:380px 1fr;gap:20px;}
@media(max-width:900px){.caloanemi-wrap .grid{grid-template-columns:1fr;}}

/* ── CARD ───────────────────────────────── */
.caloanemi-wrap .card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  padding:24px;
  box-shadow:0 1px 3px rgba(11,30,70,0.06),0 4px 20px rgba(11,30,70,0.04);
  position:relative;
}
.caloanemi-wrap .card-title{
  font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--muted);margin-bottom:20px;padding-bottom:12px;
  border-bottom:1px solid var(--border-light);
}

/* ── FIELDS ─────────────────────────────── */
.caloanemi-wrap .field{margin-bottom:20px;}
.caloanemi-wrap .field label{
  display:block;font-size:11.5px;font-weight:700;
  color:var(--muted);margin-bottom:8px;letter-spacing:0.04em;text-transform:uppercase;
}
.caloanemi-wrap .input-box{
  display:flex;align-items:center;
  border:1.5px solid var(--border);
  border-radius:10px;overflow:hidden;background:#FAFBFE;
  transition:border-color 0.15s,box-shadow 0.15s;
}
.caloanemi-wrap .input-box:focus-within{
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(27,63,124,0.1);
}
.caloanemi-wrap .input-box .prefix,.caloanemi-wrap .input-box .suffix{
  padding:0 12px;color:var(--accent);font-weight:700;font-size:15px;
  background:rgba(240,217,139,0.12);border-right:1px solid var(--border);
  height:100%;display:flex;align-items:center;
}
.caloanemi-wrap .input-box .suffix{border-right:none;border-left:1px solid var(--border);color:var(--muted);font-size:13px;}
.caloanemi-wrap .input-box input,.caloanemi-wrap .input-box select{
  border:none;outline:none;background:transparent;
  padding:11px 12px;font-size:15px;font-weight:700;
  color:var(--text);width:100%;font-family:inherit;
}
.caloanemi-wrap .helper{font-size:11.5px;color:var(--muted);margin-top:5px;font-weight:500;}
.caloanemi-wrap input[type=range]{
  width:100%;margin-top:10px;
  accent-color:var(--primary);height:4px;
  -webkit-appearance:none;appearance:none;
  background:linear-gradient(to right,var(--primary) 0%,var(--border) 0%);
  border-radius:4px;cursor:pointer;
}
.caloanemi-wrap input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:16px;height:16px;
  border-radius:50%;background:var(--primary);
  border:2px solid #fff;box-shadow:0 1px 4px rgba(27,63,124,0.4);
  cursor:pointer;
}
.caloanemi-wrap .row2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}

/* ── RESULTS PANEL ──────────────────────── */
.caloanemi-wrap .results-top{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.caloanemi-wrap .results-stats{flex:1;min-width:200px;}
.caloanemi-wrap .emi-label{font-size:11.5px;font-weight:700;color:var(--muted);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:8px;}
.caloanemi-wrap .emi-value{
  font-size:42px;font-weight:900;color:var(--primary);
  line-height:1;letter-spacing:-1px;
  background:linear-gradient(135deg,var(--primary-dark),var(--primary-mid));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.caloanemi-wrap .emi-value .rupee{font-size:24px;font-weight:700;margin-right:2px;}
.caloanemi-wrap .view-details{
  display:inline-flex;align-items:center;gap:4px;
  margin-top:8px;font-size:12.5px;color:var(--primary);
  cursor:pointer;font-weight:600;text-decoration:none;
  background:rgba(27,63,124,0.06);padding:4px 10px;border-radius:6px;
  transition:background 0.15s;
}
.caloanemi-wrap .view-details:hover{background:rgba(27,63,124,0.12);}
.caloanemi-wrap .stat-row{
  margin-top:16px;padding-top:14px;border-top:1px solid var(--border-light);
}
.caloanemi-wrap .stat-label{font-size:11.5px;color:var(--muted);margin-bottom:3px;font-weight:500;}
.caloanemi-wrap .stat-value{font-size:19px;font-weight:800;letter-spacing:-0.3px;}
.caloanemi-wrap .stat-value.interest{color:var(--danger);}
.caloanemi-wrap .stat-value.total{color:var(--primary-dark);}

/* ── PIE CHART ──────────────────────────── */
.caloanemi-wrap .chart-wrap{
  width:160px;flex-shrink:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#F6F9FE,#EEF3FC);
  border-radius:12px;padding:16px;
  border:1px solid var(--border-light);
}
.caloanemi-wrap .legend{display:flex;gap:12px;margin-top:10px;font-size:11px;color:var(--muted);flex-wrap:wrap;justify-content:center;}
.caloanemi-wrap .legend span{display:inline-flex;align-items:center;gap:4px;font-weight:600;}
.caloanemi-wrap .dot{width:8px;height:8px;border-radius:50%;display:inline-block;}

/* ── DETAILS PANEL ──────────────────────── */
.caloanemi-wrap .details-panel{
  display:none;margin-top:16px;padding:14px 16px;
  background:var(--accent-soft);border:1px solid rgba(201,168,76,0.25);
  border-radius:10px;font-size:13px;color:var(--muted);
}
.caloanemi-wrap .details-panel.open{display:block;}
.caloanemi-wrap .details-panel b{color:var(--text);}
.caloanemi-wrap .details-row{margin-bottom:4px;}

/* ── SCHEDULE CARD ──────────────────────── */
.caloanemi-wrap .schedule-card{margin-top:20px;}
.caloanemi-wrap .schedule-head{
  display:flex;justify-content:space-between;
  align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:16px;
}
.caloanemi-wrap .schedule-title{font-size:15px;font-weight:800;color:var(--primary-dark);}

/* ── TABS ───────────────────────────────── */
.caloanemi-wrap .tabs{
  display:flex;gap:4px;
  background:var(--border-light);
  padding:3px;border-radius:10px;
}
.caloanemi-wrap .tab{
  padding:8px 18px;font-size:12.5px;font-weight:700;
  color:var(--muted);border-radius:8px;cursor:pointer;user-select:none;
  transition:all 0.15s;letter-spacing:0.02em;
}
.caloanemi-wrap .tab.active{
  background:var(--card);color:var(--primary-dark);
  box-shadow:0 1px 4px rgba(11,30,70,0.12);
}

/* ── BUTTONS ────────────────────────────── */
.caloanemi-wrap .dl-buttons{display:flex;gap:8px;flex-wrap:wrap;}
.caloanemi-wrap .btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 16px;border-radius:9px;
  font-size:12.5px;font-weight:700;cursor:pointer;
  font-family:inherit;transition:all 0.15s;letter-spacing:0.01em;
  border:none;
}
.caloanemi-wrap .btn-primary{
  background:linear-gradient(135deg,var(--primary) 0%,var(--primary-mid) 100%);
  color:#fff;
  box-shadow:0 2px 8px rgba(27,63,124,0.3);
}
.caloanemi-wrap .btn-primary:hover{box-shadow:0 4px 16px rgba(27,63,124,0.4);transform:translateY(-1px);}
.caloanemi-wrap .btn-outline{
  background:#fff;color:var(--primary);
  border:1.5px solid var(--primary);
}
.caloanemi-wrap .btn-outline:hover{background:rgba(27,63,124,0.05);}

/* ── TABLE ──────────────────────────────── */
.caloanemi-wrap .period-note{font-size:12px;color:var(--muted);margin:-4px 0 14px;font-weight:500;}
.caloanemi-wrap .table-scroll{
  max-height:420px;overflow-y:auto;
  border:1px solid var(--border);border-radius:12px;
}
.caloanemi-wrap table{width:100%;border-collapse:collapse;font-size:13px;}
.caloanemi-wrap thead th{
  background:linear-gradient(to bottom,#EBF0FA,#E3EAFA);
  color:var(--primary-dark);font-weight:800;
  text-align:right;padding:11px 14px;
  border-bottom:2px solid var(--border);
  position:sticky;top:0;font-size:12px;letter-spacing:0.03em;
}
.caloanemi-wrap thead th:first-child{text-align:left;}
.caloanemi-wrap tbody td{
  padding:9px 14px;border-bottom:1px solid var(--border-light);
  text-align:right;font-variant-numeric:tabular-nums;font-weight:500;
}
.caloanemi-wrap tbody td:first-child{text-align:left;color:var(--muted);font-weight:600;}
.caloanemi-wrap tbody tr:nth-child(even){background:#FAFBFE;}
.caloanemi-wrap tbody tr:hover{background:rgba(27,63,124,0.03);}

/* ── FOOTER ─────────────────────────────── */
.caloanemi-wrap footer{margin-top:36px;text-align:center;}
.caloanemi-wrap .footer-brand{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--card);border:1px solid var(--border);
  border-radius:12px;padding:10px 20px;margin-bottom:16px;
  box-shadow:0 1px 4px rgba(11,30,70,0.06);
}
.caloanemi-wrap .footer-brand-dot{
  width:8px;height:8px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--accent-light));
}
.caloanemi-wrap .powered{font-size:13px;font-weight:700;color:var(--primary-dark);letter-spacing:0.02em;}
.caloanemi-wrap .disclaimer{
  margin:0 auto 0;max-width:820px;
  font-size:11.5px;line-height:1.65;color:var(--muted);
  background:var(--card);border:1px solid var(--border);
  border-radius:12px;padding:16px 20px;text-align:left;
}
.caloanemi-wrap .disclaimer b{color:var(--text);}

/* ── PRINT ──────────────────────────────── */
.caloanemi-wrap .pdf-note{font-size:11px;color:var(--muted);margin-top:6px;text-align:right;}
.caloanemi-wrap .print-area{display:none;}
@media print{
  body *{display:none !important;}
  body *:has(.print-area), .print-area, .print-area *{display:revert !important;}
  html,body{margin:0 !important;padding:0 !important;}
  .caloanemi-wrap .print-area{display:block !important;position:static;width:100%;padding:10px 16px;margin:0;}
  .print-area h2{color:#0F2550;margin:0 0 4px;font-size:18px;}
  .print-area .meta{font-size:10px;color:#555;margin-bottom:14px;}
  .print-area .print-subhead{color:#1B3F7C;font-size:13px;font-weight:700;margin:14px 0 6px;break-after:avoid;page-break-after:avoid;}
  .print-area table{width:100%;border-collapse:collapse;font-size:10.5px;}
  .print-area table.print-summary-table{width:60%;margin-bottom:6px;}
  .print-area table.print-summary-table td:first-child{font-weight:700;width:45%;}
  .print-area thead{display:table-header-group;}
  .print-area tr{break-inside:avoid;page-break-inside:avoid;}
  .print-area th{background:#1B3F7C !important;color:#fff !important;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:6px 8px;border:1px solid #B9C2CE;text-align:right;}
  .print-area th:first-child{text-align:left;}
  .print-area td{padding:5px 8px;border:1px solid #D1D9E6;text-align:right;}
  .print-area td:first-child{text-align:left;}
  .print-area tr:nth-child(even) td{background:#F6F9FD !important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .print-area .pfooter{margin-top:16px;font-size:9px;color:#777;text-align:center;}
}
