.ul-cal{scroll-margin-top:24px}.ul-cal *{box-sizing:border-box}.ul-cal .section-header{flex-wrap:wrap;gap:12px}
.ul-cal .ul-cal-filtros{width:100%;max-width:none;display:grid;grid-template-columns:150px repeat(3,minmax(0,1fr)) auto auto;align-items:end;gap:12px;background:#fff;border:1px solid #dbe5ec;padding:18px;margin:18px 0}
.ul-cal-filtros label{display:block;font-size:12px;color:#34546b}.ul-cal-filtros input,.ul-cal-filtros select{display:block;width:100%;min-width:0;max-width:100%;margin-top:6px;min-height:40px;padding:8px;border:1px solid #b9ccdb;background:#fff;color:#18384f;font:inherit}
.ul-cal-filtros>a{padding:12px 0}.ul-cal-barra{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.ul-cal-barra h3{margin:8px 0}.ul-cal-navegar,.ul-cal-vistas{display:flex;gap:5px}.ul-cal-barra a{display:inline-block;padding:9px 13px;border:1px solid #c6d9e6;background:#fff;color:#146e9c;text-decoration:none}.ul-cal-barra a[aria-current]{background:#168dc7;color:white;border-color:#168dc7}
.ul-cal-contagem{color:#597184;font-size:13px}.ul-cal-grelha{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid #d4e0e9;border-top:1px solid #d4e0e9}.ul-cal-grelha.ul-cal-dia{grid-template-columns:1fr;border:none;background:transparent;padding:0}
.ul-cal-semana{padding:10px 5px;text-align:center;background:#e5f2fb;color:#245373;font-size:12px;font-weight:bold;border-right:1px solid #d4e0e9;border-bottom:1px solid #d4e0e9}
.ul-cal-grelha>.ul-cal-dia{min-width:0;min-height:130px;padding:9px;background:#fff;border-right:1px solid #d4e0e9;border-bottom:1px solid #d4e0e9}.ul-cal-grelha>.ul-cal-hoje{background:#eef8ff;box-shadow:inset 0 3px #168dc7}.ul-cal-grelha>.ul-cal-fora{background:#f2f4f6}.ul-cal-data{font-weight:bold;font-size:13px;margin-bottom:9px;color:#264e68}.ul-cal-sem{font-size:12px;color:#688093}
.ul-cal .ul-cal-evento{display:flex;flex-direction:column;gap:5px;text-align:left;width:100%;padding:10px;margin:0 0 8px;white-space:normal;overflow-wrap:anywhere;border:1px solid #cde4f2;border-left:3px solid #168dc7;background:#f1f8fd;color:#153c57;cursor:pointer;font:inherit;line-height:1.45;border-radius:3px}.ul-cal-evento:hover{background:#e0f1fd}.ul-cal-evento:focus-visible,.ul-cal-barra a:focus-visible{outline:2px solid #0876ad;outline-offset:2px}.ul-cal-hora{font-size:12px;font-weight:bold;color:#0677af}.ul-cal-evento strong{font-size:13px}.ul-cal-evento small{color:#57748a;font-size:11px}.ul-cal-tema{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px}.ul-cal-mobile{display:none}
.ul-cal-modal{width:min(680px,calc(100% - 28px));max-height:85vh;overflow:auto;border:1px solid #cadce8;padding:24px;color:#18394e;background:white;box-shadow:0 12px 60px #1238}.ul-cal-modal::backdrop{background:#122d46a6}.ul-cal-modal h2{font-size:22px;line-height:1.4;overflow-wrap:anywhere}.ul-cal-modal dl{display:grid;grid-template-columns:135px minmax(0,1fr);gap:10px}.ul-cal-modal dt{font-weight:bold}.ul-cal-modal dd{margin:0;overflow-wrap:anywhere}.ul-cal-modal .ul-cal-fechar{display:flex;justify-content:flex-end;width:100%;max-width:none;margin:0}.ul-cal-fechar button{background:#edf4f8;color:#254a64;border:1px solid #cddfe9;font-size:24px;width:36px;height:36px;cursor:pointer}.ul-cal-modal .actions{flex-wrap:wrap}
@media(max-width:1000px){.ul-cal .ul-cal-filtros{grid-template-columns:repeat(2,minmax(0,1fr))}.ul-cal-barra{gap:8px}}
@media(max-width:760px){.ul-cal-desktop{display:none}.ul-cal-mobile{display:block}.ul-cal-barra h3{width:100%;order:-1}.ul-cal-modal dl{grid-template-columns:1fr;gap:5px}.ul-cal-modal dd{margin-bottom:10px}.ul-cal-modal{padding:18px}.ul-cal-modal h2{font-size:18px}}
@media(max-width:450px){.ul-cal .ul-cal-filtros{grid-template-columns:1fr}.ul-cal-barra a{padding:8px 10px}}
