/* Auverie private portal */
.p-body{background:var(--night);color:var(--ivory);min-height:100vh}
.p-body a{color:inherit}
.p-top{display:flex;justify-content:space-between;align-items:center;padding:1.4rem var(--pad);border-bottom:1px solid rgba(244,239,230,.08)}
.p-top .brand{color:var(--ivory)}
.p-top .brand svg{width:32px;height:32px}
.p-top .brand .wm{font-size:1.2rem}
.p-top .right{display:flex;gap:1.6rem;align-items:center;font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase}
.p-top .right a{text-decoration:none;opacity:.8}
.p-top .right a:hover{opacity:1;color:var(--gold-soft)}

/* auth */
.auth{min-height:calc(100vh - 82px);display:grid;grid-template-columns:1fr 1fr}
.auth .visual{position:relative;overflow:hidden}
.auth .visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.auth .visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,26,34,0) 50%,rgba(14,26,34,1) 100%)}
.auth .panel{display:flex;flex-direction:column;justify-content:center;padding:4rem clamp(1.5rem,6vw,6rem);max-width:620px}
.auth h1{font-size:clamp(2.4rem,1.8rem + 2vw,3.6rem);margin:1rem 0 .8rem}
.auth .lead{color:#B9B2A6;margin-bottom:2.4rem}
.tabs{display:flex;gap:2rem;border-bottom:1px solid rgba(244,239,230,.12);margin-bottom:2.2rem}
.tabs button{background:none;border:0;color:#9E978B;font:inherit;font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;padding:0 0 .9rem;cursor:pointer;border-bottom:1px solid transparent;margin-bottom:-1px}
.tabs button[aria-selected=true]{color:var(--gold-soft);border-bottom-color:var(--gold)}
.stack{display:flex;flex-direction:column;gap:1.4rem}
.stack .btn{align-self:flex-start;margin-top:.4rem}
.err{color:#E3A28E;font-size:var(--text-sm);min-height:1.4em}
.fine{font-size:var(--text-xs);color:#8F887C;line-height:1.8;margin-top:2rem;border-top:1px solid rgba(244,239,230,.1);padding-top:1.4rem}
.steps-mini{display:flex;gap:.6rem;margin-bottom:1.8rem}
.steps-mini span{height:2px;flex:1;background:rgba(244,239,230,.15)}
.steps-mini span.on{background:var(--gold)}
.choices{display:flex;flex-wrap:wrap;gap:.6rem}
.choices label{border:1px solid rgba(244,239,230,.25);padding:.55rem 1rem;font-size:var(--text-sm);cursor:pointer;transition:all .25s var(--ease);user-select:none}
.choices input{position:absolute;opacity:0;pointer-events:none}
.choices label:has(input:checked){border-color:var(--gold);color:var(--gold-soft);background:rgba(184,149,94,.08)}
@media(max-width:900px){.auth{grid-template-columns:1fr}.auth .visual{height:240px}.auth .visual::after{background:linear-gradient(180deg,rgba(14,26,34,0) 30%,rgba(14,26,34,1) 100%)}}

/* app shell */
.shell{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - 82px)}
.side{border-right:1px solid rgba(244,239,230,.08);padding:2.2rem 1.4rem;display:flex;flex-direction:column;gap:.2rem}
.side .who{padding:0 .8rem 1.8rem;margin-bottom:1rem;border-bottom:1px solid rgba(244,239,230,.08)}
.side .who .n{font-family:var(--font-display);font-size:1.5rem;line-height:1.1}
.side .who .r{font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);margin-top:.4rem}
.side button{background:none;border:0;color:#B9B2A6;font:inherit;font-size:var(--text-sm);text-align:left;padding:.75rem .8rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.side button:hover{color:var(--ivory)}
.side button[aria-current=true]{color:var(--ivory);background:rgba(244,239,230,.05);box-shadow:inset 2px 0 0 var(--gold)}
.side .badge{font-size:.7rem;background:var(--gold);color:var(--night);padding:.05rem .5rem;border-radius:20px}
.side .foot{margin-top:auto;padding:1.4rem .8rem 0;font-size:var(--text-xs);color:#8F887C;line-height:1.7}
.main{padding:clamp(1.6rem,4vw,3.6rem);max-width:1180px}
.main h1{font-size:clamp(2.2rem,1.6rem + 2vw,3.4rem);margin:.6rem 0 .4rem}
.main .sub{color:#B9B2A6;margin-bottom:2.6rem}
.view{display:none}
.view.on{display:block;animation:fade .5s var(--ease)}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.grid2{display:grid;grid-template-columns:1.4fr 1fr;gap:1.4rem}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.panel-c{background:var(--night-2);border:1px solid rgba(244,239,230,.07);padding:1.8rem}
.panel-c h3{font-family:var(--font-display);font-size:1.6rem;font-weight:400;margin-bottom:.4rem}
.panel-c .k{font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:.8rem}
.panel-c p{color:#B9B2A6;font-size:var(--text-sm)}
.hero-c{position:relative;overflow:hidden;min-height:300px;display:flex;align-items:flex-end;padding:2rem}
.hero-c img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-c::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,26,34,.1) 30%,rgba(14,26,34,.92) 100%)}
.hero-c>div{position:relative;z-index:2}
.hero-c h3{font-family:var(--font-display);font-size:2.3rem;font-weight:400;line-height:1.05}
.journey{list-style:none;margin-top:1rem}
.journey li{display:grid;grid-template-columns:22px 1fr auto;gap:1rem;align-items:start;padding:.9rem 0;border-bottom:1px solid rgba(244,239,230,.07);font-size:var(--text-sm)}
.journey .dot{width:10px;height:10px;border-radius:50%;border:1px solid var(--gold);margin-top:.45rem}
.journey .done .dot{background:var(--gold)}
.journey .now .dot{background:var(--gold);box-shadow:0 0 0 5px rgba(184,149,94,.2)}
.journey .when{color:#8F887C;font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase}
.journey .t{color:var(--ivory)}
.journey .d{color:#8F887C;font-size:var(--text-xs)}
.itin{list-style:none}
.itin li{display:grid;grid-template-columns:110px 1fr;gap:1.4rem;padding:1.4rem 0;border-bottom:1px solid rgba(244,239,230,.07)}
.itin .day{font-family:var(--font-display);font-size:1.5rem;color:var(--gold-soft);line-height:1}
.itin .day small{display:block;font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:#8F887C;margin-top:.4rem}
.itin .t{font-size:var(--text-base)}
.itin .d{color:#B9B2A6;font-size:var(--text-sm)}
.docs{list-style:none}
.docs li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 0;border-bottom:1px solid rgba(244,239,230,.07)}
.docs .t{font-size:var(--text-base)}
.docs .d{color:#8F887C;font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase}
.pill{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;padding:.3rem .7rem;border:1px solid rgba(244,239,230,.25);white-space:nowrap}
.pill.gold{border-color:var(--gold);color:var(--gold-soft)}
.pill.new{background:var(--gold);color:var(--night);border-color:var(--gold)}
.thread{display:flex;flex-direction:column;gap:1rem;max-height:460px;overflow:auto;padding-right:.4rem}
.msg{max-width:72%;padding:1rem 1.2rem;background:var(--night-2);border:1px solid rgba(244,239,230,.07);font-size:var(--text-sm)}
.msg.me{align-self:flex-end;background:rgba(184,149,94,.12);border-color:rgba(184,149,94,.3)}
.msg .m{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#8F887C;margin-bottom:.4rem}
.compose{display:flex;gap:1rem;margin-top:1.4rem;align-items:flex-end}
.compose textarea{flex:1;font:inherit;font-size:var(--text-sm);background:transparent;border:1px solid rgba(244,239,230,.2);color:var(--ivory);padding:.9rem 1rem;min-height:56px;resize:vertical}
.compose textarea:focus{outline:none;border-color:var(--gold)}
.note{font-size:var(--text-xs);color:#8F887C;border-left:1px solid var(--gold);padding-left:1rem;margin-top:1.6rem;line-height:1.8;max-width:80ch}
table.t{width:100%;border-collapse:collapse;font-size:var(--text-sm)}
table.t th{text-align:left;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#8F887C;font-weight:500;padding:.8rem .6rem;border-bottom:1px solid rgba(244,239,230,.12)}
table.t td{padding:1rem .6rem;border-bottom:1px solid rgba(244,239,230,.07);vertical-align:middle}
table.t tr:hover td{background:rgba(244,239,230,.025)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-bottom:2rem}
.kpi{background:var(--night-2);border:1px solid rgba(244,239,230,.07);padding:1.4rem}
.kpi .v{font-family:var(--font-display);font-size:2.6rem;line-height:1;font-variant-numeric:tabular-nums}
.kpi .l{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#8F887C;margin-top:.5rem}
.board{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:1rem;overflow-x:auto}
.col h4{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#8F887C;font-weight:500;margin-bottom:.8rem}
.tile{background:var(--night-2);border:1px solid rgba(244,239,230,.07);padding:1rem;margin-bottom:.8rem;font-size:var(--text-sm)}
.tile .d{color:#8F887C;font-size:var(--text-xs);margin-top:.3rem}
.btn.ghost{background:transparent;color:var(--gold-soft)}
.btn.ghost:hover{background:var(--gold);color:var(--night)}
.btn.small{padding:.6rem 1rem;font-size:.68rem}
select.dark{background-color:transparent;color:var(--ivory);border-bottom:1px solid rgba(244,239,230,.3);padding:.4rem 1.6rem .4rem 0;font-size:var(--text-sm)}
.mnav{display:none}
@media(max-width:900px){
  .shell{grid-template-columns:1fr}.side{display:none}
  .mnav{display:flex;gap:.4rem;overflow-x:auto;padding:1rem var(--pad);border-bottom:1px solid rgba(244,239,230,.08)}
  .mnav button{background:none;border:1px solid rgba(244,239,230,.2);color:#B9B2A6;font:inherit;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;padding:.55rem .9rem;white-space:nowrap}
  .mnav button[aria-current=true]{border-color:var(--gold);color:var(--gold-soft)}
  .tabs{gap:1.2rem}.tabs button{font-size:.62rem;letter-spacing:.14em;white-space:nowrap}
  .hero-c{min-height:380px}.hero-c::after{background:linear-gradient(180deg,rgba(14,26,34,.15) 0%,rgba(14,26,34,.75) 45%,rgba(14,26,34,.97) 80%)}
  .grid2,.grid3{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}.msg{max-width:90%}
  .itin li{grid-template-columns:80px 1fr}
  .p-top .right .hide-m{display:none}
  table.t .hide-m{display:none}
}
