/* =====================================================
   FRETE+ - REPRESENTANTES
===================================================== */


/* =====================================================
   CARDS
===================================================== */

.representantes-cards {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 20px;

    margin-bottom: 24px;
}


.representantes-card {
    min-height: 105px;

    padding: 20px;

    display: flex;
    align-items: center;

    gap: 15px;

    background: #fffdf8;

    border:
        1px solid #edf2f7;

    border-radius: 14px;

    box-shadow:
        0 2px 10px
        rgba(15, 23, 42, 0.05);
}


.representantes-card-icone {
    width: 54px;
    height: 54px;

    flex:
        0 0 54px;

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

    background: rgba(122,147,96,.13);

    border-radius: 12px;

    font-size: 24px;
}


.representantes-card span {
    display: block;

    margin-bottom: 5px;

    color: #6f786b;

    font-size: 13px;
}


.representantes-card strong {
    color: #243024;

    font-size: 25px;
}


/* =====================================================
   FILTROS
===================================================== */

.representantes-filtros {
    display: grid;

    grid-template-columns:
        minmax(280px, 1fr)
        210px
        auto;

    gap: 12px;

    margin-bottom: 20px;
}


.representantes-busca {
    min-height: 46px;

    padding: 0 14px;

    display: flex;
    align-items: center;

    gap: 10px;

    background: #fffdf8;

    border:
        1px solid #566254;

    border-radius: 10px;
}


.representantes-busca input {
    width: 100%;

    border: none;
    outline: none;

    background: transparent;

    color: #243024;

    font-size: 14px;
}


.representantes-filtros select {
    min-height: 46px;

    padding: 0 12px;

    border:
        1px solid #566254;

    border-radius: 10px;

    background: #fffdf8;

    color: #243024;

    font-size: 14px;
}


/* =====================================================
   IDENTIDADE
===================================================== */

.representante-identidade {
    display: flex;
    align-items: center;

    gap: 11px;
}


.representante-avatar {
    width: 38px;
    height: 38px;

    flex:
        0 0 38px;

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

    border-radius: 10px;

    background: rgba(122,147,96,.13);

    color: #53673f;

    font-weight: 800;
}


.representante-identidade strong {
    color: #243024;

    font-size: 14px;
}


/* =====================================================
   STATUS
===================================================== */

.representante-status {
    display: inline-flex;
    align-items: center;

    padding: 6px 10px;

    border-radius: 999px;

    font-size: 12px;
    font-weight: 700;
}


.representante-status.ativo {
    background: #dcfce7;

    color: #166534;
}


.representante-status.inativo {
    background: rgba(239,68,68,.13);

    color: #b91c1c;
}


/* =====================================================
   AÇÕES
===================================================== */

.representante-acoes {
    display: flex;
    align-items: center;

    flex-wrap: wrap;

    gap: 7px;
}


.btn-representante-editar,
.btn-representante-status {
    border: none;

    padding: 8px 10px;

    border-radius: 8px;

    font-size: 12px;
    font-weight: 700;

    cursor: pointer;
}


.btn-representante-editar {
    background: rgba(122,147,96,.13);

    color: #53673f;
}


.btn-representante-editar:hover {
    background: #dfe8d7;
}


.btn-representante-status.desativar {
    background: rgba(239,68,68,.12);

    color: #be123c;
}


.btn-representante-status.ativar {
    background: rgba(34,197,94,.11);

    color: #15803d;
}


/* =====================================================
   MODAL
===================================================== */

.representante-modal {
    max-width: 650px;
}


.representante-form-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 14px;
}


/* =====================================================
   VAZIO
===================================================== */

.representantes-vazio {
    padding: 35px !important;

    text-align: center;

    color: #6f786b;
}


/* =====================================================
   RESPONSIVIDADE
===================================================== */

