@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');.tasks-page {
  width: 100%;
  min-width: 0;
  color: #24332d;
}

.tasks-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}

.tasks-header p {
  margin: 0 0 .25rem;
  color: #168a61;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.tasks-header h1 {
  margin: 0;
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  line-height: 1.1;
}

.tasks-header span {
  display: block;
  margin-top: .45rem;
  color: #67766f;
}

.task-primary,
.task-secondary,
.task-danger,
.task-card button,
.task-form button,
.task-filters button {
  border: 0;
  border-radius: .65rem;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
}

.task-primary {
  padding: .8rem 1.1rem;
  background: #168a61;
  color: #fff;
  box-shadow: 0 .4rem 1rem rgba(22, 138, 97, .2);
}

.task-primary:hover {
  background: #10734f;
}

.task-secondary {
  padding: .68rem .9rem;
  background: #edf2ef;
  color: #34463e;
}

.task-filters {
  display: grid;
  grid-template-columns: minmax(12rem, 2fr) repeat(3, minmax(9rem, 1fr)) auto auto;
  align-items: end;
  gap: .8rem;
  padding: 1rem;
  margin-bottom: 1.3rem;
  border: 1px solid #dce6e1;
  border-radius: 1rem;
  background: #fff;
}

.task-filters label,
.task-form label {
  display: grid;
  gap: .35rem;
  color: #46574f;
  font-size: .82rem;
  font-weight: 700;
}

.task-filters input,
.task-filters select,
.task-form input,
.task-form select,
.task-form textarea,
.task-card select {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #ccd9d3;
  border-radius: .6rem;
  background: #fff;
  color: #24332d;
  font: inherit;
}

.task-filters input,
.task-filters select,
.task-form input,
.task-form select {
  min-height: 2.55rem;
  padding: .55rem .7rem;
}

.task-filters input:focus,
.task-filters select:focus,
.task-form input:focus,
.task-form select:focus,
.task-form textarea:focus,
.task-card select:focus {
  border-color: #168a61;
  outline: 3px solid rgba(22, 138, 97, .12);
}

.task-filters .task-check {
  display: flex;
  align-items: center;
  min-height: 2.55rem;
  white-space: nowrap;
}

.task-filters .task-check input {
  width: 1rem;
  min-height: auto;
  margin: 0 .45rem 0 0;
}

.task-board {
  display: grid;
  grid-template-columns: repeat(4, minmax(15rem, 1fr));
  gap: 1rem;
  align-items: start;
  overflow-x: auto;
  padding-bottom: .75rem;
}

.task-column {
  min-height: 12rem;
  padding: .8rem;
  border: 1px solid #dfe8e4;
  border-radius: 1rem;
  background: #f5f8f6;
}

.task-column > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .15rem .15rem .75rem;
}

.task-column > header h2 {
  margin: 0;
  font-size: .95rem;
}

.task-column > header span {
  display: grid;
  place-items: center;
  min-width: 1.7rem;
  height: 1.7rem;
  border-radius: 999px;
  background: #e0ebe6;
  color: #52635b;
  font-size: .78rem;
  font-weight: 800;
}

.task-column > div {
  display: grid;
  gap: .75rem;
}

.task-card {
  padding: .9rem;
  border: 1px solid #dbe5e0;
  border-left: 4px solid #81918a;
  border-radius: .8rem;
  background: #fff;
  box-shadow: 0 .3rem .8rem rgba(36, 51, 45, .05);
}

