#dslCrmGestorApp{
    position:fixed;
    inset:0;
    z-index:150000;
    background:#f5f7fb;
    font-family:Arial,Helvetica,sans-serif;
    color:#172033;
    display:flex;
}

#dslCrmGestorApp *{
    box-sizing:border-box;
}

.crm-g-sidebar{
    width:255px;
    background:#10213f;
    color:#fff;
    display:flex;
    flex-direction:column;
    min-height:100vh;
}

.crm-g-brand{
    padding:24px 22px;
    border-bottom:1px solid rgba(255,255,255,.1);
    display:flex;
    align-items:center;
    gap:12px;
}

.crm-g-brand img{
    width:42px;
    height:42px;
    object-fit:contain;
}

.crm-g-brand strong{
    display:block;
    font-size:18px;
}

.crm-g-brand small{
    display:block;
    margin-top:3px;
    color:#9fc5ff;
    font-weight:700;
}

.crm-g-nav{
    padding:22px 14px;
    flex:1;
}

.crm-g-nav-title{
    color:#8295b5;
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    margin:12px 12px 9px;
    text-transform:uppercase;
}

.crm-g-nav button{
    width:100%;
    border:0;
    border-radius:9px;
    background:transparent;
    color:#dce7f8;
    padding:12px 13px;
    margin:3px 0;
    text-align:left;
    font-size:14px;
    cursor:pointer;
    display:flex;
    align-items:center;
    gap:10px;
}

.crm-g-nav button:hover,
.crm-g-nav button.ativo{
    background:#1f6fd5;
    color:#fff;
}

.crm-g-voltar{
    margin:14px;
    padding:12px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:9px;
    color:#fff;
    background:rgba(255,255,255,.05);
    cursor:pointer;
    text-align:center;
}

.crm-g-main{
    flex:1;
    min-width:0;
    overflow:auto;
}

.crm-g-top{
    min-height:72px;
    background:#fff;
    border-bottom:1px solid #e5e9f0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 30px;
    position:sticky;
    top:0;
    z-index:5;
}

.crm-g-top strong{
    font-size:16px;
}

.crm-g-user{
    text-align:right;
    font-size:13px;
    color:#657087;
}

.crm-g-user b{
    color:#172033;
    display:block;
    margin-bottom:2px;
}

.crm-g-content{
    padding:30px;
    max-width:1450px;
    margin:0 auto;
}

.crm-g-page-title{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:22px;
}

.crm-g-page-title h1{
    margin:0 0 6px;
    font-size:27px;
}

.crm-g-page-title p{
    margin:0;
    color:#667085;
}

.crm-g-btn{
    border:0;
    border-radius:9px;
    padding:11px 17px;
    font-weight:700;
    cursor:pointer;
    font-size:14px;
}

.crm-g-btn-primary{
    background:#1769d2;
    color:#fff;
}

.crm-g-btn-light{
    background:#eef2f7;
    color:#23314d;
}

.crm-g-card{
    background:#fff;
    border:1px solid #e5e9f0;
    border-radius:13px;
    box-shadow:0 3px 12px rgba(16,33,63,.04);
}

.crm-g-toolbar{
    padding:18px;
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:center;
    border-bottom:1px solid #edf0f5;
}

.crm-g-search{
    width:min(420px,100%);
    border:1px solid #d7dde7;
    border-radius:9px;
    padding:11px 13px;
    font-size:14px;
    outline:none;
}

.crm-g-search:focus,
.crm-g-input:focus,
.crm-g-select:focus{
    border-color:#1769d2;
    box-shadow:0 0 0 3px rgba(23,105,210,.08);
}

.crm-g-table-wrap{
    overflow:auto;
}

.crm-g-table{
    width:100%;
    border-collapse:collapse;
    min-width:800px;
}

.crm-g-table th{
    background:#f8fafc;
    text-align:left;
    padding:13px 15px;
    font-size:12px;
    color:#596579;
    text-transform:uppercase;
    letter-spacing:.03em;
    border-bottom:1px solid #e5e9f0;
}

.crm-g-table td{
    padding:15px;
    border-bottom:1px solid #edf0f5;
    vertical-align:middle;
    font-size:14px;
}

.crm-g-table tr:last-child td{
    border-bottom:0;
}

.crm-g-code{
    font-weight:800;
    color:#1769d2;
}

.crm-g-badge{
    display:inline-flex;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
}

.crm-g-badge-on{
    background:#e8f7ee;
    color:#087a38;
}

.crm-g-badge-off{
    background:#f2f4f7;
    color:#667085;
}

.crm-g-empty{
    padding:45px 20px;
    text-align:center;
    color:#7a8597;
}

.crm-g-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.crm-g-pref{
    padding:20px;
}

.crm-g-pref h3{
    margin:0 0 5px;
    font-size:18px;
}

