/* =========================
   THEME VARIABLES
========================= */

:root{
  --primary:#2563eb;
  --primary-dark:#1d4ed8;
  --accent:#22c55e;

  --bg:#020617;
  --card:#0f172a;
  --text:#e5e7eb;
  --muted:#94a3b8;

  --border:rgba(31,41,55,.9);
}

[data-theme="light"]{
  --bg:#f1f5f9;
  --card:#ffffff;
  --text:#0f172a;
  --muted:#64748b;

  --border:#e2e8f0;
}

/* =========================
   BASE
========================= */

*{ margin:0; padding:0; box-sizing:border-box; }

html, body{
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Arial, sans-serif;
  line-height: 1.5;
}

body{
  background: radial-gradient(circle at top, rgba(30,41,59,.85), var(--bg));
  color: var(--text);
  min-height: 100vh;
}

a{ color: inherit; text-decoration: none; }
a:hover{ opacity: .95; }

.container{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}

.section{ padding: 34px 0; }

.p{
  color: var(--muted);
  font-size: 14px;
}

/* =========================
   BUTTONS
========================= */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid transparent;
  background: linear-gradient(135deg, var(--primary), var(--primary-dark));
  color:#fff;
  font-weight:800;
  font-size:13px;
  cursor:pointer;
}
.btn:hover{ filter: brightness(1.06); }

.btn--ghost{
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text);
}

/* =========================
   CARDS / MEDIA / GRID
========================= */

.card{
  background: rgba(2,6,23,.18);
  border:1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
}
[data-theme="light"] .card{ background: rgba(255,255,255,.65); }

.pad{ padding: 18px; }

.grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
@media(max-width: 980px){
  .grid{ grid-template-columns: 1fr; }
}

.media{
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--border);
  background: rgba(2,6,23,.25);
}
.media img{
  width:100%;
  height: 240px;
  object-fit: cover;
  object-position: center;
  display:block;
}

/* =========================
   ICON ROW (3 cards do segmento)
========================= */

.iconrow{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
@media(max-width: 980px){
  .iconrow{ grid-template-columns: 1fr; }
}

.iconbox{
  display:flex;
  gap: 12px;
  align-items:flex-start;
}

.iconbox img{
  width: 44px;
  height: 44px;
  object-fit: contain;
  filter: drop-shadow(0 10px 15px rgba(0,0,0,.25));
}

/* =========================
   FORM
========================= */

.form label{
  font-size: 12px;
  color: var(--muted);
  display:block;
  margin-bottom: 6px;
}

.form input, .form select, .form textarea{
  width:100%;
  padding:10px 11px;
  border-radius: 10px;
  border:1px solid var(--border);
  background: rgba(2,6,23,.22);
  color: var(--text);
  outline:none;
  font-size: 13px;
}
[data-theme="light"] .form input,
[data-theme="light"] .form select,
[data-theme="light"] .form textarea{
  background: rgba(255,255,255,.85);
}

.form input:focus, .form select:focus, .form textarea:focus{
  border-color: rgba(37,99,235,.85);
}

.form .row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
@media(max-width: 700px){
  .form .row{ grid-template-columns: 1fr; }
}

small{
  display:block;
  margin-top: 10px;
  color: var(--muted);
  font-size: 12px;
}

/* =========================
   HEADER PROFISSIONAL (fc-*)
========================= */

.fc-topbar{
  position: sticky;
  top:0;
  z-index: 100;
  border-bottom:1px solid var(--border);
  background: rgba(2,6,23,.68);
  backdrop-filter: blur(12px);
}
[data-theme="light"] .fc-topbar{
  background: rgba(241,245,249,.85);
}

.fc-topbar__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 14px 0;
}

.fc-brand{
  display:flex;
  align-items:center;
  gap: 10px;
  min-width: 240px;
}

.fc-brand__logo{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  color:#fff;
  background: linear-gradient(135deg, var(--primary), var(--accent));
  box-shadow: 0 10px 22px rgba(0,0,0,.25);
}

.fc-brand__meta{ display:flex; flex-direction:column; line-height:1.1; }
.fc-brand__name{ font-weight: 900; font-size: 14px; }
.fc-brand__tag{ font-size: 12px; color: var(--muted); }

.fc-nav{
  display:flex;
  align-items:center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content:flex-end;
}

