/* ============================================================
   Peek Spardha Farmer Portal — theme layer on top of Bootstrap 5
   Brand: Govt. of Maharashtra, Department of Agriculture
   ============================================================ */

:root{
  --ps-green:#2f5241;
  --ps-green-600:#3d6b52;
  --ps-green-900:#16352a;
  --ps-gold:#c2952f;
  --ps-gold-soft:#b78a2e;
  --ps-ink:#1b2420;
  --ps-muted:#5a6560;
  --ps-faint:#8aa294;
  --ps-line:#e2e8e4;
  --ps-line-strong:#d3dad5;
  --ps-bg:#e9ede8;
  --ps-card:#ffffff;
  --ps-soft:#eef3ef;
  --saffron:#ff9933;
  --india-green:#138808;
}

/* ---- base ---- */
body{
  margin:0;
  background:var(--ps-bg);
  background-image:
    radial-gradient(circle at 12% 8%, rgba(47,82,65,.06), transparent 42%),
    radial-gradient(circle at 88% 92%, rgba(194,149,47,.07), transparent 40%);
  color:var(--ps-ink);
  font-family:'IBM Plex Sans','Noto Sans Devanagari',system-ui,sans-serif;
}
.ps-serif{ font-family:'IBM Plex Serif','Noto Serif Devanagari',Georgia,serif; }
.ps-mono{ font-family:'IBM Plex Mono',ui-monospace,monospace; }

a{ color:var(--ps-green); }
a:hover{ color:var(--ps-green-600); }

