/* Common Styles Extracted Across Modules */

#map {
        flex: 1;
        background: #1c2530;
}

#sidebar {
        --editor-sidebar-width: 350px;
}

.btn {
        border: 1px solid #3f78a8;
        border-radius: 8px;
        background: #1f5d90;
        color: #fff;
        padding: 10px;
        font-weight: 700;
        cursor: pointer;
}

.btn {
        padding: 10px;
        border: none;
        font-weight: bold;
        border-radius: 4px;
        cursor: pointer;
        transition: 0.2s;
        font-size: 12px;
}

.btn-blue {
        background: #007bff;
        color: white;
}

.btn-green {
        background: #198754;
        color: white;
}

.btn-green:disabled {
        background: #ccc;
        cursor: not-allowed;
}

.btn-purple {
        background: #6f42c1;
        color: white;
}

.btn-purple.active {
        background: #ffc107;
        color: black;
        animation: pulse 1s infinite;
}

.btn:disabled {
        opacity: .65;
        cursor: default;
}

.btn .bi {
        margin-right: 0.4rem;
}

.admin-top-nav a .bi {
        margin-right: 0.3rem;
}

.card {
        border-radius: 14px;
}

.err {
        margin-top: 10px;
        min-height: 20px;
        color: #ff9aa4;
        font-size: 13px;
}

.icon-base:hover {
        transform: scale(1.3);
        z-index: 2000 !important;
}

.ok {
        color: #9be7ad;
}

.row input {
        width: 100%;
        box-sizing: border-box;
        border: 1px solid #385678;
        border-radius: 8px;
        background: #0f1d31;
        color: #ebf2ff;
        padding: 10px;
        font-size: 14px;
}

.row label {
        display: block;
        margin-bottom: 4px;
        font-size: 12px;
        color: #adc0d7;
}

.row {
        margin-bottom: 10px;
}

.section-sub {
        opacity: .86;
        font-size: .95rem;
}

.table> :not(caption)>*>* {
        background-color: transparent !important;
        color: var(--text) !important;
}

.table {
        --bs-table-bg: transparent;
        --bs-table-color: var(--text);
        --bs-table-striped-bg: rgba(255, 255, 255, .03);
        --bs-table-hover-bg: rgba(255, 255, 255, .06);
        --bs-table-border-color: rgba(255, 255, 255, .10);
}

.wrap {
        max-width: 1360px;
        margin: 10px auto;
        padding: 0 8px;
}

.wrap {
        min-height: 100%;
        display: grid;
        place-items: center;
}

/* IKONY */
.leaflet-div-icon {
        background: transparent;
        border: none;
}

:root {
        --bg-0: #0b0f14;
        --bg-1: #101823;
        --bg-2: #141e2a;
        --text: #e6eef8;
        --muted: #a9b6c6;
        --line: rgba(255, 255, 255, .12);
        --line-soft: rgba(255, 255, 255, .08);
        --accent: #4ea1ff;
        --ok: #3fbf7f;
        --warn: #f0b429;
        --danger: #ff5c5c;
}

@keyframes pulse {
        0% {
                opacity: 1;
        }

        50% {
                opacity: 0.6;
        }

        100% {
                opacity: 1;
        }
}

body {
        margin: 0;
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        font-family: 'Segoe UI', sans-serif;
        background: #0b0f14;
        color: #e6eef8;
        overflow-x: hidden;
        overflow-y: auto;
}

html,
body {
        margin: 0;
        padding: 0;
        height: 100%;
        font-family: Segoe UI, Arial, sans-serif;
        background: #0f1724;
        color: #d7e3f6;
}

select,
input {
        width: 100%;
        padding: 8px;
        border: 1px solid rgba(255, 255, 255, .18);
        border-radius: 8px;
        box-sizing: border-box;
        background: rgba(255, 255, 255, .06);
        color: #e6eef8;
}