/* Layout: placar de mesa em uma tela — relógio no topo, equipes lado a lado, súmula rolando embaixo. Visual único escuro (água/raia). */
:root{
  color-scheme: dark;
  --water:#0A1C24;      /* fundo */
  --lane:#10303B;       /* superfícies */
  --lane-2:#164150;     /* superfícies elevadas */
  --rope:#2A5A68;       /* bordas */
  --foam:#E8F3F2;       /* texto */
  --mist:#93B4B8;       /* texto secundário */
  --ball:#F5C518;       /* destaque (bola) */
  --go:#2FCB86; --stop:#F0533F; --warn:#F5C518; --green-card:#2FCB86; --yellow-card:#F5C518; --red-card:#F0533F;
  --f-display:"Saira Condensed","Arial Narrow",system-ui,sans-serif;
  --f-body:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:14px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{margin:0}
html,body{background:var(--water);color:var(--foam)}
body{font-family:var(--f-body);font-size:15px;-webkit-tap-highlight-color:transparent;
  padding-left:max(12px, env(safe-area-inset-left,0px));padding-right:max(12px, env(safe-area-inset-right,0px));padding-block:10px 24px}
@media (min-width:420px){body{padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px))}}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--ball);outline-offset:2px}
.num{font-family:var(--f-display);font-variant-numeric:tabular-nums}

.app{max-width:1100px;margin:0 auto;display:grid;gap:12px;
  grid-template-areas:"top" "clock" "teams" "log"}
@media (orientation:landscape) and (min-width:760px){
  .app{grid-template-columns:1fr 1.1fr 1fr;grid-template-areas:"top top top" "t0 clock t1" "log log log"}
  .teams{display:contents!important}
  .teams>.team:nth-child(1){grid-area:t0}.teams>.team:nth-child(2){grid-area:t1}
}

