/* Verapex ID — account page. Uses the Verapex theme tokens with fallbacks. */
.vpxid{
  --x-ink:var(--ink,#14120E); --x-soft:var(--ink-soft,#4A463C); --x-mute:var(--ink-mute,#857F70);
  --x-paper:var(--paper,#fff); --x-bone:var(--bone,#FAF7F1); --x-shell:var(--shell,#E8E0D0);
  --x-gold:var(--gold,#A8802C); --x-gold-deep:var(--gold-deep,#8A6720);
  --x-rule:var(--rule,rgba(20,18,14,.12)); --x-rule-soft:var(--rule-soft,rgba(20,18,14,.07));
  --x-serif:'Cormorant Garamond',Garamond,Georgia,serif;
  color:var(--x-ink); max-width:1000px; margin:0 auto;
}
.vpxid *{box-sizing:border-box;}
.prose .vpxid p{margin-bottom:0; line-height:1.7;}
.prose .vpxid h2,.prose .vpxid h3{margin:0;}
.vpxid h2,.vpxid h3{font-family:var(--x-serif); font-weight:500; line-height:1.15;}
.vpxid .label{display:block; font-size:.64rem; letter-spacing:.2em; text-transform:uppercase; color:var(--x-mute); margin-bottom:12px;}
.vpxid-muted{color:var(--x-mute); font-size:.9rem;}
.vpxid-notice{padding:14px 18px; font-size:.9rem; margin:0 0 26px; border:1px solid;}
.vpxid-notice.ok{background:#F4F7F3; border-color:#CBDBC6; color:#395233;}
.vpxid-notice.err{background:#FBF3F2; border-color:#E4C9C6; color:#7A3830;}

.vpxid-intro{text-align:center; max-width:560px; margin:0 auto 40px;}
.vpxid-intro h2{font-size:clamp(1.9rem,3.4vw,2.6rem); margin-bottom:12px !important;}
.vpxid-intro p{color:var(--x-soft);}
.vpxid-grid{display:grid; grid-template-columns:1fr 1fr; gap:26px;}
.vpxid-panel{border:1px solid var(--x-rule); background:var(--x-paper); padding:34px 36px;}
.vpxid-grid .vpxid-panel:first-child{box-shadow:0 30px 60px -44px rgba(20,18,14,.5);}
.vpxid-narrow{max-width:520px; margin:0 auto;}
.vpxid-panel h3{font-size:1.75rem; padding-bottom:18px; margin-bottom:24px !important; border-bottom:1px solid var(--x-rule-soft);}
.vpxid-field{display:flex; flex-direction:column; margin:0 0 20px !important;}
.vpxid-field label{font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; color:var(--x-mute); margin-bottom:8px;}
.vpxid-field input{font:inherit; font-size:.98rem; font-weight:300; color:var(--x-ink); background:transparent; border:0; border-bottom:1px solid var(--x-rule); border-radius:0; padding:9px 0; width:100%; -webkit-appearance:none; appearance:none; transition:border-color .3s;}
.vpxid-field input:focus{outline:none; border-bottom-color:var(--x-gold);}
.vpxid-check{display:flex; align-items:center; gap:10px; font-size:.86rem; color:var(--x-soft); margin:-4px 0 22px; cursor:pointer;}
.vpxid-check input{accent-color:var(--x-gold);}
.vpxid .btn{width:100%; text-align:center; font-family:inherit; cursor:pointer;}
.vpxid-fine{font-size:.78rem; color:var(--x-mute); margin-top:16px !important;}
.vpxid-fine a{text-decoration:underline; text-underline-offset:3px;}
.vpxid-hp{position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden;}

.vpxid-head{display:flex; align-items:center; gap:22px; padding-bottom:28px; margin-bottom:30px; border-bottom:1px solid var(--x-rule-soft);}
.vpxid-head > div{flex:1; min-width:0;}
.vpxid-head h2{font-size:clamp(1.9rem,3vw,2.5rem); margin-bottom:6px !important;}
.vpxid-head .btn{width:auto; padding:13px 28px;}
.vpxid-avatar{display:inline-grid; place-items:center; width:64px; height:64px; border-radius:50%; border:1px solid var(--x-gold); color:var(--x-gold-deep); background:#FFFCF5; font-family:var(--x-serif); font-size:1.6rem; flex:none;}
.vpxid-badge{display:inline-block; margin-left:8px; font-size:.58rem; letter-spacing:.16em; text-transform:uppercase; padding:4px 9px; border:1px solid #E3D2A8; color:#8A6720; background:#FBF6EA; vertical-align:middle;}
.vpxid-badge.ok{border-color:#BFD6C8; color:#2F5D46; background:#F1F7F3;}
.vpxid-confirm{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding:16px 20px; background:var(--x-bone); border:1px solid var(--x-rule-soft); font-size:.9rem; color:var(--x-soft); margin-bottom:34px;}
.vpxid-link{background:none; border:0; padding:0; font:inherit; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--x-gold-deep); cursor:pointer; border-bottom:1px solid var(--x-gold);}
.vpxid-h{font-size:1.7rem; margin-bottom:6px !important;}
.vpxid-services{display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; margin-top:20px;}
.vpxid-service{display:flex; flex-direction:column; gap:6px; padding:22px 24px; border:1px solid var(--x-rule); background:var(--x-paper); transition:border-color .3s, box-shadow .3s;}
.vpxid-service:hover{border-color:var(--x-gold); box-shadow:0 20px 40px -32px rgba(20,18,14,.45);}
.vpxid-service strong{font-family:var(--x-serif); font-size:1.4rem; font-weight:500;}
.vpxid-service span{font-size:.78rem; color:var(--x-mute);}

@media (max-width:760px){
  .vpxid-grid{grid-template-columns:1fr;}
  .vpxid-panel{padding:26px 22px;}
  .vpxid-head{flex-wrap:wrap;}
  .vpxid-head .btn{width:100%;}
}