.fc-nav__link{
  padding: 9px 12px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(2,6,23,.18);
  font-size: 13px;
  font-weight: 800;
  color: var(--text);
  transition: transform .15s ease, filter .15s ease;
}
[data-theme="light"] .fc-nav__link{
  background: rgba(255,255,255,.55);
}
.fc-nav__link:hover{
  filter: brightness(1.06);
  transform: translateY(-1px);
}

/* Botões do header */
.fc-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 900;
}
.fc-btn--primary{
  color:#fff;
  background: linear-gradient(135deg, var(--primary), var(--primary-dark));
  box-shadow: 0 10px 22px rgba(37,99,235,.18);
}
.fc-btn--ghost{
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text);
}

.fc-actions{ display:none; gap:10px; align-items:center; }
.fc-iconbtn{
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(2,6,23,.18);
  color: var(--text);
  cursor: pointer;
  font-size: 16px;
}
[data-theme="light"] .fc-iconbtn{
  background: rgba(255,255,255,.55);
}

/* Switch tema */
.fc-theme{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(2,6,23,.18);
  cursor:pointer;
}
[data-theme="light"] .fc-theme{
  background: rgba(255,255,255,.55);
}
.fc-theme__track{
  width: 44px;
  height: 24px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(2,6,23,.35);
  position: relative;
}
[data-theme="light"] .fc-theme__track{
  background: rgba(255,255,255,.70);
}
.fc-theme__thumb{
  width: 18px;
  height: 18px;
  border-radius: 999px;
  position: absolute;
  top:50%;
  left:3px;
  transform: translateY(-50%);
  background: linear-gradient(135deg, var(--primary), var(--accent));
  transition: left .18s ease;
}
[data-theme="light"] .fc-theme__thumb{ left: 23px; }

/* Menu mobile */
.fc-mobile{
  display:none;
  margin: 10px 0 14px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: rgba(2,6,23,.18);
  transform-origin: top;
}
[data-theme="light"] .fc-mobile{
  background: rgba(255,255,255,.55);
}
.fc-mobile a{
  display:block;
  padding: 10px 12px;
  margin: 8px 0;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: rgba(2,6,23,.18);
  font-weight: 900;
}
[data-theme="light"] .fc-mobile a{
  background: rgba(255,255,255,.70);
}
.fc-mobile.is-open{
  display:block;
  animation: fcDrop .18s ease-out;
}
@keyframes fcDrop{
  from { opacity: 0; transform: translateY(-6px) scaleY(.98); }
  to   { opacity: 1; transform: translateY(0) scaleY(1); }
}

@media(max-width: 980px){
  .fc-nav{ display:none; }
  .fc-actions{ display:flex; }
  .fc-brand{ min-width:auto; }
}

/* =========================
   HERO BANNER (logo após header)
   (CSS em /assets/site.css => imagens em /assets/img => usar "img/...")
========================= */

.hero-banner{
  height: 520px;
  background: url("img/escritorio2.jpg") center center / cover no-repeat;
  position: relative;
  display:flex;
  align-items:center;
  justify-content:center;
}

.hero-banner::after{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,0.38);
}

.hero-overlay{
  position:relative;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 0 16px;
}

.hero-box{
  text-align:center;
  color:#fff;
  max-width: 900px;
}

.hero-box h1{
  font-size: 46px;
  font-weight: 900;
  margin-bottom: 10px;
  text-shadow: 0 6px 18px rgba(0,0,0,0.55);
}

.hero-box p{
  font-size: 26px;
  margin-bottom: 18px;
  text-shadow: 0 6px 18px rgba(0,0,0,0.55);
}

.hero-btn{
  display:inline-block;
  background:#ff9800;
  color:#fff;
  padding: 14px 28px;
  border-radius: 30px;
  font-weight: 900;
  text-decoration:none;
  box-shadow: 0 10px 26px rgba(0,0,0,0.25);
  transition: .2s;
}
.hero-btn:hover{
  background:#e68900;
  transform: translateY(-2px);
}

@media(max-width:900px){
  .hero-banner{ height: 380px; }
  .hero-box h1{ font-size: 32px; }
  .hero-box p{ font-size: 18px; }
}

/* =========================
   HOME GRID (Segmento + Certificado lado a lado)
   -> certificado menor que o segmento
========================= */

