/* Shared app chrome keeps content product-led and navigation predictable. */
:root { --wide:1240px; --app-header-height:calc(56px + env(safe-area-inset-top)); }
.masthead::before { background:rgba(255,255,255,.96); }
.mast-inner { min-height:64px; }
.wordmark { gap:8px; }
.wordmark img { width:30px; height:30px; }
.header-actions { gap:4px; }
.primary-nav a { font-size:.84rem; }
body:not([data-seller-showroom]) [data-showroom-only],
body[data-seller-showroom] [data-shop-only],
body[data-seller-showroom] .header-actions :is([href="#saved"],[data-action="cart"]) { display:none; }
#seller-list-tab { position:relative; }
#seller-pick-count { min-width:16px; padding:2px 4px; border-radius:12px; background:var(--brand-accent); color:white; text-align:center; font:700 10px/1.2 var(--h2-body); }
@media (max-width:660px) {
  #seller-pick-count { position:absolute; top:1px; left:calc(50% + 6px); }
}
#app-back,#app-screen-title { display:none; }
.partner-status { background:var(--brand-tint); border-bottom:0; color:var(--brand-deep); }
.partner-status .wrap { padding-block:7px; gap:8px; font-size:.7rem; }
.partner-status strong { font-family:var(--h2-display); font-weight:900; letter-spacing:.065em; font-size:.61rem; }
.partner-status a { text-decoration:none; margin-left:4px; }
.partner-status p { font-size:inherit; }
.shell-loading { padding:32px 0; min-height:55vh; }
.shell-loading p { margin-bottom:24px; color:var(--muted); font-size:.83rem; }
.shell-skeleton { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.shell-skeleton span { display:block; aspect-ratio:3/4; border-radius:12px; background:linear-gradient(110deg,#ededf0 25%,#f7f7f8 45%,#ededf0 65%); background-size:250% 100%; animation:shell-load 1.8s infinite; }
@keyframes shell-load { to { background-position:-160% 0; } }
.my-page { max-width:800px; margin:0 auto; padding:32px 0 52px; }
.my-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:26px; }
.my-heading>span { font-size:1.55rem; font-weight:760; letter-spacing:-.05em; }
.my-heading small { font-size:.64rem; letter-spacing:.06em; color:#8b8b94; font-weight:650; }
.my-profile { display:flex; align-items:center; gap:16px; margin-bottom:26px; }
.my-avatar { display:grid; place-items:center; width:62px; height:62px; border-radius:50%; background:var(--brand-tint); color:var(--plum); font-size:1.5rem; font-weight:650; flex:none; }
.my-page svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.my-avatar svg { width:29px; height:29px; }
.my-profile h1 { font-family:inherit; font-size:1.18rem; letter-spacing:-.04em; line-height:1.4; font-weight:720; }
.my-profile h1 span { margin-left:3px; font-weight:500; }
.my-profile p { color:var(--muted); font-size:.79rem; margin-top:3px; }
.my-role { display:block; color:var(--plum); font-size:.6rem; letter-spacing:.08em; font-weight:700; margin-bottom:3px; }
.my-signin { display:flex; align-items:center; gap:4px; min-height:44px; background:none; padding:0; font-size:.81rem; font-weight:650; }
.my-signin svg { width:14px; height:14px; }
.my-access { display:flex; align-items:center; flex-wrap:wrap; gap:0 20px; }
.my-access a { color:var(--brand-deep); }
.my-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--line); background:white; border-radius:16px; padding:18px 0; margin-bottom:28px; }
.my-shortcuts a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; min-height:64px; padding:6px; font-size:.78rem; font-weight:550; }
.my-shortcuts a+a { border-left:1px solid var(--line); }
.my-sections { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.my-group { background:white; padding:18px; border:1px solid var(--line); border-radius:16px; }
.my-group h2 { margin:0 0 8px; color:#83838c; font-size:.7rem; letter-spacing:.02em; font-weight:550; }
.my-row { display:flex; align-items:center; gap:13px; min-height:76px; padding:11px 0; }
.my-row+.my-row { border-top:1px solid #f1f1f3; }
.my-row>span { flex:1; min-width:0; }
.my-row strong { display:block; font-size:.87rem; font-weight:600; }
.my-row small { display:block; color:var(--muted); font-size:.72rem; margin-top:4px; word-break:keep-all; }
.my-row>svg:last-child { width:15px; height:15px; color:#aaaab2; }
.my-service-note { display:flex; gap:7px; align-items:center; justify-content:center; font-size:.69rem; color:var(--muted); margin:24px 0 5px; }
.my-service-note span { width:5px; height:5px; border-radius:50%; background:var(--plum); }
.my-logout { display:block; min-height:44px; margin:12px auto 0; background:none; color:var(--muted); padding:8px 20px; font-size:.76rem; }
.my-row:active,.my-shortcuts a:active { opacity:.6; }
@media (max-width:900px) and (min-width:661px) {
  .mast-inner { grid-template-columns:1fr auto; }
  .mast-inner>.primary-nav { grid-column:1/-1; grid-row:2; justify-content:center; min-height:44px; }
}
@media (max-width:660px) {
  .wrap { width:calc(100% - 32px); }
  .mast-inner { display:flex; min-height:56px; gap:0; }
  .wordmark { flex:1; gap:7px; }
  .wordmark img { width:27px; height:27px; }
  .header-actions { gap:0; margin-left:auto; }
  .header-actions>.header-icon,.header-actions>.bag-button { width:40px; min-width:40px; }
  #account-button { display:none; }
  .primary-nav { padding:5px max(8px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left)); gap:0; background:rgba(255,255,255,.97); border-top:1px solid #e9e9ed; box-shadow:0 -4px 18px #19191d03; }
  .primary-nav a { min-height:48px; gap:4px; font-size:.62rem; font-weight:500; color:#888891; padding:3px 0; }
  .primary-nav svg { width:23px; height:23px; stroke-width:1.65; }
  .primary-nav a[aria-current="page"] { color:var(--brand-accent); font-weight:750; }
  .primary-nav a[aria-current="page"] svg { stroke-width:2.1; fill:var(--brand-tint); }
  .primary-nav a[aria-current="page"]::after { display:none; }
  .primary-nav a:active { transform:scale(.95); }
  body { padding-bottom:calc(60px + env(safe-area-inset-bottom)); }
  .partner-status .wrap { justify-content:flex-start; font-size:.64rem; gap:6px; min-height:31px; }
  .partner-status strong { font-size:.56rem; }
  .partner-status a { margin-left:auto; white-space:nowrap; }
  #app-screen-title:not([hidden]) { display:block; font-size:1rem; font-weight:700; letter-spacing:-.03em; }
  body[data-context-title] .wordmark { display:none; }
  #app-back:not([hidden]) { display:grid; place-items:center; background:none; width:36px; height:44px; padding:8px; margin-left:-8px; margin-right:4px; }
  #app-back svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  .shell-loading { padding-top:24px; }
  .shell-skeleton { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .my-page { padding:22px 0 28px; }
  .my-heading { display:none; }
  .my-profile { gap:14px; margin:4px 0 24px; }
  .my-avatar { width:58px; height:58px; }
  .my-profile h1 { font-size:1.12rem; }
  .my-shortcuts { margin-bottom:22px; padding:12px 0; }
  .my-sections { display:block; }
  .my-group { padding:17px; margin-bottom:12px; }
  .my-row { min-height:68px; }
  body[data-screen="account"] footer { display:none; }
  #toast { bottom:calc(74px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion:reduce) { .shell-skeleton span { animation:none; } .primary-nav a:active { transform:none; } }
