:root {
  --partner-blue: #6d9eff;
  --partner-purple: #a586ff;
  --partner-green: #4de3a8;
  --partner-border: rgba(169, 189, 226, .12);
  --partner-surface: rgba(12, 21, 36, .78);
  --partner-subtle: #9caec9;
}

[hidden] { display: none !important; }

.partner-page {
  background:
    radial-gradient(860px 430px at 7% -4%, rgba(79, 116, 244, .17), transparent 65%),
    radial-gradient(650px 420px at 96% 2%, rgba(173, 82, 189, .12), transparent 70%),
    #070e19;
}

.partner-header { background: rgba(7, 14, 25, .82); }
.partner-header-inner { min-height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.partner-header .brand-copy { display: grid; }
.partner-header-links { display: flex; align-items: center; gap: 26px; font-size: 14px; color: #c6d2e5; }
.partner-header-links a:hover { color: #fff; }
.partner-home-link { padding: 10px 16px; border: 1px solid var(--partner-border); border-radius: 12px; }
.partner-main { padding: 68px 0 100px; min-height: calc(100vh - 160px); }
.partner-loading { min-height: 54vh; display: grid; place-content: center; justify-items: center; gap: 18px; color: var(--partner-subtle); }
.partner-spinner { width: 28px; height: 28px; border: 2px solid rgba(133, 161, 216, .22); border-top-color: #a8c1ff; border-radius: 50%; animation: partner-spin .8s linear infinite; }
@keyframes partner-spin { to { transform: rotate(360deg); } }

.partner-kicker { display: inline-flex; align-items: center; gap: 9px; color: #aabef0; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .11em; }
.partner-kicker > span { width: 8px; height: 8px; border-radius: 50%; background: var(--partner-green); box-shadow: 0 0 15px rgba(77, 227, 168, .8); }
.auth-shell { max-width: 1110px; margin: 24px auto; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr); gap: 70px; align-items: center; }
.auth-intro h1 { margin: 22px 0 17px; font-size: clamp(40px, 5.3vw, 64px); line-height: 1.03; letter-spacing: -.065em; }
.auth-gradient { background: linear-gradient(100deg, #81aaff 5%, #b39aff 57%, #ff9bc1); background-clip: text; -webkit-background-clip: text; color: transparent; }
.auth-intro > p { max-width: 510px; margin: 0; color: var(--partner-subtle); font-size: 18px; line-height: 1.72; }
.auth-intro > p strong { color: #eef4ff; font-weight: 700; }
.auth-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--partner-border); }
.auth-benefits div { display: grid; gap: 6px; }
.auth-benefits strong { color: #fff; font-size: 23px; letter-spacing: -.04em; }
.auth-benefits span { color: var(--partner-subtle); font-size: 12px; line-height: 1.55; }
.auth-example { margin-top: 31px; padding: 15px 17px; color: #d4dfef; font-size: 13px; line-height: 1.65; background: rgba(83, 130, 220, .09); border: 1px solid rgba(112, 157, 242, .13); border-radius: 14px; }
.auth-example > span { color: #97b9ff; }
.auth-example strong { color: var(--partner-green); }
.auth-card { padding: 29px; border-color: var(--partner-border); border-radius: 25px; background: linear-gradient(158deg, rgba(20, 30, 47, .93), rgba(11, 19, 32, .95)); }
.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; padding: 5px; background: rgba(255, 255, 255, .035); border: 1px solid rgba(255, 255, 255, .05); border-radius: 13px; }
.auth-tab { min-height: 39px; padding: 0 8px; color: #a8b5ca; background: none; border: 0; border-radius: 10px; font-family: inherit; font-size: 12px; font-weight: 600; line-height: 1.2; cursor: pointer; }
.auth-tab.active { color: #fff; background: linear-gradient(130deg, rgba(86, 128, 224, .24), rgba(167, 102, 226, .18)); }
.auth-form { display: grid; gap: 15px; padding-top: 23px; }
.auth-form-heading h2 { margin: 0 0 5px; font-size: 22px; letter-spacing: -.035em; }
.auth-form-heading p { margin: 0; color: var(--partner-subtle); font-size: 13px; line-height: 1.65; }
.partner-field { display: grid; gap: 7px; color: #cfdaeb; font-size: 12px; font-weight: 600; }
.partner-field input { width: 100%; height: 48px; padding: 0 13px; color: #f2f6ff; background: rgba(5, 10, 19, .56); border: 1px solid rgba(176, 194, 222, .13); border-radius: 11px; outline: none; font-family: inherit; font-size: 14px; line-height: 1.2; transition: border-color .2s, box-shadow .2s; }
.partner-field input::placeholder { color: #738299; }
.partner-field input:focus { border-color: rgba(115, 158, 255, .75); box-shadow: 0 0 0 3px rgba(95, 143, 240, .12); }
.partner-input-wrap { position: relative; display: block; }
.partner-input-wrap input { padding-right: 48px; }
.input-icon-button { position: absolute; right: 5px; top: 5px; width: 38px; height: 38px; display: grid; place-items: center; color: #a9b9d2; background: none; border: 0; border-radius: 8px; font-size: 19px; cursor: pointer; }
.input-icon-button:hover { color: white; background: rgba(255, 255, 255, .07); }
.refresh-credentials, .text-button { justify-self: start; padding: 0; color: #9dbbff; background: none; border: 0; font-family: inherit; font-size: 13px; line-height: 1.5; cursor: pointer; }
.refresh-credentials:hover, .text-button:hover { color: #c5d7ff; }
.credentials-warning { display: flex; gap: 11px; padding: 13px; background: rgba(250, 175, 69, .09); border: 1px solid rgba(252, 172, 68, .2); border-radius: 12px; }
.credentials-warning > span { margin-top: 1px; color: #ffc067; font-size: 18px; }
.credentials-warning > div { display: grid; gap: 4px; }
.credentials-warning strong { color: #ffce80; font-size: 12px; }
.credentials-warning div span { color: #dbc9ae; font-size: 12px; line-height: 1.55; }
.partner-check { display: flex; align-items: flex-start; gap: 9px; color: #cad5e5; font-size: 12px; line-height: 1.5; cursor: pointer; }
.partner-check input { flex: 0 0 auto; width: 16px; height: 16px; margin: 1px 0 0; accent-color: #77a3ff; }
.partner-button { min-height: 44px; padding: 0 16px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 11px; font-family: inherit; font-size: 13px; font-weight: 600; line-height: 1.2; text-align: center; cursor: pointer; transition: transform .18s, background .18s, opacity .18s, border-color .18s; }
.partner-button:hover:not(:disabled) { transform: translateY(-1px); }
.partner-button:disabled { cursor: not-allowed; opacity: .55; }
.partner-button-block { width: 100%; }
.partner-button-primary { color: #fff; background: linear-gradient(115deg, #597ef1, #8869e9 61%, #bc70cd); box-shadow: 0 8px 24px rgba(101, 97, 236, .23); }
.partner-button-outline { color: #e5edff; background: rgba(108, 141, 211, .075); border: 1px solid rgba(139, 171, 232, .19); }
.partner-button-outline:hover { border-color: rgba(153, 182, 249, .42); background: rgba(108, 141, 211, .12); }
.partner-button-ghost { color: #b8c6db; background: rgba(255, 255, 255, .04); border: 1px solid var(--partner-border); }
.auth-note { margin: 0; color: #8e9cb2; font-size: 11px; line-height: 1.6; text-align: center; }

.dashboard { max-width: 1120px; margin: 0 auto; }
.dashboard-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 29px; }
.dashboard-heading h1 { margin: 10px 0 2px; font-size: clamp(30px, 4vw, 44px); line-height: 1.1; letter-spacing: -.055em; }
.dashboard-heading h1 span { color: #adbbff; }
.dashboard-heading p { margin: 5px 0 0; color: var(--partner-subtle); font-size: 14px; }
.overview-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 17px; }
.balance-card { min-height: 245px; position: relative; padding: 24px; overflow: hidden; background: radial-gradient(380px 220px at 85% 0%, rgba(239, 121, 208, .27), transparent 72%), linear-gradient(135deg, #354eb6 0%, #6041ab 54%, #6b408c 100%); border: 1px solid rgba(205, 176, 255, .22); border-radius: 21px; }
.balance-top { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #e2e6ff; font-size: 13px; }
.live-indicator { display: inline-flex; align-items: center; gap: 6px; color: rgba(255, 255, 255, .8); font-size: 10px; }
.live-indicator i { width: 7px; height: 7px; border-radius: 50%; background: #71f0b5; box-shadow: 0 0 12px #71f0b5; }
.balance-value { margin-top: 15px; color: #fff; font-size: clamp(41px, 6vw, 56px); font-weight: 770; line-height: 1.1; letter-spacing: -.065em; }
.balance-card > p { margin: 5px 0 17px; color: rgba(238, 237, 255, .83); font-size: 12px; }
.balance-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.partner-button-light { color: #253364; background: #f4f5ff; }
.partner-button-translucent { color: #fff; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .2); }
.balance-minimum { margin-top: 13px; color: rgba(244, 242, 255, .76); font-size: 11px; }
.balance-minimum strong { color: #fff; }
.stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.stat-card { min-height: 116px; padding: 16px; display: grid; align-content: center; gap: 3px; background: var(--partner-surface); border: 1px solid var(--partner-border); border-radius: 17px; }
.stat-card > span { color: #a7b5ca; font-size: 11px; }
.stat-card strong { font-size: 28px; line-height: 1.15; letter-spacing: -.045em; }
.stat-card small { color: #8394ad; font-size: 10px; }
.stat-card-accent { background: radial-gradient(180px 110px at 90% 10%, rgba(116, 95, 208, .19), transparent 70%), var(--partner-surface); }
.stat-card-accent strong { color: #b5a2ff; }
.dashboard-card { margin-top: 18px; padding: 24px; background: var(--partner-surface); border: 1px solid var(--partner-border); border-radius: 19px; }
.card-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.card-title-row > div:first-child { display: grid; grid-template-columns: 30px 1fr; column-gap: 9px; align-items: center; }
.section-icon { grid-row: span 2; align-self: start; display: grid; place-items: center; width: 30px; height: 30px; margin-top: 1px; color: #a4baff; background: rgba(113, 147, 241, .12); border-radius: 9px; font-size: 18px; }
.card-title-row h2, .settings-heading h2, .history-heading h2 { margin: 0; font-size: 18px; line-height: 1.2; letter-spacing: -.03em; }
.card-title-row p { margin: 4px 0 0; color: var(--partner-subtle); font-size: 12px; line-height: 1.6; }
.vpn-empty { display: flex; align-items: center; gap: 13px; margin-top: 20px; padding: 17px; background: rgba(255, 255, 255, .025); border: 1px dashed rgba(167, 189, 222, .15); border-radius: 13px; }
.vpn-empty-icon { display: grid; place-items: center; width: 40px; height: 40px; color: #9cb0cc; background: rgba(255, 255, 255, .045); border-radius: 12px; font-size: 25px; }
.vpn-empty strong, .vpn-order-top strong { color: #e7edf8; font-size: 13px; }
.vpn-empty p, .vpn-order-top span { margin: 3px 0 0; color: #9aacbf; font-size: 11px; }
.vpn-orders { display: grid; gap: 10px; margin-top: 18px; }
.vpn-order { padding: 15px; background: rgba(255, 255, 255, .029); border: 1px solid rgba(179, 195, 222, .09); border-radius: 13px; }
.vpn-order-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.vpn-key-row { display: flex; gap: 9px; margin-top: 12px; }
.vpn-key-row input { flex: 1; min-width: 0; height: 40px; padding: 0 11px; color: #c9dcfb; background: rgba(5, 10, 19, .65); border: 1px solid rgba(176, 194, 222, .13); border-radius: 9px; font: 11px/1.2 ui-monospace, monospace; }
.vpn-key-row button { min-height: 40px; }
.commission-pill { flex: 0 0 auto; padding: 7px 11px; color: #6ef0b7; background: rgba(57, 207, 145, .095); border: 1px solid rgba(78, 221, 160, .15); border-radius: 999px; font-size: 11px; font-weight: 700; }
.stat-dual-rate { white-space: nowrap; font-size: 25px !important; }
.stat-dual-rate i { color: #aab8d0; font-size: 15px; font-style: normal; }
.steps-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 23px; }
.step-card { min-height: 137px; padding: 16px; background: rgba(255, 255, 255, .025); border: 1px solid rgba(166, 191, 228, .085); border-radius: 13px; }
.step-card > span { color: #90aaff; font-size: 12px; font-weight: 700; }
.step-card strong { display: block; margin-top: 8px; font-size: 12px; }
.step-card p { margin: 5px 0 0; color: #9cacbf; font-size: 11px; line-height: 1.55; }
.earning-example { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; padding: 13px 15px; background: linear-gradient(90deg, rgba(90, 118, 210, .1), rgba(100, 211, 159, .065)); border: 1px solid rgba(123, 166, 232, .11); border-radius: 11px; }
.earning-example > span { color: #b7c6dc; font-size: 12px; }
.earning-example > div { display: flex; align-items: center; gap: 9px; }
.earning-example strong { font-size: 13px; }
.earning-example i { color: #8191a9; font-style: normal; }
.earning-example-result { color: var(--partner-green); }
.commission-model { display: grid; grid-template-columns: minmax(0, 1fr) 35px minmax(0, 1fr); align-items: center; gap: 10px; margin-top: 17px; }
.commission-tier { min-height: 124px; display: grid; align-content: center; gap: 5px; padding: 17px; border: 1px solid rgba(151, 175, 230, .15); border-radius: 14px; }
.commission-tier-first { background: linear-gradient(135deg, rgba(85, 125, 237, .15), rgba(101, 104, 210, .08)); }
.commission-tier-repeat { background: linear-gradient(135deg, rgba(76, 196, 146, .13), rgba(88, 155, 203, .08)); }
.commission-tier > span { color: #c0cce0; font-size: 11px; line-height: 1.5; }
.commission-tier > strong { color: #edf4ff; font-size: 36px; line-height: 1; letter-spacing: -.055em; }
.commission-tier-repeat > strong { color: #75eabc; }
.commission-tier > strong i { margin-left: 4px; font-size: 13px; font-style: normal; letter-spacing: 0; }
.commission-tier > small { color: #9daec5; font-size: 10px; line-height: 1.5; }
.commission-model-arrow { color: #a5b7dd; font-size: 23px; text-align: center; }
.earning-examples { display: grid; gap: 9px; margin-top: 14px; }
.earning-examples .earning-example { margin-top: 0; }
.earning-example-repeat { background: linear-gradient(90deg, rgba(60, 176, 133, .095), rgba(98, 153, 202, .06)); }
.lifetime-promise { display: flex; align-items: flex-start; gap: 12px; margin-top: 15px; padding: 15px 16px; color: #b5c4d8; background: rgba(102, 119, 233, .07); border: 1px solid rgba(126, 140, 238, .12); border-radius: 12px; }
.lifetime-promise > span { color: #a99bff; font-size: 23px; line-height: 1; }
.lifetime-promise p { margin: 0; font-size: 11px; line-height: 1.7; }
.lifetime-promise strong { color: #e8effd; }
.poster-layout { display: grid; grid-template-columns: minmax(255px, .83fr) minmax(260px, 1fr); gap: 34px; align-items: center; margin-top: 30px; padding-top: 28px; border-top: 1px solid rgba(173, 191, 219, .09); }
.poster-preview-wrap { position: relative; overflow: hidden; background: #070d16; border: 1px solid rgba(153, 173, 220, .13); border-radius: 18px; }
.poster-preview-wrap canvas { width: 100%; height: auto; aspect-ratio: 4 / 5; display: block; }
.poster-loading { position: absolute; inset: 0; display: grid; align-content: center; justify-items: center; gap: 13px; padding: 20px; color: #b5c2d7; background: #0c1420; font-size: 12px; text-align: center; }
.poster-sidebar h3 { margin: 15px 0 8px; font-size: 24px; line-height: 1.15; letter-spacing: -.045em; }
.poster-sidebar > p { margin: 0 0 18px; color: var(--partner-subtle); font-size: 13px; line-height: 1.7; }
.poster-downloads { display: grid; gap: 9px; }
.poster-downloads > span { margin-bottom: 1px; color: #aebbd0; font-size: 11px; font-weight: 650; }
.poster-generator { display: grid; gap: 8px; margin: 18px 0; padding: 13px; background: linear-gradient(135deg, rgba(115, 106, 255, .12), rgba(204, 91, 207, .07)); border: 1px solid rgba(153, 143, 255, .18); border-radius: 13px; }
.poster-generator .partner-button-accent { color: #fff; background: linear-gradient(110deg, #655ce8, #a85eca); border: 0; box-shadow: 0 10px 28px rgba(88, 76, 210, .2); }
.poster-generator .partner-button-accent:hover { filter: brightness(1.08); transform: translateY(-1px); }
.poster-generator p { min-height: 31px; margin: 0; color: #aebbd0; font-size: 10px; line-height: 1.55; }
.referral-field { margin: 18px 0 10px; }
.referral-field input { font-size: 11px; }
.poster-hint { margin-top: 11px; color: #8393aa; font-size: 11px; line-height: 1.55; }
.rules-details { margin-top: 25px; padding-top: 20px; border-top: 1px solid rgba(173, 191, 219, .09); }
.rules-details summary { color: #c9d7ea; font-size: 13px; font-weight: 650; cursor: pointer; }
.rules-details ol { margin: 13px 0 0; padding-left: 21px; color: #a8b6ca; font-size: 12px; line-height: 1.7; }
.rules-details li + li { margin-top: 7px; }
.rules-details strong { color: #e7edf8; }
.settings-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.settings-card { min-width: 0; margin-top: 16px; padding: 18px; }
.settings-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 17px; }
.settings-heading h2 { font-size: 14px; }
.settings-heading p { margin: 3px 0 0; color: var(--partner-subtle); font-size: 10px; }
.settings-icon { flex: 0 0 auto; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; font-size: 18px; }
.telegram-icon { color: #84bfff; background: rgba(100, 159, 242, .13); }
.email-icon { color: #e7a3ff; background: rgba(178, 109, 231, .13); }
.password-icon { color: #77e4b6; background: rgba(85, 199, 151, .12); }
.connection-status { margin-bottom: 13px; padding: 9px 11px; color: #b2bfd2; background: rgba(255, 255, 255, .04); border-radius: 9px; font-size: 12px; }
.connection-status.connected { color: #76eab7; background: rgba(72, 204, 146, .09); }
.settings-form { display: grid; gap: 10px; }
.settings-hint { margin: 12px 0 0; color: #91a0b6; font-size: 10px; line-height: 1.7; }
#telegram-disconnect { margin-top: 10px; }
.history-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.history-card { margin-top: 16px; padding: 18px; }
.history-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.history-heading h2 { font-size: 15px; }
.history-heading > span { min-width: 26px; padding: 2px 7px; color: #c5d3e7; background: rgba(255, 255, 255, .07); border-radius: 8px; font-size: 11px; text-align: center; }
.history-list { display: grid; gap: 1px; margin-top: 12px; }
.history-item { display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 11px 0; border-bottom: 1px solid rgba(166, 186, 218, .09); }
.history-item:last-child { border-bottom: 0; }
.history-item-main { min-width: 0; display: grid; gap: 2px; }
.history-item-main strong { overflow: hidden; color: #dbe5f3; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.history-item-main span { color: #94a3b8; font-size: 10px; }
.history-item-amount { flex: 0 0 auto; color: #dce6f4; font-size: 12px; font-weight: 700; }
.history-item-amount.positive { color: #72ecb7; }
.history-empty { padding: 19px 0 5px; color: #94a4ba; font-size: 11px; }
.status-badge { flex: 0 0 auto; padding: 4px 8px; border-radius: 8px; font-size: 10px; font-weight: 650; }
.status-pending { color: #ffd08a; background: rgba(255, 188, 86, .12); }
.status-approved { color: #71efb4; background: rgba(78, 220, 154, .12); }
.status-cancelled { color: #ff9ba7; background: rgba(250, 105, 125, .12); }

.partner-modal-backdrop { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: 20px; overflow-y: auto; background: rgba(2, 7, 14, .74); backdrop-filter: blur(8px); }
.partner-modal { position: relative; width: min(490px, 100%); max-height: min(760px, calc(100vh - 40px)); overflow-y: auto; padding: 27px; background: linear-gradient(155deg, #132034, #0b1422); border: 1px solid rgba(175, 193, 224, .16); border-radius: 21px; box-shadow: 0 28px 95px rgba(0, 0, 0, .48); }
.modal-close { position: absolute; right: 15px; top: 14px; width: 35px; height: 35px; display: grid; place-items: center; color: #b6c4d8; background: rgba(255, 255, 255, .055); border: 0; border-radius: 10px; font-size: 24px; cursor: pointer; }
.modal-title { margin: 4px 35px 6px 0; font-size: 24px; line-height: 1.2; letter-spacing: -.045em; }
.modal-lead { margin: 0 0 18px; color: #a8b6ca; font-size: 12px; line-height: 1.7; }
.withdraw-form { display: grid; gap: 12px; }
.network-notice { display: flex; gap: 9px; padding: 11px; color: #c5d7f2; background: rgba(107, 140, 223, .11); border: 1px solid rgba(116, 157, 234, .12); border-radius: 11px; font-size: 11px; line-height: 1.6; }
.network-notice strong { color: #fff; }
.conversion-card { padding: 14px; background: rgba(255, 255, 255, .035); border: 1px solid rgba(173, 189, 219, .09); border-radius: 12px; }
.conversion-card > span { display: block; color: #a2b2c9; font-size: 11px; }
.conversion-card > strong { display: block; margin-top: 5px; color: #e9f2ff; font-size: 26px; letter-spacing: -.04em; }
.conversion-card small { display: block; margin-top: 3px; color: #93a4b8; font-size: 10px; }
.withdraw-available { display: flex; justify-content: space-between; gap: 8px; color: #a9b8ca; font-size: 11px; }
.withdraw-available strong { color: #e7efff; }
.modal-disclaimer { margin: 0; color: #91a0b5; font-size: 10px; line-height: 1.65; }
.plan-grid { display: grid; gap: 9px; }
.plan-option { width: 100%; padding: 13px 14px; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #e6edfb; background: rgba(255, 255, 255, .035); border: 1px solid rgba(173, 193, 222, .12); border-radius: 12px; text-align: left; cursor: pointer; }
.plan-option:hover { border-color: rgba(133, 163, 243, .5); background: rgba(98, 130, 227, .1); }
.plan-option > span { display: grid; gap: 3px; }
.plan-option > span strong { font-size: 13px; }
.plan-option > span small { color: #a2b3c8; font-size: 10px; }
.plan-option > strong { flex: 0 0 auto; color: #dce6ff; font-size: 14px; }
.payment-choice { display: grid; gap: 9px; margin-top: 17px; }
.payment-choice button { justify-content: space-between; min-height: 53px; }
.payment-choice small { color: inherit; opacity: .8; font-size: 10px; }
.partner-toast { position: fixed; z-index: 1200; right: max(20px, env(safe-area-inset-right)); bottom: max(20px, env(safe-area-inset-bottom)); max-width: min(420px, calc(100vw - 32px)); padding: 13px 17px; color: #f3f8ff; background: #152238; border: 1px solid rgba(155, 179, 222, .22); border-radius: 12px; box-shadow: 0 15px 45px rgba(0, 0, 0, .37); font-size: 12px; line-height: 1.6; }
.partner-toast.error { border-color: rgba(244, 116, 132, .45); background: #321923; }
.partner-toast.success { border-color: rgba(105, 218, 166, .35); }
.partner-footer { padding: 21px 0; border-top: 1px solid rgba(168, 185, 216, .08); }
.partner-footer .container { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #8495ad; font-size: 11px; }
.partner-footer a { color: #acc5f6; }

@media (max-width: 980px) {
  .auth-shell { grid-template-columns: 1fr; gap: 33px; max-width: 580px; margin-top: 0; }
  .auth-intro h1 { font-size: clamp(40px, 7vw, 60px); }
  .auth-benefits { margin-top: 25px; }
  .overview-grid { grid-template-columns: 1fr; }
  .settings-grid { grid-template-columns: 1fr 1fr; }
  .settings-card:last-child { grid-column: 1 / -1; }
  .settings-card:last-child .settings-form { grid-template-columns: 1fr 1fr; align-items: end; }
  .settings-card:last-child .settings-form button { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  .partner-header-inner { min-height: 69px; }
  .partner-header .brand img { width: 40px; height: 40px; }
  .partner-header .brand-name { font-size: 15px; }
  .partner-header .brand-tag { font-size: 10px; }
  .partner-header-links { gap: 8px; }
  .partner-header-links > a:not(.partner-home-link) { display: none; }
  .partner-home-link { padding: 8px 10px; font-size: 11px; }
  .partner-main { padding: 34px 0 65px; }
  .auth-shell { gap: 25px; }
  .auth-intro h1 { margin-top: 18px; font-size: clamp(34px, 9vw, 49px); }
  .auth-intro > p { font-size: 15px; }
  .auth-benefits { gap: 9px; }
  .auth-benefits strong { font-size: 18px; }
  .auth-benefits span { font-size: 10px; }
  .auth-card { padding: 20px; }
  .auth-example { margin-top: 19px; font-size: 12px; }
  .dashboard-heading { align-items: flex-start; }
  .dashboard-heading .partner-button { min-height: 37px; padding: 0 11px; font-size: 11px; }
  .dashboard-heading p { font-size: 12px; }
  .overview-grid { gap: 12px; }
  .balance-card { min-height: auto; padding: 19px; }
  .live-indicator { font-size: 9px; }
  .balance-value { font-size: 44px; }
  .balance-actions { gap: 7px; }
  .balance-actions .partner-button { min-height: 39px; padding: 0 11px; font-size: 11px; }
  .stats-grid { gap: 9px; }
  .stat-card { min-height: 95px; padding: 12px; }
  .stat-card strong { font-size: 24px; }
  .stat-dual-rate { font-size: clamp(18px, 5.3vw, 23px) !important; }
  .stat-dual-rate i { font-size: 12px; }
  .dashboard-card { margin-top: 13px; padding: 17px; }
  .card-title-row { align-items: center; }
  .card-title-row h2 { font-size: 15px; }
  .card-title-row p { font-size: 10px; }
  .card-title-row > .partner-button { min-height: 36px; padding: 0 9px; font-size: 10px; }
  .vpn-empty { padding: 12px; }
  .vpn-empty strong { font-size: 12px; }
  .steps-grid { grid-template-columns: 1fr; gap: 9px; }
  .step-card { min-height: 0; padding: 13px; }
  .step-card strong { display: inline; margin-left: 9px; }
  .step-card p { margin-top: 5px; }
  .commission-pill { max-width: 121px; font-size: 10px; text-align: center; }
  .commission-model { grid-template-columns: 1fr; gap: 6px; }
  .commission-tier { min-height: 105px; padding: 14px; }
  .commission-model-arrow { font-size: 19px; transform: rotate(90deg); }
  .lifetime-promise { padding: 12px; }
  .earning-example { align-items: flex-start; flex-direction: column; gap: 6px; }
  .poster-layout { grid-template-columns: 1fr; gap: 22px; }
  .poster-preview-wrap { width: min(380px, 100%); margin: 0 auto; }
  .poster-sidebar h3 { font-size: 21px; }
  .settings-grid, .history-grid { grid-template-columns: 1fr; gap: 0; }
  .settings-card:last-child .settings-form { grid-template-columns: 1fr; }
  .settings-card:last-child .settings-form button { grid-column: auto; }
  .settings-card, .history-card { margin-top: 12px; }
  .partner-modal { padding: 22px; }
  .partner-footer .container { align-items: flex-start; flex-direction: column; gap: 7px; }
}

@media (max-width: 370px) {
  .auth-tab { font-size: 11px; }
  .live-indicator { display: none; }
  .balance-actions { flex-direction: column; align-items: stretch; }
  .commission-pill { font-size: 9px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
