:root {
    --color-primary: #0C4350;
    --color-accent: #FBBD30;
    --color-accent-hover: #e0a900; /* Nová proměnná pro hover */
    --color-alert: #E74A5D;
    --color-success: #28A745;

    --color-bg: #ffffff;
    --color-text: #333333;

    --font-default: 'Source Sans Pro', sans-serif;
}

/* Tělo a základní flex layout */
html, body {
    padding: 0;
    margin: 0;
    height: 100%;
    font-family: var(--font-default);
    background-color: var(--color-bg);
    color: var(--color-text);
    position: relative;
    z-index: 0;
    display: flex;
    flex-direction: column;

    padding-top: env(safe-area-inset-top); /* Pro iPhone notch */
}


/* Vzorované pozadí */
body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-image: url("/images/kornoutek.svg");
    background-repeat: repeat;
    background-size: 80px;
    background-position: center;
    opacity: 0.3;
    z-index: -1;
    pointer-events: none;
}

/* Page container drží vše uvnitř */
.page-container {
    display: flex;
    flex-direction: column;
    flex: 1; /* vyplní celý prostor */
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
    padding: 5px;
    position: relative;
    z-index: 1;
}

/* Hlavní blok obsahu se stínem a pozadím */
.main {
    display: flex;
    flex-direction: column;
    flex: 1 0 auto;
    background-color: var(--color-bg);
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
}

/* Obsah se roztahuje podle potřeby */
.content {
    flex: 1;
    padding: 20px;
}

/* Nadpisy */
h1, h2, h3 {
    font-weight: 900;
    color: var(--color-primary);
}

/* Zaoblení rohů jen na PC */
@media screen and (min-width: 768px) {
    header {
        border-top-left-radius: 4px;
        border-top-right-radius: 4px;
        overflow: hidden;
    }

    .main {
        border-bottom-left-radius: 4px;
        border-bottom-right-radius: 4px;
        overflow: hidden;
    }
}

@media screen and (max-width: 768px) {
    body::before {
        display: none;
    }
}

/* Mobilní úpravy */
@media screen and (max-width: 600px) {
    body {
        background-color: var(--color-primary); /* zelené pozadí pro celou stránku */
    }

    .page-container {
        padding: 0; 
        max-width: 100vw;
        margin: 0;
    }

    .content {
        padding: 8px; /* dříve 20px */
    }

    .dashboard-content {
        padding: 0px !important;
    }

    .dashboard-container {
        padding: 0px; /* případně 0, pokud chceš úplně k okraji */
    }
}


