/* Vendor-only palette. Organizer shells and semantic status colors stay independent. */
html body .vhd{--tp-ws-ink:#443159;--tp-ws-muted:#776887;--tp-ws-line:#e6def0;--tp-ws-coral:#74519b;--tp-ws-mint:#f2ecfa;--primary:#74519b;--accent:#ab8dcd;font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:#443159}
html body .vhd .vhd-side{background:linear-gradient(155deg,#f5effc,#e9ddf6)!important;border-right:1px solid #ded0ed!important;box-shadow:none!important}
html body .vhd :is(.vhd-portal,.vhd-nav a,.vhd-nav a svg,.vhd-profname){color:#614879!important}
html body .vhd .vhd-nav a.on{background:#d9c6ee!important;color:#493060!important;box-shadow:inset 0 0 0 1px #c8b0e0}
html body .vhd .vhd-nav a:hover{background:#e5d7f4!important}
html body .vhd :is(.vhd-profcard,.vhd-switch){background:#ffffffaa!important;border-color:#daccea!important;color:#604478!important}
html body .vhd :is(.vhd-h1,.vhd-hero h2,.vhd-card h2,.vhd-card h3){font-family:'Fredoka',sans-serif!important;font-weight:600!important;color:#493460!important;letter-spacing:-.025em}
html body .vhd .vhd-h1{font-size:clamp(30px,3vw,44px)!important}
html body .vhd .vhd-sub{color:#786b86!important;line-height:1.65}
html body .vhd .vhd-hero{background:linear-gradient(125deg,#f3eafb,#ede7fb)!important;border:1px solid #e5d8f2;border-radius:26px;padding:32px!important;min-height:300px}
html body .vhd .vhd-hero h2{font-size:clamp(28px,2.9vw,40px)!important;line-height:1.12!important;max-width:65%;position:relative;z-index:1}
html body .vhd .vhd-hero .eyebrow{color:#806099!important;font-size:10px;letter-spacing:.12em}
html body .vhd .vhd-hero .lines{color:#776785!important;max-width:62%;font-size:14px;line-height:1.7}
html body .vhd .vhd-tentie{position:absolute;right:0;top:28px;width:34%!important;height:auto!important;max-height:240px;object-fit:contain;pointer-events:none}
html body .vhd .vhd-hero .btns{position:relative;z-index:1}
html body .vhd :is(.vhd-btn-primary,.vhd-profile-step button){background:#74519b!important;color:#fff!important;border-radius:14px!important;box-shadow:0 8px 20px #65417c18!important}
html body .vhd .vhd-btn-ghost{border:1px solid #e1d5ee!important;color:#604478!important;-webkit-text-fill-color:#604478!important;border-radius:14px!important;box-shadow:none!important}
html body .vhd :is(.vhd-card,.vhd-kpi){border-color:#e9e1ef!important;border-radius:22px!important;box-shadow:0 5px 22px #49346005}
html body .vhd .vhd-profile-step{background:#f4effb!important;border-color:#dfd0ed!important}
html body .vhd .vhd-profile-step :is(h2,p){color:#604478!important}
html body .vhd :is(.vhd-search,.vhd-me .chip){background:#faf7fd;border-color:#e4d9ed;color:#74519b}
html body .vhd :is(button,a,input,select,textarea):focus-visible{outline:3px solid #b79ad6!important;outline-offset:3px}
#tpvo-overlay{background:#30243b66!important}
#tpvo-overlay>div{background:linear-gradient(#faf6ff,#fff 300px)!important;border:1px solid #eee4f7;box-shadow:0 25px 80px #35214033!important;border-radius:28px!important;padding:32px!important}
#tpvo-overlay .tpvo-brand-head{display:flex;align-items:center;gap:12px;padding:12px 0 18px}
#tpvo-overlay .tpvo-brand-head>div{flex:1;min-width:0}
#tpvo-overlay .tpvo-brand-head img{width:116px!important;height:130px!important;object-fit:contain}
#tpvo-overlay .tpvo-eyebrow{font-size:10px;font-weight:800;letter-spacing:.13em;color:#9070ab}
#tpvo-overlay h2{font-family:'Fredoka',sans-serif!important;font-size:30px!important;font-weight:600!important;line-height:1.15;color:#513b68!important;margin:8px 0}
#tpvo-overlay .tpvo-brand-head p{font-size:13px;color:#806e90;margin:0;line-height:1.5}
#tpvo-overlay .tpvo-label{color:#756184;font-size:11px;letter-spacing:.035em;text-transform:none}
#tpvo-overlay .tpvo-in{border:1px solid #ded2e9!important;background:#fefcff!important;color:#493460!important;font-size:16px;min-height:46px;font-weight:500}
#tpvo-overlay .tpvo-in:focus{outline:3px solid #ede0fa;outline-offset:1px;border-color:#aa88c7!important}
#tpvo-overlay .tpvo-btn2{background:#f4eefb!important;border:1px solid #d9c6e9!important;color:#664980!important;border-radius:12px!important}
#tpvo-overlay #tpvo-save{background:#74519b!important;border-radius:14px!important;letter-spacing:0!important}
#tpvo-overlay #tpvo-logo-preview{background:#eee5f7!important;color:#8c71a3!important}
#tpvo-overlay>div>div[style*="dashed"]{border-color:#ddccec!important;background:#fdfaff}
@media(max-width:600px){
 html body .vhd .vhd-hero{padding:24px!important}
 html body .vhd .vhd-tentie{width:32%!important;top:26px;right:6px}
 html body .vhd .vhd-hero .lines{max-width:100%;margin-top:28px}
 #tpvo-overlay .tpvo-brand-head{padding-top:26px;gap:4px}
 #tpvo-overlay .tpvo-brand-head img{width:82px!important;height:104px!important}
 #tpvo-overlay h2{font-size:26px!important}
}
html body .vhd :is(.vhd-portal,.vhd-nav a,.vhd-nav a.on,.vhd-profsub a){-webkit-text-fill-color:#614879!important}
html body .vhd .vhd-cal td .vhd-day.today{background:#74519b!important}
html body .vhd .vhd-legacy :is(.btn-primary,.btn-pill,.tp-ws-primary){background:#74519b!important;border-color:#74519b!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
html body .vhd .vhd-legacy :is(.page-title,.page-head h1){color:#493460!important;-webkit-text-fill-color:#493460!important;font-family:'Fredoka',sans-serif!important}
/* Vendor overview follows the organizer overview's welcome / summary / details hierarchy. */
html body .vhd .vhd-main{padding:28px 32px 60px}
html body .vhd .vhd-top{margin-bottom:28px}
html body .vhd .vhd-welcome{display:grid;grid-template-columns:minmax(0,1fr) 230px;align-items:center;gap:24px;position:relative;overflow:hidden;padding:32px 38px;background:radial-gradient(ellipse at 95% 5%,#fff9e9,transparent 65%),linear-gradient(120deg,#e4d4f2,#f1eafb);border:1px solid #e2d3ee;border-radius:28px;margin-bottom:24px}
html body .vhd .vhd-welcome-copy{max-width:740px}
html body .vhd .vhd-welcome-kicker{font-size:10px;letter-spacing:.13em;font-weight:800;color:#806196}
html body .vhd .vhd-welcome .vhd-h1{margin:12px 0!important;font-size:clamp(30px,3vw,44px)!important;line-height:1.15!important}
html body .vhd .vhd-welcome .vhd-sub{max-width:570px;font-size:14px!important;line-height:1.7!important;margin:0 0 22px!important}
html body .vhd .vhd-welcome .vhd-tentie{position:static;width:100%!important;height:220px!important;max-height:none;object-fit:contain}
html body .vhd .vhd-welcome-actions{display:flex;gap:12px;flex-wrap:wrap}
html body .vhd .vhd-welcome-actions button{min-height:46px;padding:12px 18px;font-size:13px}
html body .vhd .vhd-nav-group{font-size:9px;letter-spacing:.12em;font-weight:800;color:#987daf;padding:22px 14px 8px}
html body .vhd .vhd-side{padding:28px 18px 20px}
html body .vhd .vhd-profcard{padding:12px;margin-top:24px}
html body .vhd .vhd-profcard :is(img,.vhd-avfall){width:44px!important;height:44px!important;font-size:18px;margin-bottom:8px}
html body .vhd .vhd-profile-step{margin-bottom:24px;padding:16px 20px;background:#fbf8fe!important;box-shadow:none}
html body .vhd .vhd-profile-step p{font-size:12px;font-weight:500;max-width:740px;line-height:1.6}
html body .vhd .vhd-kpis{gap:12px}
html body .vhd .vhd-kpi{padding:18px 16px;background:#fbf9fe!important}
html body .vhd .vhd-kpi a{color:#74519b!important;-webkit-text-fill-color:#74519b!important;font-size:11px}
html body .vhd .vhd-approval-ledger{background:#fff!important;border-color:#e6dcef;box-shadow:none}
html body .vhd :is(.vhd-approval-head h2,.vhd-sect-head .t){font-family:'Fredoka',sans-serif!important;color:#513b68!important;font-size:21px!important;font-weight:600}
html body .vhd .vhd-approval-head p{font-weight:500;font-size:12px;color:#817389}
html body .vhd .vhd-near .badge{background:#ae91c8!important}
html body .vhd .vhd-account-tools{display:flex;flex-direction:column;gap:10px}
html body .vhd .vhd-account-tools span{font-size:12px;color:#8a7996;font-weight:600}
html body .vhd .vhd-account-tools button{background:none;border:0;padding:0;text-align:left;color:#6f5189;font:600 13px/1.5 'Plus Jakarta Sans',sans-serif;cursor:pointer}
@media(max-width:760px){html body .vhd .vhd-main{padding:20px 16px 40px}html body .vhd .vhd-welcome{grid-template-columns:minmax(0,1fr) 100px;padding:24px 20px;gap:8px}html body .vhd .vhd-welcome .vhd-tentie{height:135px!important;align-self:start}html body .vhd .vhd-welcome-copy{display:contents}html body .vhd .vhd-welcome-kicker{grid-column:1}html body .vhd .vhd-welcome .vhd-h1{grid-column:1;font-size:28px!important;margin:4px 0!important}html body .vhd .vhd-welcome .vhd-tentie{grid-column:2;grid-row:1/4}html body .vhd .vhd-welcome .vhd-sub{grid-column:1/-1;margin:8px 0!important}html body .vhd .vhd-welcome-actions{grid-column:1/-1;margin-top:8px}html body .vhd .vhd-welcome-actions button{flex:1;justify-content:center}html body .vhd .vhd-profile-step{align-items:flex-start;flex-direction:column;gap:12px}}
html body .vhd :is(.vhd-approval-head button,.vhd-sect-head a){color:#74519b!important;-webkit-text-fill-color:#74519b!important}
@media(max-width:760px){html body .vhd .vhd-welcome .vhd-tentie{height:110px!important;grid-row:1/3}html body .vhd .vhd-welcome-actions button{padding:12px;font-size:12px}}

/* Vendor applications: one welcome, one next step, and approvals beside the work. */
.vapps-page .vapps-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px 38px;margin:12px 0 28px;border:1px solid #e7dcf4;border-radius:28px;background:linear-gradient(115deg,#f0e8fb,#faf7ff);text-align:left}
.vapps-page .vapps-eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;color:#795a96}
.vapps-page .vapps-welcome h1{font-family:Fredoka,sans-serif;font-size:clamp(30px,3vw,44px);font-weight:600;line-height:1.15;color:#513b69;margin:10px 0}
.vapps-page .vapps-welcome p{font-size:15px;line-height:1.65;color:#756783;max-width:480px;margin:0 0 20px}
.vapps-page .vapps-welcome img{width:180px!important;height:180px!important;object-fit:contain;flex-shrink:0}
.vapps-page .vapps-primary{display:inline-flex;align-items:center;gap:24px;padding:13px 20px;border-radius:999px;background:#74519b;color:white!important;-webkit-text-fill-color:white!important;font-size:14px;font-weight:700;text-decoration:none;min-height:44px;box-sizing:border-box}
.vapps-page .vendor-apps-grid{gap:24px!important;grid-template-columns:minmax(0,1fr) 290px!important}
.vapps-page .vapps-section-title{font:600 22px/1.3 Fredoka,sans-serif;color:#513b69;margin:0 0 14px}
.vapps-page .tp-empty-card{background:#faf7ff!important;border:1px solid #e7dcf4!important;box-shadow:none!important;margin:0!important;padding:26px!important;gap:18px!important;align-items:flex-start!important;border-radius:22px!important}
.vapps-page .tp-empty-card h2{font:600 23px/1.25 Fredoka,sans-serif;color:#513b69;margin:0 0 10px}
.vapps-page .tp-empty-card p{font-size:14px;color:#756783;line-height:1.65;max-width:540px;margin:0 0 16px}
.vapps-page .tp-empty-card a{color:#74519b!important;-webkit-text-fill-color:#74519b!important;font-size:14px;font-weight:800;text-decoration:none;display:inline-block;padding:8px 0}
.vapps-page .vapps-empty-icon{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;background:#eadff6;border-radius:14px;color:#74519b;font-size:26px}
.vapps-page #vhd-apps-approval-ledger{margin:22px 0 0;padding:24px;border-radius:22px;border:1px solid #e7dcf4;box-shadow:none}
.vapps-page .vhd-approval-head .ey{color:#795a96!important}
.vapps-page .vhd-approval-head h2{font-size:22px;margin:6px 0}
.vapps-page .vhd-approval-head p{line-height:1.6;font-size:13px}
.vapps-page .vhd-approval-empty{padding:20px 0 0;text-align:left;font-size:13px;line-height:1.65;color:#756783}
.vapps-page #vendor-favorites-panel{position:static!important}
.vapps-page #vendor-favorites-panel .card{border:1px solid #e7dcf4!important;border-radius:22px!important;box-shadow:none!important;padding:24px!important;background:#fff!important}
.vapps-page #vendor-favorites-panel button{background:#eee5f8!important;color:#664780!important;-webkit-text-fill-color:#664780!important}
.vapps-page a:focus-visible{outline:3px solid #9674b8;outline-offset:4px}
@media(max-width:1000px){.vapps-page .vendor-apps-grid{grid-template-columns:1fr!important}}
@media(max-width:600px){.vapps-page .vapps-welcome{padding:24px 20px;gap:4px;position:relative;overflow:hidden}.vapps-page .vapps-welcome>div{position:relative;z-index:1}.vapps-page .vapps-welcome p{max-width:230px}.vapps-page .vapps-welcome img{width:100px!important;height:100px!important;position:absolute;right:4px;bottom:12px;opacity:.95}.vapps-page .vapps-primary{max-width:calc(100% - 72px);gap:10px}.vapps-page .tp-empty-card{padding:20px!important;gap:12px!important}.vapps-page .vapps-empty-icon{display:none}}
html body .vapps-page :is(.vapps-welcome h1,.vapps-section-title,.tp-empty-card h2){font-family:'Fredoka',sans-serif!important;font-weight:600!important}
html body .vapps-page .vapps-primary{text-decoration:none!important}
@media(max-width:760px){html body .vapps-page .vhd-wrapmain{padding-top:64px!important}}

/* Published booth assignments: clear guidance while the organizer prepares the map. */
.vspots-page{max-width:1180px;margin:auto}
.vspots-welcome{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:30px 36px;margin:12px 0 24px;border:1px solid #e6dcf2;border-radius:28px;background:linear-gradient(115deg,#f0e8fb,#faf7ff)}
.vspots-eyebrow{font-size:11px;letter-spacing:.12em;font-weight:800;color:#795a96}
html body .vspots-welcome .vhd-h1{margin:10px 0!important;font-size:clamp(30px,3vw,42px)!important}
.vspots-welcome p{max-width:560px;font-size:15px;line-height:1.7;color:#756783;margin:0}
.vspots-welcome img{width:180px!important;height:180px!important;object-fit:contain;flex-shrink:0}
.vspots-empty{padding:30px 32px;border:1px solid #e7def1;border-radius:24px;background:white}
.vspots-status{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 12px;color:#72538d;background:#f3edf9;font-size:12px;font-weight:700}
html body .vspots-empty h2{font:600 27px/1.2 Fredoka,sans-serif!important;color:#513b69!important;margin:18px 0 12px}
.vspots-empty>p{max-width:660px;color:#756783;font-size:14px;line-height:1.7;margin:0}
.vspots-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0;padding:24px 0;border-top:1px solid #eee7f5;border-bottom:1px solid #eee7f5}
.vspots-steps span{display:grid;place-items:center;width:28px;height:28px;background:#eee4f8;border-radius:50%;color:#74519b;font-size:12px;font-weight:800;margin-bottom:12px}
.vspots-steps strong{font-size:14px;color:#513b69}
.vspots-steps p{margin:6px 0 0;font-size:13px;line-height:1.6;color:#756783}
.vspots-actions{display:flex;flex-wrap:wrap;gap:12px}
.vspots-empty .vspots-hint{margin-top:18px;font-size:12px}
@media(max-width:600px){.vspots-welcome{padding:24px 20px;gap:12px;align-items:flex-start}.vspots-welcome img{width:80px!important;height:110px!important;margin-top:20px}.vspots-welcome p{font-size:14px}.vspots-empty{padding:24px 20px}.vspots-steps{grid-template-columns:1fr;gap:20px}.vspots-steps>div{position:relative;padding-left:40px}.vspots-steps span{position:absolute;left:0;top:0}.vspots-actions{flex-direction:column}.vspots-actions button{width:100%;justify-content:center}}

/* Same inbox/content hierarchy as the organizer message workspace. */
html body .vmsg-page .vmsg-head{display:flex!important;justify-content:space-between!important;align-items:center!important;text-align:left!important;gap:24px;margin:24px 0!important}
html body .vmsg-page .vmsg-head .page-title{font:600 36px/1.2 Fredoka,sans-serif!important;color:#513b69!important;margin:0 0 8px}
.vmsg-head .page-sub{margin:0;font-size:14px;color:#756783;line-height:1.6}
html body .vmsg-page #tp-nm-top{position:static!important;background:#74519b!important;background-image:none!important;box-shadow:none!important;color:white!important;-webkit-text-fill-color:white!important;border-radius:999px;min-height:44px;flex-shrink:0;white-space:nowrap}
.vmsg-workspace{display:grid;grid-template-columns:320px minmax(0,1fr);border:1px solid #e5dced;border-radius:24px;overflow:hidden;min-height:480px;background:#fff;margin:0 0 24px}
.vmsg-inbox{border-right:1px solid #e5dced;min-width:0;background:#fff}
.vmsg-inbox-heading{padding:22px;font-size:15px;font-weight:800;color:#513b69;border-bottom:1px solid #eee7f5}
.vmsg-list-empty{padding:28px 22px;color:#756783;font-size:13px;line-height:1.7}.vmsg-list-empty strong{color:#513b69}.vmsg-list-empty p{margin:8px 0 20px}
.vmsg-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 28px;text-align:center;background:radial-gradient(ellipse at 50% 40%,#f1e9fb,transparent 65%),#fff}
.vmsg-welcome img{width:170px!important;height:170px!important;object-fit:contain;margin-bottom:16px}
html body .vmsg-welcome h2{font:600 28px/1.2 Fredoka,sans-serif!important;color:#513b69!important;margin:0 0 12px}
.vmsg-welcome p{font-size:14px;line-height:1.8;color:#756783;max-width:350px;margin:0 0 22px}
html body .vmsg-list .thread-list{border:0!important;box-shadow:none!important;border-radius:0!important}
html body .vmsg-list .thread-row{display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;gap:8px 12px!important;padding:18px!important;border-radius:0!important;border-bottom:1px solid #eee7f5!important}
.vmsg-list .thread-row .t-snip,.vmsg-list .thread-row .t-status{grid-column:2}.vmsg-list .thread-row>div{min-width:0}.vmsg-list .t-name,.vmsg-list .t-sub,.vmsg-list .t-snip{white-space:normal!important;overflow-wrap:anywhere}
@media(max-width:900px){.vmsg-workspace{grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:760px){html body .vmsg-page .vhd-wrapmain{padding-top:64px!important}html body .vmsg-page .vmsg-head{align-items:flex-start!important;flex-direction:column;gap:16px}.vmsg-workspace{grid-template-columns:1fr;min-height:0}.vmsg-inbox{border-right:0;border-bottom:1px solid #e5dced}.vmsg-welcome{padding:28px 20px}.vmsg-welcome img{width:125px!important;height:125px!important}.vmsg-list-empty{padding:20px}.vmsg-list-empty p{margin:4px 0 12px}.vmsg-workspace:has(.thread-row) .vmsg-welcome{display:none}}
html body #root .vhd.vmsg-page .vmsg-head{display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;text-align:left!important;padding:12px 0!important;min-height:0!important}
html body #root .vhd.vmsg-page .vmsg-head>div{text-align:left!important;flex:1}
html body #root .vhd.vmsg-page .vmsg-welcome h2{font-family:Fredoka,sans-serif!important;font-weight:600!important;color:#513b69!important}
@media(max-width:760px){html body #root .vhd.vmsg-page .vmsg-head{flex-direction:column!important;align-items:stretch!important}}
/* Reserve the wordmark footprint before image decoding or legacy image decorators. */
html body .vhd .vhd-logo img{width:101.25px!important;height:30px!important;min-width:101.25px;max-width:101.25px!important;object-fit:contain!important;flex:none}
html body .vhd .vhd-side{overflow-anchor:none;scroll-behavior:auto;scrollbar-gutter:stable}
@media(min-width:761px){html body .vhd .vhd-side{animation:none!important;transition:none!important}}

.vapps-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.vapps-tabs button{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:10px 20px;border:1px solid #ded1ec;border-radius:999px;background:#fff;color:#624a7b;font:700 14px 'Plus Jakarta Sans',sans-serif;cursor:pointer}
.vapps-tabs button[aria-pressed="true"]{background:#75549a;color:#fff;-webkit-text-fill-color:#fff;border-color:#75549a}
.vapps-tabs button span{padding:3px 8px;border-radius:999px;background:#ffffff29}
.vapps-tabs button:focus-visible{outline:3px solid #ab8ec7;outline-offset:3px}
html body #root .vapps-page [data-vapps-status][hidden],.vapps-page .vhd-approval-ledger[hidden],.vapps-filter-empty[hidden]{display:none!important}
.vapps-filter-empty{padding:32px 24px;background:#faf7fd;border:1px solid #e8dff1;border-radius:18px;color:#725e85;font-size:15px;line-height:1.6}
/* Vendor booth profile: a friendly introduction and clear, reusable sections. */
html body .vprofile-page .vprofile-welcome{display:grid;grid-template-columns:minmax(0,1fr) 200px;align-items:center;gap:28px;padding:32px 38px;margin:24px 0;background:linear-gradient(115deg,#f1e8fb,#faf6ff);border:1px solid #e4d6f0;border-radius:28px;text-align:left}
html body .vprofile-welcome h1{font-family:Fredoka,sans-serif;font-size:clamp(30px,3vw,44px);line-height:1.15;color:#503965;margin:10px 0 14px}
.vprofile-welcome p{max-width:620px;color:#746080;font-size:16px;line-height:1.7;margin:0 0 22px}
html body .vprofile-welcome img{width:200px!important;height:200px!important;object-fit:contain}
.vprofile-welcome nav{display:flex;flex-wrap:wrap;gap:10px}
.vprofile-welcome nav a{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;background:#fff;border:1px solid #ddcdea;border-radius:999px;color:#684787!important;-webkit-text-fill-color:#684787!important;text-decoration:none;font-size:13px;font-weight:700}
.vprofile-welcome nav a:hover{background:#e9dcf5}
html body .vprofile-page .vprofile-section{padding:28px!important;border:1px solid #e5dbef!important;border-radius:24px!important;box-shadow:0 6px 24px #4a286008!important;margin-bottom:22px!important;scroll-margin-top:24px}
html body .vprofile-section .card-title{font-size:23px!important;color:#503965!important;margin-bottom:8px!important}
html body .vprofile-section .card-sub{font-size:14px!important;line-height:1.6;color:#7b6988!important;margin-bottom:24px!important;max-width:720px}
html body .vprofile-section .field-grid{gap:20px!important}
html body .vprofile-section .field{background:transparent!important;padding:0!important;min-width:0}
html body .vprofile-section .f-lbl{font-size:13px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;color:#665074!important;margin-bottom:8px}
html body .vprofile-section input:not([type=file]):not([type=color]),html body .vprofile-section select{min-height:48px;background:#fdfbff!important;border:1px solid #ded1e9!important;border-radius:12px!important;font-size:14px!important;box-sizing:border-box;max-width:100%}
html body .vprofile-section input:focus,html body .vprofile-section select:focus{outline:2px solid #9d7bbd;outline-offset:2px}
html body .vprofile-section label:has(input[type=file]){border-radius:18px!important;background:#f4edf9!important;border:2px dashed #b89acd!important;color:#755195!important;min-width:116px;min-height:116px}
@media(max-width:760px){html body .vprofile-page .vprofile-welcome{grid-template-columns:minmax(0,1fr) 88px;padding:24px 20px;gap:8px}html body .vprofile-welcome img{width:88px!important;height:120px!important;align-self:start}.vprofile-welcome p{font-size:14px}.vprofile-welcome nav{flex-direction:column}.vprofile-welcome nav a{font-size:12px;padding:10px 12px}html body .vprofile-page .vprofile-section{padding:20px!important}html body .vprofile-section .field-grid{grid-template-columns:1fr!important}}
/* Money tracking keeps the existing live totals and expense actions. */
html body .vbudget-welcome{display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:28px;padding:30px 34px;margin:24px 0;background:linear-gradient(120deg,#efe5f8,#faf7fd);border:1px solid #e4d7ef;border-radius:28px}
html body .vbudget-welcome h1{font-family:Fredoka,sans-serif;font-size:clamp(30px,3vw,42px);color:#503965;line-height:1.2;margin:10px 0}
.vbudget-welcome p{font-size:15px;line-height:1.7;color:#7d6a8b;max-width:620px;margin:0 0 18px}
html body .vbudget-welcome img{width:190px!important;height:190px!important;object-fit:contain}
.vbudget-welcome button{background:#765295;color:#fff;border:0;border-radius:999px;padding:13px 22px;min-height:46px;font:700 14px 'Plus Jakarta Sans',sans-serif;cursor:pointer}
html body .vbudget-page .kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px!important;margin-bottom:10px!important}
html body .vbudget-page .kpi{padding:24px!important;border:1px solid #e7ddef!important;background:#faf7fd!important;border-radius:22px!important;box-shadow:none!important;min-width:0}
html body .vbudget-page .kpi:nth-child(1){background:#eef7f0!important}html body .vbudget-page .kpi:nth-child(2){background:#fff3e9!important}html body .vbudget-page .kpi:nth-child(3){background:#eee4f7!important}
html body .vbudget-page .k-label{font-size:12px!important;text-transform:none!important;letter-spacing:0!important;color:#746080!important;font-weight:700}
html body .vbudget-page .k-val{font-size:clamp(24px,2.3vw,34px)!important;letter-spacing:-.03em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
html body .vbudget-page #vbe-kpi-sales{color:#327854!important}html body .vbudget-page #vbe-kpi-spent{color:#a85e3e!important}
.vbudget-source{font-size:12px;color:#8a7995;margin:12px 0 24px}
html body .vbudget-page .row-2{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:22px;align-items:start}
html body .vbudget-page .row-2 .card{border:1px solid #e6dbef!important;border-radius:24px!important;padding:26px!important;box-shadow:0 8px 24px #4c285e06!important}
html body .vbudget-page .card-title{font-size:23px!important;color:#503965!important}
html body .vbudget-page .card-sub{font-size:13px!important;line-height:1.6;color:#86728f!important;margin:6px 0 16px}
.vbudget-field{display:block;min-width:0}.vbudget-field>span{display:block;font-size:12px;font-weight:700;color:#705780;margin:10px 0 7px}
html body .vbudget-page .vbudget-field .input{width:100%;box-sizing:border-box;min-width:0!important;min-height:48px;border:1px solid #dcccE8;border-radius:12px;background:#fdfaff;font-size:14px}
html body .vbudget-page .vbudget-field .input:focus{outline:2px solid #a889bf;outline-offset:2px}
html body .vbudget-page button[onclick="addVendorExpense()"]{background:#775397!important;color:white!important;min-height:48px;margin-top:12px;font-size:14px;text-transform:none;letter-spacing:0}
html body .vbudget-page button[onclick="addVendorExpense()"] *{color:white!important}
.vbudget-list-title{font-size:15px;color:#604777;margin:28px 0 8px}
html body .vbudget-page .empty{padding:24px 14px!important;background:#faf7fd;border-radius:14px;font-size:13px!important;line-height:1.7;color:#8a7795!important}
@media(max-width:800px){html body .vbudget-page .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}html body .vbudget-page .row-2{grid-template-columns:1fr}html body .vbudget-welcome{grid-template-columns:minmax(0,1fr) 85px;padding:22px;gap:8px}html body .vbudget-welcome img{width:85px!important;height:120px!important;align-self:start}.vbudget-welcome p{font-size:14px}html body .vbudget-page .kpi{padding:18px!important}html body .vbudget-page .row-2 .card{padding:20px!important}html body .vbudget-page .row-2 .card>div:has(>.vbudget-field){grid-template-columns:1fr!important}}
html body #root .vbudget-page button[onclick="addVendorExpense()"]{background:#775397!important;background-image:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:0!important;border-radius:999px!important}
html body #root .vbudget-page button[onclick="loadVendorSales()"]{background:#f0e7f7!important;color:#73518e!important;-webkit-text-fill-color:#73518e!important}
html body #root .vbudget-page .k-delta{color:#7b6a87!important}
/* Legacy vendor shells also appear briefly while route wrappers settle. */
html body.tp-persona-vendor:not(.tp-admin-view):not(.tp-public-view) #root :is(.sidebar,.tpd-side),html body #root .vhd :is(.sidebar,.tpd-side,.vhd-side){background:linear-gradient(155deg,#f5effc,#e9ddf6)!important;border-color:#ded0ed!important}
html body.tp-persona-vendor #root :is(.sidebar,.tpd-side) :is(.nav-item,.nav-item span,.nav-label,.ws-name,.ws-meta){color:#614879!important;-webkit-text-fill-color:#614879!important}
html body.tp-persona-vendor #root :is(.sidebar,.tpd-side) :is(.nav-item.active,.tpd-nav a.on){background:#d9c6ee!important;color:#493060!important}
html body .vsupport-content{max-width:1080px!important;padding:24px 0 60px!important}
html body .vsupport-welcome{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:30px;align-items:center;background:linear-gradient(120deg,#efe4f8,#faf7fd);padding:36px;border-radius:28px;border:1px solid #e6d9ef}
.vsupport-welcome h1{font-family:Fredoka,sans-serif;font-size:clamp(30px,3vw,42px);color:#503965;margin:12px 0;line-height:1.15}
.vsupport-welcome p{font-size:16px;line-height:1.7;color:#7a6689;max-width:600px}
html body .vsupport-welcome img{width:190px!important;height:190px!important;object-fit:contain}
html body #root .vsupport-page button[onclick="navigate('contact')"]{background:#775397!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:0;border-radius:999px;padding:14px 22px;font:700 14px 'Plus Jakarta Sans',sans-serif;cursor:pointer;min-height:48px}
.vsupport-welcome small{display:block;font-size:12px;color:#8a7795;margin-top:14px}
.vsupport-inbox-title{font-family:Fredoka;font-size:23px;color:#584169;margin:32px 0 12px}
html body .vsupport-messages{margin-top:0!important}.vsupport-messages>div{border:1px solid #e4d7ee!important;background:#fff!important;box-shadow:none!important}
.vsupport-messages h3{font-family:Fredoka;font-size:24px;color:#604777;margin:0 0 12px}.vsupport-messages p{max-width:540px;margin:0 auto 22px;font-size:15px;color:#85718f;line-height:1.7}
@media(max-width:760px){html body .vsupport-welcome{grid-template-columns:minmax(0,1fr) 80px;padding:24px 20px;gap:8px}html body .vsupport-welcome img{width:80px!important;height:110px!important;align-self:start}.vsupport-welcome p{font-size:14px}.vsupport-messages>div{padding:26px 20px!important}}
/* Vendor account editor: scoped to the portal, never organizer accounts. */
#vhd-account-overlay{--accent:#775397;--text:#513b67;--text-dim:#786586;--text-mute:#8b7a97;--surface-3:#f3edf8;--border:#e3d7ec}
#vhd-account-overlay>div{background:#34234126;backdrop-filter:blur(3px);z-index:1100!important}
html body #vhd-account-overlay .vaccount-panel{top:24px!important;right:24px!important;left:auto!important;width:420px!important;max-width:calc(100vw - 32px)!important;max-height:calc(100dvh - 48px)!important;border:1px solid #dfd0ec;border-radius:26px!important;background:#fff!important;box-shadow:0 22px 70px #45305230!important;animation:none!important;font-family:'Plus Jakarta Sans',sans-serif;scrollbar-gutter:stable}
html body #vhd-account-overlay .vaccount-header{padding:26px 24px 22px!important;background:linear-gradient(130deg,#efe3f8,#faf6fe)!important;border-bottom:1px solid #e7dbef}
.vaccount-kicker{color:#8c6aa4;font-size:10px;font-weight:800;letter-spacing:.13em;margin-bottom:20px}
.vaccount-intro{font-size:13px;line-height:1.65;color:#816c90;margin:16px 0 0}
#vhd-account-overlay .vaccount-header .tag{background:#e2d2ef!important;color:#67457f!important;-webkit-text-fill-color:#67457f!important;border:0;border-radius:999px;padding:7px 12px}
#vhd-account-overlay .vaccount-header label>div{background:#d9c5ed!important;color:#694487!important}
#vhd-account-overlay .vaccount-header label>span{background:#775397!important;color:#fff!important}
#vhd-account-overlay button[aria-label="Close account"]{min-width:36px;min-height:36px;border:1px solid #dfd2e8;background:#ffffffc9!important;color:#715284!important}
html body #vhd-account-overlay .vaccount-label{font-size:12px!important;font-weight:700!important;text-transform:none!important;letter-spacing:0!important;color:#745c84!important;margin-bottom:8px}
html body #vhd-account-overlay .input{box-sizing:border-box;width:100%;min-height:46px;background:#fdfbff!important;border:1px solid #dfd2e9!important;border-radius:12px!important;font-family:inherit;font-size:15px!important;font-weight:500;color:#513b67!important;padding:12px 14px!important}
#vhd-account-overlay .input::placeholder{color:#a18eac;opacity:1}#vhd-account-overlay .input:focus{outline:2px solid #aa87c4;outline-offset:2px}
@media(max-width:600px){html body #vhd-account-overlay .vaccount-panel{right:16px!important;top:16px!important;max-height:calc(100dvh - 32px)!important}html body #vhd-account-overlay .input{font-size:16px!important}}
