/* EH Soluções Web — diretório comercial, atendimento e orientação inicial.
   Regras isoladas para não afetar os demais módulos. */

/* Contas: hierarquia clara, dados legíveis e ações alinhadas */
.layout-admin .account-panel{min-width:0;background:#fff}
.layout-admin .account-directory{display:grid;gap:10px;margin-top:16px}
.layout-admin .crm-account-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 22px;align-items:center;min-width:0;padding:18px 20px;border:1px solid #e4e8e4;border-radius:14px;background:#fff;transition:border-color .2s,box-shadow .2s}
.layout-admin .crm-account-row:hover{border-color:#cbd4cc;box-shadow:0 8px 24px rgba(25,36,28,.035)}
.layout-admin .crm-account-person{display:flex;align-items:flex-start;gap:16px;min-width:0}
.layout-admin .crm-account-person > img,.layout-admin .crm-account-person > .avatar-fallback{width:52px;height:52px;flex:0 0 52px;min-width:52px;border-radius:13px;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;font-weight:800;background:#f0f4eb;color:#345442;font-size:1.12rem;margin-top:1px}
.layout-admin .crm-account-person-body{display:block;min-width:0;flex:1}
.layout-admin .crm-account-name{display:block;font-size:clamp(.89rem,1vw,.99rem);font-weight:780;line-height:1.4;color:#1c2822;margin-bottom:4px;overflow-wrap:anywhere}
.layout-admin .crm-account-name small{display:inline;font-weight:400;color:#768277;font-size:.74rem}
.layout-admin .crm-account-email{display:block;width:fit-content;max-width:100%;font-size:.8rem;line-height:1.5;color:#4e5f55;text-decoration:none;overflow-wrap:anywhere}
.layout-admin .crm-account-email:hover{text-decoration:underline;color:var(--accent)}
.layout-admin .crm-account-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 5px}
.layout-admin .crm-account-meta > span{display:inline-flex;align-items:center;max-width:100%;min-width:0;border:1px solid #e5e9e4;border-radius:7px;background:#f7f9f6;color:#57685b;font-size:.7rem;line-height:1.4;font-weight:650;padding:4px 8px;margin:0;overflow-wrap:anywhere}
.layout-admin .crm-account-meta .crm-account-company{background:#fff7f0;border-color:#f6dfd1;color:#9e411b}
.layout-admin .crm-account-last{display:block;font-size:.7rem;line-height:1.5;color:#79837c;margin-top:7px}
.layout-admin .crm-account-row > .account-tags{justify-content:flex-end;align-self:start;padding-top:2px}
.layout-admin .crm-account-row > .account-actions{grid-column:1/-1;display:flex;justify-content:flex-end;align-items:center;gap:8px;padding-top:11px;border-top:1px solid #eef1ed;flex-wrap:wrap}
.layout-admin .crm-account-row > .account-actions .button{min-height:37px;font-size:.72rem;margin:0}
.layout-admin .crm-account-row > .account-actions form{margin:0}
.layout-admin .account-kpis > div{box-shadow:0 4px 16px rgba(29,45,32,.018);min-height:94px}

/* Contatos — corrige ausência de estilos após migração para clean.css */
.layout-admin .crm-contact-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap}
.layout-admin .crm-contact-heading>.button{min-height:42px}
.layout-admin .contact-stats-grid.crm-contact-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 24px;min-width:0}
.layout-admin .crm-contact-stats > article{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-width:0;min-height:94px;padding:17px 19px;background:#fff;border:1px solid #e3e8e3;border-radius:13px;box-shadow:0 4px 18px rgba(20,33,24,.025)}
.layout-admin .crm-contact-stats > article:before{content:"";position:absolute;left:18px;top:17px;width:27px;height:3px;border-radius:4px;background:#d9e0d9}
.layout-admin .crm-contact-stats > article.crm-stat-accent{background:#fff7f2;border-color:#f4e2d6}
.layout-admin .crm-contact-stats > article.crm-stat-accent:before{background:var(--accent)}
.layout-admin .crm-contact-stats small{display:block;color:#64736a;font-size:.75rem;font-weight:650;margin-top:12px;line-height:1.35}
.layout-admin .crm-contact-stats strong{display:block;margin-top:6px;font-size:1.6rem;font-weight:820;letter-spacing:-.04em;line-height:1.2;color:#1d2923}
.layout-admin .crm-stat-accent strong{color:#b4441b}
.layout-admin .crm-contacts-panel{padding:24px!important;min-width:0;border:1px solid #e2e9e1;border-radius:16px;background:#fff}
.layout-admin .contact-filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr));gap:12px;align-items:end;padding:17px;margin:0 0 8px;border:1px solid #e8ede7;border-radius:12px;background:#f8faf7}
.layout-admin .contact-filter-bar label{display:grid;align-content:start;gap:7px;min-width:0;margin:0;font-size:.75rem;font-weight:720;line-height:1.45;color:#35443a}
.layout-admin .contact-filter-bar input,.layout-admin .contact-filter-bar select{width:100%;min-width:0;height:43px;min-height:43px;margin:0;border-color:#d5dfd4;border-radius:8px;background:#fff;font-size:.81rem}
.layout-admin .crm-filter-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:2px}
.layout-admin .crm-filter-actions .button{min-height:41px;margin:0}
.layout-admin .contact-message-list{display:grid;gap:0}
.layout-admin .contact-message-card{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:19px 2px;border-bottom:1px solid #e8eee8;min-width:0}
.layout-admin .contact-message-card:last-child{border-bottom:0}
.layout-admin .contact-message-card.status-nova .contact-message-title strong:before{content:"";display:inline-block;vertical-align:middle;width:8px;height:8px;background:#d76322;border-radius:50%;margin:0 8px 2px 0}
.layout-admin .contact-message-main{min-width:0}
.layout-admin .contact-message-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0}
.layout-admin .contact-message-title strong{font-size:.91rem;line-height:1.45;color:#223129;overflow-wrap:anywhere}
.layout-admin .contact-message-title>span:not(.crm-diagnostic-tag){display:inline-flex;padding:3px 8px;background:#f2f5f0;border:1px solid #e2e8e1;border-radius:20px;font-size:.67rem;font-weight:750;color:#576b5d;line-height:1.5}
.layout-admin .crm-diagnostic-tag{display:inline-flex;align-items:center;background:#fff0e6!important;border:1px solid #f2d6c4!important;border-radius:7px!important;padding:4px 8px!important;color:#b24b18!important;font-size:.67rem!important;font-weight:800!important;width:max-content;max-width:100%}
.layout-admin .contact-message-meta{display:flex;flex-wrap:wrap;gap:7px 13px;margin:7px 0!important;color:#67786b;font-size:.74rem}
.layout-admin .contact-message-meta span{max-width:100%;overflow-wrap:anywhere}
.layout-admin .contact-message-meta span:not(:first-child):before{content:"·";padding-right:12px;color:#b0bbb2}
.layout-admin .crm-contact-excerpt{font-size:.79rem;color:#38493f;line-height:1.65;margin:8px 0 0!important;white-space:pre-wrap;overflow-wrap:anywhere}
.layout-admin .contact-message-actions{display:flex;gap:7px;justify-content:flex-start;align-items:center;flex-wrap:wrap;min-width:0}
.layout-admin .contact-message-actions form{display:inline-flex;margin:0;align-items:center}
.layout-admin .contact-message-actions .button{font-size:.72rem;min-height:37px;margin:0;gap:7px}
.layout-admin .contact-message-actions .button svg{width:15px;height:15px}
.layout-admin .contact-show-grid{display:grid;grid-template-columns:minmax(270px,.43fr) minmax(0,1fr);gap:16px;align-items:start}
.layout-admin .contact-show-card{min-width:0;margin:0!important;padding:25px}
.layout-admin .contact-show-card h2{font-size:1.08rem;margin:0 0 17px}
.layout-admin .contact-show-card .detail-list{display:grid;gap:9px}
.layout-admin .contact-show-card .detail-list>div{display:grid;gap:3px;padding-bottom:10px;border-bottom:1px solid #eef1ed}
.layout-admin .contact-show-card dt{font-size:.7rem;color:#738175}
.layout-admin .contact-show-card dd{margin:0;font-size:.83rem;overflow-wrap:anywhere;color:#24332a}
.layout-admin .contact-show-card .app-form{margin-top:22px}
.layout-admin .contact-show-card input,.layout-admin .contact-show-card select{max-width:100%;min-width:0}
.layout-admin .contact-full-message{border:1px solid #e9ede8;border-radius:10px;background:#fafbf8;padding:18px;white-space:normal;line-height:1.75;font-size:.83rem;overflow-wrap:anywhere}
.layout-admin .danger-zone{margin-top:20px}
.layout-admin .pagination-simple{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin-top:20px;padding-top:18px;border-top:1px solid #e4e9e4;font-size:.75rem;color:#57665c}

/* Captação comercial: orientação inicial antes da proposta, layout institucional */
.layout-public .crm-diagnostic-banner{margin-top:36px;margin-bottom:26px;background:#f6f8f5;border:1px solid #e2e9e2;border-radius:19px;padding:27px 31px;display:flex;justify-content:space-between;align-items:center;gap:28px}
.layout-public .crm-diagnostic-banner>div{min-width:0}
.layout-public .crm-diagnostic-banner h2{font-size:clamp(1.35rem,2vw,1.9rem);max-width:680px;line-height:1.3;margin:7px 0 9px;color:#202b23}
.layout-public .crm-diagnostic-banner p:not(.eyebrow){font-size:.79rem;max-width:690px;color:#5b675d}
.layout-public .crm-diagnostic-banner .button{flex:0 0 auto;white-space:normal;text-align:center}
.layout-public .crm-diagnostic-page{padding:58px 0 98px;max-width:1100px}
.layout-public .crm-diagnostic-hero{display:grid;grid-template-columns:minmax(0,1.24fr) minmax(285px,.76fr);gap:48px;align-items:center;margin-bottom:36px}
.layout-public .crm-diagnostic-intro h1{font-size:clamp(2rem,4vw,3.25rem);line-height:1.17;letter-spacing:-.037em;max-width:760px;margin:11px 0 22px}
.layout-public .crm-diagnostic-intro>p:not(.eyebrow){font-size:.94rem;line-height:1.85;color:#526056;max-width:680px}
.layout-public .crm-diagnostic-highlights{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}
.layout-public .crm-diagnostic-highlights span{font-size:.7rem;font-weight:730;padding:8px 11px;border:1px solid #e3e9e2;border-radius:30px;background:#f8faf7;color:#3f5042}
.layout-public .crm-diagnostic-side{border:1px solid #dde6de;border-radius:18px;background:#f5f8f4;padding:27px;min-width:0}
.layout-public .crm-diagnostic-side ol{margin:17px 0 22px;padding:0;list-style:none;display:grid;gap:21px}
.layout-public .crm-diagnostic-side li{display:flex;gap:13px;align-items:start}
.layout-public .crm-diagnostic-side li>b{flex:0 0 35px;width:35px;height:35px;border-radius:9px;background:#fff1e8;color:#b34815;display:grid;place-items:center;font-size:.69rem}
.layout-public .crm-diagnostic-side li span{display:block;min-width:0}
.layout-public .crm-diagnostic-side li strong{display:block;font-size:.82rem;line-height:1.5;color:#27362a}
.layout-public .crm-diagnostic-side li small{display:block;font-size:.72rem;line-height:1.65;color:#617064;margin-top:2px}
.layout-public .crm-diagnostic-side>small{display:block;font-size:.67rem;line-height:1.6;color:#6c796e;padding-top:17px;border-top:1px solid #e1e9df}
.layout-public .crm-diagnostic-form{background:#fff;border:1px solid #e0e7de;border-radius:20px;padding:33px 37px 30px;box-shadow:0 12px 40px rgba(30,45,30,.025);max-width:100%;position:relative}
.layout-public .crm-diagnostic-form-head>span{font-size:.66rem;color:#ab491d;text-transform:uppercase;letter-spacing:.09em;font-weight:800}
.layout-public .crm-diagnostic-form-head h2{font-size:1.28rem;margin:5px 0 7px;color:#202a23}
.layout-public .crm-diagnostic-form-head p{font-size:.78rem;color:#5d6e62}
.layout-public .crm-diagnostic-head-second{padding-top:26px;margin-top:23px;border-top:1px solid #e8ede7}
.layout-public .crm-diagnostic-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 19px;margin-top:19px}
.layout-public .crm-diagnostic-fields label{display:block;min-width:0;line-height:1.5;font-size:.78rem;margin:0 0 18px;color:#37473a;font-weight:700}
.layout-public .crm-diagnostic-fields label input,.layout-public .crm-diagnostic-fields label select,.layout-public .crm-diagnostic-fields label textarea{display:block;min-width:0;width:100%;margin:7px 0 0;font-size:.83rem;border-color:#d8e1d6;background:#fff;min-height:48px;border-radius:9px}
.layout-public .crm-diagnostic-fields textarea{min-height:96px;resize:vertical}
.layout-public .crm-diagnostic-fields .crm-field-full{grid-column:1/-1}
.layout-public .crm-required{color:#b84f24;font-weight:800}
.layout-public .crm-diagnostic-finish{padding-top:21px;border-top:1px solid #e8ede7;margin-top:5px;display:flex;justify-content:space-between;gap:26px;align-items:center}
.layout-public .crm-diagnostic-finish .check-row{display:flex;gap:10px;max-width:490px;margin:0;align-items:flex-start;font-size:.73rem;line-height:1.7;font-weight:500}
.layout-public .crm-diagnostic-finish .check-row input{width:18px;min-width:18px;flex:0 0 18px;margin:4px 0 0}
.layout-public .crm-diagnostic-finish .check-row a{text-decoration:underline;color:#a34117}
.layout-public .crm-diagnostic-finish>div{display:grid;gap:9px;justify-items:end;flex:0 0 auto}
.layout-public .crm-diagnostic-finish .button{min-height:49px;white-space:normal}
.layout-public .crm-diagnostic-finish>div>p{font-size:.67rem;text-align:right;color:#738073}
.layout-public .crm-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
@media(min-width:1280px){
 .layout-admin .contact-stats-grid.crm-contact-stats{grid-template-columns:repeat(6,minmax(0,1fr))}
 .layout-admin .crm-contact-stats > article{min-height:110px}
}
@media(max-width:1190px){
 .layout-admin .contact-show-grid{grid-template-columns:1fr}
}
@media(max-width:920px){
 .layout-public .crm-diagnostic-hero{grid-template-columns:1fr;gap:24px}
 .layout-public .crm-diagnostic-side ol{grid-template-columns:1fr 1fr 1fr;gap:12px}
 .layout-public .crm-diagnostic-side li{flex-direction:column;gap:8px}
 .layout-public .crm-diagnostic-finish{flex-direction:column;align-items:stretch}
 .layout-public .crm-diagnostic-finish>div{justify-items:start}
 .layout-public .crm-diagnostic-finish>div>p{text-align:left}
 .layout-public .crm-diagnostic-banner{flex-direction:column;align-items:flex-start}
}
@media(max-width:680px){
 .layout-admin .crm-account-row{grid-template-columns:minmax(0,1fr);padding:15px;gap:12px}
 .layout-admin .crm-account-person{gap:12px}
 .layout-admin .crm-account-person>img,.layout-admin .crm-account-person>.avatar-fallback{width:46px;height:46px;flex-basis:46px;min-width:46px}
 .layout-admin .crm-account-row>.account-tags{justify-content:flex-start;padding:0}
 .layout-admin .crm-account-row>.account-actions{justify-content:flex-start;gap:7px}
 .layout-admin .crm-account-row>.account-actions .button{min-height:39px}
 .layout-admin .crm-contact-heading>.button{width:100%;justify-content:center}
 .layout-admin .contact-stats-grid.crm-contact-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .layout-admin .crm-contact-stats>article{padding:14px;min-height:91px}
 .layout-admin .crm-contact-stats strong{font-size:1.42rem}
 .layout-admin .crm-contacts-panel{padding:15px!important}
 .layout-admin .contact-filter-bar{grid-template-columns:minmax(0,1fr);padding:13px}
 .layout-admin .contact-filter-bar label:first-child{grid-column:auto}
 .layout-admin .crm-filter-actions{justify-content:stretch}
 .layout-admin .crm-filter-actions .button{flex:1}
 .layout-admin .contact-message-meta{gap:4px 9px}
 .layout-admin .contact-message-meta span:not(:first-child):before{padding-right:7px}
 .layout-public .crm-diagnostic-page{padding-top:35px;padding-bottom:65px}
 .layout-public .crm-diagnostic-intro h1{font-size:clamp(1.95rem,7vw,2.7rem)}
 .layout-public .crm-diagnostic-side ol{grid-template-columns:1fr}
 .layout-public .crm-diagnostic-side li{flex-direction:row}
 .layout-public .crm-diagnostic-form{padding:21px 17px}
 .layout-public .crm-diagnostic-fields{grid-template-columns:1fr}
 .layout-public .crm-diagnostic-fields .crm-field-full{grid-column:auto}
 .layout-public .crm-diagnostic-finish .button{width:100%}
 .layout-public .crm-diagnostic-finish>div{width:100%}
 .layout-public .crm-diagnostic-banner{padding:22px 19px}
 .layout-public .crm-diagnostic-banner .button{width:100%}
}
@media(prefers-reduced-motion:reduce){.layout-admin .crm-account-row{transition:none}}

/* Continuidade do atendimento: contato → cotação pré-preenchida */
.layout-admin .crm-quote-origin{display:grid;gap:6px;border:1px solid #e7d6c9;border-radius:12px;padding:17px 20px;background:#fff9f3;margin:0 0 18px;min-width:0}
.layout-admin .crm-quote-origin strong{font-size:.89rem;color:#503724}
.layout-admin .crm-quote-origin span{font-size:.77rem;line-height:1.65;color:#705b49}
.layout-admin .crm-quote-origin .text-link{justify-self:start;color:#a74417;font-size:.73rem}

/* Acompanhamento comercial: elementos independentes do grid das outras páginas. */
.layout-admin .crm-followup-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr));gap:12px;margin:0 0 20px}
.layout-admin .crm-followup-overview>a{display:grid;gap:4px;min-width:0;padding:15px 18px;background:#fff;border:1px solid #e0e7de;border-radius:12px;text-decoration:none;color:#26342a}
.layout-admin .crm-followup-overview>a:is(:hover,.active){border-color:#c7a184;background:#fffaf6}
.layout-admin .crm-followup-overview>a.has-overdue{border-color:#efd4c4}
.layout-admin .crm-followup-overview small{font-size:.74rem;color:#677367}
.layout-admin .crm-followup-overview strong{font-size:1.55rem;line-height:1.18}
.layout-admin .crm-followup-overview span{font-size:.7rem;color:#7b867d}
.layout-admin .contact-message-title .crm-stage-badge,.layout-admin .contact-message-title .crm-priority-badge{padding:3px 8px;border-radius:7px;border:1px solid #d9e5db;background:#eff6ef;color:#305638;font-size:.68rem;font-weight:700}
.layout-admin .contact-message-title .crm-priority-badge{background:#fff4e8;border-color:#f2d9c6;color:#98512a}
.layout-admin .contact-message-title .stage-perdido{background:#f4f4f4;color:#66706a;border-color:#e4e6e5}
.layout-admin .crm-contact-reminder{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.72rem;margin:7px 0;color:#3c7052}
.layout-admin .crm-contact-reminder svg{width:15px;height:15px}
.layout-admin .crm-contact-reminder.overdue{color:#a44319}
.layout-admin .crm-followup-panel{margin:19px 0 0;padding:25px;min-width:0}
.layout-admin .crm-followup-panel .panel-heading{margin-bottom:17px}
.layout-admin .crm-followup-panel .panel-heading p:not(.eyebrow){font-size:.8rem;color:#617266;margin-top:6px}
.layout-admin .crm-followup-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:16px}
.layout-admin .crm-followup-fields>label{display:grid;align-content:start;gap:7px;min-width:0;font-size:.77rem;font-weight:650}
.layout-admin .crm-followup-fields :is(input,select,textarea){width:100%;min-width:0;max-width:100%;margin:0;font-size:.81rem}
.layout-admin .crm-followup-fields textarea{min-height:110px}
.layout-admin .crm-followup-fields label>small{font-size:.68rem;color:#67766a;line-height:1.4}
.layout-admin .crm-followup-fields .crm-followup-wide{grid-column:1/-1}
.layout-admin .crm-followup-actions{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-top:16px}
.layout-admin .crm-followup-actions>.check-row{margin:0;display:flex;gap:10px;align-items:center;font-size:.77rem}
.layout-admin .crm-followup-actions>.check-row input{flex:0 0 18px;width:18px;height:18px;margin:0}
.layout-admin .crm-followup-history,.layout-admin .crm-followup-related{margin-top:22px;padding-top:18px;border-top:1px solid #e9ede9;display:grid;gap:10px}
.layout-admin .crm-followup-history h3,.layout-admin .crm-followup-related h3{font-size:.86rem;margin:0 0 3px}
.layout-admin .crm-followup-history>div{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.73rem}
.layout-admin .crm-followup-history time{color:#69776d;min-width:120px}
.layout-admin .crm-followup-related a{color:#305b43;font-size:.73rem;overflow-wrap:anywhere}
@media(max-width:680px){.layout-admin .crm-followup-panel{padding:17px}.layout-admin .crm-followup-actions>.button{width:100%}}