.task-card.priority-medium { border-left-color: #4d91cb; }
.task-card.priority-high { border-left-color: #e99535; }
.task-card.priority-urgent { border-left-color: #d44f4f; }

.task-card-top,
.task-card-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
}

.task-card-top span {
  color: #66766f;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.task-card-top button,
.task-card-actions button {
  padding: .32rem .5rem;
  background: transparent;
  color: #168a61;
  font-size: .77rem;
}

.task-card h3 {
  margin: .7rem 0 .35rem;
  font-size: 1rem;
  overflow-wrap: anywhere;
}

.task-card p {
  display: -webkit-box;
  margin: 0 0 .75rem;
  overflow: hidden;
  color: #63736c;
  font-size: .85rem;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.task-card dl {
  display: grid;
  gap: .45rem;
  margin: .75rem 0;
}

.task-card dl div {
  display: flex;
  justify-content: space-between;
  gap: .5rem;
  font-size: .75rem;
}

.task-card dt { color: #78877f; }
.task-card dd { margin: 0; font-weight: 700; text-align: right; }

.task-card select {
  min-width: 0;
  padding: .4rem;
  font-size: .76rem;
}

.task-card-actions .task-danger,
.task-danger {
  color: #b52f38;
}

.task-empty,
.tasks-empty,
.task-loading {
  margin: 0;
  padding: 1rem;
  color: #77867f;
  text-align: center;
  font-size: .85rem;
}

.task-error {
  padding: .75rem 1rem;
  border: 1px solid #efc4c7;
  border-radius: .7rem;
  background: #fff0f1;
  color: #a42730;
}

.task-modal {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 1rem;
  overflow-y: auto;
  background: rgba(22, 33, 28, .58);
}

.task-form {
  width: min(42rem, 100%);
  box-sizing: border-box;
  display: grid;
  gap: 1rem;
  padding: 1.25rem;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .22);
}

.task-form-heading,
.task-form-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}

.task-form-heading h2 { margin: 0; }

.task-form-heading button {
  width: 2.2rem;
  height: 2.2rem;
  background: transparent;
  color: #68776f;
  font-size: 1.5rem;
}

.task-form textarea {
  min-height: 7rem;
  padding: .7rem;
  resize: vertical;
}

.task-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
}

.task-form-actions {
  justify-content: flex-end;
  padding-top: .25rem;
}

.task-list-wrap {
  overflow-x: auto;
  border: 1px solid #dfe8e4;
  border-radius: 1rem;
  background: #fff;
}

.task-list {
  width: 100%;
  border-collapse: collapse;
}

.task-list th,
.task-list td {
  padding: .8rem;
  border-bottom: 1px solid #e7eeea;
  text-align: left;
  vertical-align: middle;
}

.task-list td small {
  display: block;
  max-width: 24rem;
  margin-top: .25rem;
  overflow: hidden;
  color: #718078;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-actions {
  display: flex;
  gap: .5rem;
}

.task-actions button {
  border: 0;
  background: transparent;
  color: #168a61;
  cursor: pointer;
  font-weight: 700;
}

.task-actions button.danger { color: #b52f38; }

.task-priority {
  display: inline-block;
  padding: .25rem .5rem;
  border-radius: 999px;
  background: #edf2ef;
  font-size: .75rem;
  font-weight: 800;
}

.task-priority--urgent { background: #ffe4e5; color: #a42730; }
.task-priority--high { background: #fff0d9; color: #95580e; }
.task-priority--medium { background: #e3f0fb; color: #286694; }

@media (max-width: 1100px) {
  .task-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .tasks-header {
    align-items: stretch;
    flex-direction: column;
  }

  .task-filters,
  .task-form-grid {
    grid-template-columns: 1fr;
  }

  .task-board {
    grid-template-columns: repeat(4, minmax(17rem, 85vw));
  }

  .task-form-actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }
}
.partnership-dashboard{max-width:1400px}.partnership-dashboard .panel-heading{gap:24px;align-items:flex-start}.partnership-dashboard .panel-heading h2{font-size:34px}.partnership-dashboard .panel-heading p{margin:6px 0;color:#67817e}.dashboard-filters{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.dashboard-filters input{width:auto;min-width:145px}.dashboard-filters button,.dashboard-filters a{padding:11px 15px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--green);font-weight:700;text-decoration:none}.dashboard-filters .primary-button{background:var(--green);color:#fff}.partnership-dashboard .cards{grid-template-columns:repeat(4,1fr);margin:26px 0}.partnership-dashboard .cards article{min-height:125px;align-content:center;background:#fff}.partnership-dashboard .cards article:nth-child(1){background:#e8f3ff}.partnership-dashboard .cards article:nth-child(2){background:#e3f6ee}.partnership-dashboard .cards article:nth-child(3){background:#eee8ff}.partnership-dashboard .cards article:nth-child(4){background:#fff0dd}.partnership-dashboard .cards strong{font:800 34px Manrope,sans-serif;color:#173a37}.dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-bottom:18px}.dashboard-grid .panel,.partnership-dashboard>.panel{max-width:none;padding:22px;background:#fff;border:1px solid var(--line);border-radius:16px}.rank-row{display:grid;grid-template-columns:minmax(120px,1fr) 2fr 45px;align-items:center;gap:12px;padding:8px 0;font-size:13px}.rank-track{height:11px;overflow:hidden;background:#e7efed;border-radius:10px}.rank-track i{display:block;height:100%;background:var(--green);border-radius:10px}.evolution-row{display:grid;grid-template-columns:1fr auto;gap:2px 14px;padding:10px 0;border-bottom:1px solid var(--line)}.evolution-row small{grid-column:1/-1;color:#67817e}.partnership-tabs{display:flex;gap:4px;margin-bottom:22px;padding:5px;width:max-content;background:#e7efed;border-radius:11px}.partnership-tabs button{padding:9px 18px;border:0;border-radius:8px;background:transparent;color:#55716e;font-weight:700}.partnership-tabs button.active{background:#fff;color:var(--green);box-shadow:0 2px 8px rgba(7,92,85,.08)}@media(max-width:1100px){.partnership-dashboard .cards{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:650px){.partnership-dashboard .cards{grid-template-columns:1fr}.dashboard-filters{width:100%}.dashboard-filters input{width:100%}.rank-row{grid-template-columns:1fr 1fr 35px}}

/* ==================================================
   M3.1 - Dashboard Mobile
   ================================================== */

@media (max-width:768px){

.dashboard-page,
.dashboard-container{
    display:flex;
    flex-direction:column;
    gap:16px;
    padding:16px;
    overflow-x:hidden;
}

.dashboard-kpis,
.dashboard-cards,
.kpi-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.dashboard-card,
.kpi-card{
    width:100%;
    min-width:0;
}

.dashboard-ranking,
.ranking-card{
    width:100%;
    overflow:hidden;
}

.dashboard-ranking table{
    display:block;
    width:100%;
    overflow-x:auto;
}

.dashboard-chart,
.chart-card{
    width:100%;
    overflow:hidden;
}

body{
    overflow-x:hidden;
}

}


/* ==================================================
   M3.2 - KPIs Mobile
   ================================================== */

@media (max-width:768px){

.dashboard-kpis,
.kpi-grid{

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
    margin-bottom:18px;

}

.dashboard-card,
.kpi-card{

    min-height:110px;
    border-radius:14px;
    padding:16px;

}

.dashboard-card h2,
.kpi-card h2{

    font-size:1.8rem;
    margin:0 0 6px;

}

.dashboard-card p,
.kpi-card p{

    font-size:.90rem;
    opacity:.8;
    margin:0;

}

}


/* ==================================================
   M3.3 - Ranking Responsivo
   ================================================== */

@media (max-width:768px){

.dashboard-ranking,
.ranking-card{

    width:100%;
    border-radius:16px;
    padding:16px;
    overflow:hidden;

}

.dashboard-ranking table{

    width:100%;
    border-collapse:collapse;

}

.dashboard-ranking thead{

    display:none;

}

.dashboard-ranking tbody{

    display:flex;
    flex-direction:column;
    gap:12px;

}

.dashboard-ranking tr{

    display:block;
    border:1px solid rgba(0,0,0,.08);
    border-radius:12px;
    padding:12px;
    background:#fff;

}

.dashboard-ranking td{

    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:6px 0;
    border:none;

}

.dashboard-ranking td::before{

    content:attr(data-label);
    font-weight:600;
    opacity:.75;

}

}


/* ==================================================
   M3.4 - Gráficos Mobile
   ================================================== */

@media (max-width:768px){

.dashboard-charts,
.dashboard-graphs{

    display:flex;
    flex-direction:column;
    gap:16px;
    width:100%;

}

.chart-card,
.dashboard-chart{

    width:100%;
    min-width:0;
    border-radius:16px;
    padding:16px;
    overflow:hidden;

}

.chart-card canvas,
.dashboard-chart canvas,
.chart-card svg,
.dashboard-chart svg{

    display:block;
    width:100% !important;
    max-width:100%;
    height:auto !important;

}

.chart-title{

    font-size:1rem;
    font-weight:600;
    margin-bottom:12px;

}

}


/* ==================================================
   M3.5 - Espaçamento e Tipografia Mobile
   ================================================== */

@media (max-width:768px){

.dashboard-page,
.dashboard-container{

    padding:18px;
    gap:18px;

}

.dashboard-header{

    margin-bottom:18px;

}

.dashboard-header h1{

    font-size:1.55rem;
    line-height:1.2;
    margin:0;

}

.dashboard-header p{

    font-size:.95rem;
    margin-top:6px;
    opacity:.72;

}

.kpi-card,
.dashboard-card{

    padding:18px;

}

.kpi-card h2,
.dashboard-card h2{

    font-size:2rem;
    font-weight:700;
    line-height:1.1;

}

.kpi-card p,
.dashboard-card p{

    font-size:.92rem;
    margin-top:8px;

}

.dashboard-ranking{

    margin-top:10px;

}

.dashboard-ranking tr{

    margin-bottom:10px;

}

.dashboard-ranking td{

    font-size:.92rem;

}

.chart-card,
.dashboard-chart{

    margin-top:10px;

}

}


/* ==================================================
   M3.6 - Validação Final Responsiva
   ================================================== */

@media (max-width:768px){

html,
body{

    width:100%;
    max-width:100%;
    overflow-x:hidden;

}

#root{

    width:100%;
    max-width:100%;
    overflow-x:hidden;

}

.dashboard-page,
.dashboard-container{

    width:100%;
    max-width:100%;
    box-sizing:border-box;

}

.dashboard-page *,
.dashboard-container *{

    max-width:100%;
    box-sizing:border-box;

}

img,
svg,
canvas{

    max-width:100%;
    height:auto;
    display:block;

}

table{

    width:100%;

}

button{

    min-height:44px;

}

input,
select,
textarea{

    min-height:44px;
    font-size:16px;

}

}

@media (min-width:769px){

.dashboard-page,
.dashboard-container{

    overflow-x:visible;

}

}


/* ==================================================
   M3.7 - Acabamento Visual Dashboard
   ================================================== */

.dashboard-card,
.kpi-card,
.ranking-card,
.chart-card{

    background:#ffffff;
    border-radius:18px;
    border:1px solid rgba(15,23,42,.08);
    box-shadow:
        0 8px 24px rgba(15,23,42,.06);

    transition:
        transform .18s ease,
        box-shadow .18s ease;

}

.dashboard-card:hover,
.kpi-card:hover,
.ranking-card:hover,
.chart-card:hover{

    transform:translateY(-2px);

    box-shadow:
        0 14px 34px rgba(15,23,42,.10);

}

.dashboard-header{

    margin-bottom:24px;

}

.dashboard-header h1{

    font-weight:700;
    letter-spacing:-.02em;

}

.dashboard-header p{

    color:#64748b;

}

.dashboard-card h2,
.kpi-card h2{

    color:#0f172a;

}

.dashboard-card p,
.kpi-card p{

    color:#64748b;

}

.dashboard-ranking tr{

    transition:background .18s ease;

}

.dashboard-ranking tr:hover{

    background:#f8fafc;

}


/* ==================================================
   M4.10 - Refinamento Visual
   ================================================== */

.partnership-dashboard{

    gap:24px;

}

.partnership-dashboard .cards{

    gap:18px;

}

.partnership-dashboard .cards article{

    border-radius:18px;
    padding:24px;
    border:1px solid rgba(15,23,42,.08);

    box-shadow:
        0 10px 28px rgba(15,23,42,.06);

    transition:
        transform .18s ease,
        box-shadow .18s ease;

}

.partnership-dashboard .cards article:hover{

    transform:translateY(-3px);

    box-shadow:
        0 18px 42px rgba(15,23,42,.10);

}

.dashboard-grid{

    gap:22px;

}

.dashboard-grid>.panel{

    border-radius:18px;

}

.rank-track{

    height:12px;

}

.rank-track i{

    border-radius:999px;

}

.evolution-chart{

    width:100%;
    height:auto;

}
/* Cadastros por dia util */
.registrations-panel{max-width:none;margin:0 0 22px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:18px}
.registrations-note{margin:4px 0 24px;color:#67817e;font-size:13px}
.registrations-chart{min-height:180px;display:flex;align-items:flex-end;gap:14px;padding:18px 8px 0;border-bottom:1px solid var(--line);overflow-x:auto}
.registration-bar{min-width:64px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px;text-align:center}
.registration-bar strong{font-size:14px}.registration-bar i{display:block;width:min(54px,70%);background:var(--green);border-radius:9px 9px 0 0}.registration-bar span{min-height:32px;font-size:11px;color:#55716e;white-space:nowrap}
@media(max-width:650px){.registrations-panel{padding:16px}.registrations-chart{gap:8px}.registration-bar{min-width:54px}}


.d2-final{max-width:1600px;color:#10233e}
.d2-final-header{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:14px}.d2-final-header h2{margin:2px 0 4px;font-size:28px;color:#0f213c}.d2-final-header p{margin:0;color:#6b7b91}.d2-final-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.d2-filter,.d2-export{border:1px solid #d7e1ec;background:#fff;color:#203a5c;border-radius:10px;padding:10px 14px;font-weight:700}.d2-filter span{margin-left:10px}.d2-export{background:#164a7c;color:#fff;border-color:#164a7c}.d2-export:disabled{opacity:.55}
.d2-build-banner{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:12px 16px;margin-bottom:14px;border:1px solid #cfe0ef;background:#f6fbff;border-radius:12px}.d2-build-banner div{display:flex;gap:12px;align-items:center}.d2-build-banner strong{color:#164a7c}.d2-build-banner span{color:#6b7b91;font-size:13px}.d2-build-badge{background:#e7f2ff!important;color:#145a8d!important;border-radius:999px;padding:7px 10px;font-weight:800;white-space:nowrap}
.d2-filter-rule{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:14px;border-color:#f0d7a8;background:#fffaf0}.d2-filter-rule>div{display:flex;flex-direction:column;gap:4px}.d2-filter-rule strong{font-size:12px;color:#6f4b00}.d2-filter-rule span{font-size:11px;line-height:1.35;color:#6e7a89}.d2-rule-badge{background:#fff0c7;color:#8a5a00!important;border-radius:999px;padding:7px 10px;font-size:10px!important;font-weight:800;white-space:nowrap}
.d2-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:14px}.d2-kpi{background:#fff;border:1px solid #dfe7ef;border-radius:14px;padding:16px;display:flex;gap:12px;min-height:112px;box-shadow:0 4px 16px rgba(15,35,60,.05)}.d2-kpi-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-weight:900;font-size:20px;background:#e9eef5}.d2-kpi-icon.violet{background:#eee7ff;color:#7357d4}.d2-kpi-icon.blue{background:#e4f2ff;color:#2b8bd8}.d2-kpi-icon.green{background:#e5f7ef;color:#20a46e}.d2-kpi-icon.cyan{background:#e4f7fb;color:#2498b7}.d2-kpi-icon.yellow{background:#fff5d8;color:#d89c00}.d2-kpi-icon.emerald{background:#e2f8ef;color:#159669}.d2-kpi-copy{display:flex;flex-direction:column;min-width:0}.d2-kpi-copy span{font-size:12px;font-weight:800}.d2-kpi-copy strong{font-size:28px;line-height:1;margin:7px 0}.d2-kpi-copy small{font-size:10px;line-height:1.3;color:#7d8b9e}
.d2-validated{margin-bottom:12px;border-color:#cfe2f1}.d2-validated-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.d2-validated-grid>div{background:#f7fafc;border:1px solid #e0e8ef;border-radius:10px;padding:12px;display:flex;flex-direction:column;min-height:88px}.d2-validated-grid span{font-size:10px;font-weight:800;color:#52667e}.d2-validated-grid strong{font-size:25px;color:#132d4d;margin:7px 0 4px}.d2-validated-grid strong.text{font-size:14px;line-height:1.2}.d2-validated-grid .ok-text{color:#17845d}.d2-validated-grid .muted-text{color:#69798b}.d2-validated-grid small{font-size:9px;color:#8391a1}
.d2-integration-sample{width:100%;box-sizing:border-box}.d2-sample-note{margin:-4px 0 12px;color:#687b91;font-size:11px}.d2-sample-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.d2-sample-grid>div{min-height:76px}
.d2-grid-main{display:grid;grid-template-columns:1.2fr 1fr .9fr;gap:12px;margin-bottom:12px}.d2-grid-secondary{display:grid;grid-template-columns:1.35fr .9fr .9fr;gap:12px;margin-bottom:12px}.d2-panel{background:#fff;border:1px solid #dfe7ef;border-radius:14px;padding:14px;box-shadow:0 4px 16px rgba(15,35,60,.045)}.d2-panel-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.d2-panel-title h3{margin:0;font-size:16px}.d2-panel-title span{font-size:10px;color:#7d8b9e}
.d2-funnel{display:flex;flex-direction:column;gap:5px}.d2-funnel-row{display:grid;grid-template-columns:190px 42px 1fr 36px;align-items:center;gap:10px;min-height:34px}.d2-funnel-row i{height:30px;background:linear-gradient(90deg,#cfe4f6,#eaf2f8);border-radius:4px}.d2-funnel-row.f2 i{width:88%}.d2-funnel-row.f3 i{width:74%}.d2-funnel-row.f4 i{width:61%}.d2-funnel-row.f5 i{width:48%}.d2-funnel-row strong{font-size:15px}.d2-funnel-row span{font-size:12px}.d2-funnel-row small{font-size:11px;text-align:right;color:#7d8b9e}
.d2-chart-legend{display:flex;gap:14px;font-size:11px;margin:4px 0 10px}.d2-chart-legend span{display:flex;align-items:center;gap:5px}.d2-chart-legend i,.d2-donut-legend i{width:9px;height:9px;border-radius:3px;display:inline-block}.d2-chart-legend .l1{background:#8cccf3}.d2-chart-legend .l2{background:#25b785}.d2-chart-legend .l3{background:#f4a340}.d2-bars-placeholder{height:180px;border-left:1px solid #dce5ee;border-bottom:1px solid #dce5ee;display:flex;align-items:flex-end;justify-content:space-around;gap:18px;padding:18px 18px 26px;position:relative;background:repeating-linear-gradient(to top,transparent 0,transparent 35px,#eef3f7 36px)}.d2-bars-group{height:100%;display:flex;align-items:flex-end;gap:3px;opacity:.28}.d2-bars-group i{width:17px;background:#7bbfea;border-radius:3px 3px 0 0}.d2-bars-group i:nth-child(2){background:#20aa7d}.d2-bars-group i:nth-child(3){background:#f49b32}.d2-bars-placeholder>span{position:absolute;inset:auto 0 4px;text-align:center;font-size:10px;color:#8b98a9}
.d2-donut-wrap{display:flex;align-items:center;gap:18px;min-height:190px}.d2-donut{width:142px;height:142px;border-radius:50%;background:conic-gradient(#dce5ee 0 100%);display:grid;place-items:center;position:relative}.d2-donut:after{content:"";position:absolute;width:88px;height:88px;background:#fff;border-radius:50%}.d2-donut div{z-index:1;display:flex;flex-direction:column;align-items:center}.d2-donut strong{font-size:24px}.d2-donut span{font-size:10px}.d2-donut-legend{display:flex;flex-direction:column;gap:12px;font-size:11px;flex:1}.d2-donut-legend span{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:7px}.d2-donut-legend .ok{background:#16b77e}.d2-donut-legend .no{background:#ef5d5d}.d2-donut-legend .warn{background:#f4cd36}.d2-donut-legend .muted{background:#a8b5c2}
.d2-table-wrap{overflow:auto}.d2-table{width:100%;border-collapse:collapse;font-size:11px}.d2-table th{background:#f2f6fa;text-align:left;padding:9px 8px;color:#263b56;border-bottom:1px solid #dce5ee;white-space:nowrap}.d2-table td{padding:9px 8px;border-bottom:1px solid #e6edf3;vertical-align:top;white-space:nowrap}.d2-table td small{display:block;color:#7b899b;margin-top:3px}.d2-table tr.total{font-weight:800;background:#eef7ff}.d2-table tr.highlight{background:#eff8ff}.d2-treatment-list{display:flex;flex-direction:column;gap:10px}.d2-treatment-list div{display:grid;grid-template-columns:90px 1fr 24px;gap:9px;align-items:center;font-size:11px}.d2-treatment-list i{height:9px;border-radius:999px;background:#e7edf3}.d2-treatment-list b{text-align:right;color:#8391a2}
.d2-patients{margin-bottom:12px}.d2-patients-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.d2-patients-head h3{margin:0}.d2-patients-head p{margin:3px 0 0;color:#7c8b9d;font-size:11px}.d2-patient-tools{display:flex;gap:8px;align-items:center}.d2-search{border:1px solid #d7e1ec;border-radius:9px;padding:10px 12px;color:#8491a2;min-width:260px;font-size:11px}.d2-chip-row{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.d2-chip-row button{border:0;background:#edf3f8;border-radius:7px;padding:8px 12px;font-size:10px;color:#41556d}.d2-chip-row button.active{background:#1675c7;color:#fff;font-weight:800}.d2-patient-table{min-width:1180px}.d2-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800}.d2-status.ok{background:#dcf7e9;color:#18875e}.d2-status.neutral{background:#edf1f5;color:#5d6d80}.placeholder-row{color:#9aa7b7}
.d2-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.d2-rules>div{border:1px solid #dce5ee;background:#fbfcfd;border-radius:12px;padding:12px}.d2-rules strong{display:block;font-size:11px;color:#23415f;margin-bottom:4px}.d2-rules span{font-size:10px;line-height:1.35;color:#748396}
@media(max-width:1250px){.d2-kpis{grid-template-columns:repeat(3,1fr)}.d2-grid-main,.d2-grid-secondary{grid-template-columns:1fr 1fr}.d2-grid-main .d2-panel:last-child,.d2-grid-secondary .d2-panel:first-child{grid-column:1/-1}}
@media(max-width:760px){.d2-final-header,.d2-build-banner,.d2-patients-head{align-items:flex-start;flex-direction:column}.d2-final-actions,.d2-patient-tools{width:100%}.d2-kpis,.d2-grid-main,.d2-grid-secondary,.d2-rules{grid-template-columns:1fr}.d2-grid-main .d2-panel:last-child,.d2-grid-secondary .d2-panel:first-child{grid-column:auto}.d2-search{min-width:0;flex:1}.d2-funnel-row{grid-template-columns:110px 36px 1fr 28px}}


:root { font-family: 'DM Sans', system-ui, sans-serif; color: #173a37; background: #f7f3e9; font-synthesis: none; --green: #075c55; --cream: #f7f3e9; --orange: #f27b45; --yellow: #f7c94b; --line: rgba(7,92,85,.16); }
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; min-height: 100vh; }
button, input, select { font: inherit; }
button { cursor: pointer; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--green); }
.brand-logo { display: block; width: 139px; max-width: 100%; height: auto; object-fit: contain; }
.brand-mark { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50% 50% 46% 54%; color: white; background: var(--green); font-family: 'Manrope', sans-serif; font-weight: 800; transform: rotate(-4deg); }
.brand-name { font-family: 'Manrope', sans-serif; font-size: 20px; font-weight: 800; letter-spacing: -.04em; }
.eyebrow { margin: 0 0 16px; color: var(--orange); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: 'Manrope', sans-serif; }
h1 { color: var(--green); font-size: clamp(42px, 6vw, 76px); line-height: 1; letter-spacing: -.055em; }
h1 span { color: var(--orange); }
.auth-page { min-height: 100vh; display: grid; grid-template-columns: 1.15fr .85fr; }
.auth-intro { padding: clamp(40px, 7vw, 100px); display: flex; flex-direction: column; justify-content: center; background: var(--cream); }
.auth-intro .brand { position: absolute; top: 38px; }
.auth-intro > p:last-child { max-width: 620px; color: #55716e; font-size: 18px; line-height: 1.65; }
.auth-card { padding: clamp(32px, 6vw, 90px); display: flex; flex-direction: column; justify-content: center; color: white; background: var(--green); }
.auth-card h2 { margin-bottom: 8px; font-size: 32px; }
.auth-card > p { color: #b9ddd4; }
form { display: grid; gap: 16px; }
label { display: grid; gap: 7px; font-size: 13px; font-weight: 700; }
input, select { width: 100%; padding: 12px 14px; color: #173a37; background: white; border: 1px solid var(--line); border-radius: 9px; outline: none; }
input:focus, select:focus { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(242,123,69,.2); }
.auth-card input { border: 0; }
small { color: inherit; opacity: .7; }
.primary-button, .secondary-button { padding: 12px 18px; border-radius: 9px; border: 0; font-weight: 700; }
.primary-button { color: #173a37; background: var(--yellow); }
.secondary-button { color: var(--green); background: #e4efeb; }
button:disabled { cursor: not-allowed; opacity: .55; }
.message { padding: 11px 14px; border-radius: 8px; color: var(--green); background: #dcece6; font-size: 14px; }
.message--error { color: #8f2929; background: #ffe2de; }
.loading { min-height: 100vh; display: grid; place-content: center; justify-items: center; gap: 20px; }
.dashboard { min-height: 100vh; display: grid; grid-template-columns: 270px 1fr; }
.sidebar { position: sticky; top: 0; height: 100vh; padding: 28px 24px; display: flex; flex-direction: column; color: white; background: var(--green); }
.sidebar .brand { color: white; }
.sidebar .brand-mark { color: var(--green); background: var(--yellow); }
.sidebar nav { margin-top: 60px; display: grid; gap: 7px; }
.sidebar nav button { padding: 12px; display: flex; justify-content: space-between; color: #c9e4de; text-align: left; background: transparent; border: 0; border-radius: 8px; }
.sidebar nav button.active, .sidebar nav button:hover:not(:disabled) { color: white; background: rgba(255,255,255,.12); }
.profile { margin-top: auto; padding-top: 20px; display: grid; gap: 4px; border-top: 1px solid rgba(255,255,255,.2); }
.profile span { color: #b9ddd4; font-size: 13px; }
.profile button { margin-top: 14px; padding: 0; color: var(--yellow); text-align: left; background: none; border: 0; }
.content { min-width: 0; padding: clamp(28px, 5vw, 72px); }
.welcome { max-width: 1050px; }
.welcome > p { max-width: 700px; color: #587471; font-size: 18px; line-height: 1.6; }
.cards { margin-top: 40px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.cards article { min-height: 150px; padding: 24px; display: grid; align-content: end; gap: 8px; background: white; border: 1px solid var(--line); border-radius: 16px; }
.cards article:first-child { background: var(--yellow); }
.cards span { color: #5e7774; line-height: 1.5; }
.panel { max-width: 1200px; }
.panel-heading { display: flex; align-items: center; justify-content: space-between; }
.panel-heading h2 { margin-bottom: 0; font-size: 38px; }
.panel-heading > span { color: #67817e; }
.user-form{
display:grid;
grid-template-columns:repeat(3,minmax(260px,1fr));
gap:20px;
margin:28px 0;
padding:24px;
background:#fff;
border:1px solid var(--line);
border-radius:14px;
width:100%;
box-sizing:border-box;
}
.user-form h3 { grid-column: 1 / -1; margin-bottom: 0; }
.checkbox { display: flex; align-items: center; align-self: end; }
.checkbox input { width: auto; }
.form-actions { grid-column: 1 / -1; display: flex; gap: 10px; }
.table-wrap { margin-top: 24px; overflow-x: auto; background: white; border: 1px solid var(--line); border-radius: 14px; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 15px; text-align: left; border-bottom: 1px solid var(--line); white-space: nowrap; }
th { color: #617b78; font-size: 12px; text-transform: uppercase; }
td strong, td small { display: block; }
.badge { padding: 5px 9px; color: #7d4b45; background: #f5ded8; border-radius: 20px; font-size: 12px; font-weight: 700; }
.badge--active { color: #176345; background: #d8eee4; }
.row-actions button { padding: 4px 8px; color: var(--green); background: transparent; border: 0; font-weight: 700; }
.dashboard:has(.ss-mensagens-mobile) { min-width: 0; grid-template-columns: minmax(0,1fr); }
.dashboard:has(.ss-mensagens-mobile) > .sidebar { display: none; }
.dashboard:has(.ss-mensagens-mobile) > .content { min-width: 0; width: 100%; max-width: 100%; overflow-x: hidden; padding: 0; }
.dashboard:has(.ss-mensagens-mobile) .ss-mensagens-mobile { min-width: 0; width: 100%; max-width: 100%; overflow-x: hidden; }
@media (max-width: 900px) { .dashboard:has(.ss-mensagens-root) { min-width: 0; grid-template-columns: minmax(0, 1fr); } .dashboard:has(.ss-mensagens-root) > .content { min-width: 0; width: 100%; max-width: 100%; overflow-x: hidden; padding: 0; } .dashboard:has(.ss-mensagens-root) .ss-mensagens-root { min-width: 0; width: 100%; max-width: 100%; overflow-x: hidden; } }
@media (max-width: 900px) { .auth-page { grid-template-columns: 1fr; } .auth-intro { min-height: 45vh; } .auth-intro .brand { position: static; margin-bottom: 60px; } .dashboard { grid-template-columns: 1fr; } .sidebar { position: static; height: auto; } .sidebar nav { margin-top: 28px; } .profile { margin-top: 30px; } .cards, .user-form { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .auth-intro, .auth-card, .content { padding: 28px 20px; } .panel-heading { align-items: flex-start; flex-direction: column; gap: 8px; } }

.modal-backdrop{

position:fixed;

inset:0;

background:rgba(0,0,0,.45);

display:flex;

justify-content:center;

align-items:center;

z-index:9999;

}

.modal-window{

background:white;

width:min(900px,95vw);

max-height:92vh;

overflow:auto;

padding:28px;

border-radius:12px;

box-shadow:0 20px 60px rgba(0,0,0,.35);

}

.modal-header{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:20px;

}


.partner-modal-backdrop{

position:fixed;

inset:0;

background:rgba(0,0,0,.45);

display:flex;

align-items:flex-start;

justify-content:center;

padding-top:6vh;

overflow-y:auto;

z-index:9999;

}

.partner-modal{
width:100%;

background:#fff;

width:min(900px,95vw);

max-height:92vh;

overflow:auto;

border-radius:12px;

padding:24px;

box-shadow:0 20px 60px rgba(0,0,0,.30);

}

.partner-modal-header{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:20px;

}

.partner-modal-close{

border:none;

background:none;

font-size:26px;

cursor:pointer;

}

.partner-modal-body{
overflow-x:hidden;
overflow-y:auto;

display:block;

min-height:420px;

}


.partner-modal-sm{max-width:500px;}

.partner-modal-md{max-width:700px;}

.partner-modal-lg{width:min(96vw,1800px);max-width:1800px;height:min(94vh,1100px);max-height:94vh;}

.partner-modal-xl{max-width:1200px;}


.partner-modal-form{

display:grid;

grid-template-columns:1fr;

gap:16px;

}

.partner-modal-form .form-actions{

grid-column:1 / -1;

}

.partner-modal-form img{

max-width:140px;

height:auto;

}

@media (max-width:768px){

.partner-modal-form{

grid-template-columns:1fr;

}

}



.partner-modal form{
    width:100%;
}

.partner-modal .user-form{
display:grid;
grid-template-columns:1fr;
gap:20px;
width:100%;
max-width:none;
margin:0;
padding:0;
background:transparent;
border:0;
}

.partner-modal .user-form h3{
    grid-column:1 / -1;
}

.partner-modal .user-form .form-actions{
    grid-column:1 / -1;
    display:flex;
    justify-content:flex-end;
    gap:12px;
}

.partner-modal .checkbox{
    grid-column:1 / -1;
}

.partner-modal textarea{
    min-height:120px;
}

@media (max-width:1100px){

    .partner-modal .user-form{
        grid-template-columns:repeat(2,minmax(240px,1fr));
    }

}

@media (max-width:768px){

    .partner-modal .user-form{
        grid-template-columns:1fr;
    }

}


.user-form input:focus,
.user-form select:focus,
.user-form textarea:focus{

    outline:none;
    border-color:#0E7C74;
    box-shadow:0 0 0 3px rgba(14,124,116,.15);

}

.user-form input,
.user-form select,
.user-form textarea{

    transition:border-color .15s ease,
               box-shadow .15s ease;

}

.user-form label{

    display:flex;
    flex-direction:column;
    gap:6px;

}

.user-form input[required],
.user-form select[required]{

    border-left:4px solid #0E7C74;

}



.crm-section{
background:#fff;
border:1px solid #E5EEF0;
border-radius:16px;
padding:24px;
margin-bottom:24px;
box-shadow:0 6px 20px rgba(0,0,0,.04);
}

.crm-section-header{
display:flex;
align-items:flex-start;
gap:18px;
margin-bottom:20px;
}

.crm-section-number{
width:42px;
height:42px;
border-radius:50%;
background:#0E7C74;
color:#fff;
display:flex;
align-items:center;
justify-content:center;
font-weight:700;
font-size:18px;
flex:none;
}

.crm-section-header h3{
margin:0;
font-size:28px;
}

.crm-section-header p{
margin:6px 0 0;
color:#6b7280;
}

.crm-section-body{
display:grid;
grid-template-columns:repeat(3,minmax(200px,1fr));
gap:20px;
}

@media(max-width:980px){

.crm-section-body{
grid-template-columns:repeat(2,minmax(240px,1fr));
}

}

@media(max-width:700px){

.crm-section-body{
grid-template-columns:1fr;
}

}



.settings-group{

margin-top:18px;

}

.settings-title{

cursor:pointer;

font-weight:700;

padding:10px 12px;

border-radius:8px;

}

.settings-group[open] .settings-title{

margin-bottom:10px;

}

.submenu-item{

display:flex;

align-items:center;

gap:10px;

width:100%;

padding:10px 18px 10px 34px;

margin:3px 0;

border-radius:10px;

background:transparent;

border:none;

text-align:left;

cursor:pointer;

transition:.2s;

}

.submenu-item:hover{

background:rgba(255,255,255,.08);

}

.submenu-active{

border-left:4px solid #ffd24d;

background:rgba(255,255,255,.12);

font-weight:700;

}


.clinics-page{
display:grid;
grid-template-columns:60% 40%;
gap:24px;
align-items:start;
}

.clinic-form,
.clinic-list{
background:#fff;
border-radius:12px;
padding:24px;
}

.grid2{
display:grid;
grid-template-columns:1fr 1fr;
gap:14px;
margin-bottom:14px;
}

.grid2 input{
width:100%;
}

.upload-box{
display:block;
padding:18px;
margin:16px 0;
border:2px dashed #d5d5d5;
border-radius:10px;
}

.clinic-actions{
display:flex;
justify-content:space-between;
margin-top:24px;
}

.clinic-list table{
width:100%;
border-collapse:collapse;
margin-top:20px;
}

.clinic-list th,
.clinic-list td{
padding:12px;
border-bottom:1px solid #ececec;
text-align:left;
}

.clinic-list tbody tr:hover{
background:#fafafa;
}



.logo-preview{

width:72px;
height:72px;

border-radius:50%;

display:flex;
align-items:center;
justify-content:center;

font-size:34px;

background:#f3f4f6;

margin-bottom:12px;

}

.clinic-search{

margin-bottom:18px;

}

.maps-row{

display:grid;

grid-template-columns:1fr auto;

gap:12px;

}

.maps-row button{

padding:0 18px;

}

.clinic-row{

cursor:pointer;

transition:.15s;

}

.clinic-row:hover{

background:#f7f7f7;

}



/* ==================================================
   M1.1 BREAKPOINTS RESPONSIVOS
   ================================================== */

:root{
    --bp-mobile:768px;
    --bp-tablet:1024px;
}

html,
body,
#root{
    max-width:100%;
    overflow-x:hidden;
}

*{
    box-sizing:border-box;
}

img{
    max-width:100%;
    height:auto;
}

@media (max-width:1024px){

    .desktop-only{
        display:none!important;
    }

}

@media (max-width:768px){

    html{
        font-size:15px;
    }

    button,
    input,
    select,
    textarea{
        min-height:44px;
    }

}

/* ==================================================
   M1.2 GRID FLUIDO
   ================================================== */

:root{
    --content-max-width:1600px;
}

#root{
    width:100%;
}

main,
.page,
.container,
.panel{
    width:100%;
    max-width:var(--content-max-width);
    margin-inline:auto;
}

.panel{
    overflow:hidden;
}

table{
    width:100%;
}

@media (max-width:1024px){

    main,
    .page,
    .container,
    .panel{
        padding-left:16px;
        padding-right:16px;
    }

}

@media (max-width:768px){

    main,
    .page,
    .container,
    .panel{
        padding-left:12px;
        padding-right:12px;
    }

    .panel{
        border-radius:12px;
    }

}


/* ==================================================
   M1.2 GRID FLUIDO
   ================================================== */

:root{
    --content-max-width:1600px;
}

#root{
    width:100%;
}

main,
.page,
.container,
.panel{
    width:100%;
    max-width:var(--content-max-width);
    margin-inline:auto;
}

.panel{
    overflow:hidden;
}

table{
    width:100%;
}

@media (max-width:1024px){

    main,
    .page,
    .container,
    .panel{
        padding-left:16px;
        padding-right:16px;
    }

}

@media (max-width:768px){

    main,
    .page,
    .container,
    .panel{
        padding-left:12px;
        padding-right:12px;
    }

    .panel{
        border-radius:12px;
    }

}


/* ==================================================
   M1.2 GRID FLUIDO
   ================================================== */

:root{
    --content-max-width:1600px;
}

#root{
    width:100%;
}

main,
.page,
.container,
.panel{
    width:100%;
    max-width:var(--content-max-width);
    margin-inline:auto;
}

.panel{
    overflow:hidden;
}

table{
    width:100%;
}

@media (max-width:1024px){

    main,
    .page,
    .container,
    .panel{
        padding-left:16px;
        padding-right:16px;
    }

}

@media (max-width:768px){

    main,
    .page,
    .container,
    .panel{
        padding-left:12px;
        padding-right:12px;
    }

    .panel{
        border-radius:12px;
    }

}


/* ==================================================
   M2.1 - Estrutura Responsiva da Lista
   ================================================== */

.partnerships-table-wrap{
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
}

.partnerships-table{
    width:100%;
    min-width:1180px;
}

.partnerships-mobile-list{
    display:none;
}

@media (max-width:768px){

    .partnerships-table-wrap{
        display:block;
        border-radius:12px;
    }

    .partnerships-mobile-list{
        display:none;
    }

}

@media (min-width:769px){

    .partnerships-mobile-list{
        display:none;
    }

}

/* ==================================================
   M2.2 - Tablet
   ================================================== */

@media (max-width:1024px) and (min-width:769px){

    .partnerships-table{

        font-size:14px;

    }

    .partnerships-table th,
    .partnerships-table td{

        padding:10px 8px;
        vertical-align:middle;

    }

    /* Oculta colunas secundárias */

    .partnerships-table th:nth-child(5),
    .partnerships-table td:nth-child(5),

    .partnerships-table th:nth-child(6),
    .partnerships-table td:nth-child(6),

    .partnerships-table th:nth-child(8),
    .partnerships-table td:nth-child(8){

        display:none;

    }

    .partnerships-table .actions{

        white-space:nowrap;

    }

}


/* ==================================================
   M2.3.1 - Cards Mobile
   ================================================== */

.partnerships-mobile-list{
    display:none;
    width:100%;
    gap:14px;
}

.partner-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:16px;
    box-shadow:0 2px 8px rgba(0,0,0,.06);
}

.partner-card-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
}

.partner-card-title{
    font-size:18px;
    font-weight:700;
    line-height:1.3;
    color:#111827;
}

.partner-card-code{
    font-size:13px;
    color:#6b7280;
    margin-top:4px;
}

.partner-card-body{
    margin-top:14px;
    display:grid;
    gap:8px;
}

.partner-card-row{
    display:flex;
    gap:8px;
    align-items:center;
    font-size:14px;
}

.partner-card-actions{
    margin-top:16px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}

.partner-card-actions button,
.partner-card-actions a{
    min-height:44px;
    border-radius:10px;
}

@media (max-width:768px){

    .partnerships-mobile-list{
        display:grid;
    }

}


/* ==================================================
   M2.3.4 - Ativar Cards Mobile
   ================================================== */

@media (max-width:768px){

    /* Esconde somente a tabela */
    .table-wrap{
        display:none!important;
    }

    /* Mostra os cards */
    .partnerships-mobile-list{
        display:grid!important;
        grid-template-columns:1fr;
        gap:16px;
        padding:12px 0;
    }

    .partner-card{
        background:#fff;
        border:1px solid #e5e7eb;
        border-radius:14px;
        padding:16px;
        box-shadow:0 2px 8px rgba(0,0,0,.06);
    }

    .partner-card-header{
        display:flex;
        justify-content:space-between;
        align-items:flex-start;
        gap:12px;
    }

    .partner-card-title{
        font-size:18px;
        font-weight:700;
        line-height:1.3;
        color:#111827;
    }

    .partner-card-code{
        font-size:13px;
        color:#6b7280;
        margin-top:4px;
    }

    .partner-card-body{
        margin:16px 0;
        display:grid;
        gap:10px;
    }

    .partner-card-row{
        display:flex;
        align-items:center;
        gap:8px;
        font-size:14px;
    }

    .partner-card-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:10px;
    }

    .partner-card-actions button{
        min-height:46px;
        border-radius:10px;
    }

}


/* ==================================================
   M3.1 - Modal Responsivo
   ================================================== */

@media (max-width:768px){

    .modal,
    .partner-modal,
    [role="dialog"]{

        width:100%!important;
        max-width:100%!important;

        height:100vh!important;
        max-height:100vh!important;

        margin:0!important;

        border-radius:0!important;

        display:flex;
        flex-direction:column;

    }

    .modal-header{

        position:sticky;
        top:0;
        z-index:10;

        background:#fff;

        padding:16px;

        border-bottom:1px solid #ececec;

    }

    .modal-body{

        flex:1;

        overflow-y:auto;

        padding:16px;

        -webkit-overflow-scrolling:touch;

    }

    .modal-footer,
    .form-actions{

        position:sticky;

        bottom:0;

        background:#fff;

        padding:16px;

        border-top:1px solid #ececec;

        display:flex;
        gap:10px;

    }

    .form-actions button{

        flex:1;

        min-height:48px;

    }

}


/* ==================================================
   M3.2 - Formulário Responsivo
   ================================================== */

@media (max-width:768px){

    .form-grid,
    .partner-form,
    .form-section,
    .section-grid{

        display:grid!important;
        grid-template-columns:1fr!important;
        gap:14px!important;

    }

    .form-row{

        display:flex!important;
        flex-direction:column!important;
        gap:14px!important;

    }

    .form-row>*,
    .form-grid>*,
    .section-grid>*{

        width:100%!important;
        max-width:100%!important;
        min-width:0!important;

    }

    input,
    select,
    textarea{

        width:100%!important;

    }

    textarea{

        min-height:110px;

    }

    label{

        font-size:14px;
        font-weight:600;

    }

}


/* ==================================================
   M3.3 - Header Mobile
   ================================================== */

@media (max-width:768px){

    .page-header,
    .toolbar,
    .dashboard-toolbar{

        display:flex!important;
        flex-direction:column!important;
        align-items:stretch!important;

        gap:14px;

    }

    .toolbar-actions,
    .header-actions{

        width:100%;

        display:flex;
        flex-direction:column;

        gap:10px;

    }

    .toolbar-actions button,
    .header-actions button{

        width:100%;
        min-height:48px;

    }

    .dashboard-tabs{

        display:flex;
        width:100%;
        gap:10px;

    }

    .dashboard-tabs>*{

        flex:1;

    }

    .page-title{

        margin-top:0!important;
        margin-bottom:4px!important;

    }

    .page-subtitle{

        margin-bottom:12px!important;

    }

    .partner-counter{

        display:block;
        text-align:center;
        font-size:14px;
        color:#666;

    }

}


/* ==================================================
   M3.4 - Barra de ações Mobile
   ================================================== */

@media (max-width:768px){

    .toolbar{

        display:flex!important;
        flex-direction:column!important;
        align-items:stretch!important;

        gap:12px;

    }

    .toolbar button,
    .toolbar .primary-button,
    .toolbar .secondary-button{

        width:100%!important;
        min-height:50px;

    }

    .toolbar .stats,
    .toolbar .counter,
    .toolbar .total,
    .partner-counter{

        width:100%;
        text-align:center;

        font-size:14px;
        color:#666;

    }

    .toolbar .actions{

        display:flex;
        flex-direction:column;
        gap:10px;

    }

    .toolbar .actions>*{

        width:100%;

    }

}


/* ==================================================
   M3.5 - Menu Mobile Compacto
   ================================================== */

@media (max-width:768px){

    /* Menu lateral */

    aside,
    .sidebar,
    .side-menu{

        width:100%!important;
        max-width:320px;

    }

    /* Itens */

    .sidebar nav,
    .side-menu nav{

        padding:8px 0;

    }

    .sidebar a,
    .sidebar button,
    .side-menu a,
    .side-menu button{

        min-height:48px;
        padding:12px 16px;
        font-size:16px;

    }

    /* Perfil */

    .sidebar-user,
    .user-panel,
    .profile-box{

        padding:16px;
        margin-top:8px;

    }

    .sidebar-user h3,
    .user-panel h3,
    .profile-box h3{

        font-size:18px;
        margin-bottom:2px;

    }

    .sidebar-user small,
    .user-panel small,
    .profile-box small{

        font-size:13px;

    }

    /* Logout */

    .logout-button{

        width:100%;
        min-height:48px;

    }

    /* Separadores */

    .sidebar hr{

        margin:12px 0;

    }

}


/* ==================================================
   M4.1 - Identidade Visual Responsiva
   ================================================== */

@media (max-width:768px){

    .material-page,
    .material-preview-page,
    .identity-page{

        display:flex!important;
        flex-direction:column!important;
        gap:16px;

    }

    .material-toolbar{

        display:flex!important;
        flex-direction:column!important;
        gap:12px;

    }

    .material-toolbar>*{

        width:100%!important;

    }

    .preview-panel,
    .template-preview,
    .material-preview{

        width:100%!important;
        overflow-x:auto;
        overflow-y:hidden;

        -webkit-overflow-scrolling:touch;

        border-radius:12px;

    }

    .preview-panel img,
    .template-preview img,
    .material-preview img{

        width:100%;
        height:auto;
        display:block;

    }

    .material-actions{

        display:grid;
        grid-template-columns:1fr;
        gap:10px;

    }

    .material-actions button{

        width:100%;
        min-height:48px;

    }

}


/* ==================================================
   M4.3.2 - Toolbar Mobile
   ================================================== */

@media (max-width:768px){

    .template-toolbar{

        position:sticky;
        bottom:0;
        z-index:50;

        background:#fff;

        padding:12px;

        border-top:1px solid #e5e7eb;

        justify-content:stretch!important;

    }

    .template-toolbar-button{

        flex:1;
        min-height:48px;

    }

}


/* ==================================================
   M4.3.2 - Toolbar Mobile
   ================================================== */

@media (max-width:768px){

    .template-toolbar{

        position:sticky;
        bottom:0;
        z-index:50;

        background:#fff;

        padding:12px;

        border-top:1px solid #e5e7eb;

        justify-content:stretch!important;

    }

    .template-toolbar-button{

        flex:1;
        min-height:48px;

    }

}


/* ==================================================
   M4.3.3 - Preview Responsivo
   ================================================== */

.template-preview-root{

    width:100%;

}

.template-preview-wrapper{

    max-width:1180px;
    width:100%;

}

.template-preview-image{

    width:100%;
    height:auto;
    display:block;

}

@media (max-width:768px){

    .template-preview-root{

        padding:12px;

        overflow-x:auto;

        justify-content:flex-start!important;

        -webkit-overflow-scrolling:touch;

    }

    .template-preview-wrapper{

        min-width:700px;

    }

}


/* ==================================================
   M4.3.4 - Zoom Toolbar
   ================================================== */

.template-zoom-toolbar{

    display:flex;
    gap:8px;
    flex-wrap:wrap;

}

.template-zoom-toolbar button{

    min-width:72px;

}

@media (max-width:768px){

    .template-zoom-toolbar{

        justify-content:center;

    }

    .template-zoom-toolbar button{

        flex:1;
        min-height:46px;

    }

}


/* ==================================================
   M4.3.5 - Viewport de Zoom
   ================================================== */

.template-preview-viewport{

    width:100%;

    overflow:auto;

    display:flex;

    justify-content:center;

    align-items:flex-start;

    -webkit-overflow-scrolling:touch;

}

.template-preview-root{

    flex:0 0 auto;

}

@media (max-width:768px){

    .template-preview-viewport{

        padding:12px;

    }

}


/* ==================================================
   M5.3.1 - Layout 3 Colunas
   ================================================== */

.template-layout{

    display:grid;

    grid-template-columns:260px minmax(0,1fr) 320px;

    gap:24px;

    align-items:start;

}

.template-left-panel,
.template-right-panel{

    display:flex;
    flex-direction:column;
    gap:16px;

}

.template-center-panel{

    min-width:0;

}

@media (max-width:1024px){

    .template-layout{

        grid-template-columns:1fr;

    }

    .template-left-panel{

        order:2;

    }

    .template-center-panel{

        order:1;

    }

    .template-right-panel{

        order:3;

    }

}


@media (max-width:768px){
  .partnerships-table-wrap{overflow:visible;border:0;background:transparent;}
  .partnerships-table-wrap>.partnerships-table{display:none!important;}
  .partnerships-table-wrap>.partnerships-mobile-list{
    display:grid!important;width:100%;gap:14px;
  }
}

/* M1.2 - Cards Parcerias Mobile */
@media (max-width:768px){
  .partnerships-mobile-list{padding:0;margin-top:18px;}
  .partner-card{width:100%;padding:18px;border-radius:16px;border:1px solid #e2ebe8;box-shadow:0 4px 14px rgba(7,92,85,.07);}
  .partner-card-header{gap:16px;align-items:flex-start;}
  .partner-card-title{font:700 18px/1.3 'Manrope',sans-serif;color:#075c55;}
  .partner-card-code{margin-top:5px;font-size:13px;color:#71817f;}
  .partner-card-body{margin-top:18px;gap:11px;}
  .partner-card-row{min-width:0;font-size:14px;line-height:1.45;overflow-wrap:anywhere;}
  .partner-card-actions{margin-top:18px;padding-top:14px;border-top:1px solid #edf1ef;gap:10px;}
  .partner-card-actions button{width:100%;min-height:44px;padding:10px 12px;border:1px solid #d8e4e1;border-radius:10px;background:#fff;color:#075c55;font-weight:700;}
  .partner-card-actions button:hover{background:#f3faf8;}
  .partner-card .badge{white-space:nowrap;}
}


/* M1.2 - Cards Parcerias Mobile */
@media (max-width:768px){
  .partnerships-mobile-list{padding:0;margin-top:18px;}
  .partner-card{width:100%;padding:18px;border-radius:16px;border:1px solid #e2ebe8;box-shadow:0 4px 14px rgba(7,92,85,.07);}
  .partner-card-header{gap:16px;align-items:flex-start;}
  .partner-card-title{font:700 18px/1.3 'Manrope',sans-serif;color:#075c55;}
  .partner-card-code{margin-top:5px;font-size:13px;color:#71817f;}
  .partner-card-body{margin-top:18px;gap:11px;}
  .partner-card-row{min-width:0;font-size:14px;line-height:1.45;overflow-wrap:anywhere;}
  .partner-card-actions{margin-top:18px;padding-top:14px;border-top:1px solid #edf1ef;gap:10px;}
  .partner-card-actions button{width:100%;min-height:44px;padding:10px 12px;border:1px solid #d8e4e1;border-radius:10px;background:#fff;color:#075c55;font-weight:700;}
  .partner-card-actions button:hover{background:#f3faf8;}
  .partner-card .badge{white-space:nowrap;}
}


/* M1.3 - Conteudo dos cards mobile */
@media (max-width:768px){
  .partner-card-body .partner-card-row{
    display:grid;
    grid-template-columns:82px minmax(0,1fr);
    align-items:start;
    gap:10px;
  }

  .partner-card-body .partner-card-row strong{
    color:#607572;
    font-size:12px;
    font-weight:700;
  }

  .partner-card-body .partner-card-row span{
    min-width:0;
    color:#173a37;
    overflow-wrap:anywhere;
  }
}


/* M1.3 - Conteudo dos cards mobile */
@media (max-width:768px){
  .partner-card-body .partner-card-row{
    display:grid;
    grid-template-columns:82px minmax(0,1fr);
    align-items:start;
    gap:10px;
  }

  .partner-card-body .partner-card-row strong{
    color:#607572;
    font-size:12px;
    font-weight:700;
  }

  .partner-card-body .partner-card-row span{
    min-width:0;
    color:#173a37;
    overflow-wrap:anywhere;
  }
}


/* M1.3 - Conteudo dos cards mobile */
@media (max-width:768px){
  .partner-card-body .partner-card-row{
    display:grid;
    grid-template-columns:82px minmax(0,1fr);
    align-items:start;
    gap:10px;
  }

  .partner-card-body .partner-card-row strong{
    color:#607572;
    font-size:12px;
    font-weight:700;
  }

  .partner-card-body .partner-card-row span{
    min-width:0;
    color:#173a37;
    overflow-wrap:anywhere;
  }
}


/* ==================================================
   M2.1 - Cadastro/Edição Parcerias Mobile
   SOMENTE <= 768px
   ================================================== */

@media (max-width:768px){

  .partner-modal-backdrop{
    padding:0;
    align-items:stretch;
  }

  .partner-modal{
    width:100%;
    max-width:none;
    min-height:100vh;
    max-height:100vh;
    margin:0;
    padding:18px 16px 24px;
    border-radius:0;
  }

  .partner-modal-header{
    margin-bottom:18px;
  }

  .partner-modal-header h2{
    margin:0;
    font-size:24px;
    line-height:1.2;
  }

  .partner-modal-body{
    min-height:0;
    overflow-x:hidden;
  }

  .partner-modal .user-form{
    display:block;
    width:100%;
    margin:0;
  }

  .partner-modal .crm-section{
    width:100%;
    margin:0 0 16px;
    padding:18px 14px;
    border-radius:14px;
  }

  .partner-modal .crm-section-body{
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
  }

  .partner-modal .user-form label,
  .partner-modal .user-form .form-group{
    width:100%;
    min-width:0;
  }

  .partner-modal .user-form input,
  .partner-modal .user-form select,
  .partner-modal .user-form textarea{
    width:100%;
    min-width:0;
    min-height:48px;
    font-size:16px;
  }

  .partner-modal .form-actions{
    width:100%;
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:20px;
  }

  .partner-modal .form-actions button{
    width:100%;
    min-height:48px;
  }

}

.partner-mobile-form{display:none}
@media(max-width:768px){
 .partner-desktop-form{display:none!important}
 .partner-mobile-form{display:grid;grid-template-columns:1fr;gap:18px;width:100%}
 .partner-mobile-form label{display:flex;flex-direction:column;gap:7px;font-weight:700}
 .partner-mobile-form input,.partner-mobile-form select,.partner-mobile-form textarea{width:100%;min-height:48px;border:1px solid #d7e2df;border-radius:10px;padding:12px 14px;background:#fff}
 .partner-mobile-form textarea{min-height:110px;resize:vertical}
}

/* ==================================================
   M2.3 - Ações e acabamento final Mobile
   ================================================== */

@media(max-width:768px){

  .partner-mobile-form{
    gap:18px;
    padding-bottom:8px;
  }

  .partner-mobile-form label{
    font-size:14px;
    color:#173a37;
  }

  .partner-mobile-form input,
  .partner-mobile-form select,
  .partner-mobile-form textarea{
    font-size:16px;
    border-radius:12px;
    border:1px solid #d9e5e2;
    box-shadow:none;
  }

  .partner-mobile-form input:focus,
  .partner-mobile-form select:focus,
  .partner-mobile-form textarea:focus{
    border-color:#0E7C74;
    box-shadow:0 0 0 3px rgba(14,124,116,.12);
    outline:none;
  }

  .partner-modal .form-actions{
    display:flex!important;
    flex-direction:column-reverse;
    gap:10px;
    margin-top:24px;
  }

  .partner-modal .form-actions .primary-button,
  .partner-modal .form-actions .secondary-button{
    width:100%;
    min-height:50px;
    border-radius:12px;
    font-size:16px;
    font-weight:700;
  }

  .partner-modal .form-actions .primary-button{
    background:#f7c94b;
    color:#173a37;
  }

  .partner-modal .form-actions .secondary-button{
    background:#edf3f1;
    color:#075c55;
  }

}


@media(max-width:768px){

  .panel,
  .table-wrap,
  .partnerships-table-wrap,
  .partnerships-mobile-list,
  .partner-card,
  .partner-modal,
  .partner-modal-body,
  .partner-modal-form,
  .partner-mobile-form{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  .partnerships-table-wrap{
    overflow-x:hidden!important;
  }

  .partner-card{
    overflow:hidden;
  }

  .partner-card-header,
  .partner-card-body,
  .partner-card-actions{
    min-width:0;
  }

  .partner-card-title,
  .partner-card-code,
  .partner-card-row,
  .partner-card-row span{
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:break-word;
  }

  .partner-modal{
    overflow-x:hidden;
  }

  .partner-modal-body{
    overflow-x:hidden!important;
  }

  .partner-mobile-form input,
  .partner-mobile-form select,
  .partner-mobile-form textarea{
    max-width:100%;
  }

}


@media(max-width:768px){

  .panel-heading{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:14px;
  }

  .panel-heading h2{
    font-size:28px;
    line-height:1.15;
  }

  .panel-heading > div:last-child{
    width:100%;
    display:flex!important;
    flex-direction:column;
    align-items:stretch!important;
    gap:10px!important;
  }

  .panel-heading .primary-button{
    width:100%;
    min-height:48px;
  }

  .partner-card-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }

  .partner-card-actions button{
    min-width:0;
    min-height:46px;
    padding:10px 8px;
    font-size:14px;
  }

}

@media(max-width:768px){
 .partner-mobile-section-title{margin:0 0 2px;padding-bottom:10px;border-bottom:1px solid #e7eeec;font-size:15px;color:#173a37}
 .partner-mobile-form label em{font-style:normal;color:#e5484d}
 .partner-modal .form-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;flex-direction:unset}
 .partner-modal .form-actions .secondary-button{grid-column:1;grid-row:1}
 .partner-modal .form-actions .primary-button{grid-column:2;grid-row:1;background:#0866e5;color:#fff}
 .partner-modal .form-actions button{min-height:48px}
}
.partner-mobile-search{display:none}
@media(max-width:768px){
 .partner-mobile-search{display:block;width:100%;margin:14px 0}
 .partner-mobile-search input{width:100%;height:46px;padding:0 15px;border:1px solid #d7e2df;border-radius:12px;font-size:16px}
 .panel-heading .primary-button{position:fixed;right:20px;bottom:22px;z-index:50;width:58px!important;height:58px;min-height:58px!important;border-radius:50%;font-size:0;box-shadow:0 6px 18px rgba(0,0,0,.2)}
 .panel-heading .primary-button:after{content:"+";font-size:30px;line-height:1;color:#fff}
 .partner-card-body .partner-card-row{grid-template-columns:24px minmax(0,1fr)}
 .partner-card-body .partner-card-row strong{font-size:16px}
 .partner-card-actions button:first-child{border-color:#b9d8d3;color:#075c55}
 .partner-card-actions button:nth-child(2),.partner-card-actions button:nth-child(3){border-color:#bdd2ed;color:#145da0}
 .partner-card-actions .partner-toggle-button{border-color:#f0b9b9;color:#c83d3d;background:#fffafa}
}

/* MOBILE REAL - fallback para celulares com viewport anormal */
html.ss-phone .partnerships-table{display:none!important}
html.ss-phone .partnerships-mobile-list{display:grid!important;width:100%;gap:14px}
html.ss-phone .partner-mobile-search{display:block!important;width:100%;margin:14px 0}
html.ss-phone .partner-desktop-form{display:none!important}
html.ss-phone .partner-mobile-form{display:grid!important;grid-template-columns:1fr;gap:18px;width:100%}

html.ss-phone .partnerships-table-wrap{
  overflow-x:hidden!important;
  border:0!important;
  background:transparent!important
}

html.ss-phone .panel-heading .primary-button{
  position:fixed!important;
  right:20px!important;
  bottom:22px!important;
  z-index:50!important;
  width:58px!important;
  height:58px!important;
  min-height:58px!important;
  border-radius:50%!important;
  font-size:0!important
}

html.ss-phone .panel-heading .primary-button:after{
  content:"+";
  font-size:30px;
  color:#fff
}

html.ss-phone .partner-modal{
  width:100%!important;
  max-width:none!important;
  min-height:100vh!important;
  max-height:100vh!important;
  margin:0!important;
  border-radius:0!important
}

html.ss-phone .partner-card-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important
}

html.ss-phone .partner-modal .form-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important
}

/* Restaurar + Novo Parceiro no mobile */
@media(max-width:768px){
  .panel-heading .primary-button{
    position:static!important;
    width:100%!important;
    height:auto!important;
    min-height:48px!important;
    border-radius:10px!important;
    font-size:16px!important;
    box-shadow:none!important;
  }

  .panel-heading .primary-button:after{
    content:none!important;
  }
}

html.ss-phone .panel-heading .primary-button{
  position:static!important;
  width:100%!important;
  height:auto!important;
  min-height:48px!important;
  border-radius:10px!important;
  font-size:16px!important;
  box-shadow:none!important;
}

html.ss-phone .panel-heading .primary-button:after{
  content:none!important;
}

/* ==================================================
   MOBILE - AJUSTE VISUAL CONFORME LAYOUT APROVADO
   ================================================== */

@media(max-width:768px){

  .content{
    padding:16px 14px 80px!important;
    background:#f6f8fb;
  }

  .panel{
    padding:0!important;
    background:transparent;
    overflow:visible;
  }

  .panel-heading{
    display:block!important;
    margin:0 0 10px;
  }

  .panel-heading .eyebrow{
    display:none!important;
  }

  .panel-heading h2{
    margin:0!important;
    font-size:26px!important;
    color:#17233c;
  }

  .panel-heading > div:last-child > span{
    display:none!important;
  }

  .panel-heading .primary-button{
    position:fixed!important;
    right:18px!important;
    bottom:22px!important;
    z-index:100!important;
    width:58px!important;
    min-width:58px!important;
    height:58px!important;
    min-height:58px!important;
    padding:0!important;
    border-radius:50%!important;
    background:#0866e5!important;
    color:transparent!important;
    font-size:0!important;
    box-shadow:0 8px 22px rgba(8,102,229,.32)!important;
  }

  .panel-heading .primary-button:after{
    content:"+"!important;
    display:block!important;
    color:#fff!important;
    font-size:32px!important;
    line-height:58px!important;
  }

  .partner-mobile-search{
    margin:10px 0 12px!important;
  }

  .partner-mobile-search input{
    height:40px!important;
    min-height:40px!important;
    border:1px solid #dfe5ed!important;
    border-radius:7px!important;
    padding:0 12px!important;
    font-size:13px!important;
    background:#fff;
  }

  .partnerships-mobile-list{
    gap:12px!important;
    margin:0!important;
  }

  .partner-card{
    padding:14px!important;
    border:1px solid #e2e7ee!important;
    border-radius:9px!important;
    box-shadow:0 2px 7px rgba(32,48,74,.06)!important;
    background:#fff!important;
  }

  .partner-card-header{
    align-items:flex-start!important;
  }

  .partner-card-title{
    font-size:15px!important;
    line-height:1.25!important;
    color:#1c2942!important;
  }

  .partner-card-code{
    margin-top:3px!important;
    font-size:10px!important;
    color:#738096!important;
  }

  .partner-card .badge{
    padding:5px 9px!important;
    border-radius:14px!important;
    font-size:10px!important;
  }

  .partner-card-body{
    margin-top:10px!important;
    gap:5px!important;
  }

  .partner-card-body .partner-card-row{
    grid-template-columns:18px minmax(0,1fr)!important;
    gap:5px!important;
    font-size:11px!important;
    color:#4c5c74!important;
  }

  .partner-card-body .partner-card-row strong{
    font-size:11px!important;
  }

  .partner-card-actions{
    margin-top:11px!important;
    padding-top:0!important;
    border-top:0!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
  }

  .partner-card-actions button{
    min-height:35px!important;
    height:35px!important;
    padding:0 6px!important;
    border-radius:6px!important;
    font-size:11px!important;
    font-weight:600!important;
  }

  .partner-card-actions button:first-child{
    background:#f0f7ff!important;
    border-color:#d8e8fb!important;
    color:#1766b1!important;
  }

  .partner-card-actions button:nth-child(2),
  .partner-card-actions button:nth-child(3){
    background:#f4f7ff!important;
    border-color:#dce4f5!important;
    color:#315d9c!important;
  }

  .partner-card-actions .partner-toggle-button{
    background:#fff1f3!important;
    border-color:#ffdadd!important;
    color:#df3348!important;
  }

  .partner-modal{
    padding:14px 16px 12px!important;
    background:#fff!important;
  }

  .partner-modal-header{
    min-height:42px;
    margin-bottom:10px!important;
    border-bottom:1px solid #edf0f4;
  }

  .partner-modal-header h2{
    font-size:15px!important;
    color:#17233c!important;
  }

  .partner-mobile-section-title{
    margin:0 0 10px!important;
    font-size:14px!important;
    border:0!important;
    padding:0!important;
  }

  .partner-mobile-form{
    gap:10px!important;
  }

  .partner-mobile-form label{
    gap:4px!important;
    font-size:11px!important;
  }

  .partner-mobile-form input,
  .partner-mobile-form select,
  .partner-mobile-form textarea{
    min-height:40px!important;
    height:40px!important;
    padding:8px 10px!important;
    border-radius:6px!important;
    font-size:12px!important;
  }

  .partner-mobile-form textarea{
    height:58px!important;
    min-height:58px!important;
  }

  .partner-modal .form-actions{
    position:sticky;
    bottom:0;
    margin-top:12px!important;
    padding:10px 0 0;
    background:#fff;
    grid-template-columns:1fr 1fr!important;
  }

  .partner-modal .form-actions button{
    min-height:42px!important;
    height:42px!important;
    border-radius:6px!important;
    font-size:12px!important;
  }

  .partner-modal .form-actions .secondary-button{
    background:#f5f6f8!important;
    color:#263550!important;
  }

  .partner-modal .form-actions .primary-button{
    background:#0866e5!important;
    color:#fff!important;
  }
}

/* Mesmo layout para celular detectado por dispositivo */
html.ss-phone .content{padding:16px 14px 80px!important;background:#f6f8fb}
html.ss-phone .panel{padding:0!important;background:transparent;overflow:visible}
html.ss-phone .panel-heading .eyebrow,
html.ss-phone .panel-heading > div:last-child > span{display:none!important}
html.ss-phone .panel-heading .primary-button{
  position:fixed!important;right:18px!important;bottom:22px!important;
  width:58px!important;min-width:58px!important;height:58px!important;
  min-height:58px!important;padding:0!important;border-radius:50%!important;
  background:#0866e5!important;color:transparent!important;font-size:0!important;
  box-shadow:0 8px 22px rgba(8,102,229,.32)!important;z-index:100!important
}
html.ss-phone .panel-heading .primary-button:after{
  content:"+"!important;color:#fff!important;font-size:32px!important;
  line-height:58px!important;display:block!important
}
html.ss-phone .partner-card{padding:14px!important;border-radius:9px!important}
html.ss-phone .partner-card-actions button{min-height:35px!important;height:35px!important;font-size:11px!important}

/* FIX FINAL - manter + Novo Parceiro visivel no mobile */
@media(max-width:768px){
  .panel-heading .primary-button{
    position:static!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    height:46px!important;
    min-height:46px!important;
    margin-top:10px!important;
    padding:0 16px!important;
    border-radius:8px!important;
    background:#0866e5!important;
    color:#fff!important;
    font-size:14px!important;
    font-weight:700!important;
    box-shadow:none!important;
  }

  .panel-heading .primary-button:after{
    content:none!important;
    display:none!important;
  }
}

html.ss-phone .panel-heading .primary-button{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  height:46px!important;
  min-height:46px!important;
  margin-top:10px!important;
  padding:0 16px!important;
  border-radius:8px!important;
  background:#0866e5!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:700!important;
  box-shadow:none!important;
}

html.ss-phone .panel-heading .primary-button:after{
  content:none!important;
  display:none!important;
}

/* PHONE REAL - formulario aprovado independente do viewport */
html.ss-phone .partner-modal-backdrop{
  padding:0!important;
  align-items:stretch!important;
}

html.ss-phone .partner-modal{
  width:100%!important;
  max-width:none!important;
  min-height:100vh!important;
  max-height:100vh!important;
  margin:0!important;
  padding:14px 16px 12px!important;
  border-radius:0!important;
  overflow-x:hidden!important;
}

html.ss-phone .partner-modal-body,
html.ss-phone .partner-modal-form,
html.ss-phone .partner-modal .user-form,
html.ss-phone .partner-mobile-form{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

html.ss-phone .partner-modal .user-form{
  display:block!important;
  margin:0!important;
}

html.ss-phone .partner-mobile-form{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}

html.ss-phone .partner-mobile-form label{
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  gap:4px!important;
  font-size:11px!important;
  font-weight:700!important;
}

html.ss-phone .partner-mobile-form input,
html.ss-phone .partner-mobile-form select,
html.ss-phone .partner-mobile-form textarea{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:40px!important;
  height:40px!important;
  padding:8px 10px!important;
  border:1px solid #dfe5ed!important;
  border-radius:6px!important;
  font-size:12px!important;
  background:#fff!important;
}

html.ss-phone .partner-mobile-form textarea{
  height:58px!important;
  min-height:58px!important;
}

html.ss-phone .partner-mobile-section-title{
  margin:0 0 10px!important;
  padding:0!important;
  border:0!important;
  font-size:14px!important;
}

html.ss-phone .partner-modal .form-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  width:100%!important;
  margin-top:12px!important;
  padding-top:10px!important;
  background:#fff!important;
}

html.ss-phone .partner-modal .form-actions .secondary-button{
  grid-column:1!important;
  grid-row:1!important;
  min-height:42px!important;
  background:#f5f6f8!important;
  color:#263550!important;
}

html.ss-phone .partner-modal .form-actions .primary-button{
  grid-column:2!important;
  grid-row:1!important;
  min-height:42px!important;
  background:#0866e5!important;
  color:#fff!important;
}

html.ss-phone .partner-modal-header{
  min-height:42px!important;
  margin-bottom:10px!important;
  border-bottom:1px solid #edf0f4!important;
}

html.ss-phone .partner-modal-header h2{
  margin:0!important;
  font-size:15px!important;
  color:#17233c!important;
}

/* M5.5 - acabamento visual formulario em celular real */
html.ss-phone .partner-modal{
  padding:18px 18px 20px!important;
}

html.ss-phone .partner-modal-header{
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  margin-bottom:16px!important;
}

html.ss-phone .partner-modal-header h2{
  font-size:18px!important;
  font-weight:700!important;
}

html.ss-phone .partner-mobile-section-title{
  margin:0 0 14px!important;
  font-size:15px!important;
  font-weight:700!important;
}

html.ss-phone .partner-mobile-form{
  gap:14px!important;
}

html.ss-phone .partner-mobile-form label{
  gap:6px!important;
  font-size:13px!important;
  line-height:1.25!important;
}

html.ss-phone .partner-mobile-form input,
html.ss-phone .partner-mobile-form select{
  height:46px!important;
  min-height:46px!important;
  padding:10px 12px!important;
  border-radius:8px!important;
  font-size:14px!important;
}

html.ss-phone .partner-mobile-form textarea{
  height:82px!important;
  min-height:82px!important;
  padding:10px 12px!important;
  border-radius:8px!important;
  font-size:14px!important;
}

html.ss-phone .partner-modal .form-actions{
  position:static!important;
  gap:10px!important;
  margin-top:18px!important;
  padding:0!important;
}

html.ss-phone .partner-modal .form-actions button{
  height:46px!important;
  min-height:46px!important;
  border-radius:8px!important;
  font-size:14px!important;
  font-weight:700!important;
}

html.ss-phone .partner-modal-body{
  overflow-y:auto!important;
  padding-bottom:12px!important;
}

html.ss-phone .partner-modal-backdrop{
  overflow:hidden!important;
}

/* M5.6 - formulario mobile conforme referencia aprovada */

html.ss-phone .partner-modal{
  padding:0 16px 16px!important;
}

html.ss-phone .partner-modal-header{
  position:relative!important;
  height:54px!important;
  min-height:54px!important;
  margin:0 0 14px!important;
  padding:0 0 0 26px!important;
  display:flex!important;
  align-items:center!important;
  border-bottom:1px solid #e8edf3!important;
}

html.ss-phone .partner-modal-header:before{
  content:"‹"!important;
  position:absolute!important;
  left:0!important;
  top:50%!important;
  transform:translateY(-52%)!important;
  font-size:30px!important;
  line-height:1!important;
  color:#17233c!important;
  font-weight:400!important;
}

html.ss-phone .partner-modal-header h2{
  margin:0!important;
  font-size:14px!important;
  font-weight:700!important;
  color:#17233c!important;
}

html.ss-phone .partner-modal-close{
  margin-left:auto!important;
  font-size:20px!important;
  color:#17233c!important;
}

html.ss-phone .partner-mobile-section-title{
  margin:0 0 14px!important;
  padding:0!important;
  font-size:14px!important;
  font-weight:700!important;
  color:#17233c!important;
}

html.ss-phone .partner-mobile-form{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
}

html.ss-phone .partner-mobile-form label{
  position:relative!important;
  display:grid!important;
  grid-template-columns:max-content max-content!important;
  column-gap:3px!important;
  row-gap:5px!important;
  align-items:center!important;
  width:100%!important;
  font-size:12px!important;
  line-height:1.2!important;
  color:#34465e!important;
}

html.ss-phone .partner-mobile-form label em{
  position:static!important;
  display:inline!important;
  grid-column:2!important;
  color:#e3374d!important;
  font-size:12px!important;
}

html.ss-phone .partner-mobile-form input,
html.ss-phone .partner-mobile-form select,
html.ss-phone .partner-mobile-form textarea{
  grid-column:1 / -1!important;
  width:100%!important;
  box-sizing:border-box!important;
  border:1px solid #dbe3ec!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#24364c!important;
  box-shadow:none!important;
}

html.ss-phone .partner-mobile-form input,
html.ss-phone .partner-mobile-form select{
  height:42px!important;
  min-height:42px!important;
  padding:0 11px!important;
  font-size:13px!important;
}

html.ss-phone .partner-mobile-form textarea{
  height:68px!important;
  min-height:68px!important;
  padding:10px 11px!important;
  font-size:13px!important;
  resize:none!important;
}

html.ss-phone .partner-modal .form-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  width:100%!important;
  margin:14px 0 0!important;
  padding:0!important;
}

html.ss-phone .partner-modal .form-actions .secondary-button{
  grid-column:1!important;
  grid-row:1!important;
  height:42px!important;
  min-height:42px!important;
  background:#f3f5f8!important;
  color:#26364d!important;
  border:1px solid #e4e8ee!important;
  border-radius:6px!important;
}

html.ss-phone .partner-modal .form-actions .primary-button{
  grid-column:2!important;
  grid-row:1!important;
  height:42px!important;
  min-height:42px!important;
  background:#0866e5!important;
  color:#fff!important;
  border-radius:6px!important;
}


/* ==================================================
   MOBILE FINAL - usar formulário COMPLETO existente
   ================================================== */

html.ss-phone .partner-mobile-form{
  display:none!important;
}

html.ss-phone .partner-desktop-form{
  display:block!important;
  width:100%!important;
}

html.ss-phone .partner-desktop-form .crm-section{
  width:100%!important;
  margin:0 0 14px!important;
  padding:14px!important;
  border:1px solid #e4e9ef!important;
  border-radius:10px!important;
  box-shadow:none!important;
  background:#fff!important;
}

html.ss-phone .partner-desktop-form .crm-section-header{
  margin-bottom:12px!important;
  gap:10px!important;
}

html.ss-phone .partner-desktop-form .crm-section-number{
  width:28px!important;
  height:28px!important;
  font-size:12px!important;
}

html.ss-phone .partner-desktop-form .crm-section-header h3{
  font-size:15px!important;
  line-height:1.2!important;
  margin:0!important;
}

html.ss-phone .partner-desktop-form .crm-section-body{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
}

html.ss-phone .partner-desktop-form label,
html.ss-phone .partner-desktop-form .form-group{
  width:100%!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  font-size:12px!important;
  font-weight:700!important;
}

html.ss-phone .partner-desktop-form input,
html.ss-phone .partner-desktop-form select,
html.ss-phone .partner-desktop-form textarea{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:42px!important;
  min-height:42px!important;
  padding:8px 10px!important;
  border:1px solid #dbe3ec!important;
  border-radius:7px!important;
  font-size:13px!important;
  background:#fff!important;
}

html.ss-phone .partner-desktop-form textarea{
  height:72px!important;
  min-height:72px!important;
}

/* Upload de logo continua fora do escopo mobile */
html.ss-phone .partner-desktop-form label:has(input[type="file"]),
html.ss-phone .partner-desktop-form img{
  display:none!important;
}

html.ss-phone .partner-modal .form-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin-top:14px!important;
  padding:10px 0 0!important;
  background:#fff!important;
}

html.ss-phone .partner-modal .form-actions .secondary-button{
  grid-column:1!important;
  grid-row:1!important;
  background:#f3f5f8!important;
  color:#26364d!important;
}

html.ss-phone .partner-modal .form-actions .primary-button{
  grid-column:2!important;
  grid-row:1!important;
  background:#0866e5!important;
  color:#fff!important;
}


/* ==================================================
   MOBILE - layout conforme referência aprovada
   ================================================== */

html.ss-phone .partner-modal{
  padding:0 14px 14px!important;
  background:#fff!important;
}

html.ss-phone .partner-modal-header{
  position:relative!important;
  height:48px!important;
  min-height:48px!important;
  margin:0 0 10px!important;
  padding:0 26px 0 22px!important;
  display:flex!important;
  align-items:center!important;
  border-bottom:1px solid #e8edf3!important;
}

html.ss-phone .partner-modal-header:before{
  content:"←"!important;
  position:absolute!important;
  left:0!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  font-size:16px!important;
  color:#17233c!important;
}

html.ss-phone .partner-modal-header h2{
  margin:0!important;
  font-size:13px!important;
  font-weight:700!important;
  color:#17233c!important;
}

html.ss-phone .partner-modal-close{
  position:absolute!important;
  right:0!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  font-size:18px!important;
  color:#17233c!important;
}

html.ss-phone .partner-desktop-form{
  display:block!important;
}

html.ss-phone .partner-desktop-form .crm-section{
  margin:0 0 10px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

html.ss-phone .partner-desktop-form .crm-section-header{
  margin:0 0 8px!important;
  padding:0!important;
  display:block!important;
}

html.ss-phone .partner-desktop-form .crm-section-number{
  display:none!important;
}

html.ss-phone .partner-desktop-form .crm-section-header h3{
  margin:0!important;
  font-size:13px!important;
  font-weight:700!important;
  color:#17233c!important;
}

html.ss-phone .partner-desktop-form .crm-section-body{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
}

html.ss-phone .partner-desktop-form label,
html.ss-phone .partner-desktop-form .form-group{
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
  width:100%!important;
  font-size:10px!important;
  line-height:1.15!important;
  color:#34465e!important;
  font-weight:700!important;
}

html.ss-phone .partner-desktop-form input,
html.ss-phone .partner-desktop-form select,
html.ss-phone .partner-desktop-form textarea{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:34px!important;
  height:34px!important;
  padding:6px 8px!important;
  border:1px solid #dbe3ec!important;
  border-radius:5px!important;
  background:#fff!important;
  font-size:11px!important;
  box-shadow:none!important;
}

html.ss-phone .partner-desktop-form textarea{
  height:54px!important;
  min-height:54px!important;
  resize:none!important;
}

html.ss-phone .partner-desktop-form label:has(input[type="file"]),
html.ss-phone .partner-desktop-form img{
  display:none!important;
}

html.ss-phone .partner-modal .form-actions{
  position:sticky!important;
  bottom:0!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  width:100%!important;
  margin:8px 0 0!important;
  padding:8px 0 0!important;
  background:#fff!important;
  z-index:5!important;
}

html.ss-phone .partner-modal .form-actions button{
  height:38px!important;
  min-height:38px!important;
  border-radius:5px!important;
  font-size:11px!important;
  font-weight:700!important;
}

html.ss-phone .partner-modal .form-actions .secondary-button{
  grid-column:1!important;
  grid-row:1!important;
  background:#f3f5f8!important;
  color:#26364d!important;
}

html.ss-phone .partner-modal .form-actions .primary-button{
  grid-column:2!important;
  grid-row:1!important;
  background:#0866e5!important;
  color:#fff!important;
}

html.ss-phone .partner-modal-body{
  overflow-y:auto!important;
  padding-bottom:6px!important;
}

/* ==================================================
   MOBILE - layout conforme referência aprovada
   ================================================== */

html.ss-phone .partner-modal{
  padding:0 14px 14px!important;
  background:#fff!important;
}

html.ss-phone .partner-modal-header{
  position:relative!important;
  height:48px!important;
  min-height:48px!important;
  margin:0 0 10px!important;
  padding:0 26px 0 22px!important;
  display:flex!important;
  align-items:center!important;
  border-bottom:1px solid #e8edf3!important;
}

html.ss-phone .partner-modal-header:before{
  content:"←"!important;
  position:absolute!important;
  left:0!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  font-size:16px!important;
  color:#17233c!important;
}

html.ss-phone .partner-modal-header h2{
  margin:0!important;
  font-size:13px!important;
  font-weight:700!important;
  color:#17233c!important;
}

html.ss-phone .partner-modal-close{
  position:absolute!important;
  right:0!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  font-size:18px!important;
  color:#17233c!important;
}

html.ss-phone .partner-desktop-form{
  display:block!important;
}

html.ss-phone .partner-desktop-form .crm-section{
  margin:0 0 10px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

html.ss-phone .partner-desktop-form .crm-section-header{
  margin:0 0 8px!important;
  padding:0!important;
  display:block!important;
}

html.ss-phone .partner-desktop-form .crm-section-number{
  display:none!important;
}

html.ss-phone .partner-desktop-form .crm-section-header h3{
  margin:0!important;
  font-size:13px!important;
  font-weight:700!important;
  color:#17233c!important;
}

html.ss-phone .partner-desktop-form .crm-section-body{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
}

html.ss-phone .partner-desktop-form label,
html.ss-phone .partner-desktop-form .form-group{
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
  width:100%!important;
  font-size:10px!important;
  line-height:1.15!important;
  color:#34465e!important;
  font-weight:700!important;
}

html.ss-phone .partner-desktop-form input,
html.ss-phone .partner-desktop-form select,
html.ss-phone .partner-desktop-form textarea{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:34px!important;
  height:34px!important;
  padding:6px 8px!important;
  border:1px solid #dbe3ec!important;
  border-radius:5px!important;
  background:#fff!important;
  font-size:11px!important;
  box-shadow:none!important;
}

html.ss-phone .partner-desktop-form textarea{
  height:54px!important;
  min-height:54px!important;
  resize:none!important;
}

html.ss-phone .partner-desktop-form label:has(input[type="file"]),
html.ss-phone .partner-desktop-form img{
  display:none!important;
}

html.ss-phone .partner-modal .form-actions{
  position:sticky!important;
  bottom:0!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  width:100%!important;
  margin:8px 0 0!important;
  padding:8px 0 0!important;
  background:#fff!important;
  z-index:5!important;
}

html.ss-phone .partner-modal .form-actions button{
  height:38px!important;
  min-height:38px!important;
  border-radius:5px!important;
  font-size:11px!important;
  font-weight:700!important;
}

html.ss-phone .partner-modal .form-actions .secondary-button{
  grid-column:1!important;
  grid-row:1!important;
  background:#f3f5f8!important;
  color:#26364d!important;
}

html.ss-phone .partner-modal .form-actions .primary-button{
  grid-column:2!important;
  grid-row:1!important;
  background:#0866e5!important;
  color:#fff!important;
}

html.ss-phone .partner-modal-body{
  overflow-y:auto!important;
  padding-bottom:6px!important;
}

/* MOBILE - escala visual igual à referência, mantendo TODOS os campos */
html.ss-phone .partner-modal{
  padding:0 16px 18px!important;
}

html.ss-phone .partner-modal-header{
  height:56px!important;
  min-height:56px!important;
  margin-bottom:14px!important;
}

html.ss-phone .partner-modal-header h2{
  font-size:16px!important;
}

html.ss-phone .partner-desktop-form .crm-section{
  margin-bottom:20px!important;
}

html.ss-phone .partner-desktop-form .crm-section-header{
  margin-bottom:12px!important;
}

html.ss-phone .partner-desktop-form .crm-section-header h3{
  font-size:16px!important;
  font-weight:700!important;
}

html.ss-phone .partner-desktop-form .crm-section-body{
  gap:13px!important;
}

html.ss-phone .partner-desktop-form label,
html.ss-phone .partner-desktop-form .form-group{
  gap:6px!important;
  font-size:13px!important;
  line-height:1.3!important;
}

html.ss-phone .partner-desktop-form input,
html.ss-phone .partner-desktop-form select{
  height:46px!important;
  min-height:46px!important;
  padding:10px 12px!important;
  border-radius:7px!important;
  font-size:14px!important;
}

html.ss-phone .partner-desktop-form textarea{
  height:82px!important;
  min-height:82px!important;
  padding:10px 12px!important;
  border-radius:7px!important;
  font-size:14px!important;
}

html.ss-phone .partner-modal .form-actions{
  position:sticky!important;
  bottom:0!important;
  gap:10px!important;
  margin-top:16px!important;
  padding:10px 0 4px!important;
  background:#fff!important;
}

html.ss-phone .partner-modal .form-actions button{
  height:46px!important;
  min-height:46px!important;
  font-size:14px!important;
  border-radius:7px!important;
}

html.ss-phone .partner-modal-body{
  padding-bottom:8px!important;
}


/* MOBILE - escala visual igual à referência, mantendo TODOS os campos */
html.ss-phone .partner-modal{
  padding:0 16px 18px!important;
}

html.ss-phone .partner-modal-header{
  height:56px!important;
  min-height:56px!important;
  margin-bottom:14px!important;
}

html.ss-phone .partner-modal-header h2{
  font-size:16px!important;
}

html.ss-phone .partner-desktop-form .crm-section{
  margin-bottom:20px!important;
}

html.ss-phone .partner-desktop-form .crm-section-header{
  margin-bottom:12px!important;
}

html.ss-phone .partner-desktop-form .crm-section-header h3{
  font-size:16px!important;
  font-weight:700!important;
}

html.ss-phone .partner-desktop-form .crm-section-body{
  gap:13px!important;
}

html.ss-phone .partner-desktop-form label,
html.ss-phone .partner-desktop-form .form-group{
  gap:6px!important;
  font-size:13px!important;
  line-height:1.3!important;
}

html.ss-phone .partner-desktop-form input,
html.ss-phone .partner-desktop-form select{
  height:46px!important;
  min-height:46px!important;
  padding:10px 12px!important;
  border-radius:7px!important;
  font-size:14px!important;
}

html.ss-phone .partner-desktop-form textarea{
  height:82px!important;
  min-height:82px!important;
  padding:10px 12px!important;
  border-radius:7px!important;
  font-size:14px!important;
}

html.ss-phone .partner-modal .form-actions{
  position:sticky!important;
  bottom:0!important;
  gap:10px!important;
  margin-top:16px!important;
  padding:10px 0 4px!important;
  background:#fff!important;
}

html.ss-phone .partner-modal .form-actions button{
  height:46px!important;
  min-height:46px!important;
  font-size:14px!important;
  border-radius:7px!important;
}

html.ss-phone .partner-modal-body{
  padding-bottom:8px!important;
}


/* MOBILE - limitar largura visual do cadastro */
html.ss-phone .partner-modal{
  padding-left:12px!important;
  padding-right:12px!important;
}

html.ss-phone .partner-modal-body{
  display:flex!important;
  justify-content:center!important;
}

html.ss-phone .partner-modal-form{
  width:100%!important;
  max-width:440px!important;
  margin:0 auto!important;
}

html.ss-phone .partner-modal .user-form{
  width:100%!important;
  max-width:440px!important;
  margin:0 auto!important;
}

html.ss-phone .partner-desktop-form{
  width:100%!important;
  max-width:440px!important;
  margin:0 auto!important;
}

html.ss-phone .partner-desktop-form .crm-section{
  width:100%!important;
  max-width:440px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

html.ss-phone .partner-modal .form-actions{
  width:100%!important;
  max-width:440px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}


/* ==================================================
   MOBILE FINAL - largura fluida e responsiva
   ================================================== */

html.ss-phone .partner-modal{
  width:100%!important;
  max-width:100%!important;
  padding:0 12px 18px!important;
  overflow-x:hidden!important;
}

html.ss-phone .partner-modal-header,
html.ss-phone .partner-modal-body{
  width:clamp(280px, calc(100vw - 24px), 390px)!important;
  max-width:390px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

html.ss-phone .partner-modal-form,
html.ss-phone .partner-modal .user-form,
html.ss-phone .partner-desktop-form{
  width:clamp(280px, calc(100vw - 24px), 390px)!important;
  max-width:390px!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

html.ss-phone .partner-desktop-form .crm-section{
  width:100%!important;
  max-width:none!important;
  margin:0 0 clamp(14px,3vw,20px)!important;
}

html.ss-phone .partner-desktop-form .crm-section-body{
  width:100%!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:clamp(10px,2.5vw,14px)!important;
}

html.ss-phone .partner-desktop-form label,
html.ss-phone .partner-desktop-form .form-group{
  width:100%!important;
  min-width:0!important;
}

html.ss-phone .partner-desktop-form input,
html.ss-phone .partner-desktop-form select,
html.ss-phone .partner-desktop-form textarea{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  font-size:clamp(13px,3.5vw,15px)!important;
}

html.ss-phone .partner-desktop-form input,
html.ss-phone .partner-desktop-form select{
  height:clamp(42px,11vw,48px)!important;
}

html.ss-phone .partner-desktop-form textarea{
  height:clamp(70px,20vw,90px)!important;
}

html.ss-phone .partner-desktop-form label{
  font-size:clamp(12px,3.2vw,14px)!important;
}

html.ss-phone .partner-desktop-form .crm-section-header h3{
  font-size:clamp(14px,4vw,16px)!important;
}

html.ss-phone .partner-modal-header{
  height:clamp(48px,14vw,56px)!important;
  min-height:0!important;
}

html.ss-phone .partner-modal-header h2{
  font-size:clamp(14px,4vw,17px)!important;
}

html.ss-phone .partner-modal .form-actions{
  width:clamp(280px, calc(100vw - 24px), 390px)!important;
  max-width:390px!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  margin:14px auto 0!important;
  gap:8px!important;
}

html.ss-phone .partner-modal .form-actions button{
  width:100%!important;
  min-width:0!important;
  height:clamp(42px,11vw,48px)!important;
  font-size:clamp(12px,3.5vw,14px)!important;
}

/* telefones muito estreitos */
@media(max-width:360px){
  html.ss-phone .partner-modal{
    padding-left:8px!important;
    padding-right:8px!important;
  }

  html.ss-phone .partner-modal-header,
  html.ss-phone .partner-modal-body,
  html.ss-phone .partner-modal-form,
  html.ss-phone .partner-modal .user-form,
  html.ss-phone .partner-desktop-form,
  html.ss-phone .partner-modal .form-actions{
    width:calc(100vw - 16px)!important;
  }
}

/* ==================================================
   MOBILE FINAL - largura fixa da tela + scroll vertical
   ================================================== */

html.ss-phone,
html.ss-phone body,
html.ss-phone #root{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}

html.ss-phone .partner-modal-backdrop{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  overflow:hidden!important;
  padding:0!important;
}

html.ss-phone .partner-modal{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  max-width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:100dvh!important;
  overflow:hidden!important;
  padding:0!important;
  border-radius:0!important;
  background:#fff!important;
}

html.ss-phone .partner-modal-header{
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:20!important;
  width:100%!important;
  height:52px!important;
  margin:0!important;
  padding:0 44px 0 38px!important;
  background:#fff!important;
  border-bottom:1px solid #e7ebf0!important;
}

html.ss-phone .partner-modal-body{
  position:absolute!important;
  top:52px!important;
  bottom:58px!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  max-width:none!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  padding:12px 16px 20px!important;
}

html.ss-phone .partner-modal-form,
html.ss-phone .partner-modal .user-form,
html.ss-phone .partner-desktop-form{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
}

html.ss-phone .partner-desktop-form .crm-section{
  width:100%!important;
  margin:0 0 14px!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
}

html.ss-phone .partner-desktop-form .crm-section-header{
  margin:0 0 9px!important;
}

html.ss-phone .partner-desktop-form .crm-section-number{
  display:none!important;
}

html.ss-phone .partner-desktop-form .crm-section-header h3{
  margin:0!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:700!important;
  color:#17233c!important;
}

html.ss-phone .partner-desktop-form .crm-section-body{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:9px!important;
  width:100%!important;
}

html.ss-phone .partner-desktop-form label,
html.ss-phone .partner-desktop-form .form-group{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:700!important;
  color:#34465e!important;
}

html.ss-phone .partner-desktop-form input,
html.ss-phone .partner-desktop-form select{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:38px!important;
  min-height:38px!important;
  padding:7px 9px!important;
  border:1px solid #dbe3ec!important;
  border-radius:5px!important;
  background:#fff!important;
  font-size:12px!important;
  box-shadow:none!important;
}

html.ss-phone .partner-desktop-form textarea{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:58px!important;
  min-height:58px!important;
  padding:8px 9px!important;
  border:1px solid #dbe3ec!important;
  border-radius:5px!important;
  font-size:12px!important;
  resize:none!important;
}

html.ss-phone .partner-modal .form-actions{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:25!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  width:100%!important;
  max-width:none!important;
  height:58px!important;
  margin:0!important;
  padding:8px 16px!important;
  background:#fff!important;
  border-top:1px solid #e7ebf0!important;
}

html.ss-phone .partner-modal .form-actions button{
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  border-radius:5px!important;
  font-size:11px!important;
  font-weight:700!important;
}

html.ss-phone .partner-modal .form-actions .secondary-button{
  grid-column:1!important;
  background:#f3f5f8!important;
  color:#26364d!important;
}

html.ss-phone .partner-modal .form-actions .primary-button{
  grid-column:2!important;
  background:#0866e5!important;
  color:#fff!important;
}

html.ss-phone .partner-desktop-form label:has(input[type="file"]),
html.ss-phone .partner-desktop-form img{
  display:none!important;
}


/* FIX - largura real do celular, sem 100vw */

html.ss-phone,
html.ss-phone body,
html.ss-phone #root{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:hidden!important;
}

html.ss-phone .partner-modal-backdrop{
  position:fixed!important;
  inset:0!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  padding:0!important;
}

html.ss-phone .partner-modal{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:100%!important;
  min-height:100%!important;
  max-height:100%!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}

html.ss-phone .partner-modal-header,
html.ss-phone .partner-modal-body,
html.ss-phone .partner-modal .form-actions{
  left:0!important;
  right:0!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

html.ss-phone .partner-modal-body{
  padding-left:14px!important;
  padding-right:14px!important;
  overflow-x:hidden!important;
}

html.ss-phone .partner-modal-form,
html.ss-phone .partner-modal .user-form,
html.ss-phone .partner-desktop-form,
html.ss-phone .partner-desktop-form .crm-section,
html.ss-phone .partner-desktop-form .crm-section-body,
html.ss-phone .partner-desktop-form label,
html.ss-phone .partner-desktop-form .form-group{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

html.ss-phone .partner-desktop-form input,
html.ss-phone .partner-desktop-form select,
html.ss-phone .partner-desktop-form textarea{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

html.ss-phone .partner-modal .form-actions{
  padding-left:14px!important;
  padding-right:14px!important;
}


/* MOBILE - preencher exatamente a largura do celular */
html.ss-phone .partner-modal-backdrop{
  position:fixed!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
}

html.ss-phone .partner-modal{
  position:absolute!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:0!important;

  width:100%!important;
  max-width:100%!important;
  min-width:100%!important;

  height:100%!important;
  max-height:100%!important;
  min-height:100%!important;

  margin:0!important;
  padding:0!important;
  border-radius:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

html.ss-phone .partner-modal-header{
  left:0!important;
  right:0!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

html.ss-phone .partner-modal-body{
  left:0!important;
  right:0!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;

  padding-left:16px!important;
  padding-right:16px!important;

  overflow-x:hidden!important;
  overflow-y:auto!important;
}

html.ss-phone .partner-modal-form,
html.ss-phone .partner-modal .user-form,
html.ss-phone .partner-desktop-form{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}

html.ss-phone .partner-desktop-form .crm-section,
html.ss-phone .partner-desktop-form .crm-section-body,
html.ss-phone .partner-desktop-form label,
html.ss-phone .partner-desktop-form .form-group{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

html.ss-phone .partner-desktop-form input,
html.ss-phone .partner-desktop-form select,
html.ss-phone .partner-desktop-form textarea{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

html.ss-phone .partner-modal .form-actions{
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  padding-left:16px!important;
  padding-right:16px!important;
}


/* S+S: acesso ao logout no menu mobile, sem alterar o desktop. */
.ss-mobile-logout{display:none!important;}
@media (max-width:900px){.sidebar nav button.ss-mobile-logout{display:block!important;text-align:left;color:var(--yellow);border-top:1px solid rgba(255,255,255,.2);margin-top:8px;}}
