:root{
  --blue:#003f7f;
  --blue-dark:#002b5c;
  --blue-deep:#001f43;
  --green:#00b050;
  --red:#e63946;
  --bg:#f5f8fc;
  --text:#152238;
  --muted:#5d6b82;
  --border:#e5eaf2;
  --shadow:0 14px 34px rgba(0,31,67,.12);
  --radius:18px;
}

*{box-sizing:border-box}
body{font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}
a{text-decoration:none}
.topbar{background:var(--blue-dark);color:#fff;font-size:13px;padding:9px 0}
.topbar a,.topbar button,.topbar span{color:#fff}
.topbar-btn{border:0;background:transparent}
.site-logo{height:68px;object-fit:contain}
.nav-link{font-weight:700;color:#1d3353!important}
.nav-link.active,.nav-link:hover{color:var(--blue)!important}
.hero{
  min-height:520px;
  background:linear-gradient(90deg,rgba(0,31,67,.94),rgba(0,63,127,.72),rgba(0,63,127,.12)),url('/assets/img/fundo.jpg');
  background-size:cover;background-position:center;color:#fff;display:flex;align-items:center
}
.hero-content{max-width:720px;padding:80px 0 135px}
.hero-badge{display:inline-flex;gap:10px;align-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);padding:9px 14px;border-radius:999px;font-weight:700;margin-bottom:18px}
.hero h1{font-size:clamp(34px,5vw,58px);font-weight:900;line-height:1.05;margin-bottom:20px}
.hero p{font-size:18px;opacity:.9;line-height:1.7}
.quick-access{margin-top:-75px;position:relative;z-index:5}
.quick-grid{background:#fff;border-radius:24px;box-shadow:var(--shadow);padding:18px;display:grid;grid-template-columns:repeat(8,1fr);gap:12px}
.quick-item{min-height:116px;border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;color:var(--blue-dark);transition:.25s;padding:12px}
.quick-item i{font-size:28px;color:var(--blue)}
.quick-item strong{font-size:13px}
.quick-item:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.section{padding:58px 0}
.bg-soft{background:#eef4fb}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}
.section-head h2{font-weight:900;color:var(--blue-dark);font-size:30px}
.section-head p{color:var(--muted);margin:0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:22px;color:var(--blue-dark);box-shadow:0 8px 24px rgba(0,31,67,.05);transition:.25s}
.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.stat-card i{font-size:28px;color:var(--blue);margin-bottom:14px}
.stat-card span{display:block;color:var(--blue);font-weight:900;font-size:13px}
.stat-card strong{display:block;font-size:24px;margin:7px 0}
.stat-card small{color:var(--muted)}
.news-card,.vereador-card,.content-card,.profile-card,.info-panel{display:block;background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 24px rgba(0,31,67,.05);color:inherit;transition:.25s}
.news-card:hover,.vereador-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.news-card-img{height:220px;background-size:cover;background-position:center;position:relative}
.news-card-img span{position:absolute;top:14px;left:14px;background:var(--blue);color:#fff;border-radius:10px;padding:7px 10px;font-size:12px;font-weight:900;text-transform:uppercase}
.news-card-body{padding:18px}
.news-card-body small{color:var(--muted)}
.news-card-body h3{font-size:19px;font-weight:900;color:var(--blue-dark);line-height:1.3;margin:10px 0}
.news-card-body p{color:var(--muted);line-height:1.55}
.news-card-body strong,.link-arrow{color:var(--blue);font-weight:900}
.vereador-img{height:210px;background-size:cover;background-position:center top}
.vereador-body{padding:15px}
.vereador-body h3{font-size:16px;font-weight:900;color:var(--blue-dark);margin:0 0 4px}
.vereador-body span{display:block;color:var(--blue);font-weight:900}
.vereador-body small{display:block;color:var(--muted);margin-bottom:10px}
.vereador-body b{color:var(--blue);font-size:13px}
.info-panel{padding:24px}
.info-panel h2{font-weight:900;color:var(--blue-dark);margin-bottom:18px}
.agenda-item{display:grid;grid-template-columns:70px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--border)}
.agenda-item>div:first-child{background:#eef7ff;border-radius:14px;text-align:center;color:var(--blue);padding:10px 6px}
.agenda-item strong{display:block;font-size:26px;line-height:1}
.agenda-item span{font-size:12px;font-weight:900}
.agenda-item h3{font-size:16px;font-weight:900;color:var(--blue-dark);margin:2px 0}
.agenda-item p,.agenda-item small{color:var(--muted);margin:0}
.video-card{display:block;color:inherit}
.video-thumb{height:145px;background:linear-gradient(135deg,var(--blue),var(--blue-deep));border-radius:16px;margin-bottom:12px;display:grid;place-items:center;color:#fff;font-size:34px}
.video-card strong{display:block;color:var(--blue-dark)}
.video-card small{color:var(--muted)}
.page-header{background:linear-gradient(135deg,var(--blue-dark),var(--blue));color:#fff;padding:70px 0}
.page-header h1{font-weight:900;font-size:42px}
.page-header p{font-size:18px;opacity:.85}
.empty-state{background:#fff;border:1px dashed var(--border);border-radius:var(--radius);padding:35px;text-align:center;color:var(--muted)}
.article-container{max-width:900px}
.article-image{width:100%;border-radius:var(--radius);margin-bottom:24px}
.article-content{background:#fff;border-radius:var(--radius);padding:32px;line-height:1.8}
.profile-card,.content-card{padding:24px}
.profile-card img{width:100%;border-radius:16px;margin-bottom:18px}
.transparency-modules{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.module-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:24px;color:var(--blue-dark);transition:.25s;box-shadow:0 8px 24px rgba(0,31,67,.05)}
.module-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.module-card i{font-size:34px;color:var(--blue);margin-bottom:18px}
.module-card h3{font-weight:900;font-size:18px}
.module-card span{font-weight:900;color:var(--blue)}
.whatsapp-btn{position:fixed;right:24px;bottom:100px;width:64px;height:64px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;font-size:30px;z-index:99;box-shadow:0 12px 30px rgba(37,211,102,.38)}
.cookie-bar{position:sticky;bottom:0;z-index:88;background:var(--blue-deep);color:#fff;padding:15px 0}
.cookie-bar p{font-size:13px;opacity:.75}
.footer{background:linear-gradient(135deg,var(--blue-dark),var(--blue-deep));color:#fff;padding:48px 0 22px}
.footer-logo{height:68px;background:#fff;padding:6px;border-radius:10px}
.footer p,.footer li,.footer a{color:rgba(255,255,255,.75)}
.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.footer h5{font-weight:900}
.footer-social{display:flex;gap:10px}
.footer-social a{width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.12);display:grid;place-items:center}
.footer hr{border-color:rgba(255,255,255,.14);margin:28px 0}
body.high-contrast{background:#000;color:#fff}
body.high-contrast .bg-white,body.high-contrast .news-card,body.high-contrast .vereador-card,body.high-contrast .stat-card,body.high-contrast .quick-grid,body.high-contrast .quick-item,body.high-contrast .info-panel,body.high-contrast .module-card{background:#000!important;color:#fff!important;border-color:#fff!important}
.session-rule-bar{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:24px}
.session-rule-btn{background:#17a2b8;color:#fff;border:1px solid #17a2b8;border-radius:12px;padding:10px 16px;font-weight:900;text-transform:uppercase;font-size:13px;letter-spacing:.02em;box-shadow:0 1px 2px rgba(0,0,0,.08);transition:.2s}
.session-rule-btn:hover{background:#0f8fa3;border-color:#0f8fa3;transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,.12)}
.session-filters{display:none}
.session-table-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:16px;padding:14px;box-shadow:0 10px 28px rgba(0,0,0,.08)}
.session-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 4px 14px}
.session-table-toolbar strong{display:block;color:#003333;font-weight:900}
.session-table-toolbar span{display:block;color:var(--muted);font-size:13px}
.session-table-shell{border-radius:12px;overflow:hidden}
.session-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;margin:0}
.session-table thead th{background:linear-gradient(135deg,#17a2b8,#0f8fa3);color:#fff!important;border:0;vertical-align:middle;font-weight:900;text-transform:uppercase;letter-spacing:.03em;text-align:center;padding:14px!important}
.session-table thead th:first-child{width:42%}
.session-head-filter{appearance:auto;background:#fff;color:#003333;border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:.55rem .8rem;font-weight:800;min-width:150px;width:100%;max-width:230px}
.session-table tbody td{padding:15px 14px!important;border-color:var(--border);text-align:center}
.session-table tbody tr:nth-child(even) td{background:#f7fbfb}
.session-table tbody tr:hover td{background:rgba(23,162,184,.08)}
.session-table-title{text-align:left!important;position:relative;padding-left:22px!important}
.session-table-title::before{content:"";position:absolute;left:6px;top:12px;bottom:12px;width:6px;border-radius:6px;background:#17a2b8;opacity:.45}
.session-table-title strong{display:block;color:#1b2d33;font-weight:900}
.session-table-title span{display:block;color:var(--muted);line-height:1.45;margin-top:4px}
.session-table-title small{display:block;color:#5d6b82;margin-top:8px}
.session-data-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.38rem .7rem;border-radius:999px;font-weight:900;font-size:.82rem;line-height:1;white-space:nowrap}
.session-data-chip-cat{background:#f1fbfc;color:#0b4a53;border:1px solid rgba(23,162,184,.25)}
.session-data-chip-month{background:#eef9ff;color:#0c4a6e;border:1px solid rgba(56,189,248,.25)}
.session-data-chip-year{background:#f6fbf7;color:#064e3b;border:1px solid rgba(16,185,129,.25)}
.session-table-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.sessions-list{display:none;gap:14px}
.session-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,31,67,.05);padding:18px;display:grid;grid-template-columns:76px 1fr auto;gap:16px;align-items:center;border-left:6px solid var(--blue)}
.session-date{background:#eef7ff;border-radius:14px;text-align:center;color:var(--blue);padding:12px 8px}
.session-date strong{display:block;font-size:30px;line-height:1}
.session-date span{font-size:12px;font-weight:900}
.session-main h2{font-size:21px;color:var(--blue-dark);font-weight:900;margin:8px 0}
.session-main p{color:var(--muted);margin:0 0 12px;line-height:1.55}
.session-meta,.session-actions,.session-file-actions{display:flex;flex-wrap:wrap;gap:8px}
.session-chip{display:inline-flex;align-items:center;gap:6px;background:#f1fbfc;border:1px solid rgba(0,63,127,.14);border-radius:999px;color:var(--blue-dark);font-size:13px;font-weight:800;padding:6px 10px}
.session-status{align-self:start}
.session-modal .modal-content{border:0;border-radius:20px;overflow:hidden;box-shadow:0 18px 60px rgba(0,0,0,.25)}
.session-modal .modal-header{background:linear-gradient(135deg,#17a2b8,#0f8fa3);color:#fff;border:0}
.session-modal .modal-title{font-weight:900;display:flex;gap:10px;align-items:center}
.session-summary{background:#f7fbff;border:1px solid var(--border);border-radius:16px;padding:14px;margin-bottom:16px;display:flex;flex-wrap:wrap;gap:10px}
.session-summary span{background:#fff;border:1px solid var(--border);border-radius:999px;padding:6px 10px;color:#003333;font-weight:800;font-size:13px}
.session-kv-list{list-style:none;padding:0;margin:0 0 16px}
.session-kv-list li{display:grid;grid-template-columns:160px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}
.session-kv-list strong{color:var(--muted)}
.session-content{box-shadow:none;border:1px solid var(--border);padding:20px}
.presence-box{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px;height:100%}
.presence-box h3{font-size:16px;font-weight:900;color:#003333;display:flex;justify-content:space-between;align-items:center}
.presence-box h3 span{background:#fff;color:#17a2b8;border:1px solid #17a2b8;border-radius:999px;padding:3px 9px;font-size:12px}
.presence-box ul{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px}
.presence-box li{background:#f7fbff;border:1px solid var(--border);border-radius:10px;padding:8px 10px}
.session-rule-content{background:#f7fbff;border:1px solid var(--border);border-radius:16px;padding:18px;color:#003333;line-height:1.7}
@media(max-width:1100px){.quick-grid{grid-template-columns:repeat(4,1fr)}.stats-grid,.transparency-modules{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.session-card{grid-template-columns:64px 1fr}.session-status{grid-column:2}.session-table thead th:first-child{width:35%}.session-head-filter{min-width:120px}}
@media(max-width:768px){.site-logo{height:54px}.hero{min-height:560px}.section-head{align-items:start;flex-direction:column}.quick-grid{grid-template-columns:repeat(2,1fr)}.stats-grid,.transparency-modules{grid-template-columns:1fr}.agenda-item{grid-template-columns:60px 1fr}.agenda-item .badge{grid-column:2;justify-self:start}.session-table-card{display:none}.session-filters{display:grid;grid-template-columns:1fr}.sessions-list{display:grid}.session-card{grid-template-columns:1fr}.session-date{width:76px}.session-kv-list li{grid-template-columns:1fr;gap:4px}}
@media(max-width:480px){.quick-grid{grid-template-columns:1fr}}

.session-hero{min-height:560px;background:linear-gradient(90deg,rgba(0,43,92,.96),rgba(0,63,127,.76),rgba(0,80,80,.22)),url('/assets/img/fundo.jpg');background-size:cover;background-position:center;color:#fff;display:flex;align-items:center}
.session-hero-content{max-width:780px;padding:70px 0 110px}
.session-hero-badge{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:10px 16px;font-weight:900;margin-bottom:18px}
.session-hero h1{font-size:clamp(40px,5vw,64px);font-weight:900;line-height:.98;margin-bottom:22px;letter-spacing:0}
.session-hero p{font-size:18px;line-height:1.7;opacity:.92;max-width:760px}
.session-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.session-hero-actions .btn{border-radius:999px;font-weight:900;padding:12px 20px}
.session-stats-wrap{margin-top:-78px;position:relative;z-index:4}
.session-stats-panel{background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:0 20px 45px rgba(0,31,67,.16);padding:16px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.session-stat{border:1px solid var(--border);border-radius:18px;padding:20px;display:flex;align-items:center;gap:14px;background:#fbfdff}
.session-stat-icon,.type-icon{width:52px;height:52px;border-radius:16px;color:#fff;display:grid;place-items:center;font-size:22px;flex:0 0 auto}
.session-stat small{display:block;color:#5d6b82;font-weight:900}
.session-stat strong{display:block;color:#003f7f;font-size:28px;font-weight:900;line-height:1}
.bg-blue{background:#004b8d}.bg-green{background:#00b050}.bg-red{background:#e63946}.bg-navy{background:#00366d}.bg-purple{background:#7048c8}
.session-page-body{background:#f1f6fb;padding-top:64px}
.session-section-head{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:22px}
.session-section-head h2{font-size:34px;font-weight:900;color:#00366d;margin:0 0 4px}
.session-section-head p{color:#526987;margin:0}
.session-title-bars{display:flex;gap:6px;margin-top:12px}
.session-title-bars span{display:block;height:4px;border-radius:999px}
.session-title-bars span:nth-child(1){width:58px;background:#00b050}
.session-title-bars span:nth-child(2){width:42px;background:#003f7f}
.session-title-bars span:nth-child(3){width:34px;background:#e63946}
.session-preview-btn{background:#004b8d;color:#fff;border-radius:14px;padding:10px 16px;font-weight:900;align-self:center}
.session-preview-btn:hover{background:#00366d;color:#fff}
.session-filter-panel{background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:0 10px 26px rgba(0,31,67,.08);padding:18px;margin-bottom:22px;display:grid;grid-template-columns:2.1fr 1fr 1fr 1fr auto;gap:16px;align-items:end}
.session-filter-panel label{display:grid;gap:8px;margin:0}
.session-filter-panel label span{font-weight:900;color:#071a33}
.session-filter-panel .form-control,.session-filter-panel .form-select{height:46px;border-radius:14px;border-color:#dce6f2;font-weight:700}
.session-filter-panel .btn{height:46px;border-radius:14px;font-weight:900;padding-inline:26px}
.session-table-card{padding:0;border:0;border-radius:20px;overflow:hidden;box-shadow:0 18px 38px rgba(0,31,67,.11)}
.session-table thead th{background:#003f7f!important;color:#fff!important;padding:17px 14px!important}
.session-table thead th:first-child{border-top-left-radius:20px;width:47%}
.session-table thead th:last-child{border-top-right-radius:20px}
.session-table tbody td{background:#fff!important;padding:18px 14px!important;border-bottom:1px solid #dfe9f5;text-align:left}
.session-table tbody tr:hover td{background:#fbfdff!important}
.session-row-title{display:flex;align-items:center;gap:14px}
.session-date-tile{width:64px;min-width:64px;height:68px;border-radius:16px;background:#eef7ff;color:#004b8d;display:grid;place-items:center;text-align:center;padding:7px}
.session-date-tile strong{font-size:25px;line-height:1;font-weight:900}
.session-date-tile span{font-size:12px;font-weight:900}
.session-table-title::before{display:none}
.session-table-title strong{font-size:18px;color:#00366d}
.session-table-title span{font-size:13px;color:#526987;max-width:620px}
.session-type-pill,.session-status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:8px 11px;font-weight:900;font-size:12px;white-space:nowrap}
.session-type-pill.is-ordinaria{background:#eaf4ff;color:#004b8d}
.session-type-pill.is-extra{background:#fff4df;color:#b36b00}
.session-type-pill.is-solene{background:#ffedf1;color:#e63946}
.session-status-pill.is-scheduled{background:#f0f5fb;color:#344a66}
.session-status-pill.is-closed{background:#eef0ff;color:#2639c8}
.session-status-pill.is-cancelled{background:#ffedf1;color:#b4232f}
.session-date-cell strong{display:block;color:#000;font-size:16px}
.session-date-cell span{display:block;color:#333}
.session-presence-cell strong{display:block;font-size:18px;color:#000}
.session-presence-cell span{display:block;color:#111}
.session-presence-cell small{display:block;color:#526987}
.session-table-actions{justify-content:flex-end}
.session-icon-btn{width:40px;height:40px;border-radius:14px;border:1px solid #dce6f2;background:#fff;color:#004b8d;display:inline-grid;place-items:center;transition:.2s}
.session-icon-btn:hover{background:#eaf4ff;color:#00366d;border-color:#bcd2ee}
.session-types-section{padding-top:56px}
.session-type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.session-type-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:22px;box-shadow:0 10px 26px rgba(0,31,67,.06)}
.session-type-card h3{font-size:20px;color:#00366d;font-weight:900;margin:16px 0 8px}
.session-type-card p{color:#526987;line-height:1.6}
.session-type-card button{border:0;background:transparent;color:#071a33;font-weight:900;padding:0}
.session-modal .modal-header{background:#17a2b8!important}
@media(max-width:1100px){.session-stats-panel,.session-type-grid{grid-template-columns:repeat(2,1fr)}.session-filter-panel{grid-template-columns:1fr 1fr}.session-filter-panel .btn{grid-column:auto}.session-table{min-width:1050px}}
@media(max-width:768px){.session-hero{min-height:520px}.session-hero-content{padding:55px 0 105px}.session-stats-panel{grid-template-columns:1fr}.session-section-head{display:block}.session-preview-btn{display:inline-block;margin-top:14px}.session-filter-panel{grid-template-columns:1fr}.session-type-grid{grid-template-columns:1fr}.session-table-card{display:none}.sessions-list{display:grid}}
