:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#252b31;background:#f6f7f9;font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:14px}a{text-decoration:none;color:inherit}button,input{font:inherit}button{cursor:pointer}h1{font-size:26px;letter-spacing:-.7px;margin:7px 0 0;font-weight:700}h2{font-size:17px;margin:0 0 14px;font-weight:700}p{line-height:1.65}.brand{font-weight:900;letter-spacing:-1.7px;font-size:29px;color:#161d24}.brand-dot{color:#de6b51}.eyebrow,.sidebar-label{font-size:11px;letter-spacing:1.7px;font-weight:800;color:#89919d}.muted{color:#75808b}.intro{margin-bottom:24px}.layout{min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr)}.sidebar{background:#fff;border-right:1px solid #e9ebef;padding:30px 20px;display:flex;flex-direction:column;min-height:100vh}.sidebar .brand{padding-left:12px}.sidebar-label{padding:0 12px 26px}.nav-link{display:block;border-radius:10px;padding:14px 14px;margin:3px 0;color:#5a6570;font-weight:600}.nav-link:hover{background:#f6f7f8}.nav-link.active{background:#20262c;color:#fff}.sidebar-bottom{margin-top:auto;border-top:1px solid #eceef1;padding:22px 12px 4px;display:flex;flex-direction:column;gap:8px}.sidebar-bottom small{color:#89919d}.sidebar-bottom strong{font-size:13px}.logout,.text-button{padding:0;border:none;background:transparent;color:#687582;text-align:left;font-size:13px;margin-top:10px}.main{padding:39px 46px;max-width:1500px;width:100%;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:31px;gap:16px}.user-pill{background:#fff;border:1px solid #e9eaed;border-radius:30px;padding:11px 18px;font-weight:600;white-space:nowrap}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:22px 0}.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}.metric,.panel{border:1px solid #e9ebee;background:#fff;border-radius:14px;padding:25px;box-shadow:0 3px 10px rgba(20,30,40,.015)}.metric{display:flex;flex-direction:column;gap:12px;min-height:145px}.metric span{font-size:12px;font-weight:600;color:#74808b}.metric strong{font-size:27px;letter-spacing:-.8px;color:#252c33;overflow-wrap:anywhere}.metric small{color:#9ca5ac;font-size:11px}.metric.small{min-height:125px}.panel{margin:19px 0;padding:28px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.section-head h2{margin-bottom:0}.pill{font-size:11px;background:#edf7f2;color:#247c5b;border-radius:99px;padding:7px 10px;font-weight:700}.copy-box{display:flex;gap:11px;margin-top:18px}.copy-box input{min-width:0;flex:1;border:1px solid #e3e6e9;background:#f9fafb;border-radius:9px;padding:13px 15px;color:#49545d}.primary,.secondary{border-radius:9px;padding:13px 18px;border:0;font-weight:700;white-space:nowrap}.primary{background:#222a31;color:#fff}.primary:hover{background:#37424c}.secondary{background:#edf0f2;color:#3a4650}.table-wrap{overflow-x:auto;margin-top:22px}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th,td{padding:16px 12px;border-bottom:1px solid #eef0f1}th{font-size:11px;color:#8d97a0;text-transform:uppercase;letter-spacing:.7px}td{color:#4d5962}td.empty{text-align:center;color:#929ba4;padding:36px}.status{display:inline-block;padding:6px 9px;border-radius:8px;font-size:11px;font-weight:700;background:#f0f2f3}.status-eligible{background:#e9f7ef;color:#277e54}.status-paid{background:#e9f1fb;color:#305e9a}.status-pending{background:#fff5e7;color:#9b691b}.status-cancelled{background:#faf0ef;color:#a35853}.filter{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-top:26px}.filter label{font-size:12px;color:#64707d;display:grid;gap:6px}.filter input{padding:11px;border:1px solid #e4e8eb;border-radius:8px;background:#fff;color:#3b4651}.account{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:12px 0}.account dt{font-size:12px;color:#87919c}.account dd{margin:0;font-weight:600;overflow-wrap:anywhere}footer{font-size:11px;color:#99a0a8;text-align:center;padding:35px 0 8px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px;background:#f6f7f9}.login-panel{width:100%;max-width:440px;background:#fff;padding:45px 38px;border-radius:17px;border:1px solid #e9ebee;box-shadow:0 20px 45px rgba(30,35,45,.04)}.login-panel .eyebrow{margin:25px 0 4px}.login-panel h1{font-size:25px}.login-panel p.muted{margin:14px 0 27px}.login-panel form:not(.form-inline){display:grid;gap:13px}.login-panel label{font-weight:700;font-size:12px}.login-panel input{border:1px solid #dbe0e3;border-radius:9px;padding:15px 14px;width:100%;outline:none}.login-panel input:focus{border-color:#5e6e7b;box-shadow:0 0 0 3px #e9eef1}.login-panel button.primary{margin-top:6px;width:100%}.login-panel .form-inline{text-align:center}.login-panel .form-inline button{margin-top:17px}.legal-note{font-size:11px;color:#a1a8af;margin-top:32px;text-align:center}.notice{background:#fff6e7;border:1px solid #f0dfbc;color:#876a2a;border-radius:10px;padding:12px 14px;margin:15px 0;font-size:12px;line-height:1.5}@media(max-width:1100px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.main{padding:30px}}@media(max-width:700px){.layout{display:block}.sidebar{min-height:0;padding:16px;display:block}.sidebar .brand{padding-left:0}.sidebar-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;gap:8px;overflow-x:auto;padding-top:12px}.nav-link{white-space:nowrap;padding:10px;font-size:12px}.main{padding:24px 16px}.user-pill{display:none}.cards,.cards.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:16px;min-height:118px}.metric strong{font-size:20px}.panel{padding:18px}.copy-box{flex-direction:column}.login-panel{padding:33px 25px}.topbar{margin-bottom:18px}}

