:root{font-family:Inter,Arial,sans-serif;color:#172d51;background:#f6f8fc;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{max-width:1350px;margin:auto;padding:0 24px}.top{background:#fff;border-bottom:3px solid #e7b345}.heading{height:94px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:14px}.crest{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#17315e,#3759a2);color:#f6c85e;display:grid;place-items:center;font:700 16px Georgia,serif;border:3px solid #c9a751}.brand b{font-size:21px}.brand small{display:block;margin-top:4px;font-size:10px;font-weight:800;letter-spacing:3px;color:#71809b}.adminlink,.today{border:1px solid #d5deea;padding:10px 14px;border-radius:9px;font-size:13px;font-weight:700}.sectionhead{display:flex;justify-content:space-between;align-items:center;margin:38px 0 28px;gap:20px}.sectionhead h1{font-size:clamp(27px,3vw,37px);margin:9px 0}.sectionhead p{color:#6d7890;margin:0}.eyebrow{color:#a67d21;font-size:11px;font-weight:800;letter-spacing:2.1px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 18px;flex-wrap:wrap}.month{display:flex;align-items:center;gap:15px}.month h2{min-width:225px;text-align:center;margin:0;font-size:23px}.month a{background:white;border:1px solid #d9e0ec;border-radius:9px;padding:5px 14px;font-size:28px}.filters{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600}.filters select{min-width:155px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #d9e1ec;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 10px 35px #162d5010}.weekday{text-align:center;background:#17345f;color:#fff;font-size:12px;font-weight:750;padding:17px 5px}.day{height:152px;min-width:0;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;padding:10px 7px;overflow:auto}.day:nth-child(7n){border-right:0}.day.outside{background:#f8f9fc}.day.outside .date{opacity:.42}.todayDay{background:#fffaf0}.date{font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:space-between;padding:0 5px 7px}.date span{color:#a67413;font-size:10px}.entries{display:grid;gap:4px}.event{display:block;width:100%;text-align:left;border:0;border-left:3px solid currentColor;padding:5px 6px;border-radius:4px;font-weight:700;font-size:11px;line-height:1.4;overflow-wrap:anywhere}.event:hover{filter:brightness(.95)}.eventTime{font-size:10px;display:block;font-weight:500}.cat-0{color:#167145;background:#e5f6ed}.cat-1{color:#a13a22;background:#fff0e9}.cat-2{color:#2d65bc;background:#e9f1ff}.cat-3{color:#7443ad;background:#f3ebff}.cat-4{color:#a47909;background:#fff7d8}.cat-5{color:#667085;background:#eef0f4}.legend{display:flex;gap:18px;flex-wrap:wrap;padding:20px 0 45px;font-size:12px;color:#54637b}.legend span{display:flex;gap:7px;align-items:center}.dot{display:inline-block;width:11px;height:11px;border-radius:50%;background:currentColor}footer{background:#eaeff7;color:#60708a;font-size:12px;padding:22px 0;margin-top:35px}.panel{background:#fff;border:1px solid #e0e6ef;border-radius:14px;padding:27px;box-shadow:0 8px 35px #19365c0b}.panel h2{margin:0 0 25px;font-size:21px}.admgrid{display:grid;grid-template-columns:minmax(340px,.95fr) minmax(340px,1.05fr);gap:24px;align-items:start}.eventform{display:grid;gap:15px}label{font-size:13px;font-weight:700;display:block}input,select,textarea{border:1px solid #cbd5e3;border-radius:8px;background:#fff;color:#1e3353;padding:11px 12px;max-width:100%}label>input,label>select,label>textarea{display:block;width:100%;margin-top:7px}textarea{resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:13px}.weekdays{border:1px solid #e1e7ee;border-radius:8px;padding:13px;display:flex;flex-wrap:wrap;gap:10px}.weekdays[hidden]{display:none}.weekdays legend{font-size:12px;font-weight:700}.weekdays label{display:flex;align-items:center;gap:4px;font-size:12px}.buttons{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.primary,.ghost,.danger,.button{padding:10px 16px;border-radius:8px;font-weight:700;border:1px solid #c9d4e3;font-size:13px;display:inline-block;background:#fff;color:#17345f}.primary{background:#17345f;color:#fff;border-color:#17345f}.danger{color:#a42f2f;border-color:#e8ced1}.adminEvents{max-height:840px;overflow:auto}.adminEvent{border-bottom:1px solid #e6ecf4;padding:15px 0}.adminEvent:first-child{padding-top:0}.adminEvent h3{font-size:16px;margin:11px 0 7px}.meta{font-size:12px;color:#63728a;margin-bottom:12px}.pill{display:inline-block;border-radius:5px;font-size:11px;font-weight:700;padding:4px 8px}.count{font-size:13px;background:#edf2f7;padding:5px 9px;border-radius:20px}.cancelone{display:flex;gap:8px;flex-wrap:wrap;padding-top:10px}details{margin-top:12px;font-size:12px;color:#526581}.login{max-width:440px;margin:60px auto}.login p{line-height:1.6;color:#667085}.login form{display:grid;gap:18px}.alert,.notice{padding:14px 18px;border-radius:9px;margin-top:18px;background:#fff0ef;color:#9c2929}.notice{background:#e5f5e8;color:#166d38}.mobileEvents{display:none}dialog{border:0;border-radius:16px;max-width:460px;width:calc(100% - 32px);padding:30px;box-shadow:0 20px 80px #0004;color:#172d51}dialog::backdrop{background:#071d3990}dialog h2{margin:20px 0 14px}.close{float:right;font-size:25px;background:none;border:0;color:#667085}.desc{white-space:pre-wrap;line-height:1.5;color:#52627a}
@media(max-width:820px){.wrap{padding:0 15px}.heading{height:83px}.brand b{font-size:15px}.brand small{font-size:8px;letter-spacing:1px}.crest{width:42px;height:42px;font-size:12px}.adminlink{font-size:11px;padding:8px}.admgrid{grid-template-columns:1fr}.calendar{display:none}.mobileEvents{display:block}.mobileEvents h2{font-size:19px}.mobileDay{background:#fff;border:1px solid #e1e6ed;border-radius:10px;margin:10px 0;padding:14px}.mobileDay>b{display:block;margin-bottom:12px}.mobileLine{border-top:1px solid #edf0f5;padding:10px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px}.month h2{font-size:18px;min-width:180px}.sectionhead{margin-top:26px}.legend{padding-bottom:10px}}
@media(max-width:450px){.filters{width:100%;justify-content:space-between}.sectionhead h1{font-size:26px}.two{grid-template-columns:1fr}.panel{padding:18px}}

#customCategoryWrap[hidden]{display:none}

.brandLogo{max-width:240px;max-height:76px;width:auto;height:auto;object-fit:contain}.logoPanel{margin-bottom:24px;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}.logoPanel h2{margin:0 0 8px}.logoPanel p{font-size:13px;color:#64748b}.logoPanel form{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.logoPreview{max-width:230px;max-height:110px;object-fit:contain;padding:10px;border:1px solid #e3e9f1;border-radius:8px}@media(max-width:820px){.brandLogo{max-width:150px;max-height:58px}}

/* Filtros combináveis e link opcional */
.filters{flex-wrap:wrap;justify-content:flex-end}.categoryChoices{display:flex;flex-wrap:wrap;gap:7px}.choice{display:inline-flex;align-items:center;gap:6px;cursor:pointer;background:#fff;border:1px solid #d5deea;border-radius:20px;padding:8px 10px;white-space:nowrap;font-size:12px}.choice:has(input:checked){background:#17345f;color:white;border-color:#17345f}.choice input{accent-color:#c9a751;margin:0;cursor:pointer}.filterTitle{font-size:12px}.learnMore{display:inline-block;margin-top:8px;background:#17345f;color:#fff;border-radius:8px;padding:11px 15px;font-weight:700;font-size:13px}.learnMore[hidden]{display:none}@media(max-width:820px){.filters{justify-content:flex-start}.categoryChoices{width:100%}}

/* v1.5 — calendário mensal completo em telas pequenas */
@media (max-width:820px){
  .calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-radius:9px;overflow:hidden}
  .weekday{font-size:10px;padding:10px 0}
  .day{height:90px;padding:5px 3px;overflow:hidden}
  .date{padding:0 1px 5px;font-size:11px}
  .date span{font-size:7px}
  .entries{gap:3px;max-height:63px;overflow-y:auto;scrollbar-width:thin}
  .event{font-size:9px;line-height:1.3;padding:3px 2px;border-left-width:2px;min-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .eventTime{display:none}
  .mobileEvents{display:block;margin-top:22px}
}
@media (max-width:480px){
  .wrap{padding:0 9px}
  .calendar{border-radius:7px}
  .weekday{font-size:9px;padding:9px 0}
  .day{height:77px;padding:4px 2px}
  .date{font-size:10px;padding:0 1px 4px}
  .date span{font-size:6px;letter-spacing:-.3px}
  .entries{max-height:55px;gap:2px}
  .event{font-size:8px;padding:3px 1px;min-height:18px;border-left-width:2px}
  .month{gap:6px}
  .month h2{min-width:140px;font-size:17px}
  .month a{font-size:22px;padding:4px 11px}
  .categoryChoices{gap:5px}
  .choice{font-size:11px;padding:7px 9px}
  dialog{padding:20px}
}
@media (max-width:360px){
  .day{height:68px}
  .entries{max-height:47px}
  .event{min-height:16px;font-size:7px}
  .date{font-size:9px}
}

/* Estatísticas do administrador */
.analytics{margin-bottom:24px}.statGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.statGrid>div{background:#f3f6fc;border:1px solid #d9e1ef;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:7px}.statGrid strong{font-size:29px;color:#112d55}.statGrid small{color:#455777}.statsTable{overflow-x:auto}.statsTable table{width:100%;border-collapse:collapse;text-align:left}.statsTable td,.statsTable th{border-bottom:1px solid #dbe3ed;padding:10px}.statsTable th{color:#17345d}@media(max-width:650px){.statGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.statGrid strong{font-size:24px}}

/* v1.7 — menu do painel administrativo */
.adminTabs{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap;margin:-4px 0 24px;padding:8px;background:#eaf0f8;border:1px solid #d8e2ef;border-radius:14px}
.adminTab{border:1px solid transparent;border-radius:9px;padding:14px 18px;background:transparent;color:#344c70;font-weight:750;font-size:14px;transition:background .15s ease,border-color .15s ease}
.adminTab:hover{background:#fff9}.adminTab.active{background:#17345f;color:#fff;border-color:#17345f;box-shadow:0 3px 9px #17345f25}
.adminTab:focus-visible{outline:3px solid #e0b755;outline-offset:2px}.tabCount{margin-left:4px;opacity:.85}
.adminPane[hidden]{display:none!important}.adminPane>.panel{max-width:100%}.adminPane .analytics{margin-bottom:0}
#pane-novo>.panel{max-width:800px}#pane-identidade .logoPanel{margin-bottom:0}
#pane-eventos .adminEvents{max-height:none;overflow:visible}#pane-eventos .adminEvents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#pane-eventos .adminEvent{border:1px solid #e3e8f0;border-radius:10px;padding:16px}
@media(max-width:820px){.adminTabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.adminTab{font-size:12px;padding:12px 7px}#pane-eventos .adminEvents{grid-template-columns:1fr}}
@media(max-width:420px){.adminTab{font-size:11px}}

/* v1.8 — Filtro administrativo e visão detalhada por dia em PC e celular */
.adminEventFilters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:-6px 0 22px}
.adminEventFilters label{display:flex;flex-direction:column;gap:7px}
.adminEventFilters select{min-width:220px}
#adminFilterCount{font-size:12px;color:#526581;padding-bottom:11px}
.adminEvent[hidden],#adminNoMatches[hidden]{display:none!important}
.noMatches{padding:18px;background:#f4f7fc;border-radius:9px;color:#526581}
.calendar .day{cursor:pointer}
.calendar .day:focus-visible{outline:3px solid #d5a53e;outline-offset:-3px;z-index:1}
.calendar .day:hover{background:#f5f9ff}.calendar .day.todayDay:hover{background:#fff2d9}
.dayDetailsEvents{display:grid;gap:9px;max-height:min(65vh,550px);overflow-y:auto;margin-top:12px}
.dayEventItem{display:flex;align-items:center;text-align:left;gap:11px;width:100%;padding:13px;border:1px solid #e1e7f0;background:#fbfcff;border-radius:10px;color:#17345f}
.dayEventItem:hover{border-color:#8eaad0;background:#f1f6ff}
.dayEventItem .pill{flex-shrink:0}.dayEventInfo{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}.dayEventInfo small{color:#5b6b80}
.dayCount{margin:0 0 4px;font-size:13px;color:#63728a}.emptyDay{line-height:1.6;padding:17px;background:#f4f7fc;border-radius:10px;color:#526581}
@media(max-width:600px){.adminEventFilters{align-items:stretch;flex-direction:column;gap:2px}.adminEventFilters label,.adminEventFilters select{width:100%}#adminFilterCount{padding:6px 0}.dayEventItem{padding:11px;align-items:flex-start;flex-wrap:wrap}.dayEventInfo{flex:1;min-width:150px}}

/* v1.9 — interface refinada dos cadastros e navegação entre janelas */
.adminEvents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px;max-height:none;overflow:visible}
.adminEvent{min-width:0;padding:20px!important;border:1px solid #dee6f1;border-radius:15px;background:linear-gradient(145deg,#fff 60%,#fafcff);box-shadow:0 2px 8px #18365c08;transition:box-shadow .18s,transform .18s,border-color .18s}
.adminEvent:hover{border-color:#bbcee6;box-shadow:0 10px 25px #19365c14;transform:translateY(-1px)}
.adminEventTop{display:flex;justify-content:space-between;align-items:center;gap:9px;flex-wrap:wrap}
.adminEventDate{font-size:11px;color:#66758c}.adminEvent h3{line-height:1.35;font-size:16px;margin:15px 0 7px;letter-spacing:-.2px}
.adminEvent .meta{margin-bottom:17px;line-height:1.5}.adminEvent .buttons{gap:8px}
.adminEvent .buttons .ghost,.adminEvent .buttons .danger{min-width:83px;text-align:center}
.adminEvent details{padding-top:12px;border-top:1px solid #edf0f6;margin-top:17px}
.adminEventFilters{background:#f6f9fd;padding:15px 17px;border-radius:12px;margin:0 0 20px;border:1px solid #e5ebf3;align-items:center}
.adminEventFilters label{font-size:12px;color:#344b6c}.adminEventFilters select{background:white;min-width:235px}
#adminFilterCount{margin-left:auto;padding:0 3px;color:#59708b;font-weight:700}
dialog.dayModal,dialog.eventModal{max-width:530px;width:calc(100% - 24px);padding:27px;border:1px solid #e5ebf4;border-radius:20px;box-shadow:0 35px 100px #071b3f55}
dialog.dayModal h2,dialog.eventModal h2{margin:12px 0 20px;letter-spacing:-.6px;font-size:clamp(21px,3vw,26px)}
.dayDetailsEvents{max-height:min(60vh,560px);gap:10px;padding:2px 5px 4px 1px;margin:0}
.dayEventItem{border-radius:13px;padding:14px 13px;background:white;box-shadow:0 2px 8px #1d3b6507;transition:background .15s,border-color .15s,transform .15s}
.dayEventItem:hover{transform:translateX(2px)}.dayEventInfo strong{font-size:14px;line-height:1.35}.dayEventInfo small{font-size:12px;line-height:1.4}
.dayCount{background:#eef3fa;border-radius:9px;padding:10px 12px;color:#385274;font-weight:700}
.backToDay{border:0;background:#edf3fb;color:#17345f;border-radius:9px;padding:10px 12px;margin-bottom:17px;font-size:12px;font-weight:800;display:inline-flex;gap:8px;align-items:center}
.backToDay[hidden]{display:none!important}.backToDay:hover{background:#dfeaf8}
.eventModal .close,.dayModal .close{float:right;background:#f1f5fa;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:23px;line-height:1}
@media(max-width:760px){.adminEvents{grid-template-columns:1fr}.adminEvent{padding:17px!important}.adminEventFilters{align-items:stretch;gap:9px}#adminFilterCount{margin-left:0}.dayDetailsEvents{max-height:65dvh}dialog.dayModal,dialog.eventModal{padding:21px;max-height:90dvh;overflow-y:auto}.dayEventItem{align-items:flex-start}.dayEventInfo{min-width:0}}

/* v2.0: cabeçalho com voltar fixo à esquerda da identificação da programação */
.eventModal .detailsHeader{display:flex;align-items:center;gap:12px;margin-bottom:20px;min-height:38px}
.eventModal .detailsHeader .eyebrow{flex:1}
.eventModal .detailsHeader .close{float:none;margin:0;flex:0 0 34px}
.eventModal .detailsHeader .backToDay{padding:0;margin:0;width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border-radius:50%;font-size:23px;line-height:1;transition:background .15s}
.eventModal .detailsHeader .backToDay:hover{background:#dfeaf8}
.eventModal .detailsHeader .backToDay[hidden]{display:none!important}
.eventModal .detailsHeader + .pill{margin-top:0}
@media(max-width:600px){.eventModal .detailsHeader{gap:10px}.eventModal .detailsHeader .eyebrow{font-size:10px;letter-spacing:1.6px}}
