.required-mark,.required-note b{color:#b32121;font-weight:850}.required-note{display:inline-block;color:#64736c;font-size:.88rem}.wizard-step label:has(+ input[required]):not(.check):not(:has(.required-mark))::after,.wizard-step label:has(+ select[required])::after,.signature-wrap h3::after{content:' *';color:#b32121;font-weight:850}.check::after,.compact-check::after,.wizard-step .check::after,.wizard-step .compact-check::after{content:none!important;display:none!important}.welcome{max-width:560px;margin:45px auto;text-align:center}.welcome h1{font-size:clamp(2rem,6vw,3rem);letter-spacing:-.055em;margin:.5rem 0 .8rem}.welcome>p{line-height:1.6;color:#64736c}.welcome .button{width:100%}.welcome-progress{margin:23px auto}

/* Protocol Box */
.success .protocol{background:#fff!important;border:2px solid #009540!important;border-radius:14px;box-shadow:0 8px 22px #006f3020;padding:21px 18px;position:relative;overflow:hidden}.success .protocol::before{content:'';position:absolute;inset:0 auto 0 0;width:7px;background:#e2de00}.success .protocol span{color:#1b2a23;font-weight:800;font-size:.9rem;text-transform:uppercase;letter-spacing:.08em}.success .protocol strong{color:#006f30!important;font-size:clamp(1.6rem,6vw,2.15rem);font-weight:900;letter-spacing:.025em;line-height:1.2;margin:9px 0;text-shadow:none!important}.success .protocol small{color:#3d5046;font-size:.9rem;font-weight:650}

/* ==========================================================================
   HEADER MODERNO DO ADMIN (ULTRA-CLEAN & PROFISSIONAL)
   ========================================================================== */
.admin-header-modern{background:#fff;border-bottom:1px solid #e2e8e4;box-shadow:0 2px 10px rgba(0,0,0,0.03);position:sticky;top:0;z-index:900;padding:0 20px}
.admin-nav-container{max-width:1440px;margin:0 auto;height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.admin-brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.admin-brand img{display:block;height:40px;width:auto;object-fit:contain}
.brand-divider{display:inline-block;width:1px;height:24px;background:#dce5df}
.brand-badge{background:#e8f5ec;color:#006f30;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:6px}

.admin-nav-menu{display:flex;align-items:center;gap:3px;overflow-x:auto;padding:4px 0;-webkit-overflow-scrolling:touch}
.admin-nav-menu::-webkit-scrollbar{display:none}

.nav-item{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:8px;font-size:.83rem;font-weight:650;color:#45594e;text-decoration:none;white-space:nowrap;transition:all .15s ease}
.nav-item:hover{background:#f0f6f2;color:#006f30}
.nav-item.active{background:#009540;color:#fff!important;box-shadow:0 2px 6px rgba(0,149,64,0.25)}
.nav-item.active .nav-icon{stroke:#fff}
.nav-icon{width:16px;height:16px;flex-shrink:0;stroke:#5c7065;transition:stroke .15s ease}
.nav-item:hover .nav-icon{stroke:#006f30}
.nav-logout{color:#b91c1c;margin-left:4px}
.nav-logout .nav-icon{stroke:#b91c1c}
.nav-logout:hover{background:#fef2f2;color:#991c1c}
.nav-logout:hover .nav-icon{stroke:#991c1c}

/* ==========================================================================
   RODAPÉ PREMIUM REDESENHADO & EXPANDIDO
   ========================================================================== */
.footer-premium {
  background: #f8faf9;
  border-top: 1px solid #dce8df;
  color: #37473e;
  padding: 36px 20px 20px;
  margin-top: 50px;
}
.footer-inner {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.footer-grid-modern {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1.3fr;
  gap: 36px;
  align-items: start;
}

.footer-card-info {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.footer-logo-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 2px;
}
.footer-logo-img {
  height: 40px;
  width: auto;
  object-fit: contain;
}
.footer-brand-title {
  display: block;
  font-size: 1rem;
  font-weight: 800;
  color: #0f381f;
  line-height: 1.2;
}
.footer-brand-sub {
  display: block;
  font-size: .78rem;
  color: #5a6e62;
}

.footer-meta-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .8rem;
}
.meta-label {
  font-weight: 750;
  color: #5a6e62;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.meta-code {
  background: #e8f2eb;
  color: #006f30;
  padding: 2px 7px;
  border-radius: 5px;
  font-size: .8rem;
  font-weight: 700;
}

.footer-address-text {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: .8rem;
  color: #53665a;
  line-height: 1.4;
  margin: 0;
}
.meta-svg-icon {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  stroke: #009540;
  margin-top: 2px;
}

.footer-card-social {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.footer-heading {
  display: block;
  font-size: .74rem;
  font-weight: 850;
  color: #0f381f;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.footer-social-buttons {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.social-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #d3e2d7;
  text-decoration: none;
  transition: all .15s ease;
  box-shadow: 0 1px 2px rgba(0,0,0,0.02);
}
.social-pill:hover {
  transform: translateY(-1px);
  box-shadow: 0 3px 8px rgba(0,0,0,0.05);
}
.social-icon-wrapper {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.social-icon-wrapper svg {
  width: 14px;
  height: 14px;
}

.social-pill.whatsapp .social-icon-wrapper { background: #e7f8ee; color: #16a34a; }
.social-pill.whatsapp:hover { border-color: #16a34a; background: #f0fdf4; }
.social-pill.instagram .social-icon-wrapper { background: #fdf2f8; color: #db2777; }
.social-pill.instagram:hover { border-color: #db2777; background: #fdf2f8; }
.social-pill.facebook .social-icon-wrapper { background: #eff6ff; color: #2563eb; }
.social-pill.facebook:hover { border-color: #2563eb; background: #eff6ff; }

.social-text {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.social-platform {
  font-size: .75rem;
  font-weight: 800;
  color: #1a2e23;
}
.social-handle {
  font-size: .78rem;
  font-weight: 600;
  color: #5a6e62;
}

.footer-card-governance {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.footer-governance-text {
  font-size: .8rem;
  color: #475b4f;
  line-height: 1.45;
  margin: 0;
  background: #fff;
  border: 1px solid #dce8df;
  padding: 8px 12px;
  border-radius: 8px;
}
.footer-legal-links {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .78rem;
  color: #5a6e62;
  flex-wrap: wrap;
  margin-top: 2px;
}
.footer-legal-links a {
  color: #006f30;
  font-weight: 700;
  text-decoration: none;
}
.footer-legal-links a:hover {
  text-decoration: underline;
}

.footer-copyright-bar {
  border-top: 1px solid #dce8df;
  padding-top: 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: .76rem;
  color: #6b7d72;
  flex-wrap: wrap;
  gap: 12px;
}
.footer-bottom-links {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.footer-system-note {
  color: #829489;
}
.footer-admin-access-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #5a6e62;
  text-decoration: none;
  font-weight: 700;
  font-size: .76rem;
  padding: 3px 8px;
  border-radius: 6px;
  background: #eaf2ec;
  border: 1px solid #d4e3d8;
  transition: all .15s ease;
}
.footer-admin-access-link:hover {
  background: #009540;
  color: #fff !important;
  border-color: #009540;
}
.footer-admin-access-link svg {
  width: 12px !important;
  height: 12px !important;
  max-width: 12px !important;
  max-height: 12px !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
}

@media (max-width: 900px) {
  .footer-grid-modern {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

/* ==========================================================================
   ADMIN POLISH & MOBILE RESPONSIVE MASTER
   ========================================================================== */
.admin-content{max-width:1380px;margin:0 auto;padding:32px 24px;width:100%}
.admin-content .card{box-shadow:0 4px 20px rgba(0,30,10,0.04);border-radius:18px}
.admin-content .table-wrap{box-shadow:0 4px 16px rgba(0,30,10,0.03);border-radius:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}

@media(max-width:1024px){
  .footer-grid-modern{grid-template-columns:1fr 1fr;gap:24px}
  .footer-card-governance{grid-column:span 2}
  .admin-content{padding:24px 16px}
}

@media(max-width:768px){
  .admin-header-modern{padding:0 10px}
  .admin-nav-container{height:auto;padding:8px 0;flex-direction:column;align-items:stretch;gap:8px}
  .admin-brand{justify-content:space-between}
  .brand-badge{display:none}
  .admin-nav-menu{padding:4px 0 6px;gap:4px}
  .nav-item{padding:8px 10px;font-size:.8rem}
  .footer-grid-modern{grid-template-columns:1fr;gap:20px}
  .footer-card-governance{grid-column:span 1}
  .footer-copyright-bar{flex-direction:column;align-items:flex-start;gap:8px}
  .footer-bottom-links{width:100%;justify-content:space-between}
  .grid.two, .grid.three, .grid.four, .detail-grid{grid-template-columns:1fr!important;gap:12px!important}
  .stat-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}
  .filters{flex-direction:column;gap:8px}
  .filters input, .filters select, .filters .button{width:100%!important;max-width:none!important}
  .page-heading{flex-direction:column;align-items:flex-start;gap:12px}
  .page-heading>div:last-child{width:100%}
  .page-heading .button{width:100%;justify-content:center}
  .wizard-shell{padding:20px 14px 30px}
  .wizard-top{flex-direction:column;align-items:flex-start;gap:6px}
  .wizard-step{padding:20px 16px;border-radius:16px}
  .wizard-actions{flex-direction:column-reverse;gap:10px}
  .wizard-actions .button{width:100%}
  .term{max-height:180px;font-size:.88rem;padding:12px}
}

@media(max-width:480px){
  .stat-grid{grid-template-columns:1fr!important}
}