/* =======================================================
   Portal de parceiros | Tela de login Riddy
   Escopo isolado: nao altera a dashboard autenticada.
   Assets existentes no servidor: /images/
   ======================================================= */
.partner-login-screen{min-height:100vh;min-height:100dvh;background:radial-gradient(ellipse at 13% 15%,#fafff3 0%,transparent 43%),radial-gradient(ellipse at 94% 87%,#ebfacf 0%,transparent 38%),#fbfdf8;position:relative;overflow:hidden;color:#092f20;isolation:isolate;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.partner-login-screen::before{content:"";position:absolute;width:510px;height:250px;background:#e5f8bd;border-radius:75% 0 0 0;right:-170px;bottom:-157px;transform:rotate(-14deg);z-index:-1;opacity:.95}
.partner-login-screen::after{content:"";position:absolute;width:390px;height:250px;background:rgba(176,229,87,.28);border-radius:75% 15% 0 0;right:-160px;bottom:-35px;transform:rotate(-35deg);z-index:-1}
.partner-login-layout{width:min(1180px,calc(100% - 72px));min-height:100dvh;margin:0 auto;display:grid;grid-template-columns:minmax(0,520px) minmax(0,610px);align-items:center;justify-content:center;gap:38px;padding:36px 0}
.partner-login-panel{background:#fff;border-radius:30px;padding:34px 42px 30px;min-width:0;min-height:660px;box-shadow:0 24px 50px rgba(15,54,34,.07);display:flex;flex-direction:column}
.partner-login-logo img{display:block;width:158px;height:auto;max-height:64px;object-fit:contain;object-position:left center}
.partner-login-content{margin-top:35px}
.partner-login-eyebrow{font-size:12px;letter-spacing:3.7px;font-weight:800;color:#737d82;margin:0 0 11px;line-height:1.4}
.partner-login-panel h1{font-size:clamp(32px,2.7vw,40px);line-height:1.12;letter-spacing:-1.5px;font-weight:800;color:#004c32;margin:0 0 19px;max-width:460px}
.partner-underlined{position:relative;white-space:nowrap;isolation:isolate}
.partner-underlined::after{content:"";height:12px;position:absolute;bottom:0;left:-2px;right:-3px;background:#a7e04c;border-radius:7px;z-index:-1}
.partner-login-description{font-size:15px;line-height:1.6;color:#5f6b70;margin:0 0 27px;max-width:425px}
.partner-access-form{display:flex;flex-direction:column;gap:0;margin:0}
.partner-access-form label{font-size:14px;line-height:1.45;font-weight:700;color:#141414;margin:0 0 8px}
.partner-access-form input{display:block;width:100%;height:51px;border:1px solid #d1d9dc;border-radius:17px;padding:0 19px;background:#fff;outline:0;color:#26342b;font-size:14px;transition:border-color .16s,box-shadow .16s}
.partner-access-form input:focus{border-color:#a7e04c;box-shadow:0 0 0 4px rgba(167,224,76,.22)}
.partner-access-form input::placeholder{color:#758088;opacity:1}
.partner-login-submit{margin-top:18px;display:block;width:100%;border:0;border-radius:24px;min-height:52px;background:#a7e04c;color:#003b26;font-size:15px;font-weight:750;line-height:1.3;padding:12px 17px;transition:background .15s,transform .15s}
.partner-login-submit:hover{background:#96d437}
.partner-login-submit:active{transform:translateY(1px)}
.partner-login-submit:focus-visible,.partner-login-text-link:focus-visible{outline:3px solid #004c32;outline-offset:3px}
.partner-login-help{font-size:13px;color:#56636a;text-align:center;margin:18px 0 0;line-height:1.65}
.partner-login-text-link{display:inline;background:none;border:0;padding:0;font:inherit;font-weight:700;color:#005536;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.partner-login-text-link:hover{color:#013820}
.partner-access-info{padding:15px 18px;margin-top:13px;background:#f1f9e8;border:1px solid #dceac8;border-radius:12px;color:#385442;font-size:14px;line-height:1.5}
.partner-login-footer{display:flex;align-items:center;gap:10px;border-top:1px solid #e7ebed;padding-top:19px;margin-top:auto;font-size:12px;line-height:1.5;color:#68757c}
.partner-login-footer ion-icon{font-size:18px;flex:none;color:#00633f}
.partner-login-notice{margin:0 0 18px;font-size:14px;line-height:1.5}
.partner-login-code-hint{font-size:15px;color:#56636a;margin:0 0 24px;overflow-wrap:anywhere}
.partner-login-resend{text-align:center;margin-top:18px}
.partner-login-aside{min-width:0;align-self:center;padding-bottom:5px}
.partner-login-hero{position:relative;padding:0;margin-bottom:25px}
.partner-login-hero::before{content:none}
.partner-login-hero img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;border-radius:0;position:relative;transform:none}
.partner-login-feature-list{display:grid;gap:18px;padding:0 18px 0 38px}
.partner-login-feature{display:flex;align-items:center;gap:18px;min-height:58px}
.partner-login-feature img{width:54px;height:54px;flex:none;object-fit:contain;border-radius:15px}
.partner-login-feature h2{font-size:16px;color:#101010;margin:0 0 4px;font-weight:750;line-height:1.26;letter-spacing:-.3px}
.partner-login-feature p{font-size:13px;line-height:1.4;margin:0;color:#606a71}
@media (max-width:1240px){.partner-login-layout{width:min(1080px,calc(100% - 48px));gap:30px;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.partner-login-panel{padding:32px 35px;min-height:640px}.partner-login-content{margin-top:32px}.partner-login-panel h1{font-size:clamp(30px,3.4vw,38px)}.partner-login-description{font-size:15px}.partner-login-feature-list{padding-left:20px;padding-right:0}.partner-login-feature{gap:14px}}
@media (max-width:860px){.partner-login-layout{grid-template-columns:minmax(0,1fr);max-width:520px;width:calc(100% - 36px);gap:30px;padding:24px 0 42px}.partner-login-panel{min-height:0;padding:33px 32px 28px;border-radius:26px}.partner-login-content{margin:30px 0 38px}.partner-login-aside{padding:0 9px}.partner-login-hero{margin-bottom:25px}.partner-login-feature-list{padding:0 14px;gap:17px}}
@media (max-width:520px){.partner-login-layout{width:calc(100% - 26px);padding:15px 0 36px;gap:33px}.partner-login-panel{padding:30px 23px 27px;border-radius:25px}.partner-login-logo img{width:155px}.partner-login-content{margin:33px 0 35px}.partner-login-eyebrow{font-size:12px;letter-spacing:3.3px;margin-bottom:13px}.partner-login-panel h1{font-size:clamp(32px,8.9vw,42px);letter-spacing:-1.5px;margin-bottom:20px}.partner-login-description{font-size:16px;margin-bottom:27px}.partner-access-form label{font-size:16px;margin-bottom:9px}.partner-access-form input{height:57px;padding:0 20px;border-radius:23px;font-size:16px}.partner-login-submit{min-height:57px;margin-top:19px;font-size:16px}.partner-login-help{font-size:15px;margin-top:21px}.partner-login-footer{font-size:12px;gap:9px;padding-top:18px}.partner-login-footer ion-icon{font-size:19px}.partner-login-hero img{border-radius:0}.partner-login-hero{padding-top:0;margin-bottom:25px}.partner-login-feature-list{padding:0 5px;gap:20px}.partner-login-feature{gap:14px}.partner-login-feature img{width:56px;height:56px}.partner-login-feature h2{font-size:17px}.partner-login-feature p{font-size:14px}}
@media (prefers-reduced-motion:reduce){.partner-login-screen *{transition:none!important}}

/* ============================================================
   RIDDY PARTNERS — IDENTIDADE VISUAL DO PAINEL INTERNO
   Somente .layout: login existente permanece 100% preservado.
   Paleta: verde escuro #005536 / #0a6044, lima #a7e04c.
   ============================================================ */
.layout {
  --riddy-green:#005536;
  --riddy-deep:#004c32;
  --riddy-lime:#a7e04c;
  --riddy-text:#18352b;
  --riddy-muted:#677b71;
  --riddy-border:#e2ebe3;
  --riddy-bg:#f7fbf5;
  background:var(--riddy-bg);
  color:var(--riddy-text);
}
.layout .sidebar {
  background:#fff;
  border-right:1px solid var(--riddy-border);
  box-shadow:2px 0 16px rgba(0,66,41,.025);
}
.layout .sidebar .brand {
  color:var(--riddy-green);
  letter-spacing:-1.6px;
}
.layout .sidebar .brand-dot {color:var(--riddy-lime)}
.layout .sidebar-label,
.layout .topbar .eyebrow {
  color:#6f877a;
}
.layout .sidebar-label {
  border-bottom:1px solid #edf2ed;
  margin:0 8px 17px;
  padding:0 4px 22px;
}
.layout .nav-link {
  color:#52675b;
  border-radius:11px;
  transition:background-color .16s,color .16s,box-shadow .16s;
}
.layout .nav-link:hover {
  color:var(--riddy-deep);
  background:#f0f9e9;
  text-decoration:none;
}
.layout .nav-link.active {
  color:#fff;
  background:var(--riddy-green);
  box-shadow:0 5px 14px rgba(0,85,54,.12);
}
.layout .nav-link.active:hover {background:#004c32;color:#fff}
.layout .sidebar-bottom {border-top-color:var(--riddy-border)}
.layout .sidebar-bottom small {color:#819288}
.layout .sidebar-bottom strong {color:var(--riddy-green)}
.layout .logout {color:var(--riddy-green);font-weight:650}
.layout .logout:hover {color:var(--riddy-deep);text-decoration:underline}
.layout .main {color:var(--riddy-text)}
.layout .topbar h1 {color:var(--riddy-deep);font-weight:800}
.layout .user-pill {
  color:var(--riddy-green);
  border:1px solid #d9e8d7;
  background:#fff;
  box-shadow:0 3px 12px rgba(5,78,47,.025);
}
.layout .muted,
.layout .intro {color:var(--riddy-muted)}
.layout .metric,
.layout .panel {
  background:#fff;
  border:1px solid var(--riddy-border);
  border-radius:15px;
  box-shadow:0 6px 20px rgba(8,72,42,.025);
}
.layout .metric {
  border-top:3px solid #d8efb6;
  padding-top:22px;
  transition:border-color .16s;
}
.layout .metric:hover {border-top-color:var(--riddy-lime)}
.layout .metric span {color:#668073}
.layout .metric strong {color:var(--riddy-deep);font-weight:800}
.layout .metric small {color:#8a9f93}
.layout .panel h2,
.layout .section-head h2 {color:var(--riddy-deep)}
.layout .pill {
  background:#eaf8d5;
  color:var(--riddy-green);
  border:1px solid #d9efb8;
}
.layout .copy-box input {
  background:#fbfdf9;
  border-color:#dce8d9;
  color:#26483a;
}
.layout .primary {
  background:var(--riddy-lime);
  color:#003b26;
  border-radius:10px;
  transition:background .15s,transform .15s;
}
.layout .primary:hover {background:#96d437;color:#003b26}
.layout .primary:active {transform:translateY(1px)}
.layout .secondary {
  background:#edf5e9;
  color:var(--riddy-green);
  border:1px solid #dcead7;
}
.layout .secondary:hover {background:#e2f2d9}
.layout button:focus-visible,
.layout a:focus-visible,
.layout input:focus-visible {
  outline:2px solid var(--riddy-green);
  outline-offset:3px;
}
.layout .copy-box input:focus,
.layout .filter input:focus {
  border-color:var(--riddy-lime);
  outline:0;
  box-shadow:0 0 0 3px rgba(167,224,76,.2);
}
.layout th {
  background:#f7faf5;
  color:#627b6b;
  border-bottom-color:#dce9de;
}
.layout td {color:#465c50;border-bottom-color:#edf3ed}
.layout tbody tr:hover {background:#fbfdf9}
.layout td.empty {color:#84958b}
.layout .status {background:#edf3ef;color:#536a5b}
.layout .status-eligible {background:#eaf8d5;color:#226342}
.layout .status-paid {background:#e3f5e9;color:#137447}
.layout .status-pending {background:#fff5e3;color:#91621e}
.layout .status-cancelled {background:#fff0ed;color:#a64f48}
.layout .filter label {color:#617a6b}
.layout .filter input {
  border-color:#dce8df;
  background:#fff;
  color:var(--riddy-text);
}
.layout .account dt {color:#738a7a}
.layout .account dd {color:var(--riddy-text)}
.layout footer {color:#8ca093}
@media(max-width:700px) {
  .layout .sidebar {border-right:0;border-bottom:1px solid var(--riddy-border)}
  .layout .nav-link.active {box-shadow:none}
  .layout .metric {padding-top:13px;border-top-width:3px}
}
@media(prefers-reduced-motion:reduce) {
  .layout * {transition:none!important}
}


/* =============================================================
   RIDDY | Dashboard autenticada — contraste institucional
   Regras confinadas à .layout, sem alterar a tela de login.
   ============================================================= */
.layout {
    background: #f5faf2;
}
.layout .sidebar {
    background: #fff;
    border-right: 1px solid #dceada;
}
.layout .sidebar .brand {
    color: #005536;
}
.layout .sidebar .brand-dot {
    color: #a7e04c;
}
.layout .nav-link.active,
.layout .nav-link.active:hover {
    background: #005536;
    color: #fff;
}
.layout .nav-link:not(.active):hover {
    background: #edf8e4;
    color: #005536;
}
.layout .topbar h1,
.layout .metric strong,
.layout .panel h2,
.layout .section-head h2 {
    color: #005536;
}
.layout .metric {
    border: 1px solid #dfeadd;
    border-top: 3px solid #a7e04c;
    background: #fff;
}
.layout .metric.small {
    border-top-color: #d9efb8;
}
.layout .panel {
    border: 1px solid #dfeadd;
    background: #fff;
}
.layout .primary,
.layout .copy-button {
    background: #a7e04c;
    color: #003b26;
    border: 0;
}
.layout .primary:hover,
.layout .copy-button:hover {
    background: #96d437;
    color: #003b26;
}
.layout .user-pill {
    border: 1px solid #d5e5d3;
    color: #005536;
}
.layout .pill {
    background: #ebf8d7;
    color: #005536;
}
.layout .sidebar-label,
.layout .topbar .eyebrow {
    color: #617c6d;
}
.layout .copy-box input {
    background: #fbfdf9;
    border-color: #cfe1cc;
}
.layout .filter input:focus,
.layout .copy-box input:focus {
    border-color: #96d437;
    box-shadow: 0 0 0 3px rgba(167,224,76,.2);
}

/* =============================================================
   RIDDY — Identidade final consistente em TODAS as páginas internas
   Visão geral, Indicações, Comissões, Financeiro, Tráfego e Minha conta.
   Apenas a dashboard autenticada (.layout), sem impacto no login.
   ============================================================= */
.layout {
  --riddy-bg:#f7fbf5;
  --riddy-green:#005536;
  --riddy-deep:#004c32;
  --riddy-lime:#a7e04c;
  --riddy-border:#e2ebe3;
  background:#f7fbf5;
}
.layout .main { background:transparent; }
.layout .metric,
.layout .panel {
  background:#ffffff;
  border:1px solid var(--riddy-border);
  border-radius:15px;
  box-shadow:0 5px 18px rgba(5,75,40,.025);
}
.layout .metric {border-top:3px solid #d9efb8;}
.layout .metric.small {border-top-color:#d9efb8;}
.layout .topbar h1,
.layout .metric strong,
.layout .panel h2,
.layout .section-head h2 {color:#004c32;}
.layout .sidebar .brand,
.layout .sidebar-bottom strong,
.layout .user-pill {color:#005536;}
.layout .nav-link.active,
.layout .nav-link.active:hover {background:#005536;color:#fff;}
.layout .primary,
.layout .copy-button {background:#a7e04c;color:#003b26;}
.layout .primary:hover,
.layout .copy-button:hover {background:#96d437;color:#003b26;}
.layout .pill {background:#eaf8d5;color:#005536;border:1px solid #d9efb8;}
.layout .notice {background:#fff9ec;border-color:#f1dfb9;color:#77591d;}
.layout .filter input {background:#fff;border-color:#dce8df;color:#18352b;}
.layout .filter input:focus,
.layout .copy-box input:focus {border-color:#a7e04c;box-shadow:0 0 0 3px rgba(167,224,76,.20);outline:0;}
.layout .table-wrap {border-radius:9px;}
.layout th {background:#f7faf5;color:#627b6b;border-bottom-color:#dce9de;}
.layout td {color:#465c50;border-bottom-color:#edf3ed;}
.layout .status-eligible {background:#eaf8d5;color:#226342;}
.layout .status-paid {background:#e3f5e9;color:#137447;}
.layout .status-pending {background:#fff5e3;color:#91621e;}
.layout .status-cancelled {background:#fff0ed;color:#a64f48;}
.layout .account dt {color:#738a7a;}
.layout .account dd {color:#18352b;}
.layout footer {color:#8ca093;}

/* Riddy Partners: manter todas as paginas internas alinhadas ao topo. */
.layout .main {
    margin: 0 auto;
    align-self: start;
}

/* Logo oficial e logout visivel no desktop e no celular. So dashboard. */
.layout .partner-dashboard-brand{display:flex;align-items:center;width:fit-content;max-width:100%;min-height:65px;margin:0 0 1px 12px;text-decoration:none}
.layout .partner-dashboard-brand img{display:block;width:150px;max-width:100%;height:auto;object-fit:contain;object-position:left center}
.layout .partner-topbar-account{display:flex;align-items:center;justify-content:flex-end;gap:9px;min-width:0;margin-left:auto}
.layout .partner-topbar-account .user-pill{display:inline-flex;gap:4px;align-items:center;min-width:0;max-width:230px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.layout .partner-topbar-account .user-pill span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:inline-block}
.layout .partner-header-logout{margin:0;flex:none}
.layout .partner-logout-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #cfe4ce;background:#fff;color:#005536;border-radius:30px;padding:11px 15px;min-height:42px;font-size:13px;font-weight:750;transition:background-color .15s,border-color .15s}
.layout .partner-logout-button svg{flex:none}
.layout .partner-logout-button:hover{background:#eaf8d5;border-color:#a7e04c}
.layout .partner-logout-button:focus-visible{outline:2px solid #005536;outline-offset:3px}
@media(max-width:700px){
.layout .partner-dashboard-brand{margin:0 0 4px;min-height:45px}
.layout .partner-dashboard-brand img{width:130px}
.layout .topbar{align-items:flex-start;gap:12px}
.layout .partner-topbar-account{display:flex;margin-left:auto;max-width:60%;gap:6px}
.layout .partner-topbar-account .user-pill{display:inline-flex;font-size:11px;padding:9px 10px;max-width:150px}
.layout .partner-logout-button{min-height:36px;padding:8px 11px;font-size:12px;gap:5px}
}
@media(max-width:390px){
.layout .topbar{flex-wrap:wrap}
.layout .partner-topbar-account{max-width:100%;margin-left:0}
.layout .partner-topbar-account .user-pill{max-width:160px}
}

/* Sair ao lado da logo no mobile; desktop conserva controle junto ao usuario. */
.layout .partner-sidebar-head{display:block}
.layout .partner-mobile-header-logout{display:none}
@media (max-width:700px){
  .layout .partner-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px}
  .layout .partner-sidebar-head .partner-dashboard-brand{margin:0;min-height:44px;flex:0 1 auto;min-width:0}
  .layout .partner-sidebar-head .partner-dashboard-brand img{width:130px;max-width:100%;height:auto}
  .layout .partner-mobile-header-logout{display:block;margin:0 0 0 auto;flex:none}
  .layout .partner-mobile-header-logout .partner-logout-button{min-height:38px;padding:8px 12px;gap:7px;font-size:12px;background:#fff}
  .layout .topbar .partner-topbar-account{display:none!important}
  .layout .topbar{display:flex;align-items:flex-start;justify-content:flex-start}
}

/* Indicacao de requisicao em andamento — apenas tela de login */
.partner-login-screen button.is-loading {cursor:progress;opacity:.82;pointer-events:none}
.partner-login-screen .partner-login-submit.is-loading {background:#b9e575;color:#235037}
.partner-login-screen button.is-loading:disabled {opacity:.82}


/* Riddy Parceiros — alinhamento e espacamento dos links da verificacao */
.partner-login-screen .partner-login-resend,
.partner-login-screen .partner-login-change-email {
  display:block;
  width:100%;
  text-align:center;
  padding:0;
}
.partner-login-screen .partner-login-resend {margin:18px 0 0}
.partner-login-screen .partner-login-change-email {margin:11px 0 0}
.partner-login-screen .partner-login-resend .partner-login-text-link,
.partner-login-screen .partner-login-change-email .partner-login-text-link {
  display:inline-block;
  width:auto;
  line-height:1.5;
  font-size:13px;
}
.partner-login-screen .partner-login-help {
  margin:26px 0 0;
  padding:0;
  text-align:center;
  line-height:1.65;
}
.partner-login-screen .partner-login-content {
  padding-bottom:26px;
}
.partner-login-screen .partner-login-footer {
  margin-top:auto;
}
@media(max-width:520px) {
  .partner-login-screen .partner-login-resend {margin-top:18px}
  .partner-login-screen .partner-login-change-email {margin-top:11px}
  .partner-login-screen .partner-login-help {margin-top:26px}
  .partner-login-screen .partner-login-content {padding-bottom:28px}
}


/* ============================================================
   Riddy Parceiros — avisos de validacao discretos no login
   Exclusivamente visual; nao interfere no JS/POST nem nas regras.
   ============================================================ */
.partner-login-screen .partner-field-error {
  display: block;
  width: 100%;
  margin: 7px 0 0;
  padding: 8px 11px;
  border: 1px solid #f4caca;
  border-radius: 9px;
  background-color: #fff4f4;
  color: #a93131;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  box-shadow: none;
}
.partner-login-screen .partner-field-error[hidden] {
  display: none !important;
}
.partner-login-screen .partner-access-form input.partner-input-invalid,
.partner-login-screen .partner-access-form input[aria-invalid="true"] {
  border-color: #e69a9a;
  background: #fffdfd;
  box-shadow: 0 0 0 3px rgba(201, 67, 67, .07);
}
.partner-login-screen .partner-access-form input.partner-input-invalid:focus,
.partner-login-screen .partner-access-form input[aria-invalid="true"]:focus {
  border-color: #d96c6c;
  box-shadow: 0 0 0 3px rgba(201, 67, 67, .11);
}


/* ============================================================
   RIDDY PARTNERS | Menu mobile horizontal com rolagem suave
   Swipe nativo, sem barra horizontal e com fade discreto à direita.
   Aplica-se apenas à dashboard em telas até 700px.
   ============================================================ */
@media (max-width: 700px) {
  .layout .sidebar nav[aria-label="Menu principal"] {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 6px;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 12px 25px 12px 0;
    margin: 0;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 10px 36px;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    touch-action: pan-x;
    -webkit-mask-image: linear-gradient(to right, #000 0%, #000 calc(100% - 38px), transparent 100%);
    mask-image: linear-gradient(to right, #000 0%, #000 calc(100% - 38px), transparent 100%);
  }
  .layout .sidebar nav[aria-label="Menu principal"]::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }
  .layout .sidebar nav[aria-label="Menu principal"] .nav-link {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    margin: 0;
    padding: 10px 13px;
    font-size: 12px;
    line-height: 1.25;
    white-space: nowrap;
    scroll-snap-align: start;
    scroll-snap-stop: normal;
  }
  .layout .sidebar nav[aria-label="Menu principal"] .nav-link:last-child {
    margin-right: 3px;
  }
}
