/* Parceiros: mesma geometria, paleta e componentes do site Kx Puremode. */
.partner-page { --partner-cut: polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px); }
.partner-main { position:relative; width:min(var(--page),100%); min-height:calc(100vh - 220px); margin:0 auto; padding:calc(var(--nav-h) + 56px) var(--gutter) 72px; }
.partner-page:has(.partner-dialog[open]) { overflow:hidden; }
.partner-heading { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-bottom:32px; animation:rise .65s var(--ease) both; }
.partner-heading h1 { margin:19px 0 13px; font-size:clamp(28px,3.3vw,43px); letter-spacing:-1.35px; text-wrap:balance; }
.partner-heading p { max-width:650px; color:#9c9ca8; font-size:15px; line-height:1.65; }
.partner-heading>.partner-button { flex-shrink:0; align-self:flex-end; margin-bottom:5px; }
.partner-eyebrow,.partner-section-label { display:block; font:700 9px var(--display); letter-spacing:2px; color:var(--red-soft); text-transform:uppercase; }
.partner-section-label { margin-bottom:9px; font-size:8.5px; color:#797985; }

/* Buttons reuse the site's gbtn/btn-red, chanfro and sheen classes. */
.partner-button { min-height:40px; height:auto; padding:11px 16px; border-radius:0; line-height:1.25; text-transform:uppercase; text-align:center; }
.partner-button:disabled { cursor:not-allowed; }
.partner-actions { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.partner-message,.partner-notice { position:relative; padding:14px 18px; border:1px solid var(--hair-2); border-left:2px solid rgba(255,37,64,.45); background:linear-gradient(110deg,rgba(255,37,64,.06),rgba(10,10,14,.95) 60%); color:#a5a5b2; font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.partner-message { margin:0 0 23px; }
.partner-message[data-tone="error"] { border-color:rgba(255,37,64,.35); background:rgba(255,37,64,.065); color:#ffadb9; }
.partner-message[data-tone="success"] { border-color:rgba(255,37,64,.32); color:#ffc1cb; }
.partner-notice { margin:0 0 24px; border-color:rgba(255,176,32,.22); border-left-color:var(--amber); background:linear-gradient(110deg,rgba(255,176,32,.07),var(--carbon) 75%); color:#c5ae8b; }
.partner-notice .partner-button { margin-top:12px; }

/* Financial cards follow the bordered, chamfered modules of /perfil. */
.partner-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:0 0 28px; }
.partner-metric { position:relative; min-width:0; padding:23px 20px 22px; border:1px solid transparent; background:linear-gradient(145deg,#101016,var(--carbon)) padding-box,linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.055) 65%) border-box; clip-path:var(--partner-cut); transition:background .25s,border-color .25s,transform .25s var(--ease); }
.partner-metric::before { content:""; position:absolute; left:0; top:22px; bottom:22px; width:2px; background:linear-gradient(180deg,var(--red),rgba(255,37,64,.06)); opacity:.55; }
.partner-metric:hover { border-color:rgba(255,37,64,.26); transform:translateY(-2px); }
.partner-metric[data-kind="pending"] { background:linear-gradient(135deg,rgba(255,37,64,.085),var(--carbon) 75%) padding-box,linear-gradient(140deg,rgba(255,37,64,.6),rgba(255,255,255,.08) 75%) border-box; }
.partner-metric>span:not(.partner-metric-icon) { display:block; padding-right:28px; color:#8d8d99; font:700 8px var(--display); line-height:1.65; letter-spacing:1.5px; text-transform:uppercase; }
.partner-metric-icon { position:absolute; top:20px; right:17px; display:grid; place-items:center; width:28px; height:28px; border:1px solid rgba(255,37,64,.18); background:rgba(255,37,64,.045); color:#aa6570; clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px); }
.partner-metric-icon svg { width:14px; height:14px; }
.partner-metric strong { display:block; margin:14px 0 7px; color:#e5e5ec; font:700 clamp(22px,2.25vw,29px) var(--display); letter-spacing:-1px; line-height:1.15; white-space:nowrap; }
.partner-metric[data-kind="pending"] strong { color:#fff; text-shadow:0 0 30px rgba(255,37,64,.12); }
.partner-metric small { display:block; color:var(--mut); font-size:11.5px; line-height:1.5; }
.partner-panel { position:relative; margin-bottom:24px; border:1px solid transparent; background:linear-gradient(var(--carbon),var(--carbon)) padding-box,linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.055) 72%) border-box; clip-path:var(--partner-cut); }
.partner-panel-head { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:27px 25px 24px; border-bottom:1px solid var(--hair); background:linear-gradient(110deg,rgba(255,255,255,.015),transparent 70%); }
.partner-panel-head h2 { margin-bottom:8px; font-size:21px; letter-spacing:-.4px; }
.partner-panel-head p { color:var(--mut); font-size:13px; line-height:1.65; }
.partner-panel-head>.partner-button { flex-shrink:0; }
.partner-toolbar { display:flex; align-items:end; gap:16px; padding:23px 25px; }
.partner-search { flex:1; max-width:535px; }
.partner-filter { width:180px; }

/* Form fields mirror the site's auth fields. */
.partner-main label>span:first-child,.partner-dialog label>span:first-child { display:block; margin:0 0 8px 2px; color:#858591; font:700 9px var(--display); line-height:1.4; letter-spacing:1.6px; text-transform:uppercase; }
.partner-input { position:relative; display:flex; align-items:center; gap:12px; min-height:54px; width:100%; padding:0 15px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.035); transition:border-color .22s,background .22s,box-shadow .22s; cursor:text; }
.partner-input>svg { width:17px; height:17px; color:#696975; pointer-events:none; transition:color .2s; }
.partner-input:hover { border-color:rgba(255,255,255,.2); }
.partner-input:focus-within { border-color:rgba(255,37,64,.58); background:rgba(255,37,64,.055); box-shadow:0 0 0 3px rgba(255,37,64,.06),inset 0 0 24px rgba(255,37,64,.035); }
.partner-input:focus-within>svg { color:var(--red-soft); }
.partner-input input { width:100%; min-width:0; height:52px; padding:0; border:0; outline:0; background:transparent; color:var(--txt); font:13px var(--mono); letter-spacing:.25px; }
.partner-input input::placeholder { color:#5c5c69; font-family:var(--body); letter-spacing:0; }
.partner-input input[readonly] { color:var(--mut); cursor:default; }
.partner-input:has(input[readonly]) { background:rgba(255,255,255,.017); }
.partner-input input:-webkit-autofill { -webkit-text-fill-color:var(--txt); caret-color:var(--txt); transition:background-color 100000s ease 0s,color 100000s ease 0s !important; }
.partner-dialog label small { display:block; margin-top:8px; color:#73737f; font-size:11.5px; line-height:1.5; }
.partner-main select,.partner-dialog select { width:100%; height:54px; padding:0 15px; border:1px solid var(--hair-2); border-radius:0; background:var(--graphite); color:var(--txt); font:13px var(--mono); color-scheme:dark; }

/* Custom dropdown. The original select remains the form's source of truth. */
.partner-select { position:relative; min-width:0; width:100%; }
.partner-select .partner-native-select { position:absolute; top:0; left:0; width:1px !important; height:1px !important; min-height:0 !important; padding:0 !important; border:0 !important; opacity:0; clip-path:inset(50%); overflow:hidden; pointer-events:none; }
.partner-select-trigger { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:54px; width:100%; padding:0 15px; border:1px solid rgba(255,255,255,.1); border-radius:0; background:rgba(255,255,255,.035); color:var(--txt); font:13px var(--mono); text-align:left; clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px); transition:border-color .22s,background .22s,box-shadow .22s; }
.partner-select-trigger:hover:not(:disabled) { border-color:rgba(255,255,255,.22); background:rgba(255,255,255,.05); }
.partner-select-trigger:focus-visible,.partner-select.is-open .partner-select-trigger { outline:0; border-color:rgba(255,37,64,.58); background:rgba(255,37,64,.055); box-shadow:inset 0 0 0 1px rgba(255,37,64,.2),inset 0 0 24px rgba(255,37,64,.035); }
.partner-select-trigger:disabled { opacity:.45; cursor:not-allowed; }
.partner-select-trigger.is-invalid { border-color:var(--red); }
.partner-select-value { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.partner-select-chevron { width:15px; height:15px; color:#797985; transition:transform .2s var(--ease),color .2s; }
.partner-select.is-open .partner-select-chevron { color:var(--red-soft); transform:rotate(180deg); }
.partner-select-menu { z-index:100; inset:auto; margin:0; padding:7px; max-height:320px; overflow:auto; border:1px solid rgba(255,37,64,.35); border-radius:0; background:linear-gradient(140deg,#171019,#0d0d12 60%); color:var(--txt); box-shadow:0 22px 50px rgba(0,0,0,.65),0 0 30px rgba(255,37,64,.07); clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px); animation:partner-select-in .16s var(--ease) both; }
.partner-select-menu::backdrop { background:transparent; }
.partner-select-menu { scrollbar-width:thin; scrollbar-color:#58313b #0d0d12; }
.partner-select-menu.is-fallback { width:100%; }
.partner-select-option { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; min-height:42px; padding:10px 12px; border:1px solid transparent; border-radius:0; background:transparent; color:#a5a5b2; font:600 12px var(--display); text-align:left; transition:background .15s,color .15s,border-color .15s; }
.partner-select-option:hover:not(:disabled),.partner-select-option.is-active:not(:disabled) { border-color:rgba(255,37,64,.16); background:rgba(255,37,64,.095); color:#fff; }
.partner-select-option.is-selected { color:var(--red-soft); background:rgba(255,37,64,.055); }
.partner-select-option:disabled { opacity:.35; cursor:not-allowed; }
.partner-select-check { width:15px; height:15px; color:var(--red); opacity:0; }
.partner-select-option.is-selected .partner-select-check { opacity:1; }
.partner-select-option-label { flex:1; }
.partner-select-error { display:block; margin-top:8px; color:#ffadb9; font-size:12px; }

/* Tables and status chips follow the profile's compact modules. */
.partner-table-wrap { overflow-x:auto; scrollbar-width:thin; scrollbar-color:#4c2932 var(--carbon); }
.partner-table { width:100%; border-collapse:collapse; text-align:left; font-size:13px; }
.partner-table thead { background:rgba(255,255,255,.022); }
.partner-table th { padding:14px 15px; color:#777784; font:700 8px var(--display); letter-spacing:1.2px; text-transform:uppercase; white-space:nowrap; }
.partner-table td { padding:19px 15px; border-top:1px solid var(--hair); vertical-align:middle; }
.partner-table td:first-child,.partner-table th:first-child { padding-left:25px; }
.partner-table td:last-child,.partner-table th:last-child { padding-right:25px; }
.partner-table tbody tr { transition:background .2s; }
.partner-table tbody tr:hover { background:linear-gradient(90deg,rgba(255,37,64,.035),rgba(255,255,255,.015)); }
.partner-table .partner-button { min-height:33px; padding:8px 10px; font-size:8px; letter-spacing:.7px; }
.partner-name { font:600 13px var(--display); }
.partner-sub { display:block; margin-top:5px; color:#777784; font-size:10.5px; line-height:1.5; }
.partner-mono { font-family:var(--mono); font-size:10px; letter-spacing:.15px; overflow-wrap:anywhere; }
.partner-money { font-family:var(--mono); font-size:11px; white-space:nowrap; }
.partner-detail { max-width:250px; color:var(--mut); font-size:12px; overflow-wrap:anywhere; }
.partner-badge { display:inline-flex; align-items:center; gap:6px; padding:5px 8px; border:1px solid var(--hair-2); background:rgba(255,255,255,.04); color:#aaaab7; font:700 8px var(--display); letter-spacing:.5px; text-transform:uppercase; white-space:nowrap; clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px); }
.partner-badge::before { content:""; width:4px; height:4px; flex-shrink:0; border-radius:50%; background:currentColor; opacity:.8; }
.partner-badge[data-tone="success"] { border-color:rgba(255,37,64,.3); background:rgba(255,37,64,.08); color:var(--red-soft); }
.partner-badge[data-tone="warning"] { border-color:rgba(255,176,32,.25); background:rgba(255,176,32,.06); color:var(--amber-soft); }
.partner-badge[data-tone="error"] { border-color:rgba(255,37,64,.3); background:rgba(255,37,64,.05); color:#ffadb9; }
.partner-empty { padding:35px 25px; color:var(--mut); text-align:center; font-size:13px; }

/* Dialogs repeat the authentication card's chamfer and illuminated frame. */
.partner-dialog { width:min(590px,calc(100% - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:1px; border:0; border-radius:0; overflow:hidden; background:linear-gradient(145deg,rgba(255,37,64,.9),rgba(255,255,255,.16) 38%,rgba(255,255,255,.055) 80%); color:var(--txt); clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px); }
.partner-dialog[open] { animation:partner-dialog-in .24s var(--ease) both; }
.partner-dialog::backdrop { background:rgba(0,0,0,.8); -webkit-backdrop-filter:blur(9px); backdrop-filter:blur(9px); animation:fade-in .2s ease both; }
.partner-dialog-shell { position:relative; margin:0; max-height:calc(100dvh - 34px); padding:31px 30px 29px; overflow-y:auto; background:radial-gradient(ellipse at 0 0,rgba(255,37,64,.055),transparent 58%),var(--carbon); clip-path:polygon(15px 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%,0 15px); scrollbar-width:thin; scrollbar-color:#58313b var(--carbon); }
.partner-dialog-shell::before { content:""; position:absolute; top:31px; left:0; width:2px; height:40px; background:var(--red); box-shadow:0 0 15px rgba(255,37,64,.55); }
.partner-dialog-head { display:flex; justify-content:space-between; align-items:start; gap:20px; margin-bottom:18px; }
.partner-dialog-head h2 { margin-top:11px; font-size:25px; letter-spacing:-.6px; }
.partner-close { display:grid; place-items:center; width:34px; height:34px; padding:0; flex-shrink:0; color:#82828f; }
.partner-close svg { width:15px; height:15px; }
.partner-muted { color:var(--mut); font-size:13px; line-height:1.7; }
.partner-form-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px 18px; margin-top:27px; }
.partner-form-grid label { min-width:0; }
.partner-dialog .partner-message { margin:22px 0 0; }
.partner-checkbox { position:relative; display:flex; align-items:center; gap:10px; margin-top:23px; cursor:pointer; }
.partner-checkbox>input { position:absolute; left:0; width:20px; height:20px; opacity:0; }
.partner-checkbox-control { display:grid; place-items:center; width:19px; height:19px; flex-shrink:0; border:1px solid var(--hair-2); background:rgba(255,255,255,.04); color:transparent; transition:border-color .2s,background .2s,color .2s; }
.partner-checkbox-control svg { width:13px; height:13px; }
.partner-checkbox input:checked+.partner-checkbox-control { border-color:rgba(255,37,64,.55); background:rgba(255,37,64,.15); color:var(--red-soft); }
.partner-checkbox input:focus-visible+.partner-checkbox-control { outline:2px solid var(--red-soft); outline-offset:3px; }
.partner-dialog .partner-checkbox>span:last-child { margin:0; color:#a1a1ae; font-size:12px; letter-spacing:0; text-transform:none; font-family:var(--body); }
.partner-dialog-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:27px; padding-top:22px; border-top:1px solid var(--hair); }
.partner-dialog-actions .partner-button { min-height:44px; font-size:10px; padding:12px 18px; }
.partner-confirmation { display:grid; gap:18px; margin:24px 0 0; padding:22px; border:1px solid var(--hair-2); border-left-color:rgba(255,37,64,.4); background:linear-gradient(110deg,rgba(255,37,64,.035),rgba(255,255,255,.018)); }
.partner-confirmation dt { color:#777784; font:700 8px var(--display); text-transform:uppercase; letter-spacing:1.6px; }
.partner-confirmation dd { margin:7px 0 0; font:600 14px var(--display); overflow-wrap:anywhere; }
.partner-confirmation .partner-amount { font:700 32px var(--display); letter-spacing:-1px; color:#fff; }
.partner-confirmation .partner-mono { font:12px var(--mono); line-height:1.6; }
.partner-audit { padding:21px 25px; border-top:1px solid var(--hair); color:var(--mut); font-size:12px; }
.partner-audit summary { cursor:pointer; color:#9c9ca8; font:600 10px var(--display); letter-spacing:1px; text-transform:uppercase; transition:color .2s; }
.partner-audit summary:hover { color:var(--red-soft); }
.partner-audit ul { margin:15px 0 0; padding-left:18px; }
.partner-audit li { padding:5px 0; overflow-wrap:anywhere; }

/* Shared streamer view. */
.partner-code-panel { display:grid; grid-template-columns:minmax(0,1fr) 245px; gap:35px; align-items:center; padding:30px; }
.partner-code-panel h2 { margin:13px 0 16px; font-size:25px; letter-spacing:-.5px; }
.partner-code-panel p+p { margin-top:9px; }
.partner-code-panel .partner-notice { margin:20px 0 0; }
.partner-code-box { display:flex; flex-direction:column; align-items:center; gap:14px; padding:25px 20px; border:1px solid rgba(255,37,64,.3); background:linear-gradient(140deg,rgba(255,37,64,.09),var(--carbon)); clip-path:var(--partner-cut); }
.partner-code-box>span { font:700 9px var(--display); letter-spacing:1.8px; color:var(--red-soft); }
.partner-code-box code { max-width:100%; font:700 17px var(--mono); letter-spacing:.3px; overflow-wrap:anywhere; text-align:center; }
.partner-code-box .partner-button { width:100%; }
.partner-footnote { color:var(--mut); font-size:12px; text-align:center; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; white-space:nowrap; }
@keyframes partner-dialog-in { from { opacity:0; transform:translateY(10px) scale(.985); } to { opacity:1; transform:none; } }
@keyframes partner-select-in { from { opacity:0; } to { opacity:1; } }
@media(max-width:1000px) { .partner-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .partner-metric strong { font-size:29px; } }
@media(max-width:1100px) { .partner-page .nav:not(.open) .nav-links { visibility:hidden; } .partner-page .nav.open .nav-links { visibility:visible; } }
@media(max-width:640px) {
  .partner-main { padding-top:calc(var(--nav-h) + 34px); padding-bottom:48px; }
  .partner-heading,.partner-panel-head { align-items:start; flex-direction:column; gap:19px; }
  .partner-heading h1 { font-size:29px; letter-spacing:-.8px; }
  .partner-heading .eyebrow-chip { font-size:8px; letter-spacing:1.5px; }
  .partner-heading>.partner-button { align-self:flex-start; margin-bottom:0; }
  .partner-metrics { gap:10px; }
  .partner-metric { padding:20px 14px 19px; }
  .partner-metric>span:not(.partner-metric-icon) { font-size:7px; letter-spacing:1px; padding-right:19px; }
  .partner-metric-icon { width:23px; height:23px; top:16px; right:10px; }
  .partner-metric-icon svg { width:12px; height:12px; }
  .partner-metric strong { font-size:23px; margin-top:15px; }
  .partner-metric small { font-size:10px; }
  .partner-panel-head,.partner-toolbar { padding:22px 19px; }
  .partner-panel-head h2 { font-size:20px; }
  .partner-toolbar { align-items:stretch; flex-direction:column; gap:17px; }
  .partner-filter { width:100%; }
  .partner-table { min-width:700px; }
  .partner-table th:first-child,.partner-table td:first-child { padding-left:19px; }
  .partner-form-grid { grid-template-columns:1fr; gap:20px; margin-top:24px; }
  .partner-dialog { width:calc(100% - 24px); max-height:calc(100dvh - 24px); }
  .partner-dialog-shell { max-height:calc(100dvh - 26px); padding:27px 21px 24px; }
  .partner-dialog-head h2 { font-size:24px; }
  .partner-dialog-actions { gap:8px; }
  .partner-dialog-actions .partner-button { flex:1; min-width:0; padding:12px 10px; font-size:9px; white-space:normal; }
  .partner-code-panel { grid-template-columns:1fr; padding:25px 20px; gap:24px; }
  .partner-code-box { width:100%; }
}
@media(max-width:360px) { .partner-metric strong { font-size:20px; } .partner-metric-icon { display:none; } .partner-metric>span:not(.partner-metric-icon) { padding-right:0; } }
@media(prefers-reduced-motion:reduce) { .partner-heading,.partner-dialog[open],.partner-dialog::backdrop,.partner-select-menu { animation:none; } .partner-metric:hover { transform:none; } }
