/*!* Nastavení fontu *!*/

/*@font-face {*/
/*    font-family: 'Signika';*/
/*    !*src: url('https://tipovacka.bezdeci.cz/css/Font/Signika-Light.ttf') format('truetype');*!*/
/*    src: url('../css/Font/Signika-Light.ttf') format('truetype');*/
/*    font-weight: normal;*/
/*}*/

/*@font-face {*/
/*    font-family: 'Signika';*/
/*    !*src: url('https://tipovacka.bezdeci.cz/css/Font/Signika-Medium.ttf') format('truetype');*!*/
/*    src: url('../css/Font/Signika-Medium.ttf') format('truetype');*/
/*    font-weight: bold;*/
/*}*/

@font-face {
    font-family: 'RussoOne';
    /*src: url('https://tipovacka.bezdeci.cz/css/Font/RussoOne-Regular.ttf') format('truetype');*/
    src: url('../css/Font/RussoOne-Regular.ttf') format('truetype');
}


:root {
    /* Barvy */
    /*--primary-color: #143cdb;*/
    --color1: #143cdb;
    /*--primary-hover-color: #2976f8;*/
    --color1-hover: #2976f8;
    --light-blue: #d4e0f1;

}
/*!* Obecné *!*/

.bg-color1 {
    background-color: var(--color1) !important;
}

.bg-color1-hover {
    background-color: var(--color1-hover) !important;
    color: white;
}

.bg-light-blue {
    background-color: var(--light-blue) !important;
}

.bg-gold {
    background-color: gold !important;
}

.bg-silver {
    background-color: silver !important;
}

.bg-bronze {
    background-color: sandybrown !important;
}

.bg-A {
    background-color: lightyellow;
}

.bg-B {
    background-color: #ffc698;
}

.bg-C {
    background-color: #d2fa93;
}

.bg-D {
    background-color: #b0f6e6;
}

.bg-E {
    background-color: #e7afff;
}

.bg-F, .bg-red {
    background-color: #ffa7a7;
}

.bg-G {
    background-color: #a7c7ff;
}

.bg-H {
    background-color: #ffd6e0;
}

.bg-I {
    background-color: #caffbf;
}

.bg-J {
    background-color: #f1c0e8;
}

.bg-K {
    background-color: #bde0fe;
}

.bg-L {
    background-color: #ffdfba;
}

.bg-exact, .bg-green {
    background-color: #c6fdcb;
}

.bg-correct {
    background-color: #e8f8ea;
}

