
:root{--bg:#07111f;--card:#0f1d33;--card2:#132642;--text:#eef6ff;--muted:#a9bad0;--line:rgba(255,255,255,.12);--accent:#42d392;--accent2:#4ea5ff;--danger:#ff6b6b;--warn:#ffd166}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(circle at top left,#12345f 0,#07111f 42%,#050913 100%);color:var(--text);min-height:100vh}.wrap{max-width:1150px;margin:0 auto;padding:22px}.hero{padding:34px 0 22px}.hero h1{font-size:clamp(30px,5vw,58px);line-height:1;margin:0 0 12px}.hero p{color:var(--muted);font-size:18px;max-width:760px}.nav{position:sticky;top:0;z-index:50;background:rgba(7,17,31,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.navin{max-width:1150px;margin:0 auto;padding:10px 22px;display:flex;gap:16px;align-items:center}.brand{font-weight:900;color:var(--text);text-decoration:none;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.navlinks{display:flex;gap:8px;align-items:center;flex:1;justify-content:flex-start}.navlinks a{color:var(--text);text-decoration:none;padding:10px 12px;border-radius:999px;background:rgba(255,255,255,.06);font-weight:650;white-space:nowrap}.navlinks a:hover,.navlinks a.active{background:rgba(255,255,255,.15)}.navlinks .adminlink{margin-left:auto;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#06111f;font-weight:900}.navtoggle{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.hamburger{display:none;width:44px;height:42px;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.07);cursor:pointer;margin-left:auto}.hamburger span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.card{grid-column:span 12;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035));border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 18px 60px rgba(0,0,0,.25)}@media(min-width:850px){.half{grid-column:span 6}.third{grid-column:span 4}.two-thirds{grid-column:span 8}}h2{margin:0 0 14px;font-size:26px}.muted{color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);color:var(--muted);margin:4px 6px 4px 0}.team-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.team{padding:16px;background:var(--card2);border:1px solid var(--line);border-radius:18px}.team strong{font-size:19px}.players{margin:12px 0 0;padding-left:20px;color:#dbeaff}.players li{margin:4px 0}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:16px;border:1px solid var(--line)}table{width:100%;min-width:680px;border-collapse:collapse;overflow:hidden}th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{color:#d9ecff;font-size:13px;text-transform:uppercase;letter-spacing:.05em;background:rgba(255,255,255,.06)}tr:hover td{background:rgba(255,255,255,.035)}.score{font-size:21px;font-weight:900;white-space:nowrap}.winner,.winner-name,.winner-score{color:var(--accent) !important;font-weight:900 !important}.loser-name {color:var(--danger) !important;font-weight:900 !important}.match-up{font-weight:800}.empty{padding:18px;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}.rules{white-space:pre-wrap;line-height:1.55}.footer{padding:35px 22px;color:var(--muted);text-align:center}.adminbox{max-width:1150px;margin:0 auto;padding:22px}.formrow{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:14px}@media(min-width:720px){.formrow.two{grid-template-columns:1fr 1fr}.formrow.three{grid-template-columns:1fr 1fr 1fr}.formrow.four{grid-template-columns:1fr 1fr 1fr 1fr}}label{display:block;color:#d8e8f9;font-weight:700;margin:0 0 6px}input,textarea,select{width:100%;padding:12px 13px;border-radius:13px;border:1px solid var(--line);background:#09172a;color:#ffffff;font:inherit}textarea{min-height:115px;resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:13px;padding:11px 14px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#06111f;font-weight:900;text-decoration:none;cursor:pointer}.btn.secondary{background:rgba(255,255,255,.1);color:var(--text);border:1px solid var(--line)}.btn.danger{background:rgba(255,107,107,.18);color:#ffdada;border:1px solid rgba(255,107,107,.35)}.actions{display:flex;gap:8px;flex-wrap:wrap}.notice{background:rgba(66,211,146,.13);border:1px solid rgba(66,211,146,.32);padding:12px 14px;border-radius:14px;margin-bottom:16px}.login{max-width:430px;margin:9vh auto;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));border:1px solid var(--line);border-radius:22px;padding:24px}.tiny{font-size:13px;color:var(--muted)}.quicklinks{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.quicklinks a{color:#06111f;background:linear-gradient(135deg,var(--accent),var(--accent2));font-weight:900;text-decoration:none;padding:12px 15px;border-radius:14px}.quicklinks a.secondary{background:rgba(255,255,255,.1);color:var(--text);border:1px solid var(--line)}.mobile-standings-note{display:none;color:var(--muted);font-size:13px;margin:0 0 12px}.standings-table .team-col{min-width:190px}.standings-table .points-col{text-align:right}
@media(max-width:980px) and (min-width:801px){.navin{gap:10px}.brand{max-width:260px}.navlinks{gap:6px}.navlinks a{padding:9px 10px;font-size:14px}}
@media(max-width:800px){.navin{flex-wrap:wrap}.hamburger{display:flex}.navlinks{display:none;width:100%;flex-direction:column;align-items:stretch;padding:8px 0 6px;gap:8px;flex:0 0 100%}.navlinks a{border-radius:14px;text-align:center;padding:13px 14px}.navlinks .adminlink{margin-left:0;order:-1}.navtoggle:checked~.navlinks{display:flex}.brand{max-width:calc(100% - 70px)}.hero{padding-top:22px}.card{padding:16px;border-radius:18px}.table-wrap{margin-left:-2px;margin-right:-2px}table{min-width:640px}th,td{padding:10px 8px}.adminbox,.wrap{padding:16px}.actions input,.actions select{min-width:120px}.score{font-size:18px}}
@media(max-width:800px) and (orientation:portrait){.mobile-standings-note{display:block}.standings-table{min-width:0}.standings-table th,.standings-table td{display:none}.standings-table .mobile-keep{display:table-cell}.standings-table th.points-col,.standings-table td.points-col{text-align:right}.standings-table th{font-size:12px}.standings-table td{font-size:15px}.standings-table .points-col strong{font-size:18px}.standings-table .rank-col{width:42px;color:var(--muted)}}

.nav .navtoggle{position:absolute !important;left:-9999px !important;top:auto !important;width:1px !important;height:1px !important;opacity:0 !important;padding:0 !important;margin:0 !important;border:0 !important;pointer-events:none !important;appearance:none !important;}
.navin{flex-wrap:nowrap;}
.navlinks{min-width:0;}
.navlinks .adminlink{margin-left:auto !important;}
@media (min-width:801px){.hamburger{display:none !important;}.navlinks{display:flex !important;}}
@media(max-width:800px){.navin{flex-wrap:wrap;}.hamburger{display:flex !important;}.navlinks{display:none !important;width:100%;flex-basis:100%;}.nav .navtoggle:checked ~ .navlinks{display:flex !important;}.navlinks a{display:block;width:100%;text-align:center;}.navlinks .adminlink{order:-1;margin-left:0 !important;}}
@media(max-width:800px) and (orientation:portrait){.standings-table{min-width:0 !important;width:100%;}.standings-table th:not(.mobile-keep),.standings-table td:not(.mobile-keep){display:none !important;}.standings-table .mobile-keep{display:table-cell !important;}}
.admin-nav .navin{justify-content:space-between;}
.admin-nav .navlinks{justify-content:flex-end;flex:0 0 auto;}
.admin-nav .navlinks .adminlink{margin-left:0 !important;}
@media(min-width:801px){.admin-nav .navlinks{display:flex !important; width:auto;}}
@media(max-width:800px){.admin-nav .navlinks{display:none !important; width:100%; flex-basis:100%;}.admin-nav .navtoggle:checked ~ .navlinks{display:flex !important;}.admin-nav .navlinks .adminlink{order:0; width:100%; text-align:center;}}

.score-inputs input{width:78px; max-width:100%;}
@media(max-width:800px){
  .adminbox .hero h1{font-size:clamp(28px,9vw,42px);}
  .adminbox .hero p{font-size:15px;}
  .adminbox .card{padding:14px;}
  .adminbox h2{font-size:22px;}
  .adminbox .btn{width:100%; min-height:44px;}
  .adminbox .actions{width:100%; gap:10px;}
  .adminbox .actions .btn{flex:1 1 130px;}
  .adminbox input,.adminbox textarea,.adminbox select{font-size:16px;}
  .adminbox textarea{min-height:96px;}
  .admin-table-wrap{overflow:visible; border:0; border-radius:0;}
  .admin-edit-table{min-width:0 !important; width:100%; border-collapse:separate; border-spacing:0 12px;}
  .admin-edit-table thead{display:none;}
  .admin-edit-table tbody,.admin-edit-table tr,.admin-edit-table td{display:block; width:100%;}
  .admin-edit-table tr{background:rgba(255,255,255,.055);border:1px solid var(--line);border-radius:16px;padding:12px;overflow:hidden;}
  .admin-edit-table td{border-bottom:0;padding:8px 0;}
  .admin-edit-table td::before{content:attr(data-label);display:block;margin-bottom:6px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;}
  .admin-edit-table td[data-label="Akce"]::before{display:none;}
  .score-inputs{display:grid; grid-template-columns:1fr 1fr;}
  .score-inputs input{width:100%;}
}

.admin-team-accordion{display:none;}
.admin-teams-desktop{display:block;}
.team-details{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.045);margin:10px 0;overflow:hidden;}
.team-details summary{list-style:none;cursor:pointer;padding:13px 14px;display:flex;align-items:center;gap:10px;font-weight:900;}
.team-details summary::-webkit-details-marker{display:none;}
.team-details summary::after{content:'▾';color:var(--muted);margin-left:6px;transition:transform .2s ease;}
.team-details[open] summary::after{transform:rotate(180deg);}
.team-details summary span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.team-details summary small{font-size:12px;font-weight:800;color:var(--muted);white-space:nowrap;margin-left:auto;}
.team-details summary.team-has-players span{color:var(--accent);}
.team-details summary.team-no-players span{color:var(--danger);}
.team-mobile-form,.team-delete-form{padding:0 14px 14px;}
.team-delete-form{padding-top:0;}
.team-mobile-form .btn,.team-delete-form .btn{width:100%;}
@media(max-width:760px){.admin-teams-desktop{display:none !important;}.admin-team-accordion{display:block;}}
@media(min-width:761px){.admin-teams-desktop{display:block !important;}.admin-team-accordion{display:none !important;}}

