:root {
    color-scheme: light;
    --p-ink: #202a26;
    --p-muted: #68766f;
    --p-bg: #f2f6f3;
    --p-panel: #ffffff;
    --p-panel-2: #f6f9f7;
    --p-line: rgba(38, 68, 55, .13);
    --p-mint: #167451;
    --p-gold: #9a712c;
    --p-danger: #bd5050;
    --p-shadow: 0 20px 55px rgba(37, 58, 49, .09);
}

html,
body {
    background: var(--p-bg);
    color: var(--p-ink);
}

body {
    background:
        radial-gradient(circle at 92% 4%, rgba(31, 139, 96, .09), transparent 29%),
        linear-gradient(145deg, #f7faf8, #eef4f0 70%);
}

.partner-sidebar {
    border-color: var(--p-line);
    background: linear-gradient(180deg, #ffffff, #f5f8f6);
    box-shadow: 12px 0 35px rgba(36, 58, 48, .05);
}

.partner-brand strong,
.partner-identity strong,
.partner-sidebar-foot > strong,
.partner-topbar strong,
.partner-page-head h1,
.partner-panel h2,
.partner-client-card h2,
.partner-client-list strong,
.partner-metrics strong,
.partner-pay-strip strong {
    color: var(--p-ink);
}

.partner-identity {
    border-color: rgba(22, 116, 81, .17);
    background: linear-gradient(135deg, rgba(22, 116, 81, .09), rgba(154, 113, 44, .035));
}

.partner-nav p,
.partner-sidebar-foot > span {
    color: #77827d;
}

.partner-nav a {
    color: #596861;
}

.partner-nav a:hover,
.partner-nav a.is-active {
    border-color: rgba(22, 116, 81, .17);
    background: rgba(22, 116, 81, .09);
    color: #183129;
}

.partner-nav-icon {
    background: #eaf2ee;
    color: var(--p-mint);
}

.partner-nav a small {
    color: #718079;
}

.partner-sidebar-foot button {
    border-color: var(--p-line);
    background: #ffffff;
    color: #56645e;
}

.partner-topbar {
    border-color: var(--p-line);
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 8px 28px rgba(36, 58, 48, .04);
}

.partner-menu {
    color: var(--p-ink);
}

.partner-top-profile > span {
    background: linear-gradient(135deg, #2a956d, #126447);
    color: #ffffff;
}

.partner-mode-strip { display: grid; grid-template-columns: minmax(220px, .9fr) minmax(360px, 1.35fr) auto; gap: 24px; align-items: center; margin: 16px 0; padding: 20px 22px; border: 1px solid var(--p-line); border-radius: 19px; background: linear-gradient(115deg, rgba(22, 116, 81, .055), transparent 42%), #fff; box-shadow: 0 12px 32px rgba(37, 58, 49, .045); }
.partner-mode-summary { min-width: 0; display: flex; flex-direction: column; }
.partner-mode-badge { width: fit-content; margin-bottom: 7px; padding: 5px 8px; border-radius: 999px; background: rgba(22, 116, 81, .09); color: #1b7054; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.partner-mode-summary > strong { overflow: hidden; color: var(--p-ink); font: 800 16px 'Manrope', sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.partner-mode-summary > small { margin-top: 5px; color: #69776f; font-size: 10px; }
.partner-overview-codes { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(125px, 1fr)); gap: 8px; padding-left: 22px; border-left: 1px solid var(--p-line); }
.overview-code { min-width: 0; padding: 10px 12px; border: 1px solid rgba(25, 105, 80, .12); border-radius: 11px; background: #f5f9f7; }
.overview-code > small, .overview-code > strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.overview-code > small { color: #748179; font-size: 8px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.overview-code > strong { margin-top: 4px; color: #345e4e; font: 800 12px 'Manrope', sans-serif; letter-spacing: .035em; }
.overview-code.primary { border-color: rgba(154, 113, 44, .24); background: linear-gradient(135deg, rgba(240, 221, 180, .62), rgba(255, 255, 255, .9)); }
.overview-code.primary > small { color: #89672e; }.overview-code.primary > strong { color: #5d451e; }
.partner-overview-codes > p { grid-column: 1 / -1; margin: 0 2px; color: #76827b; font-size: 9px; line-height: 1.45; }
.partner-mode-action { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-width: 150px; padding: 11px 13px; border: 1px solid rgba(22, 116, 81, .16); border-radius: 11px; background: #fff; color: #236d54; font-size: 10px; font-weight: 800; white-space: nowrap; }
.partner-mode-action span { font-size: 14px; transition: transform .2s ease; }.partner-mode-action:hover span { transform: translateX(3px); }
@media (max-width: 1050px) { .partner-mode-strip { grid-template-columns: minmax(200px, .8fr) minmax(330px, 1.2fr); }.partner-mode-action { grid-column: 1 / -1; justify-self: end; } }
@media (max-width: 700px) { .partner-mode-strip { grid-template-columns: 1fr; gap: 16px; padding: 18px; }.partner-overview-codes { padding: 15px 0 0; border-top: 1px solid var(--p-line); border-left: 0; }.partner-mode-action { grid-column: auto; justify-self: stretch; }.partner-mode-summary > strong { white-space: normal; } }
@media (max-width: 420px) { .partner-overview-codes { grid-template-columns: 1fr; }.partner-overview-codes > p { grid-column: auto; } }

.partner-hero {
    border-color: rgba(22, 116, 81, .17);
    background:
        radial-gradient(circle at 92% 8%, rgba(22, 116, 81, .12), transparent 38%),
        linear-gradient(125deg, #ffffff, #f4f8f5);
}

.partner-hero::after {
    border-color: rgba(22, 116, 81, .1);
    box-shadow: 0 0 0 50px rgba(22, 116, 81, .025), 0 0 0 100px rgba(22, 116, 81, .018);
}

.partner-hero p {
    color: #64736c;
}

.partner-hero p strong,
.partner-empty h3,
.partner-table td:first-child,
.partner-table td.amount {
    color: var(--p-ink);
}

.partner-secondary {
    border-color: var(--p-line);
    background: #ffffff;
    color: #47564f;
}

.partner-primary {
    background: #167451;
    color: #ffffff;
    box-shadow: 0 8px 24px rgba(22, 116, 81, .16);
}

.partner-hero-balance {
    border-color: var(--p-line);
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 12px 32px rgba(36, 58, 48, .07);
}

.partner-panel,
.partner-metrics article,
.partner-filterbar,
.partner-client-card,
.partner-pay-strip article {
    border-color: var(--p-line);
    background: var(--p-panel);
    box-shadow: 0 11px 30px rgba(36, 58, 48, .045);
}

.partner-client-list article:hover {
    background: #f5f8f6;
}

.partner-company-avatar {
    border-color: rgba(22, 116, 81, .14);
    background: linear-gradient(135deg, #e4f1ea, #f3f7f4);
    color: var(--p-mint);
}

.partner-badge {
    background: #edf1ef;
    color: #64716b;
}

.payout-card {
    border-color: rgba(22, 116, 81, .16);
    background: linear-gradient(130deg, #e9f4ee, #f8faf8);
}

.partner-note,
.partner-head-stat span,
.partner-pay-strip small,
.partner-metrics article div span,
.partner-table td > small,
.partner-table th {
    color: #718079;
}

.partner-table th {
    background: #f7f9f8;
}

.partner-table td {
    color: #586760;
}

.partner-client-card footer a,
.partner-pager a {
    color: #4f6058;
}

.client-reach {
    background: #f5f8f6;
}

.partner-filterbar input,
.partner-filterbar select,
.partner-login-card input {
    border-color: var(--p-line);
    background: #ffffff;
    color: var(--p-ink);
}

.partner-filterbar input:focus,
.partner-filterbar select:focus,
.partner-login-card input:focus {
    border-color: rgba(22, 116, 81, .48);
    box-shadow: 0 0 0 3px rgba(22, 116, 81, .08);
}

.partner-status-tabs .is-active {
    border-color: rgba(22, 116, 81, .18);
    background: rgba(22, 116, 81, .08);
    color: var(--p-mint);
}

.partner-login-page {
    background: #f2f6f3;
}

.partner-login-glow.one {
    background: radial-gradient(circle, rgba(22, 116, 81, .12), transparent 68%);
}

.partner-login-glow.two {
    background: radial-gradient(circle, rgba(154, 113, 44, .08), transparent 70%);
}

.partner-login-shell {
    border-color: var(--p-line);
    background: #ffffff;
    box-shadow: 0 35px 90px rgba(36, 58, 48, .14);
}

.partner-login-story {
    background:
        radial-gradient(circle at 16% 12%, rgba(22, 116, 81, .11), transparent 42%),
        linear-gradient(145deg, #edf6f1, #f8faf8);
}

.partner-login-copy h1,
.partner-login-card h2,
.partner-login-brand strong {
    color: var(--p-ink);
}

.partner-login-copy p,
.partner-login-story > small,
.partner-login-points span {
    color: #68776f;
}

.partner-login-card {
    background: #ffffff;
}

.partner-login-help {
    border-color: var(--p-line);
}

@media (max-width: 800px) {
    .partner-sidebar {
        box-shadow: 30px 0 75px rgba(36, 58, 48, .18);
    }
}

.partner-demo-panel { margin-bottom: 18px; }
.partner-demo-panel > header > small { color: #7a867f; font-size: .56rem; }
.partner-demo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 18px; }
.partner-demo-grid article { min-width: 0; display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 11px; padding: 15px; border: 1px solid var(--p-line); border-radius: 14px; background: linear-gradient(145deg, rgba(26, 125, 91, .05), transparent), #fff; }
.partner-demo-grid article > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: rgba(26, 125, 91, .09); color: #23735b; font-size: .7rem; font-weight: 800; }
.partner-demo-grid article > div { min-width: 0; display: flex; flex-direction: column; }
.partner-demo-grid strong { overflow: hidden; color: var(--p-ink); font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.partner-demo-grid small { margin-top: 4px; color: #76827b; font-size: .52rem; }
.partner-demo-grid form, .partner-demo-grid b { grid-column: 2; font-size: .53rem; font-weight: 800; }
.partner-demo-grid form { margin: 0; }
.partner-demo-grid button { padding: 0; border: 0; background: none; color: #236d57; font: inherit; font-size: .53rem; font-weight: 800; cursor: pointer; }
.partner-demo-grid b { color: #a05c54; }
@media (max-width: 950px) { .partner-demo-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .partner-demo-grid { grid-template-columns: 1fr; } }

.partner-security-hero { min-height: 220px; display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-bottom: 16px; padding: 34px; overflow: hidden; border: 1px solid rgba(25, 105, 80, .14); border-radius: 23px; background: radial-gradient(circle at 88% 10%, rgba(25, 125, 91, .12), transparent 18rem), linear-gradient(135deg, #f8fcf9, #eef6f1); box-shadow: 0 18px 45px rgba(36, 58, 48, .07); }
.partner-security-hero h1 { max-width: 700px; margin: 11px 0 9px; color: var(--p-ink); font: 800 clamp(28px, 4vw, 45px)/1.04 'Manrope', sans-serif; letter-spacing: -.045em; }
.partner-security-hero p { max-width: 650px; margin: 0; color: #69776f; font-size: 13px; line-height: 1.65; }
.partner-security-signal { min-width: 230px; display: grid; grid-template-columns: 10px 1fr; gap: 4px 10px; padding: 17px 19px; border: 1px solid rgba(25, 105, 80, .12); border-radius: 15px; background: rgba(255, 255, 255, .75); }
.partner-security-signal > span { width: 8px; height: 8px; grid-row: 1 / 3; align-self: center; border-radius: 50%; background: #268563; box-shadow: 0 0 0 5px rgba(38, 133, 99, .09); }
.partner-security-signal strong { color: #27362f; font-size: 12px; }.partner-security-signal small { color: #78847d; font-size: 10px; }
.partner-security-success { display: flex; align-items: center; gap: 11px; margin-bottom: 16px; padding: 13px 16px; border: 1px solid rgba(31, 139, 101, .16); border-radius: 13px; background: rgba(31, 139, 101, .07); color: #236d54; }.partner-security-success > span { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 9px; background: rgba(31, 139, 101, .1); font-weight: 800; }.partner-security-success div { display: flex; flex-direction: column; }.partner-security-success strong { font-size: 12px; }.partner-security-success small { margin-top: 2px; font-size: 10px; }
.partner-security-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(290px, .65fr); gap: 16px; align-items: start; }
.partner-security-card, .partner-security-guide { overflow: hidden; border: 1px solid var(--p-line); border-radius: 20px; background: #fff; box-shadow: 0 13px 35px rgba(36, 58, 48, .045); }
.partner-security-card > header { display: flex; gap: 13px; padding: 21px 23px; border-bottom: 1px solid var(--p-line); }.partner-security-card > header > span { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; background: rgba(25, 125, 91, .08); color: #24765c; font-size: 10px; font-weight: 800; }.partner-security-card h2, .partner-security-guide h2 { margin: 0; color: var(--p-ink); font: 700 17px 'Manrope', sans-serif; }.partner-security-card header p { margin: 4px 0 0; color: #79857e; font-size: 10px; }
.partner-security-card form { display: grid; gap: 16px; padding: 23px; }.partner-security-card form > label { display: flex; flex-direction: column; gap: 7px; }.partner-security-card label > span { color: #34423b; font-size: 11px; font-weight: 700; }.partner-security-card label > small { color: #7a867f; font-size: 9px; }.partner-security-card label > em { color: #b35050; font-size: 10px; font-style: normal; }
.partner-password-field { display: flex; overflow: hidden; border: 1px solid var(--p-line); border-radius: 11px; background: #fff; }.partner-password-field:focus-within { border-color: rgba(25, 125, 91, .42); box-shadow: 0 0 0 3px rgba(25, 125, 91, .06); }.partner-password-field input { min-width: 0; width: 100%; height: 44px; padding: 0 13px; border: 0; outline: 0; background: transparent; color: var(--p-ink); }.partner-password-field button { width: 58px; border: 0; border-left: 1px solid var(--p-line); background: #fafcfb; color: #557168; font: inherit; font-size: 10px; font-weight: 700; cursor: pointer; }
.partner-security-rule { display: flex; align-items: center; gap: 9px; margin: -5px 0 0; padding: 10px 12px; border-radius: 10px; background: #f6f9f7; }.partner-security-rule span { width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%; background: #2b8b68; }.partner-security-rule p { margin: 0; color: #738078; font-size: 9px; line-height: 1.45; }.partner-security-card footer { display: flex; align-items: center; justify-content: flex-end; gap: 15px; padding-top: 4px; }.partner-security-card footer > a { color: #748079; font-size: 11px; }.partner-security-card footer > button { display: inline-flex; align-items: center; gap: 22px; padding: 12px 16px; border: 0; border-radius: 11px; background: #237457; color: #fff; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.partner-security-guide { padding: 25px; background: linear-gradient(145deg, rgba(25, 125, 91, .045), transparent 40%), #fff; }.partner-security-guide h2 { margin: 9px 0 18px; line-height: 1.35; }.partner-security-guide > div { display: grid; grid-template-columns: 29px 1fr; gap: 10px; padding: 13px 0; border-top: 1px solid var(--p-line); }.partner-security-guide > div > span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; background: rgba(25, 125, 91, .07); color: #277559; font-size: 9px; font-weight: 800; }.partner-security-guide p { margin: 0; color: #6f7d75; font-size: 10px; line-height: 1.55; }
@media (max-width: 900px) { .partner-security-layout { grid-template-columns: 1fr; }.partner-security-hero { align-items: flex-start; flex-direction: column; }.partner-security-signal { min-width: 0; width: 100%; } }
@media (max-width: 560px) { .partner-security-hero { padding: 25px 22px; }.partner-security-card form { padding: 19px; }.partner-security-card footer { align-items: stretch; flex-direction: column-reverse; }.partner-security-card footer > button { justify-content: center; width: 100%; } }

/* Solo and group business workspace */
.partner-structure-hero { position: relative; min-height: 245px; margin-bottom: 16px; padding: 36px; display: flex; align-items: center; justify-content: space-between; gap: 34px; overflow: hidden; border: 1px solid rgba(26, 125, 91, .14); border-radius: 24px; background: radial-gradient(circle at 88% 20%, rgba(216, 179, 106, .13), transparent 17rem), linear-gradient(135deg, #fbfdfb, #edf6f1); box-shadow: 0 18px 48px rgba(36, 58, 48, .07); }
.partner-structure-hero h1 { margin: 11px 0 9px; color: var(--p-ink); font: 800 clamp(28px, 4vw, 46px)/1.04 'Manrope', sans-serif; letter-spacing: -.05em; }
.partner-structure-hero p { max-width: 690px; margin: 0; color: #66766d; font-size: 13px; line-height: 1.7; }
.structure-orbit { width: 120px; height: 120px; flex: 0 0 auto; display: grid; place-items: center; position: relative; border: 1px solid rgba(26, 125, 91, .19); border-radius: 50%; color: #237457; }
.structure-orbit:before, .structure-orbit:after { content: ''; position: absolute; inset: 13px; border: 1px dashed rgba(26, 125, 91, .18); border-radius: inherit; }.structure-orbit:after { inset: -13px; }
.structure-orbit span { position: absolute; top: 5px; right: 20px; width: 10px; height: 10px; border-radius: 50%; background: #d1a45b; box-shadow: 0 0 0 7px rgba(209, 164, 91, .12); }.structure-orbit strong { font: 800 37px 'Manrope', sans-serif; }
.structure-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }.structure-pills span { padding: 8px 11px; border: 1px solid rgba(26, 125, 91, .13); border-radius: 999px; background: rgba(255, 255, 255, .65); color: #52665c; font-size: 10px; font-weight: 700; }
.structure-explainer { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 10px; }.structure-explainer > div { padding: 22px; }.structure-explainer > div + div { border-left: 1px solid var(--p-line); }.structure-explainer span { color: #237457; font-size: 10px; font-weight: 800; }.structure-explainer strong { display: block; margin: 9px 0 5px; color: var(--p-ink); font: 700 14px 'Manrope', sans-serif; }.structure-explainer p { margin: 0; color: #758179; font-size: 10px; line-height: 1.55; }
.personal-share-dial { --share: 0; width: 165px; height: 165px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(#237457 calc(var(--share) * 1%), rgba(35, 116, 87, .09) 0); box-shadow: 0 16px 38px rgba(35, 116, 87, .12); }.personal-share-dial:before { content: ''; position: absolute; width: 137px; height: 137px; border-radius: 50%; background: #f9fcfa; }.personal-share-dial > div { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; }.personal-share-dial small, .personal-share-dial span { color: #718079; font-size: 9px; }.personal-share-dial strong { margin: 5px 0 2px; color: #20372e; font: 800 27px 'Manrope', sans-serif; }
.structure-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }.partner-flash { margin-bottom: 14px; padding: 12px 15px; border-radius: 12px; font-size: 11px; }.partner-flash.success { background: rgba(26, 125, 91, .08); color: #237457; }.partner-flash.error { background: rgba(179, 80, 80, .08); color: #a44c4c; }
.group-allocation-panel { margin-top: 16px; }.group-allocation-panel > header > div { display: flex; flex-direction: column; }.allocation-total { display: flex; flex-direction: column; align-items: flex-end; color: #7a867f; font-size: 9px; }.allocation-total strong { font: 800 21px 'Manrope', sans-serif; }.allocation-total.valid strong { color: #237457; }.allocation-total.invalid strong { color: #b35050; }
.group-member-list { padding: 8px 22px; }.group-member-row { display: grid; grid-template-columns: 42px minmax(170px, 1fr) auto minmax(100px, .8fr) 105px; gap: 13px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--p-line); }.group-member-row.current { margin-inline: -12px; padding-inline: 12px; border-radius: 12px; background: rgba(26, 125, 91, .04); }.member-avatar { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 12px; background: rgba(26, 125, 91, .09); color: #237457; font-weight: 800; }.member-identity { min-width: 0; display: flex; flex-direction: column; }.member-identity strong { color: var(--p-ink); font-size: 12px; }.member-identity small { margin-top: 4px; color: #758179; font-size: 9px; }.group-role { padding: 5px 8px; border-radius: 999px; background: rgba(216, 179, 106, .13); color: #875f21; font-size: 8px; font-weight: 800; }.member-share-track { height: 5px; overflow: hidden; border-radius: 999px; background: #e8efeb; }.member-share-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #237457, #7ab89e); }.member-share-input { display: flex; align-items: center; overflow: hidden; border: 1px solid var(--p-line); border-radius: 10px; background: #fff; }.member-share-input input { min-width: 0; width: 100%; height: 38px; padding: 0 4px 0 11px; border: 0; outline: 0; background: transparent; color: var(--p-ink); font-size: 11px; font-weight: 800; }.member-share-input span { padding-right: 10px; color: #77837c; font-size: 10px; }.allocation-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 22px 21px; }.allocation-actions p { max-width: 650px; margin: 0; color: #77837c; font-size: 9px; line-height: 1.5; }
@media (max-width: 900px) { .partner-structure-hero { align-items: flex-start; flex-direction: column; }.personal-share-dial { width: 140px; height: 140px; }.personal-share-dial:before { width: 116px; height: 116px; }.group-member-row { grid-template-columns: 40px 1fr 100px; }.group-role, .member-share-track { display: none; }.structure-explainer { grid-template-columns: 1fr; }.structure-explainer > div + div { border-top: 1px solid var(--p-line); border-left: 0; } }
@media (max-width: 560px) { .partner-structure-hero { padding: 25px 21px; }.structure-orbit { width: 92px; height: 92px; }.structure-metrics { grid-template-columns: 1fr; }.group-member-list { padding-inline: 15px; }.group-member-row { grid-template-columns: 36px minmax(0, 1fr) 84px; gap: 9px; }.member-avatar { width: 34px; height: 34px; }.allocation-actions { align-items: stretch; flex-direction: column; padding-inline: 15px; }.allocation-actions .partner-primary { width: 100%; } }

.group-member-row .member-avatar { position: relative; overflow: hidden; }
.group-member-row .member-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.group-member-row .member-avatar img[hidden] { display: none; }

/* Partner navigation identity and self-service account */
.partner-code-stack { display: grid; gap: 7px; margin-top: 11px; }
.partner-code-chip { min-width: 0; padding: 10px 11px; overflow: hidden; border: 1px solid rgba(25, 105, 80, .13); border-radius: 12px; background: rgba(255, 255, 255, .7); }
.partner-code-chip > span, .partner-code-chip > strong, .partner-code-chip > small { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.partner-code-chip > span { color: #728078; font-size: 8px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.partner-code-chip > strong { margin-top: 4px; color: #243f35; font: 800 12px 'Manrope', sans-serif; letter-spacing: .045em; }
.partner-code-chip > small { margin-top: 3px; color: #78857e; font-size: 8px; }
.partner-code-chip.is-group { border-color: rgba(157, 111, 35, .27); background: linear-gradient(135deg, rgba(243, 225, 185, .76), rgba(255, 255, 255, .88)); box-shadow: 0 8px 18px rgba(117, 84, 31, .08); }
.partner-code-chip.is-group > span { color: #8c672e; }.partner-code-chip.is-group > strong { color: #5e431c; }
.partner-code-chip.is-secondary { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-block: 8px; background: rgba(239, 246, 242, .72); }
.partner-code-chip.is-secondary > strong { margin-top: 0; color: #3b6555; font-size: 10px; text-align: right; }
.partner-identity-email { display: block; max-width: 100%; margin-top: 7px; overflow: hidden; color: #42665a; font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.partner-top-profile div { min-width: 0; }.partner-top-profile small { max-width: 230px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.partner-account-hero { min-height: 225px; display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-bottom: 16px; padding: 35px; overflow: hidden; border: 1px solid rgba(25, 105, 80, .14); border-radius: 24px; background: radial-gradient(circle at 85% 15%, rgba(216, 179, 106, .14), transparent 18rem), linear-gradient(135deg, #fbfdfb, #edf6f1); box-shadow: 0 18px 46px rgba(36, 58, 48, .07); }
.partner-account-hero h1 { max-width: 720px; margin: 11px 0 9px; color: var(--p-ink); font: 800 clamp(28px, 4vw, 45px)/1.04 'Manrope', sans-serif; letter-spacing: -.045em; }.partner-account-hero p { max-width: 680px; margin: 0; color: #69776f; font-size: 13px; line-height: 1.65; }
.partner-account-identity { min-width: 275px; display: flex; align-items: center; gap: 13px; padding: 17px; border: 1px solid rgba(25, 105, 80, .13); border-radius: 17px; background: rgba(255, 255, 255, .75); }.partner-account-identity > span { width: 47px; height: 47px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 14px; background: linear-gradient(135deg, #dceee5, #f2eadb); color: #267257; font: 800 17px 'Manrope', sans-serif; }.partner-account-identity > div { min-width: 0; display: flex; flex-direction: column; }.partner-account-identity small { color: #8b6a31; font-size: 9px; font-weight: 800; letter-spacing: .08em; }.partner-account-identity strong { margin: 4px 0; color: var(--p-ink); font-size: 12px; }.partner-account-identity a { overflow: hidden; color: #557168; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.partner-account-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(290px, .6fr); gap: 16px; align-items: start; }.partner-account-card, .partner-account-guide { overflow: hidden; border: 1px solid var(--p-line); border-radius: 20px; background: #fff; box-shadow: 0 13px 35px rgba(36, 58, 48, .045); }
.partner-account-card > header { display: flex; gap: 13px; padding: 21px 23px; border-bottom: 1px solid var(--p-line); }.partner-account-card > header > span { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; background: rgba(25, 125, 91, .08); color: #24765c; font-size: 10px; font-weight: 800; }.partner-account-card h2, .partner-account-guide h2 { margin: 0; color: var(--p-ink); font: 700 17px 'Manrope', sans-serif; }.partner-account-card header p { margin: 4px 0 0; color: #79857e; font-size: 10px; line-height: 1.5; }
.partner-account-card > form { display: grid; gap: 18px; padding: 23px; }.partner-account-section { overflow: hidden; border: 1px solid var(--p-line); border-radius: 15px; }.partner-account-section.payout { border-color: rgba(154, 113, 44, .2); }.partner-account-section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 15px; border-bottom: 1px solid var(--p-line); background: #f8faf9; }.partner-account-section-head > span { color: #33433b; font-size: 11px; font-weight: 800; }.partner-account-section-head > small { color: #7a867f; font-size: 9px; }
.partner-account-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; padding: 17px; }.partner-account-grid label, .partner-account-confirm label { min-width: 0; display: flex; flex-direction: column; gap: 7px; }.partner-account-grid label.full { grid-column: 1 / -1; }.partner-account-grid label > span, .partner-account-confirm label > span { color: #34423b; font-size: 10px; font-weight: 700; }.partner-account-grid label i { color: #87918b; font-size: 9px; font-style: normal; font-weight: 500; }.partner-account-grid input, .partner-account-confirm input { min-width: 0; width: 100%; height: 44px; padding: 0 13px; border: 1px solid var(--p-line); border-radius: 11px; outline: 0; background: #fff; color: var(--p-ink); font: inherit; font-size: 11px; }.partner-account-grid input:focus, .partner-account-confirm input:focus { border-color: rgba(25, 125, 91, .42); box-shadow: 0 0 0 3px rgba(25, 125, 91, .06); }.partner-account-grid label > small { color: #75827b; font-size: 9px; }.partner-account-grid em, .partner-account-confirm em { color: #b35050; font-size: 9px; font-style: normal; }
.partner-account-confirm { display: grid; grid-template-columns: minmax(0, 1fr) minmax(230px, .55fr); gap: 20px; align-items: center; padding: 16px; border: 1px solid rgba(154, 113, 44, .18); border-radius: 14px; background: rgba(216, 179, 106, .055); }.partner-account-confirm > div { display: flex; flex-direction: column; }.partner-account-confirm strong { color: #4c412d; font-size: 11px; }.partner-account-confirm small { max-width: 560px; margin-top: 4px; color: #7d7464; font-size: 9px; line-height: 1.5; }
.partner-account-card footer { display: flex; align-items: center; justify-content: flex-end; gap: 15px; }.partner-account-card footer > a { color: #748079; font-size: 11px; }.partner-account-card footer > button { display: inline-flex; align-items: center; gap: 22px; padding: 12px 16px; border: 0; border-radius: 11px; background: #237457; color: #fff; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.partner-account-guide { padding: 25px; background: linear-gradient(145deg, rgba(25, 125, 91, .045), transparent 40%), #fff; }.partner-account-guide h2 { margin: 9px 0 18px; line-height: 1.35; }.partner-account-guide > div { display: grid; grid-template-columns: 29px 1fr; gap: 10px; padding: 13px 0; border-top: 1px solid var(--p-line); }.partner-account-guide > div > span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; background: rgba(25, 105, 80, .07); color: #277559; font-size: 9px; font-weight: 800; }.partner-account-guide p { margin: 0; color: #6f7d75; font-size: 10px; line-height: 1.55; }.partner-account-guide > a { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; padding: 12px 13px; border: 1px solid var(--p-line); border-radius: 11px; color: #286f57; font-size: 10px; font-weight: 800; }
@media (max-width: 950px) { .partner-account-layout { grid-template-columns: 1fr; }.partner-account-hero { align-items: flex-start; flex-direction: column; }.partner-account-identity { min-width: 0; width: 100%; } }
@media (max-width: 600px) { .partner-account-hero { padding: 25px 21px; }.partner-account-grid, .partner-account-confirm { grid-template-columns: 1fr; }.partner-account-card > form { padding: 18px; }.partner-account-grid { padding: 15px; }.partner-account-card footer { align-items: stretch; flex-direction: column-reverse; }.partner-account-card footer > button { justify-content: center; width: 100%; } }

/* Mobile partner experience */
.partner-sidebar-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.partner-sidebar-close, .partner-nav-backdrop { display: none; }

@media (max-width: 800px) {
    html { overflow-x: hidden; }
    body.partner-shell { width: 100%; min-width: 0; overflow-x: hidden; }
    body.partner-nav-open { overflow: hidden; }
    .partner-sidebar {
        width: min(88vw, 330px);
        max-width: 100%;
        padding: 21px 17px calc(22px + env(safe-area-inset-bottom));
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }
    .partner-sidebar-close {
        width: 42px;
        height: 42px;
        display: grid;
        place-items: center;
        flex: 0 0 auto;
        border: 1px solid var(--p-line);
        border-radius: 12px;
        background: #f6f9f7;
        color: #395449;
        font: 500 25px/1 sans-serif;
    }
    .partner-nav-backdrop {
        position: fixed;
        inset: 0;
        z-index: 35;
        display: block;
        visibility: hidden;
        border: 0;
        background: rgba(20, 36, 29, .28);
        opacity: 0;
        backdrop-filter: blur(3px);
        transition: opacity .2s ease, visibility .2s ease;
    }
    .partner-nav-open .partner-nav-backdrop { visibility: visible; opacity: 1; }
    .partner-identity { margin-block: 22px 17px; }
    .partner-nav a { min-height: 52px; margin-block: 4px; }
    .partner-sidebar-foot { padding-bottom: 4px; }
    .partner-sidebar-foot button { min-height: 44px; }
    .partner-stage { width: 100%; min-width: 0; }
    .partner-topbar {
        width: 100%;
        height: 68px;
        padding: 0 14px;
        gap: 12px;
    }
    .partner-menu {
        width: 42px;
        height: 42px;
        padding: 0;
        flex: 0 0 auto;
        border: 1px solid var(--p-line);
        border-radius: 12px;
        background: rgba(255, 255, 255, .78);
        font-size: 19px;
    }
    .partner-topbar > div:first-of-type { min-width: 0; }
    .partner-topbar > div:first-of-type span,
    .partner-topbar > div:first-of-type strong {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .partner-topbar > div:first-of-type span { font-size: 9px; }
    .partner-topbar > div:first-of-type strong { font-size: 14px; }
    .partner-main { width: 100%; padding: 18px 14px calc(38px + env(safe-area-inset-bottom)); }
    .partner-hero, .partner-security-hero, .partner-account-hero, .partner-structure-hero {
        min-height: 0;
        padding: 24px 20px;
        border-radius: 20px;
    }
    .partner-hero h1, .partner-page-head h1,
    .partner-security-hero h1, .partner-account-hero h1, .partner-structure-hero h1 {
        font-size: clamp(27px, 8vw, 36px);
        line-height: 1.08;
        overflow-wrap: anywhere;
    }
    .partner-hero p, .partner-page-head p,
    .partner-security-hero p, .partner-account-hero p, .partner-structure-hero p {
        font-size: 12px;
        line-height: 1.65;
    }
    .partner-hero-actions { display: grid; grid-template-columns: 1fr; }
    .partner-primary, .partner-secondary, .partner-text-button { min-height: 44px; }
    .partner-page-head { gap: 15px; margin-bottom: 18px; }
    .partner-head-stat { width: 100%; min-width: 0; padding: 15px 17px; }
    .partner-head-stat strong { font-size: 24px; }
    .partner-panel { border-radius: 17px; }
    .partner-panel > header {
        align-items: flex-start;
        gap: 10px;
        padding: 17px;
    }
    .partner-panel > header > div { min-width: 0; }
    .partner-panel > header > a, .partner-panel > header > small { flex: 0 0 auto; }
    .partner-panel h2 { font-size: 15px; overflow-wrap: anywhere; }
    .partner-filterbar { padding: 14px; }
    .partner-filterbar input, .partner-filterbar select { width: 100%; min-height: 44px; }
    .partner-filterbar .partner-primary, .partner-filterbar .partner-text-button { width: 100%; }
    .partner-filterbar .partner-text-button { padding: 11px; }
    .partner-pager { align-items: stretch; flex-direction: column; gap: 10px; padding-block: 15px; }
    .partner-pager div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .partner-pager a { min-height: 42px; display: grid; place-items: center; text-align: center; }
    .partner-client-card dl div, .payout-panel dl div { align-items: flex-start; }
    .partner-client-card dd, .payout-panel dd { max-width: 62%; overflow-wrap: anywhere; }
    .partner-account-card, .partner-account-guide, .partner-security-card, .partner-security-guide { border-radius: 17px; }
    .partner-account-identity { min-width: 0; }
    .partner-account-section-head { align-items: flex-start; flex-direction: column; gap: 4px; }
    .partner-password-field button { width: 64px; min-height: 44px; }
}

@media (max-width: 640px) {
    .partner-pay-strip { gap: 10px; }
    .partner-pay-strip article { padding: 17px; }
    .partner-pay-strip strong { font-size: 20px; overflow-wrap: anywhere; }
    .partner-metrics { gap: 10px; }
    .partner-metrics article { min-width: 0; padding: 16px; }
    .partner-metrics strong { font-size: 18px; overflow-wrap: anywhere; }
    .metric-mark { width: 38px; height: 38px; flex: 0 0 auto; }
    .partner-client-list article { display: grid; grid-template-columns: 39px minmax(0, 1fr) auto; }
    .partner-client-list article > .partner-badge { align-self: center; }
    .partner-demo-panel > header { flex-direction: column; }
    .partner-demo-grid { padding: 13px; }
    .partner-client-card > header { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; padding: 16px; }
    .client-reach { margin-inline: 15px; padding: 14px; }
    .partner-client-card dl { margin-inline: 15px; }
    .partner-client-card footer { padding-inline: 15px; }
    .partner-status-tabs { margin-inline: -14px; padding: 0 14px 5px; scrollbar-width: none; }
    .partner-status-tabs::-webkit-scrollbar { display: none; }

    .partner-table-wrap { overflow: visible; }
    .partner-table { min-width: 0; display: block; padding: 10px; }
    .partner-table thead { display: none; }
    .partner-table tbody { display: grid; gap: 10px; }
    .partner-table tr {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 0 16px;
        padding: 15px;
        border: 1px solid var(--p-line);
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 8px 22px rgba(36, 58, 48, .045);
    }
    .partner-table td {
        min-width: 0;
        padding: 8px 0;
        border: 0;
        color: #4f6058;
        font-size: 11px;
    }
    .partner-table td::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 4px;
        color: #7a867f;
        font-size: 8px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
    }
    .partner-table td:first-child { grid-column: 1 / -1; padding-top: 0; }
    .partner-table td:nth-child(2), .partner-table td:nth-child(3) { grid-column: 1; }
    .partner-table td:nth-child(4), .partner-table td.amount { grid-column: 2; text-align: right; }
    .partner-table td:nth-child(4) { grid-row: 2; }
    .partner-table td.amount { grid-row: 3 / span 2; align-self: end; }
    .partner-table td > strong { overflow-wrap: anywhere; }

    .group-allocation-panel > header { align-items: center; }
    .allocation-total { flex: 0 0 auto; }
    .group-member-row {
        grid-template-columns: 36px minmax(0, 1fr);
        gap: 9px 11px;
        padding-block: 13px;
    }
    .member-share-input { grid-column: 1 / -1; width: 100%; }
    .member-share-input input { height: 42px; }
    .personal-share-dial { margin-inline: auto; }
}

@media (max-width: 430px) {
    .partner-main { padding-inline: 11px; }
    .partner-topbar { padding-inline: 11px; }
    .partner-hero, .partner-security-hero, .partner-account-hero, .partner-structure-hero { padding: 21px 17px; }
    .partner-panel > header { flex-direction: column; }
    .partner-panel > header > a { min-height: 34px; display: inline-flex; align-items: center; }
    .partner-client-list article { grid-template-columns: 37px minmax(0, 1fr); }
    .partner-client-list article > .partner-badge { grid-column: 2; width: fit-content; }
    .partner-client-card > header { grid-template-columns: 44px minmax(0, 1fr); }
    .partner-client-card > header > .partner-badge { grid-column: 2; width: fit-content; }
    .client-reach strong { font-size: 18px; }
    .partner-pager div { grid-template-columns: 1fr; }
    .partner-security-card > header, .partner-account-card > header { padding: 17px; }
}

.partner-account-identity>span{overflow:hidden}.partner-account-identity>span img{width:100%;height:100%;object-fit:cover}
.partner-photo-panel{display:flex;align-items:flex-start;gap:26px;padding:26px;margin:0 0 20px;background:linear-gradient(115deg,#f1f7f3,#fff 70%);border:1px solid var(--p-line);border-radius:20px}
.partner-photo-preview{flex:0 0 108px;width:108px;height:108px;display:grid;place-items:center;overflow:hidden;border-radius:24px;border:1px solid #d2e1d7;background:#e3eee7;color:#277356;font-size:35px;font-weight:700}
.partner-photo-preview img{width:100%;height:100%;object-fit:cover}.partner-photo-preview [hidden]{display:none}.partner-photo-copy{min-width:0;flex:1}.partner-photo-copy h2{font-size:21px;line-height:1.3;margin:8px 0;color:var(--p-ink)}.partner-photo-copy p{font-size:12px;color:#687970;line-height:1.8;max-width:700px;margin:0 0 18px}
.partner-photo-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:center}.partner-photo-form label{grid-column:1/-1;color:#364b3f;font-size:12px;font-weight:650}.partner-photo-form label small{font-size:11px;color:#78877c;font-weight:400;margin-left:10px}.partner-photo-form input{min-width:0;width:100%;font:inherit;font-size:12px;border:1px solid #d4dfd8;border-radius:11px;padding:8px;background:#fff;color:#42584a}.partner-photo-form input::file-selector-button{font:inherit;border:0;border-radius:7px;background:#ecf2ee;color:#2c6447;padding:8px 12px;margin-right:12px;cursor:pointer}.partner-photo-save{grid-column:2;grid-row:2;border:0;border-radius:11px;background:#237457;color:white;min-height:45px;padding:11px 19px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.partner-photo-form>small{color:#966749;font-size:11px;grid-column:1/-1}.partner-photo-remove button{border:0;background:none;padding:8px 0;color:#7a6357;font:inherit;font-size:11px;text-decoration:underline;cursor:pointer}.partner-photo-error{padding:15px 20px;margin-bottom:18px;border-radius:12px;border:1px solid #e9c8bf;background:#fff4ef;color:#944b3b;font-size:13px}
@media(max-width:600px){.partner-photo-panel{flex-direction:column;padding:22px;gap:20px}.partner-photo-preview{flex-basis:90px;width:90px;height:90px}.partner-photo-form{grid-template-columns:1fr}.partner-photo-save{grid-column:1;grid-row:auto}.partner-photo-form label small{display:block;margin:5px 0 0}.partner-photo-copy h2{font-size:20px}}

/* Login must remain scrollable when the phone keyboard or a short viewport is present. */
.partner-login-page { min-height: 100dvh; overflow-x: hidden; overflow-y: auto; }
@media (max-width: 800px) {
    body.partner-login-page {
        display: block;
        min-height: 100dvh;
        padding: max(14px, env(safe-area-inset-top)) 0 max(18px, env(safe-area-inset-bottom));
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
    .partner-login-shell {
        width: calc(100% - 24px);
        min-height: 0;
        margin: 0 auto;
        overflow: visible;
        border-radius: 21px;
        grid-template-columns: 1fr;
    }
    .partner-login-story { min-height: 0; padding: 24px 22px; }
    .partner-login-copy { margin: 38px 0 28px; }
    .partner-login-copy h1 { margin-block: 13px; font-size: clamp(29px, 9vw, 38px); }
    .partner-login-copy p { font-size: 12px; }
    .partner-login-story > small { line-height: 1.55; }
    .partner-login-card { padding: 31px 22px; }
    .partner-login-card h2 { font-size: 24px; }
    .partner-login-card input { min-height: 46px; font-size: 16px; }
    .partner-check { min-height: 44px; margin-block: 11px 16px; }
    .partner-check input { min-height: 18px; width: 18px; height: 18px; }
    .partner-login-card .partner-primary { min-height: 48px; }
    .partner-login-help { flex-wrap: wrap; gap: 10px; }
}

@media (max-width: 430px) {
    .partner-login-shell { width: calc(100% - 16px); border-radius: 18px; }
    .partner-login-story, .partner-login-card { padding-inline: 18px; }
    .partner-login-points { gap: 6px; }
    .partner-login-points span { padding: 7px 9px; }
}