/* ── Bodové odstíny zelené (vysledky-zapasy) ── */
.bg-pts-3  { background-color: #ebfaec; }
.bg-pts-4  { background-color: #d4f5d7; }
.bg-pts-5  { background-color: #b8ecbd; }
.bg-pts-6  { background-color: #98e1a0; }
.bg-pts-7  { background-color: #74d27e; }
.bg-pts-8  { background-color: #4fc05b; }
.bg-pts-9  { background-color: #2faa3c; }
.bg-pts-10 { background-color: #1a9428; color: #fff; }
.bg-pts-10 .bet-points { color: rgba(255, 255, 255, 0.85); }

.russo {
    font-family: RussoOne, serif;
}

/* ── Overall column rank badge ── */
.col-rank-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 600;
    padding: 1px 5px;
    border-radius: 999px;
    margin-left: 3px;
    vertical-align: middle;
    line-height: 1.5;
    white-space: nowrap;
}

.col-rank--top  { background: #28a745; color: #fff; }
.col-rank--good { background: #8ade93; color: #1a5c21; }
.col-rank--mid  { background: #f0c36d; color: #6b4b00; }
.col-rank--low  { background: #f8a7a7; color: #7a1010; }

/* ── Overall table sort links ── */
table thead th a.overall-sort-link,
table thead th a.overall-sort-link:link,
table thead th a.overall-sort-link:visited,
table thead th a.sort-link,
table thead th a.sort-link:link,
table thead th a.sort-link:visited {
    color: #fff !important;
    text-decoration: none !important;
    white-space: nowrap;
}

table thead th a.overall-sort-link:hover,
table thead th a.overall-sort-link.overall-sort-link--active,
table thead th a.sort-link:hover {
    color: #fff !important;
    text-decoration: none !important;
}

/* ── Group status icon ── */
.group-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
}

.group-status--adv {
    background: #28a745;
    color: #fff;
}

.group-status--elim {
    background: #dc3545;
    color: #fff;
}

/* ── Team status toggle (admin bonus) ── */
.team-status-toggle {
    display: inline-flex;
    align-items: center;
    background: #e9ecef;
    border-radius: 999px;
    padding: 3px;
    gap: 2px;
}

.team-status-toggle .ts-btn {
    border: none;
    background: transparent;
    border-radius: 999px;
    padding: 4px 12px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    color: #868e96;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
    white-space: nowrap;
    line-height: 1.4;
}

.team-status-toggle .ts-btn:hover {
    color: #495057;
    background: rgba(0, 0, 0, 0.07);
}

.team-status-toggle .ts-undecided {
    font-weight: 700;
    letter-spacing: 0.02em;
}

.team-status-toggle .ts-adv.active {
    background: #28a745;
    color: #fff;
    box-shadow: 0 1px 4px rgba(40, 167, 69, 0.45);
}

.team-status-toggle .ts-undecided.active {
    background: #adb5bd;
    color: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

.team-status-toggle .ts-elim.active {
    background: #dc3545;
    color: #fff;
    box-shadow: 0 1px 4px rgba(220, 53, 69, 0.45);
}

.icon-white {
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(180deg);
}

.min-vh-70 {
    min-height: 70vh;
}

#header-image{
    width: 75%;
}

@media (min-width: 769px) {
    .top-bar .col-12 {
        display: flex !important;
        align-items: stretch;
    }

    .top-bar .col-12 > a {
        flex-shrink: 0;
        display: flex;
        align-items: center;
    }

    #header-image {
        width: 300px;
        float: none;
    }

    .top-bar nav.navbar {
        flex: 1;
    }
}

.comment-textarea {
    width: 100%;
    height: 150px;
}

#add-comment {
    margin-bottom: 30px;
}

.login-form {
    text-align: center;
}

.login-form-wrapper {
    max-width: 360px;
    width: 100%;
    margin: 0 auto;
    text-align: left;
}



.pagination {
    display: flex;
    justify-content: space-between;
    padding: 10px; /* volitelné, pro vylepšení vzhledu */
}

.pagination-button {
    flex: 1;
    margin: 0 5px; /* volitelné, pro mezery mezi tlačítky */
}
/*footer {*/
/*    background-image: url("../images/footer2.jpg");*/
/*    width: 100vw;*/
/*    min-height: 20vh;*/
/*    background-size: cover; !* Zajistí, že obrázek bude pokrývat celou plochu footeru *!*/
/*    background-repeat: no-repeat; !* Zabrání opakování obrázku *!*/
/*}*/
/*html*/
/*{*/
/*    background: var(--primary-color);*/
/*    !*background: white;*!*/
/*}*/
/*body {*/
/*    font-family: Signika, serif;*/
/*    font-size: 20px;*/
/*    !*background-color: var(--primary-color);*!*/
/*    background-color: white;*/
/*    !*width: 900px;*!*/
/*    margin: 0 auto;*/
/*    border: none;*/
/*}*/

/*.container*/
/*{*/
/*    background: white;*/
/*    !*background: var(--primary-color);*!*/

/*    !*width: 900px;*!*/
/*    !*min-height: 400px;*!*/

/*    display: flex;*/
/*    flex-direction: column;*/
/*    justify-content: space-between;*/
/*    !*flex-wrap: wrap;*!*/
/*}*/

h1, h2, h3, h4 {
    font-family: RussoOne, serif !important;
    text-align: center;
}

header {
    margin-bottom: 20px;
}

/*h2 {*/
/*    text-align: center;*/
/*}*/

/*footer {*/
/*    font-size: 14px;*/
/*    text-align: center;*/
/*    padding-top: 20px;*/
/*}*/

/*.footer-gradient {*/
/*    !*background-image: linear-gradient(white, var(--primary-color));*!*/
/*    background-color: var(--primary-color);*/
/*}*/

.footer-image {
    max-width: 100%;
    height: auto;
}

.sticky-head {
    position: sticky;
    top: 0;
    z-index: 10;
}

.sticky-head th {
    background-color: var(--color1-hover);
    color: white;
}

.sticky-head td {
    background-color: #f8f9fa;
}

.sticky-head tr.points-row td {
    background-color: var(--color1-hover) !important;
    color: white;
}

.games-table-scroll {
    max-height: calc(100vh - 60px);
    overflow-y: auto;
}

/*@media (min-width: 426px) {*/
/*    .sticky-head {*/
/*        position: sticky;*/
/*        top: 233px;*/
/*        z-index: 2;*/
/*    }*/
/*}*/

/*.show {*/

/*    position: sticky;*/
/*    top: 0px;*/
/*    z-index: 2;*/

/*}*/
.margin-auto {
    margin: auto;
}
.sticky-left {
    position: sticky;
    left: 0px;
}

.sticky-second-left {
    position: sticky;
    left: 193px;
}

.sticky-score {
    position: sticky;
    left: 85px;
}

@media (max-width: 767px) {
    #point_games_table td.sticky-left,
    #point_games_table th.sticky-left {
        font-size: 12px;
        min-width: 85px;
        max-width: 85px;
        width: 85px;
    }

    #point_games_table td.sticky-score,
    #point_games_table th.sticky-score {
        font-size: 12px;
    }
}

.user-picture{
    max-width: 50px;
    border-radius: 25px;
}

.user-picture-td{
    width: 60px;
}

.comment-header-user{
    font-weight: bold;
    text-align: start;
    /*background-color: rgba(0, 0, 0, .05);*/
}

.comment-header-date{
    font-style: italic;
    text-align: start;
    /*background-color: rgba(0, 0, 0, .05);*/
}

.comment-content{
    text-align: justify;
}


/*.center {*/
/*    margin: 0 auto;*/
/*}*/

/*.text-center {*/
/*    align-content: center;*/
/*}*/

/*.p20 {*/
/*    padding: 20px;*/
/*}*/

/*article {*/
/*    !*text-shadow: 3px 3px 3px #aaaaaa;*!*/
/*}*/

/*body > header {*/
/*    background: var(--primary-color);*/
/*    !*background-image: url('../images/section-header.avif');*!*/
/*}*/

/*.article {*/
/*    box-sizing: border-box;*/
/*    width: 100%;*/
/*    !*height: 200px;*!*/
/*    margin: 20px 0;*/
/*    padding: 15px;*/
/*    background: white;*/
/*    order:1*/
/*}*/

/*.side-panel {*/
/*    box-sizing: border-box;*/
/*    width: 100%;*/
/*    !*height: 100px;*!*/
/*    margin: 20px 0;*/
/*    padding: 10px;*/
/*    background: red;*/
/*}*/

/*.float-left {*/
/*    order: 2;*/
/*}*/

/*.float-right {*/
/*    order: 3;*/
/*}*/

/*@media screen and (min-width: 768px) {*/

/*    .container {*/
/*        flex-direction: row;*/
/*    }*/

/*    .side-panel {*/
/*        width: 19%;*/
/*    }*/

/*    .float-right {*/
/*        order: 3;*/
/*    }*/
/*    .article {*/
/*        width: 59%;*/
/*        order: 2;*/
/*    }*/
/*    .float-left {*/
/*        order: 1;*/
/*    }*/
/*}*/

/*!* Tabulky *!*/

/*.striped tbody tr:nth-child(odd) td,*/
/*.striped tbody tr:nth-child(odd) th {*/
/*    background-color: var(--tr-bg-odd);*/
/*}*/

/*.hoverable tbody tr:hover td{*/
/*    background-color: var(--primary-hover-color);*/
/*}*/


/*.with-border {*/
/*    border-collapse: collapse; !* Zajišťuje, že ohraničení buněk budou sdílené a ne oddělené *!*/
/*}*/
/*.with-border th, .with-border td {*/
/*    border: 1px solid black; !* Nastavuje ohraničení pro všechny buňky *!*/
/*}*/

.rotate-text {
    transform: rotate(-90deg);
    white-space: nowrap;
}


/*#point_games_table td, #point_games_table th {*/
/*    text-align: center;*/
/*    !*background-color: #0000BB;*!*/
/*}*/

/*!* Navigace *!*/

/*nav.menu {*/
/*    display: block;*/
/*    width: 100%;*/
/*    background: var(--primary-color);*/
/*    background: black;*/
/*    font-size: 0;*/
/*}*/

/*nav.menu ul {*/
/*    list-style-type: none;*/
/*    margin: 0;*/
/*    padding: 0;*/
/*}*/

/*nav.menu ul li {*/
/*    width: 100%;*/
/*}*/

nav a {
    display: block;
    color: white;
    text-decoration: none;
    /*font-family: sans-serif;    */
    font-family: RussoOne, serif;
    line-height: 2em;
    padding: 0 15px;
    border-radius: 10px;
    font-size: 16px;
}

nav a:hover {
    background: var(--color1-hover);
    color: white;
}

.active {
    background: var(--color1-hover);
    color: white;
    border-radius: 10px;
}

.nav-item a:hover {
    background: var(--color1-hover);
    color: white;
}

.nav-item .active {
    color: black;
}

.hamburger {
    width: 3rem;  /* Zvětšení šířky ikony */
    height: auto;
}

.no-wrap {
    white-space: nowrap;
}

/*@media (min-width: 768px) {*/
/*    nav.menu {*/
/*        background: black;*/
/*    }*/

/*    nav.menu ul li {*/
/*        width: auto;*/
/*        !*background: red;*!*/
/*        display: inline-block;*/
/*    }*/

/*    nav.menu a {*/
/*        line-height: 50px;*/
/*    }*/

/*    nav.menu ul {*/
/*        width: 100%;*/
/*        text-align: center;*/
/*    }*/
/*}*/

/*!* původní *!*/
/*!*nav {*!*/
/*!*    background: var(--primary-color);*!*/
/*!*    height: 40px;*!*/
/*!*    font-size: 20px;*!*/
/*!*    margin: 5px;*!*/
/*!*}*!*/

/*!*nav ul {*!*/
/*!*    list-style-type: none;*!*/
/*!*}*!*/

/*!*nav li {*!*/
/*!*    float: left;*!*/
/*!*    margin-right: 15px;*!*/
/*!*}*!*/

/*!*nav a {*!*/
/*!*    background: var(--primary-color);*!*/
/*!*    color: white;*!*/
/*!*    padding: 5px 10px;*!*/
/*!*    border-radius: 10px;*!*/
/*!*    text-decoration: none;*!*/
/*!*    border: none;*!*/
/*!*}*!*/

/*!*nav a:hover {*!*/
/*!*    background: var(--primary-hover-color);*!*/
/*!*    color: #EEEEEE;*!*/
/*!*    text-decoration: none;*!*/
/*!*}*!*/

/*!*ul.submenu li {*!*/
/*!*    margin: 10px;*!*/
/*!*}*!*/

/*!* Formuláře *!*/
/*input[type="submit"] {*/
/*    background: var(--primary-color);*/
/*    color: white;*/
/*    padding: 5px 10px;*/
/*    border-radius: 10px;*/
/*    border: 0;*/
/*}*/

/*input[type="submit"]:hover {*/
/*    background: var(--primary-hover-color);*/
/*    color: #EEEEEE;*/
/*    cursor: pointer;*/
/*}*/

/*input[type="text"], input[type="email"], input[type="password"] {*/
/*    width: 250px;*/
/*    border-radius: 5px;*/
/*    border: 1px solid #aaaaaa;*/
/*    padding: 0.3em;*/
/*}*/

/*input[type="submit"] {*/
/*    padding: 10px 25px;*/
/*    display: block;*/
/*    margin: 20px auto 0;*/
/*    font-weight: bold;*/
/*}*/

/*textarea {*/
/*    border-radius: 5px;*/
/*    border: 1px solid #aaaaaa;*/
/*    width: 483px;*/
/*    height: 90px;*/
/*}*/

/*.inline-input {*/
/*    width: 100px; !* Set the width of the input fields *!*/
/*    margin: 0 10px; !* Add some margin to the left and right for spacing *!*/
/*    padding: 5px; !* Add some padding for better usability *!*/
/*    border: 1px solid #ccc; !* Define a border color *!*/
/*    border-radius: 4px; !* Add rounded corners *!*/
/*    box-sizing: border-box; !* Ensure padding and border are included in the element's total width and height *!*/
/*    font-size: 14px; !* Set the font size *!*/
/*}*/

/*.inline-input:focus {*/
/*    border-color: #66afe9; !* Change border color on focus *!*/
/*    outline: none; !* Remove the default outline *!*/
/*    box-shadow: 0 0 5px rgba(102, 175, 233, 0.6); !* Add a shadow on focus *!*/
/*}*/

/*label {*/
/*    margin-right: 10px; !* Add some margin to the right of the label *!*/
/*    font-weight: bold; !* Make the label text bold *!*/
/*}*/

/*div {*/
/*    margin-bottom: 20px; !* Add some margin at the bottom of each div for spacing *!*/
/*}*/

/*.web-header*/
/*{*/
/*    font-family: RussoOne, serif;*/
/*    color: white;*/
/*    width: 100%;*/
/*}*/

/*!* Ostatní *!*/
/*.flag {*/
/*    padding: 5px;*/
/*}*/

/*.message {*/
/*    border: 1px solid #9DC2F8;*/
/*    background: #DBE8F8;*/
/*    padding: 3px;*/
/*}*/

/*.alert {*/
/*    width: 100%;*/
/*    height: 50px;*/
/*    display: flex;*/
/*    justify-content: center; !* Horizontální zarovnání *!*/
/*    align-items: center; !* Vertikální zarovnání *!*/
/*}*/

/*!* Homepage *!*/

/*!*.column {*!*/
/*!*    flex: 1 1 100%; !* Default flex setting for mobile view *!*!*/
/*!*}*!*/
/*!*.left {*!*/
/*!*    order: 3; !* Will appear last on mobile *!*!*/
/*!*    !*background: #6FA4F8;*!*!*/
/*!*}*!*/
/*!*.middle {*!*/
/*!*    !*flex: 2 2 40%; !* Takes double space of the other columns *!*!*!*/
/*!*    order: 2;*!*/
/*!*    !*background: #a3f89d;*!*!*/

/*!*}*!*/
/*!*.right {*!*/
/*!*    order: 1; !* Will appear first on mobile *!*!*/
/*!*    !*background: #6FA4F8;*!*!*/

/*!*}*!*/

/*!*@media (min-width: 768px) {*!*/
/*!*    .left, .right {*!*/
/*!*        flex: 1 1 20%; !* 1:2:1 ratio on desktop *!*!*/
/*!*    }*!*/
/*!*    .middle {*!*/
/*!*        flex: 2 2 60%;*!*/
/*!*    }*!*/
/*!*    .left {*!*/
/*!*        order: 1; !* Reset order for desktop *!*!*/
/*!*    }*!*/
/*!*    .middle {*!*/
/*!*        order: 2;*!*/
/*!*    }*!*/
/*!*    .right {*!*/
/*!*        order: 3;*!*/
/*!*    }*!*/
/*!*}*!*/

/*!* Tipování *!*/

/*!*.button-group {*!*/
/*!*    display: flex;*!*/
/*!*}*!*/
/*.big-button {*/
/*    display: flex;*/
/*    justify-content: center;*/
/*    align-items: center;*/
/*    width: 90%; !* nebo jiná vhodná šířka *!*/
/*    height: 150px;*/
/*    margin: 10px auto;*/
/*    padding: 20px;*/
/*    text-align: center;*/
/*    background-color: var(--primary-color); !* modrá barva *!*/
/*    color: white;*/
/*    text-decoration: none;*/
/*    font-size: 150%;*/
/*    border-radius: 10px;*/
/*}*/

/*.big-button:hover{*/
/*    background-color: var(--primary-hover-color);*/
/*    color: white;*/
/*    text-decoration: none;*/
/*}*/

/*.column-container {*/
/*    display: flex;*/
/*    justify-content: space-between;*/
/*}*/

/*.column {*/
/*    display: flex;*/
/*    flex-direction: column;*/
/*}*/

/*!* Media query for mobile devices *!*/
/*@media (max-width: 768px) {*/
/*    .column-container {*/
/*        flex-direction: column;*/
/*    }*/

/*    .column {*/
/*        width: 100%;*/
/*    }*/

/*    .big-button {*/
/*        width: 90%; !* Adjust width as needed *!*/
/*        margin: 10px auto; !* Center the buttons *!*/
/*    }*/
/*}*/

/*!*  Skupiny  *!*/

.group-end {
    padding: 20px;
    /*background-image: linear-gradient(var(--tr-bg-odd), var(--primary-hover-color));*/
    /*background-color: var(--tr-bg-odd);*/
    /*color: var(--tr-bg-odd);*/
}

/*tr.group-end {*/
/*    height: 1px; !* Nastavení výšky řádku *!*/
/*}*/

tr.group-end td:first-child {
    border-bottom-left-radius: 10px; /* Zaoblení levého dolního rohu */
}

tr.group-end td:last-child {
    border-bottom-right-radius: 10px; /* Zaoblení pravého dolního rohu */
}

.group-start {
    background-color: var(--color1-hover);
    /*background-image: url('../images/section-header.avif');*/

}

tr.rounded-top th:first-child {
    border-top-left-radius: 10px; /* Zaoblení levého dolního rohu */
}

tr.rounded-top th:last-child {
    border-top-right-radius: 10px; /* Zaoblení pravého dolního rohu */
}

tr.group-end td {
    margin-top: 100px; /* Odsazení od předchozího řádku */
    /*background-color: #f8f9fa; !* světlejší barva pozadí pro odsazení *!*/
    background-clip: padding-box;
    /*border: 8px solid #ffffff; !* barva pozadí řádku *!*/
}

table.recent-games {
    width: 100%;
    max-width: 100%;
}

table.recent-games td {
    padding: 10px;
}

table td, table th {
    vertical-align: middle !important;
}

table th {
    border-top: none !important;
}

/* Historická tabulka */
.history-page {
    text-align: left;
}

.history-page h1 {
    margin-bottom: 18px;
}

.history-table-wrap {
    width: 100%;
    max-height: calc(100vh - 150px);
    overflow: auto;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    background: #fff;
    -webkit-overflow-scrolling: touch;
}

.history-table.table {
    min-width: 1120px;
    margin-bottom: 0;
    font-size: 14px;
    text-align: center;
}

.history-table.table th,
.history-table.table td {
    padding: 8px 10px !important;
}

.history-table .sticky-head th {
    top: 0;
    z-index: 8;
}

.history-table .sticky-left {
    left: 0;
    z-index: 6;
    min-width: 160px;
    max-width: 220px;
    white-space: normal;
    text-align: left;
    box-shadow: 8px 0 12px -12px rgba(0, 0, 0, 0.55);
}

.history-table thead .sticky-left {
    z-index: 12;
}

.history-table .history-rank-col {
    width: 72px;
}

.history-table .history-name-col {
    font-weight: 700;
}

.history-table .history-tournament {
    min-width: 92px;
    max-width: 112px;
    vertical-align: bottom !important;
}

.history-year {
    font-weight: 700;
    line-height: 1.1;
}

.history-table .history-tournament-name {
    white-space: normal;
    font-size: 12px;
    line-height: 1.2;
}

.history-standing {
    font-weight: 700;
}

.history-cards {
    display: none;
}

.history-view-toolbar {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 12px;
}

.history-view-toolbar .btn {
    min-width: 76px;
}

.history-desktop--hidden {
    display: none !important;
}

.history-cards--desktop {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 14px;
}

.history-card {
    overflow: hidden;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(20, 60, 219, 0.08);
}

.history-card-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    background: var(--light-blue);
    border-bottom: 1px solid #c7d5e8;
}

.history-card-rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 34px;
    padding: 0 8px;
    border-radius: 999px;
    background: var(--color1);
    color: #fff;
    font-weight: 700;
}

.history-card-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 18px;
    font-weight: 700;
}

.history-card-performance {
    padding: 4px 8px;
    border-radius: 999px;
    background: #fff;
    color: var(--color1);
    font-weight: 700;
    white-space: nowrap;
}

.history-card-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    background: #dee2e6;
    border-bottom: 1px solid #dee2e6;
}

.history-stat {
    min-width: 0;
    padding: 8px 6px;
    background: #fff;
    text-align: center;
}

.history-stat span {
    display: block;
    color: #6c757d;
    font-size: 11px;
    line-height: 1.2;
}

.history-stat strong {
    display: block;
    margin-top: 2px;
    color: #212529;
    font-size: 15px;
    line-height: 1.2;
}

.history-mobile-tournaments {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    padding: 10px;
}

.history-mobile-tournament {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 34px;
    align-items: center;
    gap: 6px;
    min-height: 54px;
    padding: 7px 8px;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    background: #f8f9fa;
}

.history-mobile-tournament-meta {
    min-width: 0;
}

.history-mobile-year {
    display: block;
    color: #343a40;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
}

.history-mobile-name {
    display: block;
    overflow: hidden;
    color: #6c757d;
    font-size: 11px;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.history-mobile-standing {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: #fff;
    color: #212529;
    font-weight: 700;
}

.history-mobile-tournament--gold {
    background: #fff3a3;
    border-color: #e2bf24;
}

.history-mobile-tournament--silver {
    background: #eeeeee;
    border-color: #b9b9b9;
}

.history-mobile-tournament--bronze {
    background: #f5c08d;
    border-color: #d68b45;
}

.history-mobile-tournament--red {
    background: #ffd0d0;
    border-color: #e89595;
}

.history-mobile-tournament--empty {
    color: #6c757d;
    background: #f8f9fa;
}

@media (max-width: 767px) {
    .history-page {
        margin: 0 -5px;
    }

    .history-page h1 {
        margin-bottom: 12px;
        font-size: 24px;
    }

    .history-desktop {
        display: none;
    }

    .history-cards,
    .history-cards--desktop {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
    }
}

@media (max-width: 380px) {
    .history-mobile-tournaments {
        grid-template-columns: 1fr;
    }

    .history-card-name {
        font-size: 16px;
    }
}

.top-bar {padding: 15px;}

@media (min-width: 576px), (min-width: 768px), (min-width: 992px) {
    .container {max-width: 100% !important;}

}

.w-33-to-50 {
    width: 33% !important;
}

.w-33-to-25 {
    width: 33% !important;
}

@media (min-width: 1190px) {

    .w-33-to-50 {
        width: 50% !important;
    }

    .w-33-to-25 {
        width: 25% !important;
    }
}

.container {padding: 5px !important;}
.row {margin: 0 !important;}
.container-fluid {padding: 0 !important;}
.col-md-3 {
    flex: 0 0 33% !important;
    max-width: 33% !important;
}
@media (max-width: 768px) {
    .col-md-3 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
   }

    @media (max-width: 900px) {
        .w-33-to-25, .w-33-to-50 {
            flex: 0 0 100% !important;
            max-width: 100% !important;
            width: 100% !important;
        }
    }
.badge-success, .badge-danger {
    padding: 5px;
    border-radius: 5px;
}

.flag {
    width: 48px;
}

.flag-small {
    width:30px;
}

/* pavouk playoff */
.playoff-bracket {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    overflow-x: auto;
    padding: 20px 0;
}

.playoff-round {
    min-width: 130px;
}

.playoff-round h2 {
    font-size: 16px;
    margin-bottom: 12px;
    text-align: center;
}

.playoff-match {
    background: #f8f8f8;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 6px;
    margin-bottom: 12px;
}

.team-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 8px;
    background: #fff;
    border-radius: 4px;
}

.team-row + .team-row {
    margin-top: 8px;
}

.team-name {
    font-weight: 600;
    font-size: 13px;
}

.team-score {
    font-weight: bold;
    font-size: 13px;
    min-width: 14px;
    text-align: right;
}
/* 8 zápasů */
.playoff-round-8 .playoff-match {
    margin-bottom: 18px;
}

/* 4 zápasy - mezi dvojicemi z 8 zápasů */
.playoff-round-4 {
    padding-top: 90px;
}

.playoff-round-4 .playoff-match + .playoff-match {
    margin-top: 125px;
}

/* 2 zápasy - mezi dvojicemi ze 4 zápasů */
.playoff-round-2 {
    padding-top: 195px;
}

.playoff-round-2 .playoff-match + .playoff-match {
    margin-top: 290px;
}

/* 1 zápas - doprostřed vůči 2 zápasům */
.playoff-round-1 {
    padding-top: 295px;
}

.playoff-final {
    padding-top: 190px;
}

.team-row.winner {
    background: #dff5e3;
    font-weight: bold;
    border: 1px solid #b9e7c0;
}

.playoff-wrapper {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 30px;
    overflow-x: auto;
}

.playoff-side {
    display: flex;
    gap: 16px;
}

.playoff-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    min-width: 140px;
    padding-top: 0;
}

.third-place {
    margin-top: -160px;
}

.playoff-desktop {
    display: block;
}

.playoff-mobile {
    display: none;
}

.playoff-mobile-round {
    margin-bottom: 24px;
}

.playoff-mobile-round h2 {
    font-size: 18px;
    margin-bottom: 12px;
    text-align: left;
}

.playoff-mobile-heading {
    font-size: 18px;
    margin-bottom: 12px;
    text-align: left;
}

@media (max-width: 768px) {
    .playoff-desktop {
        display: none;
    }

    .playoff-mobile {
        display: block;
    }

    .playoff-mobile .playoff-round-8,
    .playoff-mobile .playoff-round-4,
    .playoff-mobile .playoff-round-2,
    .playoff-mobile .playoff-round-1 {
        padding-top: 0;
    }

    .playoff-mobile .playoff-match {
        margin-bottom: 12px;
    }

    .playoff-mobile .playoff-round-4 .playoff-match + .playoff-match,
    .playoff-mobile .playoff-round-2 .playoff-match + .playoff-match,
    .playoff-mobile .playoff-round-1 .playoff-match + .playoff-match {
        margin-top: 0;
    }

    .checkbox-cell {
        width: 45px;
        min-width: 45px;
        vertical-align: middle !important;
    }

    .checkbox-cell .form-check-input {
        display: block;
        margin: 0 auto !important;
    }

    .team-cell {
        white-space: nowrap;
    }

    .team-cell .flag-small {
        margin-right: 8px;
    }

    .bonus-group-header {
        font-family: RussoOne, serif;
        font-size: 16px;
        font-weight: normal;
        line-height: 2em;
        color: white;
    }
}

/* Tipovací menu - velká tlačítka */
.big-button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90%;
    height: 120px;
    margin: 10px auto;
    padding: 20px;
    text-align: center;
    background-color: var(--color1);
    color: white;
    text-decoration: none;
    font-size: 130%;
    font-family: RussoOne, serif;
    border-radius: 10px;
}

