:root {
    --k-bg:        #0a1018;
    --k-bg-2:      #0f1822;
    --k-surface:   #131e2b;
    --k-surface-2: #1a2737;
    --k-border:    #233246;
    --k-green:     #7ac943;
    --k-green-2:   #5fae2e;
    --k-text:      #e7eef5;
    --k-muted:     #93a4b7;
}

* { box-sizing: border-box; }

body {
    background:
        radial-gradient(1200px 500px at 50% -200px, rgba(122,201,67,.10), transparent 60%),
        var(--k-bg);
    color: var(--k-text);
    font-family: "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
    min-height: 100vh;
    margin: 0;
}

a { color: var(--k-green); text-decoration: none; }
a:hover { color: var(--k-green-2); }

/* ---- Navbar ---- */
.k-navbar {
    background: rgba(10,16,24,.92);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--k-border);
}
.k-navbar .navbar-brand img { height: 40px; }
.k-navbar .nav-link { color: var(--k-muted); font-weight: 600; letter-spacing: .3px; }
.k-navbar .nav-link:hover, .k-navbar .nav-link.active { color: var(--k-text); }

/* ---- Hero ---- */
.k-hero {
    text-align: center;
    padding: 4rem 1rem 3rem;
    border-bottom: 1px solid var(--k-border);
}
.k-hero img { height: 130px; margin-bottom: 1.5rem; }
.k-hero h1 { font-weight: 800; letter-spacing: -.5px; }
.k-hero .lead { color: var(--k-muted); }

/* ---- Cards ---- */
.k-card {
    background: var(--k-surface);
    border: 1px solid var(--k-border);
    border-radius: 14px;
    overflow: hidden;
}
.k-card .k-card-head {
    padding: .85rem 1.1rem;
    border-bottom: 1px solid var(--k-border);
    font-weight: 700;
    display: flex; align-items: center; justify-content: space-between;
}
.k-card .k-card-body { padding: 1.1rem; }

/* ---- Match row ---- */
.k-match {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: .75rem;
    padding: .75rem 0;
    border-bottom: 1px solid var(--k-border);
}
.k-match:last-child { border-bottom: 0; }
.k-team { font-weight: 600; }
.k-team.home { text-align: right; }
.k-vs { color: var(--k-muted); font-size: .85rem; }
.k-kickoff { color: var(--k-muted); font-size: .8rem; }

.k-score-input {
    width: 54px; text-align: center;
    background: var(--k-surface-2);
    border: 1px solid var(--k-border);
    color: var(--k-text);
    border-radius: 8px; padding: .35rem;
}

