/* KHV administrace – light refresh on Bootstrap 5, colours from the public site */

:root {
    --khv-header-bg: #dfdfde;
    --khv-brown: #70624f;
    --khv-brown-dark: #5a4e3e;
    --khv-accent: #985324;
    --khv-sand: #e5c291;
    --bs-body-font-family: "Trebuchet MS", "Segoe UI", Tahoma, Arial, sans-serif;
    --bs-link-color: #1a4f9c;
    --bs-link-color-rgb: 26, 79, 156;
    --bs-link-hover-color: #985324;
    --bs-link-hover-color-rgb: 152, 83, 36;
    --bs-primary: #70624f;
    --bs-primary-rgb: 112, 98, 79;
}

body { background: #f5f4f2; }

.btn-primary {
    --bs-btn-bg: var(--khv-brown);
    --bs-btn-border-color: var(--khv-brown);
    --bs-btn-hover-bg: var(--khv-brown-dark);
    --bs-btn-hover-border-color: var(--khv-brown-dark);
    --bs-btn-active-bg: var(--khv-brown-dark);
    --bs-btn-active-border-color: var(--khv-brown-dark);
    --bs-btn-disabled-bg: var(--khv-brown);
    --bs-btn-disabled-border-color: var(--khv-brown);
}

.admin-header { background: var(--khv-header-bg); border-bottom: 1px solid #c9c7c2; }
.admin-header__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .5rem 1rem;
    padding: .6rem 0;
}
.admin-brand { display: flex; align-items: center; gap: .75rem; text-decoration: none; }
.admin-brand img { max-width: 100%; height: auto; }
.admin-brand span {
    color: var(--khv-accent);
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    border-left: 1px solid #aaa;
    padding-left: .75rem;
}
.admin-userbar { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; font-size: .875rem; color: #555; }
.admin-userbar__user { font-weight: bold; color: #333; }

.admin-nav {
    background: linear-gradient(180deg, #8a7b66 0%, var(--khv-brown) 55%, var(--khv-brown-dark) 100%);
    padding: 0;
    /* Bootstrap's desktop rule (.navbar-expand-lg .navbar-nav .nav-link) reads this for left/right padding */
    --bs-navbar-nav-link-padding-x: 1.5rem;
}
.admin-nav .nav-link { color: #fff; font-weight: bold; font-size: .85rem; padding: .55rem 1.5rem; }
@media (max-width: 991.98px) {
    .admin-nav .nav-link { padding: .5rem 1rem; }
}
.admin-nav .nav-link:hover { color: #fff; background: rgba(255,255,255,.12); }
.admin-nav .nav-link.active { background: #fff; color: #4d473f; }
.admin-nav .navbar-toggler { color: #fff; border: 0; font-weight: bold; padding: .5rem 0; }

.admin-main {
    background: #fff;
    padding: 1.5rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
    border-radius: .5rem;
    box-shadow: 0 1px 3px rgba(0,0,0,.06);
    min-height: 60vh;
}
.admin-footer { font-size: .8rem; color: #888; padding-bottom: 2rem; }

.admin-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem;
    border-bottom: 1px dotted #b9b0a3;
    padding-bottom: .5rem;
    margin-bottom: 1.25rem;
}
.admin-title h1 { font-size: 1.6rem; font-weight: normal; margin: 0; }
.admin-title__actions { display: flex; gap: .5rem; flex-wrap: wrap; }

.subnav-admin { margin-bottom: 1rem; }

/* dashboard tiles */
.tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 1rem; }
.tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    padding: 1.25rem .75rem;
    border: 1px solid #e2ddd5;
    border-radius: .5rem;
    background: #fff;
    text-decoration: none;
    color: #333;
    font-weight: bold;
    text-align: center;
    transition: box-shadow .15s, transform .15s;
}
.tile:hover { box-shadow: 0 4px 14px rgba(0,0,0,.1); transform: translateY(-2px); color: var(--khv-accent); }
.tile img { width: 50px; height: 50px; }

.table-admin thead th { background: #eee; color: #4d473f; white-space: nowrap; border-bottom: 2px solid var(--khv-sand); }
.table-admin td { vertical-align: middle; }
.table-admin .actions { white-space: nowrap; text-align: right; }
.row-archived td { color: #888; }

.form-label { font-weight: bold; font-size: .9rem; }
.required::after { content: ' *'; color: #b02020; }
textarea.wysiwyg { min-height: 260px; }

.filelist { list-style: none; padding: 0; margin: 0; }
.filelist li { display: flex; align-items: center; gap: .5rem; padding: .3rem 0; border-bottom: 1px solid #f0f0f0; flex-wrap: wrap; }
.filelist .size { color: #888; font-size: .85em; }
#dbx { transition: opacity .15s; }
#dbx.is-loading { opacity: .5; pointer-events: none; }
.dbx-messages:empty { display: none; }
.dbx-messages .alert:last-child { margin-bottom: 0; }
.fi { padding-left: 22px; background: url(../../images/icons/file.gif) 0 .2em no-repeat; }
.fi-pdf { background-image: url(../../images/icons/pdf.gif); }
.fi-doc { background-image: url(../../images/icons/word.gif); }
.fi-xls { background-image: url(../../images/icons/excel.gif); }
.fi-ppt { background-image: url(../../images/icons/ppt.gif); }
.fi-zip { background-image: url(../../images/icons/zip.gif); }
.fi-jpg { background-image: url(../../images/icons/jpeg.gif); }
.fi-dir { background-image: url(../../images/icons/dir.gif); font-weight: bold; }
.fi-up { background-image: url(../../images/icons/up.gif); }

.photo-thumb { max-width: 100%; height: auto; border: 4px solid #ddd; border-radius: .25rem; }
.gallery-admin { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 1rem; }
.gallery-admin figure { margin: 0; border: 1px solid #e5e5e5; border-radius: .4rem; padding: .5rem; background: #fafafa; }
.gallery-admin img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: .25rem; }

@media (max-width: 575.98px) {
    .admin-main { padding: 1rem .75rem; border-radius: 0; margin-top: 0; }
    .admin-title h1 { font-size: 1.3rem; }
}
