/* The workspace shares the sign-in palette. Menu documents keep their own design. */
:root {
  --workspace-bg: #f6f5f0;
  --workspace-paper: #fff;
  --workspace-tint: #f5f6f0;
  --workspace-sage: #edf2e9;
  --workspace-ink: #263e32;
  --workspace-secondary: #657362;
  --workspace-muted: #747b72;
  --workspace-line: #e4e5dd;
  --workspace-line-strong: #cbd4c6;
  --workspace-shadow: 0 8px 30px #283e3207;
}
body:has(.app-sidebar) { background:var(--workspace-bg); }
.app-sidebar + .main { background:var(--workspace-bg); min-height:100svh; }
:is(#workflow-root,#finance-root,#customer-root,.administration-view,.restaurants-view) { color:var(--workspace-ink); }

/* Quiet white navigation and a warm, continuous canvas. */
.app-sidebar { background:#fffefa; border-color:var(--workspace-line); }
.app-sidebar .brand-caption,.sidebar-section-title { color:var(--workspace-muted); }
.app-sidebar .nav-button { color:var(--workspace-secondary); }
.app-sidebar .nav-button:hover { color:var(--workspace-ink); background:var(--workspace-tint); }
.app-sidebar .nav-button.active { color:var(--workspace-ink); background:#e9efe3; box-shadow:none; }
.app-sidebar .nav-button.active:after { display:none; }
.app-sidebar .restaurant-switch { background:var(--workspace-tint); border-color:var(--workspace-line); color:var(--workspace-ink); }
.sidebar-footer,.app-sidebar .profile { border-color:var(--workspace-line); }
.app-sidebar .avatar { background:var(--workspace-sage); color:var(--workspace-ink); }
body:has(.app-sidebar) .topbar { background:#fffefa; border-color:var(--workspace-line); }
body:has(.app-sidebar) .breadcrumb { color:var(--workspace-muted); }
body:has(.app-sidebar) .breadcrumb strong { color:var(--workspace-ink); }

/* Consistent heading and supporting text colours; retain the chosen fonts. */
:is(.wf-heading,.wf-detail-heading,.wf-section-title,.admin-heading,.admin-panel,.customer-heading,.customer-panel,.finance-list-heading,.panel-heading) :is(h1,h2,h3),
.wf-dossier-main strong,.restaurant-name,.finance-restaurant strong { color:var(--workspace-ink); }
:is(.wf-heading,.wf-detail-heading,.wf-section-title,.admin-heading,.admin-toolbar,.customer-heading,.finance-list-heading,.panel-heading)>p,
.wf-count,.wf-muted,.wf-dossier-main small,.wf-dossier-location,.restaurant-place { color:var(--workspace-muted); }
.wf-eyebrow,.admin-heading .eyebrow,.wf-pricing-heading .eyebrow { color:var(--workspace-secondary); }

/* White surfaces, rounded edges and the same restrained shadow as sign-in. */
.wf-dossier-card,.wf-detail-heading,.wf-detail-panel,.admin-panel,.customer-card,.customer-panel,
.wf-plan-card,.wf-pricing-card,.wf-pricing-section,.wf-summary,.finance-totals>article,
.wf-finance-metrics>div,.qr-link-panel,.editor-panel,.restaurants-view .restaurant-card {
  background:var(--workspace-paper); border-color:var(--workspace-line);
  border-radius:16px; box-shadow:var(--workspace-shadow);
}
.wf-dossier-card:hover,.restaurants-view .restaurant-card:hover {
  border-color:var(--workspace-line-strong); box-shadow:0 12px 30px #283e3210;
}
.wf-dossier-card .wf-dossier-top { background:linear-gradient(135deg,#eef1e8,#faf9f5); border-color:var(--workspace-line); }
.wf-dossier-card .wf-restaurant-logo { border-color:var(--workspace-line); color:var(--workspace-ink); }
.wf-dossier-card .wf-dossier-next { border-color:var(--workspace-line); color:var(--workspace-secondary); }
.wf-dossier-actions button { background:var(--workspace-tint); border-color:var(--workspace-line); color:var(--workspace-ink); }
.wf-dossier-actions button:hover { background:var(--workspace-sage); border-color:var(--workspace-line-strong); }
.wf-stage.is-design,.wf-stage.is-ready,.admin-role.super { background:#eaf0e3; color:#4c6748; }
.wf-stage.is-prospect,.wf-stage.is-incomplete { background:#f0f0e8; color:var(--workspace-secondary); }
.wf-empty { border-color:var(--workspace-line-strong); background:#fffefa; }

/* Fields keep their dropdown icons and the search field's single border. */
.wf-search,.wf-filters select,.wf-field :is(input,select,textarea),
#admin-search input,.finance-filters :is(input,select),.editor-panel .field :is(input,select,textarea),
.modal .field :is(input,select,textarea) {
  border-color:var(--workspace-line); background-color:#fffefa; color:var(--workspace-ink);
}
.wf-search { color:var(--workspace-secondary); }
.wf-search:focus-within { border-color:#90a18a; box-shadow:0 0 0 3px #dfe8d880; }
.wf-filters select:has(option:checked:not([value=""])) { background-color:var(--workspace-sage); border-color:var(--workspace-line-strong); color:var(--workspace-ink); }
.wf-field :is(input,select,textarea):focus-visible,.finance-filters :is(input,select):focus-visible,
#admin-search input:focus-visible { outline:2px solid #90a18a; outline-offset:2px; }
.wf-field input:is([type=checkbox],[type=radio]) { accent-color:#55764e; }

/* A unified selected state without edge markers. */
.wf-tabs { border-color:var(--workspace-line); padding-bottom:8px; gap:6px; }
.wf-tabs button { color:var(--workspace-secondary); border-bottom:0; border-radius:9px; }
.wf-tabs button:hover { background:#eeeee5; }
.wf-tabs button[aria-pressed=true] { color:var(--workspace-ink); background:#e7edde; }
.wf-view-switch { background:#eeeee5; border-color:var(--workspace-line); }
.wf-view-switch button { color:var(--workspace-secondary); }
.wf-view-switch button[aria-pressed=true] { background:#fffefa; color:var(--workspace-ink); }
.panel-tabs,.panel-heading,.panel-footer { border-color:var(--workspace-line); }
.panel-tabs { background:var(--workspace-tint); }
.panel-tabs button.active { color:var(--workspace-ink); background:var(--workspace-sage); }

/* Finance and account tables use the same neutral surfaces. */
.finance-list { border-color:var(--workspace-line); box-shadow:var(--workspace-shadow); }
.finance-list-heading,.admin-pagination,.admin-history li { border-color:var(--workspace-line); }
.admin-table th,.finance-list .finance-table th,.wf-pricing-table th { background:var(--workspace-tint); color:var(--workspace-secondary); }
.admin-table td,.finance-list .finance-table td,.wf-pricing-table td { border-color:#eeeee7; }
.admin-table tbody tr:hover,.finance-list .finance-table tbody tr:hover { background:#fafaf5; }
.finance-monogram,.finance-plan-tag,.finance-list-heading>span { background:var(--workspace-sage); color:var(--workspace-secondary); }
.finance-list .finance-table .finance-balance { color:var(--workspace-ink); }
.finance-list .finance-actions button[data-finance-action=payments] { background:var(--workspace-sage); color:var(--workspace-ink); }
.finance-totals strong,.wf-finance-metrics strong { color:var(--workspace-ink); }
.wf-production-next,.payment-terms,.customer-access-panel { background:var(--workspace-tint); border-color:var(--workspace-line); }
.wf-pricing-card.is-recommended { border-color:#98ab8c; box-shadow:0 8px 30px #283e3210; }

/* Dialog shells only: no styling reaches the rendered restaurant menu. */
.modal:not(.preview-modal) { background:var(--workspace-paper); border-color:var(--workspace-line); color:var(--workspace-ink); border-radius:18px; box-shadow:0 24px 80px #263e3226; }
.modal-header { color:var(--workspace-ink); }
dialog::backdrop { background:#263e3263; }
#admin-permissions .admin-permission-group { border-color:var(--workspace-line); }
#admin-permissions .admin-permission-option:has(:checked) { background:var(--workspace-sage); border-color:var(--workspace-line-strong); }
@media(max-width:950px) {
  .finance-list { background:transparent; border:0; box-shadow:none; }
  .finance-list .finance-table tr { border-color:var(--workspace-line); box-shadow:var(--workspace-shadow); }
}

/* Secondary actions follow the cream/sage surfaces; primary actions stay orange. */
:is(.wf-list-actions,.wf-heading-actions,.wf-panel-actions,.admin-row-actions,.admin-pagination,.admin-toolbar,.top-actions) button:not(.primary):not(.soft) {
  border-color:var(--workspace-line); background-color:#fffefa; color:var(--workspace-ink);
}
:is(.wf-list-actions,.wf-heading-actions,.wf-panel-actions,.admin-row-actions,.admin-pagination,.admin-toolbar,.top-actions) button:not(.primary):not(.soft):hover {
  border-color:var(--workspace-line-strong); background-color:var(--workspace-sage);
}
.admin-row-actions button.admin-delete { color:#a75d4a; }
.wf-renewal-notice.is-prelaunch { background:var(--workspace-tint); border-color:var(--workspace-line); color:var(--workspace-secondary); }
.finance-table .is-prelaunch { background:#f0f0e8; color:var(--workspace-secondary); }

/* Account controls remain visible even on pages that hide editor actions. */
.app-sidebar .nav-button.sidebar-logout { width:100%; margin:0; color:#b44538; background:#fff1ed; border:1px solid #f0d5cf; font-weight:600; }
.app-sidebar .nav-button.sidebar-logout:hover { background:#fce3dc; color:#962f26; border-color:#e6bbb2; }
.sidebar-footer:has(.sidebar-logout) { padding-top:16px; }
body:has(.header-account) .topbar { min-height:76px; height:auto; flex-wrap:wrap; padding-top:14px; padding-bottom:14px; gap:12px 18px; }
body:has(.header-account) .topbar .breadcrumb { min-width:0; }
body:has(.header-account) .top-actions { margin-left:auto; }
.header-account { position:relative; flex:0 1 auto; max-width:260px; margin-left:auto; }
.header-account-toggle { display:flex; align-items:center; gap:10px; min-height:44px; max-width:100%; padding:5px 9px 5px 5px; border:1px solid var(--workspace-line); border-radius:28px; background:#fff; color:var(--workspace-ink); }
.header-account-toggle:hover,.header-account-toggle[aria-expanded=true] { background:var(--workspace-tint); border-color:var(--workspace-line-strong); }
.header-account-toggle>svg { width:15px; height:15px; color:var(--workspace-secondary); }
.header-account-toggle[aria-expanded=true]>svg { transform:rotate(180deg); }
.header-account-email { display:block; min-width:0; max-width:185px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; font-weight:550; }
.header-account-avatar { position:relative; display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border-radius:50%; overflow:hidden; background:#e7eedf; color:#42583c; font-size:12px; font-weight:700; }
.header-account-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; }
.header-account-avatar.has-photo img { opacity:1; }
.header-account-avatar.has-photo>span { visibility:hidden; }
.header-account-menu { position:absolute; top:calc(100% + 10px); right:0; z-index:90; width:230px; max-width:calc(100vw - 32px); padding:7px; border:1px solid var(--workspace-line); border-radius:14px; background:white; box-shadow:0 14px 45px #263e3224; }
.header-account-menu button { display:flex; justify-content:flex-start; gap:11px; width:100%; padding:12px; border:0; border-radius:8px; background:transparent; color:var(--workspace-ink); font-size:13px; }
.header-account-menu button:hover,.header-account-menu button:focus-visible { background:var(--workspace-sage); }
.header-account-menu button.account-logout { color:#b44538; }
.header-account-menu button.account-logout:hover,.header-account-menu button.account-logout:focus-visible { background:#fff1ed; }
.header-account-menu svg { width:17px; height:17px; }
.account-faq { display:grid; gap:10px; margin-top:20px; }
.account-faq details { padding:15px 16px; border:1px solid var(--workspace-line); border-radius:10px; background:#fffefa; }
.account-faq summary { cursor:pointer; font-size:13px; font-weight:600; line-height:1.5; }
.account-faq p { padding-top:12px; color:var(--workspace-secondary); font-size:13px; line-height:1.7; }
.modal:has(.account-faq) { max-height:calc(100dvh - 32px); overflow-y:auto; }
@media(max-width:650px) {
  .header-account { max-width:calc(100% - 100px); order:2; }
  .header-account-email { max-width:180px; }
  body:has(.header-account) .topbar .sidebar-toggle { order:1; }
  body:has(.header-account) .topbar .breadcrumb { order:3; flex-basis:100%; font-size:11px; }
  body:has(.header-account) .topbar .top-actions { order:4; flex-wrap:wrap; margin-left:0; }
}
