.partner-page { background:#fff; color:var(--ink,#1c1917); font-family:var(--font-body,Arial,sans-serif); font-size:14px; margin:0; }
.partner-page * { box-sizing:border-box; }
.partner-page button,.partner-page input,.partner-page select { font:inherit; }
.partner-page button,.partner-page a { -webkit-tap-highlight-color:transparent; }
.partner-page button { cursor:pointer; }
.partner-page button:disabled { opacity:.5; cursor:default; }
.partner-page h1,.partner-page h2,.partner-page h3,.partner-page p { margin:0; }
.partner-page h1 { font-size:36px; letter-spacing:-1.3px; line-height:1.2; font-weight:650; }
.partner-page h2 { font-size:19px; letter-spacing:-.4px; font-weight:600; }
.partner-page h3 { font-size:15px; font-weight:600; }
.partner-page a { text-decoration:none; color:inherit; }
.partner-shell { display:grid; grid-template-columns:260px minmax(0,1fr); min-height:100dvh; }
.partner-sidebar { height:100dvh; position:sticky; top:0; border-right:1px solid var(--line,#ebe7e1); padding:28px 20px 20px; display:flex; flex-direction:column; background:#fff; z-index:20; }
.partner-brand { display:flex; align-items:center; gap:12px; padding:0 10px; font-size:24px; font-weight:700; letter-spacing:-.8px; }
.partner-brand img { width:32px; height:37px; object-fit:contain; }
.partner-subbrand { margin:12px 10px 40px; color:var(--ink-mute,#938d83); font-size:12px; }
.partner-nav { display:grid; gap:7px; }
.partner-nav a { display:flex; align-items:center; gap:13px; padding:13px 14px; color:var(--ink-soft,#615b53); border-radius:12px; font-size:14px; }
.partner-nav a:hover { background:#f7f6f3; }
.partner-nav a.active { color:#e65309; background:#fff2e9; font-weight:600; }
.partner-nav svg { width:19px; height:19px; flex:none; }
.partner-sidebar-bottom { margin-top:auto; padding-top:32px; }
.partner-main-link { display:flex; align-items:center; justify-content:space-between; padding:13px 10px; color:#8c857b; font-size:12px; margin-bottom:20px; }
.partner-profile { display:flex; align-items:center; gap:11px; width:100%; padding:12px; border:0; border-radius:40px; background:#f6f6f5; text-align:left; }
.partner-avatar { display:grid; place-items:center; width:38px; height:38px; background:#fff0e5; color:#e8580d; border-radius:50%; flex:none; font-weight:600; }
.partner-profile strong { display:block; max-width:145px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.partner-profile small { display:block; color:#8c857b; font-size:12px; margin-top:3px; }
.partner-content { min-width:0; padding:48px 46px 60px; max-width:1600px; width:100%; margin:0 auto; }
.partner-mobile { display:none; }
.page-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; margin-bottom:32px; }
.page-heading p { color:#918a80; margin-top:12px; line-height:1.6; font-size:14px; }
.partner-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid #e6e1d9; border-radius:999px; padding:10px 18px; min-height:40px; font-size:13px; font-weight:600; background:white; color:#292521; white-space:nowrap; }
.partner-button svg { width:16px; height:16px; }
.partner-button.primary { border-color:transparent; background:linear-gradient(110deg,#ff982a,#ff5807); color:#fff; box-shadow:0 6px 24px -16px #f96919; }
.partner-button:hover { filter:brightness(.98); }
.partner-button.quiet { background:#f6f4f0; border-color:transparent; font-weight:500; color:#6c655b; }
.partner-button.text { background:none; border:0; color:#ea5d13; padding:4px 0; min-height:30px; font-weight:500; }
.metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:24px; }
.metric { border:1px solid #ebe7e1; border-radius:18px; padding:23px 22px; min-height:134px; }
.metric:first-child { background:linear-gradient(120deg,#fff8f2,#fff); }
.metric-label { display:block; color:#8e887e; font-size:12px; margin-bottom:18px; }
.metric-value { font-size:29px; font-weight:600; letter-spacing:-1px; font-variant-numeric:tabular-nums; }
.metric-note { font-size:11px; color:#aaa297; margin-top:8px; }
.partner-panel { border:1px solid #ebe7e1; border-radius:20px; padding:26px; margin-bottom:24px; min-width:0; }
.link-panel { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.link-panel h2 { margin-bottom:9px; }
.link-panel p { color:#948d83; font-size:12px; line-height:1.6; }
.link-value { display:flex; align-items:center; gap:16px; min-width:0; }
.link-value code { font:13px var(--font-mono,monospace); overflow-wrap:anywhere; }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.section-heading small { color:#938b81; font-size:12px; }
.partner-empty { display:flex; min-height:230px; align-items:center; justify-content:center; flex-direction:column; gap:12px; text-align:center; padding:36px 20px; }
.partner-empty strong { font-size:17px; font-weight:400; color:#625c53; }
.partner-empty p { color:#978f84; font-size:13px; line-height:1.7; max-width:420px; }
.partner-toolbar { display:flex; gap:12px; align-items:center; margin-bottom:22px; }
.partner-input,.partner-select { width:100%; height:44px; border:1px solid #e2ddd5; border-radius:11px; background:white; padding:10px 13px; color:#25221e; outline:none; }
.partner-input:focus,.partner-select:focus { border-color:#91897f; }
.partner-input::placeholder { color:#aaa399; }
.partner-toolbar .partner-input { max-width:320px; }
.partner-toolbar .partner-select { width:auto; min-width:150px; }
.table-scroll { overflow-x:auto; }
.partner-table { width:100%; border-collapse:collapse; text-align:left; font-size:13px; }
.partner-table th { font-weight:400; color:#969084; padding:0 18px 18px 0; border-bottom:1px solid #ebe7e1; white-space:nowrap; }
.partner-table td { padding:21px 18px 21px 0; border-bottom:1px solid #ebe7e1; vertical-align:middle; line-height:1.6; }
.partner-table tr:last-child td { border-bottom:0; }
.partner-table th:last-child,.partner-table td:last-child { padding-right:0; text-align:right; }
.partner-table td small { display:block; color:#979084; font-size:11px; }
.partner-table td .nowrap { white-space:nowrap; }
.partner-badge { display:inline-block; font-size:11px; color:#787164; background:#f5f3ee; padding:4px 9px; border-radius:40px; white-space:nowrap; }
.partner-badge.available,.partner-badge.paid { color:#298756; background:#edf6ef; }
.partner-badge.cancelled,.partner-badge.rejected { color:#b4493a; background:#fdf0ec; }
.partner-badge.pending,.partner-badge.processing { color:#ae7925; background:#fff6e7; }
.chart { height:220px; margin-top:16px; }
.chart svg { width:100%; height:100%; overflow:visible; }
.chart-labels { display:flex; justify-content:space-between; color:#a49a8e; font-size:11px; margin-top:10px; }
.payout-hero { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.payout-hero .metric-value { font-size:38px; margin:6px 0 12px; }
.partner-note { font-size:12px; color:#9a9084; line-height:1.6; }
.partner-form { display:grid; gap:20px; max-width:640px; }
.partner-field { display:grid; gap:9px; }
.partner-field label { color:#8d857a; font-size:13px; font-weight:500; }
.partner-form .partner-button { justify-self:start; }
.partner-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.settings-row { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 0; border-bottom:1px solid #ebe7e1; }
.settings-row:last-child { border-bottom:0; }
.settings-row p { margin-top:7px; font-size:12px; color:#92897e; }
.settings-row strong { font-size:14px; font-weight:500; }
.partner-footer { color:#b0a89d; font-size:11px; margin-top:38px; }
.partner-dialog-bg { position:fixed; inset:0; background:#29251f66; z-index:80; display:grid; place-items:center; padding:20px; backdrop-filter:blur(4px); overflow:auto; }
.partner-dialog { background:white; border-radius:24px; width:min(100%,520px); box-shadow:0 20px 100px #20191026; max-height:90dvh; overflow:auto; }
.partner-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 26px; border-bottom:1px solid #ede8e1; }
.partner-dialog-head h2 { font-size:20px; }
.partner-dialog-close { border:0; background:#f6f4f0; border-radius:10px; width:32px; height:32px; font-size:22px; color:#776f63; }
.partner-dialog-body { padding:26px; }
.partner-dialog-actions { display:flex; gap:10px; justify-content:flex-end; margin-top:6px; }
.partner-error { color:#b44836; font-size:12px; line-height:1.6; }
.partner-error:empty { display:none; }
#toast { position:fixed; bottom:26px; left:50%; transform:translateX(-50%); z-index:100; background:#26221f; color:white; padding:13px 22px; border-radius:999px; font-size:13px; display:none; max-width:90vw; text-align:center; }
.partner-auth { min-height:100dvh; display:flex; align-items:center; justify-content:center; padding:90px 24px; }
.partner-auth-brand { position:absolute; top:30px; left:36px; }
.partner-auth-card { width:100%; max-width:380px; }
.partner-auth-card h1 { font-size:30px; margin:0 0 15px; }
.partner-auth-card>p { color:#968c80; font-size:14px; line-height:1.7; margin-bottom:30px; }
.partner-auth-card .partner-button { width:100%; min-height:44px; }
.partner-auth-alt { display:flex; align-items:center; justify-content:center; gap:16px; color:#b2a79b; font-size:12px; margin:20px 0; }
.partner-auth-alt:before,.partner-auth-alt:after { content:''; height:1px; background:#eee9e3; flex:1; }
.partner-code { text-align:center; letter-spacing:6px; font:500 25px var(--font-mono,monospace); }
.partner-match { text-align:center; font-size:28px; letter-spacing:8px; padding:24px; background:#f8f6f3; border-radius:14px; margin:20px 0; }
.initial-loading { min-height:70vh; display:grid; place-items:center; color:#a79b8d; }
.partner-backdrop { display:none; }
@media(min-width:1800px) { .partner-content { padding:58px 64px; } }
@media(max-width:1100px) { .partner-shell { grid-template-columns:225px minmax(0,1fr); } .partner-content { padding:36px 26px; } .metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .link-panel { align-items:flex-start; flex-direction:column; } .link-value { width:100%; justify-content:space-between; } }
@media(max-width:720px) {
  .partner-shell { display:block; } .partner-sidebar { position:fixed; left:0; top:0; width:260px; transform:translateX(-100%); transition:transform .2s; } .partner-sidebar.open { transform:translateX(0); }
  .partner-mobile { display:flex; position:sticky; top:0; z-index:15; background:#fffc; backdrop-filter:blur(12px); border-bottom:1px solid #eee8e1; height:64px; align-items:center; padding:0 20px; justify-content:space-between; }
  .partner-mobile button { border:0; background:none; width:32px; height:32px; font-size:23px; color:#6e6255; }
  .partner-mobile .partner-brand { font-size:20px; padding:0; gap:9px; } .partner-mobile img { width:25px; height:30px; }
  .partner-content { padding:30px 20px 40px; } .partner-page h1 { font-size:28px; letter-spacing:-.9px; } .page-heading { flex-wrap:wrap; margin-bottom:24px; } .page-heading p { font-size:13px; }
  .metric-grid { gap:10px; } .metric { padding:18px 15px; min-height:115px; } .metric-label { font-size:11px; margin-bottom:14px; } .metric-value { font-size:25px; }
  .partner-panel { padding:20px 17px; border-radius:16px; } .link-value { align-items:flex-start; flex-wrap:wrap; gap:12px; } .link-value code { font-size:11px; }
  .partner-toolbar { flex-wrap:wrap; } .partner-toolbar .partner-input { max-width:none; } .partner-table { min-width:580px; } .payout-hero { align-items:flex-start; flex-direction:column; }
  .partner-form-grid { grid-template-columns:1fr; } .settings-row { align-items:flex-start; } .partner-dialog-body,.partner-dialog-head { padding:22px 20px; }
  .partner-backdrop.open { display:block; position:fixed; inset:0; background:#29251f55; z-index:19; }
  .partner-auth-brand { top:24px; left:24px; } .partner-auth { align-items:flex-start; padding-top:150px; }
}
@media(prefers-reduced-motion:reduce) { * { transition:none!important; } }

/* Keep the shared typography without landing-page decoration. */
.partner-page::before,.partner-page::after { display:none; }
.partner-main-link svg { width:17px; height:17px; flex:none; }
.partner-footer { border:0; padding:0; }
.section-heading .partner-select { width:auto; min-width:125px; flex:none; }
.partner-page button:focus-visible,.partner-page a:focus-visible { outline:2px solid #aaa197; outline-offset:3px; }
.partner-dialog .partner-note { overflow-wrap:anywhere; }

/* Shared Telegram sign-in rhythm across both cabinets. */
.partner-telegram-panel h1 { text-align:center; font-size:28px; letter-spacing:-.7px; margin-bottom:12px; }
.partner-telegram-panel>p { text-align:center; max-width:310px; margin:0 auto 28px; font-size:13px; line-height:1.7; }
.partner-telegram-code { margin:0 0 26px; text-align:center; }
.partner-telegram-code small { display:block; color:#605b54; font-size:12px; line-height:1.5; }
.partner-telegram-code output { display:flex; justify-content:center; gap:10px; margin:14px 0 12px; }
.partner-telegram-character { display:grid; place-items:center; width:54px; height:60px; border:1px solid #ddd8d0; border-radius:11px; background:#fff; color:#1a1714; font:500 25px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; box-shadow:0 2px 3px rgba(30,24,18,.025); }
.partner-telegram-caption { text-align:center; color:#8f8981; font-size:11px; line-height:1.6; }
.partner-telegram-panel .partner-button { min-height:46px; font-size:14px; font-weight:600; }
.partner-telegram-panel .partner-button svg { width:19px; height:19px; }
.partner-telegram-wait { display:flex; justify-content:center; align-items:center; gap:8px; text-align:center; color:#8f8981; font-size:12px; line-height:1.6; margin:18px 0 0!important; }
.partner-telegram-wait:before { content:''; width:6px; height:6px; border-radius:50%; background:#8f8981; opacity:.6; }
.partner-telegram-panel .partner-auth-alt { margin:26px 0 20px; }
@media(max-width:390px) { .partner-telegram-panel h1 { font-size:25px; } .partner-telegram-character { width:48px; height:56px; } }

/* Partner workspace, with the actual shared cabinet sidebar above. */
.partner-page .partner-workspace { min-width:0; }
.partner-workspace .page-heading { align-items:center; margin:2px 0 30px; }
.partner-workspace .page-heading h1 { font-size:32px; font-weight:650; letter-spacing:-1px; }
.partner-workspace .page-heading p { font-size:14px; margin-top:9px; color:#929aa4; }
.partner-workspace .metric-grid { gap:16px; margin-bottom:22px; }
.partner-workspace .metric { border-color:#e9ebee; border-radius:16px; padding:24px; min-height:150px; }
.partner-workspace .metric:first-child { background:linear-gradient(125deg,#fff8f2,#fff 85%); border-color:#f2e7de; }
.partner-workspace .metric-label { font-size:13px; color:#89919b; margin-bottom:18px; }
.partner-workspace .metric-value { display:block; font-size:32px; font-weight:600; letter-spacing:-1.1px; line-height:1.2; }
.partner-workspace .metric-note { font-size:12px; color:#a0a6af; margin-top:10px; }
.partner-workspace .partner-panel { border-color:#e9ebee; border-radius:18px; padding:26px; margin-bottom:22px; }
.partner-workspace h2 { font-size:20px; line-height:1.25; }
.partner-workspace .link-panel { gap:24px; }
.partner-workspace .link-panel>div:first-child { flex:1; }
.partner-workspace .link-panel p { color:#929aa4; font-size:13px; max-width:430px; }
.partner-workspace .link-value { gap:12px; flex:1; justify-content:flex-end; }
.partner-workspace .link-value code { background:#f7f8f9; border:1px solid #edf0f2; padding:13px 15px; border-radius:11px; font:500 13px var(--font-body); color:#59616b; }
.partner-workspace .partner-toolbar { margin-bottom:24px; }
.partner-workspace .partner-input,.partner-workspace .partner-select { border-color:#e1e5e9; }
.partner-workspace .partner-table th { color:#929aa4; font-size:13px; border-color:#eceef0; }
.partner-workspace .partner-table td { font-size:14px; padding-top:22px; padding-bottom:22px; border-color:#eceef0; }
.partner-workspace .partner-table td small { color:#929aa4; font-size:12px; }
.partner-workspace .partner-footer { color:#a4abb3; margin-top:26px; font-size:11px; }
.partner-page .partner-dashboard .brand { text-decoration:none; }
.partner-page .mobile-bar .brand { padding:0; }
@media(min-width:1101px) and (max-width:1400px) { .partner-workspace .link-panel { align-items:flex-start; flex-direction:column; } .partner-workspace .link-value { width:100%; justify-content:flex-start; } }
@media(max-width:1100px) { .partner-workspace .metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:880px) { .partner-workspace .page-heading h1 { font-size:28px; } .partner-workspace .page-heading { align-items:flex-start; margin-bottom:24px; } .partner-workspace .metric { min-height:130px; padding:20px; } }
@media(max-width:560px) {
 .partner-workspace .page-heading h1 { font-size:26px; } .partner-workspace .page-heading p { font-size:13px; }
 .partner-workspace .metric-grid { gap:10px; } .partner-workspace .metric { padding:18px 16px; min-height:126px; }
 .partner-workspace .metric-label { font-size:12px; margin-bottom:16px; } .partner-workspace .metric-value { font-size:28px; } .partner-workspace .metric-note { font-size:11px; }
 .partner-workspace .partner-panel { padding:21px 17px; border-radius:16px; }
 .partner-workspace .link-value { align-items:stretch; } .partner-workspace .link-value code { width:100%; font-size:12px; }
 .partner-workspace .link-value .partner-button { align-self:flex-start; } .partner-workspace h2 { font-size:18px; }
}
