/* Arvan Predict — front-end form
   Everything is scoped under .arvanp-root so the host theme cannot bleed in
   and this cannot bleed out. */

.arvanp-root{
  --arvanp-bg:#F3F6F4;
  --arvanp-raised:#F7F9F8;
  --arvanp-card:#FFFFFF;
  --arvanp-hover:#EFF4F1;
  --arvanp-line:#DCE3DF;
  --arvanp-line-soft:#E8ECE9;
  --arvanp-line-strong:#B9C6BF;
  --arvanp-ink:#1E2623;
  --arvanp-dim:#5B655F;
  --arvanp-faint:#93A099;
  --arvanp-green:#4F7B64;
  --arvanp-green-hover:#436A56;
  --arvanp-green-soft:rgba(79,123,100,.08);
  --arvanp-green-ink:#2F5443;
  --arvanp-ok:#2F9E5C;
  --arvanp-warn:#C98A1F;
  --arvanp-orange:#D97706;
  --arvanp-blue:#3B6FA5;
  --arvanp-danger:#C24444;
  --arvanp-shadow-sm:0 1px 2px rgba(20,30,25,.05);
  --arvanp-shadow-md:0 10px 28px -16px rgba(20,30,25,.20), 0 1px 2px rgba(20,30,25,.06);

  direction:rtl;
  text-align:right;
  font-family:'Vazirmatn', sans-serif;
  color:var(--arvanp-ink);
  background:var(--arvanp-bg);
  border-radius:16px;
  padding:22px;
  font-size:15px;
  line-height:1.7;
}
.arvanp-root *,
.arvanp-root *::before,
.arvanp-root *::after{ box-sizing:border-box; }

.arvanp-root button{ cursor:pointer; font-family:inherit; }
.arvanp-root input,
.arvanp-root select,
.arvanp-root textarea{ font-family:inherit; }

/* ---------- header ---------- */
.arvanp-topbar{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; flex-wrap:wrap; }
.arvanp-brand{ display:flex; align-items:center; gap:11px; }
.arvanp-mark{
  width:40px; height:40px; border-radius:11px;
  background:linear-gradient(155deg,#4F7B64,#3B6350);
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--arvanp-shadow-sm); flex-shrink:0;
}
.arvanp-mark svg{ width:21px; height:21px; }
.arvanp-brand-name{ font-weight:800; font-size:17px; }
.arvanp-brand-sub{ font-size:11.5px; color:var(--arvanp-faint); margin-top:1px; }