.dropdown { position: relative; display: inline-block; }
.dropdown .dropbtn { cursor: pointer; }
.dropdown-content { display: none; position: absolute; background-color: var(--card2); min-width: 160px; box-shadow: 0 8px 16px rgba(0,0,0,0.5); z-index: 1; border-radius: 13px; overflow: hidden; top: 100%; left: 0; border: 1px solid var(--line); }
.dropdown-content.show { display: flex; flex-direction: column; }
.dropdown-content a { padding: 12px 16px; text-decoration: none; display: block; font-weight: 600; border-radius: 0; background: transparent; }
.dropdown-content a:hover, .dropdown-content a.active { background: rgba(255,255,255,0.1); color: var(--text); }
@media (max-width: 800px) { .dropdown { display: block; width: 100%; } .dropdown-content { position: static; box-shadow: none; background-color: transparent; padding-left: 20px; border: none; } .dropdown-content.show { display: flex; } .dropdown-content a { padding: 8px 16px; } }

.team-color { display: inline-block; margin-left: 10px; font-size: 0.85em; color: var(--text-color); background: var(--bg-color); padding: 2px 8px; border-radius: 12px; border: 1px solid var(--border-color); }
.team-group-badge { background: var(--primary); color: white; padding: 2px 6px; border-radius: 4px; font-size: 0.8rem; margin-right: 8px; }