.home-grid{
  display:grid;
  grid-template-columns: 1.7fr 1fr;
  gap: 18px;
  align-items:start;
}
@media(max-width:980px){
  .home-grid{ grid-template-columns: 1fr; }
}

/* deixa o card do certificado mais "compacto" */
.home-grid .card{
  height: fit-content;
}

/* =========================
   CARROSSEL INFORMATIVOS (só imagem, centralizado)
========================= */

.news-carousel{
  max-width: 720px;
  margin: 0 auto;
  overflow:hidden;
  border-radius: 16px;
  border:1px solid var(--border);
}

.news-track{
  display:flex;
  width:100%;
  transition: transform .55s ease;
}

.news-slide{
  min-width:100%;
}

.news-slide img{
  width:100%;
  height: 500px;
  object-fit: cover;
  object-position: center;
  display:block;
}
@media(max-width:900px){
  .news-slide img{ height: 320px; }
}

/* =========================
   FOOTER PROFISSIONAL (fc-footer)
   -> ESTE é o que estava faltando
========================= */

.fc-footer{
  border-top: 1px solid var(--border);
  background: rgba(2,6,23,.65);
  padding: 26px 0 18px;
  margin-top: 30px;
}
[data-theme="light"] .fc-footer{
  background: rgba(241,245,249,.85);
}

.fc-footer__grid{
  display:grid;
  grid-template-columns: 1.2fr 1.1fr 1.1fr;
  gap: 16px;
}
@media(max-width:980px){
  .fc-footer__grid{ grid-template-columns: 1fr; }
}

.fc-footer__col{
  border: 1px solid var(--border);
  border-radius: 16px;
  background: rgba(2,6,23,.18);
  padding: 16px;
}
[data-theme="light"] .fc-footer__col{
  background: rgba(255,255,255,.65);
}

.fc-footer__title{
  font-weight: 900;
  font-size: 14px;
  margin-bottom: 8px;
}

.fc-footer__text{
  color: var(--muted);
  font-size: 13px;
  margin: 6px 0;
}

.fc-footer__actions{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.fc-footer__form{
  display:grid;
  gap: 10px;
  margin-top: 10px;
}

.fc-footer__form input{
  width:100%;
  padding: 10px 11px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: rgba(2,6,23,.25);
  color: var(--text);
  outline: none;
}
[data-theme="light"] .fc-footer__form input{
  background: rgba(255,255,255,.85);
}

.fc-footer__mini{
  margin-top: 10px;
  font-size: 12px;
  color: var(--muted);
}
.fc-footer__mini a{ text-decoration: underline; }

.fc-footer__bottom{
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--border);
  display:flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  color: var(--muted);
  font-size: 12px;
}

.fc-footer__bottomlinks a{
  color: var(--muted);
  text-decoration: underline;
}
.fc-footer__sep{ margin: 0 6px; }

/* ===== Ajuste proporção Segmento x Certificado ===== */

.home-grid{
  display:grid;
  grid-template-columns: 1.55fr 1fr; /* esquerda maior */
  gap: 18px;
  align-items:start;
}

@media(max-width:980px){
  .home-grid{ grid-template-columns: 1fr; }
}

/* Segmento empilhado (fica com altura parecida com o certificado) */
.segment-stack{
  display:grid;
  gap: 12px;
}

/* Certificado compacto */
.cert-card{
  max-width: 420px;      /* impede ficar “gigante” */
  margin-left: auto;     /* encosta à direita e alinha bonito */
}

@media(max-width:980px){
  .cert-card{
    max-width: 100%;
    margin-left: 0;
  }
}

/* Form do certificado mais “enxuto” */
.cert-row{
  grid-template-columns: 1fr; /* uma coluna = mais compacto e limpo */
  gap: 10px;
}

.cert-form input,
.cert-form select{
  padding: 9px 10px;
  font-size: 13px;
}

/* Campo arquivo ocupa tudo */
.cert-file{
  grid-column: 1 / -1;
}


.news-section {
    margin-top: 24px;
    background: #020617;
    border: 1px solid #1f2937;
    border-radius: 18px;
    padding: 18px;
}

.news-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.news-header h2 {
    margin: 0;
    font-size: 22px;
    color: #e5e7eb;
}

.news-header p {
    margin: 0;
    font-size: 13px;
    color: #9ca3af;
}

