@font-face{font-family:'BYekan';src:url(yekan-regular.woff2) format('woff2');font-weight:400 600;font-display:swap}
@font-face{font-family:'BYekan';src:url(yekan-bold.woff2) format('woff2');font-weight:700 900;font-display:swap}
@font-face{font-family:'BTitr';src:url(titr-bold.woff2) format('woff2');font-weight:700;font-display:swap}
:root{
  --navy:#0b3d91;--blue:#1479d4;--sky:#6fcbf7;--mist:#eef6fd;--ink:#14233b;--soft:#5b6b82;
  --line:#d5e3f2;--ok:#1c9a5b;--bad:#c62828;--display:'BTitr','BYekan',Tahoma,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:linear-gradient(180deg,#dcecfa,#eef6fd 40%,#f7fbff);color:var(--ink);font-family:'BYekan',Tahoma,sans-serif;-webkit-text-size-adjust:100%}
h1,h2,p{margin:0}
button,input,select{font:inherit;color:inherit}
[hidden]{display:none!important}
.wrap{min-height:100dvh;display:flex;align-items:flex-start;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom))}
.card{position:relative;width:100%;max-width:460px;margin-top:2vh;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 18px 44px rgba(11,61,145,.16)}
.head{display:flex;align-items:center;gap:12px;padding:22px 20px 16px;background:linear-gradient(180deg,var(--mist),#fff)}
.head img{border-radius:50%;box-shadow:0 4px 12px rgba(11,61,145,.15);flex:none}
.head h1{font-family:var(--display);font-weight:700;font-size:19px;color:var(--navy);line-height:1.6;text-wrap:balance}
.steps{display:flex;gap:6px;padding:4px 20px 0}
.steps i{flex:1;height:5px;border-radius:99px;background:var(--line);transition:background .3s}
.steps i.on{background:var(--blue)}
.stepl{padding:9px 20px 0;display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--soft)}
.stepl span:first-child{font-family:var(--display);font-weight:700;color:var(--navy);font-size:14.5px}
.body{padding:14px 20px 6px;display:grid;gap:14px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fld{min-width:0}
.fld label{display:block;font-size:12.5px;color:var(--soft);margin:0 4px 5px}
.fld label b{color:var(--bad)}
.fld input,.box{width:100%;height:52px;border:1.5px solid var(--line);border-radius:14px;padding:0 14px;background:#fff;font-size:16px;color:var(--ink);transition:border-color .15s,box-shadow .15s;text-align:right}
.fld input::placeholder{color:#9aa9bd}
.fld input.ltr{direction:ltr;text-align:right}
.fld input.ltr:placeholder-shown{direction:rtl}
.fld input:focus,.box:focus-visible{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(20,121,212,.14)}
.fld.bad input,.fld.bad .box{border-color:var(--bad)}
.hint{font-size:12.5px;color:var(--soft);margin:6px 4px 0;line-height:1.8}
.err{font-size:12.5px;color:var(--bad);margin:5px 4px 0;min-height:0}
.err:empty{display:none}
.dtbtn{display:flex;align-items:center;justify-content:space-between;cursor:pointer}
.dtbtn svg{color:var(--blue);flex:none}
.dtbtn .ph{color:#9aa9bd}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.seg button{height:48px;border:1.5px solid var(--line);border-radius:14px;background:#fff;font-size:16px;color:var(--soft);cursor:pointer;transition:all .15s}
.seg button[aria-checked="true"]{border-color:var(--blue);background:#eaf4fe;color:var(--navy);font-family:var(--display);font-weight:700}
.seg button:focus-visible,.cta:focus-visible,.ghost:focus-visible,.back:focus-visible,.again:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
.hp{position:absolute;inset-inline-start:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.formerr{margin:10px 20px 0;padding:10px 14px;border-radius:12px;background:#fdecec;color:var(--bad);font-size:13.5px;line-height:1.8}
.actions{padding:14px 20px 22px;display:grid;gap:8px}
.cta{height:54px;border:0;border-radius:16px;background:linear-gradient(90deg,var(--navy),var(--blue));color:#fff;font-family:var(--display);font-weight:700;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s,opacity .15s}
.cta:active{transform:scale(.97)}
.cta.load{pointer-events:none;background:var(--navy)}
.cta.load span{display:none}
.cta.load::after{content:"";width:22px;height:22px;border-radius:50%;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.back{height:44px;border:0;background:none;color:var(--soft);font-size:15px;cursor:pointer;border-radius:12px}

/* تقویم */
.sheetwrap{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center}
.dim{position:absolute;inset:0;background:rgba(13,27,46,.45);animation:fade .2s}
.sheet{position:relative;width:100%;max-width:460px;background:#fff;border-radius:26px 26px 0 0;padding:14px 18px max(20px,env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(0,0,0,.18);animation:slide .28s cubic-bezier(.2,.9,.3,1)}
@keyframes slide{from{transform:translateY(40px);opacity:0}}
@keyframes fade{from{opacity:0}}
.grab{width:42px;height:5px;border-radius:9px;background:var(--line);margin:0 auto 12px}
.sheet h2{font-family:var(--display);font-weight:700;font-size:16px;color:var(--navy);margin-bottom:10px}
.sel{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.sel select{height:46px;border:1.5px solid var(--line);border-radius:12px;padding:0 12px;background:#fff;font-family:var(--display);font-weight:700;font-size:16px;color:var(--ink);appearance:auto}
.sel select:focus-visible{outline:3px solid var(--sky)}
.wk,.days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}
.wk span{font-size:12px;color:var(--soft);padding:6px 0}
.wk span:last-child{color:#d33}
.days button{height:42px;border:0;background:none;border-radius:50%;font-size:16px;font-variant-numeric:tabular-nums;cursor:pointer;color:var(--ink)}
.days button.fri{color:#d33}
.days button:disabled{opacity:.28;cursor:default}
.days button:not(:disabled):hover{background:var(--mist)}
.days button.on,.days button.on:hover{background:var(--navy);color:#fff;font-weight:800}
.days button:focus-visible{outline:3px solid var(--sky)}
.sbtn{display:grid;grid-template-columns:2fr 1fr;gap:8px;margin-top:12px}
.sbtn .cta{height:48px;font-size:16px}
.ghost{height:48px;border:1.5px solid var(--line);border-radius:14px;background:#fff;font-family:var(--display);font-weight:700;font-size:15px;color:var(--soft);cursor:pointer}

/* موفقیت */
.done{position:absolute;inset:0;background:var(--mist);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;opacity:0;pointer-events:none;transition:opacity .35s;z-index:5;text-align:center;padding:0 28px}
.done.show{opacity:1;pointer-events:auto}
.done svg{width:120px;height:120px;overflow:visible}
.ring{fill:none;stroke:var(--ok);stroke-width:5;stroke-dasharray:314;stroke-dashoffset:314;transform:rotate(-90deg);transform-origin:center}
.tick{fill:none;stroke:var(--ok);stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:70;stroke-dashoffset:70}
.fill{fill:#dff5e9;transform:scale(0);transform-origin:center}
.done.show .fill{animation:pop .5s .1s cubic-bezier(.2,1.4,.4,1) forwards}
.done.show .ring{animation:draw .6s .1s ease-out forwards}
.done.show .tick{animation:draw .4s .6s ease-out forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes pop{to{transform:scale(1)}}
.done h2{font-family:var(--display);font-weight:700;font-size:22px;color:var(--navy);opacity:0;transform:translateY(10px)}
.done p{color:var(--soft);font-size:14.5px;line-height:1.9;opacity:0;transform:translateY(10px)}
.done.show h2{animation:up .45s .9s forwards}
.done.show p{animation:up .45s 1.05s forwards}
@keyframes up{to{opacity:1;transform:none}}
.d{position:absolute;left:50%;top:40%;width:9px;height:9px;border-radius:50%;opacity:0}
.d:nth-of-type(1){--x:-90px;--y:-70px;background:#0b6fd6}
.d:nth-of-type(2){--x:95px;--y:-60px;background:#1c9a5b}
.d:nth-of-type(3){--x:-110px;--y:10px;background:#f2b01e}
.d:nth-of-type(4){--x:110px;--y:25px;background:#0b6fd6}
.d:nth-of-type(5){--x:-60px;--y:-105px;background:#1c9a5b}
.d:nth-of-type(6){--x:65px;--y:-110px;background:#f2b01e}
.d:nth-of-type(7){--x:-40px;--y:80px;background:#0b6fd6}
.d:nth-of-type(8){--x:50px;--y:85px;background:#1c9a5b}
.done.show .d{animation:burst .9s .65s ease-out forwards}
@keyframes burst{0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(.3)}}
.again{margin-top:6px;height:46px;padding:0 20px;border:1.5px solid var(--line);background:#fff;border-radius:14px;font-size:14px;color:var(--navy);cursor:pointer;opacity:0}
.done.show .again{animation:up .4s 1.6s forwards}
@media (min-width:520px){.wrap{align-items:center}.card{margin-top:0}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}}