@media
(max-width: 1000px) {

    .representantes-cards {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .representantes-filtros {
        grid-template-columns:
            1fr 1fr;
    }

}


@media
(max-width: 700px) {

    .representantes-cards {
        grid-template-columns:
            1fr;
    }


    .representantes-filtros {
        grid-template-columns:
            1fr;
    }


    .representante-form-grid {
        grid-template-columns:
            1fr;
    }


    .representante-acoes {
        flex-direction: column;

        align-items: stretch;
    }


    .representante-acoes button {
        width: 100%;
    }

}

/* FRETE+PRO 3.0.8 - acesso do representante */
.representante-acesso-box {
    margin-top: 18px;
    padding: 18px;
    border: 1px solid rgba(148, 163, 184, .25);
    border-radius: 14px;
    background: rgba(15, 23, 42, .28);
}
.representante-acesso-titulo { font-size: 16px; font-weight: 800; margin-bottom: 4px; }
.representante-acesso-ajuda { margin: 0 0 14px; color: #6f786b; font-size: 13px; }

/* FRETE+PRO 3.1.17 - solicitação conjugada */
.solicitacao-entregas-extras-section .delivery-title{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.sol-extra-card{margin-top:16px;padding:18px;border:1px solid #d9d1c3;border-radius:14px;background:rgba(8,24,43,.35)}
.sol-extra-card h4{margin:0;font-size:18px}.sol-extra-card p{margin:4px 0 0;color:#6f786b}
.btn-remove-delivery{border:1px solid #7f1d1d;background:#3f1d29;color:#fecaca;border-radius:10px;padding:9px 12px;cursor:pointer;font-weight:700}
#btnAdicionarEntregaSolicitacao:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:720px){.solicitacao-entregas-extras-section .delivery-title{align-items:stretch}.solicitacao-entregas-extras-section .btn-add-delivery{width:100%}}

/* =====================================================
   FRETE+PRO 3.3.0 - PORTAL MOBILE-FIRST REPRESENTANTE
===================================================== */
.rep-mobile-content{max-width:1180px;margin:0 auto}.rep-mobile-kicker{display:block;color:#7a9360;font-size:11px;font-weight:900;letter-spacing:.12em;margin-bottom:5px}.rep-mobile-nova{width:100%;border:1px solid rgba(101,123,78,.24);background:linear-gradient(135deg,#30452a,#657b4e);color:#fff;border-radius:18px;padding:17px 18px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;text-align:left;cursor:pointer;box-shadow:0 14px 32px rgba(143,161,123,.18)}.rep-mobile-nova>span{width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.14);display:grid;place-items:center;font-size:27px}.rep-mobile-nova b{font-size:17px}.rep-mobile-nova small{opacity:.8}.rep-mobile-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0 24px}.rep-mobile-kpis button{border:1px solid #d9d1c3;background:#fffdf8;color:#243024;border-radius:15px;padding:15px;text-align:left;cursor:pointer}.rep-mobile-kpis button.ativo{border-color:#7a9360;box-shadow:0 0 0 2px rgba(101,123,78,.12)}.rep-mobile-kpis span{display:block;color:#6f786b;font-size:12px;margin-bottom:6px}.rep-mobile-kpis strong{font-size:25px}.rep-mobile-list-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:10px 0 12px}.rep-mobile-list-head h2{margin:0 0 3px;font-size:20px}.rep-mobile-list-head p{margin:0;color:#6f786b;font-size:12px}.rep-mobile-filter-btn{border:1px solid #d9d1c3;background:#fffdf8;color:#ebf0e3;border-radius:10px;padding:10px 12px;cursor:pointer}.rep-mobile-filtros{display:grid;grid-template-columns:1fr 220px;gap:10px;margin-bottom:12px;padding:12px;border:1px solid #d9d1c3;border-radius:14px;background:#f5f1e8}.rep-mobile-filtros input,.rep-mobile-filtros select{min-height:44px;border:1px solid #cfc6b3;border-radius:10px;background:#fffdf8;color:#243024;padding:0 12px}.rep-mobile-fretes{display:grid;gap:12px}.rep-mobile-frete-card{border:1px solid #d9d1c3;background:#fffdf8;border-radius:17px;padding:16px;box-shadow:0 8px 26px rgba(0,0,0,.12)}.rep-mobile-frete-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.rep-mobile-pedido{font-size:11px;font-weight:800;color:#a7ba8d;text-transform:uppercase;letter-spacing:.04em}.rep-mobile-frete-card h3{margin:5px 0 0;font-size:17px;color:#243024}.rep-mobile-status{max-width:150px;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900;text-align:center;background:#ebf0e3;color:#ebf0e3}.rep-mobile-status.ok{background:rgba(34,197,94,.14);color:#86efac}.rep-mobile-status.atencao{background:rgba(245,158,11,.14);color:#fcd34d}.rep-mobile-status.andamento{background:rgba(101,123,78,.14);color:#a7ba8d}.rep-mobile-destino{margin:13px 0;color:#566254;font-size:13px}.rep-mobile-destino small{color:#a7ba8d}.rep-mobile-meta{display:flex;flex-wrap:wrap;gap:7px}.rep-mobile-meta span{background:#f4ecda;border:1px solid rgba(148,163,184,.16);border-radius:9px;padding:7px 9px;color:#6f786b;font-size:11px}.rep-mobile-meta b{color:#243024}.rep-mobile-card-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.rep-mobile-card-actions button{min-height:40px}.rep-mobile-empty,.rep-mobile-loading{padding:28px 16px;text-align:center;border:1px dashed #cfc6b3;border-radius:14px;color:#6f786b;background:#f5f1e8}

.rep-wizard-progress,.rep-wizard-mobile-actions{display:none}
@media(max-width:720px){
  body.perfil-representante .app{display:block;padding-bottom:78px}
  body.perfil-representante .sidebar{position:fixed;z-index:1000;left:0;right:0;bottom:0;top:auto;width:auto;height:70px;padding:7px 8px;background:#091425;border-top:1px solid #d9d1c3;box-shadow:0 -8px 30px rgba(0,0,0,.25)}
  body.perfil-representante .sidebar .logo,body.perfil-representante .menu-separador,body.perfil-representante #btnLogoutFreteMais{display:none!important}
  body.perfil-representante .sidebar nav{height:100%;display:flex;flex-direction:row;align-items:stretch;justify-content:space-around;gap:3px;overflow-x:auto}
  body.perfil-representante .sidebar .menu-item{display:flex!important;min-width:58px;width:auto;flex:1;max-width:90px;padding:6px 4px;border-radius:11px;flex-direction:column;justify-content:center;gap:2px;font-size:18px;line-height:1}
  body.perfil-representante .sidebar .menu-item[style*="display: none"]{display:none!important}
  body.perfil-representante .sidebar .menu-item span{display:block;font-size:9px;white-space:nowrap;max-width:78px;overflow:hidden;text-overflow:ellipsis}
  body.perfil-representante .main{width:100%}
  body.perfil-representante .topbar.rep-mobile-topbar{min-height:auto;padding:16px 14px;align-items:flex-start}
  .rep-mobile-topbar .user{display:none}.rep-mobile-boasvindas h1{font-size:23px;margin:0}.rep-mobile-boasvindas p{font-size:12px;margin-top:4px}
  .rep-mobile-content{padding:14px!important}.rep-mobile-nova{position:sticky;top:8px;z-index:20;border-radius:15px;padding:12px 13px;grid-template-columns:38px 1fr auto}.rep-mobile-nova>span{width:38px;height:38px;font-size:24px}.rep-mobile-nova b{font-size:15px}.rep-mobile-nova small{font-size:10px}
  .rep-mobile-kpis{gap:7px;margin:11px 0 20px}.rep-mobile-kpis button{padding:11px 9px;border-radius:12px}.rep-mobile-kpis span{font-size:10px}.rep-mobile-kpis strong{font-size:22px}.rep-mobile-list-head{align-items:center}.rep-mobile-list-head h2{font-size:18px}.rep-mobile-filter-btn{padding:9px 10px;font-size:12px}.rep-mobile-filtros{grid-template-columns:1fr;padding:9px}.rep-mobile-frete-card{padding:14px;border-radius:15px}.rep-mobile-frete-top{flex-direction:column;gap:8px}.rep-mobile-status{max-width:none}.rep-mobile-card-actions{display:grid;grid-template-columns:1fr}.rep-mobile-card-actions button{width:100%;min-height:46px}.rep-mobile-meta{display:grid;grid-template-columns:repeat(2,1fr)}

  body.perfil-representante .solicitacao-card.rep-wizard-card{padding:12px!important;border:0;background:transparent;box-shadow:none}
  .rep-wizard-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:0 0 14px;position:sticky;top:6px;z-index:30;background:#071321;padding:8px;border-radius:14px;border:1px solid #d9d1c3}
  .rep-wizard-dot{display:flex;align-items:center;justify-content:center;min-height:34px;border:0;border-radius:9px;background:#fffdf8;color:#6f786b;font-size:11px;font-weight:800}.rep-wizard-dot.ativo{background:#657b4e;color:white}.rep-wizard-dot.concluido{background:rgba(34,197,94,.14);color:#86efac}
  .rep-wizard-card .rep-wizard-step{display:none!important}.rep-wizard-card .rep-wizard-step.rep-step-active{display:block!important}.rep-wizard-card .form-section,.rep-wizard-card .rep-antt-card{margin:0!important;padding:14px!important;border-radius:15px}.rep-wizard-card .form-grid{grid-template-columns:1fr!important;gap:13px}.rep-wizard-card input,.rep-wizard-card select,.rep-wizard-card textarea{font-size:16px!important;min-height:48px}.rep-wizard-card textarea{min-height:96px}.rep-wizard-card .solicitacao-acoes{display:none!important}.rep-wizard-card[data-rep-current-step="4"] .solicitacao-acoes{display:grid!important;grid-template-columns:1fr;gap:9px}.rep-wizard-card[data-rep-current-step="4"] .solicitacao-acoes button{width:100%;min-height:50px}.rep-wizard-mobile-actions{display:flex;position:sticky;bottom:78px;z-index:25;gap:8px;margin-top:12px;padding:9px;background:rgba(7,19,33,.96);border:1px solid #d9d1c3;border-radius:14px}.rep-wizard-mobile-actions button{flex:1;min-height:48px}.rep-wizard-card[data-rep-current-step="4"] #repWizardContinuar{display:none!important}
}

/* FRETE+PRO 4.3.3.93 - entregas adicionais com o mesmo padrão visual da Entrega 1 */
.delivery-add-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.btn-add-delivery-alt{background:#756a55!important;border-color:#756a55!important}
.sol-extra-card{position:relative;overflow:hidden;background:#fff!important;border-width:1px!important;border-style:solid!important;box-shadow:0 10px 28px rgba(31,42,24,.08)}
.sol-extra-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--entrega-accent,#8c7a52)}
.sol-extra-card.entrega-cor-2{--entrega-accent:#b7783e;border-color:#e2c5a6!important;background:#fffaf5!important}
.sol-extra-card.entrega-cor-3{--entrega-accent:#71835b;border-color:#cbd7bd!important;background:#f9fcf6!important}
.sol-extra-card .delivery-title-standard{padding-left:8px;margin-bottom:18px}
.sol-extra-card .delivery-kicker{display:inline-block;font-size:11px;letter-spacing:.12em;font-weight:900;color:var(--entrega-accent,#8c7a52);margin-bottom:4px}
.sol-extra-card .delivery-subsection-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:20px 0 12px;padding:11px 13px;border-radius:10px;background:rgba(112,130,88,.08)}
.sol-extra-card .delivery-subsection-title span{font-size:12px;color:#6f786b;font-weight:700}
.sol-extra-card .destino-final-aviso{padding:12px 14px;border:1px solid #e2b05b;border-radius:12px;background:rgba(226,176,91,.10)}
.sol-extra-card .destino-final-aviso strong,.sol-extra-card .destino-final-aviso small{display:block}.sol-extra-card .destino-final-aviso small{margin-top:4px;line-height:1.45}
@media(max-width:720px){.delivery-add-actions{width:100%;justify-content:stretch}.delivery-add-actions .btn-add-delivery{flex:1 1 100%}.sol-extra-card .delivery-subsection-title{align-items:flex-start;flex-direction:column}}


/* FRETE+PRO 4.3.3.111 - carga fracionada para o mesmo cliente */
.carga-fracionada-bloco{
  background:#f5f0e6;
  border:1px solid #d8cdb9;
  border-left:4px solid #7b694c;
  border-radius:16px;
  padding:16px;
  margin-top:6px;
}
.carga-fracionada-bloco .form-grid{margin:0;}
.carga-fracionada-bloco label{color:#33412f!important;font-weight:800!important;}
.carga-fracionada-bloco .cliente-status{display:block;margin-top:8px;color:#4d5748!important;font-weight:700;}


/* FRETE+PRO 4.3.3.113 - validação de pedido único */
.pedido-validacao-status{display:block;margin-top:6px;font-size:12px;font-weight:800;min-height:16px;color:#596159}
.pedido-validacao-status.consultando{color:#6b6558}
.pedido-validacao-status.ok{color:#3f6a38}
.pedido-validacao-status.erro{color:#a33e35}
input.pedido-duplicado{border-color:#b84a40!important;box-shadow:0 0 0 3px rgba(184,74,64,.12)!important;background:#fff7f5!important}
input.pedido-disponivel{border-color:#718a58!important}

/* FRETE+PRO 4.3.3.128 - REPRESENTANTE EM ROTA */
body.perfil-representante .rep-rota-completa{margin:10px 0 2px;padding:12px 13px;border:1px solid #d9dfd1;border-radius:12px;background:#f4f7f1;color:#263223}
body.perfil-representante .rep-rota-completa>span{display:block;font-size:9px;font-weight:900;letter-spacing:.12em;color:#6e7b68;margin-bottom:5px}
body.perfil-representante .rep-rota-completa strong{display:block;font-size:12px;color:#253322}
body.perfil-representante .rep-rota-completa i{display:block;font-style:normal;color:#809077;margin:3px 0}
body.perfil-representante .rep-rota-completa p{margin:0;color:#3e4c39;font-size:11.5px;line-height:1.5}
body.perfil-representante .rep-link-operacao{color:#315d2d!important;text-decoration:none;font-weight:900}
body.perfil-representante .rep-btn-ligar{text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:720px){
 body.perfil-representante .rep-rota-completa{padding:11px;margin-top:9px}
 body.perfil-representante .rep-rota-completa p{font-size:12px}
 body.perfil-representante .rep-mobile-meta{grid-template-columns:1fr!important}
 body.perfil-representante .rep-mobile-card-actions .rep-btn-ligar{width:100%;min-height:46px}
}

/* FRETE+PRO 4.3.3.151 · Integração Sankhya */
.sankhya-pedido-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.btn-sankhya-buscar{border:0;border-radius:12px;padding:11px 14px;background:#30452a;color:#fff;font-weight:800;cursor:pointer;white-space:nowrap}
.btn-sankhya-buscar:hover{filter:brightness(1.06)}
.sankhya-status{margin-top:8px;padding:10px 12px;border-radius:12px;display:grid!important;gap:3px;font-size:13px;line-height:1.35}
.sankhya-status strong{font-size:13px}
.sankhya-status span,.sankhya-status small{display:block}
.sankhya-status.consultando{background:#f4efe3;color:#5a513f;border:1px solid #ded1b8}
.sankhya-status.ok{background:#edf5ea;color:#254125;border:1px solid #bfd1b9}
.sankhya-status.erro{background:#fff2ef;color:#7c3126;border:1px solid #e8c1b9}
@media(max-width:640px){.sankhya-pedido-wrap{grid-template-columns:1fr}.btn-sankhya-buscar{width:100%}}