.news-empty {
    color: #9ca3af;
    font-size: 14px;
    padding: 10px 0;
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.news-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #0f172a;
    border: 1px solid #1f2937;
    border-radius: 16px;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.news-card:hover {
    transform: translateY(-2px);
    border-color: #334155;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .22);
}

.news-image-link {
    display: block;
    width: 100%;
    background: #111827;
}

.news-image {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
}

.news-body {
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.news-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 12px;
    color: #94a3b8;
}

.news-badge {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(37, 99, 235, .15);
    color: #93c5fd;
    border: 1px solid rgba(37, 99, 235, .25);
}

.news-title {
    margin: 0;
    font-size: 18px;
    line-height: 1.35;
}

.news-title a {
    color: #e5e7eb;
    text-decoration: none;
}

.news-title a:hover {
    color: #93c5fd;
}

.news-summary {
    margin: 0;
    color: #cbd5e1;
    font-size: 14px;
    line-height: 1.55;
}

.news-footer {
    margin-top: auto;
    color: #94a3b8;
    font-size: 12px;
}

@media (max-width: 900px) {
    .news-grid {
        grid-template-columns: 1fr;
    }

    .news-image {
        height: 200px;
    }
}
/* =========================
   PLATAFORMA DE ARQUIVOS
========================= */

.platform-shell{min-height:100vh;display:flex;flex-direction:column;}
.platform-main{flex:1;padding:22px 0 30px;}
.platform-grid{display:grid;gap:16px;}
.platform-grid--2{grid-template-columns:1.1fr 1.1fr;}
.platform-grid--upload{grid-template-columns:minmax(0,2fr) minmax(0,1.1fr);}
@media(max-width:980px){.platform-grid--2,.platform-grid--upload{grid-template-columns:1fr;}}

.platform-title{font-size:24px;font-weight:900;margin:0 0 4px;}
.platform-subtitle{color:var(--muted);font-size:13px;margin:0 0 14px;}
.platform-card{background:rgba(2,6,23,.18);border:1px solid var(--border);border-radius:18px;padding:18px;}
[data-theme="light"] .platform-card{background:rgba(255,255,255,.7);}
.platform-muted{color:var(--muted);font-size:12px;}
.platform-empty{color:var(--muted);font-size:13px;padding:8px 0;}
.platform-actions{display:flex;gap:10px;flex-wrap:wrap;}
.platform-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid var(--border);background:rgba(2,6,23,.18);font-size:11px;color:var(--muted);}
[data-theme="light"] .platform-chip{background:rgba(255,255,255,.55);}

.platform-topnote{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap;}
.platform-links{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 18px;}
.platform-links a{padding:9px 14px;border-radius:999px;border:1px solid var(--border);background:rgba(2,6,23,.18);font-size:13px;font-weight:800;}
[data-theme="light"] .platform-links a{background:rgba(255,255,255,.55);}

.platform-filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:12px 0;}
.platform-filters--4{grid-template-columns:repeat(4,minmax(0,1fr));}
.platform-filters--5{grid-template-columns:repeat(5,minmax(0,1fr));}
.platform-filters--2{grid-template-columns:repeat(2,minmax(0,1fr));}
@media(max-width:980px){.platform-filters,.platform-filters--4,.platform-filters--5,.platform-filters--2{grid-template-columns:1fr 1fr;}}
@media(max-width:700px){.platform-filters,.platform-filters--4,.platform-filters--5,.platform-filters--2{grid-template-columns:1fr;}}
.platform-filters .full{grid-column:1/-1;}
.platform-field label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px;}
.platform-field input,.platform-field select,.platform-field textarea{width:100%;padding:10px 11px;border-radius:10px;border:1px solid var(--border);background:rgba(2,6,23,.22);color:var(--text);font-size:13px;outline:none;}
[data-theme="light"] .platform-field input,[data-theme="light"] .platform-field select,[data-theme="light"] .platform-field textarea{background:rgba(255,255,255,.85);}
.platform-field textarea{min-height:80px;resize:vertical;}
.platform-field input:focus,.platform-field select:focus,.platform-field textarea:focus{border-color:rgba(37,99,235,.85);}

