/* Calendário FPS – estilos isolados em #fps-cal-app para não interferir no tema */
#fps-cal-app{margin:0;padding:0;text-align:left}
#fps-cal-app h1,#fps-cal-app h2,#fps-cal-app h3,#fps-cal-app h4,#fps-cal-app p,#fps-cal-app article,#fps-cal-app section,#fps-cal-app header,#fps-cal-app footer,#fps-cal-app nav,#fps-cal-app aside,#fps-cal-app form,#fps-cal-app label{margin:0;padding:0;border:0;background:none;color:inherit;font-family:inherit;letter-spacing:normal;text-transform:none;line-height:inherit;box-shadow:none}
#fps-cal-app button{background:none;border:0;border-radius:0;box-shadow:none;margin:0;padding:0;min-height:0;text-transform:none;letter-spacing:inherit;line-height:inherit;font:inherit;color:inherit}
#fps-cal-app button:hover,#fps-cal-app button:focus{background-color:transparent;color:inherit;box-shadow:none}
#fps-cal-app a{box-shadow:none}
#fps-cal-app select,#fps-cal-app input,#fps-cal-app textarea{max-width:none;min-height:0;box-shadow:none;margin:0}
#fps-cal-app{margin:0}
#fps-cal-app img{max-width:100%}
#fps-cal-app [hidden]{display:none!important}
#fps-cal-app{
  
  --bg:#ffffff; --surface:#ffffff; --sunk:#f2f6f3; --fg:#13201a; --muted:#56675e; --line:#d3dcd6; --nav:#56675e;
  --felt:#0e5a39; --felt-ink:#ffffff; --green:#0e5a39; --red:#b8232b; --ink:#1c1c1c; --gold:#9a6d14; --blue:#23519c;
  --display:"Archivo Black","Arial Black",Arial,sans-serif;
  --body:"Roboto",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --mono:"Roboto Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  color-scheme:light;
}
#fps-cal-app *{box-sizing:border-box}
#fps-cal-app{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:15px;line-height:1.45}
#fps-cal-app .wrap{max-width:1080px;margin:0 auto;padding-inline:16px;padding-block:20px 56px}
#fps-cal-app button,#fps-cal-app input,#fps-cal-app select{font:inherit;color:inherit}
#fps-cal-app button{cursor:pointer}
#fps-cal-app :focus-visible{outline:2px solid var(--felt);outline-offset:2px}
#fps-cal-app .top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-bottom:16px;border-bottom:1px solid var(--line)}
#fps-cal-app .brand{display:flex;align-items:center;gap:18px 22px;flex-wrap:wrap}
#fps-cal-app .brand img{height:62px;width:auto;display:block}
#fps-cal-app .brand small{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--nav);font-weight:500}
#fps-cal-app .brand h1{font-family:var(--display);font-weight:400;font-size:clamp(24px,4.2vw,34px);line-height:1.05;margin:2px 0 0;text-transform:uppercase;letter-spacing:.01em}
#fps-cal-app .brand h1 span{color:var(--green)}
#fps-cal-app .balls{display:flex;gap:5px;margin-top:10px}
#fps-cal-app .balls i{width:10px;height:10px;border-radius:50%;display:block}
#fps-cal-app .admin-btn{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 14px;font-weight:600;font-size:13px;display:inline-flex;gap:8px;align-items:center}
#fps-cal-app .admin-btn svg{width:14px;height:14px}
#fps-cal-app .next{margin-top:22px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;background:var(--felt);color:var(--felt-ink);border-radius:14px;padding:18px 22px}
#fps-cal-app .next .when{font-family:var(--mono);font-weight:700;line-height:1;text-align:center;min-width:72px}
#fps-cal-app .next .when b{display:block;font-size:40px}
#fps-cal-app .next .when span{font-size:14px;letter-spacing:.12em;text-transform:uppercase}
#fps-cal-app .next .lbl{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;opacity:.8}
#fps-cal-app .next h2{font-family:var(--mono);font-size:22px;line-height:1.15;margin:4px 0 4px;font-weight:700;text-transform:uppercase;text-wrap:balance}
#fps-cal-app .next p{margin:0;font-size:14px;opacity:.9;min-width:0}
#fps-cal-app .next .cd{font-family:var(--mono);font-size:18px;font-weight:700;text-align:right;white-space:nowrap}
@media (max-width:640px){#fps-cal-app .next{grid-template-columns:auto 1fr;gap:6px 14px;padding:16px}
#fps-cal-app .next .when{grid-row:span 2;align-self:start;min-width:0}
#fps-cal-app .next .when b{font-size:30px}
#fps-cal-app .next h2{font-size:22px}
#fps-cal-app .next .cd{grid-column:2;text-align:left;font-size:16px}}
#fps-cal-app .months{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;margin-top:22px}
#fps-cal-app .mo{border:1px solid var(--line);background:var(--surface);border-radius:8px;font-family:var(--mono);padding:6px 2px 7px;text-align:center;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
#fps-cal-app .mo .dots{display:flex;justify-content:center;flex-wrap:wrap;gap:2px;margin-top:4px;min-height:6px}
#fps-cal-app .mo .dots i{width:5px;height:5px;border-radius:50%;background:var(--red)}
#fps-cal-app .mo .dots i.sn{background:var(--ink)}
#fps-cal-app .mo.on{border-color:var(--felt);color:var(--fg);box-shadow:inset 0 0 0 1px var(--felt)}
#fps-cal-app .mo.now{color:var(--felt)}
#fps-cal-app .mo:disabled{opacity:.45;cursor:default}
@media (max-width:640px){#fps-cal-app .months{grid-template-columns:repeat(6,1fr)}}
#fps-cal-app .filters{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-top:16px}
#fps-cal-app .seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;background:var(--surface);padding:3px}
#fps-cal-app .seg button{border:0;background:none;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600;color:var(--muted)}
#fps-cal-app .seg button[aria-pressed="true"]{background:var(--fg);color:var(--bg)}
#fps-cal-app .search{flex:1 1 200px;min-width:0;border:1px solid var(--line);border-radius:999px;background:var(--surface);padding:7px 14px;font-size:14px}
#fps-cal-app .chk{display:inline-flex;gap:6px;align-items:center;font-size:13px;color:var(--muted);font-weight:500}
#fps-cal-app .count{font-size:13px;color:var(--muted);margin-top:14px}
#fps-cal-app .group{margin-top:26px}
#fps-cal-app .group h3{font-family:var(--mono);font-size:18px;font-weight:700;margin:0 0 8px;display:flex;align-items:baseline;gap:10px;text-transform:uppercase;letter-spacing:.08em}
#fps-cal-app .group h3 small{font-family:var(--body);font-size:12px;color:var(--muted);letter-spacing:0;text-transform:none;font-weight:500;letter-spacing:0;text-transform:none}
#fps-cal-app .list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}
#fps-cal-app .ev{display:grid;grid-template-columns:78px minmax(0,1fr) minmax(0,.9fr);gap:16px;padding:14px 16px;border-top:1px solid var(--line);align-items:center}
#fps-cal-app .ev:first-child{border-top:0}
#fps-cal-app .ev.past .d,#fps-cal-app .ev.past h4,#fps-cal-app .ev.past .cat,#fps-cal-app .ev.past .meta{opacity:.5}
#fps-cal-app .done-tag{color:var(--muted);background:var(--sunk);border:1px solid var(--line);border-radius:4px;padding:0 6px}
#fps-cal-app .mo.done .dots i{opacity:.35}
#fps-cal-app .ev.nat{background:var(--sunk)}
#fps-cal-app .d{font-family:var(--mono);text-align:center;line-height:1;font-variant-numeric:tabular-nums}
#fps-cal-app .d b{display:block;font-size:21px;font-weight:700;white-space:nowrap}
#fps-cal-app .d span{display:block;white-space:nowrap;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:3px}
#fps-cal-app .eyebrow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--muted)}
#fps-cal-app .ev h4{font-family:var(--mono);font-size:15.5px;font-weight:700;margin:4px 0 2px;line-height:1.25;text-transform:uppercase;letter-spacing:.01em;text-wrap:balance}
#fps-cal-app .cat{font-size:13.5px;color:var(--muted)}
#fps-cal-app .meta{display:flex;flex-direction:column;gap:6px;min-width:0}
#fps-cal-app .loc{font-size:13px;font-weight:500;display:flex;gap:6px;align-items:flex-start}
#fps-cal-app .loc svg{flex:none;width:14px;height:14px;margin-top:2px;color:var(--muted)}
#fps-cal-app a.loc{color:inherit;text-decoration:none}
#fps-cal-app a.loc span{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
#fps-cal-app a.loc:hover span{text-decoration-color:var(--felt)}
#fps-cal-app a.loc:hover svg{color:var(--felt)}
#fps-cal-app .route{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--felt);white-space:nowrap;margin-left:2px}
#fps-cal-app .next a{color:inherit;text-underline-offset:3px}
#fps-cal-app .chips{display:flex;flex-wrap:wrap;gap:5px}
#fps-cal-app .chip{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:2px 9px;border:1px solid var(--line);display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
#fps-cal-app .chip .b{width:8px;height:8px;border-radius:50%}
#fps-cal-app a.chip.tv{text-decoration:none}
#fps-cal-app a.chip.tv:hover{filter:brightness(1.15)}
#fps-cal-app .chip.tv{border-color:transparent;background:var(--felt);color:var(--felt-ink)}
#fps-cal-app .tag{border-radius:4px;padding:1px 6px;color:var(--bg);background:var(--muted)}
#fps-cal-app .tag.cbbs{background:var(--gold)}
#fps-cal-app .tag.pabsa{background:var(--blue)}
#fps-cal-app .tag.fps{background:var(--felt);color:var(--felt-ink)}
#fps-cal-app .state{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--felt)}
@media (max-width:700px){#fps-cal-app .ev{grid-template-columns:62px minmax(0,1fr);gap:10px 12px}
#fps-cal-app .meta{grid-column:2}
#fps-cal-app .d b{font-size:16px}
#fps-cal-app .next h2{font-size:18px}
#fps-cal-app .brand img{height:48px}}
#fps-cal-app .empty{padding:40px 16px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px;margin-top:24px}
#fps-cal-app .legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:28px;font-size:12.5px;color:var(--muted)}
#fps-cal-app .legend span{display:inline-flex;gap:6px;align-items:center}
#fps-cal-app footer{margin-top:14px;font-size:12px;color:var(--muted)}
#fps-cal-app .scrim{z-index:100000!important;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:20}
#fps-cal-app .drawer{z-index:100001!important;position:fixed;top:0;right:0;bottom:0;width:min(640px,100%);background:var(--bg);z-index:21;display:flex;flex-direction:column;box-shadow:-10px 0 40px rgba(0,0,0,.2);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
#fps-cal-app .dh{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}
#fps-cal-app .dh h2{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:21px;margin:0}
#fps-cal-app .dh p{margin:0;font-size:12px;color:var(--muted)}
#fps-cal-app .x{border:0;background:none;font-size:22px;line-height:1;padding:4px 8px;color:var(--muted)}
#fps-cal-app .db{flex:1;overflow:auto;padding:16px 18px}
#fps-cal-app .df{border-top:1px solid var(--line);padding:12px 18px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;background:var(--surface)}
#fps-cal-app .df .msg{font-size:13px;color:var(--muted);min-width:0}
#fps-cal-app .df .msg.err{color:var(--red)}
#fps-cal-app .btn{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 14px;font-weight:600;font-size:14px}
#fps-cal-app .btn.pri{background:var(--felt);color:var(--felt-ink);border-color:var(--felt)}
#fps-cal-app .btn.dng{color:var(--red)}
#fps-cal-app .btn:disabled{opacity:.5;cursor:default}
#fps-cal-app .form{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px}
#fps-cal-app .form h3{grid-column:1/-1;margin:0;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;font-size:16px}
#fps-cal-app .form label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--muted);min-width:0}
#fps-cal-app .form label.full{grid-column:1/-1}
#fps-cal-app .form input,#fps-cal-app .form select{border:1px solid var(--line);background:var(--bg);border-radius:7px;padding:7px 9px;font-size:14px;font-weight:500;color:var(--fg);width:100%;min-width:0}
#fps-cal-app .form .hint{font-weight:400;font-size:11.5px;color:var(--muted)}
#fps-cal-app .form select+input{margin-top:6px}
#fps-cal-app .form .acts{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:480px){#fps-cal-app .form{grid-template-columns:1fr}}
#fps-cal-app .alist{margin-top:16px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
#fps-cal-app .arow{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 12px;border-top:1px solid var(--line);font-size:13px}
#fps-cal-app .arow:first-child{border-top:0}
#fps-cal-app .arow.editing{background:var(--sunk)}
#fps-cal-app .arow .t{min-width:0}
#fps-cal-app .arow .t b{display:block;font-weight:600;overflow-wrap:anywhere}
#fps-cal-app .arow .t span{color:var(--muted);font-size:12px}
#fps-cal-app .arow .dd{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px}
#fps-cal-app .arow .ab{display:flex;gap:4px}
#fps-cal-app .arow .ab button{border:1px solid var(--line);background:var(--bg);border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600}
#fps-cal-app .arow .ab button.del{color:var(--red)}
#fps-cal-app .ahead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px}
#fps-cal-app .ahead h3{margin:0;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;font-size:16px}
#fps-cal-app .ahead label{font-size:13px;color:var(--muted);display:flex;gap:6px;align-items:center}
#fps-cal-app .ahead input{width:80px;border:1px solid var(--line);background:var(--bg);border-radius:6px;padding:4px 6px}
#fps-cal-app .home{margin-top:20px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px}
#fps-cal-app .home h3{margin:0 0 4px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;font-size:16px}
#fps-cal-app .home p{margin:0 0 10px;font-size:13px;color:var(--muted)}
#fps-cal-app .home .warn{color:var(--gold);font-weight:600}
#fps-cal-app .home .acts{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#fps-cal-app .home .hint{font-size:12.5px;color:var(--muted)}
#fps-cal-app .home textarea{width:100%;margin-top:10px;font-family:var(--mono);font-size:11px;border:1px solid var(--line);border-radius:8px;padding:8px;background:var(--sunk);color:var(--fg);resize:vertical}
#fps-cal-app .dirty{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gold);margin-right:6px}
@media (prefers-reduced-motion:no-preference){#fps-cal-app .drawer{z-index:100001!important;animation:slide .22s ease-out}
@keyframes slide{from{transform:translateX(30px);opacity:.6}}}

/* Adicionar à agenda */
#fps-cal-app .ag{margin-top:6px;font-size:12px}
#fps-cal-app .ag summary{display:inline-block;cursor:pointer;list-style:none;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--felt);border:1px dashed var(--felt);border-radius:999px;padding:2px 10px}
#fps-cal-app .ag summary::-webkit-details-marker{display:none}
#fps-cal-app .ag[open] summary{background:var(--felt);color:var(--felt-ink);border-style:solid}
#fps-cal-app .ag-op{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px}
#fps-cal-app .ag-op a{color:var(--felt);font-weight:600;text-underline-offset:3px}
#fps-cal-app .ag-sub{margin-top:28px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--sunk);font-size:13.5px;color:var(--muted)}
#fps-cal-app .ag-sub b{color:var(--fg)}
#fps-cal-app .ag-sub a{color:var(--felt);font-weight:700;text-underline-offset:3px}
#fps-cal-app .ag-sub+.legend{margin-top:16px}
#fps-cal-app #fps-proximo{margin-top:20px}
/* Celular: eventos no mesmo formato do bloco do próximo torneio */
@media (max-width:640px){
#fps-cal-app .ev{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 10px;padding:16px;align-items:start}
#fps-cal-app .ev>.ev-main,#fps-cal-app .ev>.meta,#fps-cal-app .ev .chips{display:contents}
#fps-cal-app .ev .d{order:1;grid-column:1;justify-self:start;align-self:center;display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:5px 10px;text-align:left}
#fps-cal-app .ev .d b{font-size:18px}
#fps-cal-app .ev .d span{display:inline;margin:0;font-size:11.5px}
#fps-cal-app .ev .eyebrow{order:2;grid-column:1/-1;justify-self:start;margin-top:12px}
#fps-cal-app .ev h4{order:3;grid-column:1/-1;margin:4px 0 2px;font-size:16px}
#fps-cal-app .ev .tv-org,#fps-cal-app .ev .ag-full{display:none}
#fps-cal-app .ev .d{grid-column:1/-1}
#fps-cal-app .ev .cat{order:4;grid-column:1/-1}
#fps-cal-app .ev .loc{order:5;grid-column:1/-1;margin-top:6px}
#fps-cal-app .ev .chip.mod{order:6;grid-column:1/-1;justify-self:start;margin-top:8px}
#fps-cal-app .ev .chip.tv{order:7;grid-column:1;margin-top:12px;justify-content:center;padding:9px 8px;border-radius:10px}
#fps-cal-app .ev .ag{order:8;grid-column:2;margin-top:12px}
#fps-cal-app .ev .ag summary{display:block;text-align:center;padding:8px;border-radius:10px}
#fps-cal-app .ev .ag-op{flex-direction:column;align-items:center;gap:8px;margin-top:10px;text-align:center}
#fps-cal-app .ev-semtv .ag{grid-column:1/-1}
#fps-cal-app .ev-semag .chip.tv{grid-column:1/-1}
}
/* WhatsApp e alterações */
#fps-cal-app .wa{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:12px;font-weight:700;color:var(--felt);text-decoration:none}
#fps-cal-app .wa:hover span{text-decoration:underline;text-underline-offset:3px}
#fps-cal-app .alt{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#7a4a00;background:#fdf0d5;border:1px solid #f0d49a;border-radius:4px;padding:1px 6px}
@media (max-width:640px){
#fps-cal-app .ev .wa{order:9;grid-column:1/-1;justify-content:center;margin-top:10px;padding:9px;border:1.5px solid var(--line);border-radius:10px;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase}
}
/* Ferramentas da área restrita */
#fps-cal-app .ferr{margin-top:20px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px}
#fps-cal-app .ferr h3{margin:0 0 4px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;font-size:16px}
#fps-cal-app .ferr p{margin:0 0 10px;font-size:13px;color:var(--muted)}
#fps-cal-app .frow{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
#fps-cal-app .frow label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--muted)}
#fps-cal-app .frow select{border:1px solid var(--line);background:var(--bg);border-radius:7px;padding:7px 9px;font-size:14px;color:var(--fg)}
#fps-cal-app .img-out{margin-top:12px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
#fps-cal-app .img-out img{max-width:240px;width:100%;border-radius:8px;border:1px solid var(--line)}
#fps-cal-app .img-out a.btn{text-decoration:none}
