.account-panel{background:#f2f8fa;border:1px solid #cee1e8;border-radius:16px;padding:24px;margin:24px 0;color:#244f61}
.account-panel h2{font-family:var(--serif,Georgia,serif);font-size:28px;margin:0 0 12px}
.account-panel label{display:flex;flex-direction:column;gap:8px;font-size:14px}
.account-panel input{font:inherit;font-size:16px;min-width:0;padding:12px;border:1px solid #a8c5d0;border-radius:8px;background:#fff}
.account-panel button[aria-pressed=true]{font-weight:700;text-decoration:underline;text-underline-offset:5px}
.account-panel button:disabled{opacity:.6;cursor:wait}
.account-panel .vendor-form-grid{margin:16px 0;align-items:end}
#account-feedback{font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.account-listings{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:16px}
.account-listing{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;border:1px solid #cee1e8;border-radius:10px;background:#fff;padding:16px;font:inherit;color:inherit;cursor:pointer;overflow-wrap:anywhere}
.account-listing span{font-size:14px}.setup-link{display:inline-block;margin:12px;font-size:14px;color:inherit}
@media(max-width:600px){.account-panel{padding:18px}.account-panel .vendor-form-grid{grid-template-columns:1fr}.account-panel .flow-tools{flex-wrap:wrap}.account-listings{grid-template-columns:1fr}}

.admin-layout{display:grid;gap:24px}.admin-queue{display:grid;gap:10px;align-content:start}.admin-queue [aria-pressed=true]{border-color:var(--lake);background:var(--mist)}.admin-detail{min-width:0}.admin-detail h2{font-size:2rem}.admin-copy{white-space:pre-wrap;overflow-wrap:anywhere}.admin-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}.admin-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}.admin-detail dd{margin:5px 0 16px}.admin-detail dt{font-weight:600}.admin-detail label{display:grid;gap:8px}.admin-detail textarea{width:100%;min-height:100px;padding:12px;border:1px solid var(--line);border-radius:10px}.admin-message{overflow-wrap:anywhere}.admin-detail p{overflow-wrap:anywhere}.app-shell[data-view=admin]{width:min(960px,calc(100% - 48px))}@media(min-width:720px){.admin-layout{grid-template-columns:240px minmax(0,1fr)}}@media(max-width:640px){.app-shell[data-view=admin]{width:calc(100% - 24px)}.header-actions{flex-wrap:wrap}.app-header:has([data-admin-open]:not([hidden])){height:auto;min-height:78px}.admin-photos{grid-template-columns:1fr}}

.admin-delete{color:#8c3434;margin-top:20px}

.account-entry{border:0;background:transparent;color:var(--lake);font-size:.875rem;font-weight:600;padding:10px 6px;min-height:44px;white-space:nowrap;cursor:pointer}
.account-entry:hover{text-decoration:underline}
.account-controls{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.account-controls .account-entry{padding:6px;min-height:44px}
.account-controls #header-signout{font-weight:400}
.app-header:has(#header-signout:not([hidden])){height:auto;min-height:116px}
@media(max-width:500px){.app-shell[data-view=plan] .account-controls{grid-column:1;grid-row:2;justify-self:start}.account-controls .account-entry{white-space:normal;text-align:left}}
.app-shell[data-view=plan] .app-header{height:auto;min-height:78px;flex-wrap:wrap}
.app-shell[data-view=plan] .header-actions{flex-wrap:wrap}
.account-purpose{border:1px solid #cee1e8;border-radius:12px;padding:14px;margin-top:18px;min-width:0}
.account-purpose legend{font-size:.875rem;font-weight:600;padding:0 6px}
.account-purpose p{font-size:.875rem;margin-bottom:0}
.account-panel .session-note{font-size:.875rem;line-height:1.6}
.vendor-save-feedback{font-size:1rem;line-height:1.6;overflow-wrap:anywhere;border-left:3px solid var(--lake);padding:12px 16px;background:#edf5f8;border-radius:6px;scroll-margin-top:20px}
.vendor-save-feedback:empty{display:none}
.app-shell[data-view=account] .app-brand{position:static!important;transform:none!important}
@media(max-width:500px){.app-shell[data-view=plan] .app-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding-bottom:12px}.app-shell[data-view=plan] .header-actions{display:contents}.app-shell[data-view=plan] .app-brand{grid-column:1;grid-row:1}.app-shell[data-view=plan] #header-menu{grid-column:2;grid-row:1;justify-self:end}.app-shell[data-view=plan] .account-entry{grid-column:1;grid-row:2;justify-self:start;white-space:normal;text-align:left}.app-shell[data-view=plan] .vendor-entry{position:static;grid-column:2;grid-row:2;white-space:normal;text-align:right}.app-shell[data-view=account] .app-header{height:78px}.account-purpose .flow-tools{flex-direction:column;align-items:stretch}}

.vendor-listing-card{cursor:default;min-width:0}.vendor-listing-card .flow-tools{flex-wrap:wrap;gap:8px;margin-top:8px}.vendor-listing-card button{min-height:44px}.listing-update-label{color:#805929;font-weight:600}.listing-delete{color:#963b3b}.listing-management-note{padding:14px 16px;border:1px solid #cee1e8;background:#f2f8fa;border-radius:10px;line-height:1.6;overflow-wrap:anywhere}.listing-management-note a{color:inherit}

/* Client registration leads; vendor access uses a secondary teal button. */
.app-shell .app-header #client-avatar{background:#102f4b;color:#fff;border:1px solid #102f4b;border-radius:10px;padding:10px 14px;min-height:44px;font-weight:700;text-align:center;box-shadow:none}
.app-shell .app-header #client-avatar:hover{background:#174967;text-decoration:none}
.app-shell .app-header .vendor-entry:not([data-admin-open]){background:#edf5f4;color:#20555b;border:1px solid #558187;border-radius:10px;padding:10px 12px;min-height:44px;font-size:13px;font-weight:600;text-align:center;box-shadow:none}
.app-shell .app-header .vendor-entry:not([data-admin-open]):hover{background:#dfeeed;border-color:#20555b;text-decoration:none}
@media(max-width:500px){.app-shell[data-view=plan] .app-header #client-avatar{font-size:14px;text-align:center}.app-shell[data-view=plan] .app-header .vendor-entry:not([data-admin-open]){text-align:right;font-size:13px}}

/* The account form supplies its own clear heading. */
#account-view>.screen-heading{display:none}

/* Workspace label sits above the account actions in the header. */
.app-shell .app-header #client-space-label{padding:0;margin:0 0 2px;background:none;color:#805929;font-size:11px;line-height:1.4;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-align:right;white-space:nowrap}
.app-shell:not([data-view=plan]) .app-header .account-controls{align-items:flex-end}
.app-shell:not([data-view=plan]) .app-header:has(#client-space-label:not([hidden])){height:auto;min-height:94px;align-items:center}

/* Main-page account access retains readable labels in both session states. */
#main-login-status{margin:4px 0 0;font-size:12px;line-height:1.5;color:#244f61}
#main-login-status[data-role=vendor]{color:#20555b}
.app-shell[data-view=plan] .account-controls{align-items:flex-start}
@media(max-width:700px){
 .app-shell[data-view=plan] .app-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;height:auto;padding:14px 16px}
 .app-shell[data-view=plan] .header-actions{display:contents}
 .app-shell[data-view=plan] .app-brand{grid-column:1;grid-row:1;position:static;transform:none;justify-self:start}
 .app-shell[data-view=plan] #header-menu{grid-column:2;grid-row:1;justify-self:end}
 .app-shell[data-view=plan] .account-controls{grid-column:1;grid-row:2;display:flex;align-items:stretch;justify-self:stretch}
 .app-shell[data-view=plan] .app-header #client-avatar{width:100%;height:auto;white-space:normal;font-size:13px;padding:10px 8px}
 .app-shell[data-view=plan] .app-header .vendor-entry:not([data-admin-open]){grid-column:2;grid-row:2;position:static;align-self:start;justify-self:stretch;white-space:normal;text-align:center;font-size:13px;padding:10px 8px}
 .app-shell[data-view=plan] #header-signout{align-self:flex-start;font-size:12px}
 .app-shell[data-view=plan] .app-header [data-admin-open]{grid-column:1/-1;grid-row:3}
}

.app-shell .app-header .vendor-entry:not([data-admin-open]):focus-visible{outline:3px solid #20555b;outline-offset:3px}

/* Main-page account actions live inside the menu. */
.app-shell[data-view=plan] .app-header .account-controls,
.app-shell[data-view=plan] .app-header .vendor-entry:not([data-admin-open]){display:none!important}
.menu-account-access{display:grid;gap:8px;margin:0 0 16px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.menu-account-access button{width:100%;min-height:44px;border-radius:10px;padding:10px 12px;font:inherit;font-size:.9375rem;text-align:left;cursor:pointer}
.menu-client-access{background:#102f4b;color:#fff;border:1px solid #102f4b;font-weight:600}
.menu-vendor-access{background:#edf5f4;color:#20555b;border:1px solid #558187;font-weight:600}
.menu-login-status{font-size:.8125rem;color:#315f4e;margin:0 0 4px}

/* Localized file control keeps the native picker and keyboard interaction. */
.photo-upload-control{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px;border:1px solid #9ebbc9;border-radius:8px;background:#fff;min-height:48px;cursor:pointer}
.photo-upload-button{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid #558187;border-radius:8px;background:#edf5f4;color:#20555b;font-weight:600}
.photo-upload-status{font-size:.875rem;color:#526a72;overflow-wrap:anywhere}
#vendor-onboarding-form .photo-upload-control input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;padding:0;cursor:pointer}
.photo-upload-control:focus-within{outline:3px solid #497f98;outline-offset:3px}