/* ---- tricolor accent strip ---- */
.ps-tricolor{ display:flex; height:6px; width:100%; }
.ps-tricolor > span{ flex:1; }
.ps-tricolor > span:nth-child(1){ background:var(--saffron); }
.ps-tricolor > span:nth-child(2){ background:#fff; }
.ps-tricolor > span:nth-child(3){ background:var(--india-green); }

/* ---- shells / cards ---- */
.ps-shadow-lg{ box-shadow:0 24px 60px -20px rgba(22,53,42,.35), 0 2px 8px rgba(22,53,42,.08); }
.ps-shadow-md{ box-shadow:0 20px 54px -22px rgba(22,53,42,.32), 0 2px 8px rgba(22,53,42,.07); }
.ps-radius-lg{ border-radius:18px; }
.ps-radius-md{ border-radius:16px; }

/* ---- brand (login left) panel ---- */
.ps-brand-panel{
  background:linear-gradient(160deg,#255141 0%, var(--ps-green-900) 100%);
  color:#fff;
}
.ps-brand-panel .ps-feature{ font-size:.8rem; color:#e7f0ea; }
.ps-brand-panel .ps-feature .ps-tick{
  width:26px;height:26px;flex:0 0 26px;border-radius:8px;
  background:rgba(255,255,255,.12); color:#f4d58a;
  display:flex;align-items:center;justify-content:center;
}
.ps-logo-tile{
  width:96px;height:96px;border-radius:8px;background:#fff;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 16px -8px rgba(0,0,0,.4);
}
.ps-logo-tile img{ width:100%;height:100%;object-fit:contain;padding:5px; }
.ps-tagline{ font-family:'Noto Serif Devanagari',serif; font-size:.8rem; color:#e6f0e9; letter-spacing:.02em; }
.ps-eyebrow{ font-family:'IBM Plex Mono',monospace; font-size:.69rem; letter-spacing:.16em; text-transform:uppercase; color:#cfe3d6; }

/* ---- top bar (app) ---- */
.ps-topbar{ background:linear-gradient(120deg,#255141,var(--ps-green-900)); color:#fff; }
.ps-topbar .ps-logo-sm{ width:44px;height:44px;border-radius:6px;background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center;flex:0 0 44px; }
.ps-topbar .ps-logo-sm img{ width:100%;height:100%;object-fit:contain;padding:2px; }
.ps-avatar{ width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.78rem; }

/* ---- language toggle ---- */
.ps-lang{ display:inline-flex;border:1px solid var(--ps-line-strong);border-radius:8px;overflow:hidden;font-size:.72rem; }
.ps-lang.ps-lang--dark{ border-color:rgba(255,255,255,.28); }
.ps-lang button{ border:0;background:transparent;padding:6px 12px;font-weight:700;cursor:pointer;color:var(--ps-muted); }
.ps-lang button.active{ background:var(--ps-green);color:#fff; }
.ps-lang.ps-lang--dark button{ color:#e7f0ea; }
.ps-lang.ps-lang--dark button.active{ background:rgba(255,255,255,.9);color:var(--ps-ink); }

/* ---- stepper ---- */
.ps-stepper{ display:flex;align-items:flex-start; }
.ps-step{ flex:1;display:flex;flex-direction:column;align-items:center;position:relative;cursor:pointer; }
.ps-step .ps-line{ position:absolute;top:16px;left:-50%;width:100%;height:2px;background:#e0e6e2;z-index:0; }
.ps-step .ps-dot{
  position:relative;z-index:1;width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;
  font-family:'IBM Plex Mono',monospace;background:#eef1ef;color:#9aa7a0;border:2px solid var(--ps-line-strong);
}
.ps-step .ps-step-label{ margin-top:8px;font-size:.72rem;font-weight:600;text-align:center;color:#9aa7a0;line-height:1.25; }
.ps-step.is-active .ps-dot{ background:#fff;color:var(--ps-green);border-color:var(--ps-green);box-shadow:0 4px 12px -4px rgba(47,82,65,.6); }
.ps-step.is-active .ps-step-label{ color:var(--ps-green); }
.ps-step.is-done .ps-dot{ background:var(--ps-green);color:#fff;border-color:var(--ps-green); }
.ps-step.is-done .ps-step-label{ color:#41504a; }
.ps-step.is-done .ps-line,
.ps-step.is-active .ps-line{ background:var(--ps-green); }
.ps-step:first-child .ps-line{ display:none; }

/* ---- forms ---- */
.ps-eyebrow-step{ font-family:'IBM Plex Mono',monospace;font-size:.69rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ps-green-600); }
.ps-section-head{ font-size:.69rem;font-weight:700;color:var(--ps-green);text-transform:uppercase;letter-spacing:.06em; }
.form-label{ font-size:.69rem;font-weight:600;color:#41504a;margin-bottom:5px; }
.form-control,.form-select{ border:1.5px solid var(--ps-line-strong);border-radius:8px;font-size:.82rem;padding:.6rem .7rem; }
.form-control:focus,.form-select:focus{ border-color:var(--ps-green);box-shadow:0 0 0 3px rgba(47,82,65,.13); }
.form-control[readonly]{ background:#f1f5f2;border-color:var(--ps-line);color:#41504a; }
.form-control::placeholder{ color:#9aa7a0; }

/* ---- buttons ---- */
.btn-ps{ background:var(--ps-green);color:#fff;border:0;border-radius:9px;font-weight:700;box-shadow:0 8px 18px -9px rgba(47,82,65,.7);transition:transform .12s ease; }
.btn-ps:hover{ background:var(--ps-green-600);color:#fff;transform:translateY(-1px); }
.btn-ps-outline{ background:#fff;color:var(--ps-green);border:1.5px solid var(--ps-green);border-radius:9px;font-weight:600; }
.btn-ps-outline:hover{ background:var(--ps-soft);color:var(--ps-green); }
.btn-ps-ghost{ background:var(--ps-soft);color:var(--ps-green);border:1.5px solid var(--ps-green);border-radius:9px;font-weight:700; }
.ps-link-btn{ border:0;background:none;color:var(--ps-green-600);font-weight:600;text-decoration:underline;cursor:pointer; }

/* ---- method / segmented tabs ---- */
.ps-seg{ display:grid;grid-template-columns:1fr 1fr;gap:9px;background:#f0f3f0;border-radius:11px;padding:5px; }
.ps-seg .ps-seg-item{ border-radius:8px;padding:11px 10px;cursor:pointer;text-align:center;transition:background .12s ease,box-shadow .12s ease; }
.ps-seg .ps-seg-item.active{ background:#fff;box-shadow:0 2px 8px rgba(22,53,42,.14); }
.ps-seg .ps-seg-item .ps-seg-title{ font-weight:700;font-size:.8rem;color:var(--ps-muted); }
.ps-seg .ps-seg-item.active .ps-seg-title{ color:var(--ps-green); }
.ps-seg .ps-seg-item .ps-seg-sub{ font-size:.62rem;color:#7a8880;margin-top:2px; }

/* ---- crop cards ---- */
.ps-crop{ border:1.5px solid var(--ps-line);background:#fff;border-radius:11px;padding:14px 16px;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease; }
.ps-crop.selected{ border-color:var(--ps-green);background:#f4f8f5;box-shadow:0 6px 18px -12px rgba(47,82,65,.5); }
.ps-crop .ps-crop-head{ display:flex;align-items:center;justify-content:space-between;cursor:pointer; }
.ps-check{ width:21px;height:21px;border-radius:6px;border:2px solid #c3cec7;background:#fff;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700; }
.ps-crop.selected .ps-check{ border-color:var(--ps-green);background:var(--ps-green); }
.ps-crop-body{ margin-top:13px;border-top:1px dashed #d7e0da;padding-top:13px; }
.ps-min{ font-size:.66rem;color:var(--ps-faint);font-family:'IBM Plex Mono',monospace; }
.ps-elig{ font-size:.66rem;margin-top:9px;font-weight:600; }
.ps-elig.ok{ color:var(--ps-green-600); }
.ps-elig.bad{ color:#b0453a; }
.ps-elig.info{ color:var(--ps-faint); }

/* ---- season pills / land type ---- */
.ps-pill{ border:1.5px solid var(--ps-line-strong);background:#fff;color:#41504a;border-radius:18px;padding:6px 16px;font-size:.78rem;font-weight:600;cursor:pointer; }
.ps-pill.active{ border-color:var(--ps-green);background:var(--ps-green);color:#fff; }
.ps-landtype{ display:flex;gap:6px; }
.ps-landtype .ps-lt{ flex:1;text-align:center;border:1.5px solid var(--ps-line-strong);background:#fff;color:var(--ps-muted);border-radius:7px;padding:8px 4px;font-size:.72rem;font-weight:600;cursor:pointer; }
.ps-landtype .ps-lt.active{ border-color:var(--ps-green);background:var(--ps-green);color:#fff; }
.ps-deadline{ font-size:.72rem;color:#b0453a;background:#fbeeec;border-radius:7px;padding:6px 13px;font-weight:600; }

/* ---- payment ---- */
.ps-pay{ border:1.5px solid var(--ps-line);background:#fff;border-radius:10px;padding:14px 16px;cursor:pointer;display:flex;align-items:center;justify-content:space-between; }
.ps-pay.active{ border-color:var(--ps-green);background:#f4f8f5; }
.ps-pay .ps-pay-ico{ width:38px;height:30px;border-radius:6px;background:var(--ps-soft);display:flex;align-items:center;justify-content:center;font-size:1rem; }
.ps-pay .ps-radio{ width:18px;height:18px;border-radius:50%;border:2px solid #c3cec7;background:#fff; }
.ps-pay.active .ps-radio{ border-color:var(--ps-green);background:var(--ps-green); }
.ps-summary{ border:1.5px solid var(--ps-line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 8px 22px -14px rgba(22,53,42,.3); }
.ps-summary .ps-summary-head{ background:var(--ps-soft);padding:12px 16px;font-weight:700;font-size:.78rem;color:var(--ps-green); }
.ps-summary .ps-total{ border-top:2px solid var(--ps-green); }

/* ---- upload / declaration ---- */
.ps-dropzone{ border:1.5px dashed var(--ps-gold-soft);border-radius:9px;background:#fdf8ec;padding:15px;display:flex;align-items:center;gap:12px;cursor:pointer;color:#8a6a1e; }
.ps-dropzone .ps-dz-ico{ width:34px;height:34px;border-radius:8px;background:#f4e6c4;color:#8a6a1e;display:flex;align-items:center;justify-content:center;font-size:1rem; }
.ps-infobox{ border:1.5px solid var(--ps-line);border-radius:10px;padding:15px;background:#fbfcfb; }
.ps-decl-item{ display:flex;gap:10px;cursor:pointer; }
.ps-decl-check{ flex:0 0 20px;width:20px;height:20px;border-radius:5px;border:2px solid #c3cec7;background:#fff;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700; }
.ps-decl-item.checked .ps-decl-check{ border-color:var(--ps-green);background:var(--ps-green); }

/* ---- misc ---- */
.ps-done-ico{ width:70px;height:70px;border-radius:50%;background:linear-gradient(150deg,#e3efe7,#cfe3d6);color:var(--ps-green);display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 18px;box-shadow:0 10px 26px -12px rgba(47,82,65,.6); }
.ps-badge-status{ background:#e3efe7;color:var(--ps-green);padding:3px 10px;border-radius:11px;font-size:.68rem;font-weight:700; }
.ps-footnote{ text-align:center;font-size:.68rem;color:var(--ps-faint);font-family:'IBM Plex Mono',monospace; }
[hidden]{ display:none !important; }
