/* PMFBY Premium Calculator — matches site design tokens (var(--primary-*), var(--gray-*), var(--radius-*)) */

.pfc-page{
  font-family: -apple-system, "Segoe UI", Roboto, "Noto Sans Devanagari", sans-serif;
  color: var(--text-primary);
}
.pfc-page *{ box-sizing: border-box; }

.pfc-topbar{
  display:flex; align-items:center; justify-content:space-between;
  padding: 10px 16px; background: var(--bg-secondary); border-bottom: 1px solid var(--gray-100);
  gap: 8px; flex-wrap: wrap;
}
.pfc-topbar__left{ display:flex; align-items:center; gap:10px; }
.pfc-topbar__back{
  text-decoration:none; color: var(--text-primary); padding:4px 8px; font-size:16px;
  border-radius: var(--radius-sm);
}
.pfc-topbar__back:hover{ background: var(--gray-100); }
.pfc-topbar__title{ font-size:15px; font-weight:700; margin:0; }

.pfc-wrap{
  max-width: 1080px;
  margin: 0 auto;
  padding: 24px 20px 48px;
}

.pfc-intro{
  font-size:13.5px; line-height:1.6; color: var(--text-secondary); max-width:720px; margin-bottom:22px;
}
.pfc-intro b{ color: var(--primary-700); }

.pfc-grid{
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 20px;
  align-items:start;
}
@media (max-width: 820px){
  .pfc-grid{ grid-template-columns: 1fr; }
}