/* ---------- stepper ---------- */
.arvanp-stepper{
  display:flex; align-items:center; margin-bottom:22px;
  background:var(--arvanp-card); border:1px solid var(--arvanp-line);
  border-radius:14px; padding:14px 18px; overflow-x:auto; box-shadow:var(--arvanp-shadow-sm);
}
.arvanp-step{ display:flex; align-items:center; gap:9px; white-space:nowrap; flex:1; cursor:pointer; }
.arvanp-step-dot{
  width:26px; height:26px; border-radius:50%; background:var(--arvanp-raised);
  border:1.5px solid var(--arvanp-line); display:flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:700; color:var(--arvanp-faint); flex-shrink:0;
}
.arvanp-step.is-done .arvanp-step-dot{ background:var(--arvanp-ok); border-color:var(--arvanp-ok); color:#fff; }
.arvanp-step.is-active .arvanp-step-dot{ background:var(--arvanp-green); border-color:var(--arvanp-green); color:#fff; }
.arvanp-step-label{ font-size:12.5px; color:var(--arvanp-faint); font-weight:600; }
.arvanp-step.is-active .arvanp-step-label{ color:var(--arvanp-ink); }
.arvanp-step.is-done .arvanp-step-label{ color:var(--arvanp-dim); }
.arvanp-step-sep{ flex:0 0 26px; height:1.5px; background:var(--arvanp-line); margin:0 6px; }
.arvanp-step.is-done + .arvanp-step-sep{ background:var(--arvanp-ok); }

/* ---------- cards & layout ---------- */
.arvanp-card{
  background:var(--arvanp-card); border:1px solid var(--arvanp-line);
  border-radius:14px; padding:22px; box-shadow:var(--arvanp-shadow-md);
}
.arvanp-grid2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.arvanp-grid3{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
@media (max-width:782px){
  .arvanp-grid2, .arvanp-grid3{ grid-template-columns:1fr; }
  .arvanp-root{ padding:16px; }
}

.arvanp-title{ font-size:16px; font-weight:800; margin:0 0 4px; }
.arvanp-desc{ font-size:13px; color:var(--arvanp-dim); margin:0 0 18px; }

/* ---------- fields ---------- */
.arvanp-field{ display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.arvanp-field > label{ font-size:12.5px; color:var(--arvanp-dim); font-weight:600; }
.arvanp-field input[type=text],
.arvanp-field input[type=tel],
.arvanp-field input[type=number],
.arvanp-field input[type=date],
.arvanp-field select,
.arvanp-field textarea{
  width:100%; background:var(--arvanp-raised); border:1px solid var(--arvanp-line);
  color:var(--arvanp-ink); border-radius:9px; padding:10px 12px; font-size:14px;
  outline:none; transition:border-color .15s, box-shadow .15s; box-shadow:none;
}
.arvanp-field textarea{ resize:vertical; min-height:64px; }
.arvanp-field input:focus,
.arvanp-field select:focus,
.arvanp-field textarea:focus{
  border-color:var(--arvanp-green); box-shadow:0 0 0 3px var(--arvanp-green-soft);
}
.arvanp-field input::placeholder,
.arvanp-field textarea::placeholder{ color:var(--arvanp-faint); }
.arvanp-req{ color:var(--arvanp-danger); }

.arvanp-inline{ display:flex; gap:8px; }
.arvanp-inline input{ flex:1; }
.arvanp-inline select{ flex:0 0 auto; }

/* ---------- chips ---------- */
.arvanp-chipset{ display:flex; flex-wrap:wrap; gap:8px; }
.arvanp-chip{
  border:1px solid var(--arvanp-line); background:var(--arvanp-raised); color:var(--arvanp-dim);
  padding:8px 14px; border-radius:999px; font-size:13px; font-weight:600;
  transition:.15s; user-select:none; cursor:pointer;
}
.arvanp-chip:hover{ border-color:var(--arvanp-line-strong); color:var(--arvanp-ink); }
.arvanp-chip.is-selected{ background:var(--arvanp-green-soft); border-color:var(--arvanp-green); color:var(--arvanp-green-ink); }

.arvanp-subhead{
  font-size:11.5px; font-weight:700; color:var(--arvanp-green-ink);
  margin:16px 0 8px; padding-bottom:6px; border-bottom:1px dashed var(--arvanp-line);
}
.arvanp-subhead:first-child{ margin-top:0; }

/* ---------- option cards / yes-no ---------- */
.arvanp-opts{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:10px; }
.arvanp-opt{
  border:1px solid var(--arvanp-line); background:var(--arvanp-raised); border-radius:11px;
  padding:12px 14px; font-size:13px; font-weight:600; color:var(--arvanp-dim);
  text-align:center; transition:.15s; cursor:pointer;
}
.arvanp-opt:hover{ border-color:var(--arvanp-line-strong); color:var(--arvanp-ink); }
.arvanp-opt.is-selected{ border-color:var(--arvanp-green); background:var(--arvanp-green-soft); color:var(--arvanp-green-ink); }

.arvanp-yn{ display:flex; gap:8px; }
.arvanp-yn button{
  flex:1; padding:9px; border-radius:9px; border:1px solid var(--arvanp-line);
  background:var(--arvanp-raised); color:var(--arvanp-dim); font-weight:700; font-size:13px;
}
.arvanp-yn button.is-selected{ background:var(--arvanp-green-soft); border-color:var(--arvanp-green); color:var(--arvanp-green-ink); }

/* ---------- machine / part cards ---------- */
.arvanp-machine{
  border:1px solid var(--arvanp-line); border-radius:13px; background:var(--arvanp-card);
  margin-bottom:14px; overflow:hidden; box-shadow:var(--arvanp-shadow-sm);
}
.arvanp-machine-head{ display:flex; align-items:center; justify-content:space-between; padding:14px 16px; cursor:pointer; gap:10px; }
.arvanp-machine-head:hover{ background:var(--arvanp-hover); }
.arvanp-machine-title{ display:flex; align-items:center; gap:10px; font-weight:700; font-size:14.5px; min-width:0; }
.arvanp-machine-icon{
  width:32px; height:32px; border-radius:8px; background:var(--arvanp-green-soft);
  color:var(--arvanp-green-ink); display:flex; align-items:center; justify-content:center;
  font-size:15px; flex-shrink:0;
}
.arvanp-machine-meta{ font-size:12px; color:var(--arvanp-faint); font-weight:500; }
.arvanp-machine-body{ padding:16px 16px 18px; border-top:1px solid var(--arvanp-line-soft); }

.arvanp-part{ border:1px solid var(--arvanp-line); border-radius:11px; background:var(--arvanp-raised); margin-top:10px; overflow:hidden; }
.arvanp-part-head{ display:flex; align-items:center; justify-content:space-between; padding:11px 14px; cursor:pointer; gap:10px; }
.arvanp-part-head:hover{ background:var(--arvanp-hover); }
.arvanp-part-title{ font-size:13.5px; font-weight:700; }
.arvanp-part-body{ padding:6px 14px 16px; border-top:1px solid var(--arvanp-line-soft); }

.arvanp-iconbtn{
  background:transparent; border:1px solid var(--arvanp-line); color:var(--arvanp-dim);
  border-radius:8px; width:32px; height:32px; display:flex; align-items:center;
  justify-content:center; font-size:14px; flex-shrink:0; line-height:1;
}
.arvanp-iconbtn:hover{ border-color:var(--arvanp-danger); color:var(--arvanp-danger); }
.arvanp-caret{ transition:transform .2s; color:var(--arvanp-faint); font-size:13px; }
.arvanp-caret.is-open{ transform:rotate(180deg); }

/* ---------- badges ---------- */
.arvanp-badge{ display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:999px; font-size:11.5px; font-weight:700; white-space:nowrap; }
.arvanp-badge i{ width:7px; height:7px; border-radius:50%; display:block; }
.arvanp-b-red{ background:rgba(194,68,68,.10); color:#A83636; } .arvanp-b-red i{ background:var(--arvanp-danger); }
.arvanp-b-orange{ background:rgba(217,119,6,.10); color:#B25E05; } .arvanp-b-orange i{ background:var(--arvanp-orange); }
.arvanp-b-yellow{ background:rgba(201,138,31,.10); color:#92660F; } .arvanp-b-yellow i{ background:var(--arvanp-warn); }
.arvanp-b-blue{ background:rgba(59,111,165,.10); color:#2A5480; } .arvanp-b-blue i{ background:var(--arvanp-blue); }
.arvanp-b-green{ background:rgba(47,158,92,.10); color:#1F7A46; } .arvanp-b-green i{ background:var(--arvanp-ok); }
.arvanp-b-gray{ background:var(--arvanp-line-soft); color:var(--arvanp-faint); } .arvanp-b-gray i{ background:var(--arvanp-faint); }

/* ---------- buttons ---------- */
.arvanp-btn{
  border-radius:10px; padding:11px 20px; font-size:13.5px; font-weight:700;
  border:1px solid transparent; transition:.15s; display:inline-flex; align-items:center; gap:7px;
}
.arvanp-btn-primary{ background:var(--arvanp-green); color:#fff; box-shadow:0 1px 2px rgba(20,30,25,.08); }
.arvanp-btn-primary:hover{ background:var(--arvanp-green-hover); }
.arvanp-btn-primary:disabled{ opacity:.45; cursor:not-allowed; }
.arvanp-btn-ghost{ background:transparent; border-color:var(--arvanp-line); color:var(--arvanp-dim); }
.arvanp-btn-ghost:hover{ border-color:var(--arvanp-line-strong); color:var(--arvanp-ink); }
.arvanp-btn-ghost:disabled{ opacity:.45; cursor:not-allowed; }

/* ---------- footer nav ---------- */
.arvanp-footer{
  position:sticky; bottom:14px; display:flex; justify-content:space-between; align-items:center;
  background:var(--arvanp-card); border:1px solid var(--arvanp-line); border-radius:13px;
  padding:12px 16px; margin-top:18px; box-shadow:var(--arvanp-shadow-md); gap:10px;
}
.arvanp-footer-hint{ font-size:12px; color:var(--arvanp-faint); text-align:center; }

/* ---------- prediction ---------- */
.arvanp-pred{
  border:1px solid var(--arvanp-line); background:var(--arvanp-raised); border-radius:12px;
  padding:16px; display:flex; flex-direction:column; gap:10px;
}
.arvanp-pred-row{ display:flex; justify-content:space-between; align-items:center; font-size:12.5px; gap:10px; }
.arvanp-pred-row .k{ color:var(--arvanp-faint); }
.arvanp-pred-row .v{ font-weight:700; }
.arvanp-conf{ height:6px; border-radius:99px; background:var(--arvanp-line-soft); overflow:hidden; margin-top:4px; }
.arvanp-conf span{ display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,var(--arvanp-warn),var(--arvanp-ok)); }
.arvanp-suggest{
  background:var(--arvanp-green-soft); border:1px solid rgba(79,123,100,.25); color:var(--arvanp-green-ink);
  border-radius:9px; padding:10px 12px; font-size:12.5px; font-weight:600; line-height:1.6;
}
.arvanp-insufficient{
  background:var(--arvanp-line-soft); border:1px dashed var(--arvanp-line-strong); color:var(--arvanp-dim);
  border-radius:9px; padding:10px 12px; font-size:12px; line-height:1.8;
}

/* ---------- summary ---------- */
.arvanp-sum-title{ font-size:13px; font-weight:800; color:var(--arvanp-green-ink); margin-bottom:10px; display:flex; align-items:center; gap:8px; }
.arvanp-kv{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px 20px; }
@media (max-width:782px){ .arvanp-kv{ grid-template-columns:1fr 1fr; } }
.arvanp-kv > div{ font-size:12.5px; }
.arvanp-kv .k{ color:var(--arvanp-faint); display:block; margin-bottom:2px; }
.arvanp-kv .v{ font-weight:600; }

/* ---------- states ---------- */
.arvanp-empty{ text-align:center; padding:44px 20px; color:var(--arvanp-faint); }
.arvanp-empty-icon{ font-size:32px; margin-bottom:10px; opacity:.6; }

.arvanp-note{ margin-top:14px; padding:12px 14px; border-radius:10px; font-size:13.5px; font-weight:700; text-align:center; }
.arvanp-note-ok{ background:rgba(47,158,92,.10); color:#1F7A46; border:1px solid rgba(47,158,92,.25); }
.arvanp-note-err{ background:rgba(194,68,68,.10); color:#A83636; border:1px solid rgba(194,68,68,.25); }

.arvanp-done{ text-align:center; padding:40px 20px; }
.arvanp-done-icon{
  width:60px; height:60px; margin:0 auto 16px; border-radius:50%;
  background:rgba(47,158,92,.12); color:var(--arvanp-ok);
  display:flex; align-items:center; justify-content:center; font-size:28px;
}
