/* Shared company dashboard and module identity. Database is the visual reference. */
:root { --f7-bg:#0b1822; --f7-mint:#84ddcc; --f7-text:#edf9f4; --f7-muted:#b2cdc3; --f7-border:#41695d; --f7-card:radial-gradient(ellipse at 95% 0%,#28574a,transparent 70%),linear-gradient(135deg,#183932,#12292f); }
#companyDashboardPanel .company-dashboard-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:20px; align-items:stretch; }
#companyDashboardPanel .f7-module-card {
 display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start;
 position:relative; isolation:isolate; box-sizing:border-box; min-width:0; width:auto; min-height:320px; height:auto;
 grid-column:auto; padding:24px; gap:16px; border:1px solid var(--f7-border); border-radius:20px;
 background:var(--f7-card); color:var(--f7-text); box-shadow:none; text-align:left; text-decoration:none; overflow:hidden;
}
#companyDashboardPanel .f7-module-card::before,#companyDashboardPanel .f7-module-card::after { content:none; }
#companyDashboardPanel .f7-module-card:hover { background:var(--f7-card); border-color:var(--f7-mint); transform:translateY(-2px); box-shadow:none; }
#companyDashboardPanel .f7-module-card:focus-visible { outline:3px solid var(--f7-mint); outline-offset:4px; }
#companyDashboardPanel .f7-module-card.action-required { border-color:#d6b66f; }
#companyDashboardPanel .f7-card-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; }
#companyDashboardPanel .f7-card-heading>span:first-child { color:#91dfcb; font-size:11px; font-weight:750; letter-spacing:2px; text-transform:uppercase; line-height:1.5; }
#companyDashboardPanel .f7-card-heading .f7-card-icon { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; border:1px solid #84ddcc40; border-radius:50%; color:#b6f0df; font-size:20px; line-height:1; letter-spacing:0; }
#companyDashboardPanel .f7-module-card .f7-card-title { font-size:28px; font-weight:700; letter-spacing:-.8px; line-height:1.15; margin:0; color:#ecfff6; text-transform:none; }
#companyDashboardPanel .f7-module-card>strong { font-size:14px; font-weight:650; color:#a5ead5; line-height:1.5; letter-spacing:0; text-transform:none; overflow-wrap:anywhere; }
#companyDashboardPanel .f7-module-card>p { font-size:14px; color:var(--f7-muted); line-height:1.6; margin:0; letter-spacing:0; }
#companyDashboardPanel .f7-card-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:16px; margin-top:auto; border-top:1px solid #84ddcc26; }
#companyDashboardPanel .f7-card-footer>span { color:#cbf0e2; font-size:12px; font-weight:600; line-height:1.5; letter-spacing:0; text-transform:none; }
/* Preserve live summaries while fitting them into the common card structure. */
#companyDashboardPanel .tasks-card-head { padding:0; gap:8px; min-height:0; }
#companyDashboardPanel .tasks-card-title>span { font-size:10px; color:var(--f7-muted); }
#companyDashboardPanel .tasks-card-body { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0; }
#companyDashboardPanel .tasks-card-hero { gap:2px; }
#companyDashboardPanel .tasks-card-count { font-size:36px; color:var(--f7-mint); line-height:1.1; }
#companyDashboardPanel .tasks-card-signals { gap:10px; }
#companyDashboardPanel .tasks-card-signal { padding:0; border:0; background:none; }
#companyDashboardPanel .tasks-card-signal b { font-size:18px; color:var(--f7-text); }
#companyDashboardPanel .tasks-card-queue { padding:0; margin:0; }
#companyDashboardPanel .tasks-card-next { padding:12px 0 0; background:none; border-top:1px solid #84ddcc26; border-radius:0; }
#companyDashboardPanel .tasks-card-next strong { font-size:13px; }
#companyDashboardPanel .tasks-card-next .tasks-card-arrow { display:none; }
#companyDashboardPanel .leads-dashboard-card-counts { background:none; border-color:#84ddcc26; }
#companyDashboardPanel .leads-dashboard-card-counts b { color:var(--f7-mint); }
/* One module logo: circular mint F7, FLEE7 wordmark, familiar home link. */
body.f7-workspace { background:var(--f7-bg); }
.f7-workspace .f7-page-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; min-height:80px; margin-bottom:28px; padding-top:20px; padding-bottom:24px; border-bottom:1px solid #34504e; box-shadow:none; background:transparent; }
.f7-workspace .f7-page-header .dashboard-title { display:flex; flex-direction:column; align-items:flex-start; gap:10px; min-width:0; }
.f7-workspace .f7-brand { display:inline-flex!important; align-items:center!important; justify-content:flex-start!important; gap:10px!important; width:auto!important; min-width:0!important; padding:0!important; margin:0!important; border:0!important; background:transparent!important; text-decoration:none!important; color:var(--f7-text)!important; white-space:nowrap; transform:none!important; box-shadow:none!important; }
.f7-workspace .f7-brand .f7-brand-mark { display:grid!important; place-items:center!important; flex:0 0 42px!important; width:42px!important; height:42px!important; min-width:42px!important; padding:0!important; margin:0!important; background:var(--f7-mint)!important; color:#123b35!important; border:0!important; border-radius:50%!important; font:800 14px/1 Inter,system-ui,sans-serif!important; letter-spacing:-.5px!important; transform:none!important; box-shadow:none!important; }
.f7-workspace .f7-brand .f7-brand-word { margin:0!important; padding:0!important; font:750 18px/1.2 Inter,system-ui,sans-serif!important; letter-spacing:-.4px!important; color:var(--f7-text)!important; }
.f7-workspace .f7-brand .f7-brand-word>span { display:inline!important; background:none!important; border:0!important; margin:0!important; padding:0!important; color:var(--f7-mint)!important; font:inherit!important; }
.f7-workspace .f7-page-header a[href="/"]:not(.f7-brand) { display:inline-flex; align-items:center; justify-content:center; min-height:44px; width:auto; padding:10px 16px; margin:0; border:1px solid #3a555c; border-radius:12px; background:transparent; color:#d4e3e3; font-size:14px; font-weight:500; line-height:1.4; text-decoration:none; box-sizing:border-box; }
.f7-workspace .f7-page-header .dashboard-title>h1 { font-size:12px; line-height:1.4; letter-spacing:1.5px; color:var(--f7-muted); margin:0; }
@media(max-width:650px) {
 #companyDashboardPanel .company-dashboard-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
 #companyDashboardPanel .f7-module-card { padding:24px; min-height:300px; }
 .f7-workspace .f7-page-header { gap:16px; padding-top:18px; padding-bottom:22px; }
 .f7-workspace .f7-page-header nav { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
}
@media(prefers-reduced-motion:reduce) { #companyDashboardPanel .f7-module-card:hover { transform:none; } }
/* Retire legacy per-card !important color themes. */
#companyDashboardPanel .f7-module-card { background:var(--f7-card)!important; border-color:var(--f7-border)!important; }
#companyDashboardPanel .f7-module-card:hover { border-color:var(--f7-mint)!important; }
#companyDashboardPanel .f7-module-card.action-required { border-color:#d6b66f!important; }
.f7-workspace .f7-brand .f7-brand-word { display:block!important; visibility:visible!important; opacity:1!important; }

/* Loading feedback shares the workspace surface, typography and mint accent. */
.f7-workspace .flee7-stage-progress {
 border:1px solid var(--f7-border); border-radius:16px; background:var(--f7-card);
 padding:18px 20px; gap:14px; box-shadow:none;
}
.f7-workspace .flee7-stage-progress-copy { align-items:center; gap:8px 16px; flex-wrap:wrap; }
.f7-workspace .flee7-stage-progress-copy strong { color:var(--f7-text); font-size:14px; font-weight:700; line-height:1.5; }
.f7-workspace .flee7-stage-progress-copy span { color:var(--f7-muted); font-size:12px; line-height:1.5; }
.f7-workspace .flee7-stage-progress-track { height:6px; background:#84ddcc20; border-radius:999px; }
.f7-workspace .flee7-stage-progress-track span { background:var(--f7-mint); }
.f7-workspace .flee7-stage-progress.is-ready { border-color:#548b78; }
.f7-workspace .flee7-stage-progress.is-ready .flee7-stage-progress-track span { background:var(--f7-mint); }
.f7-workspace .flee7-stage-progress.is-failed { border-color:#b57676; }
.f7-workspace .flee7-stage-progress.is-failed .flee7-stage-progress-copy strong { color:#ffc6bc; }
.f7-workspace .flee7-stage-progress.is-failed .flee7-stage-progress-track span { background:#f3a397; }
.f7-workspace .flee7-stage-progress[hidden] { display:none!important; }
body.f7-workspace .flee7-loading-indicator,
body:has(#dashboardView:not(.hidden)) .flee7-loading-indicator {
 border:1px solid var(--f7-border)!important; border-radius:16px!important;
 background:linear-gradient(135deg,#183932,#12292f)!important; color:var(--f7-text)!important;
 box-shadow:0 12px 32px #0003!important; padding:14px 18px!important; font-size:13px!important;
 font-weight:650!important; line-height:1.5!important;
}
.f7-workspace .flee7-loading-indicator::before,
body:has(#dashboardView:not(.hidden)) .flee7-loading-indicator::before { border-color:var(--f7-mint); border-right-color:transparent; }
.f7-workspace .flee7-loading-bar,
body:has(#dashboardView:not(.hidden)) .flee7-loading-bar { background:var(--f7-mint); }
#companyDashboardPanel .company-dashboard-card-progress { height:6px; border-radius:999px; background:#84ddcc20; }
#companyDashboardPanel .company-dashboard-card-progress>i { background:var(--f7-mint); border-radius:inherit; }
@media(max-width:650px) {
 .f7-workspace .flee7-stage-progress { padding:16px; }
 .f7-workspace .flee7-stage-progress-copy { flex-direction:column; align-items:flex-start; gap:3px; }
 .f7-workspace .flee7-stage-progress-copy span { text-align:left; overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) {
 .f7-workspace .flee7-stage-progress-track span { transition:none; }
 .f7-workspace .flee7-loading-bar,.f7-workspace .flee7-loading-indicator::before { animation:none; }
}

/* The home heading uses the same typography and palette as module heroes. */
#companyDashboardPanel .company-dashboard-heading { margin:8px 0 28px; padding:24px 0; border-bottom:1px solid #34544e; background:none; }
#companyDashboardPanel .dashboard-eyebrow { margin:0 0 14px; color:#84ddcc; font-size:11px; font-weight:800; letter-spacing:.2em; line-height:1.5; }
#companyDashboardTitle { margin:0 0 14px; color:#edf9f4; font-size:clamp(34px,4vw,48px); font-weight:800; line-height:1.1; letter-spacing:-.045em; }
#companyDashboardPanel .company-dashboard-heading > div > span { display:block; color:#b2cdc3; font-size:16px; line-height:1.6; letter-spacing:0; text-transform:none; }
#companyDashboardPanel { border:0; border-radius:0; background:transparent; box-shadow:none; padding:0; }
#companyDashboardPanel .company-dashboard-heading > div > span { font-weight:400; }

/* A compact, unboxed section introduction with deliberate side gutters. */
#companyDashboardPanel .section-heading.company-dashboard-heading {
  display:block; margin:0 0 20px; padding:12px 16px 16px;
  border:0; border-bottom:1px solid #34544e; border-radius:0;
  background:transparent; box-shadow:none; min-height:0;
}
#companyDashboardPanel .dashboard-eyebrow { margin:0 0 6px; font-size:10px; letter-spacing:.16em; }
#companyDashboardTitle { margin:0 0 6px; font-size:28px; line-height:1.15; letter-spacing:-.035em; }
#companyDashboardPanel .company-dashboard-heading > div > span { font-size:13px; line-height:1.45; }

/* Shared action buttons, inspired by the sick-leave review controls. */
:root { --f7-button-fill:#bde8bf; --f7-button-ink:#142c22; --f7-button-line:#49615b; --f7-button-danger:#f3b7b7; }
:is(.f7-workspace,#loginView) :where(.primary-button,.secondary-button,.danger-button,.danger-outline,.warning-button,.f7-action,button.secondary,button.danger,.mw-btn,.am-btn,.monitoring-modal-action,.monitoring-range-action,.monitoring-pagination-action,.leads-refresh-button,.manager-review-refresh,.bike-refresh-button,.mass-sms-refresh,.pay-refresh-button,.supplier-payment-submit,.deductions-confirm-button,.pay-new-exception,.pay-test-submit,.pay-danger-button) {
  box-sizing:border-box; min-height:46px; padding:12px 19px; border:1px solid var(--f7-button-line)!important;
  border-radius:13px!important; background:transparent!important; color:#edf9f4!important;
  box-shadow:none!important; font-family:inherit; font-size:14px; font-weight:750; line-height:1.35;
  letter-spacing:0; text-transform:none; text-align:center; text-decoration:none;
  white-space:normal; overflow-wrap:break-word; vertical-align:middle;
}
:is(.f7-workspace,#loginView) :is(.primary-button,.f7-action,.supplier-payment-submit,.deductions-confirm-button,.pay-test-submit) {
  background:var(--f7-button-fill)!important; border-color:transparent!important; color:var(--f7-button-ink)!important;
}
:is(.f7-workspace,#loginView) :is(.danger-button,.danger-outline,.danger-primary-button,.danger-action,button.danger,.pay-danger-button) {
  background:transparent!important; border:1px solid #795154!important; color:var(--f7-button-danger)!important;
}
:is(.f7-workspace,#loginView) :is(.primary-button,.secondary-button,.f7-action,.danger-button,button.secondary,button.danger,.mw-btn,.am-btn):disabled { opacity:.45; cursor:not-allowed; }
:is(.f7-workspace,#loginView) :is(.primary-button,.secondary-button,.f7-action,.danger-button,button.secondary,button.danger,.mw-btn,.am-btn):focus-visible { outline:3px solid #bde8bf; outline-offset:3px; }
@media(hover:hover) {
 :is(.f7-workspace,#loginView) :is(.primary-button,.secondary-button,.f7-action,.danger-button,button.secondary,button.danger,.mw-btn,.am-btn):not(:disabled):hover { filter:brightness(1.08); }
}
#companyDashboardPanel .f7-card-icon { font-size:22px; line-height:1; border-color:#84ddcc30; background:#84ddcc0a; }
.f7-workspace .f7-page-header a[href="/"]:not(.f7-brand) { border-color:#49615b; border-radius:13px; color:#edf9f4; font-weight:750; }
#adminTaskBanner .task-urgent-strip-action { color:#bde8bf; }
.f7-workspace :is(.mw-btn:not(.mw-quiet),.am-btn:not(.am-quiet)) { background:var(--f7-button-fill)!important; border-color:transparent!important; color:var(--f7-button-ink)!important; }
.f7-workspace .warning-button { border-color:#9b8257!important; color:#e6cb91!important; }

/* Ownership is navigation, not three competing primary actions. */
.f7-workspace .task-scope-tabs { width:100%; display:flex; gap:4px; padding:4px; border:1px solid #34544e; border-radius:13px; background:#0d2026; box-sizing:border-box; flex-wrap:nowrap; }
.f7-workspace .task-scope-tabs button { flex:1 1 0; min-width:0; min-height:44px; display:flex; align-items:center; justify-content:center; gap:6px; padding:9px 8px; border:1px solid transparent; border-radius:9px; background:transparent; color:#b2cdc3; font-size:13px; font-weight:650; line-height:1.25; white-space:nowrap; }
.f7-workspace .task-scope-tabs button[aria-pressed="true"] { background:#254d43; border-color:#497a68; color:#dff6e6; }
.f7-workspace .task-scope-tabs b { display:inline-flex; align-items:center; justify-content:center; flex:none; min-width:18px; height:20px; padding:0 4px; border-radius:6px; background:#ffffff0b; color:inherit; font-size:11px; line-height:1; }
.f7-workspace .task-scope-tabs button:focus-visible { outline:2px solid #bde8bf; outline-offset:2px; }
@media(max-width:370px) { .f7-workspace .task-scope-tabs button { font-size:12px; padding:8px 4px; gap:4px; } }