.big-button:hover {
    background-color: var(--color1-hover);
    color: white;
    text-decoration: none;
}

.column-container {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.column {
    display: flex;
    flex-direction: column;
    flex: 1;
}

@media (max-width: 576px) {
    .column-container {
        flex-direction: column;
    }
    .column {
        width: 100%;
    }
    .big-button {
        width: 100%;
        height: 80px;
        font-size: 110%;
    }
}

/* Grid pro skupinové tabulky */
.group-grid {
    display: grid;
    gap: 24px;
    grid-template-columns: 1fr;
}

@media (min-width: 1100px) {
    .group-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1500px) {
    .group-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.column-item {
    min-width: 0;
    width: 100%;
    overflow-x: auto;
}

/* Formulář tipů na zápasy */
.bet-table {
    width: 100%;
}

.inline-input {
    width: 100px;
    margin: 0 10px;
    padding: 5px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
    font-size: 14px;
    text-align: center;
}

.inline-input:focus {
    border-color: #66afe9;
    outline: none;
    box-shadow: 0 0 5px rgba(102, 175, 233, 0.6);
}

@media (max-width: 600px) {
    .inline-input {
        width: 44px;
        margin: 0 4px;
        padding: 4px 2px;
        font-size: 16px;
    }
    .bet-table .flag {
        width: 28px;
    }
    .bet-table td {
        padding: 4px 2px;
        font-size: 13px;
    }
}

/* Nav - uživatelská oblast */
.nav-user-area {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0 8px;
    white-space: nowrap;
    max-width: 180px;
    flex-shrink: 0;
}

.nav-user-area img {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.nav-user-area a {
    color: white;
    font-size: 14px;
    display: inline;
    border-radius: 0;
    padding: 0;
    line-height: normal;
}

.nav-user-area a:hover {
    background: transparent;
    text-decoration: underline;
}

.nav-user-nick {
    max-width: 90px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
    vertical-align: middle;
}

/* Seznam zápasů */
.game-list-wrap {
    max-width: 680px;
    margin: 0 auto;
    padding: 0 8px;
}

.game-filter-stages {
    gap: 4px;
}

.game-filter-team-input {
    max-width: 280px;
}

.game-filter-stages .btn {
    border-radius: 20px;
    font-size: 0.8rem;
    padding: 2px 10px;
}

/* Phase section headers */
.game-phase-section {
    margin-bottom: 28px;
}

.game-phase-header {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #6b7a8d;
    margin: 0 0 8px 2px;
    padding: 0;
}

/* FIFA-style game cards */
.game-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.game-card {
    background: #fff;
    border-left: 4px solid #dee2e6;
    border: 1px solid #e2e6ea;
    border-left-width: 4px;
    border-radius: 6px;
}

/* Group color left borders */
.group-border-A { border-left-color: #b8a400; }
.group-border-B { border-left-color: #d06020; }
.group-border-C { border-left-color: #5aaa00; }
.group-border-D { border-left-color: #00967a; }
.group-border-E { border-left-color: #9930cc; }
.group-border-F { border-left-color: #d02020; }
.group-border-G { border-left-color: #2858c8; }
.group-border-H { border-left-color: #d04068; }
.group-border-I { border-left-color: #259650; }
.group-border-J { border-left-color: #b02898; }
.group-border-K { border-left-color: #2878c8; }
.group-border-L { border-left-color: #c06820; }

/* Group card background tints */
.card-bg-A { background-color: #fffde6; }
.card-bg-B { background-color: #fff4ec; }
.card-bg-C { background-color: #f3fde2; }
.card-bg-D { background-color: #e8faf6; }
.card-bg-E { background-color: #f8eeff; }
.card-bg-F { background-color: #fff0f0; }
.card-bg-G { background-color: #edf3ff; }
.card-bg-H { background-color: #fff0f5; }
.card-bg-I { background-color: #edfaf3; }
.card-bg-J { background-color: #fceef9; }
.card-bg-K { background-color: #edf7ff; }
.card-bg-L { background-color: #fff5ea; }

.game-card-body {
    display: flex;
    align-items: center;
    padding: 12px 14px 5px;
    gap: 6px;
}

.gc-team {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.gc-team-1 {
    justify-content: flex-end;
}

.gc-team-2 {
    justify-content: flex-start;
}

.gc-team-name {
    font-weight: 700;
    font-size: 16px;
    color: #1a1f26;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (min-width: 576px) {
    .gc-team-name { font-size: 18px; }
}

.gc-flag {
    width: 32px;
    height: auto;
    flex-shrink: 0;
}

.gc-center {
    text-align: center;
    min-width: 96px;
    flex-shrink: 0;
}

.gc-score {
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 2px;
    color: #151a20;
}

.gc-score-link {
    text-decoration: none;
    display: block;
}

.gc-score-link:hover {
    color: #143cdb;
}

.gc-upcoming-date {
    font-size: 18px;
    font-weight: 700;
    color: #1a1f26;
    line-height: 1;
}

.gc-time {
    font-size: 18px;
    font-weight: 700;
    color: #151a20;
    line-height: 1;
    margin-top: 2px;
}

.gc-meta-row {
    text-align: center;
    padding: 4px 14px 10px;
    font-size: 14px;
    color: #4a5568;
}

.gc-sep {
    margin: 0 4px;
    color: #9ba8b5;
}

.gc-match-num {
    color: #7a8898;
}

.gc-group-badge {
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.gc-date {
    color: #4a5568;
}

.gc-attendance {
    color: #7a8898;
}

.gc-admin-row {
    padding: 3px 14px 7px;
    border-top: 1px dashed #e9ecef;
}

.btn-xs {
    display: inline-block;
    padding: 1px 7px;
    font-size: 11px;
    line-height: 1.6;
    border-radius: 3px;
    border: 1px solid transparent;
    text-decoration: none;
    margin-right: 3px;
    cursor: pointer;
}

.btn-xs-success  { color: #28a745; border-color: #28a745; }
.btn-xs-secondary { color: #6c757d; border-color: #6c757d; }
.btn-xs-danger   { color: #dc3545; border-color: #dc3545; }
.btn-xs:hover    { opacity: 0.75; }

/* Point/games - sloučené sloupce tipů */
.point-games-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px 12px;
    margin: 0 0 8px;
}

.point-games-sort-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
}

.point-games-toolbar__label {
    font-weight: 700;
    color: #343a40;
}

.point-games-sort .btn {
    min-width: 82px;
}

.point-games-direction .btn {
    min-width: 92px;
}

.user-col-header {
    border-left: 1px solid rgba(255,255,255,0.35);
    text-align: center;
    white-space: nowrap;
}

.user-col-header--me {
    background-color: #f97316 !important;
    color: white !important;
    font-weight: 700;
}

.bonus-first-col {
    width: 120px;
}

.bonus-table-wrap {
    overflow-y: hidden !important;
}

.user-bet-cell {
    border-left: 1px solid #dee2e6;
    text-align: center;
    white-space: nowrap;
    padding: 4px 8px !important;
}

.bet-score {
    font-weight: 600;
    font-size: 13px;
    display: block;
}

.bet-points {
    font-size: 11px;
    color: #555;
    display: block;
}

.joker-inline {
    width: 13px;
    height: 13px;
    vertical-align: middle;
    margin-left: 2px;
}

@media (max-width: 576px) {
    .point-games-toolbar {
        align-items: stretch;
        justify-content: flex-start;
    }

    .point-games-sort-group {
        width: 100%;
    }

    .point-games-toolbar__label {
        width: 100%;
    }

    .point-games-sort {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
    }

    .point-games-sort .btn {
        min-width: 0;
        padding-right: 4px;
        padding-left: 4px;
        font-size: 13px;
    }

    .point-games-direction {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .point-games-direction .btn {
        min-width: 0;
        padding-right: 4px;
        padding-left: 4px;
        font-size: 13px;
    }

}

/* Point/quiz - otázka s tooltip komentářem */
#quiz_table {
    font-size: 0.75rem;
}

/* 1rem pro hlavičku, otázku a autora */
#quiz_table thead th,
#quiz_table thead td,
#quiz_table .quiz-question-cell,
#quiz_table tbody td:nth-child(2) {
    font-size: 1rem;
}

#quiz_table tbody tr {
    height: 42px;
}

/* Šířky sloupců — uživatelské auto-size dle nicku */
#quiz_table thead tr:first-child th:nth-child(1) { min-width: 300px; } /* Otázka */
#quiz_table thead tr:first-child th:nth-child(2) { min-width: 80px; }  /* Autor */
#quiz_table thead tr:first-child th:nth-child(3) { min-width: 55px; }  /* Tip autora */
#quiz_table thead tr:first-child th:nth-child(4) { min-width: 60px; }  /* Odpověď */
#quiz_table thead tr:first-child th:nth-child(5) { min-width: 45px; }  /* A/N */

@media (max-width: 767px) {
    #quiz_table thead tr:first-child th:nth-child(1) { min-width: 150px; }
}

.quiz-question-cell {
    white-space: normal !important;
    line-height: 1.4;
}

.quiz-info-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    background-color: var(--color1-hover);
    color: white;
    border-radius: 50%;
    font-size: 10px;
    font-weight: 700;
    font-style: italic;
    cursor: help;
    vertical-align: middle;
    margin-left: 4px;
    line-height: 1;
    transition: background-color 0.15s;
    user-select: none;
}

.quiz-info-badge:hover {
    background-color: var(--color1);
}

/* Gólové odchylky */
.goal-deviation-mobile-sort {
    display: none;
}

.goal-deviation-cards {
    display: none;
}

.goal-deviation-title {
    overflow-wrap: anywhere;
}

.goal-deviation-table {
    text-align: center;
}

.goal-deviation-table .sticky-left {
    left: 0;
    min-width: 150px;
    box-shadow: 8px 0 12px -12px rgba(0, 0, 0, 0.55);
}

.goal-deviation-card {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(20, 60, 219, 0.08);
}

.goal-deviation-cards--desktop {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 14px;
    width: 100%;
}

.goal-deviation-desktop--hidden {
    display: none !important;
}

.goal-deviation-card--gold {
    border-color: #e2bf24;
}

.goal-deviation-card--silver {
    border-color: #b9b9b9;
}

.goal-deviation-card--bronze {
    border-color: #d68b45;
}

.goal-deviation-card__header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    background: var(--light-blue);
    border-bottom: 1px solid #c7d5e8;
}

.goal-deviation-card--gold .goal-deviation-card__header {
    background: #fff3a3;
    border-bottom-color: #e2bf24;
}

.goal-deviation-card--silver .goal-deviation-card__header {
    background: #eeeeee;
    border-bottom-color: #b9b9b9;
}

.goal-deviation-card--bronze .goal-deviation-card__header {
    background: #f5c08d;
    border-bottom-color: #d68b45;
}

.goal-deviation-card__rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 34px;
    padding: 0 8px;
    border-radius: 999px;
    background: var(--color1);
    color: #fff;
    font-weight: 700;
}

.goal-deviation-card__name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 18px;
    font-weight: 700;
    text-align: left;
}

.goal-deviation-card__average {
    min-width: 64px;
    padding: 4px 8px;
    border-radius: 8px;
    background: #fff;
    color: var(--color1);
    text-align: center;
}

.goal-deviation-view-toggle .btn {
    min-width: 76px;
}

.goal-deviation-card__average span,
.goal-deviation-stat span {
    display: block;
    color: #6c757d;
    font-size: 11px;
    line-height: 1.2;
}

.goal-deviation-card__average strong,
.goal-deviation-stat strong {
    display: block;
    color: #212529;
    font-size: 16px;
    line-height: 1.2;
}

.goal-deviation-card__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    background: #dee2e6;
    border-bottom: 1px solid #dee2e6;
}

.goal-deviation-stat {
    min-width: 0;
    padding: 8px 6px;
    background: #fff;
    text-align: center;
}

.goal-deviation-buckets {
    display: grid;
    gap: 8px;
    padding: 10px;
}

.goal-deviation-bucket {
    display: grid;
    grid-template-columns: minmax(88px, 110px) minmax(0, 1fr);
    align-items: center;
    gap: 8px;
}

.goal-deviation-bucket__label {
    display: flex;
    justify-content: space-between;
    min-width: 0;
    gap: 6px;
    color: #343a40;
    font-size: 13px;
    line-height: 1.2;
}

.goal-deviation-bucket__label span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.goal-deviation-bucket__label strong {
    flex-shrink: 0;
    font-size: 14px;
}

.goal-deviation-bucket__bar {
    overflow: hidden;
    height: 9px;
    border-radius: 999px;
    background: #e9ecef;
}

.goal-deviation-bucket__bar span {
    display: block;
    min-width: 0;
    height: 100%;
    border-radius: 999px;
    background: var(--color1-hover);
}

.goal-deviation-bucket--exact .goal-deviation-bucket__bar span {
    background: #28a745;
}

.goal-deviation-empty {
    padding: 16px;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    background: #fff;
    color: #6c757d;
    text-align: center;
}

@media (max-width: 767px) {
    .goal-deviation-title {
        margin-bottom: 16px;
        font-size: 42px;
        line-height: 1.12;
    }

    .goal-deviation-desktop-sort {
        display: none !important;
    }

    .goal-deviation-mobile-sort {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 8px;
        width: 100%;
        max-width: 100%;
        margin: 0 0 12px;
    }

    .goal-deviation-mobile-sort .dropdown,
    .goal-deviation-mobile-sort .btn {
        width: 100%;
        max-width: 100%;
    }

    .goal-deviation-mobile-sort .btn {
        overflow: hidden;
        padding-right: 8px;
        padding-left: 8px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .goal-deviation-mobile-sort .dropdown-menu {
        max-width: calc(100vw - 34px);
    }

    .goal-deviation-mobile-sort .dropdown-item {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .table-responsive.goal-deviation-desktop {
        display: none !important;
    }

    .goal-deviation-cards,
    .goal-deviation-cards--desktop {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        width: 100%;
        max-width: 100%;
        margin: 0;
    }

    .goal-deviation-card__header {
        grid-template-columns: auto minmax(0, 1fr) minmax(58px, auto);
        gap: 8px;
        padding-right: 10px;
        padding-left: 10px;
    }

    .goal-deviation-card__rank {
        min-width: 40px;
        height: 34px;
    }

    .goal-deviation-card__average {
        min-width: 58px;
        padding-right: 6px;
        padding-left: 6px;
    }
}

@media (max-width: 380px) {
    .goal-deviation-title {
        font-size: 36px;
    }

    .goal-deviation-card__header {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .goal-deviation-card__average {
        grid-column: 1 / -1;
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-width: 0;
    }

    .goal-deviation-bucket {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}

/* Dashboard - upozornění na chybějící tipy */
.bet-todo-warning {
    background: #dc3545;
    padding: 8px 16px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 12px;
    font-size: 14px;
    color: #fff;
}

.bet-todo-warning strong {
    color: #fff;
    font-weight: 700;
}

.bet-todo-link {
    display: inline-block;
    background: #fff;
    color: #dc3545 !important;
    font-weight: 700;
    font-size: 13px;
    padding: 2px 10px;
    border-radius: 12px;
    text-decoration: none !important;
    white-space: nowrap;
}

.bet-todo-link:hover {
    background: #f8d7da;
    color: #dc3545 !important;
}

.gc-tendencies {
    color: #4a5568;
    font-weight: 600;
    text-decoration: none;
    letter-spacing: 0.5px;
}

.gc-tendencies:hover {
    color: #1a1f26;
    text-decoration: underline;
}

.bet-todo-deadline {
    font-size: 0.85rem;
    font-weight: 700;
    white-space: nowrap;
    color: #fff;
}
