/* CNC build orders: order page, production queue cards, customer page. Shares the home page's blueprint palette. */
:root{--cb-bp:#0c1a2b;--cb-bp2:#12304d;--cb-acc:#7cc4ff;--cb-acc2:#5eead4;--cb-mut:#a9c0d6}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cb-ltr{font-family:var(--mono);font-size:.92em}
.cb-small{font-size:12.5px;margin:8px 0 0}

/* hero */
.cb-hero{position:relative;isolation:isolate;color:#e8f1fa;padding:44px 0 48px;background:radial-gradient(700px 320px at 15% 20%,rgba(124,196,255,.16),transparent 60%),linear-gradient(160deg,var(--cb-bp),var(--cb-bp2))}
.cb-hero::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(205,225,245,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(205,225,245,.06) 1px,transparent 1px);background-size:24px 24px}
.cb-pill{display:inline-block;font-size:12.5px;font-weight:700;padding:5px 12px;border-radius:999px;background:rgba(124,196,255,.12);border:1px solid rgba(124,196,255,.3)}
.cb-hero h1{font-size:clamp(26px,4vw,44px);line-height:1.35;font-weight:900;color:#fff;margin:16px 0 10px}
.cb-hero h1 span{display:block;background:linear-gradient(90deg,var(--cb-acc),var(--cb-acc2));-webkit-background-clip:text;background-clip:text;color:transparent}
.cb-hero p{color:var(--cb-mut);max-width:640px;margin:0 0 20px}
.cb-stats{list-style:none;display:flex;flex-wrap:wrap;gap:10px 28px;padding:0;margin:0 0 22px}
.cb-stats li{display:flex;flex-direction:column;line-height:1.5;padding-inline-start:14px;border-inline-start:2px solid rgba(124,196,255,.35)}
.cb-stats b{font-size:22px;font-weight:900;color:#fff}.cb-stats span{font-size:12.5px;color:var(--cb-mut)}
.cb-btn-light{background:#fff;color:var(--cb-bp)}.cb-btn-light:hover{background:var(--cb-acc);color:var(--cb-bp)}

/* production queue cards */
.cb-cards{display:grid;gap:12px}
.cb-card{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:16px;background:var(--card);border:1px solid var(--line2);box-shadow:var(--sh)}
.cb-card__count{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:84px;height:84px;border-radius:16px;color:#fff;background:linear-gradient(150deg,var(--accent),var(--accent-d));text-align:center;line-height:1.3}
.cb-card__count b{font-size:28px;font-weight:900}.cb-card__count span{font-size:11px;opacity:.9}
.cb-card--soon .cb-card__count{background:linear-gradient(150deg,#d38b12,#9a5f06)}
.cb-card--late .cb-card__count{background:linear-gradient(150deg,#c4321f,#8f1d12)}
.cb-card--ok .cb-card__count{background:linear-gradient(150deg,#22a06b,#16714b)}
.cb-card__body{flex:1;min-width:0;display:grid;gap:6px}
.cb-card__body strong{font-size:15px;line-height:1.6}
.cb-card__body small{font-size:12.5px;color:var(--muted)}
.cb-bar{direction:rtl;appearance:none;-webkit-appearance:none;width:100%;height:8px;border:0;border-radius:999px;background:var(--line2);overflow:hidden}
.cb-bar::-webkit-progress-bar{background:var(--line2);border-radius:999px}
.cb-bar::-webkit-progress-value{background:linear-gradient(90deg,var(--accent),#3b82b6);border-radius:999px}
.cb-bar::-moz-progress-bar{background:linear-gradient(90deg,var(--accent),#3b82b6);border-radius:999px}
.cb-card--ok .cb-bar::-webkit-progress-value{background:#22a06b}.cb-card--ok .cb-bar::-moz-progress-bar{background:#22a06b}
.cb-stages{list-style:none;padding:0;margin:2px 0 0;display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.cb-stages li{height:6px;border-radius:999px;background:var(--line2)}
.cb-stages .is-done{background:var(--accent)}
.cb-stages .is-cur{background:linear-gradient(90deg,var(--accent-s),var(--accent))}
.cb-card--ok .cb-stages li{background:#22a06b}
.cb-now{margin:0;font-size:12.5px;font-weight:700;color:var(--accent-d)}
.cb-card--ok .cb-now{color:var(--green)}

/* order form */
.cb-grid{display:grid;gap:18px;align-items:start}
.cb-form{padding:20px}
.cb-h{display:flex;align-items:center;gap:10px;font-size:16px;margin:22px 0 12px}
.cb-h:first-of-type{margin-top:4px}
.cb-h i{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;font-style:normal;font-size:13px;font-weight:800;color:#fff;background:linear-gradient(145deg,var(--accent),var(--accent-d))}
.cb-machines{display:grid;gap:10px}
.cb-mc{position:relative;display:block;cursor:pointer}
.cb-mc input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.cb-mc__in{display:grid;gap:4px;padding:14px 16px;border-radius:14px;border:1.5px solid var(--line);background:var(--paper);transition:border-color .15s,box-shadow .15s,background .15s}
.cb-mc__in b{font-size:15px}.cb-mc__in small{font-size:12.5px;color:var(--muted);line-height:1.7}
.cb-mc__meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:11.5px;color:var(--faint)}
.cb-mc input:checked + .cb-mc__in{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px var(--accent-s)}
.cb-mc input:focus-visible + .cb-mc__in{outline:2px solid var(--accent);outline-offset:2px}
.cb-xyz{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cb-two{display:grid;gap:10px;margin-top:12px}
.cb-f{display:grid;gap:4px;font-size:13px;font-weight:600;color:var(--ink2);margin-top:10px}
.cb-xyz .cb-f{margin-top:0}
.cb-f input,.cb-f select,.cb-f textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:10px 12px;font-size:14px;font-weight:400}
.cb-f input,.cb-f select{height:44px;padding-block:0}
.cb-f input:focus,.cb-f select:focus,.cb-f textarea:focus{outline:2px solid var(--accent-s);border-color:var(--accent)}
.cb-f small{font-weight:400;font-size:11.5px}
.cb-mats{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:0}
.cb-chip{position:relative;cursor:pointer}
.cb-chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.cb-chip span{display:inline-block;padding:7px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--paper);font-size:13px;transition:all .15s}
.cb-chip input:checked + span{border-color:var(--accent);background:var(--accent-s);color:var(--accent-d);font-weight:700}
.cb-chip input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.cb-err{display:block;color:var(--red);font-size:12.5px;font-weight:600;margin-top:4px}
.cb-hp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);opacity:0;pointer-events:none}
.cb-submit{width:100%;height:48px;margin-top:18px;font-size:15px}
.cb-side{display:grid;gap:12px}
.cb-how{padding:18px}
.cb-how h2{font-size:15px;margin:0 0 10px}
.cb-how ol{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:cb}
.cb-how li{counter-increment:cb;display:grid;grid-template-columns:28px 1fr;column-gap:10px;font-size:13px}
.cb-how li::before{content:counter(cb);grid-row:span 2;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--accent-s);color:var(--accent);font-weight:800;font-size:12px}
.cb-how li span{color:var(--muted);font-size:12px}
.cb-plain li{grid-template-columns:28px 1fr;align-items:center}
.cb-plain li::before{grid-row:auto}
.cb-cfg{display:grid;gap:4px;padding:16px;border:1px dashed rgba(43,92,130,.35)}
.cb-cfg b{color:var(--accent)}.cb-cfg span{font-size:12.5px;color:var(--muted)}

/* customer page */
.cb-mine{padding:18px;margin-bottom:12px;display:grid;gap:12px}
.cb-mine__head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:center}
.cb-mine .cb-card{box-shadow:none;background:var(--paper)}
.cb-st{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--line2);color:var(--ink2)}
.cb-st--quoted,.cb-st--building{background:var(--accent-s);color:var(--accent-d)}
.cb-st--ready,.cb-st--delivered{background:var(--green-s);color:var(--green)}
.cb-dl{display:grid;gap:8px 18px;margin:0;font-size:13px}
.cb-dl div{display:flex;gap:6px}.cb-dl dt{color:var(--muted)}.cb-dl dd{margin:0;font-weight:600}
.cb-empty{padding:28px;text-align:center}

@media (min-width:640px){
  .cb-machines{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cb-two{grid-template-columns:1fr 1fr}
  .cb-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cb-dl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cb-dl__wide{grid-column:1/-1}
}
@media (min-width:960px){
  .cb-hero{padding:60px 0 64px}
  .cb-grid{grid-template-columns:minmax(0,1fr) 320px}
  .cb-side{position:sticky;top:90px}
  .cb-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cb-form{padding:26px 28px}
}

/* Online deposit and balance on «دستگاه‌های CNC من» (flag cnc_deposit) */
.cb-pay{border-top:1px solid var(--line);padding-top:12px;display:grid;gap:10px}
.cb-pay__t{font-size:14px;margin:0}
.cb-pay__sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:0}
.cb-pay__sum div{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:8px 12px}
.cb-pay__sum dt{font-size:12px;color:var(--muted)}.cb-pay__sum dd{margin:2px 0 0;font-weight:800;font-size:15px}
.cb-pay__ok{display:inline-block;font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;background:var(--green-s);color:var(--green);vertical-align:middle}
.cb-pay__rows{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:13px}
.cb-pay__rows li{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
.cb-pay__rows small{flex-basis:100%}
.cb-pay__go{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
