.tgpcb-f4a {
  --f4a-navy: var(--tgpcb-ui-navy, #082f52);
  --f4a-blue: var(--tgpcb-ui-blue, #0b5ea8);
  --f4a-sky: var(--tgpcb-ui-sky, #eaf5ff);
  --f4a-green: var(--tgpcb-ui-success, #187346);
  --f4a-amber: var(--tgpcb-ui-warning, #8b5200);
  --f4a-red: var(--tgpcb-ui-danger, #b42318);
  --f4a-line: var(--tgpcb-ui-line, #d9e3ef);
  --f4a-muted: var(--tgpcb-ui-muted, #617287);
  --f4a-bg: var(--tgpcb-ui-canvas, #f3f7fb);
  --f4a-radius: var(--tgpcb-ui-radius, 14px);
  --f4a-shadow: var(--tgpcb-ui-shadow, 0 10px 30px rgba(18, 53, 89, .07));
  color: var(--tgpcb-ui-ink, #17283d);
  width: auto;
  max-width: 1560px;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.tgpcb-f4a *,
.tgpcb-f4a *::before,
.tgpcb-f4a *::after { box-sizing: border-box; }
.tgpcb-f4a--front {
  width: min(1480px, calc(100% - 32px));
  max-width: none;
  margin: 0 auto;
  padding: 18px 0 48px;
}
.tgpcb-f4a-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 24px; margin: 10px 0 0; border-radius: 16px 16px 0 0; color: #fff; background: linear-gradient(125deg, var(--f4a-navy), var(--f4a-blue)); }
.tgpcb-f4a-header h1 { color: #fff; font-size: clamp(22px, 2.3vw, 32px); line-height: 1.12; margin: 4px 0; }
.tgpcb-f4a-header p { margin: 0; color: #dbeeff; }
.tgpcb-f4a-kicker { font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.tgpcb-f4a-header__year { flex: 0 0 auto; min-width: 126px; padding: 10px 14px; border: 1px solid rgba(255,255,255,.28); border-radius: 11px; background: rgba(255,255,255,.1); }
.tgpcb-f4a-header__year span, .tgpcb-f4a-header__year strong { display: block; color: #fff; }
.tgpcb-f4a-header__year span { font-size: 10px; letter-spacing: .08em; text-transform: uppercase; opacity: .8; }
.tgpcb-f4a-header__year strong { margin-top: 2px; font-size: 18px; }
.tgpcb-f4a-nav { position: sticky; top: var(--tgpcb-shell-sticky-offset, var(--wp-admin--admin-bar--height, 0px)); z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: 10px; overflow: hidden; padding: 8px 10px; margin-bottom: 16px; border: 1px solid var(--f4a-line); border-top: 0; border-radius: 0 0 16px 16px; background: rgba(255,255,255,.97); box-shadow: 0 7px 20px rgba(15,45,75,.06); backdrop-filter: blur(10px); }
.tgpcb-f4a-nav__links { display: flex; flex: 1 1 auto; align-items: center; gap: 3px; min-width: 0; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.tgpcb-f4a-nav__links::-webkit-scrollbar { height: 4px; }
.tgpcb-f4a-nav__links::-webkit-scrollbar-thumb { border-radius: 999px; background: #b9c7d5; }
.tgpcb-f4a-nav__links a { flex: 0 0 auto; }
.tgpcb-f4a-nav a, .tgpcb-f4a-tabs a { display: inline-flex; align-items: center; white-space: nowrap; padding: 9px 12px; border-radius: 9px; color: #334155; text-decoration: none; font-weight: 650; }
.tgpcb-f4a-nav a:hover, .tgpcb-f4a-nav a.is-active, .tgpcb-f4a-tabs a.is-active { color: #fff; background: var(--f4a-blue); }
.tgpcb-f4a-nav .tgpcb-f4a-nav__admin { flex: 0 0 auto; margin-left: 10px; padding-left: 12px; border-left: 1px solid var(--f4a-line); color: #6b7280; font-size: 12px; }

.tgpcb-f4a-filters { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; padding: 14px 16px; margin: 14px 0; border: 1px solid var(--f4a-line); border-radius: 13px; background: #fff; }
.tgpcb-f4a-filters label, .tgpcb-f4a-approval__form label { display: grid; gap: 5px; min-width: 160px; }
.tgpcb-f4a-filters label span, .tgpcb-f4a-approval__form label span { color: #465568; font-size: 12px; font-weight: 700; }
.tgpcb-f4a-filters input, .tgpcb-f4a-filters select, .tgpcb-f4a-approval__form input, .tgpcb-f4a-approval__form select, .tgpcb-f4a-approval__form textarea { min-height: 38px; max-width: 260px; border-color: #bac7d5; border-radius: 7px; }
.tgpcb-f4a-filters--wide label { min-width: 145px; }
.tgpcb-f4a-filters--wide input, .tgpcb-f4a-filters--wide select { max-width: 210px; }

.tgpcb-f4a-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; margin: 14px 0; }
.tgpcb-f4a-card { position: relative; display: grid; align-content: space-between; gap: 6px; min-width: 0; min-height: 118px; padding: 16px 16px 16px 20px; border: 1px solid var(--f4a-line); border-radius: 12px; color: #243244; text-decoration: none; background: #fff; box-shadow: 0 4px 14px rgba(26, 50, 75, .045); }
.tgpcb-f4a-card::before { position: absolute; inset: 0 auto 0 0; width: 4px; border-radius: 12px 0 0 12px; content: ""; background: #8fa4b8; }
a.tgpcb-f4a-card:hover { transform: translateY(-2px); border-color: #83b8e2; box-shadow: 0 9px 24px rgba(21, 94, 154, .12); }
.tgpcb-f4a-card span { color: var(--f4a-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .035em; }
.tgpcb-f4a-card strong { display: block; margin-top: 10px; color: var(--f4a-navy); font-size: clamp(25px, 2.2vw, 34px); line-height: 1; }
.tgpcb-f4a-card small { margin-top: 7px; color: var(--f4a-muted); line-height: 1.35; overflow-wrap: break-word; }
.tgpcb-f4a-card--submitted::before { background: var(--f4a-green); }
.tgpcb-f4a-card--draft::before { background: #d59118; }
.tgpcb-f4a-card--pending::before { background: #3e7fb8; }
.tgpcb-f4a-card--not-registered::before { background: var(--f4a-red); }
.tgpcb-f4a-card--followup::before { background: #7b4ca0; }

.tgpcb-f4a-panel { padding: 20px; margin: 18px 0; border: 1px solid var(--f4a-line); border-radius: 14px; background: #fff; }
.tgpcb-f4a-panel h2 { margin: 0 0 12px; color: var(--f4a-navy); font-size: 20px; }
.tgpcb-f4a-panel__head { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.tgpcb-f4a-panel__head h2 { margin-bottom: 2px; }
.tgpcb-f4a-panel__head p { margin: 0; color: var(--f4a-muted); }
.tgpcb-f4a-table-wrap { overflow-x: auto; border: 1px solid var(--f4a-line); border-radius: 10px; }
.tgpcb-f4a-table { width: 100%; min-width: 900px; border: 0 !important; border-collapse: collapse; }
.tgpcb-f4a-table th { color: #29384a; font-size: 12px; }
.tgpcb-f4a-table td, .tgpcb-f4a-table th { padding: 11px 10px; vertical-align: top; }
.tgpcb-f4a-table td small, .tgpcb-f4a-table th small { display: block; max-width: 260px; margin-top: 4px; color: var(--f4a-muted); font-weight: 400; }
.tgpcb-f4a-table a { font-weight: 650; }
.tgpcb-f4a-table--register { min-width: 1080px; }
.tgpcb-f4a-status { display: inline-flex; padding: 4px 8px; border-radius: 999px; color: #17476e; font-size: 11px; font-weight: 750; background: #e8f4fd; }
.tgpcb-f4a-status--submitted { color: #0e5737; background: #def5e9; }
.tgpcb-f4a-status--not-registered { color: #8b1b13; background: #fee9e7; }
.tgpcb-f4a-status--draft-initiated { color: #7c4900; background: #fff1d7; }

.tgpcb-f4a-result-head { display: flex; justify-content: space-between; gap: 14px; margin: 14px 0 8px; }
.tgpcb-f4a-result-head span { color: var(--f4a-muted); }
.tgpcb-f4a-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px; margin: 18px 0; }
.tgpcb-f4a-pagination a,
.tgpcb-f4a-pagination span { min-width: 36px; padding: 8px; border: 1px solid var(--f4a-line); border-radius: 7px; text-align: center; text-decoration: none; background: #fff; }
.tgpcb-f4a-pagination a.is-current { color: #fff; border-color: var(--f4a-blue); background: var(--f4a-blue); }
.tgpcb-f4a-pagination__edge { min-width: 76px !important; font-weight: 800; }
.tgpcb-f4a-pagination .is-disabled { color: #9aa8b6; background: #f4f6f8; cursor: not-allowed; }
.tgpcb-f4a-notice { padding: 13px 15px; margin: 14px 0; border-left: 4px solid var(--f4a-blue); border-radius: 8px; background: #edf7ff; }
.tgpcb-f4a-notice--error { border-color: var(--f4a-red); background: #fff0ef; }
.tgpcb-f4a-notice--success { border-color: var(--f4a-green); background: #eaf8f1; }
.tgpcb-f4a-notice--warning { border-color: #d59118; background: #fff6dc; }

.tgpcb-f4a-tabs { display: flex; gap: 6px; overflow-x: auto; margin: 16px 0; }
.tgpcb-f4a-approval-list { display: grid; gap: 14px; }
.tgpcb-f4a-approval { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr); gap: 20px; padding: 20px; border: 1px solid var(--f4a-line); border-radius: 14px; background: #fff; }
.tgpcb-f4a-approval h3 { margin: 8px 0 4px; }
.tgpcb-f4a-approval p { color: var(--f4a-muted); }
.tgpcb-f4a-approval dl { display: flex; flex-wrap: wrap; gap: 12px 22px; }
.tgpcb-f4a-approval dt, .tgpcb-f4a-dl dt { color: var(--f4a-muted); font-size: 11px; text-transform: uppercase; }
.tgpcb-f4a-approval dd, .tgpcb-f4a-dl dd { margin: 3px 0 0; font-weight: 650; }
.tgpcb-f4a-approval pre { overflow: auto; max-height: 280px; padding: 12px; background: #f4f7fa; }
.tgpcb-f4a-approval__form { display: grid; align-content: start; gap: 10px; padding: 14px; border-radius: 10px; background: var(--f4a-bg); }
.tgpcb-f4a-approval__form input, .tgpcb-f4a-approval__form select, .tgpcb-f4a-approval__form textarea { width: 100%; max-width: none; }
.tgpcb-f4a-empty { padding: 30px; border: 1px dashed #b8c4d0; border-radius: 12px; text-align: center; color: var(--f4a-muted); }

.tgpcb-f4a-export-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px; }
.tgpcb-f4a-export-card { padding: 18px; border: 1px solid var(--f4a-line); border-radius: 13px; background: #fff; }
.tgpcb-f4a-export-card h2 { margin: 0 0 7px; color: var(--f4a-navy); font-size: 17px; }
.tgpcb-f4a-export-card p { min-height: 44px; color: var(--f4a-muted); }
.tgpcb-f4a-export-card form { display: flex; gap: 8px; }
.tgpcb-f4a-export-section { margin: 20px 0 10px; }
.tgpcb-f4a-export-section h2 { margin: 0 0 3px; color: var(--f4a-navy); font-size: 20px; }
.tgpcb-f4a-export-section p { margin: 0; color: var(--f4a-muted); }
.tgpcb-f4a-export-card--featured { border-color: #8cb9dd; background: linear-gradient(145deg, #fff, #f1f8ff); box-shadow: 0 8px 24px rgba(11,94,168,.08); }
.tgpcb-f4a-export-card--followup { border-color: #c3add3; background: linear-gradient(145deg, #fff, #f7f1fa); box-shadow: 0 8px 24px rgba(97,58,120,.08); }
.tgpcb-f4a-export-card__tag { display: inline-flex; margin-bottom: 9px; padding: 4px 8px; border-radius: 999px; color: var(--f4a-blue); font-size: 10px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; background: var(--f4a-sky); }
.tgpcb-f4a-export-card--followup .tgpcb-f4a-export-card__tag { color: #613a78; background: #f1e9f6; }

.tgpcb-f4a-import-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 16px 0; }
.tgpcb-f4a-import-steps > div { position: relative; min-height: 80px; padding: 14px 14px 14px 54px; border: 1px solid var(--f4a-line); border-radius: 12px; background: #fff; }
.tgpcb-f4a-import-steps span { position: absolute; top: 14px; left: 14px; display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: #fff; font-weight: 800; background: #90a4b7; }
.tgpcb-f4a-import-steps strong, .tgpcb-f4a-import-steps small { display: block; }
.tgpcb-f4a-import-steps strong { color: var(--f4a-navy); }
.tgpcb-f4a-import-steps small { margin-top: 3px; color: var(--f4a-muted); }
.tgpcb-f4a-import-steps .is-active { border-color: #83b8e2; box-shadow: 0 6px 18px rgba(11,94,168,.08); }
.tgpcb-f4a-import-steps .is-active span { background: var(--f4a-blue); }
.tgpcb-f4a-import-steps .is-complete span { background: var(--f4a-green); }
.tgpcb-f4a-template-actions { display: flex; align-items: start; flex-wrap: wrap; gap: 7px; }
.tgpcb-f4a-import-upload { display: grid; grid-template-columns: minmax(220px,.7fr) minmax(320px,1.3fr) auto; align-items: end; gap: 14px; padding: 16px; border-radius: 12px; background: var(--f4a-bg); }
.tgpcb-f4a-import-upload label { display: grid; gap: 6px; min-width: 0; }
.tgpcb-f4a-import-upload label > span { color: #465568; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.tgpcb-f4a-import-upload select { width: 100%; min-height: 42px; max-width: none; }
.tgpcb-f4a-import-upload small { color: var(--f4a-muted); line-height: 1.35; }
.tgpcb-f4a-file-drop { position: relative; min-height: 92px; padding: 13px 15px; border: 1px dashed #8fa8bf; border-radius: 10px; cursor: pointer; background: #fff; }
.tgpcb-f4a-file-drop:hover, .tgpcb-f4a-file-drop.is-dragging { border-color: var(--f4a-blue); background: #f6fbff; }
.tgpcb-f4a-file-drop strong { overflow: hidden; color: var(--f4a-blue); text-overflow: ellipsis; white-space: nowrap; }
.tgpcb-f4a-file-drop input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.tgpcb-f4a-import-counts { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; margin: 14px 0; }
.tgpcb-f4a-import-counts > div { position: relative; padding: 14px 14px 14px 18px; overflow: hidden; border: 1px solid var(--f4a-line); border-radius: 11px; background: #fff; }
.tgpcb-f4a-import-counts > div::before { position: absolute; inset: 0 auto 0 0; width: 4px; content: ""; background: #8fa4b8; }
.tgpcb-f4a-import-counts .is-new::before { background: var(--f4a-green); }
.tgpcb-f4a-import-counts .is-update::before { background: #d59118; }
.tgpcb-f4a-import-counts .is-rejected::before { background: var(--f4a-red); }
.tgpcb-f4a-import-counts span, .tgpcb-f4a-import-counts strong, .tgpcb-f4a-import-counts small { display: block; }
.tgpcb-f4a-import-counts span { color: var(--f4a-muted); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.tgpcb-f4a-import-counts strong { margin: 4px 0; color: var(--f4a-navy); font-size: 28px; }
.tgpcb-f4a-import-counts small { color: var(--f4a-muted); }
.tgpcb-f4a-table--import { min-width: 760px; }
.tgpcb-f4a-import-status { display: inline-flex; padding: 4px 8px; border-radius: 999px; color: #465568; font-size: 10px; font-weight: 850; text-transform: uppercase; background: #edf2f7; }
.tgpcb-f4a-import-status.is-success { color: #0e5737; background: #def5e9; }
.tgpcb-f4a-import-status.is-warning { color: #7c4900; background: #fff1d7; }
.tgpcb-f4a-import-status.is-danger { color: #8b1b13; background: #fee9e7; }
.tgpcb-f4a-import-confirm { display: grid; grid-template-columns: minmax(0,1fr) minmax(380px,1fr); gap: 20px; align-items: center; padding: 16px; margin-top: 16px; border: 1px solid #b8cee1; border-radius: 11px; background: #f4f9fd; }
.tgpcb-f4a-import-confirm h3 { margin: 0 0 5px; color: var(--f4a-navy); }
.tgpcb-f4a-import-confirm p { margin: 0; color: var(--f4a-muted); }
.tgpcb-f4a-import-confirm__actions { display: flex; align-items: end; justify-content: flex-end; gap: 8px; }
.tgpcb-f4a-import-confirm__actions form { margin: 0; }
.tgpcb-f4a-import-confirm__actions form[data-import-confirm] { display: grid; gap: 7px; }
.tgpcb-f4a-import-confirm__actions label { color: #465568; font-size: 11px; }
.tgpcb-f4a-table--import-history { min-width: 850px; }
.tgpcb-f4a-filters--report label { min-width: 150px; }
.tgpcb-f4a-verification-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 14px 0; }
.tgpcb-f4a-verification-summary > div { position: relative; min-width: 0; padding: 14px 14px 14px 18px; overflow: hidden; border: 1px solid var(--f4a-line); border-radius: 11px; background: #fff; }
.tgpcb-f4a-verification-summary > div::before { position: absolute; inset: 0 auto 0 0; width: 4px; content: ""; background: var(--f4a-blue); }
.tgpcb-f4a-verification-summary .is-warning::before { background: #d59118; }
.tgpcb-f4a-verification-summary .is-success::before { background: var(--f4a-green); }
.tgpcb-f4a-verification-summary .is-danger::before { background: var(--f4a-red); }
.tgpcb-f4a-verification-summary span,.tgpcb-f4a-verification-summary strong,.tgpcb-f4a-verification-summary small { display: block; }
.tgpcb-f4a-verification-summary span { color: var(--f4a-muted); font-size: 10px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.tgpcb-f4a-verification-summary strong { margin: 4px 0; color: var(--f4a-navy); font-size: 27px; }
.tgpcb-f4a-verification-summary small { color: var(--f4a-muted); }
.tgpcb-f4a-verification-scope-tabs { margin-top: 10px; padding: 6px; border: 1px solid var(--f4a-line); border-radius: 12px; background: #fff; }
.tgpcb-f4a-report-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 14px 0; }
.tgpcb-f4a-report-tabs { flex: 1 1 auto; min-width: 0; margin: 0; }
.tgpcb-f4a-report-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.tgpcb-f4a-report-actions form { display: flex; gap: 6px; margin: 0; }
.tgpcb-f4a-panel--report { padding: 0; overflow: hidden; }
.tgpcb-f4a-panel--report .tgpcb-f4a-panel__head { padding: 18px 20px 0; }
.tgpcb-f4a-report-table-wrap { max-height: 68vh; border: 0; border-top: 1px solid var(--f4a-line); border-radius: 0; }
.tgpcb-f4a-table--report { font-variant-numeric: tabular-nums; }
.tgpcb-f4a-table--report thead th { position: sticky; z-index: 3; min-width: 112px; color: #fff; text-align: center; vertical-align: middle; white-space: normal; background: var(--f4a-blue); }
.tgpcb-f4a-table--report .tgpcb-f4a-report-group-row th { top: 0; height: 72px; line-height: 1.25; background: var(--f4a-navy); border-right: 1px solid rgba(255,255,255,.24); }
.tgpcb-f4a-table--report .tgpcb-f4a-report-group-header[colspan="1"] { min-width: 180px; }
.tgpcb-f4a-table--report .tgpcb-f4a-report-subheader-row th { top: 72px; z-index: 4; min-width: 126px; background: var(--f4a-blue); border-right: 1px solid rgba(255,255,255,.18); }
.tgpcb-f4a-table--report .tgpcb-f4a-report-row-header { left: 0; z-index: 7; min-width: 170px; box-shadow: 1px 0 0 rgba(255,255,255,.3); }
.tgpcb-f4a-table--report tbody td { white-space: nowrap; text-align: right; }
.tgpcb-f4a-table--report tbody td:first-child { position: sticky; left: 0; z-index: 2; min-width: 170px; color: var(--f4a-navy); text-align: left; font-weight: 750; background: #fff; box-shadow: 1px 0 0 var(--f4a-line); }
.tgpcb-f4a-table--report tbody tr:nth-child(even) td:first-child { background: #f6f7f7; }
.tgpcb-f4a-profile-head { display: flex; align-items: start; justify-content: space-between; gap: 20px; padding: 22px; border-radius: 14px; color: #fff; background: var(--f4a-navy); }
.tgpcb-f4a-profile-head h2 { color: #fff; margin: 5px 0; }
.tgpcb-f4a-profile-head p { color: #dce8f3; }
.tgpcb-f4a-profile-head small { display: block; margin-top: 7px; text-align: right; }
.tgpcb-f4a-profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.tgpcb-f4a-profile-grid .tgpcb-f4a-panel { margin: 0; }
.tgpcb-f4a-dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.tgpcb-f4a-dl div { min-width: 0; }
.tgpcb-copy { cursor: copy; }

.tgpcb-f4a-overview {
  padding: 17px 18px 15px;
  border: 1px solid var(--f4a-line);
  border-radius: 14px;
  background: linear-gradient(180deg, #fff, #fbfdff);
  box-shadow: 0 8px 28px rgba(18, 53, 89, .055);
}
.tgpcb-f4a-overview__heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.tgpcb-f4a-overview__heading h2 { margin: 2px 0 0; color: var(--f4a-navy); font-size: 21px; }
.tgpcb-f4a-eyebrow { color: var(--f4a-blue); font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.tgpcb-f4a-overview__percent { display: flex; align-items: baseline; gap: 7px; color: var(--f4a-green); text-decoration: none; }
.tgpcb-f4a-overview__percent strong { font-size: 30px; line-height: 1; }
.tgpcb-f4a-overview__percent span { color: var(--f4a-muted); font-size: 12px; font-weight: 700; }

.tgpcb-f4a-progress { margin-top: 10px; }
.tgpcb-f4a-progress__bar { display: flex; width: 100%; height: 10px; overflow: hidden; border-radius: 999px; background: #e8edf2; }
.tgpcb-f4a-progress__bar span { display: block; height: 100%; }
.tgpcb-f4a-progress .is-submitted { background: var(--f4a-green); }
.tgpcb-f4a-progress .is-draft { background: #d59118; }
.tgpcb-f4a-progress .is-pending { background: #3e7fb8; }
.tgpcb-f4a-progress .is-not-registered { background: var(--f4a-red); }
.tgpcb-f4a-progress__legend { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; margin-top: 9px; color: var(--f4a-muted); font-size: 11px; }
.tgpcb-f4a-progress__legend span { display: inline-flex; align-items: center; gap: 5px; }
.tgpcb-f4a-progress__legend i { width: 8px; height: 8px; border-radius: 50%; }
.tgpcb-f4a-progress__registration { margin-left: auto; color: var(--f4a-blue); font-weight: 750; text-decoration: none; }

.tgpcb-f4a-filters--dashboard { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)) auto; }
.tgpcb-f4a-filters--dashboard label { min-width: 0; }
.tgpcb-f4a-filters--dashboard input,
.tgpcb-f4a-filters--dashboard select { width: 100%; max-width: none; }
.tgpcb-f4a-filter-actions { display: flex; align-items: center; gap: 7px; }

.tgpcb-f4a-panel--progress { padding: 0; overflow: hidden; }
.tgpcb-f4a-panel--progress .tgpcb-f4a-panel__head { padding: 18px 20px 0; }
.tgpcb-f4a-panel--progress .tgpcb-f4a-table-wrap { border: 0; border-top: 1px solid var(--f4a-line); border-radius: 0; }
.tgpcb-f4a-table--progress { min-width: 1040px; }
.tgpcb-f4a-table--progress thead th { padding-top: 10px; padding-bottom: 10px; background: #f4f7fa; text-transform: uppercase; letter-spacing: .035em; }
.tgpcb-f4a-table--progress tbody tr:hover { background: #f8fbfe; }
.tgpcb-f4a-group-link { color: var(--f4a-navy); text-decoration: none; }
.tgpcb-f4a-metric-link { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; min-height: 30px; padding: 4px 8px; border-radius: 8px; color: var(--f4a-navy); text-decoration: none; background: #eef3f8; }
.tgpcb-f4a-metric-link.is-success { color: #0e5737; background: #def5e9; }
.tgpcb-f4a-metric-link.is-draft { color: #7c4900; background: #fff1d7; }
.tgpcb-f4a-metric-link.is-pending { color: #17476e; background: #e8f4fd; }
.tgpcb-f4a-metric-link.is-danger { color: #8b1b13; background: #fee9e7; }
.tgpcb-f4a-metric-link.is-followup { color: #613a78; background: #f1e9f6; }
.tgpcb-f4a-row-progress { display: grid; grid-template-columns: minmax(65px, 1fr) 45px; align-items: center; gap: 7px; color: var(--f4a-green); text-decoration: none; }
.tgpcb-f4a-row-progress > span { height: 7px; overflow: hidden; border-radius: 99px; background: #e7edf2; }
.tgpcb-f4a-row-progress i { display: block; height: 100%; border-radius: inherit; background: var(--f4a-green); }
.tgpcb-f4a-row-progress strong { font-size: 12px; }

.tgpcb-f4a-register-filters { padding: 13px 15px; margin: 14px 0; border: 1px solid var(--f4a-line); border-radius: 13px; background: #fff; }
.tgpcb-f4a-register-filters label { display: grid; gap: 5px; min-width: 0; }
.tgpcb-f4a-register-filters label span { color: #465568; font-size: 11px; font-weight: 750; }
.tgpcb-f4a-register-filters input,
.tgpcb-f4a-register-filters select { width: 100%; min-height: 38px; border-color: #bac7d5; border-radius: 7px; }
.tgpcb-f4a-register-filters__primary { display: grid; grid-template-columns: 135px 175px 175px 170px minmax(240px, 1fr) auto; align-items: end; gap: 10px; }
.tgpcb-f4a-register-filters__search { min-width: 220px; }
.tgpcb-f4a-advanced-filters { margin-top: 10px; border-top: 1px solid #e7ecf2; }
.tgpcb-f4a-advanced-filters summary { width: max-content; padding: 9px 2px 0; color: var(--f4a-blue); font-size: 12px; font-weight: 800; cursor: pointer; }
.tgpcb-f4a-advanced-filters > div { display: grid; grid-template-columns: repeat(6, minmax(130px, 1fr)) auto; align-items: end; gap: 10px; padding-top: 10px; }
.tgpcb-f4a-export-actions { display: flex; gap: 6px; }
.tgpcb-f4a-row-number { float: left; display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 24px; margin: 0 7px 5px 0; border-radius: 50%; color: #496176; font-size: 10px; background: #edf2f7; }
.tgpcb-f4a-address { display: -webkit-box !important; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.tgpcb-f4a-table-wrap--register { background: #fff; }
.tgpcb-f4a-table--register td:first-child { min-width: 240px; }
.tgpcb-f4a-table--register td:nth-child(2) { min-width: 155px; }
.tgpcb-f4a-table--register td:nth-child(6) { min-width: 180px; }
.tgpcb-f4a-report-drilldown,.tgpcb-f4a-industry-profile-link,.tgpcb-f4a-report-industry-link { color: var(--f4a-blue); font-weight: 800; text-decoration: none; }
.tgpcb-f4a-report-drilldown { display: inline-flex; align-items: center; gap: 5px; }
.tgpcb-f4a-report-drilldown::after { content: "›"; font-size: 16px; line-height: 1; }
.tgpcb-f4a-report-industry-link { display: grid; min-width: 220px; gap: 2px; }
.tgpcb-f4a-report-industry-link small { color: var(--f4a-muted); font-size: 10px; font-weight: 650; }
.tgpcb-f4a-report-drilldown:hover,.tgpcb-f4a-report-drilldown:focus,.tgpcb-f4a-industry-profile-link:hover,.tgpcb-f4a-industry-profile-link:focus,.tgpcb-f4a-report-industry-link:hover,.tgpcb-f4a-report-industry-link:focus { color: var(--f4a-navy); text-decoration: underline; }
.tgpcb-f4a-district-analysis-context { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.tgpcb-f4a-district-analysis-context a { margin-left: auto; color: inherit; font-weight: 850; }
.tgpcb-f4a-table--report tfoot { position: sticky; bottom: 0; z-index: 3; }
.tgpcb-f4a-report-total-row td { border-top: 2px solid var(--f4a-blue) !important; color: var(--f4a-navy); font-weight: 850; background: #eaf3fb !important; }
.tgpcb-f4a-drilldown-context { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.tgpcb-f4a-drilldown-context a { margin-left: auto; color: inherit; font-weight: 850; }
.tgpcb-f4a-profile-back-actions { display: flex; gap: 8px; flex-wrap: wrap; }

@media (max-width: 1240px) {
  .tgpcb-f4a-register-filters__primary { grid-template-columns: repeat(4, minmax(150px, 1fr)); }
  .tgpcb-f4a-register-filters__search { grid-column: span 3; }
  .tgpcb-f4a-advanced-filters > div { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
}

@media (max-width: 980px) {
  .tgpcb-f4a--front { width: calc(100% - 20px); }
  .tgpcb-f4a-header { padding: 16px 18px; }
  .tgpcb-f4a-header p { display: none; }
  .tgpcb-f4a-nav { align-items: stretch; }
  .tgpcb-f4a-nav a { justify-content: center; padding: 8px 6px; font-size: 12px; }
  .tgpcb-f4a-nav .tgpcb-f4a-nav__admin { margin-left: 5px; padding-left: 8px; }
  .tgpcb-f4a-filters--dashboard { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tgpcb-f4a-filter-actions { align-self: end; }
  .tgpcb-f4a-approval, .tgpcb-f4a-profile-grid { grid-template-columns: 1fr; }

  .tgpcb-f4a-table--progress { min-width: 0; }
  .tgpcb-f4a-table--progress thead { display: none; }
  .tgpcb-f4a-table--progress tbody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 10px; }
  .tgpcb-f4a-table--progress tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 12px; padding: 13px; border: 1px solid var(--f4a-line); border-radius: 11px; background: #fff; }
  .tgpcb-f4a-table--progress th,
  .tgpcb-f4a-table--progress td { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 3px 0; border: 0; }
  .tgpcb-f4a-table--progress th:first-child { grid-column: 1 / -1; padding-bottom: 8px; border-bottom: 1px solid #edf1f5; font-size: 14px; }
  .tgpcb-f4a-table--progress td::before { content: attr(data-label); color: var(--f4a-muted); font-size: 10px; font-weight: 750; text-transform: uppercase; }
  .tgpcb-f4a-row-progress { min-width: 105px; }

  .tgpcb-f4a-register-filters__primary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tgpcb-f4a-register-filters__search { grid-column: 1 / -1; }
  .tgpcb-f4a-advanced-filters > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tgpcb-f4a-result-head { align-items: center; }
  .tgpcb-f4a-report-toolbar { align-items: stretch; flex-direction: column; }
  .tgpcb-f4a-report-actions { justify-content: flex-start; }
  .tgpcb-f4a-import-upload { grid-template-columns: 1fr 1fr; }
  .tgpcb-f4a-import-upload .button-hero { grid-column: 1 / -1; }
  .tgpcb-f4a-import-confirm { grid-template-columns: 1fr; }
  .tgpcb-f4a-import-confirm__actions { justify-content: flex-start; }
  .tgpcb-f4a-verification-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }

  .tgpcb-f4a-table-wrap--register { overflow: visible; border: 0; background: transparent; }
  .tgpcb-f4a-table--register { min-width: 0; background: transparent; }
  .tgpcb-f4a-table--register thead { display: none; }
  .tgpcb-f4a-table--register tbody { display: grid; gap: 10px; }
  .tgpcb-f4a-table--register tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; padding: 14px; border: 1px solid var(--f4a-line); border-radius: 12px; background: #fff; box-shadow: 0 4px 13px rgba(18,53,89,.045); }
  .tgpcb-f4a-table--register td { min-width: 0 !important; padding: 4px 0; border: 0; }
  .tgpcb-f4a-table--register td::before { display: block; margin-bottom: 3px; content: attr(data-label); color: var(--f4a-muted); font-size: 9px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
  .tgpcb-f4a-table--register td:first-child { grid-column: 1 / -1; padding-bottom: 8px; border-bottom: 1px solid #edf1f5; }
}

@media (max-width: 620px) {
  .tgpcb-f4a--front { width: 100%; padding-top: 0; }
  .tgpcb-f4a-header { align-items: flex-start; padding: 15px; border-radius: 0; }
  .tgpcb-f4a-header h1 { font-size: 20px; }
  .tgpcb-f4a-header__year { min-width: 98px; padding: 8px 10px; }
  .tgpcb-f4a-header__year strong { font-size: 15px; }
  .tgpcb-f4a-nav { border-right: 0; border-left: 0; border-radius: 0; }
  .tgpcb-f4a-nav .tgpcb-f4a-nav__admin { display: none; }
  .tgpcb-f4a-overview { border-right: 0; border-left: 0; border-radius: 0; }
  .tgpcb-f4a-overview__heading { align-items: flex-start; }
  .tgpcb-f4a-overview__percent { display: grid; gap: 0; text-align: right; }
  .tgpcb-f4a-overview__percent strong { font-size: 25px; }
  .tgpcb-f4a-cards { grid-template-columns: 1fr; gap: 8px; }
  .tgpcb-f4a-card { min-height: 102px; padding: 14px 14px 14px 19px; }
  .tgpcb-f4a-progress__registration { width: 100%; margin-left: 0; }
  .tgpcb-f4a-filters--dashboard,
  .tgpcb-f4a-register-filters__primary,
  .tgpcb-f4a-advanced-filters > div { grid-template-columns: 1fr; }
  .tgpcb-f4a-register-filters__search { grid-column: auto; }
  .tgpcb-f4a-panel { padding: 14px; border-radius: 0; }
  .tgpcb-f4a-panel--progress { padding: 0; }
  .tgpcb-f4a-table--progress tbody { grid-template-columns: 1fr; }
  .tgpcb-f4a-result-head { align-items: flex-start; flex-direction: column; }
  .tgpcb-f4a-report-actions, .tgpcb-f4a-report-actions form { width: 100%; flex-direction: column; }
  .tgpcb-f4a-import-steps, .tgpcb-f4a-import-upload, .tgpcb-f4a-import-counts { grid-template-columns: 1fr; }
  .tgpcb-f4a-import-upload .button-hero { grid-column: auto; }
  .tgpcb-f4a-import-confirm__actions { align-items: stretch; flex-direction: column; }
  .tgpcb-f4a-import-confirm__actions form[data-import-confirm] { width: 100%; }
  .tgpcb-f4a-verification-summary { grid-template-columns: 1fr; }
  .tgpcb-f4a-table--register tr { grid-template-columns: 1fr; }
  .tgpcb-f4a-table--register td:first-child { grid-column: auto; }
}

@media print {
  .tgpcb-f4a-nav, .tgpcb-f4a-filters, .tgpcb-f4a-pagination, .button { display: none !important; }
  .tgpcb-f4a-panel, .tgpcb-f4a-card { box-shadow: none; break-inside: avoid; }
}