.platform-alert{padding:9px 11px;border-radius:10px;font-size:12px;margin-bottom:12px;border:1px solid var(--border);}
.platform-alert--error{background:rgba(239,68,68,.12);border-color:rgba(185,28,28,.8);color:#fecaca;}
.platform-alert--success{background:rgba(22,163,74,.14);border-color:rgba(22,163,74,.5);color:#bbf7d0;}

.platform-table-wrap{overflow:auto;border-radius:14px;border:1px solid var(--border);}
.platform-table{width:100%;border-collapse:collapse;font-size:12px;min-width:720px;}
.platform-table th,.platform-table td{padding:10px 8px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;}
.platform-table th{font-weight:800;color:var(--muted);background:rgba(2,6,23,.25);}
[data-theme="light"] .platform-table th{background:rgba(255,255,255,.6);}
.platform-table tr:hover td{background:rgba(2,6,23,.12);}
.platform-table .text-right{text-align:right;}
.platform-link{color:var(--primary);font-weight:800;}
.platform-link:hover{text-decoration:underline;}

.platform-pager{margin-top:12px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted);}
.platform-pager__links{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.platform-pager__links a,.platform-pager__links span{padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:rgba(2,6,23,.18);}
[data-theme="light"] .platform-pager__links a,[data-theme="light"] .platform-pager__links span{background:rgba(255,255,255,.55);}
.platform-disabled{opacity:.5;pointer-events:none;}

.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:18px;}
.auth-card{width:100%;max-width:440px;background:rgba(2,6,23,.22);border:1px solid var(--border);border-radius:22px;padding:24px;box-shadow:0 18px 35px rgba(0,0,0,.25);}
[data-theme="light"] .auth-card{background:rgba(255,255,255,.75);}
.auth-logo{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--accent));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;margin-bottom:8px;}
.auth-title{font-size:22px;font-weight:900;margin-bottom:4px;}
.auth-subtitle{font-size:13px;color:var(--muted);margin-bottom:14px;}
.auth-footer{margin-top:14px;text-align:center;color:var(--muted);font-size:12px;}
.auth-footer a{color:var(--primary);font-weight:800;}

.dropzone{border-radius:14px;border:1px dashed var(--border);background:rgba(2,6,23,.18);padding:18px 14px;text-align:center;cursor:pointer;transition:all .15s ease;}
[data-theme="light"] .dropzone{background:rgba(255,255,255,.55);}
.dropzone.dragover{border-color:var(--primary);background:rgba(37,99,235,.08);}
.file-list{margin-top:10px;font-size:12px;max-height:160px;overflow:auto;border-radius:10px;border:1px solid var(--border);padding:6px 8px;background:rgba(2,6,23,.12);}
[data-theme="light"] .file-list{background:rgba(255,255,255,.55);}
.file-item{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:1px solid var(--border);}
.file-item:last-child{border-bottom:none;}
.status-ok{color:#22c55e;font-weight:900;}
.status-warn{color:#f59e0b;font-weight:900;}
.status-danger{color:#ef4444;font-weight:900;}

.agenda-section{
    padding-top:0;
}
.agenda-box{
    background:#fff;
    border-radius:18px;
    padding:22px;
    box-shadow:0 8px 22px rgba(15,23,42,.07);
}
.agenda-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:12px;
    margin-bottom:18px;
    flex-wrap:wrap;
}
.agenda-header h2{
    margin:0;
    font-size:26px;
}
.agenda-header p{
    margin:6px 0 0;
    color:#64748b;
    font-size:14px;
}
.agenda-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:16px;
}
.agenda-card{
    display:flex;
    gap:14px;
    align-items:flex-start;
    padding:16px;
    border-radius:16px;
    border:1px solid #e2e8f0;
    background:#f8fafc;
    transition:transform .18s ease, box-shadow .18s ease;
}
.agenda-card:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 20px rgba(15,23,42,.08);
}
.agenda-dia{
    min-width:64px;
    height:64px;
    border-radius:14px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    background:#0f172a;
    color:#fff;
    font-weight:700;
}
.agenda-dia span{
    font-size:24px;
    line-height:1;
}
.agenda-dia small{
    font-size:11px;
    text-transform:uppercase;
    opacity:.9;
}
.agenda-info h3{
    margin:0 0 6px;
    font-size:17px;
    line-height:1.2;
}
.agenda-info p{
    margin:0 0 8px;
    color:#475569;
    font-size:13px;
    line-height:1.45;
}
.agenda-data{
    font-size:12px;
    color:#64748b;
    font-weight:600;
}

