/* Úvěrář – pastelová písková paleta, oldschool look, čtvercové rohy. */

:root {
    --uv-bg:        #F5EFE6;  /* hlavní pozadí, krémově písková */
    --uv-panel:     #FAF8F3;  /* karty, panely */
    --uv-border:    #D4C5A9;  /* světlý tan */
    --uv-text:      #2C2620;  /* tmavě hnědá / téměř černá */
    --uv-muted:     #6B5B47;  /* tlumený text, popisky */
    --uv-primary:   #8B6F47;  /* hlavní akcent (tlačítka, odkazy) */
    --uv-primary-d: #6E5736;  /* hover */
    --uv-navbar:    #6B5B47;  /* tmavá písková pro navbar */
    --uv-navbar-t:  #F5EFE6;  /* text v navbaru */
    --uv-success:   #6B7F4F;  /* tlumená olivová */
    --uv-danger:    #9B5959;  /* tlumená cihlová */
    --uv-warning:   #B59842;  /* tlumená okrová */
    --uv-info:      #5C7A8F;  /* tlumená modro-šedá */
}

/* --- žádné kulaté rohy nikde --- */
*, *::before, *::after {
    border-radius: 0 !important;
}

html, body {
    background: var(--uv-bg);
    color: var(--uv-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Liberation Sans", Arial, sans-serif;
    font-size: 14px;
}

/* --- navbar --- */
.uv-navbar {
    background: var(--uv-navbar);
    border-bottom: 2px solid var(--uv-primary-d);
}
.uv-navbar .navbar-brand,
.uv-navbar .nav-link {
    color: var(--uv-navbar-t) !important;
}
.uv-navbar .navbar-brand {
    font-weight: 700;
    letter-spacing: 0.5px;
}
.uv-navbar .nav-link:hover {
    color: #fff !important;
    text-decoration: underline;
}

/* --- karty / panely --- */
.uv-panel {
    background: var(--uv-panel);
    border: 1px solid var(--uv-border);
    padding: 1.25rem;
    margin-bottom: 1rem;
}
.uv-panel-header {
    background: var(--uv-border);
    color: var(--uv-text);
    padding: 0.6rem 0.9rem;
    margin: -1.25rem -1.25rem 1rem -1.25rem;
    border-bottom: 1px solid var(--uv-primary-d);
    font-weight: 600;
}

/* --- formuláře --- */
.form-control, .form-select {
    background: #fff;
    border: 1px solid var(--uv-border);
    color: var(--uv-text);
}
.form-control:focus, .form-select:focus {
    border-color: var(--uv-primary);
    box-shadow: 0 0 0 0.15rem rgba(139, 111, 71, 0.2);
    background: #fff;
}
.form-label {
    color: var(--uv-muted);
    font-weight: 600;
    margin-bottom: 0.25rem;
}

/* --- tlačítka --- */
.btn {
    border-radius: 0 !important;
    padding: 0.4rem 0.9rem;
    font-weight: 500;
    border-width: 1px;
}
.btn-primary {
    background: var(--uv-primary);
    border-color: var(--uv-primary-d);
    color: #fff;
}
.btn-primary:hover, .btn-primary:focus {
    background: var(--uv-primary-d);
    border-color: var(--uv-primary-d);
    color: #fff;
}
.btn-secondary {
    background: var(--uv-border);
    border-color: var(--uv-muted);
    color: var(--uv-text);
}
.btn-secondary:hover, .btn-secondary:focus {
    background: var(--uv-muted);
    color: #fff;
}
.btn-danger {
    background: var(--uv-danger);
    border-color: #784747;
    color: #fff;
}
.btn-danger:hover { background: #784747; color: #fff; }

/* --- odkazy --- */
a {
    color: var(--uv-primary);
    text-decoration: underline;
}
a:hover {
    color: var(--uv-primary-d);
}

/* --- tabulka --- */
.table {
    background: var(--uv-panel);
    color: var(--uv-text);
    border: 1px solid var(--uv-border);
}
.table thead th {
    background: var(--uv-border);
    color: var(--uv-text);
    border-bottom: 2px solid var(--uv-primary-d);
    font-weight: 600;
}
.table tbody tr:nth-child(even) {
    background: #F0E9DD;
}
.table td, .table th {
    border-color: var(--uv-border);
    vertical-align: middle;
}

/* --- alerty / flash messages --- */
.alert {
    border: 1px solid;
    padding: 0.6rem 0.9rem;
    margin-bottom: 1rem;
}
.alert-success { background: #E3E8D7; color: #3D4A28; border-color: var(--uv-success); }
.alert-danger  { background: #F0DADA; color: #5B2E2E; border-color: var(--uv-danger); }
.alert-warning { background: #F4ECCB; color: #6B5821; border-color: var(--uv-warning); }
.alert-info    { background: #DCE5EC; color: #324655; border-color: var(--uv-info); }

/* --- badge pro roli --- */
.uv-role {
    display: inline-block;
    padding: 0.15rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    border: 1px solid;
}
.uv-role-superadmin { background: var(--uv-danger); color: #fff; border-color: #784747; }
.uv-role-admin { background: var(--uv-primary); color: #fff; border-color: var(--uv-primary-d); }
.uv-role-user  { background: var(--uv-border); color: var(--uv-text); border-color: var(--uv-muted); }

/* --- patička --- */
.uv-footer {
    margin-top: 3rem;
    padding: 1rem 0;
    color: var(--uv-muted);
    border-top: 1px solid var(--uv-border);
    font-size: 0.85rem;
    text-align: center;
}

/* --- login obrazovka --- */
.uv-login-wrap {
    max-width: 380px;
    margin: 4rem auto;
}
.uv-login-wrap h1 {
    font-size: 1.5rem;
    text-align: center;
    margin-bottom: 1.5rem;
    color: var(--uv-muted);
}

/* --- search box s autocomplete --- */
.uv-search-wrap {
    position: relative;
}
.uv-search-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 50;
    background: #fff;
    border: 1px solid var(--uv-border);
    border-top: none;
    max-height: 320px;
    overflow-y: auto;
    box-shadow: 0 2px 4px rgba(0,0,0,0.08);
}
.uv-search-item {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid #EFE8DA;
    cursor: pointer;
}
.uv-search-item:last-child { border-bottom: none; }
.uv-search-item.uv-active,
.uv-search-item:hover {
    background: var(--uv-border);
}
.uv-search-label { font-weight: 500; }
.uv-search-sub { font-size: 0.8rem; }

/* --- mobil: tap-targets a skrývání méně důležitých sloupců --- */
@media (max-width: 575.98px) {
    .btn-sm {
        padding: 0.45rem 0.7rem;
        min-height: 36px;
        font-size: 0.9rem;
    }
    .uv-panel {
        padding: 0.75rem;
    }
    .uv-panel-header {
        margin: -0.75rem -0.75rem 0.75rem -0.75rem;
        padding: 0.5rem 0.75rem;
    }
    .table {
        font-size: 0.85rem;
    }
    .table td, .table th {
        padding: 0.4rem 0.4rem;
    }
}

/* Sloupce, které lze na velmi úzkých obrazovkách skrýt (Bootstrap udělá zbytek). */
.uv-hide-xs {
    /* žádná akce – vlastní rozhodnutí je v markupu přes d-none d-md-table-cell. Tady jen pro identifikaci. */
}

/* --- pomocné --- */
.text-muted-uv { color: var(--uv-muted) !important; }
hr { border-color: var(--uv-border); }
