: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}}
