.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

button.cal-day-num,button.calw-dayhead-main{appearance:none;border:0;background:transparent;color:inherit;font:inherit;padding:0;cursor:pointer}
button.calw-dayhead-main{width:100%}
#page-calendario [role="button"][tabindex="0"],#day-detail-overlay [role="button"][tabindex="0"]{cursor:pointer}

.calendar-controls{position:relative;z-index:8;margin:0 0 14px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg2)}
.calendar-search-row{display:flex;align-items:center;gap:8px}
.calendar-search-combobox{position:relative;flex:1;min-width:240px}
.calendar-search{display:flex;align-items:center;gap:8px;width:100%;padding:0 10px;border:1px solid var(--border2);border-radius:var(--radius);background:var(--bg3)}
.calendar-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}
.calendar-search svg{width:16px;height:16px;color:var(--text3);flex:0 0 auto}
.calendar-search input{width:100%;min-height:38px;border:0;outline:0;background:transparent;color:var(--text);font:12px var(--font)}
.calendar-search-suggestions{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:80;max-height:min(420px,55vh);overflow-y:auto;padding:5px;border:1px solid var(--border2);border-radius:var(--radius-lg);background:var(--bg2);box-shadow:0 18px 44px rgba(0,0,0,.3)}
.calendar-search-suggestions[hidden]{display:none}
.calendar-search-suggestion{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-width:0;padding:9px;border:0;border-radius:9px;background:transparent;color:var(--text);text-align:left;cursor:pointer}
.calendar-search-suggestion:hover,.calendar-search-suggestion.active,.calendar-search-suggestion[aria-selected="true"]{background:var(--accent-bg)}
.calendar-search-suggestion:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.calendar-search-suggestion-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:color-mix(in srgb,var(--suggestion-color,var(--accent)) 15%,var(--bg3));color:var(--suggestion-color,var(--accent));font-size:15px}
.calendar-search-suggestion-icon svg{width:16px;height:16px}
.calendar-search-suggestion-copy{display:flex;min-width:0;flex-direction:column;gap:3px}
.calendar-search-suggestion-title{overflow:hidden;color:var(--text);font:650 12px var(--font);text-overflow:ellipsis;white-space:nowrap}
.calendar-search-suggestion-meta{overflow:hidden;color:var(--text3);font:10px var(--font);text-overflow:ellipsis;white-space:nowrap}
.calendar-search-suggestion-state{justify-self:end;padding:3px 7px;border:1px solid var(--border);border-radius:999px;color:var(--text2);font:650 9px var(--font);white-space:nowrap}
.calendar-search-empty{padding:18px 12px;color:var(--text3);font:11px var(--font);text-align:center}
.calendar-filter-summary{display:flex;align-items:center;gap:7px;min-height:20px;margin-top:8px;color:var(--text3);font:11px var(--font)}
.calendar-filter-summary:empty{display:none}
.calendar-filter-summary strong{color:var(--text2);font-weight:650}
.calendar-filter-summary-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}
.calendar-filter-empty,.calendar-period-empty{padding:18px;border:1px dashed var(--border2);border-radius:var(--radius);color:var(--text3);text-align:center;font:12px var(--font)}

.calendar-important{display:inline-block;margin-right:3px;color:var(--amber);font-weight:900;text-shadow:0 0 8px rgba(245,166,35,.25)}
.calendar-important-badge{display:inline-grid;place-items:center;min-width:17px;height:14px;margin-left:auto;padding:0 4px;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--amber) 42%,transparent);border-radius:3px;background:color-mix(in srgb,var(--amber) 18%,transparent);color:var(--amber);font:800 10px/1 var(--font);text-shadow:0 0 8px rgba(245,166,35,.25)}
.calendar-important-badge:empty{display:none}
.calendar-event-category{display:inline-flex;align-items:center;max-width:130px;margin-top:3px;padding:1px 6px;border:1px solid color-mix(in srgb,var(--category-color,var(--item-color,var(--accent))) 48%,transparent);border-radius:999px;background:color-mix(in srgb,var(--category-color,var(--item-color,var(--accent))) 15%,transparent);color:var(--text);font:600 9px var(--font);overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}
.cal-event .calendar-event-category,.calw-chip .calendar-event-category,.calw-ev .calendar-event-category{max-width:72px;margin:0 0 0 3px;padding:0 4px;font-size:8px}
.cal-event .calendar-important-badge{min-width:18px;height:13px;font-size:9px}
.week-event-top .calendar-important-badge,.dd-item-main .calendar-important-badge{align-self:center}
.calendar-period-side .calendar-important-badge{align-self:flex-end;margin-left:0}
.cal-ai-status:empty{display:none}
.calw-ev-evento{padding-right:24px}
.calw-ev-evento .calendar-important-badge{position:absolute;top:3px;right:4px;margin-left:0}
.calw-chip-evento{display:flex;align-items:center;gap:4px}
.calw-chip-evento>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calw-chip-evento .calendar-important-badge{height:13px;margin-left:auto;font-size:9px}