/* Card */
.pfc-card{
  background: var(--bg-secondary); border: 1px solid var(--gray-100);
  border-left: 3px solid var(--primary-400, #a78bfa); border-radius: var(--radius-lg);
  padding: 18px 18px 16px;
}
.pfc-card__heading{
  font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.8px;
  color: var(--text-secondary); margin-bottom:14px; padding-bottom:8px;
  border-bottom: 1px solid var(--gray-100);
}
.pfc-card__heading--toggle{
  display:flex; align-items:center; justify-content:space-between; cursor:pointer;
  border-bottom: none; margin-bottom: 0; border: 1px solid var(--gray-100);
  background: var(--bg-secondary); border-radius: var(--radius-md); padding: 10px 14px;
}

.pfc-field{ margin-bottom:16px; }
.pfc-field:last-of-type{ margin-bottom: 0; }
.pfc-field label{
  display:block; font-size:11px; text-transform:uppercase; letter-spacing:0.6px;
  color: var(--text-tertiary); margin-bottom:6px; font-weight:600;
}

.pfc-pills{ display:flex; gap:8px; }
.pfc-pill{
  flex:1; text-align:center; padding:9px 8px; border:1.5px solid var(--gray-200);
  border-radius: var(--radius-md); cursor:pointer;
  font-size:13.5px; font-weight:600; color: var(--text-secondary); background: var(--bg-primary);
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.pfc-pill.pfc-active{ background: var(--primary-600); color:#fff; border-color: var(--primary-600); }

.pfc-page select, .pfc-page input[type=number]{
  width:100%; padding:9px 11px; font-size:14px; border:1.5px solid var(--gray-200);
  border-radius: var(--radius-md); background: var(--bg-primary); color: var(--text-primary);
  appearance:none; -webkit-appearance:none;
}
.pfc-page select:focus, .pfc-page input:focus{
  outline: none; border-color: var(--primary-400); box-shadow: 0 0 0 2px rgba(139,92,246,0.1);
}
.pfc-hectare-row{ display:flex; align-items:center; gap:8px; }
.pfc-stepper{
  width:34px; height:34px; border:1.5px solid var(--gray-200); background: var(--bg-primary);
  color: var(--primary-600); font-size:17px; border-radius: var(--radius-md); cursor:pointer; flex-shrink:0;
}
.pfc-stepper:hover{ border-color: var(--primary-400); background: var(--primary-50); }
.pfc-hint{ font-size:11px; color: var(--text-tertiary); margin-top:6px; }

.pfc-calc-btn{
  width:100%; padding:11px; margin-top:4px; background: var(--primary-600); color:#fff;
  border:none; border-radius: var(--radius-md); font-size:14px; font-weight:700; letter-spacing:0.2px;
  cursor:pointer;
}
.pfc-calc-btn:hover{ background: var(--primary-700); }

/* Receipt */
.pfc-receipt-wrap{ position:relative; }
.pfc-receipt{
  background: var(--bg-secondary); border: 1px solid var(--gray-100); border-radius: var(--radius-lg);
  padding: 18px 18px 16px; position:relative; min-height: 360px; display:flex; flex-direction:column;
}
.pfc-receipt-title{
  text-align:center; font-size:11.5px; text-transform:uppercase; letter-spacing:1px;
  color: var(--text-tertiary); font-weight:700;
  border-bottom: 1px dashed var(--gray-200); padding-bottom:12px; margin-bottom:14px;
}
.pfc-receipt-empty{
  flex:1; display:flex; align-items:center; justify-content:center; text-align:center;
  color: var(--text-tertiary); font-size:13px; line-height:1.6; padding: 16px;
}
.pfc-receipt-body{ display:none; flex:1; flex-direction:column; }
.pfc-receipt-body.pfc-show{ display:flex; }
.pfc-r-row{
  display:flex; justify-content:space-between; padding:6px 0; font-size:13px;
  border-bottom: 1px solid var(--gray-100);
}
.pfc-r-row span:first-child{ color: var(--text-secondary); }
.pfc-r-row span:last-child{ font-family: ui-monospace,"SF Mono",Consolas,monospace; font-weight:600; color: var(--text-primary); }
.pfc-r-total{
  display:flex; justify-content:space-between; align-items:center; margin-top:12px; padding-top:12px;
  border-top: 2px solid var(--primary-600);
}
.pfc-r-total__label{
  font-size:12px; color: var(--primary-700); font-weight:700; text-transform:uppercase; letter-spacing:0.5px;
}
.pfc-r-total__amount{
  font-family: ui-monospace,"SF Mono",Consolas,monospace; font-size:24px; font-weight:700;
  color: var(--primary-700);
}
.pfc-stamp-badge{
  position:absolute; top:14px; right:14px; padding: 6px 10px; border-radius: var(--radius-md);
  background: var(--primary-50, #f5f3ff); border: 1.5px solid var(--primary-400);
  color: var(--primary-700); display:flex; align-items:center; justify-content:center;
  text-align:center; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:0.4px;
  line-height:1.3; transform: scale(0); transition: transform 0.3s cubic-bezier(.34,1.56,.64,1);
}
.pfc-stamp-badge.pfc-show{ transform: scale(1); }
.pfc-r-note{
  font-size:11px; color: var(--text-tertiary); margin-top:12px; line-height:1.5;
}

/* Full crop table */
.pfc-table-section{ margin-top:28px; }
.pfc-table-section .pfc-arrow{ transition: transform 0.2s; font-size:12px; color: var(--text-tertiary); }
.pfc-table-section .pfc-card__heading--toggle.pfc-open .pfc-arrow{ transform: rotate(180deg); }
table.pfc-table{
  width:100%; border-collapse:collapse; font-size:12.5px; display:none; margin-top:10px;
}
table.pfc-table.pfc-show{ display:table; }
.pfc-table thead th{
  text-align:left; padding:8px 10px; background: var(--primary-600); color:#fff;
  font-size:11px; text-transform:uppercase; letter-spacing:0.4px; font-weight:600;
}
.pfc-table thead th:first-child{ border-top-left-radius: var(--radius-sm); }
.pfc-table thead th:last-child{ border-top-right-radius: var(--radius-sm); }
.pfc-table tbody td{ padding:8px 10px; border-bottom:1px solid var(--gray-100); }
.pfc-table tbody tr:nth-child(even){ background: var(--bg-secondary); }
.pfc-table td.pfc-num, .pfc-table th.pfc-num{ text-align:right; font-family: ui-monospace,"SF Mono",Consolas,monospace; }

.pfc-footer{
  margin-top:36px; padding-top:16px; border-top:1px solid var(--gray-100);
  font-size:11px; color: var(--text-tertiary); line-height:1.6;
}