html.jdg-active body{overflow:hidden}
.jdg-root{position:fixed;inset:0;z-index:8600;background:#f4f3f0;color:#141414;font-family:"Satoshi","Inter",ui-sans-serif,system-ui,sans-serif;overflow:auto;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100dvh;animation:jdg-in .35s ease both}
@keyframes jdg-in{from{opacity:0}to{opacity:1}}
.jdg-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px clamp(18px,4vw,48px);border-bottom:1px solid #dddbd6}
.jdg-logo{height:26px;width:auto;display:block;filter:grayscale(1) brightness(0)}
.jdg-top-note{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#6b6964}
.jdg-main{flex:1;display:grid;place-items:center;padding:clamp(24px,6vw,72px) clamp(16px,4vw,48px)}
.jdg-card{width:min(100%,520px);background:#fbfaf8;border:1px solid #dddbd6;border-radius:22px;padding:clamp(22px,4vw,40px);box-sizing:border-box;box-shadow:0 30px 60px -40px rgba(20,20,20,.35);animation:jdg-up .4s cubic-bezier(.2,.7,.2,1) both}
@keyframes jdg-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.jdg-kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#6b6964;margin:0 0 10px}
.jdg-title{font-size:clamp(26px,4vw,34px);line-height:1.12;letter-spacing:-.02em;font-weight:600;margin:0 0 12px}
.jdg-text{font-size:15px;line-height:1.6;color:#3d3c39;margin:0 0 18px;overflow-wrap:anywhere}
.jdg-small{font-size:13px;line-height:1.55;color:#6b6964;margin:14px 0 0}
.jdg-form{display:grid;gap:10px;margin:6px 0 0}
.jdg-label{font-size:13px;font-weight:600;color:#3d3c39}
.jdg-input{font:inherit;font-size:16px;min-height:50px;border:1px solid #c9c6c0;border-radius:14px;padding:12px 16px;background:#fff8;color:#141414;width:100%;box-sizing:border-box}
.jdg-input:focus{border-color:#141414;outline:none}
.jdg-otp{font-family:ui-monospace,"SFMono-Regular",Menlo,monospace;font-size:26px;letter-spacing:.5em;text-align:center;padding-left:calc(16px + .25em)}
.jdg-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.jdg-btn{font:inherit;font-size:15px;font-weight:600;min-height:48px;padding:12px 20px;border-radius:999px;border:1px solid #c9c6c0;background:transparent;color:#141414;cursor:pointer;transition:transform .15s ease,opacity .15s}
.jdg-btn:hover:not(:disabled){transform:translateY(-1px)}
.jdg-btn:disabled{opacity:.5;cursor:default}
.jdg-primary{background:#141414;border-color:#141414;color:#f4f3f0}
.jdg-link{background:none;border:0;padding:6px 0;min-height:0;font-weight:500;text-decoration:underline;text-underline-offset:3px;color:#3d3c39}
.jdg-msg{font-size:14px;line-height:1.5;border-radius:12px;padding:12px 14px;margin:14px 0 0;background:#ebe9e4;color:#141414}
.jdg-msg.is-error{background:#f3e3df;color:#5c1d10}
.jdg-dl{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;margin:18px 0 0;padding:18px 0 0;border-top:1px solid #dddbd6;font-size:14px}
.jdg-dl dt{color:#6b6964}.jdg-dl dd{margin:0;font-weight:500;overflow-wrap:anywhere}
.jdg-status{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border:1px solid #c9c6c0;border-radius:999px;padding:6px 12px;margin:0 0 14px}
.jdg-status::before{content:"";width:7px;height:7px;border-radius:50%;background:#8a8780}
.jdg-status[data-s=confirmed]::before{background:#141414}
.jdg-skel{height:14px;border-radius:7px;background:linear-gradient(90deg,#e7e5e0,#f1efeb,#e7e5e0);background-size:200% 100%;animation:jdg-sh 1.2s linear infinite;margin:10px 0}
@keyframes jdg-sh{to{background-position:-200% 0}}
.jdg-foot{padding:18px clamp(18px,4vw,48px);font-size:12px;color:#6b6964;border-top:1px solid #dddbd6}
.jdg-root :focus-visible{outline:3px solid #141414;outline-offset:3px}
@media(max-width:520px){.jdg-top-note{display:none}.jdg-actions .jdg-btn:not(.jdg-link){flex:1 1 100%}.jdg-card{border-radius:18px}}
@media(prefers-reduced-motion:reduce){.jdg-root,.jdg-card,.jdg-skel{animation:none}}
/* refined layer */
.jdg-root{background:radial-gradient(90% 60% at 50% 0%,#fbfaf8 0%,#f4f3f0 60%,#eeece7 100%)}
.jdg-top{padding-top:calc(20px + env(safe-area-inset-top,0px));background:rgba(251,250,248,.7);backdrop-filter:blur(8px)}
.jdg-top-note{display:inline-flex;align-items:center;gap:8px}
.jdg-top-note::before{content:"";width:6px;height:6px;border-radius:50%;background:#141414}
.jdg-card{border-radius:24px;box-shadow:0 1px 0 #fff inset,0 40px 80px -50px rgba(20,20,20,.45)}
.jdg-card::before{content:"";display:block;width:36px;height:2px;background:#141414;margin-bottom:22px}
.jdg-title{letter-spacing:-.035em}
.jdg-otp{background:#fbfaf8;border-width:1.5px}
.jdg-dl{background:#f4f3f0;border:1px solid #e6e4df;border-radius:16px;padding:16px 18px}
.jdg-status[data-s=confirmed]{background:#141414;color:#f4f3f0;border-color:#141414}
.jdg-status[data-s=confirmed]::before{background:#f4f3f0}
.jdg-primary:hover:not(:disabled){background:#2a2926}
.jdg-reschedule-form{display:grid;gap:10px;margin-top:16px;padding:16px;border:1px solid #e6e4df;border-radius:16px;background:#f4f3f0}
.jdg-reschedule-form input{font:inherit;min-height:48px;border:1px solid #c9c6c0;border-radius:12px;padding:0 12px;background:#fbfaf8}
.jdg-foot{padding-bottom:calc(18px + env(safe-area-inset-bottom,0px));text-align:center}
@media(max-width:767px),(max-height:520px) and (orientation:landscape){
  .jdg-main{grid-template-columns:minmax(0,1fr)}
  .jdg-reschedule-form input{min-width:0;max-width:100%;box-sizing:border-box}
  .jdg-link{min-height:44px}
}
@media(max-width:520px){.jdg-top-note{display:none}}