/* Topo */
.top{grid-area:top;display:flex;align-items:center;gap:8px}
.phase{flex:1;min-width:0}
.phase b{display:block;font-family:var(--f-display);font-weight:800;font-size:22px;letter-spacing:.02em;text-transform:uppercase;line-height:1}
.phase small{color:var(--mist);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.icon-btn{height:40px;padding:0 12px;border-radius:10px;background:var(--lane);border:1px solid var(--rope);font-weight:600;font-size:13px;display:inline-flex;align-items:center;gap:6px}
.icon-btn svg{width:18px;height:18px}
@media (max-width:520px){.top .icon-btn .t{display:none}.top .icon-btn{width:42px;padding:0;justify-content:center}}
.games{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.games li{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.game-row{display:grid;gap:4px;text-align:left;background:var(--water);border:1px solid var(--rope);border-radius:12px;padding:10px 12px;min-width:0}
.game-row .when{font-size:12px;color:var(--mist)}
.game-row .sc{display:flex;align-items:center;gap:8px;min-width:0;font-weight:600}
.game-row .sc .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.game-row .sc .nm:last-child{text-align:right}
.game-row .sc .num{font-size:24px;font-weight:800}
.tag{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border-radius:6px;background:var(--lane-2);color:var(--mist);margin-left:6px}
.search{margin-bottom:10px}

/* Relógio */
.clock{grid-area:clock;background:var(--lane);border:1px solid var(--rope);border-radius:var(--r);padding:12px;display:grid;gap:10px}
.clock-row{display:flex;align-items:stretch;gap:10px}
.game{flex:1;min-width:0;text-align:center;border-radius:10px;padding:2px 0}
.game .lbl,.shot .lbl{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mist);font-weight:600}
.game .val{font-size:clamp(64px,22vw,112px);font-weight:800;line-height:.95;letter-spacing:.01em}
.game.ending .val{color:var(--ball)}
.shot{width:31%;min-width:96px;background:var(--water);border:1px solid var(--rope);border-radius:10px;text-align:center;display:flex;flex-direction:column;justify-content:center;padding:6px 4px}
.shot .val{font-size:clamp(44px,13vw,64px);font-weight:800;line-height:1}
.shot.low .val{color:var(--stop)}
.shot.off{opacity:.35}
.main-row{display:grid;grid-template-columns:1fr auto auto auto;gap:6px}
.big{height:64px;border-radius:12px;font-family:var(--f-display);font-weight:800;font-size:26px;letter-spacing:.06em;text-transform:uppercase;background:var(--go);color:#062317}
.big.running{background:var(--stop);color:#2a0702}
.big.ghost{background:var(--lane-2);color:var(--mist)}
.sq{height:64px;min-width:64px;padding:0 10px;border-radius:12px;background:var(--lane-2);border:1px solid var(--rope);font-family:var(--f-display);font-weight:700;font-size:18px;line-height:1.05}
.sq small{display:block;font-family:var(--f-body);font-size:10px;font-weight:600;color:var(--mist);letter-spacing:.06em;text-transform:uppercase}
.hint{font-size:12px;color:var(--mist);text-align:center}

/* Equipes */
.teams{grid-area:teams;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.team{--tc:#2F7FE0;background:var(--lane);border:1px solid var(--rope);border-radius:var(--r);padding:10px;display:flex;flex-direction:column;gap:8px;min-width:0;position:relative;overflow:hidden}
.team::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:var(--tc)}
.team h2{margin:4px 0 0;font-family:var(--f-display);font-weight:700;font-size:20px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.score-wrap{display:flex;align-items:center;justify-content:space-between;gap:4px}
.score{font-size:clamp(64px,20vw,104px);font-weight:800;line-height:.9}
.minus{width:36px;height:36px;border-radius:50%;background:var(--water);border:1px solid var(--rope);color:var(--mist);font-size:20px;line-height:1}
.goal{height:56px;border-radius:12px;background:var(--tc);color:var(--ink,#fff);font-family:var(--f-display);font-weight:800;font-size:22px;letter-spacing:.06em}
.meta{display:flex;justify-content:space-between;gap:6px;font-size:12px;color:var(--mist);flex-wrap:wrap}
.meta b{color:var(--foam);font-weight:700}
.meta .short b{color:var(--stop)}
.cardbtns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.cb{height:48px;min-width:0;padding:0 2px;border-radius:9px;background:var(--water);border:1px solid var(--rope);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:600}
.chip{display:inline-block;width:11px;height:15px;border-radius:2px;flex:none}
.chip.g{background:var(--green-card)}.chip.y{background:var(--yellow-card)}.chip.r{background:var(--red-card)}
.to{height:44px;border-radius:9px;background:var(--lane-2);border:1px solid var(--rope);font-weight:600;font-size:13px}
.to[disabled]{opacity:.4}
.pens{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.pens li{display:flex;align-items:center;gap:6px;background:var(--water);border-radius:8px;padding:6px 8px;font-size:13px}
.pens li .num{margin-left:auto;font-size:20px;font-weight:700}
.pens li.out{color:var(--mist)}

/* Súmula */
.log{grid-area:log;background:var(--lane);border:1px solid var(--rope);border-radius:var(--r);padding:10px 12px}
.log-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.log h3{margin:0;font-family:var(--f-display);font-weight:700;font-size:17px;text-transform:uppercase;letter-spacing:.05em}
.events{list-style:none;margin:0;padding:0;max-height:300px;overflow:auto}
.events li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--rope)}
.events li:first-child{border-top:0}
.events .when{font-size:15px;color:var(--mist);min-width:62px}
.events .what{min-width:0;font-size:14px}
.events .what .tm{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}
.events .sys{color:var(--mist);font-style:italic}
.x{width:32px;height:32px;border-radius:8px;color:var(--mist);background:var(--water)}
.empty{color:var(--mist);font-size:13px;padding:8px 0}

/* Sheet */
.backdrop{position:fixed;inset:0;background:rgba(2,10,14,.66);z-index:20;display:flex;align-items:flex-end;justify-content:center}
.sheet{width:100%;max-width:640px;max-height:92%;overflow:auto;background:var(--lane);border:1px solid var(--rope);border-bottom:0;border-radius:18px 18px 0 0;
  padding:16px max(16px, env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px))}
@media (min-height:600px) and (min-width:700px){.backdrop{align-items:center}.sheet{border-radius:18px;border-bottom:1px solid var(--rope)}}
.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.sheet h3{margin:0;font-family:var(--f-display);font-size:22px;text-transform:uppercase;letter-spacing:.04em}
.grid-pl{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.pl{min-height:64px;border-radius:12px;background:var(--water);border:1px solid var(--rope);padding:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.pl .num{font-size:28px;font-weight:800;line-height:1}
.pl span{font-size:11px;color:var(--mist);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pl .marks{display:flex;gap:2px;min-height:12px}.pl .marks .chip{width:8px;height:11px}
.pl[disabled]{opacity:.35}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.seg button{height:56px;border-radius:12px;background:var(--water);border:2px solid var(--rope);font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px}
.seg button[aria-pressed="true"]{border-color:var(--ball);background:var(--lane-2)}
.note{font-size:13px;color:var(--mist);margin:0 0 12px}
.note.warn{color:var(--warn)}
.btn{height:50px;padding:0 16px;border-radius:12px;background:var(--lane-2);border:1px solid var(--rope);font-weight:700}
.btn.primary{background:var(--ball);color:#231a00;border-color:transparent}
.btn.danger{background:var(--stop);color:#2a0702;border-color:transparent}
.btn-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.btn-row .btn{flex:1}
.adj{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 14px}
.adj button{height:48px;border-radius:10px;background:var(--water);border:1px solid var(--rope);font-family:var(--f-display);font-size:20px;font-weight:700}
.adj-val{text-align:center;font-size:56px;font-weight:800;line-height:1}
fieldset{border:1px solid var(--rope);border-radius:12px;padding:12px;margin:0 0 12px;display:grid;gap:10px;min-width:0}
legend{padding:0 6px;font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--mist)}
label.f{display:grid;gap:4px;font-size:13px;color:var(--mist);min-width:0}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
input[type=text],input[type=number],textarea{width:100%;background:var(--water);color:var(--foam);border:1px solid var(--rope);border-radius:9px;padding:10px;font:inherit;font-size:16px}
textarea{min-height:150px;resize:vertical;font-family:var(--f-body)}
.check{display:flex;align-items:center;gap:10px;font-size:14px}
.check input{width:22px;height:22px;accent-color:var(--ball)}
.swatches{display:flex;gap:8px;flex-wrap:wrap}
.sw{width:34px;height:34px;border-radius:50%;border:2px solid var(--rope)}
.sw[aria-pressed="true"]{outline:3px solid var(--foam);outline-offset:2px}
.tbl-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:14px;font-variant-numeric:tabular-nums}
th,td{padding:6px 8px;border-bottom:1px solid var(--rope);text-align:left;white-space:nowrap}
th{color:var(--mist);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
td.c,th.c{text-align:center}
.final{display:flex;align-items:center;justify-content:center;gap:16px;margin:4px 0 14px}
.final .num{font-size:56px;font-weight:800}
.final div{text-align:center;min-width:0}.final small{display:block;color:var(--mist);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
h4{margin:14px 0 6px;font-family:var(--f-display);text-transform:uppercase;letter-spacing:.05em;font-size:16px}

/* Tempo técnico */
.tt{position:fixed;inset:0;z-index:30;background:var(--water);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px}
.tt small{color:var(--mist);letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.tt h2{margin:0;font-family:var(--f-display);font-size:34px;text-transform:uppercase}
.tt .num{font-size:clamp(110px,40vw,220px);font-weight:800;line-height:.9;color:var(--ball)}

.toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:40;background:var(--foam);color:var(--water);padding:12px 16px;border-radius:12px;font-weight:700;box-shadow:0 8px 30px rgba(0,0,0,.4);max-width:calc(100% - 32px);text-align:center}
@media (prefers-reduced-motion:no-preference){.toast{animation:pop .2s ease-out}@keyframes pop{from{transform:translate(-50%,10px);opacity:0}}}

/* ---------- Permissões: cada controle aparece só para quem pode usá-lo ---------- */
body:not(.p-clock) [data-perm~="clock"],body:not(.p-phase) [data-perm~="phase"],body:not(.p-timeouts) [data-perm~="timeouts"],
body:not(.p-score) [data-perm~="score"],body:not(.p-cards) [data-perm~="cards"],body:not(.p-settings) [data-perm~="settings"],
body:not(.p-history) [data-perm~="history"],body:not(.p-users) [data-perm~="users"],body:not(.p-edit) [data-perm~="edit"],
body:not(.p-staff) [data-perm~="staff"]{display:none!important}
body:not(.p-clock) .game,body:not(.p-clock) .shot{pointer-events:none}
body.publico .score{font-size:clamp(84px,26vw,140px)}

/* Selo ao vivo */
.live{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:99px;background:var(--water);border:1px solid var(--rope);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mist);white-space:nowrap}
.live i{width:8px;height:8px;border-radius:50%;background:var(--mist)}
.live.on{color:var(--foam)}.live.on i{background:var(--stop)}
@media (prefers-reduced-motion:no-preference){.live.on i{animation:blink 1.4s infinite}@keyframes blink{50%{opacity:.25}}}
@media (max-width:520px){.top .icon-btn .t{display:none}.top .icon-btn{width:42px;padding:0;justify-content:center}}

/* Abas do público */
.tabs{display:flex;gap:6px;background:var(--lane);border:1px solid var(--rope);border-radius:12px;padding:4px;grid-area:tabs}
.tabs a{flex:1;text-align:center;padding:10px 6px;border-radius:9px;color:var(--mist);text-decoration:none;font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.tabs a[aria-current="page"]{background:var(--lane-2);color:var(--foam)}
.app.with-tabs{grid-template-areas:"top" "tabs" "clock" "teams" "log"}
@media (orientation:landscape) and (min-width:760px){.app.with-tabs{grid-template-areas:"top top top" "tabs tabs tabs" "t0 clock t1" "log log log"}}
.page{display:grid;gap:12px;max-width:1100px;margin:0 auto}
.panel{background:var(--lane);border:1px solid var(--rope);border-radius:var(--r);padding:12px;min-width:0}
.panel h3{margin:0 0 8px;font-family:var(--f-display);font-weight:700;font-size:18px;text-transform:uppercase;letter-spacing:.05em}
.muted{color:var(--mist)}

/* Login */
.login{max-width:380px;margin:8vh auto 0;display:grid;gap:14px}
.brand{font-family:var(--f-display);font-weight:800;font-size:34px;text-transform:uppercase;letter-spacing:.03em;line-height:1}
.brand small{display:block;font-family:var(--f-body);font-size:13px;font-weight:600;color:var(--mist);letter-spacing:.1em;margin-top:6px}
.err{color:var(--stop);font-size:14px;min-height:1.2em;margin:0}
select{width:100%;background:var(--water);color:var(--foam);border:1px solid var(--rope);border-radius:9px;padding:10px;font:inherit;font-size:16px}
input[type=datetime-local]{width:100%;background:var(--water);color:var(--foam);border:1px solid var(--rope);border-radius:9px;padding:10px;font:inherit;font-size:16px}
.who{display:flex;align-items:center;gap:6px;max-width:44vw;min-width:0}
.who span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Campeonato */
.round{margin:12px 0 6px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mist);font-weight:700}
.match{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:10px;background:var(--water);border:1px solid var(--rope);border-radius:12px;margin-bottom:6px}
.match .tn{display:flex;align-items:center;gap:6px;min-width:0;font-weight:600}
.match .tn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.match .tn.r{justify-content:flex-end;text-align:right}
.match .dot{width:10px;height:10px;border-radius:50%;flex:none}
.match .res{font-family:var(--f-display);font-weight:800;font-size:22px;min-width:64px;text-align:center}
.match .meta2{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--mist);flex-wrap:wrap}
.match.on-air{border-color:var(--stop)}
.match.win-a .tn:first-child,.match.win-b .tn.r{color:var(--foam)}
.pill{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:6px;background:var(--lane-2);color:var(--mist)}
.pill.on-air{background:var(--stop);color:#fff}
.std td:first-child{width:28px;color:var(--mist)}
.std td.team{display:flex;align-items:center;gap:6px;white-space:nowrap}
.std td.pts{font-weight:800;color:var(--ball)}
.mini-actions{display:flex;gap:6px;flex-wrap:wrap}
.mini{height:34px;padding:0 10px;border-radius:8px;background:var(--lane-2);border:1px solid var(--rope);font-size:13px;font-weight:600}
.list-edit{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.list-edit li{display:flex;align-items:center;gap:8px;background:var(--water);border:1px solid var(--rope);border-radius:10px;padding:8px 10px}
.list-edit li .grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.teams[hidden],.clock[hidden],.log[hidden]{display:none!important}
@media (max-width:440px){.top{gap:5px}.top .icon-btn{width:38px;height:38px}.live{padding:0 8px}.live span{display:none}}
.seg.chips{grid-template-columns:repeat(4,minmax(0,1fr))}.seg.chips button{height:42px;font-size:13px;padding:0 4px}
.shot.held{border-color:var(--ball)}.shot.held .val{color:var(--ball)}
.sq.on{border-color:var(--ball);color:var(--ball)}
@media (max-width:420px){.main-row .sq{min-width:54px;padding:0 6px;font-size:16px}.main-row .sq small{font-size:9px}.big{font-size:22px}}
.app>*{min-width:0}
@media (max-width:860px){.top .icon-btn .t{display:none}.top .icon-btn{width:42px;padding:0;justify-content:center}}
.big{line-height:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:0 8px;overflow:hidden}
.big small{font-family:var(--f-body);font-size:12px;font-weight:700;letter-spacing:.08em;opacity:.8}
.sq .ic{width:20px;height:20px;display:block;margin:0 auto 2px}
body:not(.p-crew) [data-perm~="crew"]{display:none!important}
.what .by{display:block;font-size:11px;color:var(--mist);margin-top:2px}
.crew li{flex-wrap:wrap}
.crew-funcs{display:flex;gap:6px;flex-wrap:wrap}
.crew-chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border-radius:99px;border:1px solid var(--rope);background:var(--lane);font-size:13px;font-weight:600;cursor:pointer}
.crew-chip input{width:16px;height:16px;accent-color:var(--ball)}
.crew-chip:has(input:checked){border-color:var(--ball);color:var(--ball)}
.crew-note{margin:0}
/* Súmula */
.sum-head{text-align:center;margin-bottom:6px}
.sum-head>b{font-family:var(--f-display);font-size:18px;letter-spacing:.06em}
.sum-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px 12px;margin:8px 0;text-align:left}
.sum-grid div{display:grid;gap:1px;min-width:0}
.sum-grid small{font-size:11px;color:var(--mist);text-transform:uppercase;letter-spacing:.06em}
.sum-grid span{font-weight:600;overflow-wrap:anywhere}
.sum-sign{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:22px 18px;margin:14px 0 4px}
.sum-sign div{display:grid;gap:4px}
.sum-sign span{display:block;border-bottom:1px solid var(--mist);height:28px}
.sum-sign small{font-size:12px;color:var(--mist)}
.sum-t td,.sum-t th{padding:5px 6px}
@media print{
  @page{size:A4;margin:12mm}
  html,body{background:#fff!important;color:#000!important;padding:0!important}
  body.printing #root,body.printing #toast,body.printing .tt{display:none!important}
  body.printing .backdrop{position:static;background:none;display:block}
  body.printing .sheet{max-height:none;overflow:visible;border:0;padding:0;background:#fff;color:#000;max-width:none}
  body.printing .sheet-head,body.printing .no-print{display:none!important}
  body.printing .sheet *{color:#000!important;background:transparent!important;border-color:#999!important}
  body.printing .chip.g{background:#2FCB86!important}body.printing .chip.y{background:#F5C518!important}body.printing .chip.r{background:#F0533F!important}
  body.printing table{font-size:11px}body.printing th,body.printing td{border-bottom:1px solid #ccc!important}
  body.printing .final .num{font-size:36px}
}

/* marca Kpolo */
.kbrand{display:flex;align-items:center;gap:14px;text-transform:none}.kbrand .kmark{width:64px;height:64px;flex:none;border-radius:15px}.kbrand em{font-style:normal;color:#F5C518}

.grid-pl .pl.out{opacity:.4;text-decoration:line-through}
.grid-pl .susp{background:#B3261E;color:#fff;border-radius:6px;padding:1px 6px;font-size:11px;font-weight:700;text-transform:uppercase}
.disc ul{margin:6px 0 12px;padding-left:18px}.disc li{margin:4px 0}
/* menu e gestão */
body:not(.p-manage) [data-perm~="manage"]{display:none!important}
.mlist{display:grid;gap:8px;margin-bottom:6px}
.mitem{display:flex;align-items:center;gap:12px;text-align:left;width:100%;min-height:56px;padding:10px 14px;border-radius:12px;background:var(--water);border:1px solid var(--rope);color:inherit}
.mitem svg{width:22px;height:22px;flex:none;opacity:.85}
.mitem b{display:block;font-size:15px}
.mitem small{display:block;color:var(--mist);font-size:12px;margin-top:2px}
.mitem:active{background:var(--lane-2)}
.mhero{display:flex;align-items:center;gap:14px;width:100%;text-align:left;min-height:72px;padding:12px 16px;margin-bottom:12px;border-radius:14px;background:var(--ball);color:#101418;border:0}
.mhero svg{width:28px;height:28px;flex:none}
.mhero b{display:block;font-size:18px}.mhero small{display:block;font-size:13px;opacity:.8;margin-top:2px}
.mgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}
@media (min-width:640px){.mgrid{grid-template-columns:repeat(3,1fr)}}
.mtile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:104px;padding:14px;border-radius:14px;background:var(--water);border:1px solid var(--rope);color:inherit;text-align:left}
.mtile svg{width:28px;height:28px;opacity:.9}
.mtile b{font-size:16px}.mtile small{color:var(--mist);font-size:12px}
.mtile:active{background:var(--lane-2)}
input[type=search],input[type=date],input[type=tel],input[type=email]{width:100%;background:var(--water);color:var(--foam);border:1px solid var(--rope);border-radius:9px;padding:10px;font:inherit;font-size:16px;color-scheme:dark}
/* ===== atletas (cadastro, busca, ficha) ===== */
.sbox{position:relative;display:flex;align-items:center}
.sbox svg{position:absolute;left:12px;width:18px;height:18px;color:var(--mist);pointer-events:none}
.sbox input{padding-left:40px!important;height:46px;border-radius:12px}
.sbox.lg input{height:52px;font-size:17px}
.apick{margin-top:10px;display:grid;gap:8px}
.apbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}
.apick .apbar{margin:0}
.fchip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:999px;background:transparent;border:1px solid var(--rope);color:var(--mist);font-size:13px;font-weight:600;cursor:pointer}
.fchip input{width:16px;height:16px;accent-color:var(--ball)}
.fchip[aria-pressed="true"],.fchip.on{border-color:var(--ball);color:var(--foam);background:rgba(245,197,24,.08)}
.seg2{display:inline-flex;padding:3px;border-radius:12px;background:var(--water);border:1px solid var(--rope)}
.seg2 button{height:36px;padding:0 14px;border-radius:9px;font-weight:600;font-size:13px;color:var(--mist);background:transparent;border:0}
.seg2 button[aria-pressed="true"]{background:var(--lane-2);color:var(--foam);box-shadow:0 1px 0 rgba(255,255,255,.04) inset}
.btn.sm{height:38px;padding:0 14px;border-radius:10px;font-size:14px}
.grow{flex:1;min-width:0}
.lhead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:14px 2px 8px;color:var(--mist);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.linkbtn{background:none;border:0;color:var(--ball);font-weight:600;font-size:13px;padding:6px 2px;text-transform:none;letter-spacing:0}
.alist,.apList{display:grid;border:1px solid var(--rope);border-radius:14px;overflow:hidden;background:var(--water)}
.apList{max-height:340px;overflow:auto}
.arow,.grow-row{display:flex;align-items:center;gap:12px;width:100%;min-height:62px;padding:10px 14px;text-align:left;background:transparent;border:0;border-top:1px solid rgba(42,90,104,.55);color:inherit}
.alist>:first-child,.apList>:first-child{border-top:0}
.arow:active,.grow-row:active{background:var(--lane)}
@media (hover:hover){.arow:hover,.grow-row:hover{background:var(--lane)}}
.arow b,.grow-row b{display:block;font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arow small,.grow-row small{display:block;font-size:12.5px;color:var(--mist);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.av{--h:200;flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:14px;letter-spacing:.02em;
  color:hsl(var(--h) 70% 88%);background:hsl(var(--h) 38% 26%);border:1px solid hsl(var(--h) 40% 38%)}
.av.xl{width:64px;height:64px;font-size:22px}
.nb{flex:none;min-width:34px;height:28px;padding:0 8px;border-radius:8px;display:grid;place-items:center;font-family:var(--f-display);font-weight:800;font-size:16px;background:var(--lane-2);border:1px solid var(--rope)}
.chev{flex:none;color:var(--mist);font-size:22px;line-height:1;opacity:.6}
.tick{flex:none;width:24px;height:24px;border-radius:50%;border:2px solid var(--rope)}
.arow.on{background:rgba(47,203,134,.07)}
.arow.on .tick{background:var(--go);border-color:var(--go);box-shadow:inset 0 0 0 4px var(--water)}
.kpill{display:inline-block;font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:var(--lane-2);color:var(--mist);vertical-align:2px;margin-left:4px}
.kempty{padding:22px 16px;text-align:center;color:var(--mist);font-size:14px;line-height:1.5}
.fold{margin-top:16px;border:1px solid var(--rope);border-radius:12px;padding:10px 14px}
.fold summary{cursor:pointer;color:var(--mist);font-size:14px}
.fold summary b{color:var(--foam)}
.note.small{font-size:12px;margin-top:14px}
.phead{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.phead h2{margin:0;font-family:var(--f-display);font-size:26px;line-height:1.05;text-transform:uppercase;letter-spacing:.01em}
.phead p{margin:2px 0 6px;color:var(--mist);font-size:14px}
.phead .tags .kpill{margin:0 4px 0 0}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;margin:0 0 14px;border:1px solid var(--rope);border-radius:12px;overflow:hidden;background:var(--rope)}
.facts div{background:var(--water);padding:8px 12px}.facts dt{font-size:11px;color:var(--mist);text-transform:uppercase;letter-spacing:.06em}.facts dd{margin:2px 0 0;font-weight:600}
.astats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:4px 0 10px}
.astat{background:var(--lane);border:1px solid var(--rope);border-radius:12px;padding:10px 6px;text-align:center}
.astat b{display:block;font-family:var(--f-display);font-size:26px;line-height:1.1}
.astat small{color:var(--mist);font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.astat.hi b{color:var(--ball)}
.cardsum{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--rope);border-radius:12px;font-weight:700;font-size:15px}
.cardsum>span{display:inline-flex;align-items:center;gap:6px}
.cardsum>span:first-child{color:var(--mist);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.cd{display:inline-grid;place-items:center;width:14px;height:19px;border-radius:3px;font-style:normal;font-size:10px;font-weight:800;color:#101418;flex:none}
.cd.g{background:var(--green-card)}.cd.y{background:var(--yellow-card)}.cd.r{background:var(--red-card)}
.grow-row .cd{width:16px;height:22px}
.kres{flex:none;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-weight:800;font-size:13px;background:var(--lane-2);color:var(--mist)}
.kres.w{background:rgba(47,203,134,.16);color:var(--go)}.kres.l{background:rgba(240,83,63,.15);color:var(--stop)}
.gl{flex:none;text-align:center;font-family:var(--f-display);font-weight:800;font-size:20px;line-height:1;color:var(--ball)}
.gl small{display:block;font-family:var(--f-body);font-size:10px;color:var(--mist);font-weight:600;margin:0}
@media (max-width:400px){.astats{grid-template-columns:repeat(2,1fr)}.cardsum small{flex-basis:100%}}
.apList[hidden]{display:none}
.arow>.grow,.grow-row>.grow{overflow:hidden}
.sbox input:focus-visible{outline:none;border-color:var(--ball);box-shadow:0 0 0 3px rgba(245,197,24,.22)}
.atools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.atools .btn{height:46px}
.seg2.full{display:flex;width:100%}.seg2.full button{flex:1}
.alist,.apList{grid-template-columns:minmax(0,1fr)}
/* resumo do dia */
.sumhead{display:flex;align-items:center;gap:10px}
.sumhead .mini{width:40px;height:40px;font-size:22px;padding:0}
.sumhead .mini:disabled{opacity:.3}
.sumhead b{display:block;font-size:17px}.sumhead small{color:var(--mist);font-size:13px}
.astats.three{grid-template-columns:repeat(3,1fr)}
.sc{font-family:var(--f-display);color:var(--ball);font-size:19px;margin:0 4px}
.presentes{margin:0;padding:12px 14px;border:1px solid var(--rope);border-radius:14px;background:var(--water);line-height:1.6;font-size:14px}
.sumcard{margin-top:16px;border-radius:16px;overflow:hidden;border:1px solid var(--rope)}
.sumcard canvas{display:block;width:100%;height:auto}
.btn.wa{background:#25D366;color:#062b14;border-color:transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btn.wa svg{width:20px;height:20px}
.btn.full{width:100%;margin-top:14px}
/* agenda e presença */
.dbadge{flex:none;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;align-content:center;background:var(--lane-2);border:1px solid var(--rope);line-height:1}
.dbadge b{font-family:var(--f-display);font-size:20px}.dbadge small{font-size:10.5px;color:var(--mist);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}
.dbadge.on{background:rgba(245,197,24,.14);border-color:var(--ball)}.dbadge.on b{color:var(--ball)}
.cnt{flex:none;text-align:center;min-width:38px;line-height:1}.cnt b{display:block;font-family:var(--f-display);font-size:20px;color:var(--go)}.cnt small{font-size:10.5px;color:var(--mist);margin:0}
.cnt.no b{color:var(--stop)}
.kpill.red{background:rgba(240,83,63,.15);color:var(--stop)}.kpill.green{background:rgba(47,203,134,.16);color:var(--go)}
.stp{flex:none;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--lane-2);color:var(--mist)}
.stp.ok{background:rgba(47,203,134,.16);color:var(--go)}.stp.no{background:rgba(240,83,63,.15);color:var(--stop)}.stp.mid{background:rgba(245,197,24,.12);color:var(--ball)}
.days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:6px}
.dchip{position:relative}.dchip input{position:absolute;opacity:0;inset:0}
.dchip span{display:grid;place-items:center;height:42px;border-radius:10px;border:1px solid var(--rope);background:var(--water);font-weight:700;font-size:13px;color:var(--mist)}
.dchip input:checked+span{border-color:var(--ball);background:rgba(245,197,24,.12);color:var(--foam)}
.dchip input:focus-visible+span{outline:3px solid var(--ball);outline-offset:2px}
.fchip{white-space:nowrap}
input[type=time]{width:100%;background:var(--water);color:var(--foam);border:1px solid var(--rope);border-radius:9px;padding:10px;font:inherit;font-size:16px;color-scheme:dark}
.arow[disabled]{opacity:1;cursor:default}
input[type=password]{width:100%;background:var(--water);color:var(--foam);border:1px solid var(--rope);border-radius:9px;padding:10px;font:inherit;font-size:16px}
/* convite para instalar o app */
.kinstall{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:45;display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:12px 14px;border-radius:16px;background:var(--lane-2);border:1px solid var(--rope);box-shadow:0 12px 40px rgba(0,0,0,.5);max-width:560px;margin:0 auto}
.kinstall img{width:44px;height:44px;border-radius:11px;flex:none}
.kin-txt{flex:1;min-width:180px}.kin-txt b{display:block;font-size:15px}.kin-txt small{display:block;color:var(--mist);font-size:13px;line-height:1.35;margin-top:2px}
.kin-txt small b{display:inline;font-size:inherit;color:var(--foam)}
.kin-ios{display:inline-flex;align-items:center;vertical-align:-3px;padding:1px 3px;border:1px solid var(--rope);border-radius:5px;color:#0a84ff}
.kin-sh{width:15px;height:15px;display:block}
.kinstall.up{bottom:calc(78px + env(safe-area-inset-bottom,0px))}
/* seta que aponta para o botão Compartilhar do Safari */
.kin-arrow{position:fixed;z-index:46;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--ball);pointer-events:none;filter:drop-shadow(0 4px 10px rgba(0,0,0,.55))}
.kin-arrow span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ball);color:#231a00}
.kin-arrow span .kin-sh{width:22px;height:22px}.kin-arrow span b{font-size:22px;line-height:1;margin-top:-6px}
.kin-chev{width:30px;height:30px}
.kin-arrow.bottom{left:50%;bottom:calc(4px + env(safe-area-inset-bottom,0px));transform:translateX(-50%)}
.kin-arrow.br{right:14px;bottom:calc(4px + env(safe-area-inset-bottom,0px))}
.kin-arrow.top{right:14px;top:calc(4px + env(safe-area-inset-top,0px))}
@media (prefers-reduced-motion:no-preference){
  .kin-arrow.bottom .kin-chev,.kin-arrow.br .kin-chev{animation:kinDown 1.1s ease-in-out infinite}
  .kin-arrow.top .kin-chev{animation:kinUp 1.1s ease-in-out infinite}
  .kin-arrow span{animation:kinPulse 1.6s ease-out infinite}
  @keyframes kinDown{50%{transform:translateY(7px)}}
  @keyframes kinUp{0%,100%{transform:rotate(180deg)}50%{transform:rotate(180deg) translateY(7px)}}
  @keyframes kinPulse{0%{box-shadow:0 0 0 0 rgba(245,197,24,.55)}100%{box-shadow:0 0 0 14px rgba(245,197,24,0)}}}
.kin-arrow.top .kin-chev{transform:rotate(180deg)}
.kin-act{display:flex;gap:8px;margin-left:auto}
.kin-ok{height:40px;padding:0 16px;border-radius:10px;background:var(--ball);color:#231a00;font-weight:800;border:0}
.kin-no{height:40px;padding:0 12px;border-radius:10px;background:transparent;color:var(--mist);font-weight:600;border:1px solid var(--rope)}
@media (prefers-reduced-motion:no-preference){.kinstall{animation:kin .3s ease-out}@keyframes kin{from{transform:translateY(20px);opacity:0}}}
/* cadastro de atleta: link na tela de entrar e pendentes para aprovar */
.signup-link{display:flex;align-items:center;justify-content:center;gap:6px;border-style:dashed;color:var(--mist);font-weight:500;text-decoration:none}
.signup-link b{color:var(--ball);font-weight:700}
.kwait{color:var(--ball);font-weight:700}
.kwait-h{color:var(--ball)}