.calendar-period-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}
.calendar-period-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}
.calendar-period-head h3{color:var(--text);font:650 15px var(--font)}
.calendar-period-head p{margin-top:2px;color:var(--text3);font:11px var(--font)}
.calendar-period-list{display:flex;flex-direction:column;gap:7px}
.calendar-period-item{width:100%;display:grid;grid-template-columns:128px minmax(0,1fr) minmax(90px,auto);align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--bg2);color:var(--text);text-align:left;cursor:pointer;transition:border-color var(--tr),background var(--tr),transform var(--tr)}
.calendar-period-item:hover{background:var(--bg3);border-color:var(--border2);transform:translateY(-1px)}
.calendar-period-item.plantao,.calendar-period-item.evento,.calendar-period-item.vencimento{border-left-color:var(--item-color,var(--accent))}.calendar-period-item.tarefa{border-left-color:var(--green)}
.calendar-period-date{color:var(--text3);font:11px var(--mono);white-space:nowrap}
.calendar-period-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.calendar-period-main strong{max-width:100%;font:650 12px var(--font);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendar-period-main>span:not(.calendar-event-category),.calendar-period-main small{max-width:100%;color:var(--text3);font:10px var(--font);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendar-period-side{display:flex;flex-direction:column;align-items:flex-end;gap:3px;color:var(--text2);font:10px var(--font);text-align:right}
.calendar-period-side strong{font:650 11px var(--mono)}
.calendar-load-more{display:flex;margin:11px auto 0}.calendar-load-more[hidden]{display:none}

.event-important-check{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:3px 8px;margin:2px 0 12px;padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg3);cursor:pointer}
.event-important-check input{grid-row:1/3;width:17px;height:17px;accent-color:var(--amber)}
.event-important-check span{color:var(--text);font:650 12px var(--font)}
.event-important-check small{grid-column:2/4;color:var(--text3);font:10px var(--font)}
.event-color-mode-field{padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg3)}
.event-color-follow-row{margin:2px 0 8px}
.event-color-manual-row{display:grid;grid-template-columns:minmax(120px,auto) max-content;align-items:start;gap:8px;opacity:.38;filter:brightness(.7) saturate(.7);transition:opacity var(--tr),filter var(--tr)}
.event-color-manual-row.active{opacity:1;filter:none}
.event-color-manual-row>span{color:var(--text3);font:11px var(--font)}
.event-color-mode-field .event-color-row{display:grid;grid-template-columns:repeat(6,26px);gap:8px;align-items:center;justify-content:start}
.event-color-mode-field:not(.manual-active) .event-color-custom-row{opacity:.36;filter:brightness(.68) saturate(.7)}
.event-color-mode-field.manual-active .event-color-custom-row{opacity:1;filter:none}
.event-date-time-grid{grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(110px,.8fr))}
.event-filter-category-field{margin-top:12px}
.field-optional{color:var(--text3);font-weight:400}
.event-filter-category-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
.event-filter-category-row select{min-width:0}
.event-important-check:focus-within{outline:2px solid var(--accent);outline-offset:2px}

