@font-face{font-family:IRANSans;font-weight:400;font-display:swap;src:url("../fonts/IRANSansWeb(FaNum)_Medium.woff") format("woff")}
@font-face{font-family:IRANSans;font-weight:700;font-display:swap;src:url("../fonts/IRANSansWeb(FaNum)_Bold.woff2") format("woff2")}
:root{--k-brand:#0b5f5a;--k-brand2:#11a39c;--k-soft:#e6f6f5;--k-ink:#0f2230;--k-muted:#5f727f;--k-bg:#f2f7f8;--k-line:#d7e5e8;--k-red:#c62828}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;background:var(--k-bg);color:var(--k-ink);font-family:IRANSans,Tahoma,sans-serif;font-size:clamp(16px,1.25vw + 8px,26px);user-select:none;overscroll-behavior:none}
input{user-select:text}
button,input{font:inherit;color:inherit}
.k{min-height:100vh;display:flex;flex-direction:column}
.k-top{display:flex;align-items:center;justify-content:space-between;padding:.8em 1.4em;background:linear-gradient(135deg,var(--k-brand),var(--k-brand2));color:#fff}
.k-brand{text-align:center;line-height:1.3}.k-brand b{display:block;font-size:1.15em}.k-brand small{opacity:.85;font-size:.7em}
.k-back,.k-home{background:rgba(255,255,255,.18);border:0;color:#fff;border-radius:.6em;padding:.5em 1em;cursor:pointer;min-height:2.6em}
main{flex:1;padding:1.5em 2em}
.k-foot{text-align:center;padding:.8em;color:var(--k-muted);font-size:.8em;border-top:1px solid var(--k-line);background:#fff}
.k-foot b{color:var(--k-red)}
.k-home-main{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8em;text-align:center;padding-top:1em;padding-bottom:1em}
.k-title{font-size:2.4em;margin:0;color:var(--k-brand)}
.k-sub{margin:0;color:var(--k-muted);font-size:1.05em}
.k-ask{display:flex;gap:.5em;width:min(1100px,100%);margin-top:.6em}
.k-ask-input{flex:1;min-height:3em;border:2px solid var(--k-line);border-radius:1em;padding:0 1em;font-size:1.15em;background:#fff;outline:none}
.k-ask-input:focus{border-color:var(--k-brand2)}
.k-mic{width:3.2em;border:0;border-radius:1em;background:var(--k-soft);font-size:1.3em;cursor:pointer}
.k-mic.on{background:var(--k-red);animation:kp 1s infinite}
@keyframes kp{50%{opacity:.6}}
.k-chips{display:flex;flex-wrap:wrap;gap:.5em;justify-content:center;width:min(1500px,100%)}
.k-chip{border:2px solid #bfe4e1;background:#fff;color:var(--k-brand);border-radius:2em;padding:.5em 1.1em;cursor:pointer}
.k-chip:active,.k-spec:active,.k-slot:active,.k-tile:active,.k-btn:active,.k-pad button:active{transform:scale(.97)}
.k-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(10em,1fr));gap:1em;width:min(1500px,100%);margin-top:.6em}
.k-tile{display:flex;flex-direction:column;align-items:center;gap:.2em;padding:1.1em;border-radius:1.2em;border:0;background:var(--k-brand);color:#fff;text-decoration:none;cursor:pointer;box-shadow:0 6px 18px rgba(11,95,90,.25)}
.k-tile i{font-style:normal;font-size:2em}.k-tile b{font-size:1.1em}.k-tile small{opacity:.85;font-size:.75em}
.k-tile-alt{background:#fff;color:var(--k-brand);box-shadow:0 2px 10px rgba(0,0,0,.06);border:2px solid var(--k-line)}
.k-wide{max-width:1500px;margin:0 auto;width:100%}
.k-h1{font-size:1.8em;margin:.2em 0 .6em;color:var(--k-brand)}
.k-h2{font-size:1.3em;margin:1em 0 .5em}
.k-q{font-size:1.2em;color:var(--k-muted);margin:.2em 0}
.k-lead{font-size:1.15em;line-height:1.9}
.k-muted{color:var(--k-muted)}
.k-filter{width:100%;min-height:2.8em;border:2px solid var(--k-line);border-radius:.8em;padding:0 1em;margin-bottom:1em;background:#fff}
.k-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(14em,1fr));gap:.8em}
.k-spec{display:flex;flex-direction:column;align-items:flex-start;gap:.3em;padding:1em 1.2em;border-radius:1em;border:2px solid var(--k-line);background:#fff;cursor:pointer;text-align:right}
.k-spec b{font-size:1.15em;color:var(--k-brand)}.k-spec small{color:var(--k-muted);font-size:.8em}
.k-spec.k-dim{opacity:.55}
.k-emerg{background:#fdecea;border:3px solid var(--k-red);color:var(--k-red);border-radius:1em;padding:1em 1.2em;margin-bottom:1em;display:flex;flex-direction:column;gap:.3em}
.k-emerg b{font-size:1.2em}
.k-actions{display:flex;flex-wrap:wrap;gap:.8em;justify-content:center;margin-top:1.4em}
.k-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:3em;padding:0 1.6em;border-radius:.9em;border:2px solid var(--k-line);background:#fff;color:var(--k-ink);cursor:pointer;text-decoration:none}
.k-btn-pri{background:var(--k-brand);border-color:var(--k-brand);color:#fff}
.k-btn-block{width:100%;margin-top:.6em}
.k-btn:disabled{opacity:.5}
.k-doc{background:#fff;border:2px solid var(--k-line);border-radius:1.2em;padding:1em 1.2em;margin-bottom:1em}
.k-doc-h{display:flex;gap:1em;align-items:center;margin-bottom:.6em}
.k-doc-h img,.k-av{width:4.5em;height:4.5em;border-radius:1em;object-fit:cover;flex:none;background:var(--k-soft);display:grid;place-items:center;font-size:2em}
.k-doc-h b{font-size:1.25em;display:block}.k-doc-h small{display:block;color:var(--k-muted);font-size:.8em}
.k-badge{font-style:normal;font-size:.7em;background:#fff4e0;color:#a15c00;border-radius:1em;padding:.1em .7em;margin-right:.5em}
.k-day{margin-top:.5em}
.k-day-h{font-weight:700;color:var(--k-muted);margin-bottom:.3em;font-size:.9em}
.k-slots{display:flex;flex-wrap:wrap;gap:.5em}
.k-slot{min-width:5em;min-height:2.6em;border:2px solid #bfe4e1;background:var(--k-soft);color:var(--k-brand);border-radius:.7em;font-weight:700;cursor:pointer}
.k-center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.6em;max-width:1100px;margin:0 auto}
.k-spin{width:3.5em;height:3.5em;border:.4em solid var(--k-line);border-top-color:var(--k-brand2);border-radius:50%;animation:ks 1s linear infinite}
@keyframes ks{to{transform:rotate(360deg)}}
.k-icon{width:3.5em;height:3.5em;border-radius:50%;display:grid;place-items:center;font-size:2em;color:#fff}
.k-icon-ok{background:#2e7d32}.k-icon-err{background:var(--k-red)}
.k-qr{width:16em;height:16em;background:#fff;padding:.6em;border-radius:1em;border:2px solid var(--k-line)}
.k-form-main{display:grid;grid-template-columns:1fr minmax(16em,22em);gap:1.5em 2.5em;max-width:1300px;margin:0 auto;width:100%;align-items:start}
.k-summary{grid-column:1/-1;background:var(--k-soft);border-radius:1em;padding:.9em 1.2em;display:flex;flex-wrap:wrap;gap:.3em 1em;align-items:center}
.k-summary b{font-size:1.2em;color:var(--k-brand)}
.k-form label{display:block;margin:.8em 0 .3em;color:var(--k-muted)}
.k-input{width:100%;min-height:2.8em;border:2px solid var(--k-line);border-radius:.8em;padding:0 1em;background:#fff;font-size:1.15em;outline:none}
.k-num{direction:ltr;text-align:center;letter-spacing:.1em;cursor:pointer}
.k-input.k-active,.k-input:focus{border-color:var(--k-brand2);box-shadow:0 0 0 .2em rgba(17,163,156,.18)}
.k-otp{font-size:2em;letter-spacing:.5em}
.k-err{color:var(--k-red);min-height:1.4em;margin:.5em 0 0}
.k-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:.5em}
.k-pad button{min-height:3.2em;border-radius:.9em;border:2px solid var(--k-line);background:#fff;font-size:1.4em;font-weight:700;cursor:pointer}
.k-slip{background:#fff;border:2px dashed var(--k-line);border-radius:1em;padding:1em 1.5em;min-width:min(30em,100%);text-align:right}
.k-slip div{display:flex;justify-content:space-between;gap:1em;padding:.35em 0;border-bottom:1px solid #eef3f4}
.k-slip div:last-child{border:0}.k-slip span{color:var(--k-muted)}
.k-warn{position:fixed;inset:0;background:rgba(15,34,48,.55);display:grid;place-items:center;z-index:50}
.k-warn>div{background:#fff;border-radius:1.2em;padding:2em 3em;text-align:center;font-size:1.2em}
.k-locked{display:grid;place-items:center;min-height:100vh;text-align:center;color:var(--k-muted)}
@media (orientation:portrait){
  .k-form-main{grid-template-columns:1fr}
  .k-title{font-size:2.2em}
  .k-tiles{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:700px){main{padding:1em}.k-ask{flex-wrap:wrap}.k-ask .k-btn{width:100%}}
/* چاپ رسید روی پرینتر حرارتی ۸۰ میلی‌متری */
@media print{
  @page{size:80mm auto;margin:3mm}
  body{background:#fff;font-size:11pt}
  .k-top,.k-actions,.k-lead,.k-icon,.k-foot,.k-warn{display:none!important}
  .k-done{padding:0}
  .k-done .k-h1{font-size:13pt;margin:0 0 2mm}
  .k-slip{border:0;padding:0;min-width:0;width:100%}
}
