/* Account page redesign 20261025-wknd14 — Divisions full-width (override legacy max-width:50%), unsquashed General chip, Add Division row vertical align. Open Sans, brand #0082ff. Toolbar/logo unchanged. */
:root {
  --fp-blue: #0082ff;
  --fp-blue-soft: #E8F0FE;
  --fp-ink: #1F2937;
  --fp-muted: #5B6472;
  --fp-border: #E3E6EB;
  --fp-bg: #F1F2F4;
  --fp-card: #FFFFFF;
  --fp-radius: 18px;
}
body { background: var(--fp-bg) !important; font-family: "Open Sans", "Segoe UI", system-ui, sans-serif; color: var(--fp-ink); }
/* Match hdr1.20261023-hdr3.css: zero the global .main-content padding/centering so Account h1
   shares the same viewport offset as Contracts/Notices/Search (those pages load hdr CSS).
   Keep margin-left:200px from styles.css for the left toolbar. */
.main-content {
  background: transparent !important;
  padding: 0 !important;
  align-items: stretch !important; /* do not center; stretch full width like hdr pages */
}
/* Grey page shell — heading + tabs sit on #F1F2F4, NOT in a white card (account.md / hdr2) */
.account-container.page-container {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 32px 32px 64px;
  box-sizing: border-box;
  text-align: left;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
/* hdr2/hdr3 .up2-head metrics */
.account-container > .up2-head {
  display: block; margin: 0 0 12px; padding: 0; height: 40px;
}
.account-container > .up2-head > h1.account-page-title,
.account-container > .up2-head > h1,
.account-container > h1.account-page-title,
.account-container > h1 {
  display: block; margin: 0; padding: 0; height: 40px;
  font-family: 'Open Sans', system-ui, sans-serif;
  font-size: 30px; font-weight: 600; line-height: 40px; letter-spacing: -.01em;
  color: #1B1F24; background: transparent; text-align: left;
}
/* When h1 is direct child (no up2-head), keep the 12px gap under the title */
.account-container > h1.account-page-title,
.account-container > h1 { margin: 0 0 12px; }
#account-tabs-nav.tabs {
  display: flex; flex-wrap: wrap; gap: 8px; border-bottom: 1px solid #DDE1E6;
  background: transparent !important; padding: 0; margin: 0 0 20px; box-shadow: none;
}
#account-tabs-nav .tab-button {
  min-height: 48px; padding: 0 14px; border: none !important; border-bottom: 3px solid transparent !important;
  margin-bottom: -1px; background: transparent !important; border-radius: 0 !important;
  font-family: inherit; font-size: 15px; font-weight: 500; color: var(--fp-muted); cursor: pointer;
  box-shadow: none !important;
}
#account-tabs-nav .tab-button:hover:not(.active) { color: var(--fp-ink); background: transparent !important; }
#account-tabs-nav .tab-button.active {
  color: var(--fp-blue) !important; font-weight: 600;
  border-bottom-color: var(--fp-blue) !important; background: transparent !important;
}
/* Tab bodies: only .section / cards are white */
#account-tab-contents { background: transparent; }
#admin-account-view { background: transparent; }
.account-container .section {
  background: var(--fp-card); border: 1px solid var(--fp-border); border-radius: var(--fp-radius);
  padding: 24px 28px; margin: 0 0 20px; box-shadow: none;
}
.account-container .section h3 {
  margin: 0 0 12px; font-size: 19px; font-weight: 600; color: #111827;
}
.account-container .section .description, .account-container .section p.description {
  color: var(--fp-muted); font-size: 14px; line-height: 1.5;
}
/* Estimate card (paid) */
.mtd-estimate-card {
  display: flex; flex-wrap: wrap; align-items: center; gap: 24px 48px;
  background: var(--fp-card); border: 1px solid var(--fp-border); border-radius: var(--fp-radius);
  padding: 28px 32px; margin: 0 0 20px;
}
.mtd-estimate-card .mtd-left { flex: 1 1 260px; display: flex; flex-direction: column; gap: 4px; }
.mtd-estimate-card .mtd-kicker {
  font-size: 13px; font-weight: 600; letter-spacing: 0.6px; text-transform: uppercase; color: var(--fp-muted);
}
.mtd-estimate-card .mtd-amount {
  font-size: 44px; font-weight: 700; color: #111827; letter-spacing: -1px; font-variant-numeric: tabular-nums;
}
.mtd-estimate-card .mtd-asof { font-size: 14px; color: var(--fp-muted); }
.mtd-estimate-card .mtd-right { flex: 2 1 380px; display: flex; flex-direction: column; gap: 10px; }
.mtd-estimate-card .mtd-progress-meta {
  display: flex; justify-content: space-between; gap: 12px; font-size: 14px; color: #374151; flex-wrap: wrap;
}
.mtd-estimate-card .mtd-track {
  height: 10px; border-radius: 999px; background: #EEF0F3; overflow: hidden;
}
.mtd-estimate-card .mtd-fill {
  height: 100%; background: var(--fp-blue); border-radius: 999px; min-width: 0;
}
.mtd-estimate-card .mtd-note { font-size: 13px; color: var(--fp-muted); }
/* Trial hero */
.trial-hero {
  background: var(--fp-card); border: 1px solid var(--fp-border); border-radius: var(--fp-radius);
  padding: 28px 32px; margin: 0 0 20px; display: flex; flex-direction: column; gap: 22px;
}
.trial-hero-top { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.trial-hero-copy { flex: 1 1 320px; display: flex; flex-direction: column; gap: 4px; }
.trial-hero-copy .mtd-kicker { font-size: 13px; font-weight: 600; letter-spacing: 0.6px; text-transform: uppercase; color: var(--fp-muted); }
.trial-hero-copy .trial-title { font-size: 26px; font-weight: 700; color: #111827; }
.trial-hero-copy .trial-sub { font-size: 14px; color: var(--fp-muted); }
.trial-hero .trial-cta {
  min-height: 48px; padding: 0 22px; border: none; border-radius: 10px; background: var(--fp-blue);
  font-family: inherit; font-size: 15px; font-weight: 600; color: #fff; cursor: pointer;
}
.trial-hero .trial-cta:hover { filter: brightness(0.95); }
.trial-meters { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.trial-meter {
  padding: 18px; border: 1px solid var(--fp-border); border-radius: 14px; background: #fff;
  display: flex; flex-direction: column; gap: 10px;
}
.trial-meter.warn { border-color: #F5D0A9; background: #FFFBF5; }
.trial-meter.full { border-color: #F3D3CF; background: #FFF8F7; }
.trial-meter-head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.trial-meter-head .lbl { font-size: 15px; font-weight: 600; color: #111827; }
.trial-meter-head .pct { font-size: 14px; font-weight: 700; color: var(--fp-blue); }
.trial-meter.warn .pct { color: #B45309; }
.trial-meter.full .pct { color: #B42318; }
.trial-meter .track { height: 10px; border-radius: 999px; background: #E6E9EE; overflow: hidden; }
.trial-meter .fill { height: 100%; border-radius: 999px; background: var(--fp-blue); }
.trial-meter.warn .fill { background: #F59E0B; }
.trial-meter.full .fill { background: #DC2626; }
.trial-meter .used { font-size: 14px; color: #374151; }
.trial-hero-foot { font-size: 14px; color: #4B5563; line-height: 1.5; }
/* Usage detail card (By item / By division) — 20261025-wknd15: center selected pill in track */
#current-usage-section.section.usage-detail-card {
  padding: 24px 28px;
  display: flex; flex-direction: column; gap: 14px;
}
.usage-detail-head {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;
}
.usage-detail-head h3 { margin: 0; font-size: 19px; font-weight: 600; color: #111827; line-height: 36px; }
.usage-view-toggle {
  display: inline-flex; align-items: center; gap: 2px; padding: 3px; background: #FFFFFF;
  border: 1px solid #E3E6EB; border-radius: 999px; box-sizing: border-box;
}
.usage-view-pill {
  display: inline-flex; align-items: center; justify-content: center;
  height: 32px; min-height: 32px; padding: 0 14px; margin: 0 !important;
  border: none !important; border-radius: 999px !important;
  background: transparent !important; color: #4B5563;
  font-family: inherit; font-size: 14px; font-weight: 500; line-height: 1;
  cursor: pointer; box-shadow: none !important; box-sizing: border-box;
  vertical-align: middle; transition: background-color 0.15s, color 0.15s;
}
.usage-view-pill.is-selected {
  background: #E8F0FE !important; color: #0082ff !important; font-weight: 600;
}
.usage-view-pill:hover:not(.is-selected) {
  background: transparent !important; color: #111827;
}
.usage-view-pill.is-selected:hover {
  background: #E8F0FE !important; color: #0082ff !important;
}
.usage-view-pill:focus-visible { outline: 2px solid #0082ff; outline-offset: 2px; }
/* Kill styles.css .app-table defaults that break this panel */
.usage-table.app-table,
.usage-table {
  width: 100%; min-width: 640px; margin-top: 0;
  border-collapse: separate; border-spacing: 0;
  table-layout: fixed; font-size: 15px;
}
.usage-table col.usage-col-item { width: 44%; }
.usage-table col.usage-col-qty { width: 18%; }
.usage-table col.usage-col-rate { width: 20%; }
.usage-table col.usage-col-amt { width: 18%; }
.usage-table thead th {
  padding: 12px 16px; background: #EEF0F3; font-size: 12px; font-weight: 600;
  letter-spacing: 0.6px; text-transform: uppercase; color: #4B5563; text-align: left; border: none;
}
.usage-table thead th:first-child { border-radius: 10px 0 0 10px; }
.usage-table thead th:last-child { border-radius: 0 10px 10px 0; }
/* Quantity / Rate / Amount — always right-aligned (headers + cells) */
.usage-table thead th:nth-child(n+2),
.usage-table tbody td:nth-child(n+2),
.usage-table tbody th:nth-child(n+2) {
  text-align: right !important; font-variant-numeric: tabular-nums;
}
.usage-table tbody td {
  padding: 11px 16px; color: #374151; border: none; background: #FFFFFF;
}
.usage-table tbody td.usage-amt { font-weight: 600; color: #111827; }
/* Class-based zebra on LINE rows only — beat styles.css tr:nth-child zebra */
.usage-table tbody tr.usage-line-row,
.usage-table tbody tr.usage-group-row,
.usage-table tbody tr.usage-total-row,
.usage-table tbody tr.usage-div-row {
  background: #FFFFFF !important;
}
.usage-table tbody tr.usage-line-row td { background: #FFFFFF !important; }
.usage-table tbody tr.usage-line-row.usage-line-alt td { background: #F6F7F9 !important; }
.usage-table tbody tr.usage-line-row:hover td { background: #EAF1FE !important; }
.usage-table tbody tr.usage-group-row th,
.usage-table tbody tr.usage-group-row td {
  padding: 16px 16px 6px; font-size: 13px; font-weight: 700;
  color: #111827; background: #FFFFFF !important; border: none;
}
.usage-table tbody tr.usage-group-row th.usage-group-label {
  text-align: left !important; font-weight: 700;
}
.usage-table tbody tr.usage-group-row td.usage-group-spacer { font-weight: 400; }
.usage-table tbody tr.usage-group-row td.usage-group-amt,
.usage-table tbody tr.usage-group-row .usage-group-amt {
  text-align: right !important; font-weight: 600; color: #5B6472; font-size: 13px;
}
.usage-table tbody tr.usage-group-row:hover,
.usage-table tbody tr.usage-group-row:hover th,
.usage-table tbody tr.usage-group-row:hover td {
  background: #FFFFFF !important;
}
.usage-table tbody tr.usage-line-row td.usage-line-label { padding-left: 28px; color: #374151; font-weight: 400; }
.usage-table .usage-help {
  display: block; font-size: 12px; font-weight: 400; color: #6B7280; margin-top: 2px; line-height: 1.4;
}
.usage-table tbody tr.usage-total-row td {
  border-top: 2px solid #E3E6EB; font-weight: 700; color: #111827;
  background: #FFFFFF !important; padding: 14px 16px;
}
.usage-table tbody tr.usage-total-row:hover,
.usage-table tbody tr.usage-total-row:hover td {
  background: #FFFFFF !important;
}
.usage-table tbody tr.usage-total-row .trial-pay-zero {
  display: block; font-size: 13px; font-weight: 500; color: #1C6B43;
}
.usage-table tbody tr.usage-div-row td { background: #FFFFFF !important; }
.usage-table tbody tr.usage-div-row.usage-line-alt td { background: #F6F7F9 !important; }
.usage-table tbody tr.usage-div-row:hover td { background: #EAF1FE !important; }
.usage-table tbody tr.usage-div-row td:first-child { font-weight: 600; color: #111827; text-align: left !important; }
.usage-footnote, #current-usage-asof.usage-footnote {
  margin: 0; font-size: 13px; color: #5B6472; line-height: 1.45;
}
.usage-div-footnote {
  margin: 10px 4px 0; font-size: 13px; color: #5B6472; line-height: 1.45;
}
#usage-item-wrap, #usage-division-wrap { overflow-x: auto; }
/* Buttons / inputs inside account — exclude segmented usage pills */
.account-container button:not(.tab-button):not(.ai-switch):not(.terminate):not(.plan-danger-btn):not(.usage-view-pill),
.account-container .account-button {
  border-radius: 10px; font-family: inherit; font-weight: 600;
}
.account-container input[type="text"],
.account-container input[type="email"],
.account-container textarea,
.account-container select {
  border-radius: 10px; border: 1px solid #D5D9E0; font-family: inherit;
}
.account-container a { color: var(--fp-blue); }
.app-table { border: none; }
.app-table thead th { background: #EEF0F3; border: none; }
#non-admin-account-view .info-card,
.account-container .info-card {
  background: var(--fp-card); border: 1px solid var(--fp-border); border-radius: var(--fp-radius); padding: 24px 28px;
}
/* Users + Divisions 20261025-wknd3 */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
.field-label { display: block; font-size: 13px; font-weight: 600; color: #374151; margin-bottom: 6px; }
.field-hint { display: block; margin-top: 6px; font-size: 13px; font-weight: 400; color: var(--fp-muted); line-height: 1.4; }
.section-head-row { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.section-head-row h3 { margin: 0; }
.section-aside { font-size: 13px; color: #8A93A0; }
.section-head-stack { display: flex; flex-direction: column; gap: 4px; margin-bottom: 14px; }
.section-head-stack h3 { margin: 0; }
.invite-grid { display: flex; flex-wrap: wrap; gap: 24px; }
.invite-emails-col { flex: 1 1 320px; }
.invite-opts-col { flex: 1 1 320px; display: flex; flex-direction: column; gap: 14px; }
.invite-opts-col .form-group { margin: 0; }
.role-radios { display: flex; gap: 18px; font-size: 15px; font-weight: 400; color: #374151; }
.radio-inline { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.radio-inline input { width: 18px; height: 18px; margin: 0; accent-color: var(--fp-blue); }
.radio-inline input:disabled { cursor: not-allowed; opacity: 0.55; }
.invite-actions { margin-top: 18px; }
.fp-primary-btn, #invite-users-btn, #add-division-btn:not(:disabled), #permissions-save-btn {
  min-height: 44px; padding: 0 20px; border: none; border-radius: 10px;
  background: var(--fp-blue) !important; color: #fff !important;
  font-family: inherit; font-size: 15px; font-weight: 600; cursor: pointer;
}
#add-division-btn:disabled {
  min-height: 44px; padding: 0 18px; border: none; border-radius: 10px;
  background: #EEF0F3 !important; color: #8A93A0 !important; cursor: not-allowed;
}
.fp-primary-btn:hover, #invite-users-btn:hover { filter: brightness(0.95); }
.view-check-list { display: flex; flex-direction: column; gap: 4px; }
.view-check-list label {
  display: flex; align-items: center; gap: 12px; min-height: 40px; padding: 0 10px;
  font-size: 15px; color: #374151; border-radius: 8px;
}
.view-check-list label.all-divs { background: #F6F7F9; font-weight: 600; color: #111827; }
.view-check-list input[type="checkbox"] { width: 18px; height: 18px; margin: 0; accent-color: var(--fp-blue); flex: none; }
.view-check-list .dot { width: 7px; height: 7px; border-radius: 999px; background: #8A93A0; flex: none; }
.view-check-list .forced-note { font-size: 12px; color: var(--fp-muted); margin-left: 4px; }
.view-check-list[aria-disabled="true"] { opacity: 0.72; pointer-events: none; }

/* Can view pill/chip toggles (invite + manage) — hollow gray / filled blue dots */
.div-chip-row { display: flex; flex-wrap: wrap; gap: 6px; }
button.div-chip {
  display: inline-flex; align-items: center; gap: 8px;
  min-height: 36px; padding: 0 14px; border-radius: 999px;
  font-family: inherit; font-size: 14px; cursor: pointer;
  border: 1px solid #E3E6EB; background: #FFFFFF; color: #4B5563; font-weight: 500;
}
button.div-chip .dot {
  width: 8px; height: 8px; border-radius: 999px; flex: none; box-sizing: border-box;
  background: transparent; border: 1.5px solid #B8BEC7;
}
button.div-chip[aria-pressed="true"] {
  border: none; background: var(--fp-blue-soft); color: var(--fp-blue); font-weight: 600;
}
button.div-chip[aria-pressed="true"] .dot {
  background: var(--fp-blue); border-color: var(--fp-blue);
}
button.div-chip:disabled,
button.div-chip[aria-pressed="true"]:disabled { opacity: 0.7; cursor: default; }

.table-scroll { overflow-x: auto; }
.fp-data-table { width: 100%; min-width: 620px; border-collapse: separate; border-spacing: 0; font-size: 15px; }
.fp-data-table thead th {
  padding: 12px 16px; background: #EEF0F3; font-size: 12px; font-weight: 600;
  letter-spacing: 0.6px; text-transform: uppercase; color: #4B5563; text-align: left; border: none;
}
.fp-data-table thead th:first-child { border-radius: 10px 0 0 10px; }
.fp-data-table thead th:last-child { border-radius: 0 10px 10px 0; }
.fp-data-table thead th.num, .fp-data-table tbody td.num { text-align: right; font-variant-numeric: tabular-nums; }
.fp-data-table tbody td { padding: 12px 16px; color: #374151; border: none; background: transparent; vertical-align: middle; }
.fp-data-table tbody tr.zrow:nth-child(even) td { background: #F8FAFC; }
.fp-data-table tbody tr.zrow:hover td { background: #EAF1FE; }
.fp-data-table tbody tr.zrow { cursor: pointer; }
.person-cell { display: flex; flex-direction: column; gap: 2px; }
.person-cell .email { font-weight: 600; color: #111827; }
.person-cell .role { font-size: 13px; color: var(--fp-muted); }
.view-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.view-pill {
  display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600;
  color: #374151; background: #F1F2F4; padding: 3px 10px; border-radius: 999px;
}
.view-pill .dot { width: 6px; height: 6px; border-radius: 999px; background: #8A93A0; }
.status-pill {
  display: inline-block; font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 999px;
}
.status-pill.active { color: #1C6B43; background: #E6F6EE; }
.status-pill.invited { color: #9A6700; background: #FFF4D6; }
.btn2, .fp-btn-secondary {
  min-height: 36px; padding: 0 14px; border: 1px solid #D5D9E0; border-radius: 9px;
  background: #FFFFFF; font-family: inherit; font-size: 14px; font-weight: 600; color: #374151; cursor: pointer;
}
.btn2:hover:not(:disabled), .fp-btn-secondary:hover:not(:disabled) { border-color: var(--fp-blue); color: var(--fp-blue); }
.btn2:disabled, .fp-btn-secondary:disabled { opacity: 0.55; cursor: not-allowed; }
.rowact {
  display: inline-flex; gap: 6px; align-items: center;
  opacity: 0; transition: opacity .12s;
  /* stay in layout when hidden — never display:none */
}
.zrow:hover .rowact, .zrow:focus-within .rowact { opacity: 1; }
.fp-btn-danger {
  min-height: 36px; padding: 0 12px; border: 1px solid #E8B4AE; border-radius: 9px;
  background: #FFFFFF; font-family: inherit; font-size: 13px; font-weight: 600; color: #B42318; cursor: pointer;
}
.fp-btn-danger:hover:not(:disabled) { background: #FFF8F7; }
.fp-btn-danger:disabled { opacity: 0.55; cursor: not-allowed; }
.div-name-cell {
  display: inline-flex; align-items: center; gap: 10px; flex-wrap: nowrap;
  font-weight: 600; color: #111827; min-width: 0; max-width: 100%;
}
.div-name-cell .dot { width: 8px; height: 8px; border-radius: 999px; background: #8A93A0; flex: none; }
.div-name-cell .div-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.locked-pill {
  flex: none; flex-shrink: 0; white-space: nowrap;
  font-size: 12px; font-weight: 600; line-height: 1.3;
  color: #4B5563; background: #EEF0F3; padding: 3px 10px; border-radius: 999px;
}
/* Kill legacy .account-container input margin (5px 0 10px) that drops the button below the field */
.add-division-row {
  display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
  margin: 0 0 14px !important; padding: 0;
}
.add-division-row input[type="text"] {
  flex: 0 1 360px; width: auto; max-width: 360px;
  height: 44px; min-height: 44px; margin: 0 !important; padding: 0 12px;
  border: 1px solid #D5D9E0; border-radius: 10px; box-sizing: border-box;
  font-family: inherit; font-size: 15px; line-height: 44px; vertical-align: middle;
}
.add-division-row #add-division-btn {
  height: 44px; min-height: 44px; margin: 0 !important;
  padding: 0 20px !important; box-sizing: border-box;
  align-self: center; line-height: 1; vertical-align: middle;
}
.divisions-footnote { margin-top: 12px; }
/* Manage / delete modals */
.fp-overlay {
  position: fixed; inset: 0; z-index: 1200; background: rgba(17,24,39,0.42);
  display: flex; justify-content: center; align-items: flex-start; padding: 80px 20px; box-sizing: border-box;
}
.fp-dialog {
  width: 100%; max-width: 520px; background: #FFFFFF; border-radius: 18px;
  box-shadow: 0 24px 64px rgba(17,24,39,0.3); display: flex; flex-direction: column;
  font-family: "Open Sans", "Segoe UI", system-ui, sans-serif;
}
.fp-dialog-sm { max-width: 480px; padding: 24px; gap: 14px; }
.fp-dialog-head {
  display: flex; align-items: flex-start; gap: 12px; padding: 22px 24px 14px;
}
.fp-dialog-head h2 { margin: 0; font-size: 20px; font-weight: 600; color: #111827; }
.fp-dialog-sub { font-size: 14px; color: var(--fp-muted); }
.fp-dialog-close {
  width: 40px; height: 40px; border: none; border-radius: 10px; background: transparent;
  color: #374151; cursor: pointer; display: flex; align-items: center; justify-content: center; flex: none;
}
.fp-dialog-body { padding: 4px 24px 20px; display: flex; flex-direction: column; gap: 18px; }
.fp-dialog-foot {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 16px 24px; border-top: 1px solid #EEF0F3;
}
.fp-dialog-foot .danger-link {
  margin-right: auto; min-height: 44px; padding: 0 10px; border: none; background: transparent;
  font-family: inherit; font-size: 14px; font-weight: 600; color: #B42318; cursor: pointer;
}
.fp-role-cards { display: flex; gap: 8px; }
.fp-role-card {
  flex: 1 1 0; display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px;
  border: 1px solid #E3E6EB; border-radius: 12px; font-size: 14px; color: #374151; cursor: pointer;
}
.fp-role-card.selected { border: 2px solid var(--fp-blue); background: #F5F8FF; }
.fp-role-card input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--fp-blue); flex: none; }
.fp-role-card strong { display: block; color: #111827; }
.fp-role-card.disabled { opacity: 0.55; cursor: not-allowed; }
.fp-dialog select {
  min-height: 44px; padding: 0 12px; border: 1px solid #D5D9E0; border-radius: 10px;
  background: #FFFFFF; font-family: inherit; font-size: 15px; color: #111827; width: 100%;
}
.fp-dialog .fp-primary-btn { background: var(--fp-blue) !important; color: #fff !important; min-height: 44px; padding: 0 18px; border: none; border-radius: 10px; font-size: 14px; }
.fp-dialog .fp-btn-secondary { min-height: 44px; padding: 0 16px; border-radius: 10px; }
.fp-dialog .fp-btn-danger-solid {
  min-height: 44px; padding: 0 18px; border: none; border-radius: 10px; background: #B42318;
  font-family: inherit; font-size: 14px; font-weight: 600; color: #FFFFFF; cursor: pointer;
}
.fp-dialog .fp-btn-danger-solid:disabled { opacity: 0.55; cursor: not-allowed; }
.fp-dialog p { margin: 0; font-size: 15px; line-height: 1.55; color: #374151; }
#permissions-error, #delete-division-error { margin: 0 0 8px; }
/* Subscription 20261025-wknd3 */
.plan-rates-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; margin: 12px 0 8px;
}
.plan-rate-tile {
  padding: 14px 16px; border-radius: 12px; background: #F6F7F9;
  display: flex; flex-direction: column; gap: 2px;
}
.plan-rate-tile .k { font-size: 13px; color: var(--fp-muted); }
.plan-rate-tile .v { font-size: 16px; font-weight: 600; color: #111827; white-space: nowrap; }
.plan-rates-footnote a.inline-link { color: var(--fp-blue); font-weight: 600; text-decoration: none; }
.plan-rates-footnote a.inline-link:hover { text-decoration: underline; }
.payment-summary-row {
  display: flex; flex-wrap: wrap; align-items: center; gap: 16px;
  padding: 16px 18px; border: 1px solid var(--fp-border); border-radius: 12px; margin-bottom: 14px;
}
.payment-summary-row.trial-empty { border-style: dashed; border-color: #C4CAD3; }
.card-badge {
  width: 48px; height: 32px; border-radius: 6px; background: #1F2937; color: #fff;
  font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex: none;
}
.trial-empty .card-badge {
  background: transparent; border: 1px dashed #B8BEC7; color: #8A93A0;
}
.payment-summary-copy { flex: 1 1 220px; display: flex; flex-direction: column; gap: 2px; }
.payment-summary-title { font-size: 15px; font-weight: 600; color: #111827; }
.payment-summary-sub { font-size: 13px; color: var(--fp-muted); }
.card-edit-panel {
  display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end;
  padding: 16px; border: 1px solid #BCD4F4; border-radius: 12px; background: #F7FAFE; margin-bottom: 14px;
}
.card-edit-panel[hidden] { display: none !important; }
.card-edit-panel .card-wrapper { flex: 1 1 300px; min-height: 44px; padding: 12px; border: 1px solid #D5D9E0; border-radius: 10px; background: #fff; }
.card-edit-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.invoice-email-group { max-width: 460px; margin-top: 8px; }
.invoice-email-group input:disabled { background: #F6F7F9; color: #6B7280; cursor: not-allowed; }
.invoices-empty {
  display: flex; align-items: center; gap: 14px; padding: 20px; border-radius: 12px; background: #F6F7F9;
  font-size: 15px; color: #374151; margin-bottom: 8px;
}
.invoices-empty[hidden] { display: none !important; }
.cancel-sub-card {
  border-color: #F3D3CF !important;
  display: flex; flex-wrap: wrap; align-items: center; gap: 16px;
}
.cancel-sub-copy { flex: 1 1 360px; display: flex; flex-direction: column; gap: 4px; }
.cancel-sub-copy h3 { margin: 0; font-size: 17px; }
.cancel-sub-btn {
  min-height: 44px !important; padding: 0 18px !important; font-size: 14px !important;
}
#plan-summary { margin-top: 12px; }
#plan-summary .plan-danger-btn, #cancel-subscription-btn.fp-btn-danger {
  border: 1px solid #E8B4AE; border-radius: 10px; background: #fff; color: #B42318; font-weight: 600;
}

/* wknd5: override legacy styles.css 4-col users-table widths (Person/Default Filing overlap) */
.users-table.fp-data-table {
  table-layout: fixed;
  width: 100%;
  min-width: 760px;
  border: none !important;
  font-size: 15px;
}
.users-table.fp-data-table th,
.users-table.fp-data-table td {
  border: none !important;
  padding: 12px 16px !important;
  vertical-align: middle;
  overflow: hidden;
}
.users-table.fp-data-table thead th { background: #EEF0F3 !important; }
.users-table.fp-data-table th:nth-child(1),
.users-table.fp-data-table td:nth-child(1) { width: 26%; } /* Person */
.users-table.fp-data-table th:nth-child(2),
.users-table.fp-data-table td:nth-child(2) { width: 14%; } /* Default filing */
.users-table.fp-data-table th:nth-child(3),
.users-table.fp-data-table td:nth-child(3) { width: 28%; } /* Can view */
.users-table.fp-data-table th:nth-child(4),
.users-table.fp-data-table td:nth-child(4) { width: 12%; } /* Status */
.users-table.fp-data-table th:nth-child(5),
.users-table.fp-data-table td:nth-child(5) { width: 20%; text-align: right; } /* Manage */
.users-table.fp-data-table .person-cell .email {
  display: block;
  font-weight: 600; color: #111827;
  overflow-wrap: anywhere; word-break: break-word;
}
.users-table.fp-data-table tbody tr.zrow:nth-child(even) td { background: #F6F7F9; }
.users-table.fp-data-table tbody tr.zrow:nth-child(odd) td { background: #FFFFFF; }
.users-table.fp-data-table tbody tr.zrow:hover td { background: #EAF1FE; }
.view-pill .dot {
  width: 6px; height: 6px; border-radius: 999px; flex: none; box-sizing: border-box;
  background: #8A93A0; border: none;
}

/* Invite form controls — design parity */
.invite-people-card textarea#invited-emails {
  width: 100%; min-height: 110px; padding: 10px 12px;
  border: 1px solid #D5D9E0; border-radius: 10px;
  font-family: inherit; font-size: 15px; resize: vertical; box-sizing: border-box;
}
.invite-people-card select#invite-division-select {
  width: 100%; min-height: 44px; padding: 0 12px;
  border: 1px solid #D5D9E0; border-radius: 10px;
  background: #FFFFFF; font-family: inherit; font-size: 15px; box-sizing: border-box;
}
.invite-people-card label,
.invite-people-card .field-label { font-size: 13px; font-weight: 600; color: #374151; }

/* Divisions table — 20261025-wknd14: full card width (override styles.css max-width:50%), room for Rename/Delete + unsquashed chip */
#divisions-tab .table-scroll {
  overflow-x: auto; /* allow scroll only if viewport is extremely narrow */
  overflow-y: visible;
}
/* Override legacy .divisions-table { max-width:50% } from styles.css — root cause of Actions clip */
.divisions-table,
.divisions-table.fp-data-table,
.divisions-table.app-table {
  max-width: none !important;
  width: 100% !important;
}
.divisions-table.fp-data-table {
  table-layout: fixed;
  min-width: 720px; /* ensure Actions (~220px) + Division chip fit */
  border: none !important;
  font-size: 15px;
  margin-top: 0;
  margin-bottom: 0;
}
.divisions-table.fp-data-table th,
.divisions-table.fp-data-table td {
  border: none !important;
  vertical-align: middle;
  overflow: visible; /* never clip hover actions or chips */
}
.divisions-table.fp-data-table thead th { background: #EEF0F3 !important; }
/* Column scheme: Division ~40% | Contracts ~12% | People ~12% | Actions ~36% (min 220px) */
.divisions-table.fp-data-table th:nth-child(1),
.divisions-table.fp-data-table td:nth-child(1) {
  width: 40%;
  min-width: 220px;
}
.divisions-table.fp-data-table th:nth-child(2),
.divisions-table.fp-data-table td:nth-child(2) { width: 12%; }
.divisions-table.fp-data-table th:nth-child(3),
.divisions-table.fp-data-table td:nth-child(3) { width: 12%; }
.divisions-table.fp-data-table th:nth-child(4),
.divisions-table.fp-data-table td:nth-child(4) {
  width: 36%;
  min-width: 220px;
  text-align: right;
  white-space: nowrap;
  padding: 8px 16px !important;
}
.divisions-table.fp-data-table tbody tr.zrow:nth-child(odd) td { background: #FFFFFF; }
.divisions-table.fp-data-table tbody tr.zrow:nth-child(even) td { background: #F6F7F9; }
.divisions-table.fp-data-table tbody tr.zrow:hover td { background: #EAF1FE; }
.divisions-table .rowact {
  display: inline-flex; gap: 8px; align-items: center; justify-content: flex-end;
  flex-wrap: nowrap; white-space: nowrap;
}
/* Beat legacy .divisions-table .delete-division-btn { background:none; border:none; padding:0 } */
.divisions-table .btn2,
.divisions-table .fp-btn-secondary,
.divisions-table button.btn2 {
  flex: none;
  min-height: 36px; height: 36px; padding: 0 12px !important; border-radius: 9px;
  border: 1px solid #D5D9E0 !important; background: #FFFFFF !important;
  font-size: 13px; font-weight: 600; color: #374151; box-sizing: border-box;
}
.divisions-table .fp-btn-danger,
.divisions-table button.fp-btn-danger,
.divisions-table .delete-division-btn,
.divisions-table button.delete-division-btn {
  flex: none;
  display: inline-flex !important; align-items: center; justify-content: center;
  min-height: 36px; height: 36px; padding: 0 12px !important; border-radius: 9px;
  border: 1px solid #E8B4AE !important; background: #FFFFFF !important;
  font-family: inherit; font-size: 13px; font-weight: 600; color: #B42318 !important;
  cursor: pointer; box-sizing: border-box; margin: 0;
}
.divisions-table .fp-btn-danger:hover:not(:disabled),
.divisions-table .delete-division-btn:hover:not(:disabled) { background: #FFF8F7 !important; }

/* Oct 30 2026 (D5): hide Rename until a rename API exists */
.rename-division-btn[disabled]{display:none}