.agenda-fgts .agenda-dia{ background:#16a34a; }
.agenda-inss .agenda-dia{ background:#2563eb; }
.agenda-pis-cofins .agenda-dia{ background:#7c3aed; }
.agenda-icms .agenda-dia{ background:#ea580c; }
.agenda-das .agenda-dia{ background:#0891b2; }

.agenda-status-hoje{
    border:1px solid #22c55e;
    box-shadow:0 0 0 3px rgba(34,197,94,.10);
}
.agenda-status-atrasado{
    opacity:.82;
}

.agenda-aviso{
    margin-top:14px;
    color:#64748b;
}

@media (max-width:980px){
    .agenda-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}
@media (max-width:640px){
    .agenda-grid{
        grid-template-columns:1fr;
    }
    .agenda-box{
        padding:16px;
    }
}


/* =========================================================
   AGENDA TRIBUTÁRIA
   ========================================================= */
.agenda-calendar-section{
    padding-top:0;
}

.agenda-calendar-box{
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:18px;
    padding:22px;
    box-shadow:0 8px 22px rgba(15,23,42,.07);
}

.agenda-calendar-topo{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:14px;
}

.agenda-calendar-topo h2{
    margin:0;
    font-size:26px;
}

.agenda-calendar-topo p{
    margin:6px 0 0;
    color:#64748b;
    font-size:14px;
}

.agenda-calendar-nav{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.agenda-nav-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 12px;
    border-radius:10px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    text-decoration:none;
    color:#0f172a;
    font-size:13px;
    font-weight:700;
    transition:.2s ease;
}

.agenda-nav-btn:hover{
    background:#eff6ff;
    color:#2563eb;
}

.agenda-mes-label{
    font-size:14px;
    font-weight:800;
    color:#334155;
}

.agenda-legend{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
    margin-bottom:14px;
    color:#475569;
    font-size:13px;
}

.agenda-legend span{
    display:inline-flex;
    align-items:center;
    gap:8px;
}

.lg{
    width:12px;
    height:12px;
    border-radius:999px;
    display:inline-block;
}

.lg-vencido{
    background:#dc2626;
}

.lg-hoje{
    background:#16a34a;
}

.lg-avencer{
    background:#2563eb;
}

.agenda-calendar-weekdays,
.agenda-calendar-grid{
    display:grid;
    grid-template-columns:repeat(7, minmax(0, 1fr));
    gap:10px;
}

.agenda-calendar-weekdays{
    margin-bottom:10px;
}

.agenda-calendar-weekdays div{
    text-align:center;
    font-size:12px;
    font-weight:800;
    color:#64748b;
    text-transform:uppercase;
    padding:8px 4px;
}

.agenda-day{
    min-height:70px;
    border:1px solid #e2e8f0;
    border-radius:14px;
    background:#f8fafc;
    padding:8px;
    display:flex;
    flex-direction:column;
    gap:8px;
}

.agenda-day-empty{
    background:transparent;
    border:1px dashed #e2e8f0;
    min-height:145px;
}

.agenda-day-today{
    border-color:#93c5fd;
    box-shadow:0 0 0 2px rgba(37,99,235,.14);
}

.agenda-day-number{
    font-size:14px;
    font-weight:900;
    color:#0f172a;
}

.agenda-day-events{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.agenda-event{
    border-radius:10px;
    padding:7px 8px;
    font-size:12px;
    line-height:1.3;
    border-left:4px solid transparent;
    background:#fff;
}

.agenda-event strong{
    display:block;
    font-size:12px;
    margin-bottom:2px;
}

.agenda-event small{
    display:block;
    margin-top:3px;
    color:#64748b;
    font-size:11px;
}

.agenda-event-vencido{
    background:#fff1f2;
    border-left-color:#dc2626;
}

.agenda-event-hoje{
    background:#f0fdf4;
    border-left-color:#16a34a;
}

.agenda-event-avencer{
    background:#eff6ff;
    border-left-color:#2563eb;
}

/* cores opcionais por tributo */
.agenda-event-icms strong{
    color:#9a3412;
}

.agenda-event-fgts strong{
    color:#166534;
}

.agenda-event-inss strong{
    color:#1d4ed8;
}

.agenda-event-piscofins strong{
    color:#7c3aed;
}

@media (max-width: 980px){
    .agenda-calendar-weekdays,
    .agenda-calendar-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .agenda-calendar-weekdays{
        display:none;
    }
}

@media (max-width: 640px){
    .agenda-calendar-box{
        padding:16px;
    }

    .agenda-calendar-grid{
        grid-template-columns:1fr;
    }
}

.agenda-event-irpj strong{
    color:#b45309;
}

.agenda-event-csll strong{
    color:#0f766e;
}

/* =========================================================
   AGENDA TRIBUTÁRIA
   ========================================================= */
.agenda-calendar-section{
    padding-top:0;
}

.agenda-calendar-box{
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:18px;
    padding:18px;
    box-shadow:0 8px 22px rgba(15,23,42,.07);
}

.agenda-calendar-topo{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:12px;
}

.agenda-calendar-topo h2{
    margin:0;
    font-size:24px;
}

.agenda-calendar-topo p{
    margin:4px 0 0;
    color:#64748b;
    font-size:14px;
}

.agenda-calendar-nav{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.agenda-nav-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:7px 10px;
    border-radius:10px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    text-decoration:none;
    color:#0f172a;
    font-size:12px;
    font-weight:700;
    transition:.2s ease;
}

.agenda-nav-btn:hover{
    background:#eff6ff;
    color:#2563eb;
}

.agenda-mes-label{
    font-size:13px;
    font-weight:800;
    color:#334155;
}

.agenda-legend{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:12px;
    color:#475569;
    font-size:12px;
}

.agenda-legend span{
    display:inline-flex;
    align-items:center;
    gap:8px;
}

.lg{
    width:11px;
    height:11px;
    border-radius:999px;
    display:inline-block;
}

.lg-vencido{ background:#dc2626; }
.lg-hoje{ background:#16a34a; }
.lg-avencer{ background:#2563eb; }

.agenda-calendar-weekdays,
.agenda-calendar-grid{
    display:grid;
    grid-template-columns:repeat(7, minmax(0, 1fr));
    gap:8px;
}

.agenda-calendar-weekdays{
    margin-bottom:8px;
}

.agenda-calendar-weekdays div{
    text-align:center;
    font-size:11px;
    font-weight:800;
    color:#64748b;
    text-transform:uppercase;
    padding:6px 2px;
}

.agenda-day{
    min-height:92px;
    border:1px solid #e2e8f0;
    border-radius:12px;
    background:#f8fafc;
    padding:6px;
    display:flex;
    flex-direction:column;
    gap:5px;
}

.agenda-day-empty{
    background:transparent;
    border:1px dashed #e2e8f0;
    min-height:92px;
}

.agenda-day-today{
    border-color:#93c5fd;
    box-shadow:0 0 0 2px rgba(37,99,235,.14);
}

.agenda-day-feriado{
    background:#ffc2b3;
}

.agenda-day-number{
    font-size:14px;
    font-weight:900;
    color:#0f172a;
}

.agenda-feriado{
    font-size:14px;
    color:#b91c1c;
    font-weight:700;
    line-height:1.2;
}

.agenda-day-events{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.agenda-event{
    border-radius:8px;
    padding:4px 6px;
    font-size:11px;
    line-height:1.25;
    border-left:4px solid transparent;
    background:#fff;
}

.agenda-event strong{
    display:block;
    font-size:11px;
    margin-bottom:1px;
}

.agenda-event small{
    display:block;
    margin-top:2px;
    color:#64748b;
    font-size:10px;
    line-height:1.2;
}

.agenda-event-vencido{
    background:#fff1f2;
    border-left-color:#dc2626;
}

.agenda-event-hoje{
    background:#f0fdf4;
    border-left-color:#16a34a;
}

.agenda-event-avencer{
    background:#eff6ff;
    border-left-color:#2563eb;
}

.agenda-event-icms strong{ color:#9a3412; }
.agenda-event-fgts strong{ color:#166534; }
.agenda-event-inss strong{ color:#1d4ed8; }
.agenda-event-simples strong{ color:#0f766e; }
.agenda-event-piscofins strong{ color:#7c3aed; }
.agenda-event-irpj strong{ color:#b45309; }
.agenda-event-csll strong{ color:#0f766e; }

@media (max-width: 980px){
    .agenda-calendar-weekdays,
    .agenda-calendar-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .agenda-calendar-weekdays{
        display:none;
    }
}

@media (max-width: 640px){
    .agenda-calendar-box{
        padding:14px;
    }

    .agenda-calendar-grid{
        grid-template-columns:1fr;
    }
}