/* Profile modal: 3D avatar viewer, account, measurement form */
.pm-overlay{
  position:fixed;inset:0;z-index:999;
  align-items:center;justify-content:center;padding:24px;
  background:rgba(16,45,68,0.5);
  backdrop-filter:blur(6px);
}
.pm-card{
  position:relative;
  display:grid;grid-template-columns:minmax(300px,0.9fr) 1.1fr;
  width:min(1040px,100%);
  height:min(780px,calc(100vh - 48px));
  background:#faf8f4;color:var(--indigo);
  border-radius:24px;overflow:hidden;
  box-shadow:0 30px 80px rgba(16,45,68,0.35);
  font-family:'Space Grotesk',sans-serif;
  animation:pmIn .28s ease;
}
@keyframes pmIn{from{opacity:0;transform:translateY(12px) scale(.98);}to{opacity:1;transform:none;}}
.pm-close{
  position:absolute;top:14px;right:14px;z-index:5;
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#fff;border:1px solid var(--border);
  font-size:20px;line-height:1;color:var(--indigo);
  box-shadow:0 2px 8px rgba(18,49,77,0.08);
  transition:transform .2s ease, background .2s ease;
}
.pm-close:hover{transform:rotate(90deg);background:#f3eee6;}

/* ---------- viewer column ---------- */
.pm-viewer{
  position:relative;display:flex;flex-direction:column;min-height:0;
  background:radial-gradient(circle at 50% 38%, #ffffff 0%, #eef2f7 58%, #e2e8f0 100%);
  border-right:1px solid var(--border);
}
#body-view{flex:1;min-height:0;position:relative;overflow:hidden;}
#body-view iframe{display:block;width:100%;height:calc(100% + 64px) !important;border:0;}
.pm-status{
  position:absolute;top:16px;left:16px;z-index:2;
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 12px;border-radius:999px;
  background:rgba(255,255,255,0.92);border:1px solid var(--border);
  font-size:0.76rem;font-weight:600;color:var(--text-dim);
  box-shadow:0 4px 14px rgba(18,49,77,0.08);
  max-width:calc(100% - 32px);
}
.pm-status-dot{width:8px;height:8px;border-radius:50%;background:#3a7ab7;flex-shrink:0;}
.pm-status[data-state="loading"] .pm-status-dot,
.pm-status[data-state="busy"] .pm-status-dot{animation:pmPulse 1s ease-in-out infinite;}
.pm-status[data-state="busy"] .pm-status-dot{background:#f39b5b;}
.pm-status[data-state="ok"] .pm-status-dot{background:#4caf7d;}
.pm-status[data-state="warn"] .pm-status-dot{background:#e0605a;}
.pm-status[data-state="warn"]{color:#b8433d;}
@keyframes pmPulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.35;transform:scale(.7);}}
.pm-progress{
  display:flex;align-items:center;gap:12px;
  padding:14px 18px;
  background:rgba(255,255,255,0.75);border-top:1px solid var(--border);
  font-size:0.78rem;font-weight:600;color:var(--text-dim);
}
.pm-progress-bar{flex:1;height:6px;border-radius:99px;background:rgba(18,49,77,0.1);overflow:hidden;}
.pm-progress-bar span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#f39b5b,#f4d86b);transition:width .35s ease;}

/* ---------- main column ---------- */
.pm-main{min-height:0;overflow-y:auto;padding:32px 32px 0;}
.pm-head{padding-right:40px;margin-bottom:18px;}
.pm-eyebrow{display:inline-block;font-size:0.7rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#d0793d;margin-bottom:8px;}
.pm-head h3{font-family:'Unbounded',sans-serif;font-size:1.55rem;letter-spacing:-0.03em;margin-bottom:8px;}
.pm-head p{font-size:0.88rem;line-height:1.55;color:var(--text-dim);}
#profileSummary:empty{display:none;}

/* ---------- account box ---------- */
.pm-auth{margin-bottom:24px;padding:16px;border-radius:16px;background:#fff;border:1px solid var(--border);}
.pm-auth-text{font-size:0.82rem;line-height:1.5;color:var(--text-dim);margin-bottom:12px;}
.pm-auth-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;}
.pm-input{
  width:100%;padding:11px 12px;border-radius:12px;
  border:1.5px solid rgba(18,49,77,0.14);background:#faf8f4;
  font:inherit;font-size:0.9rem;color:var(--indigo);outline:none;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.pm-input:focus{border-color:#3a7ab7;background:#fff;box-shadow:0 0 0 4px rgba(58,122,183,0.14);}
.pm-pass{position:relative;}
.pm-pass .pm-input{padding-right:40px;}
.pm-pass-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);padding:6px;font-size:15px;line-height:1;opacity:.7;}
.pm-pass-toggle:hover{opacity:1;}
.pm-auth-actions{display:flex;gap:8px;}
.pm-btn{flex:1;padding:11px 14px;border-radius:12px;font-size:0.86rem;font-weight:700;transition:transform .15s ease, box-shadow .15s ease, background .15s ease;}
.pm-btn:hover{transform:translateY(-1px);}
.pm-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;}
.pm-btn-primary{background:var(--indigo);color:#fff;box-shadow:0 6px 16px rgba(16,45,68,0.22);}
.pm-btn-ghost{background:#efe9df;color:var(--indigo);}
.pm-btn-ghost:hover{background:#e7dfd1;}
.pm-auth-msg{font-size:0.78rem;color:#c0392b;margin-top:8px;}
.pm-auth-msg:empty{display:none;}
.pm-user{display:flex;align-items:center;gap:12px;}
.pm-user-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f4d86b,#f39b5b);color:var(--indigo);font-family:'Unbounded',sans-serif;font-weight:800;text-transform:uppercase;}
.pm-user-info{flex:1;min-width:0;font-size:0.8rem;line-height:1.4;color:var(--text-dim);}
.pm-user-info b{display:block;color:var(--indigo);font-size:0.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pm-user .pm-btn{flex:0 0 auto;padding:9px 14px;}

/* ---------- measurement form ---------- */
.bd-section{margin-bottom:24px;}
.bd-section-title{display:flex;align-items:center;gap:10px;font-family:'Unbounded',sans-serif;font-size:0.85rem;margin-bottom:12px;}
.bd-section-title span{width:24px;height:24px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:var(--indigo);color:#fff;font-size:0.7rem;}
.bd-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px;}
.bd-seg{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:#efe9df;}
.bd-seg button{padding:8px 16px;border-radius:9px;font-size:0.82rem;font-weight:600;color:var(--text-dim);transition:background .2s ease, color .2s ease, box-shadow .2s ease;}
.bd-seg button:hover{color:var(--indigo);}
.bd-seg button.active{background:#fff;color:var(--indigo);box-shadow:0 2px 6px rgba(18,49,77,0.12);}
.bd-hidden-select{display:none;}
.bd-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.bd-field{display:flex;flex-direction:column;gap:5px;min-width:0;}
.bd-label{font-size:0.76rem;font-weight:600;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bd-input{
  display:flex;align-items:center;gap:6px;padding:0 12px;
  background:#fff;border:1.5px solid rgba(18,49,77,0.14);border-radius:12px;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.bd-input:focus-within{border-color:#3a7ab7;box-shadow:0 0 0 4px rgba(58,122,183,0.14);}
.bd-input input{flex:1;min-width:0;padding:11px 0;border:0;outline:0;background:transparent;font:inherit;font-size:0.95rem;font-weight:600;color:var(--indigo);-moz-appearance:textfield;appearance:textfield;}
.bd-input input::-webkit-outer-spin-button,
.bd-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.bd-input input::placeholder{color:#a9b4bf;font-weight:500;}
.bd-input em{font-style:normal;font-size:0.76rem;font-weight:600;color:var(--text-dimmer);}
.bd-field.filled .bd-input{border-color:rgba(58,122,183,0.4);background:#f7fbff;}
.bd-field.has-error .bd-input{border-color:#e0605a;box-shadow:0 0 0 4px rgba(224,96,90,0.12);}
.bd-hint{font-size:0.72rem;line-height:1.3;color:#c0392b;}
.bd-hint:empty{display:none;}

.bd-actions{
  position:sticky;bottom:0;z-index:2;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:4px -32px 0;padding:18px 32px 22px;
  background:linear-gradient(to top, #faf8f4 72%, rgba(250,248,244,0));
}
.bd-note{font-size:0.76rem;color:var(--text-dimmer);}
.bd-save{flex-shrink:0;padding:13px 22px;border-radius:999px;background:var(--indigo);color:#fff;font-weight:700;font-size:0.9rem;box-shadow:0 8px 20px rgba(16,45,68,0.25);transition:transform .15s ease, box-shadow .15s ease;}
.bd-save:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(16,45,68,0.3);}
.bd-save:disabled{opacity:.6;transform:none;}

/* ---------- mobile: viewer on top, form scrolls below ---------- */
@media (max-width:760px){
  .pm-overlay{padding:0;}
  .pm-card{grid-template-columns:1fr;grid-template-rows:40vh 1fr;width:100%;height:100vh;height:100dvh;border-radius:0;}
  .pm-viewer{border-right:0;border-bottom:1px solid var(--border);}
  .pm-progress{padding:10px 14px;}
  .pm-status{top:12px;left:12px;}
  .pm-close{top:10px;right:10px;}
  .pm-main{padding:22px 18px 0;}
  .pm-head{padding-right:0;}
  .pm-head h3{font-size:1.3rem;}
  .pm-auth-fields{grid-template-columns:1fr;}
  .bd-actions{margin:4px -18px 0;padding:14px 18px 18px;}
  .bd-note{display:none;}
  .bd-save{flex:1;}
}
@media (max-width:380px){
  .bd-grid{grid-template-columns:1fr;}
}