.calendar-filters-modal{max-width:680px}
.calendar-filter-top-actions{display:flex;align-items:center;gap:7px;margin-left:auto}
.calendar-filters-body{display:flex;flex-direction:column;gap:10px}
.calendar-filter-section{min-width:0;padding:10px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg3)}
.calendar-filter-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.calendar-filter-section-head h4{color:var(--text);font:650 13px var(--font)}
.calendar-filter-section-head p{margin-top:2px;color:var(--text3);font:10px var(--font)}
.calendar-filter-list{display:flex;flex-direction:column;gap:6px}
.calendar-filter-row{display:flex;align-items:center;gap:7px;min-width:0;padding:6px 7px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2)}
.calendar-filter-row>.calendar-filter-check{flex:1;border:0;background:transparent;padding:0}
.calendar-filter-row>.calendar-filter-check:hover{background:transparent;border-color:transparent}
.calendar-filter-row .btn.active{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent)}
.calendar-filter-check{display:flex;align-items:center;gap:9px;min-width:0;padding:7px 9px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);cursor:pointer;transition:border-color var(--tr),background var(--tr)}
.calendar-filter-check:hover{border-color:var(--border2);background:var(--bg4)}
.calendar-filter-check:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.calendar-filter-check>input[type="checkbox"]{width:16px;height:16px;flex:0 0 auto;accent-color:var(--accent)}
.calendar-filter-check-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:2px}
.calendar-filter-check-copy strong{overflow:hidden;color:var(--text);font:600 11px var(--font);text-overflow:ellipsis;white-space:nowrap}
.calendar-filter-check-copy small{color:var(--text3);font:10px var(--font)}
.calendar-filter-source-icon{display:grid;place-items:center;width:26px;height:26px;flex:0 0 auto;border-radius:8px;background:color-mix(in srgb,var(--filter-color,var(--accent)) 15%,transparent);color:var(--filter-color,var(--accent))}
.calendar-filter-source-icon svg{width:15px;height:15px}
.calendar-plantao-color-control{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;margin-top:6px;padding:7px 9px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2)}
.calendar-plantao-color-copy{display:flex;min-width:0;flex-direction:column;gap:2px}
.calendar-plantao-color-copy strong{overflow:hidden;color:var(--text);font:600 11px var(--font);text-overflow:ellipsis;white-space:nowrap}
.calendar-plantao-color-copy small{color:var(--text3);font:10px var(--font)}
.calendar-filter-uncategorized{margin-top:6px}
.calendar-filter-create{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;margin:8px 0 6px}
.calendar-filter-create input[type="text"]{min-width:0;min-height:34px;padding:7px 9px;border:1px solid var(--border2);border-radius:var(--radius);background:var(--bg2);color:var(--text);font:12px var(--font)}
.calendar-filter-create input[type="text"]:focus{outline:2px solid var(--accent);outline-offset:-1px}
.calendar-filter-swatches{display:flex;align-items:center;gap:4px;flex-wrap:nowrap}
.calendar-filter-swatch{width:22px;height:22px;border:1px solid rgba(255,255,255,.16);border-radius:6px;padding:0;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}
.calendar-filter-swatch.active{outline:2px solid var(--text);outline-offset:1px}
.calendar-filter-color-menu{position:relative;display:inline-flex;flex:0 0 auto}
.calendar-filter-color-menu>summary{list-style:none}
.calendar-filter-color-menu>summary::-webkit-details-marker{display:none}
.calendar-filter-color-current{width:30px;height:26px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:var(--bg3);display:grid;place-items:center;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}
.calendar-filter-color-current:hover,.calendar-filter-color-current:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.calendar-filter-color-current span{display:block;width:18px;height:18px;border-radius:6px;background:var(--filter-color,var(--accent));box-shadow:inset 0 0 0 1px rgba(255,255,255,.38),0 0 0 1px rgba(0,0,0,.18)}
.calendar-filter-color-popover{position:absolute;right:0;top:calc(100% + 6px);z-index:30;display:grid;grid-template-columns:repeat(6,22px);gap:5px;padding:7px;border:1px solid var(--border2);border-radius:10px;background:var(--bg2);box-shadow:0 16px 36px rgba(0,0,0,.36)}
.calendar-filter-color-menu:not([open]) .calendar-filter-color-popover{display:none}
.calendar-filter-category-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:7px;min-width:0;padding:6px 7px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2)}
.calendar-filter-category-row>input[type="checkbox"]{width:16px;height:16px;accent-color:var(--accent)}
.calendar-filter-category-row>input[type="text"]{min-width:0;padding:7px 8px;border:1px solid var(--border2);border-radius:7px;background:var(--bg3);color:var(--text);font:11px var(--font)}
.calendar-filter-category-row .danger{color:var(--red)}
.calendar-filter-empty-list{padding:13px;color:var(--text3);font:11px var(--font);text-align:center}
.calendar-filters-actions{padding-top:10px;border-top:1px solid var(--border)}

@media(max-width:768px){
  .calendar-controls{padding:10px}.calendar-search-row{align-items:stretch;flex-wrap:wrap}.calendar-search-combobox{min-width:100%;order:-1}.calendar-search-row>.btn{flex:1}
  .calendar-search-suggestions{max-height:min(360px,52vh)}
  .calendar-period-item{grid-template-columns:1fr auto;gap:6px 10px}.calendar-period-date{grid-column:1/-1}.calendar-period-side{grid-column:2;grid-row:2}.calendar-period-main{grid-column:1;grid-row:2}
  .calendar-period-section{margin-top:16px}.event-date-time-grid{grid-template-columns:1fr 1fr}.event-date-time-grid>.field:first-child{grid-column:1/-1}.event-color-manual-row{grid-template-columns:1fr}
  .calendar-filter-top-actions{order:3;width:100%;margin-left:0}.calendar-filter-row{align-items:flex-start;flex-wrap:wrap}.calendar-filter-row>.calendar-filter-check{min-width:calc(100% - 88px)}.calendar-filter-category-row{grid-template-columns:auto minmax(0,1fr);align-items:start}.calendar-filter-category-row .calendar-filter-color-menu,.calendar-filter-category-row .btn{grid-column:2}.calendar-filter-create{grid-template-columns:1fr}.calendar-plantao-color-control{grid-template-columns:minmax(0,1fr)}.calendar-plantao-color-control .btn{justify-self:start}
}
@media(max-width:430px){
  .calendar-period-item{padding:9px}.calendar-search-suggestion{grid-template-columns:30px minmax(0,1fr);gap:8px}.calendar-search-suggestion-icon{width:30px;height:30px}.calendar-search-suggestion-state{grid-column:2;justify-self:start}.calendar-filter-summary{align-items:flex-start}
  .event-filter-category-row{grid-template-columns:1fr}.event-filter-category-row .btn{width:100%;justify-content:center}
  .calendar-filter-section{padding:9px}.calendar-filter-category-row .btn{padding:5px 7px;font-size:10px}.calendar-filter-swatch{width:20px;height:20px}
}
