/* Consultas Públicas – layout público isolado do tema */
.ccp-wrap{box-sizing:border-box;width:min(1180px,calc(100% - 32px));margin:34px auto 70px!important;padding:0!important;font-family:inherit;color:#1f2937;line-height:1.6}
.ccp-wrap *{box-sizing:border-box}
.ccp-wrap h1,.ccp-wrap h2,.ccp-wrap h3{font-family:inherit;line-height:1.2;color:#18213a;margin-top:0}
.ccp-wrap h1{font-size:clamp(30px,4vw,46px);margin-bottom:12px;font-weight:800;letter-spacing:-.025em}
.ccp-wrap h2{font-size:clamp(23px,2.5vw,30px);margin-bottom:18px;font-weight:750}
.ccp-wrap h3{font-size:20px;margin-bottom:8px}
.ccp-wrap p{font-size:16px;margin:0 0 14px}
.ccp-wrap section{margin:0 0 28px!important}

.ccp-hero{position:relative;overflow:hidden;padding:34px 38px!important;border:1px solid #e2e6ef;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#f6f7fb 100%);box-shadow:0 6px 22px rgba(24,33,58,.07)}
.ccp-hero:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:#575681}
.ccp-kicker{display:block;margin-bottom:8px;font-size:12px;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:#575681}
.ccp-hero p{max-width:820px;color:#5c6372;font-size:17px;margin-bottom:16px}

.ccp-badge{display:inline-flex!important;align-items:center;gap:7px;padding:7px 12px!important;border-radius:999px;font-size:13px!important;font-weight:800!important;line-height:1.2;background:#eef0f4;color:#374151}
.ccp-aberta{background:#dcfce7!important;color:#166534!important}.ccp-aberta:before{content:"";width:8px;height:8px;border-radius:50%;background:#22c55e}
.ccp-programada{background:#dbeafe!important;color:#1d4ed8!important}.ccp-programada:before{content:"";width:8px;height:8px;border-radius:50%;background:#3b82f6}
.ccp-encerrada,.ccp-arquivada{background:#eef0f4!important;color:#4b5563!important}.ccp-suspensa{background:#fee2e2!important;color:#991b1b!important}

.ccp-wrap>section:not(.ccp-hero),.ccp-success,.ccp-closed{padding:28px 30px!important;border:1px solid #e2e6ef;border-radius:16px;background:#fff;box-shadow:0 4px 16px rgba(24,33,58,.045)}
.ccp-success{border-left:5px solid #22c55e;background:#f0fdf4}
.ccp-closed{border-left:5px solid #94a3b8;background:#f8fafc}

.ccp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.ccp-card{padding:24px!important;border:1px solid #e2e6ef;border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(24,33,58,.05)}
.ccp-card p{color:#60697a}
.ccp-btn{appearance:none;display:inline-flex!important;justify-content:center;align-items:center;min-height:46px;border:0!important;border-radius:9px!important;padding:12px 20px!important;background:#575681!important;color:#fff!important;text-decoration:none!important;font-size:15px!important;font-weight:750!important;line-height:1.2!important;cursor:pointer;box-shadow:none!important;transition:.18s ease}
.ccp-btn:hover,.ccp-btn:focus{background:#45446c!important;color:#fff!important;transform:translateY(-1px)}

.ccp-list{display:grid;gap:12px;margin:18px 0 30px}
.ccp-row{display:flex!important;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px!important;border:1px solid #e2e6ef;border-radius:12px;text-decoration:none!important;color:#1f2937!important;background:#fff;box-shadow:0 2px 9px rgba(24,33,58,.035)}
.ccp-row:hover{border-color:#c6c8d8;background:#fafaff}
.ccp-row strong{font-size:16px}.ccp-row small{display:block;font-weight:400;margin-top:4px;color:#6b7280}

.ccp-timeline{position:relative;border-left:3px solid #d9dbea;padding-left:26px;margin:6px 0 0 7px}
.ccp-timeline-item{position:relative;margin:0 0 22px;padding:0 0 2px}
.ccp-timeline-item:last-child{margin-bottom:0}
.ccp-timeline-item:before{content:"";position:absolute;left:-34px;top:5px;width:13px;height:13px;border-radius:50%;background:#575681;border:3px solid #fff;box-shadow:0 0 0 2px #cfd2e2}
.ccp-timeline-item strong{display:block;font-size:16px;color:#202944}
.ccp-timeline-item span{display:block;margin-top:3px;font-weight:700;color:#575681}
.ccp-timeline-item small{display:block;margin-top:2px;color:#6b7280}
.ccp-timeline-item p{margin-top:7px;color:#626b7a}

.ccp-stat{display:inline-flex!important;align-items:center;gap:16px;min-width:220px;border:1px solid #e2e6ef;border-radius:14px;padding:18px 22px!important;background:#f8f9fc}
.ccp-stat strong{display:block;font-size:38px;line-height:1;color:#575681}.ccp-stat span{display:block;color:#5f6775}

.ccp-form{display:grid!important;gap:18px!important;width:100%!important;max-width:none!important;margin:0!important}
.ccp-form label{display:grid!important;gap:7px!important;margin:0!important;font-size:14px!important;font-weight:700!important;color:#30384a!important}
.ccp-form input[type=text],.ccp-form input[type=email],.ccp-form input[type=tel],.ccp-form select,.ccp-form textarea{display:block!important;width:100%!important;max-width:none!important;min-height:46px!important;margin:0!important;padding:11px 13px!important;border:1px solid #cfd5df!important;border-radius:8px!important;background:#fff!important;color:#20242c!important;font:inherit!important;font-size:15px!important;line-height:1.45!important;box-shadow:none!important;outline:none!important}
.ccp-form textarea{min-height:130px!important;resize:vertical!important}
.ccp-form textarea[name=manifestacao]{min-height:190px!important}
.ccp-form input:focus,.ccp-form select:focus,.ccp-form textarea:focus{border-color:#7776a4!important;box-shadow:0 0 0 3px rgba(87,86,129,.12)!important}
.ccp-cols{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:18px!important;width:100%!important}
.ccp-check{display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;align-items:start!important;gap:10px!important;padding:14px 16px;border-radius:9px;background:#f7f8fa;font-weight:500!important;line-height:1.45!important}
.ccp-check input{width:17px!important;height:17px!important;min-height:0!important;margin:2px 0 0!important;padding:0!important}
.ccp-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.ccp-wrap>a,.ccp-wrap>p>a{color:#575681!important;font-weight:700;text-decoration:none!important}.ccp-wrap>p>a:hover{text-decoration:underline!important}

@media(max-width:760px){
 .ccp-wrap{width:min(100% - 22px,1180px);margin-top:20px!important}
 .ccp-hero{padding:26px 23px!important;border-radius:14px}
 .ccp-wrap>section:not(.ccp-hero),.ccp-success,.ccp-closed{padding:22px 18px!important;border-radius:13px}
 .ccp-cols{grid-template-columns:1fr!important}
 .ccp-row{align-items:flex-start!important;flex-direction:column!important}
 .ccp-btn{width:100%}
}

/* Refinamentos v0.1.3 */
.ccp-wrap{width:min(1260px,calc(100% - 40px));font-size:16px}
.ccp-wrap>section:not(.ccp-hero){padding:32px 34px!important}
.ccp-wrap>section:not(.ccp-hero) p{max-width:1000px;line-height:1.72}
.ccp-intro p+p{margin-top:9px}
.ccp-process-list{margin-top:20px}
.ccp-period{margin-top:7px!important;color:#575681!important;font-weight:650!important}
.ccp-module-card{display:grid;grid-template-columns:74px minmax(0,1fr);gap:20px;align-items:start}
.ccp-module-icon{display:flex;align-items:center;justify-content:center;width:74px;height:74px;border-radius:16px;background:#f0f0f7;color:#575681;font-size:18px;font-weight:850;letter-spacing:.03em;border:1px solid #dedfeb}
.ccp-form{gap:21px!important}
.ccp-form label{font-size:15px!important;gap:8px!important}
.ccp-form input[type=text],.ccp-form input[type=email],.ccp-form input[type=tel],.ccp-form select{min-height:50px!important;font-size:16px!important;padding:12px 14px!important}
.ccp-form textarea{font-size:16px!important;padding:13px 14px!important;min-height:150px!important}
.ccp-form textarea[name=manifestacao]{min-height:210px!important}
.ccp-check{font-size:14.5px!important;padding:16px 17px!important}
.ccp-timeline-item strong{font-size:17px}
.ccp-timeline-item span{font-size:14px}
.ccp-stat{min-width:250px;padding:20px 24px!important}.ccp-stat strong{font-size:42px}
@media(max-width:760px){.ccp-wrap{width:min(100% - 22px,1260px)}.ccp-module-card{grid-template-columns:1fr}.ccp-module-icon{width:62px;height:62px}.ccp-wrap>section:not(.ccp-hero){padding:23px 19px!important}}

.ccp-upload{margin:8px 0 18px;padding:16px 18px;border:1px dashed #c9cedd;border-radius:10px;background:#fafbfe}.ccp-upload label{margin:0}.ccp-upload input[type=file]{margin-top:8px;padding:10px;background:#fff}.ccp-upload small{display:block;margin-top:7px;color:#667085;line-height:1.45}.ccp-optional{font-weight:400;color:#667085}

/* Cronograma oficial LDO 2027 */
.ccp-schedule-note{margin-top:22px;padding:16px 18px;border:1px solid #dfe2ec;border-left:4px solid #575681;border-radius:10px;background:#f8f9fc}.ccp-schedule-note strong{display:block;color:#202944;margin-bottom:4px}.ccp-schedule-note p{margin:0!important;color:#5f6775!important;line-height:1.55!important}


/* Validação e feedback do formulário – v0.1.8 */
.ccp-form-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}
.ccp-form-heading h2{margin-bottom:6px!important}.ccp-form-heading p{margin:0!important;color:#667085}
.ccp-required-note{flex:0 0 auto;padding:8px 11px;border-radius:8px;background:#f7f8fb;color:#5f6775;font-size:13px}.ccp-required,.ccp-required-note strong{color:#b42318;font-weight:800}
.ccp-field-invalid input:not([type=checkbox]),.ccp-field-invalid select,.ccp-field-invalid textarea,.ccp-upload.ccp-field-invalid input[type=file]{border-color:#d92d20!important;background:#fffafa!important;box-shadow:0 0 0 3px rgba(217,45,32,.08)!important}
.ccp-check.ccp-field-invalid{border:1px solid #f3b8b4!important;background:#fff6f5!important}
.ccp-field-error{display:block!important;margin-top:2px;color:#b42318!important;font-size:13.5px!important;font-weight:650!important;line-height:1.4!important}
.ccp-error-summary{display:flex;gap:15px;margin:0 0 24px;padding:18px 20px;border:1px solid #f1b6b2;border-left:5px solid #d92d20;border-radius:12px;background:#fff6f5;color:#7a271a;outline:none}
.ccp-error-summary h3{margin:0 0 4px!important;color:#912018!important;font-size:18px!important}.ccp-error-summary p{margin:0 0 6px!important;font-size:14.5px!important}.ccp-error-summary ul{margin:7px 0 0 18px;padding:0}.ccp-error-summary li{margin:3px 0;font-size:14px}
.ccp-alert-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;font-size:17px;font-weight:900;background:#d92d20;color:#fff}
.ccp-success{display:flex!important;align-items:flex-start;gap:15px}.ccp-success .ccp-alert-icon{background:#16a34a}.ccp-success h2{margin-bottom:5px!important}.ccp-success p{margin:0!important}.ccp-protocol{display:inline-block;padding:3px 7px;border-radius:6px;background:#dcfce7;color:#166534;letter-spacing:.02em}
@media(max-width:760px){.ccp-form-heading{flex-direction:column}.ccp-required-note{align-self:flex-start}.ccp-error-summary,.ccp-success{padding:16px!important}}

/* Ajuste de rótulos – v0.1.9 */
.ccp-label-text{display:inline!important;line-height:1.35!important}.ccp-label-text .ccp-required{display:inline!important;margin-left:2px!important}.ccp-label-text .ccp-optional{display:inline!important;margin-left:5px!important;font-weight:400!important}


/* Estatísticas públicas – v0.2.7 */
.ccp-section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}.ccp-section-heading h2{margin-bottom:5px!important}.ccp-section-heading p{margin:0!important;color:#667085}
.ccp-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0 6px}.ccp-portal-stats .ccp-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.ccp-stat-card{min-height:118px;padding:20px 20px 18px;border:1px solid #e1e4ee;border-left:4px solid #575681;border-radius:12px;background:#fafbfe;display:flex;flex-direction:column;justify-content:center}.ccp-stat-card strong{font-size:34px;line-height:1;color:#575681;margin-bottom:9px}.ccp-stat-card span{color:#596273;line-height:1.35}
.ccp-stats-details{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px;padding-top:25px;border-top:1px solid #eceef3}.ccp-stats-details h3{font-size:18px!important;margin:0 0 16px!important}
.ccp-stat-bars{display:grid;gap:13px}.ccp-stat-bar-label{display:flex;justify-content:space-between;gap:15px;font-size:14px;margin-bottom:5px}.ccp-stat-bar-label strong{color:#333a4b}.ccp-stat-bar-track{height:9px;border-radius:999px;background:#eceef4;overflow:hidden}.ccp-stat-bar-track span{display:block;height:100%;border-radius:inherit;background:#575681}.ccp-stat-empty,.ccp-stats-privacy{color:#667085!important}.ccp-stats-privacy{margin:22px 0 0!important;padding:13px 15px;border-radius:9px;background:#f8f9fb;font-size:14px!important}
@media(max-width:900px){.ccp-stats-grid,.ccp-portal-stats .ccp-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ccp-stats-details{grid-template-columns:1fr}}
@media(max-width:520px){.ccp-stats-grid,.ccp-portal-stats .ccp-stats-grid{grid-template-columns:1fr}.ccp-stat-card{min-height:100px}}
