/* Firebase Leadership V5 adapter. Source and decisions: outputs/firebase-brand/DESIGN-SYSTEM.md.
   Scoped to plugin pages; never load the entire historical theme CSS into WordPress admin. */
:is(.fbr-app,.fbr-site,.fbr-report) {
  --fb-navy:#062b43; --fb-deep:#031b2a; --fb-orange:#df522b;
  --fb-orange-dark:#c94722; --fb-small-accent:#b84222;
  --fb-cream:#f7f5ef; --fb-mist:#eef3f5; --fb-ink:#152330;
  --fb-muted:#5f6d77; --fb-line:#d9e0e4; --fb-header-ink:#06293b;
  --fb-header-orange:#e4512a; --fb-radius:4px;
  --fb-shadow:0 18px 45px rgba(3,26,41,.10);
  --navy:var(--fb-navy); --ink:var(--fb-ink); --muted:var(--fb-muted);
  --teal:var(--fb-small-accent); --line:var(--fb-line);
  --background:var(--fb-cream); --paper:#fff;
  font-family:Inter,Arial,sans-serif; color:var(--fb-ink); line-height:1.6;
}
body.fbr-document,body.fbr-app { margin:0; background:#f7f5ef; }
:is(.fbr-app,.fbr-site,.fbr-report),:is(.fbr-app,.fbr-site,.fbr-report) *,:is(.fbr-app,.fbr-site,.fbr-report) *::before,:is(.fbr-app,.fbr-site,.fbr-report) *::after { box-sizing:border-box; }
.fbr-app { background:var(--fb-cream); }
:is(.fbr-app,.fbr-site) :is(h1,h2,h3,h4) {
  font-family:Lora,Georgia,"Times New Roman",serif; color:var(--fb-deep);
  line-height:1.15; letter-spacing:-.025em;
}
.fbr-app h1 { font-size:clamp(2rem,3.3vw,3.15rem); letter-spacing:-.04em; }
.fbr-app h2 { font-size:clamp(1.35rem,2.1vw,1.8rem); }
.fbr-app h3 { font-size:1.25rem; }
.fbr-app .workspace { max-width:1400px; }
.fbr-app :is(main,main.fbr) { border-color:var(--fb-line); border-radius:var(--fb-radius); box-shadow:var(--fb-shadow); }
.fbr-app section { padding:0; }
.fbr-app .header { min-height:84px; background:#fff; border-color:var(--fb-line); }
.fbr-app .header nav { font:600 .875rem/1.4 Inter,Arial,sans-serif; }
.fbr-app .header nav a { min-height:44px; display:inline-flex; align-items:center; color:var(--fb-header-ink); }
.fbr-app .header nav a[aria-current=page] { border-color:var(--fb-header-orange); }
.fbr-app .header nav a:hover { color:var(--fb-small-accent); }
.fbr-app .brand { color:var(--fb-header-ink); }
.fbr-app .brand-icon { background:var(--fb-navy); border-radius:var(--fb-radius); }
.fbr-app .brand-icon span { color:#ff7046; }
.fbr-app :is(.draft-banner,.device-tag,.saved-count,#saved-count) { background:var(--fb-mist); color:var(--fb-navy); }
.fbr-app :is(.connection,.muted,.aside-copy,.mini-label) { color:var(--fb-muted); }
:is(.fbr-app,.fbr-site) :is(.eyebrow,.fbr-eyebrow) {
  text-transform:uppercase; letter-spacing:.18em; font-size:.78rem; font-weight:900;
  color:var(--fb-small-accent);
}
.fbr-app .start-card { background:linear-gradient(115deg,var(--fb-deep),var(--fb-navy)); color:#fff; border-radius:var(--fb-radius); }
.fbr-app .start-card :is(h2,p) { color:#fff; }
.fbr-app .start-card .eyebrow { color:#ff7046; }
.fbr-app :is(.info-card,.result-card,.action,.option,.fbr-option,.disclosure,.saved-card) { border-color:var(--fb-line); border-radius:var(--fb-radius); }
.fbr-app .info-card { background:#fff; border-top:3px solid var(--fb-orange); }
.fbr-app .aside-note { border-color:var(--fb-orange); }
.fbr-app .steps li.active { background:var(--fb-mist); color:var(--fb-navy); }
.fbr-app .active .step-number { background:var(--fb-navy); border-color:var(--fb-navy); color:#fff; }
.fbr-app .progress span { background:var(--fb-orange); }
.fbr-app :is(.option:has(input:checked),.fbr-option:has(input:checked)) { background:var(--fb-cream); border-color:var(--fb-small-accent); box-shadow:inset 0 0 0 1px var(--fb-small-accent); }
:is(.fbr-app,.fbr-site) :is(input,textarea,select,button) { font-family:Inter,Arial,sans-serif; }
:is(.fbr-app,.fbr-site) :is(input,textarea,select) { accent-color:var(--fb-small-accent); }
:is(.fbr-app,.fbr-site) :is(textarea,input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select) {
  color:var(--fb-ink); background:#fff; border:1px solid #bcc8cf; border-radius:3px;
  padding:12px 13px; max-width:100%;
}
.fbr-app main a:not(.primary):not(.secondary):not(.fbr-button),.fbr-site a:not(.fbr-button) { color:var(--fb-header-ink); }
.fbr-app main a:not(.primary):not(.secondary):not(.fbr-button):hover,.fbr-site a:not(.fbr-button):hover { color:var(--fb-small-accent); }
/* Orange/white uses large bold type. Small orange labels use the source's darker orange. */
.fbr-app main.fbr .start-card :is(button,.primary,.fbr-button),.fbr-app :is(main,main.fbr) :is(button,.primary,.fbr-button),.fbr-site :is(button,.fbr-button) {
  display:inline-flex; align-items:center; justify-content:center; min-height:48px;
  padding:13px 20px; border:1px solid var(--fb-orange); border-radius:0;
  background:var(--fb-orange); color:#fff; text-decoration:none;
  font:700 1.1875rem/1.3 Inter,Arial,sans-serif; letter-spacing:.03em; text-transform:uppercase;
  white-space:normal; text-align:center; transition:background .18s ease;
}
.fbr-app main.fbr .start-card :is(button,.primary,.fbr-button):hover,.fbr-app :is(main,main.fbr) :is(button,.primary,.fbr-button):hover,.fbr-site :is(button,.fbr-button):hover { background:var(--fb-orange-dark); border-color:var(--fb-orange-dark); color:#fff; }
.fbr-app .secondary { background:#fff; border:1px solid var(--fb-navy); color:var(--fb-navy); border-radius:0; }
.fbr-app .start-card .secondary { background:transparent; border-color:#fff; color:#fff; }
:is(.fbr-app,.fbr-site) :is(button,a,input,textarea,select,summary):focus-visible { outline:3px solid var(--fb-navy); outline-offset:4px; }
.fbr-app .start-card :is(button,a,input):focus-visible { outline-color:#fff; }
.fbr-app footer { border-color:var(--fb-line); color:var(--fb-muted); }
.fbr-site { max-width:1500px; width:calc(100% - 96px); border-radius:var(--fb-radius); border-color:var(--fb-line); box-shadow:var(--fb-shadow); }
.fbr-site h1 { font-size:clamp(2.7rem,5vw,5rem); color:var(--fb-deep); line-height:1.08; }
.fbr-site h2 { font-size:clamp(2.05rem,4vw,3.7rem); line-height:1.08; }
.fbr-site h3 { font-size:1.55rem; }
.fbr-site :is(p,ul,ol) { max-width:850px; }
.fbr-site .fbr-lead { font-size:1.18rem; color:var(--fb-muted); }
.fbr-site form { background:var(--fb-mist); border-radius:var(--fb-radius); }
.fbr-site nav { line-height:2; }
.fbr-report { background:#fff; }
.fbr-report :is(h1,h2,h3) { font-family:Lora,Georgia,serif; color:var(--fb-deep); }
.fbr-report .tools { background:var(--fb-mist); border-left:4px solid var(--fb-orange); }
.fbr-report article { border-color:var(--fb-line); }
/* Launch offer: same V5 palette; sales content stays outside the question flow. */
.fbr-offer { overflow-wrap:anywhere; }
.fbr-offer section { padding:36px 0; border-top:1px solid var(--fb-line); }
.fbr-offer .fbr-offer-hero { margin:28px 0; padding:clamp(24px,4vw,54px); background:linear-gradient(115deg,var(--fb-deep),var(--fb-navy)); }
.fbr-offer .fbr-offer-hero h1 { color:#fff; margin:18px 0 24px; max-width:1000px; }
.fbr-offer .fbr-offer-hero .fbr-lead { color:#dce8ee; }
.fbr-offer .fbr-offer-hero .fbr-eyebrow { color:#ff7046; }
.fbr-offer .fbr-offer-hero a:focus-visible { outline-color:#fff; }
.fbr-offer h2 { font-size:clamp(1.75rem,3vw,2.8rem); margin:0 0 24px; max-width:950px; }
.fbr-offer .fbr-offer-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:24px; }
.fbr-offer .fbr-offer-card { min-width:0; padding:28px; border:1px solid var(--fb-line); border-top:4px solid var(--fb-orange); background:#fff; }
.fbr-offer .fbr-offer-card h3 { margin:14px 0; }
.fbr-offer .fbr-offer-note,.fbr-offer .fbr-offer-sample { padding:24px; background:var(--fb-cream); border-left:4px solid var(--fb-orange); margin:24px 0; }
.fbr-offer .fbr-offer-note h3 { margin:0 0 14px; }
.fbr-offer .fbr-offer-proof { margin:24px 0; padding:24px; background:var(--fb-mist); }
.fbr-offer blockquote { font-family:Lora,Georgia,serif; font-size:1.35rem; margin:0 0 18px; }
.fbr-offer details { border-bottom:1px solid var(--fb-line); padding:18px 0; }
.fbr-offer summary { cursor:pointer; font-weight:700; }
.fbr-offer details p { margin:16px 0 0; }
.fbr-offer form { max-width:850px; padding:24px; }
.fbr-offer :is(input,textarea,select) { width:100%; font-size:1rem; }
.fbr-offer .fbr-offer-honey { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.fbr-offer .fbr-offer-price { font-weight:700; color:var(--fb-navy); }
.fbr-offer #request-support,.fbr-offer #offer-options { scroll-margin-top:50px; }
.fbr-app .fbr-next-step { padding:24px; margin:32px 0; background:var(--fb-cream); border-left:4px solid var(--fb-orange); }
@media(max-width:800px) {.fbr-offer .fbr-offer-grid { grid-template-columns:1fr; }.fbr-offer :is(.fbr-offer-card,form) { padding:20px; }}
@media(max-width:520px) {.fbr-offer .fbr-offer-hero { padding:20px; }.fbr-offer .fbr-offer-hero h1 { font-size:2rem; }.fbr-offer .fbr-button { width:100%; }}
@media(max-width:980px) {.fbr-site { width:calc(100% - 42px); }}
@media(max-width:700px) {
  .fbr-site { width:calc(100% - 30px); margin:15px auto; }
  .fbr-app .header { gap:12px; padding-inline:15px; }
  .fbr-app .header nav { flex-wrap:wrap; gap:18px; }
  .fbr-app .workspace { padding-inline:15px; }
  .fbr-app .start-card .primary { width:100%; }
}
@media(prefers-reduced-motion:reduce) {:is(.fbr-app,.fbr-site) * { transition:none!important; scroll-behavior:auto!important; }}
@media print {
  body.fbr-document,body.fbr-app,.fbr-app { background:#fff; }
  .fbr-app :is(main,main.fbr),.fbr-site { width:100%; max-width:none; border:0; box-shadow:none; margin:0; padding:0; }
  .fbr-app main.fbr .start-card :is(button,.primary,.fbr-button),.fbr-app :is(main,main.fbr) :is(button,.primary,.fbr-button),.fbr-site :is(button,.fbr-button) { display:none; }
  .fbr-app .start-card { display:none; }
}

/* Research pilot forms share the existing Gap Check shell. */
.fbr2-app .fbr2-form label { display:block; margin:18px 0; }
.fbr2-app .fbr2-form :is(select,textarea,input:not([type=checkbox]):not([type=radio]):not([type=hidden])) { display:block; width:100%; font:inherit; margin-top:8px; }
.fbr2-app .fbr2-form textarea { min-height:95px; }
.fbr2-app .fbr2-form fieldset { border:0; padding:0; margin:24px 0; }
.fbr2-app .fbr2-check input { width:20px; height:20px; vertical-align:middle; }
.fbr2-app .fbr2-tabs { display:flex; flex-wrap:wrap; gap:12px 20px; padding:16px 0; border-block:1px solid #d9e0e4; margin:20px 0; }
.fbr2-app .fbr2-saved { background:#eef3f5; padding:15px; border-left:4px solid #062b43; }
.fbr2-app .fbr2-report dt { font-weight:700; margin-top:18px; }.fbr2-app .fbr2-report dd { margin:6px 0 20px; overflow-wrap:anywhere; }
.fbr2-app .fbr2-report section { border-top:1px solid #d9e0e4; margin-top:30px; }
@media print { .fbr2-app :is(.header,.draft-banner,.connection,aside,nav,.disclosure,.fbr2-form,footer) { display:none!important; }.fbr2-app .workspace { display:block; padding:0; }.fbr2-app main { padding:0; }.fbr2-app .fbr2-report section { break-inside:auto; } }

.fbr2-app .fbr2-worksheet-card { padding:24px; border:1px solid #d9e0e4; border-left:4px solid #df522b; margin:18px 0; background:#fff; }
.fbr2-app .fbr2-worksheet-card h4 { font-size:1.35rem; margin:8px 0; }
.fbr2-app .fbr2-example,.fbr2-app .fbr2-next { background:#eef3f5; padding:24px; margin:24px 0; border-left:4px solid #062b43; }
.fbr2-app .fbr2-worksheet-card .fbr-button,.fbr2-app .fbr2-next .fbr-button { white-space:normal; }
@media print { .fbr2-app .fbr2-next { display:none; } }

.fbr2-app .fbr3-table {overflow-x:auto;} .fbr2-app .fbr3-table table {border-collapse:collapse;width:100%;} .fbr2-app .fbr3-table :is(th,td) {padding:8px;text-align:left;border-bottom:1px solid #d9e0e4;}
@media print {.fbr2-app .fbr3-table {overflow:visible;} .fbr2-app details {display:block;} }

.fbr2-app [hidden]{display:none!important;} .fbr2-app [aria-current="step"]{font-weight:700;text-decoration:underline;text-underline-offset:5px;} .fbr2-app [data-plan-builder] [role="status"]{padding:12px;background:#eef3f5;} .fbr2-app [data-plan-section]{scroll-margin-top:24px;}
/* Pilot usability refinements; keep the existing Inter/Lora brand. */
.fbr2-app .fbr6-notice {padding:8px 12px;margin:12px 0;border:1px solid #d9e0e4;border-radius:4px;font-size:0.95rem;}
.fbr2-app .fbr6-notice summary {cursor:pointer;font-weight:600;min-height:32px;}
.fbr2-app .fbr6-notice .fbr2-saved {margin:8px 0;padding:12px;}
.fbr2-app .fbr6-form-status:empty {display:none;}
.fbr2-app .fbr6-form-status {padding:12px;background:#eef3f5;scroll-margin-top:24px;}
.fbr2-app .fbr6-form-status[role=alert] {border-left:4px solid #b84222;}
.fbr2-app .fbr6-counter {display:block;margin:-4px 0 16px;color:#445361;font-size:0.875rem;}
.fbr2-app .fbr2-form label small {font-weight:400;display:block;}
.fbr2-app .fbr6-builder-nav {display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:12px 0;}
.fbr2-app .fbr6-builder-nav span {flex-basis:100%;font-weight:600;}
.fbr2-app .fbr6-builder-nav button {font-size:1rem;min-height:44px;}
.fbr2-app button:disabled {opacity:0.5;cursor:not-allowed;}
.fbr2-app :is(a,button,input,select,textarea,summary):focus-visible {outline:3px solid #062b43;outline-offset:3px;}
.fbr2-app [aria-current=page] {font-weight:700;text-decoration:underline;text-underline-offset:5px;}
.fbr2-app .fbr6-answer-review li {padding:12px 0;border-bottom:1px solid #d9e0e4;}
.fbr2-app .fbr6-answer-review h3 {font-size:1.15rem;}
.fbr2-app :is(main,fieldset,.fbr2-form) {min-width:0;}
.fbr2-app :is(input,select,textarea) {max-width:100%;font-size:1rem;}
.fbr2-app :is(.fbr2-tabs a,summary) {min-height:44px;}
@media(max-width:700px){
 .fbr2-app .workspace {display:block;}
 .fbr2-app .workspace aside {padding:12px 16px;}
 .fbr2-app aside>h2,.fbr2-app aside>.eyebrow,.fbr2-app aside .aside-note {display:none;}
 .fbr2-app aside .steps {display:flex;flex-wrap:wrap;gap:8px;margin:0;}
 .fbr2-app aside .steps li {padding:4px;margin:0;font-size:0.9rem;}
 .fbr2-app main {padding:20px 16px;}
 .fbr2-app .fbr2-tabs {gap:8px;}
 .fbr2-app .fbr2-tabs a {padding:8px;}
 .fbr2-app .fbr6-builder-nav button {flex:1 1 44%;white-space:normal;}
 .fbr2-app .fbr3-table table,.fbr2-app .fbr3-table tbody {display:block;}
 .fbr2-app .fbr3-table thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
 .fbr2-app .fbr3-table tr {display:block;border:1px solid #d9e0e4;margin:12px 0;padding:12px;border-radius:4px;}
 .fbr2-app .fbr3-table tbody th {display:block;font-size:1.1rem;border:0;padding:4px 0 8px;}
 .fbr2-app .fbr3-table td {display:flex;justify-content:space-between;gap:24px;padding:6px 0;}
 .fbr2-app .fbr3-table td::before {content:attr(data-label);font-weight:600;}
}
@media print { .fbr2-app .fbr6-notice {display:block!important;border:0;} .fbr2-app .fbr6-notice summary {display:none;} .fbr2-app .fbr6-notice>*:not(summary) {display:block!important;} }
@media(max-width:700px){.fbr2-app .fbr3-table caption{display:block;width:100%;text-align:left;padding:8px 0;}}
/* Compact navigation keeps the task near the top while preserving touch targets. */
.fbr2-app .fbr2-tabs {padding:4px 0;margin:12px 0;}
.fbr2-app .fbr2-tabs a {display:inline-flex;align-items:center;}
@media(max-width:700px){.fbr2-app .workspace aside{position:static;}}
