:root{
  --hk-form-lapis:#081878;
  --hk-form-lapis-2:#1638a1;
  --hk-form-stone:#385b89;
  --hk-form-gold:#d8a838;
  --hk-form-cream:#f7f4ee;
  --hk-form-paper:#fffdfa;
  --hk-form-ink:#111318;
  --hk-form-muted:#667085;
  --hk-form-danger:#b42318;
  --hk-form-success:#087443;
  --hk-form-warning:#8a5b00;
  --hk-form-line:rgba(8,24,120,.14);
  --hk-form-line-strong:rgba(8,24,120,.34);
  --hk-form-focus:0 0 0 4px rgba(8,24,120,.10);
  --hk-form-shadow:0 16px 42px rgba(5,7,24,.08);
  --hk-form-radius:18px;
  --hk-form-control-height:56px;
  --hk-type-control:16px;
  --hk-type-label:13px;
  --hk-type-label-note:11px;
  --hk-type-hint:12px;
  --hk-type-error:12px;
  --hk-type-button:14px;
  --hk-type-section-title:16px;
  --hk-type-section-description:12.5px;
  --hk-type-badge:11px;
}
.hk-form{container-type:inline-size;--hk-form-gap:16px}
.hk-form,.hk-form *{box-sizing:border-box}
.hk-form-section{border:1px solid var(--hk-form-line);border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,253,250,.96));box-shadow:var(--hk-form-shadow);padding:18px}
.hk-form-section__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid rgba(8,24,120,.08)}
.hk-form-section__title{margin:0;color:var(--hk-form-ink);font-size:var(--hk-type-section-title);font-weight:950;line-height:1.6}
.hk-form-section__description{margin:4px 0 0;color:var(--hk-form-muted);font-size:var(--hk-type-section-description);font-weight:650;line-height:1.9}
.hk-form-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 10px;border:1px solid rgba(8,116,67,.18);border-radius:999px;background:#ecfdf3;color:var(--hk-form-success);font-size:var(--hk-type-badge);font-weight:900;white-space:nowrap}
.hk-field{min-width:0;margin:0}
.hk-field + .hk-field,.hk-field + .hk-form-grid-2,.hk-form-grid-2 + .hk-field,.hk-form-grid-2 + .hk-form-grid-2{margin-top:var(--hk-form-gap)}
.hk-field__label,.hk-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;color:#344054;font-size:var(--hk-type-label);font-weight:900;line-height:1.7;text-align:right}
.hk-field__label-note,.hk-label-note{color:var(--hk-form-muted);font-size:var(--hk-type-label-note);font-weight:700;white-space:nowrap}
.hk-field__hint{margin:7px 2px 0;color:var(--hk-form-muted);font-size:var(--hk-type-hint);font-weight:650;line-height:1.85}
.hk-field__error,.hk-form-error{display:flex;align-items:flex-start;gap:7px;margin:7px 2px 0;color:var(--hk-form-danger);font-size:var(--hk-type-error);font-weight:800;line-height:1.85}
.hk-field__error::before,.hk-form-error::before{content:"!";display:grid;place-items:center;flex:0 0 auto;width:17px;height:17px;margin-top:1px;border-radius:999px;background:#fee4e2;color:var(--hk-form-danger);font-size:10px;font-weight:1000}
.hk-form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--hk-form-gap);min-width:0}
.hk-form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--hk-form-gap);min-width:0}
@container (max-width:440px){.hk-form-grid-2,.hk-form-grid-3{grid-template-columns:1fr}}
.hk-form :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),select,textarea),.hk-control{width:100%;max-width:100%;min-height:var(--hk-form-control-height);border:1px solid var(--hk-form-line);border-radius:var(--hk-form-radius);background:var(--hk-form-paper);color:var(--hk-form-ink);padding-block:11px;padding-inline:15px;outline:none;font:inherit;font-size:var(--hk-type-control)!important;font-weight:750;line-height:1.65;text-align:right;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease,transform .16s ease}
.hk-form :where(textarea),.hk-control--textarea{min-height:116px;resize:vertical}
.hk-form :where(select),.hk-control--select{appearance:none;-webkit-appearance:none;padding-inline-end:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23081878' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:18px 18px;background-position:left 14px center}
.hk-form :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea):hover:not(:disabled):not([readonly]),.hk-control:hover:not(:disabled):not([readonly]){border-color:rgba(8,24,120,.26)}
.hk-form :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea):focus,.hk-control:focus{border-color:var(--hk-form-line-strong);background:#fff;box-shadow:var(--hk-form-focus)}
.hk-form :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea):focus-visible,.hk-control:focus-visible{outline:2px solid transparent}
.hk-form :where(input,textarea)::placeholder,.hk-control::placeholder{color:#98a2b3;font-weight:600;opacity:1}
.hk-form :where(input,select,textarea):disabled,.hk-form :where(input,select,textarea)[readonly],.hk-control:disabled,.hk-control[readonly]{cursor:not-allowed;color:#667085;background:#f2f4f7;border-color:rgba(16,24,40,.10);box-shadow:none}
.hk-form :where(input,select,textarea)[aria-invalid="true"],.hk-form .is-invalid,.hk-control[aria-invalid="true"],.hk-control.is-invalid{border-color:rgba(180,35,24,.58);background:#fffafa;box-shadow:0 0 0 4px rgba(180,35,24,.08)}
.hk-form :where(input,select,textarea).is-valid,.hk-control.is-valid{border-color:rgba(8,116,67,.34);background:#fbfffd}
.hk-form :where(input):-webkit-autofill,.hk-form :where(input):-webkit-autofill:hover,.hk-form :where(input):-webkit-autofill:focus{-webkit-text-fill-color:var(--hk-form-ink);box-shadow:0 0 0 1000px #fff inset;transition:background-color 9999s ease-out 0s}
.hk-form input[autocomplete="given-name"],.hk-form input[autocomplete="family-name"],.hk-form input[autocomplete="name"],.hk-form input[autocomplete="street-address"]{padding-inline-start:46px}
.hk-control--numeric,.hk-form input[dir="ltr"],.hk-form input[type="tel"],.hk-form input[inputmode="numeric"],.hk-form input[inputmode="decimal"],.hk-form input[name*="mobile" i],.hk-form input[name*="phone" i],.hk-form input[name*="national_id" i],.hk-form input[name*="national_code" i],.hk-form input[name*="card_number" i],.hk-form input[name*="iban" i],.hk-form input[name*="sheba" i],.hk-form input[name*="amount" i]{direction:ltr;unicode-bidi:plaintext;text-align:left;font-variant-numeric:tabular-nums;letter-spacing:.3px}
.hk-form input[name*="national_id" i],.hk-form input[name*="national_code" i]{text-align:center;letter-spacing:1.25px}
.hk-form input[type="file"]{min-height:54px;padding:7px;color:var(--hk-form-muted);cursor:pointer}
.hk-form input[type="file"]::file-selector-button{min-height:44px;margin-inline-end:10px;border:0;border-radius:13px;padding:7px 13px;background:rgba(8,24,120,.08);color:var(--hk-form-lapis);font:inherit;font-size:12px;font-weight:900;cursor:pointer}
.hk-file-control{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;min-height:88px;padding:13px;border:1px dashed rgba(8,24,120,.28);border-radius:22px;background:linear-gradient(145deg,#fff,#f8f9ff);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.hk-file-control:hover,.hk-file-control:focus-within,.hk-file-control.is-dragover{border-color:rgba(8,24,120,.52);background:#fff;box-shadow:var(--hk-form-focus)}
.hk-file-control__icon{width:48px;height:48px;display:grid;place-items:center;border-radius:17px;color:var(--hk-form-lapis);background:rgba(8,24,120,.08)}
.hk-file-control__icon svg{width:23px;height:23px}
.hk-file-control__copy{min-width:0;text-align:right}
.hk-file-control__title{display:block;color:var(--hk-form-ink);font-size:13px;font-weight:900;line-height:1.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hk-file-control__meta{display:block;margin-top:4px;color:var(--hk-form-muted);font-size:12px;font-weight:650;line-height:1.7}
.hk-file-control input[type="file"]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.hk-file-control__preview{display:none;width:48px;height:48px;border-radius:15px;object-fit:cover;border:1px solid var(--hk-form-line)}
.hk-file-control.has-preview .hk-file-control__icon{display:none}
.hk-file-control.has-preview .hk-file-control__preview{display:block}
/* Explicit icon-bearing controls. Icon side follows the control content direction. */
.hk-control-shell{position:relative;min-width:0}
.hk-control-shell__icon{position:absolute;top:50%;translate:0 -50%;inline-size:44px;block-size:44px;display:grid;place-items:center;border:0;border-radius:14px;z-index:2}
.hk-control-shell[data-control-direction="rtl"]{direction:rtl}
.hk-control-shell[data-control-direction="rtl"][data-icon-side="start"] .hk-control-shell__icon{inset-inline-start:7px;inset-inline-end:auto}
.hk-control-shell[data-control-direction="rtl"][data-icon-side="start"] :is(input,select,textarea){padding-inline-start:62px!important}
.hk-control-shell[data-control-direction="ltr"]{direction:ltr}
.hk-control-shell[data-control-direction="ltr"][data-icon-side="end"] .hk-control-shell__icon{inset-inline-start:auto;inset-inline-end:7px}
.hk-control-shell[data-control-direction="ltr"][data-icon-side="end"] :is(input,select,textarea){padding-inline-end:62px!important}
.hk-jalali-control{position:relative;direction:ltr;isolation:isolate}
.hk-jalali-control .hk-control,.hk-jalali-control input{padding-inline-start:16px!important;padding-inline-end:62px!important;text-align:center;cursor:pointer;caret-color:transparent}
.hk-jalali-control__trigger{position:absolute;inset-inline-start:auto;inset-inline-end:7px;top:50%;translate:0 -50%;width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(8,24,120,.10);border-radius:14px;background:rgba(8,24,120,.07);color:var(--hk-form-lapis);z-index:2;transition:background .16s ease,color .16s ease,transform .16s ease}
.hk-jalali-control__trigger:hover,.hk-jalali-control:focus-within .hk-jalali-control__trigger{color:#fff;background:linear-gradient(145deg,var(--hk-form-lapis),var(--hk-form-lapis-2))}
.hk-jalali-control__trigger:active{transform:scale(.94)}
.hk-jalali-control__trigger svg{width:20px;height:20px}
.hk-otp{margin-top:20px;direction:ltr}
.hk-otp__digits{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.hk-otp__digit{width:100%;min-width:0;height:56px;border:1px solid var(--hk-form-line);border-radius:17px;background:#fff;color:var(--hk-form-lapis);outline:none;text-align:center;font:inherit;font-size:22px!important;font-weight:1000;direction:ltr;caret-color:var(--hk-form-lapis);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease,background .14s ease}
.hk-otp__digit:focus{border-color:rgba(8,24,120,.58);box-shadow:var(--hk-form-focus);transform:translateY(-1px)}
.hk-otp__digit.has-value{border-color:rgba(8,24,120,.34);background:#f8f9ff}
.hk-otp__status{min-height:24px;margin-top:10px;color:var(--hk-form-muted);text-align:center;font-size:12px;font-weight:750;line-height:1.8}
.hk-otp.is-error .hk-otp__digits{animation:hk-form-shake .26s ease both}
.hk-otp.is-error .hk-otp__digit{border-color:rgba(180,35,24,.58);background:#fff7f6}
.hk-otp.is-error .hk-otp__status{color:var(--hk-form-danger)}
.hk-otp.is-success .hk-otp__digit{border-color:rgba(8,116,67,.44);background:#ecfdf3;color:var(--hk-form-success)}
.hk-submit,.hk-form button[type="submit"],.hk-form input[type="submit"]{min-height:54px;border:0;border-radius:18px;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font:inherit;font-size:var(--hk-type-button);font-weight:950;line-height:1.6;cursor:pointer;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease,opacity .15s ease}
.hk-submit--primary{color:#fff;background:linear-gradient(145deg,var(--hk-form-lapis),var(--hk-form-lapis-2));box-shadow:0 13px 28px rgba(8,24,120,.20)}
.hk-submit:hover,.hk-form button[type="submit"]:hover,.hk-form input[type="submit"]:hover{filter:brightness(1.04)}
.hk-submit:active,.hk-form button[type="submit"]:active,.hk-form input[type="submit"]:active{transform:scale(.985)}
.hk-submit:disabled,.hk-submit[aria-disabled="true"],.hk-form button[type="submit"]:disabled,.hk-form input[type="submit"]:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}
.hk-form.is-submitting .hk-submit,.hk-form.is-submitting button[type="submit"],.hk-form.is-submitting input[type="submit"]{pointer-events:none}
.hk-form.is-submitting .hk-submit::before,.hk-form.is-submitting button[type="submit"]::before{content:"";width:17px;height:17px;border:2px solid rgba(255,255,255,.38);border-top-color:#fff;border-radius:50%;animation:hk-form-spin .68s linear infinite}
.hk-form-note{display:flex;align-items:flex-start;gap:9px;margin-top:16px;padding:12px 13px;border:1px solid rgba(8,24,120,.08);border-radius:18px;background:rgba(8,24,120,.04);color:var(--hk-form-muted);font-size:12px;font-weight:700;line-height:1.95}
.hk-form-note__mark{display:grid;place-items:center;flex:0 0 auto;width:22px;height:22px;border-radius:9px;color:var(--hk-form-lapis);background:rgba(8,24,120,.08);font-size:12px;font-weight:1000}
body.hk-keyboard-open .nby-bottom-nav,body.hk-keyboard-open [data-hk-bottom-nav]{opacity:0;pointer-events:none;transform:translateY(110%)}

.hk-form > .hk-submit,
.hk-form-section > .hk-submit{
  width:100%;
  margin-top:18px;
}
.hk-form-section{
  animation:hk-form-enter .24s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes hk-form-enter{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}

@keyframes hk-form-spin{to{transform:rotate(360deg)}}
@keyframes hk-form-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}
@media(max-width:768px){.hk-form :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea),.hk-control{font-size:16px!important}}
@media(max-width:380px){.hk-otp__digits{gap:5px}.hk-otp__digit{height:52px;border-radius:15px;font-size:20px!important}.hk-form-section{padding:15px}}
@media(prefers-reduced-motion:reduce){.hk-form *,.hk-jalali-control__trigger,.hk-otp__digit{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* Legacy form markup compatibility. The form opt-in is explicit in templates;
   no JavaScript guesses or rewrites control structure. */
.hk-form label:not(.hk-file-control):not(.hk-choice):not(.hk-checkbox):not(.hk-jalali-picker__day){
  color:#344054;
  font-size:var(--hk-type-label);
  font-weight:900;
  line-height:1.8;
  text-align:start;
}
.hk-form .errorlist{
  list-style:none;
  margin:7px 2px 0;
  padding:0;
  color:var(--hk-form-danger);
  font-size:var(--hk-type-error);
  font-weight:800;
  line-height:1.85;
}
.hk-form .errorlist li + li{margin-top:3px}
.hk-form input[type="checkbox"],
.hk-form input[type="radio"]{
  inline-size:20px;
  block-size:20px;
  min-inline-size:20px;
  accent-color:var(--hk-form-lapis);
}
.hk-form input[type="number"]{
  appearance:textfield;
  -moz-appearance:textfield;
}
.hk-form input[type="number"]::-webkit-inner-spin-button,
.hk-form input[type="number"]::-webkit-outer-spin-button{
  appearance:none;
  margin:0;
}
.hk-form select{direction:rtl;text-align:right}
.hk-form :where(input,select,textarea):not([type="hidden"]){
  scroll-margin-block:120px;
}
.hk-form input[autocomplete="given-name"],
.hk-form input[autocomplete="family-name"],
.hk-form input[autocomplete="name"],
.hk-form input[autocomplete="street-address"]{
  /* Chrome/Safari may draw their own autofill control on the inline start side. */
  padding-inline-start:52px;
}
.hk-form [hidden]{display:none!important}
@supports selector(input::-webkit-contacts-auto-fill-button){
  .hk-form input::-webkit-contacts-auto-fill-button{
    margin-inline-start:8px;
  }
}


/* Release 112: application-grade readable type scale for every opted-in form. */
.hk-form :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),select,textarea),
.hk-form .hk-control{font-size:16px!important;min-height:56px}
.hk-form :is(.hk-field__label,.hk-label,label:not(.hk-file-control):not(.hk-choice):not(.hk-checkbox):not(.hk-jalali-picker__day)){font-size:13px}
.hk-form :is(.hk-field__hint,.hk-field__error,.hk-form-error,.errorlist){font-size:12px}
.hk-form :is(.hk-submit,button[type="submit"],input[type="submit"]){font-size:14px;min-height:54px}
.hk-jalali-control input[readonly],
.hk-jalali-control .hk-control[readonly]{cursor:pointer;color:var(--hk-form-ink);background:var(--hk-form-paper);border-color:var(--hk-form-line);box-shadow:none}
.hk-jalali-control input[readonly]:focus,
.hk-jalali-control .hk-control[readonly]:focus{background:#fff;border-color:var(--hk-form-line-strong);box-shadow:var(--hk-form-focus)}
.hk-jalali-control__trigger:focus-visible,.hk-control-shell__icon:focus-visible{outline:2px solid var(--hk-form-lapis);outline-offset:2px}
.hk-form .hk-otp__digit{font-size:22px!important;min-height:56px}
@media(max-width:380px){.hk-form .hk-otp__digit{font-size:20px!important;min-height:52px}}
