:root{--bg:#f6f7f2;--paper:#fff;--ink:#18211b;--muted:#687268;--line:#dfe5dc;--brand:#166534;--brand2:#0f766e;--accent:#b45309;--soft:#ecfdf5;--danger:#b91c1c;--radius:8px;--shadow:0 12px 28px rgba(15,23,42,.08)}
*{box-sizing:border-box}html{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}body{margin:0}a{color:#0f766e}a:hover{color:#0b5d55}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.6rem 1rem;border:2px solid var(--brand);z-index:99}.container{width:min(1140px,calc(100% - 32px));margin-inline:auto}.container--narrow{width:min(820px,calc(100% - 32px));margin-inline:auto}.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.site-header__inner{display:flex;align-items:center;gap:1rem;justify-content:space-between;min-height:64px}.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--ink);font-weight:850}.brand__mark{width:36px;height:36px}.brand--footer{color:#fff}.main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:.25rem;flex-wrap:wrap}.main-nav a{display:block;text-decoration:none;color:var(--muted);padding:.55rem .7rem;border-radius:6px;font-weight:700;font-size:.95rem}.main-nav a[aria-current=page],.main-nav a:hover{background:#eef7f0;color:#14532d}.hero{padding:2.8rem 0 1.8rem;background:linear-gradient(180deg,#fff 0,#f6f7f2 100%)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:2rem;align-items:start}.eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--brand);font-weight:850}.hero h1{font-size:clamp(2rem,5vw,4.25rem);line-height:1.02;margin:.35rem 0 1rem;letter-spacing:0}.lead{font-size:1.12rem;color:#3b473e;max-width:70ch}.hero-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.3rem}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:7px;padding:.72rem 1rem;font-weight:850;border:1px solid transparent;cursor:pointer;font:inherit}.btn--primary{background:var(--brand);color:#fff}.btn--primary:hover{background:#14532d;color:#fff}.btn--ghost{border-color:var(--line);background:#fff;color:var(--ink)}.quick-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.quick-panel h2{margin:0 0 .5rem;font-size:1.1rem;text-transform:capitalize}.mini-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.mini-calendar span{display:flex;align-items:center;justify-content:center;min-height:34px;border-radius:5px;background:#f4f6f2;font-size:.85rem}.mini-calendar .head{background:#e6ece6;color:#475047;font-weight:850}.mini-calendar .holiday{background:#fee2e2;color:#991b1b;font-weight:850}.mini-calendar .special{background:#fef3c7;color:#92400e}.mini-calendar .today{outline:2px solid var(--brand);background:#ecfdf5}.section{padding:2rem 0}.section-title{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-title h2{margin:0;font-size:1.55rem}.section-title p{margin:.2rem 0 0;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:1rem}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:0 8px 18px rgba(15,23,42,.04)}a.card{text-decoration:none;color:inherit}a.card:hover{border-color:#86efac;box-shadow:var(--shadow)}.card h3{margin:.1rem 0 .4rem}.stat{font-size:2rem;font-weight:900;color:#166534;margin:.2rem 0}.muted{color:var(--muted)}.muted-on-dark{color:#b8c6bd}.prose{font-size:1.03rem}.prose h2{margin-top:1.8rem}.prose p,.prose li{color:#33403a}.prose li{margin:.35rem 0}.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}table{border-collapse:collapse;width:100%;min-width:700px}th,td{padding:.72rem .8rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#eef2ee;color:#475047;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.month-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:1rem}.month{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:.8rem}.month--large{max-width:760px;margin:auto}.month h3{margin:0 0 .65rem;text-transform:capitalize}.month h3 a{color:inherit;text-decoration:none}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar-grid span{min-height:32px;display:flex;align-items:center;justify-content:center;border-radius:5px;background:#f8faf7;font-size:.86rem}.month--large .calendar-grid span{min-height:54px}.calendar-grid .head{font-weight:850;background:#e7ece7;color:#4b554d}.calendar-grid .empty{background:transparent}.calendar-grid .weekend{background:#f1f5f9;color:#64748b}.calendar-grid .holiday{background:#fee2e2;color:#991b1b;font-weight:850}.calendar-grid .special{background:#fef3c7;color:#92400e}.calendar-grid .today{outline:2px solid var(--brand)}.tool{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow)}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.8rem;margin-bottom:1rem}.field label{display:block;font-weight:800;margin-bottom:.25rem}.field input,.field select{width:100%;padding:.68rem .75rem;border:1px solid #cbd5cf;border-radius:6px;font:inherit}.result-box{margin-top:1rem;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:7px;padding:1rem}.notice{background:#fffbeb;border:1px solid #fde68a;border-radius:7px;padding:1rem;color:#713f12}.donate-card{text-align:center}.donate-qr{display:block;max-width:190px;height:auto;margin:1rem auto 0;border:1px solid var(--line);border-radius:8px}.footer{margin-top:2rem;padding:2rem 0;background:#10201c;color:#e7f5ef}.footer a{color:#a7f3d0}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:1rem}.footer ul{list-style:none;padding:0;margin:.4rem 0}.footer li{margin:.25rem 0}.tag-cloud{display:flex;flex-wrap:wrap;gap:.45rem}.tag-link{display:inline-flex;text-decoration:none;padding:.35rem .62rem;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:800;color:#14532d}.tag{display:inline-flex;padding:.18rem .45rem;border-radius:999px;background:#eef7f4;color:#0f5f59;font-size:.78rem;font-weight:850}@media(max-width:780px){.hero-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.section-title{display:block}table{min-width:620px}.main-nav a{font-size:.86rem;padding:.45rem}.month--large .calendar-grid span{min-height:42px}}
.calendar-legend{display:flex;flex-wrap:wrap;gap:.55rem .85rem;align-items:center;margin:0 0 1rem;padding:.75rem .85rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.month--large .calendar-legend{margin-top:.35rem}.calendar-legend__item{display:inline-flex;align-items:center;gap:.4rem;color:#475047;font-size:.9rem;font-weight:700}.calendar-legend__swatch{width:18px;height:18px;border-radius:5px;border:1px solid var(--line);display:inline-block}.calendar-legend__swatch--holiday{background:#fee2e2;border-color:#fecaca}.calendar-legend__swatch--special{background:#fef3c7;border-color:#fde68a}.calendar-legend__swatch--weekend{background:#f1f5f9;border-color:#e2e8f0}.calendar-legend__swatch--today{background:#ecfdf5;border-color:var(--brand);outline:2px solid var(--brand);outline-offset:0}
.quick-panel .calendar-legend{margin:.75rem 0 0;padding:.55rem .6rem;gap:.4rem .65rem}.quick-panel .calendar-legend__item{font-size:.78rem}.quick-panel .calendar-legend__swatch{width:14px;height:14px;border-radius:4px}.mini-calendar .weekend{background:#f1f5f9;color:#64748b}.mini-calendar .holiday{background:#fee2e2;color:#991b1b;font-weight:850}.mini-calendar .special{background:#fef3c7;color:#92400e}.mini-calendar .today{outline:2px solid var(--brand);background:#ecfdf5}
.breadcrumbs{background:#fff;border-bottom:1px solid var(--line);padding:.7rem 0;font-size:.9rem;color:var(--muted);margin:0}.breadcrumbs a{color:#0f5f59;text-decoration:none;font-weight:700}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs [aria-current=page]{color:var(--ink);font-weight:800}
.ad-slot{padding:.9rem 0;background:transparent}.ad-slot ins{min-height:90px;display:block;border:1px dashed #cbd5cf;border-radius:7px;background:#fff;color:var(--muted)}.ad-slot ins:empty::before{content:"Espaço publicitário";display:flex;align-items:center;justify-content:center;height:90px;color:var(--muted);font-size:.85rem;letter-spacing:.04em}.ad-slot--header ins{min-height:100px}.ad-slot--mid ins{min-height:250px}.ad-slot--footer ins{min-height:100px}
.faq{display:flex;flex-direction:column;gap:.65rem}.faq__item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:.75rem 1rem}.faq__item summary{cursor:pointer;font-weight:800;color:#0f5f59;outline:none}.faq__item[open] summary{margin-bottom:.5rem}.faq__item p{margin:.25rem 0 0;color:#33403a}
.add-cell{font-size:.84rem;white-space:nowrap}.add-cell a{color:#0f766e;text-decoration:none;font-weight:700}.add-cell a:hover{text-decoration:underline}.export-bar{margin:0 0 1rem;display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.export-bar .btn{padding:.45rem .9rem;font-size:.92rem}
.field input:focus-visible,.field select:focus-visible,.btn:focus-visible,.tag-link:focus-visible,.main-nav a:focus-visible,a.card:focus-visible,.breadcrumbs a:focus-visible,.faq__item summary:focus-visible{outline:3px solid #fbbf24;outline-offset:2px;border-radius:6px}
.field input,.field select{border-color:#94a3a0}
@media print{.site-header,.main-nav,.footer,.ad-slot,.no-print,.hero-actions,.faq,.export-bar,.add-cell,.skip-link,.tag-cloud,.breadcrumbs{display:none!important}body{background:#fff;color:#000;font-size:11pt}.section{padding:.4rem 0}.container{width:100%}.hero{padding:0;background:#fff}.hero h1{font-size:1.4rem}.lead{font-size:1rem;color:#222}.table-wrap{border:0;overflow:visible}table{min-width:0;font-size:10pt}th{background:#eee;color:#000}th:last-child,td:last-child{display:none}.card{break-inside:avoid;box-shadow:none;border-color:#aaa}.notice{background:#fff;border-color:#bbb;color:#000}a{color:#000;text-decoration:none}a[href]:after{content:""}.month-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;page-break-inside:auto}.month{break-inside:avoid;padding:.4rem}}
