:root {
  --mp-navy:#1a1f2e; --mp-red:#d42b2b; --mp-green:#0e9e6e;
  --mp-border:#e2e8f0; --mp-bg:#f8fafc; --mp-text:#1e293b;
  --mp-muted:#64748b; --mp-radius:10px; --mp-radius-sm:6px;
}

/* ── Login ── */
.mp-login-wrap { min-height:60vh;display:flex;align-items:center;justify-content:center;padding:16px; }
.mp-login-card { background:#fff;border:1px solid var(--mp-border);border-radius:var(--mp-radius);padding:24px;width:100%;max-width:400px;box-shadow:0 4px 24px rgba(0,0,0,0.07);box-sizing:border-box; }
.mp-login-logo { text-align:center;margin-bottom:16px; }
.mp-login-title { font-size:20px;font-weight:700;color:var(--mp-navy);text-align:center;margin:0 0 4px; }
.mp-login-sub { font-size:13px;color:var(--mp-muted);text-align:center;margin:0 0 20px; }
.mp-login-form { display:flex;flex-direction:column;gap:12px; }
.mp-login-help { font-size:12px;color:var(--mp-muted);text-align:center;margin:16px 0 0; }

/* ── Portal layout — desktop: ľavý sidebar ── */
.mp-portal { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--mp-text);display:flex;align-items:flex-start;min-height:100vh; }
.mp-nav { background:var(--mp-navy);color:#fff;display:flex;flex-direction:column;align-items:stretch;width:220px;min-width:220px;flex-shrink:0;min-height:100vh;position:sticky;top:0;padding:0;gap:0;z-index:100; }
.mp-nav-brand { display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:18px 16px 14px;border-bottom:1px solid rgba(255,255,255,.12); }
.mp-nav-logo { height:36px;width:auto;border-radius:4px;margin-bottom:4px; }
.mp-nav-title { font-size:13px;font-weight:700;color:#fff;line-height:1.2; }
.mp-nav-team { font-size:11px;color:rgba(255,255,255,0.5);padding-left:0;margin-left:0;border-left:none; }
/* Prepínače Súťaž / Tím — navrchu menu (9.22.0) */
.mp-nav-switch { display:flex;flex-direction:column;gap:8px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.12); }
.mp-nav-switch:empty { display:none; }
.mp-nav-switch > div { width:100%; }
.mp-nav-switch > div > div { flex:1;min-width:0; }
.mp-nav-switch select { width:100%;min-width:0 !important; }
.mp-nav-items { display:flex;flex-direction:column;gap:2px;flex:1;padding:10px 8px;overflow-y:auto; }
.mp-nav-item { display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--mp-radius-sm);text-decoration:none;color:rgba(255,255,255,0.7);font-size:13px;font-weight:600;transition:background .15s;position:relative; }
.mp-nav-item:hover,.mp-nav-item.active { background:rgba(255,255,255,0.12);color:#fff; }
.mp-nav-item.active { border-left:3px solid rgba(255,255,255,0.6);padding-left:9px; }
.mp-nav-icon { font-size:16px;min-width:20px;text-align:center;flex-shrink:0; }
.mp-nav-label { white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.mp-nav-end { padding:12px 16px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:8px;align-items:flex-start; }
.mp-nav-logout { font-size:12px;color:rgba(255,255,255,0.5);text-decoration:none;padding:6px 10px;border-radius:var(--mp-radius-sm);border:1px solid rgba(255,255,255,0.15);cursor:pointer;background:none;font-family:inherit; }
.mp-nav-logout:hover { background:rgba(255,255,255,0.08);color:#fff; }
.mp-content { flex:1;min-width:0;padding:28px 28px;max-width:none;margin:0; }

/* ── Page header ── */
.mp-page-header { margin-bottom:20px; }
.mp-page-title { font-size:20px;font-weight:700;color:var(--mp-navy);margin:0 0 4px; }
.mp-page-sub { font-size:13px;color:var(--mp-muted);margin:0; }

/* ── Cards ── */
.mp-card { background:#fff;border:1px solid var(--mp-border);border-radius:var(--mp-radius);overflow:hidden;margin-bottom:16px; }
.mp-card-head { background:var(--mp-navy);color:#fff;padding:10px 16px;font-size:13px;font-weight:700; }
.mp-card-body { padding:16px; }

/* ── Stats ── */
.mp-stat-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px; }
.mp-stat-card { background:#fff;border:1px solid var(--mp-border);border-radius:var(--mp-radius);padding:16px;text-align:center; }
.mp-stat-num { font-size:32px;font-weight:900;color:var(--mp-navy);line-height:1; }
.mp-stat-num.mp-stat-warn { color:#f59e0b; }
.mp-stat-lbl { font-size:12px;color:var(--mp-muted);margin-top:4px;text-transform:uppercase;letter-spacing:.05em; }

/* ── Game ── */
.mp-game-row { display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600;flex-wrap:wrap; }
.mp-game-team { color:var(--mp-text); }
.mp-game-team.mp-my-team { color:var(--mp-navy);font-weight:800; }
.mp-game-vs { color:var(--mp-muted);font-size:12px; }
.mp-game-meta { font-size:12px;color:var(--mp-muted);margin-top:6px; }
.mp-game-list { display:flex;flex-direction:column;gap:6px; }
.mp-game-select-item { display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border:1px solid var(--mp-border);border-radius:var(--mp-radius-sm);text-decoration:none;color:var(--mp-text);font-size:13px;transition:background .1s; }
.mp-game-select-item:hover { background:var(--mp-bg); }
.mp-game-select-item.active { border-color:var(--mp-navy);background:#eef2ff; }
.mp-game-teams { font-weight:600; }
.mp-game-date { color:var(--mp-muted); }

/* ── Roster players ── */
.mp-roster-group { margin-bottom:16px; }
.mp-roster-group-title { font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--mp-muted);margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--mp-border); }
.mp-roster-players { display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px; }
.mp-player-check { display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--mp-border);border-radius:var(--mp-radius-sm);cursor:pointer;transition:background .1s,border-color .1s; }
.mp-player-check input[type=checkbox] { width:16px;height:16px;flex-shrink:0; }
.mp-player-check:hover { background:var(--mp-bg); }
.mp-player-check.selected { border-color:var(--mp-green);background:#f0fdf4; }
.mp-player-check.mp-player-suspended { border-color:#fca5a5;background:#fef2f2;cursor:not-allowed;opacity:.8; }
.mp-player-check.mp-player-suspended .mp-player-name { color:#991b1b; }
.mp-player-avatar { width:32px;height:32px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--mp-bg);display:flex;align-items:center;justify-content:center; }
.mp-player-avatar img { width:100%;height:100%;object-fit:cover; }
.mp-player-initials { font-size:11px;font-weight:700;color:var(--mp-muted); }
.mp-player-info { display:flex;flex-direction:column;min-width:0; }
.mp-player-name { font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.mp-player-num { font-size:11px;color:var(--mp-muted); }

/* ── Players grid ── */
.mp-players-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px; }
.mp-player-card { background:#fff;border:1px solid var(--mp-border);border-radius:var(--mp-radius);padding:16px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center; }
.mp-player-card-photo { width:72px;height:72px;border-radius:50%;overflow:hidden;background:var(--mp-bg);display:flex;align-items:center;justify-content:center; }
.mp-player-card-photo img { width:100%;height:100%;object-fit:cover; }
.mp-player-card-initials { font-size:24px;font-weight:900;color:var(--mp-muted); }
.mp-player-card-info { display:flex;flex-direction:column;gap:3px; }
.mp-player-card-info strong { font-size:13px;color:var(--mp-navy); }
.mp-player-card-meta { font-size:12px;color:var(--mp-muted); }

/* ── Table ── */
.mp-table { width:100%;border-collapse:collapse;font-size:13px; }
.mp-table thead tr { background:var(--mp-navy);color:#fff; }
.mp-table th { padding:9px 12px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:700; }
.mp-table td { padding:10px 12px;border-bottom:1px solid var(--mp-border); }
.mp-table tbody tr:hover td { background:var(--mp-bg); }

/* ── Forms ── */
.mp-field { display:flex;flex-direction:column;gap:4px;margin-bottom:12px; }
.mp-field label { font-size:12px;font-weight:600;color:#374151; }
.mp-field input,.mp-field select,.mp-field textarea { padding:8px 10px;border:1px solid var(--mp-border);border-radius:var(--mp-radius-sm);font-size:16px;width:100%;box-sizing:border-box; }
.mp-field input:focus,.mp-field select:focus,.mp-field textarea:focus { outline:none;border-color:var(--mp-navy);box-shadow:0 0 0 2px rgba(26,31,46,0.1); }

/* ── Buttons ── */
.mp-btn { display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--mp-border);border-radius:var(--mp-radius-sm);background:#fff;color:var(--mp-text);font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s; }
.mp-btn:hover { background:var(--mp-bg); }
.mp-btn-primary { background:var(--mp-navy);color:#fff;border-color:var(--mp-navy); }
.mp-btn-primary:hover { background:#232940; }
.mp-btn-full { width:100%;justify-content:center; }
.mp-btn-sm { font-size:11px;padding:5px 10px; }

/* ── Alerts ── */
.mp-alert { padding:10px 14px;border-radius:var(--mp-radius-sm);font-size:13px;margin-bottom:14px; }
.mp-alert-success { background:#dcfce7;color:#14532d; }
.mp-alert-error { background:#fee2e2;color:#991b1b; }
.mp-alert-info { background:#dbeafe;color:#1e40af; }

/* ── Hamburger — skrytý na desktope ── */
.mp-hamburger { display:none; }
.mp-hamburger span {
  display:block;
  width:22px;
  height:2px;
  background:#fff;
  border-radius:2px;
  transition:transform .2s, opacity .2s;
}
.mp-hamburger[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.mp-hamburger[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.mp-hamburger[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* ── Mobilný breakpoint: horný bar + hamburger ── */
@media(max-width:768px){
  .mp-portal { flex-direction:column; min-height:unset; }
  .mp-nav {
    flex-direction:row;
    align-items:center;
    flex-wrap:wrap;
    width:100%;
    min-width:unset;
    min-height:unset;
    position:sticky;
    top:0;
    padding:10px 16px;
    gap:0;
  }
  .mp-nav-brand {
    flex-direction:row;
    align-items:center;
    gap:8px;
    border-bottom:none;
    padding:0;
    width:100%;
  }
  .mp-nav-logo { height:28px;margin-bottom:0; }
  .mp-nav-title { font-size:13px; }
  .mp-nav-team { display:none; }
  .mp-hamburger {
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    background:none;
    border:none;
    cursor:pointer;
    padding:6px;
    margin-left:auto;
    flex-shrink:0;
  }
  .mp-nav-switch { width:100%;flex-direction:row;flex-wrap:wrap;padding:8px 0 2px;border-bottom:none; }
  .mp-nav-switch > div { width:auto;flex:1 1 160px; }
  .mp-nav-items {
    display:none;
    width:100%;
    flex:none;
    flex-direction:column;
    gap:0;
    background:var(--mp-navy);
    border-top:1px solid rgba(255,255,255,.12);
    padding:6px 0;
    overflow-y:visible;
  }
  .mp-nav-items.open { display:flex !important; }
  .mp-nav-item { padding:10px 16px;border-radius:0;gap:10px;color:rgba(255,255,255,0.8) !important;text-decoration:none !important; }
  .mp-nav-item:hover,.mp-nav-item.active { background:rgba(255,255,255,0.12);color:#fff !important; }
  .mp-nav-item.active { border-left:3px solid rgba(255,255,255,0.6);padding-left:13px; }
  .mp-nav-end {
    flex-direction:row;
    align-items:center;
    gap:10px;
    width:100%;
    padding:8px 16px;
  }
  .mp-content { padding:16px 12px; }
  .mp-roster-players { grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); }
}

/* ── btn-more v portáli ── */
.mahl-db-btn-more { display:block;text-align:center;padding:10px;border-top:1px solid #f1f5f9;font-size:13px;color:#2271b1;text-decoration:none;background:#fafafa; }
.mahl-db-btn-more:hover { background:#f1f5f9; }