tr.match-pending td { background-color: rgba(255, 209, 102, 0.08) !important; border-top: 2px solid var(--warn) !important; border-bottom: 2px solid var(--warn) !important; }
tr.match-pending td:first-child { border-left: 2px solid var(--warn) !important; border-top-left-radius: 8px; border-bottom-left-radius: 8px; }
tr.match-pending td:last-child { border-right: 2px solid var(--warn) !important; border-top-right-radius: 8px; border-bottom-right-radius: 8px; }

.admin-match-table input, .admin-match-table select { padding: 8px; font-size: 14px; border-radius: 8px; background: #0f1d33; border: 1px solid var(--line); color: #ffffff; width: 100%; box-sizing: border-box; }
.admin-match-table select.winner-name { color: var(--accent) !important; font-weight: 900; }
.admin-match-table select.loser-name { color: var(--danger) !important; font-weight: 900; }
.admin-match-table .score-inputs { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 18px; font-weight: 900; }
.admin-match-table .score-inputs input { width: 50px; text-align: center; font-size: 16px; font-weight: 900; padding: 6px; }
.admin-match-table th { white-space: nowrap; }
.admin-match-table td { min-width: 120px; }
.admin-match-table td.score-td { min-width: 140px; }
.admin-match-table td.time-td { min-width: 90px; }
.admin-match-table td.action-td { min-width: 80px; }

/* Dulezite prepsani pro select a option aby byl vzdy bily text na tmavem pozadi i na telefonech */
select { background-color: #0f1d33 !important; color: #ffffff !important; }
select option { background-color: #0f1d33 !important; color: #ffffff !important; font-weight: 600; }