/* ---- Buttons ---- */
.btn-k {
    background: linear-gradient(180deg, var(--k-green), var(--k-green-2));
    border: none; color: #08210a; font-weight: 700;
    border-radius: 10px;
}
.btn-k:hover { color: #08210a; filter: brightness(1.05); }
.btn-outline-k {
    border: 1px solid var(--k-border); color: var(--k-text);
    background: var(--k-surface-2); border-radius: 10px;
}
.btn-outline-k:hover { border-color: var(--k-green); color: var(--k-text); }

/* ---- Tables ---- */
.k-table { width: 100%; border-collapse: collapse; }
.k-table th, .k-table td { padding: .65rem .75rem; border-bottom: 1px solid var(--k-border); }
.k-table th { color: var(--k-muted); text-align: left; font-weight: 600; }
.k-table tr:hover td { background: var(--k-surface-2); }
.k-rank { font-weight: 800; color: var(--k-green); }

/* ---- Badges ---- */
.k-badge { background: var(--k-surface-2); border: 1px solid var(--k-border); color: var(--k-muted);
    padding: .15rem .55rem; border-radius: 999px; font-size: .72rem; font-weight: 700; }
.k-badge.green { color: var(--k-green); border-color: var(--k-green-2); }

/* ---- Forms ---- */
.form-control, .form-select {
    background: var(--k-surface-2); border: 1px solid var(--k-border); color: var(--k-text);
}
.form-control:focus, .form-select:focus {
    background: var(--k-surface-2); color: var(--k-text);
    border-color: var(--k-green); box-shadow: 0 0 0 .2rem rgba(122,201,67,.15);
}

/* ---- Footer ---- */
.k-footer { border-top: 1px solid var(--k-border); color: var(--k-muted); padding: 2rem 0; margin-top: 3rem; }
.k-footer img { height: 32px; }

/* ---- Alerts ---- */
.k-alert { border-radius: 10px; border: 1px solid var(--k-border); padding: .75rem 1rem; margin-bottom: 1rem; }
.k-alert.success { border-color: var(--k-green-2); background: rgba(122,201,67,.08); }
.k-alert.error   { border-color: #d65a5a; background: rgba(214,90,90,.08); }

/* ---- Admin sidebar ---- */
.k-admin { display: grid; grid-template-columns: 240px 1fr; min-height: 100vh; }
.k-sidebar { background: var(--k-bg-2); border-right: 1px solid var(--k-border); padding: 1rem; }
.k-sidebar a { display: block; color: var(--k-muted); padding: .6rem .8rem; border-radius: 8px; font-weight: 600; }
.k-sidebar a:hover, .k-sidebar a.active { background: var(--k-surface-2); color: var(--k-text); }
.k-admin-main { padding: 1.5rem 2rem; }
.k-stat { background: var(--k-surface); border: 1px solid var(--k-border); border-radius: 12px; padding: 1.1rem; }
.k-stat .num { font-size: 2rem; font-weight: 800; color: var(--k-green); }
.k-stat .lbl { color: var(--k-muted); font-size: .85rem; }
@media (max-width: 768px) { .k-admin { grid-template-columns: 1fr; } .k-sidebar { border-right: 0; } }

/* ============================================================
   V1.4 – Spielplan / Ergebnisse / Kategorisierung
   ============================================================ */

/* Filter-Tabs */
.k-tabs { display:inline-flex; gap:.25rem; background:var(--k-surface); border:1px solid var(--k-border);
    border-radius:10px; padding:.25rem; }
.k-tabs.k-tabs-wrap { display:flex; flex-wrap:wrap; }
.k-tabs a { padding:.4rem .8rem; border-radius:8px; color:var(--k-muted); font-weight:600; font-size:.85rem;
    white-space:nowrap; }
.k-tabs a:hover { color:var(--k-text); }
.k-tabs a.active { background:var(--k-surface-2); color:var(--k-text); box-shadow:inset 0 0 0 1px var(--k-border); }
.k-tab-count { display:inline-block; min-width:18px; padding:0 .3rem; margin-left:.2rem; border-radius:999px;
    background:var(--k-bg-2); color:var(--k-muted); font-size:.7rem; line-height:18px; text-align:center; }

/* Wettbewerbs-Block */
.k-comp-block .k-comp-head { font-size:1.05rem; font-weight:800; letter-spacing:.2px; margin-bottom:.6rem;
    padding-left:.6rem; border-left:3px solid var(--k-green); }
.k-matchday { color:var(--k-muted); font-size:.78rem; font-weight:700; text-transform:uppercase;
    letter-spacing:.6px; margin:.9rem 0 .4rem; }

/* Spielreihe (klickbar) */
.k-fixture { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:.75rem;
    padding:.7rem 1rem; border-bottom:1px solid var(--k-border); color:var(--k-text); transition:background .12s; }
.k-fixture:last-child { border-bottom:0; }
.k-fixture:hover { background:var(--k-surface-2); color:var(--k-text); }
.k-fixture-team { font-weight:600; }
.k-fixture-team.home { text-align:right; }
.k-fixture-team.away { text-align:left; }
.k-fixture-center { display:flex; flex-direction:column; align-items:center; gap:.25rem; min-width:88px; }

/* Ergebnis-Anzeige */
.k-score { font-weight:800; font-size:1.15rem; letter-spacing:1px; font-variant-numeric:tabular-nums; }
.k-score i { color:var(--k-muted); font-style:normal; margin:0 .15rem; }
.k-score.muted { color:var(--k-muted); }

/* Status-Pills */
.k-pill { font-size:.7rem; font-weight:700; padding:.12rem .5rem; border-radius:999px;
    border:1px solid var(--k-border); white-space:nowrap; }
.k-pill.scheduled { color:var(--k-muted); }
.k-pill.finished  { color:var(--k-green); border-color:var(--k-green-2); }
.k-pill.live { color:#ff6b6b; border-color:#d65a5a; animation:kpulse 1.4s ease-in-out infinite; }
@keyframes kpulse { 0%,100%{opacity:1} 50%{opacity:.45} }

/* Scoreboard (Spiel-Detail) */
.k-scoreboard { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1rem; padding:1rem 0; }
.k-sb-team { font-size:1.15rem; font-weight:700; color:var(--k-text); text-align:center; }
.k-sb-team:hover { color:var(--k-green); }
.k-sb-score { text-align:center; }
.k-sb-score .k-score { font-size:2.4rem; }

@media (max-width:560px){
    .k-fixture { grid-template-columns:1fr auto 1fr; gap:.4rem; padding:.6rem .6rem; font-size:.9rem; }
    .k-fixture-center { min-width:70px; }
    .k-sb-team { font-size:1rem; }
    .k-sb-score .k-score { font-size:1.8rem; }
}

/* ============================================================
   v1.5.1 – Professionelles Frontend, Spielplan und Spielerbilder
   ============================================================ */
body {
    background:
        radial-gradient(900px 420px at 12% 0%, rgba(122,201,67,.18), transparent 60%),
        radial-gradient(900px 520px at 88% 4%, rgba(56,189,248,.12), transparent 58%),
        linear-gradient(180deg, #08111d 0%, #0a1018 42%, #070b12 100%);
}
.k-navbar { box-shadow: 0 14px 45px rgba(0,0,0,.30); }
.k-navbar .navbar-brand img { height: 58px; width:auto; object-fit:contain; filter: drop-shadow(0 10px 20px rgba(122,201,67,.18)); border-radius:12px; }
.k-navbar .container { gap:1rem; }
.k-navbar .nav-link { padding:.65rem .9rem!important; border-radius:999px; }
.k-navbar .nav-link.active, .k-navbar .nav-link:hover { background:rgba(255,255,255,.06); }
.k-glass { background: linear-gradient(180deg, rgba(19,30,43,.92), rgba(12,20,31,.94)); box-shadow:0 18px 55px rgba(0,0,0,.28); }
.k-hero-pro { position:relative; overflow:hidden; border:1px solid var(--k-border); border-radius:28px; margin-top:1rem; padding:4rem 1.25rem; background:linear-gradient(135deg, rgba(122,201,67,.16), rgba(56,189,248,.05) 40%, rgba(19,30,43,.75)); }
.k-hero-pro:before { content:""; position:absolute; inset:-40%; background:radial-gradient(circle, rgba(255,255,255,.08), transparent 35%); transform:rotate(12deg); pointer-events:none; }
.k-hero-logo-wrap { position:relative; display:inline-grid; place-items:center; width:190px; height:190px; margin:0 auto 1.2rem; border-radius:34px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.10); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 28px 80px rgba(0,0,0,.36); }
.k-hero-logo-wrap img { height:150px; margin:0; border-radius:24px; filter: drop-shadow(0 16px 30px rgba(0,0,0,.35)); }
.k-eyebrow { color:var(--k-green); font-weight:800; letter-spacing:.14em; text-transform:uppercase; font-size:.76rem; margin-bottom:.55rem; }
.k-hero-pro h1 { position:relative; max-width:840px; margin:0 auto; font-size:clamp(2.2rem, 5vw, 4.8rem); line-height:.98; font-weight:950; letter-spacing:-.055em; }
.k-hero-pro .lead { position:relative; max-width:760px!important; font-size:1.16rem; color:#b9c8d8; }
.k-front-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr); gap:1.5rem; align-items:start; }
.k-section-title { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:0 0 .8rem; font-weight:900; font-size:1.08rem; }
.k-section-title a { font-size:.86rem; font-weight:800; color:var(--k-muted); }
.k-news-mini { padding:.2rem 0 .85rem; margin-bottom:.85rem; border-bottom:1px solid var(--k-border); }
.k-news-mini:last-child { border-bottom:0; margin-bottom:0; padding-bottom:0; }
.k-news-mini a { display:block; font-weight:850; color:var(--k-text); }
.k-news-mini small { color:var(--k-muted); }
.k-ranking-table td { padding:.85rem .45rem; }
.k-page-hero { display:flex; align-items:end; justify-content:space-between; gap:1rem; padding:1.6rem; border:1px solid var(--k-border); border-radius:24px; background:linear-gradient(135deg, rgba(122,201,67,.12), rgba(19,30,43,.86)); }
.k-page-hero h1 { margin:0; font-size:clamp(1.8rem, 4vw, 3.2rem); font-weight:950; letter-spacing:-.045em; }
.k-page-hero p { margin:.35rem 0 0; color:var(--k-muted); max-width:650px; }
.k-schedule-pro .k-comp-head { display:flex; justify-content:space-between; align-items:center; padding-left:0; border-left:0; font-size:1.25rem; }
.k-schedule-pro .k-comp-head span { display:inline-flex; align-items:center; gap:.5rem; }
.k-schedule-pro .k-comp-head span:before { content:""; width:12px; height:12px; border-radius:50%; background:var(--k-green); box-shadow:0 0 28px rgba(122,201,67,.9); }
.k-schedule-pro .k-comp-head small { color:var(--k-muted); font-size:.82rem; }
.k-matchday-pro { margin:1.1rem 0 .55rem; display:flex; align-items:center; justify-content:space-between; padding:.55rem .85rem; border-radius:14px; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.07); }
.k-matchday-pro strong { color:#fff; letter-spacing:.02em; }
.k-matchday-pro span { color:var(--k-muted); font-size:.82rem; }
.k-fixture-pro { grid-template-columns:76px minmax(0,1fr) 100px minmax(0,1fr) 74px; padding:1rem 1.05rem; transition:transform .16s ease, background .16s ease, border-color .16s ease; }
.k-fixture-pro:hover { transform:translateY(-1px); background:rgba(255,255,255,.055); }
.k-fixture-date { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:46px; border-radius:12px; background:rgba(0,0,0,.18); border:1px solid var(--k-border); color:#fff; font-weight:900; font-variant-numeric:tabular-nums; }
.k-fixture-date small { color:var(--k-muted); font-size:.72rem; font-weight:800; }
.k-fixture-cta { color:var(--k-muted); font-size:.78rem; font-weight:800; text-align:right; }
.k-score { font-size:1.28rem; }
.k-player-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:1rem; }
.k-player-card { position:relative; min-height:220px; border:1px solid var(--k-border); border-radius:20px; padding:1rem; color:var(--k-text); background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025)); overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; }
.k-player-card img { position:absolute; inset:0 0 auto 0; width:100%; height:145px; object-fit:cover; opacity:.88; }
.k-player-card:after { content:""; position:absolute; inset:50px 0 0; background:linear-gradient(180deg, transparent, rgba(8,17,29,.96) 66%); }
.k-player-card strong, .k-player-card small, .k-player-no { position:relative; z-index:1; }
.k-player-card strong { line-height:1.12; }
.k-player-card small { color:var(--k-muted); }
.k-player-no { position:absolute; top:.7rem; right:.7rem; width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:var(--k-green); color:#07100a; font-weight:950; box-shadow:0 10px 24px rgba(0,0,0,.35); }
.k-team-logo-xl { width:92px; height:92px; object-fit:contain; border-radius:24px; background:rgba(255,255,255,.06); padding:.55rem; }
.k-player-hero .k-card-body { display:grid; grid-template-columns:170px 1fr auto; align-items:center; gap:1.4rem; }
.k-player-hero-img { width:170px; height:170px; object-fit:cover; border-radius:28px; border:1px solid var(--k-border); box-shadow:0 22px 60px rgba(0,0,0,.35); }
.k-player-hero-info h1 { margin:0 0 .7rem; font-weight:950; font-size:clamp(2rem, 5vw, 4rem); letter-spacing:-.05em; }
.k-player-number { font-size:5rem; font-weight:950; line-height:1; color:rgba(122,201,67,.25); }
.k-admin-panel { box-shadow:0 14px 40px rgba(0,0,0,.22); }
.k-admin-avatar { width:46px; height:46px; border-radius:14px; object-fit:cover; border:1px solid var(--k-border); }
.k-player-preview { width:120px; height:120px; border-radius:18px; object-fit:cover; border:1px solid var(--k-border); }
.k-admin-player-table td { vertical-align:middle; }
@media (max-width:992px){ .k-front-grid{grid-template-columns:1fr}.k-page-hero{align-items:start;flex-direction:column}.k-fixture-pro{grid-template-columns:62px 1fr 82px 1fr}.k-fixture-cta{display:none}.k-player-hero .k-card-body{grid-template-columns:110px 1fr}.k-player-hero-img{width:110px;height:110px}.k-player-number{display:none} }
@media (max-width:560px){ .k-navbar .navbar-brand img{height:48px}.k-hero-logo-wrap{width:150px;height:150px}.k-hero-logo-wrap img{height:118px}.k-fixture-pro{grid-template-columns:1fr auto 1fr; row-gap:.45rem}.k-fixture-date{grid-column:1/-1; min-height:32px; flex-direction:row; gap:.35rem}.k-fixture-date small:before{content:"· ";}.k-player-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.k-player-card{min-height:190px}.k-player-card img{height:125px} }
