:root{
  --bg:#f6f3fb;
  --ink:#2d3140;
  --muted:#7e8290;
  --muted-2:#a5a8b1;
  --line:#e7e3ee;
  --purple:#7653ad;
  --purple-deep:#68499a;
  --purple-soft:#eee8f7;
  --error:#9b5961;
  --success:#5c7464;
}

*{box-sizing:border-box}
html,body{margin:0;min-width:320px;min-height:100%}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}
button,input{font:inherit}

.lookup-shell{
  position:relative;
  min-height:100dvh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:max(34px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom));
  background:
    linear-gradient(180deg,#fbf9fd 0%,#f7f4fb 48%,#f4f1f8 100%);
}

.lookup-ambient{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
}
.shape{
  position:absolute;
  display:block;
  border-radius:999px;
  filter:blur(.2px);
}
.shape-a{
  width:480px;height:480px;
  top:-210px;right:-180px;
  background:linear-gradient(145deg,rgba(176,151,214,.34),rgba(222,212,239,.10));
  transform:rotate(-16deg);
}
.shape-b{
  width:420px;height:420px;
  left:-230px;bottom:-185px;
  background:linear-gradient(145deg,rgba(214,203,232,.42),rgba(192,172,221,.08));
}
.shape-c{
  width:210px;height:210px;
  right:8%;bottom:16%;
  background:linear-gradient(145deg,rgba(232,225,243,.72),rgba(222,212,239,.14));
}

.lookup-frame{
  position:relative;
  z-index:1;
  width:min(100%,430px);
  animation:lookup-enter .34s cubic-bezier(.22,.8,.32,1) both;
}
.lookup-brand{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
.lookup-brand img{
  width:auto;
  height:34px;
  max-width:165px;
  object-fit:contain;
}
.lookup-heading{
  margin:36px 0 22px;
}
.lookup-heading h1{
  margin:0;
  color:#2b3040;
  font-size:34px;
  line-height:1.08;
  font-weight:680;
  letter-spacing:-1px;
}
.lookup-heading p{
  margin:13px 0 0;
  color:var(--muted);
  font-size:13.5px;
  line-height:1.7;
}
.lookup-card{
  padding:24px 20px 20px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(228,224,235,.95);
  border-radius:20px;
  box-shadow:0 16px 42px rgba(70,52,90,.07);
  backdrop-filter:blur(12px);
}
.lookup-form{
  display:grid;
  gap:19px;
}
.lookup-field{
  display:grid;
  gap:8px;
}
.field-label{
  color:#555a68;
  font-size:12px;
  font-weight:650;
}
.lookup-field small{
  margin-top:-1px;
  color:#9997a2;
  font-size:10.5px;
  line-height:1.5;
}
input{
  width:100%;
  height:52px;
  padding:0 15px;
  border:1px solid var(--line);
  border-radius:13px;
  outline:none;
  background:#fbfbfd;
  color:var(--ink);
  font-size:16px;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
input::placeholder{color:#b3b0b9}
input:focus{
  background:#fff;
  border-color:#aa95c2;
  box-shadow:0 0 0 4px rgba(118,83,173,.075);
}
.order-code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
  letter-spacing:.15px;
}
button{
  position:relative;
  width:100%;
  height:52px;
  margin-top:3px;
  border:0;
  border-radius:13px;
  background:var(--purple);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  cursor:pointer;
  font-size:14px;
  font-weight:680;
  transition:transform .14s ease,background .18s ease,opacity .18s ease;
}
button:hover{background:var(--purple-deep)}
button:active{transform:scale(.988)}
button:disabled{cursor:wait;opacity:.76}
button.is-success{background:#6f8074}
.submit-dot{
  width:6px;height:6px;border-radius:50%;
  background:currentColor;opacity:0;transform:scale(.4);
}
button.is-loading .submit-dot{
  opacity:.75;
  animation:submit-pulse .8s ease-in-out infinite alternate;
}
button.is-success .submit-dot{opacity:.9;transform:scale(1)}
.lookup-status{
  min-height:18px;
  margin-top:-4px;
  color:var(--muted);
  font-size:11.5px;
  line-height:1.5;
  text-align:center;
  opacity:0;
  transform:translateY(-2px);
  transition:opacity .18s ease,transform .18s ease,color .18s ease;
}
.lookup-status:not(:empty){opacity:1;transform:translateY(0)}
.lookup-status.error{color:var(--error)}
.lookup-status.success{color:var(--success)}
.lookup-note{
  margin:18px 2px 0;
  color:#9699a3;
  font-size:10.5px;
  line-height:1.55;
}
.lookup-footer{
  position:relative;
  z-index:1;
  margin-top:24px;
  color:#9da0a8;
  font-size:10px;
  line-height:1.4;
  text-align:center;
}
@keyframes lookup-enter{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes submit-pulse{
  from{opacity:.28;transform:scale(.65)}
  to{opacity:1;transform:scale(1)}
}
@media(max-width:520px){
  .lookup-shell{
    justify-content:flex-start;
    padding-left:18px;
    padding-right:18px;
  }
  .lookup-frame{padding-top:7vh}
  .lookup-brand img{height:31px}
  .lookup-heading{margin:32px 0 20px}
  .lookup-heading h1{font-size:30px;letter-spacing:-.8px}
  .lookup-card{padding:22px 18px 19px;border-radius:18px}
  .shape-a{width:390px;height:390px;top:-180px;right:-190px}
  .shape-b{width:340px;height:340px;left:-190px;bottom:-150px}
}
@media(max-width:360px){
  .lookup-heading h1{font-size:28px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    transition:none!important;
    animation:none!important;
  }
}


/* iPhone/Safari full-viewport background fix */
html,
body{
  width:100%;
  min-height:100%;
  min-height:100vh;
  min-height:100svh;
  background:#f6f3fb;
}
body{
  min-height:100dvh;
}
.lookup-shell{
  width:100%;
  min-height:100vh;
  min-height:100svh;
  min-height:100dvh;
  background:
    linear-gradient(180deg,#fbf9fd 0%,#f7f4fb 48%,#f4f1f8 100%);
}
.lookup-ambient{
  position:fixed;
  inset:0;
  width:100vw;
  height:100vh;
  height:100svh;
  height:100dvh;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}
@supports(padding:max(0px)){
  .lookup-shell{
    padding-top:max(34px,env(safe-area-inset-top));
    padding-bottom:max(24px,env(safe-area-inset-bottom));
  }
}