.crm-g-pref > p{
    margin:0 0 18px;
    color:#667085;
    font-size:13px;
}

.crm-g-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:11px 0;
    border-bottom:1px solid #edf0f5;
}

.crm-g-item:last-child{
    border-bottom:0;
}

.crm-g-item small{
    color:#7b8494;
    display:block;
    margin-top:3px;
}

.crm-g-item-actions{
    display:flex;
    gap:6px;
}

.crm-g-icon-btn{
    border:0;
    border-radius:7px;
    background:#eef3f9;
    padding:7px 9px;
    cursor:pointer;
    color:#243552;
}

.crm-g-add{
    display:flex;
    gap:8px;
    margin-top:15px;
}

.crm-g-input,
.crm-g-select{
    width:100%;
    border:1px solid #d7dde7;
    border-radius:8px;
    padding:10px 11px;
    background:#fff;
    font-size:14px;
}

.crm-g-modal-bg{
    position:fixed;
    inset:0;
    z-index:160000;
    background:rgba(15,28,50,.48);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
}

.crm-g-modal{
    width:min(590px,96vw);
    max-height:92vh;
    overflow:auto;
    background:#fff;
    border-radius:15px;
    box-shadow:0 25px 60px rgba(0,0,0,.22);
}

.crm-g-modal-head{
    padding:20px 22px;
    border-bottom:1px solid #e9edf3;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.crm-g-modal-head h2{
    margin:0;
    font-size:21px;
}

.crm-g-modal-close{
    border:0;
    background:#eef2f7;
    width:34px;
    height:34px;
    border-radius:8px;
    cursor:pointer;
    font-size:18px;
}

.crm-g-modal-body{
    padding:22px;
}

.crm-g-form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.crm-g-field-full{
    grid-column:1 / -1;
}

.crm-g-label{
    display:block;
    font-size:13px;
    font-weight:700;
    margin-bottom:6px;
}

.crm-g-modal-foot{
    padding:18px 22px;
    border-top:1px solid #e9edf3;
    display:flex;
    justify-content:flex-end;
    gap:9px;
}

.crm-g-msg{
    margin-bottom:15px;
    padding:11px 13px;
    border-radius:8px;
    font-size:13px;
    display:none;
}

.crm-g-msg.erro{
    display:block;
    background:#fff0f0;
    color:#a12622;
}

.crm-g-msg.ok{
    display:block;
    background:#eaf8ef;
    color:#126b36;
}

.crm-g-loading{
    padding:45px;
    text-align:center;
    color:#687386;
}

@media(max-width:900px){
    #dslCrmGestorApp{
        display:block;
    }

    .crm-g-sidebar{
        width:100%;
        min-height:auto;
    }

    .crm-g-brand{
        padding:14px 18px;
    }

    .crm-g-nav{
        padding:8px 12px 12px;
        display:flex;
        gap:7px;
        overflow:auto;
    }

    .crm-g-nav-title{
        display:none;
    }

    .crm-g-nav button{
        width:auto;
        white-space:nowrap;
        margin:0;
    }

    .crm-g-voltar{
        margin:0 12px 12px;
    }

    .crm-g-top{
        padding:0 18px;
    }

    .crm-g-content{
        padding:20px 14px;
    }

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

    .crm-g-page-title{
        display:block;
    }

    .crm-g-page-title .crm-g-btn{
        margin-top:14px;
    }

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

    .crm-g-field-full{
        grid-column:auto;
    }
}


/* DSL_CRM_BRAND_REFINO_INICIO */

/* Bloco superior da identidade */
#dslCrmGestorApp aside :has(> .dsl-crm-brand-logo) {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 15px !important;

    padding: 24px 26px 22px !important;
    min-height: 118px !important;

    background: transparent !important;
    border-bottom: 1px solid rgba(255,255,255,.09) !important;
}

/* Símbolo DSL sem caixa branca */
#dslCrmGestorApp .dsl-crm-brand-logo {
    display: block !important;

    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;

    object-fit: contain !important;

    padding: 0 !important;
    margin: 0 !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Organização dos textos ao lado do símbolo */
#dslCrmGestorApp .dsl-crm-brand-logo + div {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;

    gap: 3px !important;
    margin: 0 !important;
    padding: 0 !important;

    min-width: 0 !important;
}

/* DSL Gestão Integrada */
#dslCrmGestorApp .dsl-crm-brand-logo + div > :first-child {
    margin: 0 !important;

    font-size: 17px !important;
    line-height: 1.13 !important;
    font-weight: 700 !important;
    letter-spacing: -0.2px !important;

    color: #ffffff !important;
}

/* CRM Comercial */
#dslCrmGestorApp .dsl-crm-brand-logo + div > :last-child {
    margin: 1px 0 0 !important;

    font-size: 12.5px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;

    color: #67b7ff !important;
}

/* DSL_CRM_BRAND_REFINO_FIM */