
  :root{
    --black:#121110;
    --surface:#212226;
    --surface-2:#2A2B30;
    --chalk:#F2F0EA;
    --yellow:#FFD60A;
    --yellow-dim:#8A6A00;
    --yellow-glow: rgba(255,214,10,0.45);
    --orange:#FF9A44;
    --orange-glow: rgba(255,154,68,0.5);
    --nav-text:#B89A3A;
    --red:#E8432F;
    --steel:#8A8D91;
    --line: rgba(242,240,234,0.12);
    --ribbon:#996B00;
    --gold:#FFD60A;
    --silver:#D8D5CC;
    --bronze:#C77B4C;
  }
  *{box-sizing:border-box;}
  body{
    margin:0;color:var(--chalk);font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;
    background-color:#121110;
    background-image:
      repeating-linear-gradient(158deg,
        transparent 0px,
        color-mix(in srgb, var(--ribbon) 24%, transparent) 190px,
        transparent 400px,
        color-mix(in srgb, var(--ribbon) 20%, transparent) 600px,
        transparent 820px
      );
  }
  .app{min-height:100vh;}
  h1,h2,h3,.display{font-family:'Anton',sans-serif;font-weight:400;letter-spacing:0.01em;text-transform:uppercase;}
  .mono{font-family:'JetBrains Mono',monospace;}
  a{color:inherit;}
  button{font-family:'Inter',sans-serif;cursor:pointer;border:none;}
  ::selection{background:var(--yellow);color:var(--black);}

  .topbar{position:sticky;top:0;z-index:50;background:rgba(23,24,26,0.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);}
  .topbar-inner{max-width:1100px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:flex-start;gap:16px;}
  .brand{display:flex;align-items:center;gap:10px;}
  .brand-mark{width:14px;height:28px;background:var(--yellow);transform:skewX(-12deg);}
  .brand-name{font-family:'Anton',sans-serif;font-size:18px;letter-spacing:0.03em;color:var(--yellow);text-shadow:0 0 12px var(--yellow-glow);}
  .navlinks{display:flex;gap:2px;}
  .navlinks button{background:transparent;color:var(--nav-text);font-size:13px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;padding:8px 12px;border-radius:6px;transition:color .15s, background .15s, text-shadow .15s;}
  .navlinks button:hover{color:var(--yellow);background:var(--surface-2);text-shadow:0 0 10px var(--yellow-glow);}
  .navlinks button.active{color:var(--orange);background:var(--surface-2);text-shadow:0 0 10px var(--orange-glow);}
  .admin-toggle{background:var(--surface-2);color:var(--yellow);font-size:12px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;padding:8px 14px;border-radius:6px;border:1px solid var(--line);}
  .admin-toggle:hover{border-color:var(--yellow);color:var(--yellow);text-shadow:0 0 10px var(--yellow-glow);}
  .public-hamburger{display:none;}
  .public-mobile-menu{display:none;}

  /* Menu sanduíche sempre ativo — desktop e mobile, público e admin (pedido explícito do usuário,
     pra deixar a página mais limpa em qualquer tamanho de tela). */
  .navlinks{display:none;}
  .admin-toggle{display:none;}
  .public-hamburger{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line);border-radius:6px;padding:8px 12px;font-size:18px;line-height:1;color:var(--chalk);cursor:pointer;}
  .public-mobile-menu.open{
    display:flex; flex-direction:column; align-items:stretch;
    position:fixed; top:64px; left:16px; right:auto; bottom:auto;
    width:auto; min-width:220px; max-width:min(300px, 90vw);
    height:auto; max-height:75vh; overflow-y:auto;
    background:var(--surface); z-index:60; padding:10px;
    border-radius:12px; border:1px solid var(--line); box-shadow:0 12px 40px rgba(0,0,0,0.55);
  }
  .public-mobile-menu-header{display:flex; align-items:center; justify-content:space-between; padding:2px 4px 10px;}
  .public-mobile-menu button{display:block; width:100%; text-align:left; white-space:nowrap; background:transparent; color:var(--steel); font-size:11.5px; font-weight:600; letter-spacing:0.02em; text-transform:uppercase; padding:10px 12px; border-radius:7px; margin-bottom:4px; max-width:none;}
  .public-mobile-menu button.active{background:var(--orange); color:var(--black);}
  .public-mobile-menu button:hover:not(.active){background:var(--surface-2); color:var(--chalk);}
  .public-mobile-menu .admin-toggle{display:block; background:var(--surface-2); color:var(--yellow); border:1px solid var(--line); text-align:center;}


  .wrap{max-width:1100px;margin:0 auto;padding:0 20px;}
  section{padding:64px 0;}
  .eyebrow{color:var(--yellow);font-family:'JetBrains Mono',monospace;font-weight:700;font-size:14px;letter-spacing:0.12em;text-transform:uppercase;margin:0 0 10px;}
  .section-title{font-size:clamp(32px,5vw,52px);margin:0 0 28px;color:var(--yellow);text-shadow:0 0 12px var(--yellow-glow);}

  .hero{padding:90px 0 70px;position:relative;overflow:hidden;}
  .logo-watermark{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);max-width:min(85vw,900px);max-height:85vh;width:auto;height:auto;opacity:0.035;pointer-events:none;z-index:0;}
  .hero>.wrap, #resultados>.wrap, #equipes>.wrap{position:relative;z-index:1;}
  #resultados, #equipes{position:relative;overflow:hidden;}
  .hero h1{font-size:clamp(46px,9vw,96px);line-height:1.05;margin:0 0 18px;color:var(--yellow);text-shadow:0 0 26px var(--yellow-glow);text-align:center;}
  .hero h1 span{display:block;margin-top:0.25em;}
  .hero h1 span{color:var(--yellow);text-shadow:none;opacity:0.8;}
  .hero p{color:var(--steel);font-size:17px;max-width:520px;line-height:1.5;margin:0 0 30px;}
  .hero-presentation{color:var(--steel);font-size:17px;max-width:640px;line-height:1.6;margin:0 auto 30px;text-align:center;}
  .hero-presentation b,.hero-presentation strong{font-weight:700;color:var(--chalk);}
  .hero-presentation i,.hero-presentation em{font-style:italic;}
  .hero-presentation u{text-decoration:underline;}
  .sponsors-row{display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:wrap;margin-top:28px;}
  .sponsor-link{display:inline-flex;align-items:center;justify-content:center;transition:transform 0.15s ease;padding:14px 20px;border-radius:10px;border:1px solid transparent;}
  .sponsor-link:hover{transform:scale(1.06);}
  .sponsor-link img{height:64px;width:auto;max-width:170px;object-fit:contain;display:block;}
  .sponsor-link.tier-gold{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 12%, transparent);box-shadow:0 0 22px color-mix(in srgb, var(--gold) 35%, transparent);}
  .sponsor-link.tier-gold img{height:92px;max-width:230px;}
  .sponsor-link.tier-silver{border-color:var(--silver);background:color-mix(in srgb, var(--silver) 10%, transparent);box-shadow:0 0 16px color-mix(in srgb, var(--silver) 28%, transparent);}
  .sponsor-link.tier-silver img{height:74px;max-width:190px;}
  .sponsor-link.tier-bronze{border-color:var(--bronze);background:color-mix(in srgb, var(--bronze) 10%, transparent);box-shadow:0 0 14px color-mix(in srgb, var(--bronze) 28%, transparent);}
  .sponsor-link.tier-bronze img{height:58px;max-width:150px;}
  .sponsor-fallback{color:var(--steel);font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:0.05em;border:1px solid var(--line);padding:10px 16px;border-radius:6px;}
  @keyframes wodFlashPulse{
    0%,100%{ box-shadow:0 0 0 0 rgba(255,214,10,0); }
    50%{ box-shadow:0 0 0 8px rgba(255,214,10,0.55); }
  }
  .wod-flash{ animation: wodFlashPulse 1.2s ease-in-out 3; border-radius:10px; }
  .stat-row{display:flex;gap:32px;flex-wrap:wrap;}
  .stat{border-left:3px solid var(--yellow);padding-left:14px;}
  .stat .num{font-family:'Anton',sans-serif;font-size:36px;line-height:1;}
  .stat .lbl{color:var(--steel);font-size:12px;text-transform:uppercase;letter-spacing:0.06em;margin-top:4px;}

  .card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px;width:100%;min-width:100%;max-width:100%;box-sizing:border-box;}
  table{width:100%;border-collapse:collapse;}
  @media (max-width: 680px){
    table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  }
  th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:0.06em;color:var(--steel);padding:10px 12px;border-bottom:1px solid var(--line);}
  td{padding:12px;border-bottom:1px solid var(--line);font-size:14px;}
  tr:last-child td{border-bottom:none;}
  .rank{font-family:'Anton',sans-serif;font-size:22px;color:var(--chalk);width:46px;}
  .rank.r1{color:var(--gold);} .rank.r2{color:var(--silver);} .rank.r3{color:var(--bronze);}
  .pill{display:inline-block;padding:3px 9px;border-radius:99px;font-size:11px;text-transform:uppercase;letter-spacing:0.04em;background:var(--surface-2);color:var(--steel);border:1px solid var(--line);}

  .filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;}
  select,input,textarea{background:var(--surface-2);border:1px solid var(--line);color:var(--chalk);padding:9px 12px;border-radius:6px;font-size:14px;font-family:'Inter',sans-serif;}
  select:focus,input:focus,textarea:focus{outline:2px solid var(--yellow);outline-offset:1px;}

  .day-tabs{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap;}
  .day-tabs button{background:var(--surface-2);color:var(--steel);padding:8px 16px;border-radius:6px;font-weight:700;font-size:13px;text-transform:uppercase;}
  .day-tabs button.active{background:var(--yellow);color:var(--black);}
  .heat-row{display:grid;grid-template-columns:90px 1fr auto;gap:14px;align-items:center;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:8px;margin-bottom:10px;}
  .heat-row .time{font-family:'JetBrains Mono',monospace;color:var(--yellow);font-size:15px;}
  .heat-row .wodname{font-weight:700;}
  .heat-row .desc{color:var(--steel);font-size:13px;margin-top:2px;}

  .team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;}
  .wod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(440px,1fr));gap:16px;}
  .team-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px;}
  .team-card .cat{margin-bottom:8px;}
  .team-card h3{font-size:20px;margin:0 0 10px;}
  .team-card ul{list-style:none;padding:0;margin:0;color:var(--steel);font-size:13px;line-height:1.9;}

  .heat-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;}
  .heat-meta .mini{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:8px 14px;min-width:110px;}
  .heat-meta .mini .label{font-size:10px;text-transform:uppercase;letter-spacing:0.05em;color:var(--steel);margin-bottom:3px;}
  .heat-meta .mini .value{font-size:14px;font-weight:700;color:var(--chalk);}
  .heat-meta .mini.actions{display:flex;align-items:center;gap:8px;background:transparent;border:none;padding:0;min-width:0;}

  .podium{display:flex;align-items:flex-end;justify-content:center;gap:16px;margin-bottom:26px;flex-wrap:wrap;}
  .podium-card{width:190px;border-radius:12px;padding:20px 16px 18px;text-align:center;background:var(--surface);border:1px solid var(--line);}
  .podium-card .medal{font-size:30px;line-height:1;margin-bottom:6px;}
  .podium-card .prank{font-family:'Anton',sans-serif;font-size:15px;letter-spacing:0.06em;margin-bottom:8px;}
  .podium-card .pname{font-weight:700;font-size:15px;line-height:1.3;margin-bottom:6px;word-break:break-word;}
  .podium-card .ppts{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--steel);}
  .podium-card.gold{margin-top:0;border-color:var(--gold);background:linear-gradient(180deg, color-mix(in srgb, var(--gold) 16%, transparent), var(--surface) 65%);box-shadow:0 0 30px color-mix(in srgb, var(--gold) 15%, transparent);}
  .podium-card.gold .prank{color:var(--gold);}
  .podium-card.silver{margin-top:34px;border-color:var(--silver);background:linear-gradient(180deg, color-mix(in srgb, var(--silver) 14%, transparent), var(--surface) 65%);}
  .podium-card.silver .prank{color:var(--silver);}
  .podium-card.bronze{margin-top:54px;border-color:var(--bronze);background:linear-gradient(180deg, color-mix(in srgb, var(--bronze) 14%, transparent), var(--surface) 65%);}
  .podium-card.bronze .prank{color:var(--bronze);}

  footer{border-top:1px solid var(--line);padding:30px 0;color:var(--steel);font-size:12px;text-align:center;}

  .admin-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh;justify-items:stretch;}
  .sidebar{background:var(--surface);border-right:1px solid var(--line);padding:24px 14px;position:sticky;top:0;height:100vh;overflow-y:auto;align-self:start;}
  .sidebar .brand{padding:0 8px 20px;}
  .sidebar button{display:block;width:100%;text-align:left;background:transparent;color:var(--steel);font-size:11.5px;font-weight:600;letter-spacing:0.02em;padding:8px 10px;border-radius:7px;margin-bottom:3px;text-transform:uppercase;}
  .sidebar button.active{background:var(--orange);color:var(--black);}
  .sidebar button:hover:not(.active){background:var(--surface-2);color:var(--chalk);}
  /* Menu sanduíche sempre ativo no admin também — mesma lógica do público, desktop e mobile. */
  .admin-shell{grid-template-columns:1fr;}
  .admin-mobile-bar{display:flex; align-items:center; gap:12px; padding:14px 16px; background:var(--surface); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:35; height:52px; box-sizing:border-box;}
  .admin-mobile-bar .hamburger{background:transparent;border:1px solid var(--line);border-radius:6px;padding:8px 12px;font-size:18px;line-height:1;color:var(--chalk);cursor:pointer;}
  .admin-mobile-bar .current-tab{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;color:var(--chalk);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .sidebar{display:none;}
  .sidebar.mobile-open{
    display:flex; flex-direction:column; align-items:stretch;
    position:fixed; top:64px; left:16px; right:auto; bottom:auto;
    width:auto; min-width:220px; max-width:min(300px, 90vw);
    height:auto; max-height:75vh; overflow-y:auto;
    background:var(--surface); z-index:40; padding:10px;
    border-radius:12px; border:1px solid var(--line); box-shadow:0 12px 40px rgba(0,0,0,0.55);
  }
  .sidebar.mobile-open .brand{display:flex; align-items:center; justify-content:space-between; padding:2px 4px 10px;}
  .sidebar.mobile-open button{display:block; width:100%; text-align:left; white-space:nowrap; flex-shrink:0; margin-bottom:4px; margin-right:0; font-size:11.5px; padding:10px 12px; max-width:none;}
  .admin-main{padding:36px 40px;max-width:980px;width:100%;margin:0 auto;box-sizing:border-box;}
  .admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;flex-wrap:wrap;gap:12px;}
  .btn{padding:10px 16px;border-radius:7px;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:0.03em;}
  .btn-primary{background:var(--yellow);color:var(--btn-text);}
  .btn-primary:hover{filter:brightness(1.1);}
  .btn-ghost{background:var(--surface-2);color:var(--chalk);border:1px solid var(--line);}
  .btn-ghost:hover{border-color:var(--yellow);}
  .btn-danger{background:transparent;color:var(--red);border:1px solid rgba(232,67,47,0.4);padding:6px 10px;font-size:12px;border-radius:7px;}
  .btn-danger:hover{background:rgba(232,67,47,0.12);}
  .btn-edit{background:transparent;color:var(--steel);border:1px solid var(--line);padding:6px 10px;font-size:12px;margin-right:6px;border-radius:7px;}
  .btn-edit:hover{color:var(--chalk);border-color:var(--chalk);}

  .form-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:22px;margin-bottom:24px;width:100%;min-width:100%;max-width:100%;box-sizing:border-box;}
  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;}
  .form-grid.full{grid-template-columns:1fr;}
  .field label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:0.05em;color:var(--steel);margin-bottom:6px;}
  .field select,.field input,.field textarea{width:100%;}
  .form-actions{display:flex;gap:10px;}

  .login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--black);}
  input[type="checkbox"], input[type="radio"] { accent-color: var(--yellow); }
  @media print {
    body.printing-sobre #root > *:not(#sobre) { display:none !important; }
    body.printing-sobre #sobre { padding-top:0; }
    body.printing-sobre .btn-edit { display:none !important; }
  }
  .login-card{width:340px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:32px;text-align:center;}
  .login-card .lock{width:52px;height:52px;background:var(--yellow);border-radius:10px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;font-size:24px;}
  .login-card input{width:100%;text-align:center;margin:16px 0 10px;font-family:'JetBrains Mono',monospace;letter-spacing:0.15em;}
  .login-error{color:var(--red);font-size:12px;margin-top:8px;height:14px;}
  .hint{color:var(--steel);font-size:11px;margin-top:14px;}

  .empty{color:var(--steel);font-size:14px;padding:24px 0;text-align:center;}

  .rte-toolbar{display:flex;gap:6px;margin-bottom:8px;}
  .rte-toolbar button{background:var(--surface-2);border:1px solid var(--line);color:var(--chalk);width:36px;height:34px;border-radius:6px;font-size:14px;}
  .rte-toolbar button:hover{border-color:var(--yellow);color:var(--yellow);}
  .rte-toolbar button.active{background:var(--yellow);color:var(--black);border-color:var(--yellow);}
  .rte{min-height:230px;background:var(--surface-2);border:1px solid var(--line);color:var(--chalk);padding:12px;border-radius:6px;font-size:14px;line-height:1.6;overflow-y:auto;}
  .rte:focus{outline:2px solid var(--yellow);outline-offset:1px;}
  .wod-desc b,.wod-desc strong,.rte b,.rte strong{font-weight:700;}
  .wod-desc i,.wod-desc em,.rte i,.rte em{font-style:italic;}
  .wod-desc u,.rte u{text-decoration:underline;}
  .wod-desc-variavel-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden;margin:6px 0;}
  .wod-desc-col-title{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;padding:5px 8px;}
  .wod-desc-fixed-title{background:rgba(74,144,217,0.16);color:#7ab3ec;}
  .wod-desc-variant-title{background:rgba(255,154,68,0.16);color:var(--orange);}
  .wod-desc-fixed-cell,.wod-desc-variant-cell{background:var(--surface);font-size:12.5px;padding:5px 8px;display:flex;align-items:center;}
  .wod-desc-fixed-cell{border-left:3px solid #4a90d9;}
  .wod-desc-variant-cell{border-left:3px solid var(--orange);}

  .confirm-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.65);display:flex;align-items:center;justify-content:center;z-index:999;padding:20px;}
  .confirm-box{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:26px;max-width:380px;text-align:center;}
  .confirm-box p{margin:0 0 20px;font-size:14px;line-height:1.5;color:var(--chalk);}
  .confirm-actions{display:flex;gap:10px;justify-content:center;}

  .clock-screen{
    min-height:100vh; background:#0a0908; color:var(--chalk);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    padding:24px; text-align:center; position:relative;
  }
  .clock-card{background:rgba(8,7,6,0.78); color:#fff; border-radius:10px; padding:7px 14px; box-shadow:0 4px 16px rgba(0,0,0,0.3);}
  .clock-top-row{position:absolute; top:20px; left:20px; right:20px; display:flex; align-items:stretch; gap:14px; text-align:left;}
  .clock-card-wod{flex-shrink:0; display:flex; flex-direction:column; justify-content:center;}
  .clock-card-wod .l1{font-size:14px; font-weight:800; color:#fff; white-space:nowrap; letter-spacing:0.02em;}
  .clock-card-wod .l2{font-size:11px; color:#fff; opacity:0.8; margin-top:2px; white-space:nowrap;}
  .clock-card-movements{flex:1; min-width:100px; overflow:hidden; position:relative; min-height:32px; display:flex; align-items:center; justify-content:flex-start;}
  .clock-marquee-wrap{flex:1; overflow:hidden; position:relative; height:18px; min-width:60px;}
  .clock-marquee-track{white-space:nowrap; font-size:20px; font-weight:800; color:#fff; text-transform:uppercase; letter-spacing:0.03em;}
  @keyframes clockMarqueeScroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
  .clock-config-select{margin-left:auto; flex-shrink:0; opacity:0.5; transition:opacity .2s;}
  .clock-config-select:hover, .clock-config-select:focus{opacity:1;}
  .clock-bottom-left{position:absolute; bottom:20px; left:20px; text-align:left; transition:all .2s;}
  .clock-bottom-left .l1{font-size:14px; font-weight:800; color:#fff; white-space:nowrap;}
  .clock-bottom-left .l2{font-size:11px; color:#fff; opacity:0.8; margin-top:2px; white-space:nowrap;}
  .clock-bottom-center{position:absolute; bottom:20px; left:50%; transform:translateX(-50%); max-width:56vw; min-width:160px; overflow:hidden; height:32px; display:flex; align-items:center; justify-content:flex-start; transition:all .2s;}
  .clock-lanes-track{white-space:nowrap; font-size:13px; color:#fff;}
  .clock-config-card{transition:box-shadow .2s, border-color .2s;}
  .clock-config-card.clock-config-live{border-color:var(--highlight); box-shadow:0 0 16px color-mix(in srgb, var(--highlight) 35%, transparent);}
  .clock-screen[data-awaiting="1"] .clock-bottom-left{padding:14px 20px;}
  .clock-screen[data-awaiting="1"] .clock-bottom-left .l1{font-size:28px;}
  .clock-screen[data-awaiting="1"] .clock-bottom-left .l2{font-size:20px;}
  .clock-screen[data-awaiting="1"] .clock-bottom-center{bottom:110px; height:56px; max-width:82vw; padding:10px 24px;}
  .clock-screen[data-awaiting="1"] .clock-lanes-track{font-size:26px; font-weight:800; text-transform:uppercase; letter-spacing:0.02em;}
  .clock-big{font-family:'Anton',sans-serif; font-size:clamp(140px,32vw,420px); line-height:1; color:var(--yellow); text-shadow:0 0 40px var(--yellow-glow); font-variant-numeric:tabular-nums;}
  .clock-screen.done .clock-big{font-size:clamp(90px,20vw,240px);}
  .clock-screen:fullscreen{background:#0a0908;}
  .clock-screen:fullscreen .clock-controls{opacity:0.4; transition:opacity .2s;}
  .clock-screen:fullscreen .clock-controls:hover{opacity:1;}

  .leaderboard-screen{min-height:100vh; height:100vh; background:#0a0908; padding:24px 30px; position:relative; overflow:hidden; display:flex; flex-direction:column;}
  .leaderboard-screen .lb-top{position:absolute; top:14px; left:14px; right:14px; display:flex; gap:6px; justify-content:flex-end; flex-wrap:wrap; opacity:0.35; transition:opacity .2s; z-index:5;}
  .leaderboard-screen .lb-top:hover{opacity:1;}
  .leaderboard-screen .lb-top .btn{font-size:15px; padding:6px 11px; line-height:1;}
  .leaderboard-screen:fullscreen .lb-top{opacity:0.15;}
  .leaderboard-screen:fullscreen .lb-top:hover{opacity:1;}
  .leaderboard-screen .lb-eyebrow{text-align:center; font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--steel); margin-top:26px; flex-shrink:0;}
  .leaderboard-screen .lb-title{font-family:'Anton',sans-serif; font-size:clamp(26px,4vw,46px); color:var(--yellow); text-align:center; text-shadow:0 0 30px var(--yellow-glow); margin:4px 0 24px; flex-shrink:0;}
  .leaderboard-screen .lb-content{max-width:1100px; margin:0 auto; width:100%; flex:1 1 auto; overflow-y:auto; min-height:0;}
  .leaderboard-screen .lb-content table{font-size:1.1em;}
  .leaderboard-screen .lb-content .podium{padding-bottom:20px;}
  .leaderboard-screen .lb-content .podium-card{transform:scale(1.05); transform-origin:center bottom; margin:0 10px;}
  .leaderboard-screen .lb-dots{display:flex; gap:8px; justify-content:center; margin-top:14px; flex-shrink:0;}
  .leaderboard-screen .lb-dot{width:9px; height:9px; border-radius:50%; background:var(--line);}
  .leaderboard-screen .lb-dot.active{background:var(--yellow);}
  @keyframes clockpulse{0%,100%{transform:scale(1);}50%{transform:scale(1.06);}}
  @keyframes live-pulse{0%,100%{opacity:1;}50%{opacity:0.25;}}
  .clock-segs{display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-start; max-width:100%;}
  .clock-seg-pill{padding:4px 10px; border-radius:16px; background:var(--surface-2); border:1px solid var(--line); color:var(--steel); font-size:11px; font-family:'JetBrains Mono',monospace;}
  .clock-seg-pill.active{background:var(--yellow); color:var(--black); border-color:var(--yellow); font-weight:700;}
  .clock-controls{position:absolute; right:20px; bottom:20px; display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; max-width:48%; opacity:0.55; transition:opacity .2s;}
  .clock-controls:hover{opacity:1;}
  .clock-controls .btn{font-size:18px; padding:10px 16px; line-height:1;}
  .perf-chart-wrap{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px;}

  @media(max-width:760px){
    .admin-shell{grid-template-columns:1fr;}
    .admin-mobile-bar{display:flex; align-items:center; gap:12px; padding:14px 16px; background:var(--surface); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:35;}
    .admin-mobile-bar .hamburger{background:transparent;border:1px solid var(--line);border-radius:6px;padding:8px 12px;font-size:18px;line-height:1;color:var(--chalk);}
    .admin-mobile-bar .current-tab{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;color:var(--chalk);}
    .sidebar{display:none;}
    .sidebar.mobile-open{
      display:flex; flex-direction:column; align-items:stretch;
      position:fixed; top:0; left:0; right:0; bottom:0;
      height:100vh; max-height:100vh; overflow-y:auto;
      background:var(--surface); z-index:40; padding:16px;
      border-right:none; border-bottom:none;
    }
    .sidebar.mobile-open .brand{display:flex; align-items:center; justify-content:space-between; padding:0 4px 16px;}
    .sidebar.mobile-open button{display:block; width:100%; text-align:left; white-space:normal; flex-shrink:0; margin-bottom:6px; margin-right:0; font-size:14px; padding:13px 14px;}
    .admin-main{padding:24px 18px;}
    .form-grid{grid-template-columns:1fr;}
    .navlinks{display:none;}
    .admin-toggle{display:none;}
    .public-hamburger{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line);border-radius:6px;padding:8px 12px;font-size:18px;line-height:1;color:var(--chalk);}
    .public-mobile-menu.open{
      display:flex; flex-direction:column; align-items:stretch;
      position:fixed; top:0; left:0; right:0; bottom:0;
      height:100vh; max-height:100vh; overflow-y:auto;
      background:var(--surface); z-index:60; padding:16px;
    }
    .public-mobile-menu-header{display:flex; align-items:center; justify-content:space-between; padding:0 4px 16px;}
    .public-mobile-menu button{display:block; width:100%; text-align:left; white-space:normal; background:transparent; color:var(--steel); font-size:13px; font-weight:600; letter-spacing:0.02em; text-transform:uppercase; padding:13px 14px; border-radius:7px; margin-bottom:6px;}
    .public-mobile-menu button.active{background:var(--orange); color:var(--black);}
    .public-mobile-menu button:hover:not(.active){background:var(--surface-2); color:var(--chalk);}
    .public-mobile-menu .admin-toggle{display:block; background:var(--surface-2); color:var(--yellow); border:1px solid var(--line); text-align:center;}
    .topbar-inner{flex-wrap:wrap; gap:10px;}
    .heat-row{grid-template-columns:1fr;}
    .wod-grid{grid-template-columns:1fr;}
    .admin-summary-grid{grid-template-columns:1fr !important;}
    .podium{flex-direction:column; align-items:center;}
    .podium-card{width:100%; max-width:320px;}
    .podium-card.gold{order:1; margin-top:0;}
    .podium-card.silver{order:2; margin-top:0;}
    .podium-card.bronze{order:3; margin-top:0;}
    .sponsors-row{gap:16px; margin-top:20px;}
    .sponsor-link{padding:8px 12px;}
    .sponsor-link img{height:34px; max-width:100px;}
    .sponsor-link.tier-gold img{height:48px; max-width:130px;}
    .sponsor-link.tier-silver img{height:40px; max-width:112px;}
    .sponsor-link.tier-bronze img{height:32px; max-width:94px;}
    .sponsor-fallback{font-size:11px; padding:6px 10px;}
  }

/* --- block split --- */

  * { box-sizing:border-box; }
  body { font-family: Arial, Helvetica, sans-serif; color:#000; margin:16px; font-size:13px; }
  h1 { text-align:center; font-size:20px; margin:0 0 4px; }
  .sub { text-align:center; color:#555; font-size:12px; margin:0 0 20px; }
  .toolbar { text-align:right; margin-bottom:14px; }
  .toolbar button { padding:8px 16px; font-size:14px; cursor:pointer; }
  table { width:100%; border-collapse:collapse; margin-bottom:6px; }
  td, th { border:1px solid #000; padding:5px 8px; }
  th { background:#d8d8d8; }
  .heat-block { page-break-inside: avoid; margin-bottom:22px; }
  .heat-header td { background:#111; color:#fff; font-weight:bold; text-align:center; }
  .center { text-align:center; }
  .mono { font-family:'Courier New', monospace; }
  @media print { .toolbar{ display:none; } body{ margin:8mm; } }

/* --- block split --- */

  * { box-sizing:border-box; }
  body { font-family: Arial, Helvetica, sans-serif; color:#000; margin:16px; font-size:13px; }
  h1 { text-align:center; font-size:20px; margin:0 0 4px; }
  .sub { text-align:center; color:#555; font-size:12px; margin:0 0 20px; }
  .toolbar { text-align:right; margin-bottom:14px; }
  .toolbar button { padding:8px 16px; font-size:14px; cursor:pointer; }
  h2 { background:#111; color:#fff; padding:8px; text-align:center; font-size:15px; margin:0 0 10px; }
  table { width:100%; border-collapse:collapse; margin-bottom:8px; }
  td, th { border:1px solid #000; padding:5px 8px; }
  th { background:#d8d8d8; }
  .center { text-align:center; }
  .wod-block { page-break-inside: avoid; margin-bottom:30px; }
  .diagram { text-align:center; margin-bottom:10px; }
  .diagram svg { max-width:100%; height:auto; }
  @media print { .toolbar{ display:none; } body{ margin:8mm; } }

/* --- block split --- */

  * { box-sizing:border-box; }
  body { font-family: Arial, Helvetica, sans-serif; color:#000; margin:16px; font-size:13px; }
  h1 { text-align:center; font-size:20px; margin:0 0 4px; }
  .sub { text-align:center; color:#555; font-size:12px; margin:0 0 20px; }
  .toolbar { text-align:right; margin-bottom:14px; }
  .toolbar button { padding:8px 16px; font-size:14px; cursor:pointer; }
  h2 { background:#111; color:#fff; padding:8px; text-align:center; font-size:14px; margin:0 0 10px; }
  table { width:100%; border-collapse:collapse; margin-bottom:8px; }
  td, th { border:1px solid #000; padding:5px 8px; }
  th { background:#d8d8d8; }
  .center { text-align:center; }
  .wod-block { page-break-inside: avoid; margin-bottom:24px; }
  @media print { .toolbar{ display:none; } body{ margin:8mm; } }

/* --- block split --- */

  * { box-sizing:border-box; }
  body { font-family: Arial, Helvetica, sans-serif; color:#000; margin:16px; font-size:13px; }
  h1 { text-align:center; font-size:20px; margin:0 0 4px; }
  .sub { text-align:center; color:#555; font-size:12px; margin:0 0 20px; }
  .toolbar { text-align:right; margin-bottom:14px; }
  .toolbar button { padding:8px 16px; font-size:14px; cursor:pointer; }
  h2 { background:#111; color:#fff; padding:8px; text-align:center; font-size:14px; margin:24px 0 10px; }
  table { width:100%; border-collapse:collapse; margin-bottom:8px; }
  td, th { border:1px solid #000; padding:5px 8px; }
  th { background:#d8d8d8; }
  .center { text-align:center; }
  @media print { .toolbar{ display:none; } body{ margin:8mm; } }

/* --- block split --- */

  * { box-sizing:border-box; }
  body { font-family: Arial, Helvetica, sans-serif; color:#000; margin:16px; font-size:13px; }
  h1 { text-align:center; font-size:20px; margin:0 0 4px; }
  .sub { text-align:center; color:#555; font-size:12px; margin:0 0 20px; }
  .toolbar { text-align:right; margin-bottom:14px; }
  .toolbar button { padding:8px 16px; font-size:14px; cursor:pointer; }
  h2 { background:#111; color:#fff; padding:8px; text-align:center; font-size:15px; margin:0 0 10px; }
  table { width:100%; border-collapse:collapse; margin-bottom:8px; }
  td, th { border:1px solid #000; padding:5px 8px; }
  th { background:#d8d8d8; }
  .center { text-align:center; }
  .mono { font-family:'Courier New', monospace; }
  .strong { font-weight:bold; }
  .cat-block { page-break-inside: avoid; margin-bottom:26px; }
  .podium { display:flex; gap:10px; justify-content:center; margin-bottom:14px; }
  .pod-item { border:1px solid #000; padding:8px 16px; text-align:center; min-width:110px; }
  .pod-1 { border-width:2px; background:#f2f2f2; }
  .pod-2 { border-width:1.5px; }
  .pod-3 { border-style:double; }
  .pod-rank { font-weight:bold; font-size:16px; }
  .pod-name { font-size:13px; margin:4px 0; }
  .pod-pts { color:#555; font-size:12px; }
  @media print { .toolbar{ display:none; } body{ margin:8mm; } }

/* --- block split --- */

  * { box-sizing:border-box; }
  body { font-family: Arial, Helvetica, sans-serif; color:#000; margin:20px; font-size:15px; }
  .sumula-page { max-width:1100px; margin-left:auto; margin-right:auto; }
  .toolbar { text-align:right; margin-bottom:12px; }
  .toolbar button { padding:8px 16px; font-size:14px; cursor:pointer; }
  table { width:100%; border-collapse:collapse; margin-bottom:18px; border-radius:8px; overflow:hidden; }
  td, th { border:1px solid #000; padding:14px 10px; vertical-align:top; }
  .wod-table td, .wod-table th { vertical-align:middle; text-align:center; }
  .nowrap-cell { white-space:nowrap; }
  .wod-table .divisions-cell { vertical-align:top; text-align:left; }
  .header-box td { text-align:center; font-weight:bold; background:#e8e8e8; }
  .compact-header { border:1px solid #000; margin-bottom:14px; border-radius:8px; overflow:hidden; }
  .compact-header-row { padding:6px 10px; border-bottom:1px solid #ccc; }
  .compact-header-row:last-child { border-bottom:none; }
  .compact-header-row:first-child { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px 14px; align-items:baseline; background:#e8e8e8; }
  .ch-event { font-weight:bold; font-size:13px; }
  .ch-wod { font-size:13px; }
  .ch-cat { font-weight:bold; font-size:13px; }
  .ch-structure { font-size:12px; color:#333; }
  .ch-pontuacao { display:flex; flex-wrap:wrap; gap:8px 20px; font-size:12px; }
  .ch-pont-item { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
  .ch-pont-box { display:inline-block; width:180px; height:26px; border:1px solid #000; border-radius:5px; vertical-align:middle; }
  .top-grid { display:grid; grid-template-columns: 1fr 1fr; gap:12px; margin-bottom:14px; align-items:start; }
  .top-grid .box { border:1px solid #000; padding:10px; font-size:14px; border-radius:6px; }
  .top-grid .box h4 { margin:0 0 6px; text-align:center; font-size:14px; text-decoration:underline; }
  .center { text-align:center; }
  .strong { font-weight:bold; }
  .mono { font-family:'Courier New', monospace; }
  th { background:#d8d8d8; }
  .movement-cell { font-size:16px; white-space:normal; overflow-wrap:break-word; word-break:break-word; }
  .movement-load { font-weight:normal; font-size:12px; color:#333; margin-top:2px; }
  .reps-num-cell { font-weight:bold; }
  .divisions-cell { padding:6px 8px; height:80px; position:relative; }
  .marks { position:absolute; left:8px; right:8px; top:6px; bottom:6px; display:grid; }
  .mark { display:flex; align-items:flex-end; justify-content:flex-end; padding-right:8px; font-size:13px; color:#333; }
  .mark:first-child { border-left:none; padding-left:0; }
  .rm-title { font-weight:bold; background:#eee; }
  .block-header { background:#111; color:#fff; font-weight:bold; text-align:center; padding:8px; letter-spacing:0.5px; border-top:4px solid #000; font-size:12px; }
  body.page-break-on .sumula-block { page-break-inside: avoid; }
  body.page-break-on .force-block-break { page-break-before: always; }
  .sub-block-header { background:#111; color:#fff; font-weight:bold; text-align:center; padding:5px; letter-spacing:0.5px; font-size:12px; }
  .block-spacer { border:none; height:14px; padding:0; background:transparent; }
  .blank-line { display:inline-block; border-bottom:1px solid #000; width:80px; height:14px; vertical-align:bottom; }
  .result-line { margin-bottom:10px; }
  .result-box { border:1px solid #000; border-radius:6px; min-height:34px; margin-top:4px; }
  .footer-grid { display:grid; grid-template-columns: 1fr 1fr; gap:12px; margin-top:14px; }
  .footer-grid table td { text-align:left; vertical-align:top; }
  .footer-box, .footer-box.tall, .atleta-box { text-align:left; }
  .atleta-value, .footer-label { text-align:left; display:block; }
  .footer-box { border:1px solid #000; padding:8px; min-height:50px; font-size:12px; border-radius:6px; }
  .footer-box.tall { min-height:80px; }
  .extra-run-line { display:flex; align-items:center; justify-content:flex-end; gap:8px; margin:2px 0 12px; font-size:13px; font-weight:bold; }
  .extra-run-checkbox { display:inline-block; width:14px; height:14px; border:1.5px solid #000; border-radius:3px; }
  .atleta-box { min-height:80px; font-size:13px; }
  .footer-label { font-size:13px; }
  .atleta-value { font-size:16px; }
  .athlete-sub { font-size:11px; font-weight:normal; color:#333; margin-top:4px; }
  .na-x { color:#999; font-weight:bold; }
  .page-break { page-break-after: always; }
  .sumula-page:not(:last-child) { border-bottom:3px dashed #999; margin-bottom:30px; padding-bottom:20px; }
  @media print { .toolbar{ display:none; } body{ margin:8mm; } .sumula-page:not(:last-child){ border-bottom:none; margin-bottom:0; padding-bottom:0; } }
  @media print and (orientation: landscape) {
    /* Paisagem tem bem menos altura disponível que retrato — compacta um pouco pra caber em
       menos páginas, sem depender de nenhum JavaScript de medição (que já provou ser instável). */
    body { font-size:12px; }
    td, th { padding:8px 6px; }
    table { margin-bottom:12px; }
    .compact-header { margin-bottom:10px; }
    .top-grid { gap:8px; margin-bottom:10px; }
    .top-grid .box { padding:6px; font-size:11px; }
    .top-grid .box h4 { font-size:11px; margin:0 0 3px; }
    .divisions-cell { padding:3px 4px; height:38px; }
    .mark { font-size:10px; }
    .block-header { padding:6px; font-size:12px; border-top-width:3px; }
    .sub-block-header { padding:3px; font-size:10px; }
    .block-spacer { height:8px; }
    .footer-grid { gap:8px; margin-top:8px; }
  }

/* --- block split --- */
@page { size: A4 portrait; }
/* --- block split --- */
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.4;}}