:root {
  --navy: #0b294a; --blue: #1f75db; --orange: #ff6a20; --green: #16ae6f;
  --ink: #102e50; --muted: #617892; --line: #dfe9f2; --canvas: #eef6fc;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink); background: var(--canvas);
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: radial-gradient(circle at 80% 0, #fff 0, #eef7fd 35%, #eaf4fb 100%); }
button, input, textarea { font: inherit; }
.topbar { min-height: 78px; padding: 0 clamp(1rem, 4vw, 4rem); display: flex; align-items: stretch; gap: clamp(1rem, 3vw, 3.5rem); color: #fff; background: linear-gradient(110deg, #234d70, #0a2948 65%, #1e4668); box-shadow: 0 4px 18px #0825412b; }
.brand { display: flex; align-items: center; gap: .8rem; color: #fff; text-decoration: none; font-size: clamp(1rem, 1.8vw, 1.45rem); font-weight: 800; white-space: nowrap; }
.brand-mark { display: grid; place-items: center; width: 54px; height: 54px; font-size: 2.2rem; filter: drop-shadow(0 3px 3px #061a2f55); }
.bolao-switcher { display: flex; align-items: center; gap: .35rem; margin: 0 -.8rem 0 -1.5rem; color: #dce9f3; font-size: .72rem; font-weight: 700; white-space: nowrap; }
.bolao-switcher select { max-width: 145px; padding: .45rem .55rem; border: 1px solid #567997; border-radius: 7px; color: #fff; background: #214a70; font: inherit; }
.main-nav { display: flex; align-items: stretch; flex: 1; overflow-x: auto; scrollbar-width: none; }
.main-nav a { display: flex; align-items: center; gap: .5rem; padding: 0 1rem; border-bottom: 4px solid transparent; color: #e8f2fb; font-size: .86rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.main-nav a span { font-size: 1.2rem; color: #fff; }
.main-nav a:hover, .main-nav a.active { background: #ffffff0b; border-bottom-color: var(--orange); color: #fff; }
.main-nav a.active span { color: var(--orange); }
.account { display: flex; align-items: center; gap: .65rem; }
.account-copy { display: flex; flex-direction: column; text-align: right; font-size: .8rem; }
.account-copy small { color: #b7cada; }
.avatar { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #ffffff1f; color: #d9e8f4; }
.account form { margin: 0; }
.logout { border: 0; background: transparent; color: #dceaf5; cursor: pointer; font-size: 1.2rem; }
.page-shell { width: min(1420px, 94vw); margin: 0 auto; padding: 2rem 0 3rem; }
.organization-body { background: #eef5fa; }
.organization-layout { min-height: 100vh; display: grid; grid-template-columns: 255px minmax(0, 1fr); }
.organization-sidebar { min-height: 100vh; padding: 1.4rem 1rem; display: flex; flex-direction: column; color: #dce9f3; background: linear-gradient(180deg, #123a5e, #082542); }
.organization-sidebar-header { display: flex; align-items: center; justify-content: space-between; margin: 0 .4rem 2.1rem; }.organization-brand { display: flex; align-items: center; gap: .55rem; color: #fff; font-size: 1.08rem; font-weight: 800; text-decoration: none; white-space: nowrap; }.organization-brand-icon { font-size: 1.7rem; }.organization-sidebar-toggle { width: 28px; height: 28px; padding: 0; border: 1px solid #ffffff38; border-radius: 7px; color: #dce9f3; background: #ffffff12; cursor: pointer; font-size: 1.35rem; line-height: 1; }.organization-sidebar-toggle:hover { color: #fff; background: #ffffff24; }.organization-caption { margin: 0 .65rem .55rem; color: #91b1ca; font-size: .66rem; font-weight: 800; letter-spacing: .12em; }
.organization-nav { display: grid; gap: .2rem; }.organization-nav a { display: flex; align-items: center; gap: .6rem; padding: .72rem .75rem; border-radius: 8px; color: #d9e8f4; font-size: .85rem; font-weight: 600; text-decoration: none; }.organization-nav-icon { display: inline-grid; width: 1.1rem; place-items: center; font-size: 1.05rem; }.organization-nav a:hover, .organization-nav a.active { color: #fff; background: #ffffff18; }
.organization-divider { height: 1px; margin: 1.25rem .5rem; background: #82a5bd50; }
.organization-selector { display: grid; gap: .4rem; margin: 0 .55rem 1rem; }.organization-selector label { color: #a7c1d4; font-size: .68rem; font-weight: 700; }.organization-selector select { width: 100%; padding: .6rem; border: 1px solid #4d7391; border-radius: 7px; color: #fff; background: #163e62; }
.organization-nav-bolao { margin-top: .25rem; }.back-to-site { margin: auto .7rem .3rem; color: #aac5d7; font-size: .76rem; text-decoration: none; }.back-to-site:hover { color: #fff; }
.organization-sidebar-minimized .organization-layout { grid-template-columns: 72px minmax(0, 1fr); }.organization-sidebar-minimized .organization-sidebar { padding-inline: .65rem; }.organization-sidebar-minimized .organization-sidebar-header { justify-content: center; margin-inline: 0; }.organization-sidebar-minimized .organization-brand-label, .organization-sidebar-minimized .organization-caption, .organization-sidebar-minimized .organization-selector, .organization-sidebar-minimized .organization-divider, .organization-sidebar-minimized .organization-nav-label { display: none; }.organization-sidebar-minimized .organization-brand { display: none; }.organization-sidebar-minimized .organization-sidebar-header { justify-content: center; }.organization-sidebar-minimized .organization-sidebar-toggle { margin-left: 0; }.organization-sidebar-minimized .organization-nav a { justify-content: center; padding-inline: .45rem; }.organization-sidebar-minimized .back-to-site { width: 32px; height: 32px; margin-inline: auto; overflow: hidden; white-space: nowrap; font-size: 0; }.organization-sidebar-minimized .back-to-site::before { content: "←"; font-size: 1.25rem; }
.organization-content { min-width: 0; padding: 2rem clamp(1rem, 4vw, 4rem); }
.payment-modal { width: min(620px, 94vw); padding: 0; border: 0; border-radius: 13px; box-shadow: 0 18px 60px #08254166; }.payment-modal::backdrop { background: #08254180; }.payment-modal-card { padding: 1.4rem; }.payment-modal-card header { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 1.2rem; }.payment-modal-card h2 { margin: 0; font-size: 1.2rem; }.payment-modal-card header p { margin: .3rem 0 0; color: var(--muted); font-size: .8rem; }.modal-close { width: 30px; height: 30px; padding: 0 !important; border-radius: 50% !important; color: #4d6275 !important; background: #edf3f7 !important; font-size: 1.2rem; }.payment-entry-row { display: grid; grid-template-columns: 1fr 150px; gap: .8rem; }.payment-date-row { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }.participant-payment-field > select { display: none; }.participant-payment-field > input { width: 100%; padding: .65rem .7rem; border: 1px solid #bfd1df; border-radius: 7px; }.payment-errors { min-height: 1.2rem; margin-top: .8rem; color: #a23e33; font-size: .8rem; font-weight: 600; }.payment-modal-card footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; color: var(--muted); font-size: .75rem; }
.payment-date-column { width: 64px; white-space: nowrap; }.suggestion-form select { max-width: 230px; padding: .38rem .45rem; border: 1px solid #bfd1df; border-radius: 6px; color: var(--ink); background: #fff; font-size: .72rem; }
.spreadsheet-panel { margin-top: 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }.spreadsheet-panel h2 { margin: 0; font-size: 1rem; }.spreadsheet-panel p { margin: .25rem 0 0; color: var(--muted); font-size: .78rem; }.spreadsheet-actions, .spreadsheet-actions form { display: flex; align-items: center; gap: .6rem; }.spreadsheet-actions a { text-decoration: none; }
.panel-picks-search { margin: .7rem 0; display: flex; align-items: center; gap: .35rem; padding: .45rem .6rem; border: 1px solid #bfd1df; border-radius: 7px; background: #fff; }.panel-picks-search input { width: 100%; border: 0; outline: 0; font: inherit; font-size: .78rem; }
.panel-picks-tools { display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, .45fr); align-items: center; gap: .55rem; }.panel-picks-tools .panel-picks-search { margin: .7rem 0; }.panel-picks-tools select { width: 100%; padding: .5rem; border: 1px solid #bfd1df; border-radius: 7px; background: #fff; }
.receipt-parts { white-space: nowrap; }.receipt-part-button { min-width: 24px; height: 24px; margin: 1px; padding: 0 .35rem; border: 1px solid #bfd1df; border-radius: 5px; color: #1b5fa7; background: #f8fbfe; cursor: pointer; font-size: .72rem; font-weight: 700; }.receipt-part-button:hover { border-color: #f47a32; color: #c95214; background: #fff7f0; }
.financial-summary-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }.financial-summary-cards article { padding: 1.1rem 1.25rem; border: 1px solid #d8e6f0; border-radius: 12px; background: #fff; box-shadow: 0 5px 14px #0825410d; }.financial-summary-cards span, .financial-summary-cards small { display: block; color: #617892; font-size: .8rem; }.financial-summary-cards strong { display: block; margin: .35rem 0; color: #0b294a; font-size: 1.45rem; }
.payment-delete-form { display: inline; margin-left: .45rem; }.payment-delete-form button { border: 0; color: #b63e33; background: transparent; font: inherit; font-size: .72rem; cursor: pointer; }.payment-delete-form button:hover { text-decoration: underline; }
.cadastros-actions { margin-left: auto; display: flex; gap: .5rem; }.manual-participant-form { grid-template-columns: repeat(4, minmax(120px, 1fr)) auto; }
.launch-dashboard-grid .participants-panel .table-wrap { max-height: 620px; overflow: auto; }.launch-dashboard-grid .participants-panel thead th { position: sticky; top: 0; z-index: 2; background: #f6faff; }
.remove-inscription-form { display: inline; margin-left: .55rem; }.remove-inscription-form button { padding: 0; border: 0; color: #c44d3d; background: transparent; font: inherit; font-size: .76rem; font-weight: 700; cursor: pointer; }
.time-option-list button.active { background: #eaf5ff; }.panel-pick-save { display: none; }.panel-save-all { margin-left: auto; padding: .45rem .65rem; border: 0; border-radius: 7px; color: #fff; background: #176fd1; font: inherit; font-size: .74rem; font-weight: 700; cursor: pointer; }
.launch-dashboard-heading { margin-top: 2rem; display: flex; align-items: end; justify-content: space-between; gap: 1rem; }.launch-dashboard-heading h2 { margin: 0; font-size: 1.2rem; }.launch-dashboard-heading p { margin: .25rem 0 0; color: var(--muted); font-size: .8rem; }.launch-dashboard-heading form { display: flex; align-items: center; gap: .5rem; font-size: .8rem; font-weight: 700; }.launch-dashboard-heading select { padding: .5rem; border: 1px solid #bfd1df; border-radius: 7px; background: #fff; }.launch-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; margin: 1rem 0; }.launch-stats article { padding: .85rem 1rem; border: 1px solid #dbe7f0; border-radius: 10px; background: #fff; }.launch-stats span { display: block; color: var(--muted); font-size: .72rem; font-weight: 700; }.launch-stats strong { display: block; margin-top: .2rem; font-size: 1.4rem; }.launch-dashboard-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.pending-launches-panel { margin-top: 1rem; }.pending-launches-panel td small { display: block; margin-top: .15rem; color: var(--muted); }.pending-count { display: inline-block; min-width: 2rem; padding: .25rem .55rem; border-radius: 999px; color: #a23e33; background: #fde4df; font-weight: 800; text-align: center; }
.receipt-cards-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; }.receipt-directory .table-wrap { max-height: 620px; overflow: auto; }.receipt-directory thead th { position: sticky; top: 0; z-index: 2; background: #f6faff; }.receipt-directory td small { display: block; margin-top: .15rem; color: var(--muted); }.receipt-part-buttons { display: flex; flex-wrap: wrap; gap: .3rem; }
.panel-pick-form { display: flex; gap: .35rem; }.panel-pick-form select { min-width: 120px; max-width: 180px; padding: .35rem; border: 1px solid #bfd1df; border-radius: 6px; }.row-actions { position: relative; }.row-actions summary { width: 28px; padding: .2rem; border-radius: 6px; color: #31516d; cursor: pointer; font-size: 1.15rem; line-height: 1; list-style: none; text-align: center; }.row-actions summary::-webkit-details-marker { display: none; }.row-actions[open] summary { background: #eaf5ff; }.row-actions > div { position: absolute; z-index: 20; right: 0; min-width: 145px; padding: .3rem; border: 1px solid #bfd1df; border-radius: 7px; background: #fff; box-shadow: 0 7px 16px #0825412b; }.row-actions button { display: block; width: 100%; padding: .45rem .55rem; border: 0; border-radius: 5px; color: #21435e; background: transparent; font: inherit; font-size: .72rem; text-align: left; cursor: pointer; }.row-actions button:hover { background: #eaf5ff; }.row-actions .danger-action { color: #b63e33; }.row-actions .receipt-link { padding: .45rem .55rem; text-align: left; }
.panel-pick-form .time-select { display: none; }.time-searchable { min-width: 145px; position: relative; }.time-searchable input { width: 100%; padding: .35rem; border: 1px solid #bfd1df; border-radius: 6px; }.clear-time { width: 25px; height: 25px; align-self: center; border: 0; border-radius: 50%; color: #b63e33; background: #fff0ee; font-size: 1rem; cursor: pointer; }.clear-time:hover { background: #ffdcd7; }.time-option-list { width: 100%; max-height: 175px; overflow-y: auto; position: absolute; z-index: 30; top: calc(100% + 2px); border: 1px solid #bfd1df; border-radius: 6px; background: #fff; box-shadow: 0 7px 16px #0825412b; }.time-option-list[hidden], .time-option-list button[hidden] { display: none; }.time-option-list button { width: 100%; padding: .4rem .5rem; border: 0; color: var(--ink); background: #fff; font: inherit; font-size: .72rem; text-align: left; cursor: pointer; }.time-option-list button:hover { background: #eaf5ff; }.receipt-link { border: 0; color: #176fd1; background: transparent; font: inherit; font-size: .7rem; font-weight: 700; text-decoration: none; cursor: pointer; }.receipt-link:hover { text-decoration: underline; }
.payment-edit { color: #176fd1; font-size: .76rem; font-weight: 700; text-decoration: none; }.payment-edit:hover { text-decoration: underline; }.split-payment-value { position: relative; border-bottom: 1px dotted #617892; cursor: help; font-weight: 700; outline: 0; }.split-payment-value::after { width: max-content; max-width: 280px; padding: .55rem .65rem; position: absolute; z-index: 10; left: 50%; bottom: calc(100% + 8px); transform: translateX(-50%); content: attr(data-tooltip); border-radius: 7px; color: #fff; background: #102e50; box-shadow: 0 5px 15px #08254144; font-size: .72rem; font-weight: 500; line-height: 1.35; opacity: 0; pointer-events: none; visibility: hidden; transition: opacity .15s ease; white-space: normal; }.split-payment-value:hover::after, .split-payment-value:focus::after { opacity: 1; visibility: visible; }.secondary-button { color: #285270 !important; background: #e4eef5 !important; }.payment-edit-panel, .split-payment-panel { max-width: 760px; }.split-payment-panel { margin-top: 1rem; }.payment-edit-form, .split-payment-form { margin-top: 1.2rem; }.payment-edit-form .field, .split-payment-form .field { margin-top: .8rem; }.payment-edit-form input, .payment-edit-form select, .split-payment-form input, .split-payment-form select { width: 100%; padding: .62rem .7rem; border: 1px solid #bfd1df; border-radius: 7px; color: var(--ink); background: #fff; }.payment-edit-footer { display: flex; justify-content: flex-end; margin-top: 1.1rem; }.split-payment-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }.split-payment-row { padding: .9rem; border: 1px solid #dbe7f0; border-radius: 9px; background: #f8fbfd; }.split-payment-row h3 { margin: 0; font-size: .9rem; }.add-split-row { margin-top: 1rem; padding: .5rem .7rem; border: 1px solid #a9c5dc; border-radius: 7px; color: #176fd1; background: #edf6fc; font: inherit; font-size: .78rem; font-weight: 700; cursor: pointer; }.warning-button { background: #e98223 !important; }.undo-split-button { width: fit-content; margin-top: .35rem; padding: .45rem .65rem; border: 1px solid #d09a30; border-radius: 7px; color: #76500b; background: #fff; font: inherit; font-size: .78rem; font-weight: 700; cursor: pointer; }.split-origin-note { max-width: 760px; margin: 0 0 1rem; padding: .9rem 1rem; display: grid; gap: .25rem; border: 1px solid #bcd9f2; border-radius: 10px; color: #174f7b; background: #eaf5ff; font-size: .84rem; }.split-origin-note a { color: #176fd1; font-weight: 700; }.split-origin-note-muted { border-color: #ffe0a8; color: #76500b; background: #fff7e7; }
.inconsistencies-panel { margin-top: 1rem; }.financial-status { display: inline-block; padding: .3rem .5rem; border-radius: 999px; font-size: .7rem; font-weight: 700; }.financial-status-faltam { color: #a23e33; background: #fde4df; }.financial-status-excedente { color: #8a5a09; background: #fff0c9; }.financial-ok { padding: 1.3rem; color: #147445; text-align: center; }
.gifts-panel { margin-top: 1rem; }.gift-form { display: grid; grid-template-columns: minmax(220px, 1fr) 160px auto; align-items: end; gap: .8rem; margin-top: 1rem; }.gift-form select, .gift-form input { width: 100%; padding: .6rem; border: 1px solid #bfd1df; border-radius: 7px; }.gift-list { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1rem; }
.financial-statement { margin-top: 1rem; }
.picks-section .panel-heading { margin-bottom: 1rem; }.eliminated-picks-section { margin-top: 1rem; }
.picks-heading-actions { margin-left: auto; display: flex; align-items: center; gap: .65rem; }.picks-download { min-height: 38px; padding: .42rem .72rem .42rem .48rem; display: inline-flex; align-items: center; gap: .5rem; border: 1px solid #c8dae7; border-radius: 9px; color: #245273; background: #fff; box-shadow: 0 3px 10px #173f5d0d; font-size: .78rem; font-weight: 700; text-decoration: none; white-space: nowrap; transition: border-color .15s ease, box-shadow .15s ease, color .15s ease, transform .15s ease; }.picks-download > span:first-child { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 7px; color: #fff; background: #176fd1; font-size: 1rem; line-height: 1; }.picks-download:hover { border-color: #8eb8d8; color: #176fd1; box-shadow: 0 5px 14px #173f5d1a; transform: translateY(-1px); }.picks-download:focus-visible { outline: 3px solid #2b82c433; outline-offset: 2px; }
.gift-list .pill a { margin-left: .35rem; color: #176fd1; text-decoration: none; }.gift-delete-form { display: inline; }.gift-delete-form button { margin-left: .3rem; padding: 0; border: 0; color: #c44d3d; background: transparent; font: inherit; font-weight: 800; cursor: pointer; }
.enrollment-panel { margin-bottom: 1rem; }.enrollment-panel h2 { margin: 0 0 .25rem; font-size: 1rem; }.enrollment-panel p { margin: 0 0 1rem; color: var(--muted); font-size: .8rem; }.enrollment-form { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(330px, 1.5fr) auto; align-items: end; gap: 1rem; }.enrollment-form select, .participant-select-field > input { width: 100%; }.participant-select-field > select { display: none; }.searchable-select { position: relative; }.participant-select-field > .searchable-select > input { width: 100%; margin: 0; padding: .55rem .65rem; border: 1px solid #bfd1df; border-radius: 7px; }.participant-option-list { width: 100%; max-height: 210px; overflow-y: auto; position: absolute; z-index: 20; top: calc(100% + 3px); border: 1px solid #bfd1df; border-radius: 7px; background: #fff; box-shadow: 0 8px 20px #0825412b; }.participant-option-list[hidden] { display: none; }.participant-option-list button { width: 100%; padding: .55rem .65rem; border: 0; color: var(--ink); background: #fff; font: inherit; font-size: .78rem; text-align: left; cursor: pointer; }.participant-option-list button:hover, .participant-option-list button:focus, .participant-option-list button.active { background: #eaf5ff; outline: 0; }.participant-option-list button[hidden] { display: none; }.status-select-field { margin-top: .7rem; }.group-editor-table { width: 100%; margin-bottom: .5rem; }.group-editor-table th { text-align: left; }.group-editor-table input { width: 100%; margin: 0; padding: .55rem .65rem; border: 1px solid #bfd1df; border-radius: 6px; }.group-editor-table td:last-child, .group-editor-table th:last-child { width: 36px; text-align: center; }.remove-group-row { width: 26px; height: 26px; padding: 0 !important; border-radius: 50% !important; color: #a23e33 !important; background: #fde4df !important; }.add-group-row { margin-bottom: .4rem; padding: .45rem .65rem !important; font-size: .74rem; }
.hero { min-height: 116px; margin: -2rem calc((100vw - min(1420px, 94vw)) / -2) 0; padding: 1.6rem max(3vw, calc((100vw - 1420px) / 2)); display: flex; align-items: center; justify-content: space-between; position: relative; overflow: hidden; background: linear-gradient(90deg, #f9fcff 20%, #edf6fcdd 70%), repeating-linear-gradient(165deg, transparent 0 15px, #c8dce955 16px 17px); }
.hero::after { content: ""; position: absolute; inset: auto 0 0; height: 22px; background: linear-gradient(0deg, #dcecf5, transparent); }
.eyebrow { color: var(--orange); font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.hero h1 { margin: .25rem 0 .15rem; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1; letter-spacing: -.05em; }
.hero p { margin: .55rem 0 0; color: #496783; font-size: clamp(1rem, 2vw, 1.35rem); font-weight: 600; }
.hero p span { color: var(--orange); }
.hero-art { display: flex; align-items: center; gap: 1.5rem; padding-right: 4vw; }
.hero-art span { font-size: 5.3rem; filter: grayscale(.3) drop-shadow(0 8px 8px #183d5a22); opacity: .9; }
.hero-art em { color: #163e63; font-family: cursive; font-size: 1.4rem; line-height: 1.05; transform: rotate(-5deg); }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin: 1.2rem 0; }
.stat-card, .panel { background: #ffffffed; border: 1px solid #dbe7f0; border-radius: 13px; box-shadow: 0 8px 26px #1a4c7112; }
.stat-card { min-height: 122px; padding: 1.25rem 1.35rem; display: flex; align-items: center; gap: 1rem; }
.stat-icon { flex: 0 0 62px; width: 62px; height: 62px; display: grid; place-items: center; border-radius: 50%; font-size: 1.85rem; }
.stat-icon-blue { color: #176fd1; background: #e6f2ff; } .stat-icon-green { color: #11ac69; background: #e2f8ed; } .stat-icon-orange, .stat-icon-gold { color: #ff721d; background: #fff0df; }
.stat-card div { display: flex; min-width: 0; flex-direction: column; }
.stat-label { font-weight: 700; font-size: .9rem; }
.stat-card strong { margin: .15rem 0; overflow: hidden; color: #09294b; font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.stat-card small { color: var(--muted); font-size: .75rem; }
.panel { padding: 1.25rem; }
.panel-heading { display: flex; align-items: center; gap: .8rem; }
.panel-heading h2 { margin: 0; font-size: 1.2rem; } .panel-heading p { margin: .25rem 0 0; color: var(--muted); font-size: .78rem; }
.heading-icon { width: 38px; height: 38px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 11px; color: var(--blue); background: #e6f2ff; font-size: 1.3rem; font-weight: 800; }
.panel-heading aside { margin-left: auto; padding: .65rem .9rem; display: flex; align-items: center; gap: .65rem; border: 1px solid #ffd5c2; border-radius: 8px; color: #88401d; background: #fff4ed; font-size: .72rem; }
.panel-heading aside > span:first-child { font-size: 1.4rem; } .panel-heading aside span:last-child { display: flex; flex-direction: column; } .panel-heading aside strong { color: #f15b22; }
.panorama-panel { margin-bottom: 1rem; }
.panorama-chart { height: 180px; margin-top: 1rem; padding: 0 10%; display: flex; justify-content: space-around; align-items: end; gap: 10%; border-bottom: 1px solid #bfcfdd; background: repeating-linear-gradient(0deg, transparent 0 39px, #dfe8ef 40px); }
.chart-column { width: min(180px, 25%); height: 100%; display: grid; grid-template-rows: 20px 1fr 22px 18px; text-align: center; color: #21486c; font-size: .78rem; }
.chart-track { height: 100%; display: flex; align-items: end; justify-content: center; }
.chart-track span { width: 78%; min-height: 3px; display: block; border-radius: 4px 4px 0 0; background: linear-gradient(#4380b3, #214a70); }
.chart-v .chart-track span { background: linear-gradient(#f3b03d, #e48223); } .chart-f .chart-track span { background: linear-gradient(#ff8255, #e84a2c); }
.chart-column > span { padding-top: .3rem; font-weight: 700; } .chart-column small { color: var(--muted); }
.dashboard-grid { display: grid; grid-template-columns: 1fr 1.08fr; gap: 1rem; }
.compact { margin-bottom: 1rem; }
.choice-list { display: grid; gap: .75rem; }
.choice-row { display: grid; grid-template-columns: 26px 34px minmax(80px, 130px) 1fr 28px auto; align-items: center; gap: .65rem; padding: .35rem .45rem; border-radius: 8px; font-size: .8rem; transition: background .2s ease; }
.rank { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: #315778; background: #eaf3f9; }
.team-badge { width: 32px; height: 32px; display: grid; place-items: center; border: 2px solid #8bb6d7; border-radius: 50%; color: #174f7b; background: #f1f8fd; font-weight: 800; }
.team-badge img { width: 100%; height: 100%; padding: 2px; border-radius: 50%; object-fit: contain; }
.choice-track { height: 20px; overflow: hidden; border-radius: 4px; background: #edf2f6; } .choice-track span { height: 100%; display: block; min-width: 3px; border-radius: 4px; background: linear-gradient(90deg, #ff771e, #ff5c20); }
.choice-row b { text-align: right; } .empty-inline { padding: 2rem; color: var(--muted); text-align: center; }
.result-actions { display: flex; gap: .3rem; }
.result-button { width: 28px; height: 28px; padding: 0 !important; display: grid !important; place-items: center; border: 1px solid #c9d8e4 !important; border-radius: 50% !important; color: #5d7488 !important; background: #fff !important; font-size: 1rem; font-weight: 800; }
.result-button.classify:hover, .result-button.classify.active { border-color: #24a665 !important; color: #fff !important; background: #24a665 !important; }
.result-button.eliminate:hover, .result-button.eliminate.active { border-color: #df513e !important; color: #fff !important; background: #df513e !important; }
.choice-row.result-classified, tbody tr.result-classified { background: #e4f7ec; }
.choice-row.result-eliminated, tbody tr.result-eliminated { background: #fde9e5; }
.choice-row.result-classified .choice-track span { background: linear-gradient(90deg, #35b879, #159151); }
.choice-row.result-eliminated .choice-track span { background: linear-gradient(90deg, #ee755f, #d94336); }
.result-label { margin-left: .4rem; padding: .18rem .4rem; border-radius: 999px; font-size: .62rem; font-weight: 700; }
tr.result-classified .result-label { color: #147445; background: #c9eed8; }
tr.result-eliminated .result-label { color: #a23e33; background: #f7cec7; }
.table-heading { align-items: flex-start; }
.search { margin-left: auto; position: relative; width: min(225px, 38%); } .search span { position: absolute; top: .5rem; left: .7rem; color: #627b92; }
.search input { width: 100%; margin: 0; padding: .55rem .7rem .55rem 2rem; border: 1px solid #cbdbe8; border-radius: 8px; outline: none; color: var(--ink); background: #fbfdff; }
.table-wrap { overflow-x: auto; } table { width: 100%; border-collapse: collapse; font-size: .75rem; }
th { padding: .35rem .55rem; color: #365b78; background: #e9f1f7; } th:first-child { border-radius: 7px 0 0 0; } th:last-child { border-radius: 0 7px 0 0; }
td { padding: .3rem .55rem; border-bottom: 1px solid #edf2f6; } tbody tr:nth-child(even) { background: #f6f9fb; }
tbody tr.result-classified,
tbody tr.result-classified:nth-child(even) { background: #e4f7ec; }
tbody tr.result-eliminated,
tbody tr.result-eliminated:nth-child(even) { background: #fde9e5; }
.table-team { display: inline-flex; align-items: center; gap: .45rem; }
.table-team img { width: 24px; height: 24px; object-fit: contain; }
.pick-cell.result-classified { color: #147445; background: #e4f7ec; font-weight: 700; }
.pick-cell.result-eliminated { color: #a23e33; background: #fde9e5; font-weight: 700; }
.bet-name.eliminated { color: #c43f32; }
.pagination { margin-top: 1rem; display: flex; align-items: center; justify-content: flex-end; gap: .7rem; color: var(--muted); font-size: .75rem; }
.pagination a { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid #cadbe8; border-radius: 6px; color: var(--ink); text-decoration: none; background: #fff; }
.my-summary { padding: 1.2rem .2rem; } .my-summary h2 { font-size: 1rem; }
.pill { display: inline-block; margin: .2rem; padding: .45rem .7rem; border-radius: 999px; color: #235277; background: #dfeef8; font-size: .75rem; }
.muted { color: var(--muted); }
.messages { margin: 0 0 1rem; }
.message { padding: .85rem 1rem; border: 1px solid #b8e1ca; border-radius: 9px; color: #17653b; background: #eaf9f0; font-weight: 600; }
.message-error { border-color: #f0b8ae; color: #9b3024; background: #fff0ed; }
.page-heading { margin-bottom: 1.2rem; display: flex; align-items: center; gap: .8rem; }
.page-heading h1 { margin: 0; } .page-heading p { margin: .25rem 0 0; color: var(--muted); }
.selection-grid { display: grid; grid-template-columns: 1.05fr .55fr 1fr .65fr 1.15fr; gap: 1rem; }
.field { min-width: 0; } .field label { display: block; margin-bottom: .4rem; color: #284e6d; font-size: .8rem; font-weight: 700; }
.field select, .field input, .field textarea { width: 100%; margin: 0; padding: .72rem .8rem; border: 1px solid #bfd1df; border-radius: 8px; color: var(--ink); background: #fff; outline: none; }
.field select:focus, .field input:focus, .field textarea:focus { border-color: #3486c5; box-shadow: 0 0 0 3px #2b82c41c; }
.checkbox-field { display: flex; align-items: center; }
.checkbox-field label { margin: 1.5rem 0 0; display: flex; align-items: center; gap: .55rem; cursor: pointer; white-space: nowrap; }
.checkbox-field input { width: 18px; height: 18px; margin: 0; accent-color: var(--orange); }
[hidden] { display: none !important; }
.errorlist { margin: .35rem 0 0; padding: 0; color: #b33c2e; font-size: .75rem; list-style: none; }
.form-errors { margin-bottom: 1rem; padding: 1rem; border: 1px solid #f0b8ae; border-radius: 9px; color: #9b3024; background: #fff0ed; }
.launch-editor { margin-top: 1rem; } .textarea-field { margin-top: 1rem; }
.textarea-field textarea { min-height: 285px; resize: vertical; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; line-height: 1.5; }
.transform-actions { margin: .8rem 0 .45rem; display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; }
.field-help { margin: 0 0 1.2rem; color: #61738b; font-size: .84rem; }
.secondary-button { color: #245273 !important; background: #e6f1f8 !important; }
.replace-row { padding: 1rem; display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: .8rem; border-radius: 10px; background: #f4f8fb; }
.form-footer { margin-top: 1.2rem; padding-top: 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .78rem; }
.confirm-button { background: var(--green) !important; font-weight: 700 !important; }
.participants-heading .import-toggle { margin-left: auto; }
.import-panel { display: none; margin-bottom: 1rem; }
.import-panel.open { display: block; }
.import-panel h2 { margin: 0 0 .25rem; }
.import-panel p { margin: 0 0 1rem; color: var(--muted); font-size: .82rem; }
.columns-example { margin-bottom: 1rem; display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; border: 1px solid #c9dae7; border-radius: 8px; }
.columns-example span { padding: .55rem .7rem; border-right: 1px solid #dce7ef; color: #315876; background: #edf4f9; font-size: .76rem; font-weight: 700; }
.columns-example span:last-child { border: 0; }
.upload-form { display: flex; align-items: end; gap: 1rem; }
.upload-form .field { flex: 1; }
.upload-form small { display: block; margin-top: .35rem; color: var(--muted); font-size: .72rem; }
.matrix-toolbar { margin-bottom: 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.matrix-filters { display: flex; align-items: center; gap: .65rem; }
.matrix-filters > label:not(.search) { color: #315775; font-size: .78rem; font-weight: 700; }
.matrix-filters select { padding: .55rem .7rem; border: 1px solid #c5d6e3; border-radius: 7px; color: var(--ink); background: #fff; }
.matrix-search { width: 240px; margin: 0; }
.participants-table-search { width: min(760px, 100%); display: flex; align-items: center; gap: .5rem; margin: 0 0 .8rem; }.participants-table-search input { width: auto; flex: 1; }.participants-table-search select { padding: .5rem; border: 1px solid #cbdbe8; border-radius: 8px; color: var(--ink); background: #fff; font: inherit; font-size: .78rem; }.participants-table-search .empty-group-filter { display: flex; align-items: center; gap: .3rem; color: #315775; font-size: .76rem; white-space: nowrap; }.participants-table-search .empty-group-filter input { width: auto; flex: 0 0 auto; }.participants-table-search button { flex: 0 0 auto; }
.record-count { color: var(--muted); font-size: .76rem; white-space: nowrap; }
.status-table th:not(:first-child), .status-table td.status-cell { text-align: center; }
.status-table td { padding: .55rem; }
.status-badge { display: inline-block; min-width: 92px; padding: .32rem .55rem; border-radius: 999px; font-size: .7rem; font-weight: 700; white-space: nowrap; }
.status-p { color: #147445; background: #ddf5e8; }
.status-v { color: #8a5a09; background: #fff0c9; }
.status-f { color: #a23e33; background: #fde4df; }
.status-empty { color: #9aacba; }
.empty-state { max-width: 700px; margin: 6rem auto; padding: 4rem 2rem; text-align: center; } .empty-state > span { font-size: 4rem; } .empty-state h1 { margin-bottom: .5rem; } .empty-state p { margin-bottom: 2rem; color: var(--muted); }
.card { padding: 1.4rem; margin-bottom: 1rem; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 5px 22px #143a5b10; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; }
.button, button:not(.logout) { display: inline-block; padding: .7rem 1rem; border: 0; border-radius: 8px; color: #fff; background: #236da8; cursor: pointer; text-decoration: none; }
textarea, .card input { width: 100%; margin: .35rem 0 1rem; padding: .75rem; border: 1px solid #bdcfdd; border-radius: 8px; }
pre { padding: 1rem; white-space: pre-wrap; border-radius: 8px; background: #eef4f8; } .login { max-width: 430px; margin: 5rem auto; }
@media (max-width: 1100px) {
  .topbar { flex-wrap: wrap; padding-top: .35rem; gap: 0 1rem; } .brand { height: 60px; } .main-nav { order: 3; width: 100%; height: 58px; } .account { margin-left: auto; }
  .stats-grid { grid-template-columns: 1fr 1fr; } .dashboard-grid, .receipt-cards-grid, .panel-picks-tools { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .page-shell { width: min(94vw, 540px); } .account-copy, .hero-art { display: none; } .bolao-switcher { margin-left: auto; } .main-nav a { padding: 0 .75rem; font-size: .76rem; } .main-nav a span { display: none; }
  .stats-grid { grid-template-columns: 1fr; } .stat-card { min-height: 100px; } .panel-heading aside { display: none; } .panorama-chart { padding: 0 2%; gap: 4%; }
  .choice-row { grid-template-columns: 24px 32px minmax(70px, 90px) 1fr 24px; gap: .4rem; } .result-actions { grid-column: 3 / -1; justify-content: flex-end; } .table-heading { flex-wrap: wrap; } .search { width: 100%; margin: .75rem 0 0; } .hero { padding-left: 4vw; }
  .selection-grid, .replace-row { grid-template-columns: 1fr; } .form-footer { align-items: stretch; flex-direction: column; }
  .participants-heading { align-items: flex-start; flex-wrap: wrap; } .participants-heading .import-toggle { width: 100%; margin-left: 0; }
  .picks-heading-actions { width: 100%; margin-left: 0; flex-wrap: wrap; }.picks-heading-actions .picks-download { width: 100%; justify-content: center; }.picks-heading-actions .matrix-search { margin-top: 0; }
  .columns-example { grid-template-columns: 1fr 1fr; } .upload-form, .matrix-toolbar, .matrix-filters { align-items: stretch; flex-direction: column; }
  .matrix-search { width: 100%; } .record-count { align-self: flex-end; }
}
@media (max-width: 800px) { .organization-layout { grid-template-columns: 1fr; }.organization-sidebar { min-height: auto; }.organization-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }.organization-nav-bolao { grid-template-columns: 1fr 1fr 1fr; }.back-to-site { margin-top: 1.5rem; }.enrollment-form { grid-template-columns: 1fr; } }

.group-context-trigger { cursor: context-menu; }
.group-context-trigger:focus-visible { outline: 2px solid #176fd1; outline-offset: 2px; }
.group-context-menu { position: fixed; z-index: 1000; padding: .35rem; border: 1px solid #e2e7ed; border-radius: .65rem; background: #fff; box-shadow: 0 8px 24px #15263b26; }
.group-context-menu[hidden] { display: none; }
.group-context-menu button { background: transparent; color: #b63e33; border: 0; border-radius: .35rem; padding: .6rem .9rem; font: inherit; cursor: pointer; }
.group-context-menu button:hover, .group-context-menu button:focus-visible { background: #fff0ee; }
