/*:root {
    --bg: #f1f9f4;
    --text: #102919;
    --card: #ffffff;
    --box: #f8fcfa;
    --border: #e3efe7;
    --primary: #44ed82;
    --mode: #102919;
    --sidebar: #e3efe7;
    --danger: #ef4444;
    --success: #10b981;
}

html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}


    body.dark {
        --bg: #102919;
        --text: #ffffff;
        --card: #122619;
        --box: #203628;
        --sidebar: #203628;
        --border: #365240;
        --mode: rgba(255, 255, 255, 0.1);
    }



.btn-dark-mode {
    background-color: var(--mode);
    color: white;
}

a, .btn-link {
    color: #10a747;
}

.btn-primary {
    color: #fff;
    background-color: #22bb5a;
    border-color: #1ea650;
}

.sidebar {
    background: black !important;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #35eb78;
}

.content {
    padding-top: 1.1rem;
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

.page-title {
    font-size: 26px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #102919;
}

.table-card {
    background: #ffffff;
    padding: 0;
    border-radius: 18px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.06);
    overflow: hidden;
}

.modern-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

    .modern-table thead {
        background: #f8fcfa;
    }

    .modern-table th {
        text-align: left;
        padding: 16px;
        font-size: 12px;
        color: #608f71;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .modern-table tbody tr {
        background: white;
        transition: all 0.2s ease;
    }

        .modern-table tbody tr:hover {
            background: #f1f9f4;
        }

    .modern-table td {
        padding: 18px 16px;
        border-top: 1px solid #f1f9f4;
    }

.emp-cell {
    display: flex;
    align-items: center;
    gap: 12px;
}

.avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: linear-gradient(135deg, #44ed82, #69eb99);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: bold;
}

.emp-info {
    display: flex;
    flex-direction: column;
}

.emp-name {
    font-weight: 600;
    color: #102919;
}

.emp-sub {
    font-size: 12px;
    color: #94b8a1;
}

.badge {
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
}

    .badge.active {
        background: #dcfce7;
        color: #166534;
    }

    .badge.inactive {
        background: #fee2e2;
        color: #991b1b;
    }

.btn-primary {
    background: #44ed82;
    color: white;
    border: none;
    padding: 8px 14px;
    border-radius: 10px;
    cursor: pointer;
    font-size: 13px;
    transition: 0.2s;
}

    .btn-primary:hover {
        background: #2de370;
        transform: scale(1.05);
    }

.badge {
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
}

    .badge.active {
        background: #dcfce7;
        color: #166534;
    }

    .badge.inactive {
        background: #fee2e2;
        color: #991b1b;
    }

.profile-container {
    padding: 20px;
}

.profile-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: linear-gradient(135deg, #44ed82, #69eb99);
    color: white;
    padding: 20px;
    border-radius: 16px;
}

    .profile-header h2 {
        margin: 0;
    }

.grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.card {
    background: white;
    padding: 18px;
    border-radius: 14px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
    border: 1px solid #f1f9f4;
    transition: all 0.2s ease;
}

    .card:hover {
        transform: translateY(-4px);
    }

    .card h4 {
        margin-bottom: 10px;
        font-size: 15px;
        color: #44ed82;
    }

    .card p {
        margin: 5px 0;
        font-size: 14px;
        color: #345440;
    }

    .card small {
        color: #94b8a1;
    }

.container {
    max-width: 1100px;
    margin: auto;
    padding: 20px;
}

.card {
    background: var(--card);
    border-radius: 15px;
    padding: 20px;
    margin-bottom: 20px;
    border: 1px solid var(--border);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.06);
}

.tabs {
    display: flex;
    gap: 10px;
    border-bottom: 2px solid var(--border);
    margin-bottom: 25px;
    overflow-x: auto;
    padding: 10px;
}

.tab {
    padding: 8px 15px;
    background: var(--box);
    border-radius: 20px;
    white-space: nowrap;
    cursor: pointer;
    font-size: 14px;
    transition: 0.3s;
}

    .tab.active {
        background: var(--primary);
        color: white;
    }

.tab-content {
    display: none;
}

    .tab-content.active {
        display: block;
    }

.form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 15px;
}

input,
select {
    width: 100%;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
}

    input:focus,
    select:focus {
        border-color: var(--primary);
        outline: none;
        box-shadow: 0 0 0 2px rgba(59,130,246,.2);
    }

.btn-save,
.btn {
    background: var(--primary);
    color: white;
    padding: 14px;
    border: none;
    border-radius: 12px;
    cursor: pointer;
}


:root {
    --bg: #f1f9f4;
    --text: #102919;
    --card: #ffffff;
    --box: #f8fcfa;
    --border: #e3efe7;
    --sidebar: #e3efe7;
}

body.dark {
    --bg: #102919;
    --text: #f8fcfa;
    --card: #122619;
    --box: #203628;
    --border: #365240;
    --sidebar: #122619;
}

body {
    background: var(--bg);
    color: var(--text);
    transition: all .3s ease;
}

.sidebar {
    background: var(--sidebar) !important;
}

.page-title,
.emp-name,
.card p,
.card h4 {
    color: var(--text);
}

.card,
.table-card {
    background: var(--card);
    border-color: var(--border);
}

.modern-table thead {
    background: var(--box);
}

.modern-table th {
    color: #608f71;
}

.modern-table tbody tr {
    background: var(--card);
}

    .modern-table tbody tr:hover {
        background: var(--box);
    }

.modern-table td {
    color: var(--text);
    border-top: 1px solid var(--border);
}

input,
select,
textarea {
    background: var(--card);
    color: var(--text);
    border: 1px solid var(--border);
}

    input:focus,
    select:focus,
    textarea:focus {
        border-color: #44ed82;
    }

.tab {
    background: var(--box);
    color: var(--text);
}

.tabs {
    border-bottom: 2px solid var(--border);
}

.nav-link {
    color: var(--text);
}

body.dark .nav-link {
    color: #e3efe7;
}

    body.dark .nav-link.active {
        background: rgba(59,130,246,.15);
        color: #6af09b;
    }

.emp-sub {
    color: #94b8a1;
}

body.dark .modern-table th {
    color: #cce0d3;
}

body.dark .modern-table td {
    color: #e3efe7;
}

body.dark input,
body.dark select,
body.dark textarea {
    background: var(--box);
    color: var(--text);
    border-color: var(--border);
}

body.dark .profile-header {
    background: linear-gradient(135deg,#2de370,#4cdf82);
}

.card {
    background: var(--card);
    color: var(--text);
    border-radius: 15px;
    padding: 20px;
    margin-bottom: 20px;
    border: 1px solid var(--border);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.06);
}

.page-title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 25px;
}

.create-site-page {
    display: flex;
    flex-direction: column;
    gap: 25px;
}*/

/*.section-card {
    background: rgba(59,130,246,.15);
    border-radius: 18px;
    padding: 25px;
    box-shadow: 0 10px 30px rgba(0,0,0,.06);
}*/

/*.section-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 20px;
    color: #2de370;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(250px,1fr));
    gap: 18px;
}

.form-group {
    display: flex;
    flex-direction: column;
}

.full-width {
    grid-column: 1/-1;
}

.form-group label {
    margin-bottom: 8px;
    font-weight: 600;
}

.form-group input {
    padding: 12px;
    border: 1px solid #dce9e1;
    border-radius: 12px;
}

.image-preview {
    margin-top: 20px;
    border: 2px dashed #cce0d3;
    border-radius: 15px;
    min-height: 350px;
    overflow: hidden;
}

    .image-preview img {
        height: 450px;
        display: block;
    }

.empty-image {
    height: 350px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94b8a1;
}

.map-placeholder {
    margin-top: 20px;
    height: 350px;
    border-radius: 16px;
    background: #f8fcfa;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #608f71;
    font-size: 18px;
}

.save-btn {
    height: 55px;
    border: none;
    border-radius: 14px;
    background: #2de370;
    color: white;
    font-size: 17px;
    font-weight: 600;
    cursor: pointer;
}

    .save-btn:hover {
        background: #24d164;
    }



.image-container {
    position: relative;
    display: inline-block;
}

.site-image {
    max-width: 100%;
    display: block;
    cursor: crosshair;
    border-radius: 12px;
}

.marker {
    position: absolute;
    transform: translate(-50%, -100%);
    background: #2de370;
    color: white;
    padding: 5px 10px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

.delete-marker {
    margin-left: 8px;
    cursor: pointer;
}


.marker-list {
    margin: 0;
    padding-left: 20px;
}

    .marker-list li {
        margin-bottom: 10px;
    }

.delete-btn {
    margin-left: 10px;
    border: none;
    background: #ef4444;
    color: white;
    padding: 5px 10px;
    border-radius: 6px;
    cursor: pointer;
}

.leaflet-map {
    height: 450px;
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    margin-top: 20px;
    border: 2px solid #dcefe3;
}

.create-tabs {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 25px;
}

    .create-tabs button {
        border: none;
        background: rgba(59,130,246,.15);
        padding: 14px 22px;
        border-radius: 14px;
        cursor: pointer;
        font-weight: 600;
        color: #466a53;
        box-shadow: 0 4px 12px rgba(0,0,0,.06);
        transition: all .25s;
    }

        .create-tabs button:hover {
            transform: translateY(-2px);
            color: #2de370;
        }

        .create-tabs button.active {
            background: #2de370;
            color: white;
            box-shadow: 0 8px 20px rgba(37,99,235,.25);
        }

.duties-layout {
    display: flex;
    gap: 25px;
    margin-top: 20px;
}

.days-sidebar {
    width: 220px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.day-btn {
    border: none;
    background: #f2f7f4;
    padding: 14px 18px;
    border-radius: 12px;
    text-align: left;
    font-weight: 600;
    cursor: pointer;
    transition: .2s;
}

    .day-btn:hover {
        transform: translateX(4px);
    }

    .day-btn.active {
        background: #2de370;
        color: white;
    }

.day-content {
    flex: 1;
}

.day-actions {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
}

.copy-btn,
.reset-btn {
    border: none;
    padding: 12px 18px;
    border-radius: 10px;
    cursor: pointer;
}

.copy-btn {
    background: #2de370;
    color: white;
}

.reset-btn {
    background: #ef4444;
    color: white;
}

.visits-title {
    margin: 25px 0 15px;
}

.visits-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(140px,1fr));
    gap: 15px;
}


@media (max-width: 992px) {

    .duties-layout {
        flex-direction: column;
    }

    .days-sidebar {
        width: 100%;
        flex-direction: row;
        overflow-x: auto;
        padding-bottom: 5px;
    }

    .day-btn {
        min-width: 140px;
        text-align: center;
    }

        .day-btn:hover {
            transform: none;
        }
}


@media (max-width: 576px) {

    .day-content {
        padding: 18px;
    }

    .day-actions {
        flex-direction: column;
    }

    .copy-btn,
    .reset-btn {
        width: 100%;
    }

    .visits-grid {
        grid-template-columns: 1fr;
    }

    .days-sidebar {
        gap: 8px;
    }

    .day-btn {
        min-width: 120px;
        padding: 12px;
        font-size: 14px;
    }
}

.table-bordered th, .table-bordered td {
    padding: 15px;
}

.note-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(15, 23, 42, .50);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    animation: noteOverlayFade .2s ease;
}

.note-drawer {
    width: 100%;
    max-width: 620px;
    max-height: calc(100vh - 48px);
    overflow: hidden;
    overflow-y: auto;
    border: 1px solid #e3efe7;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 30px 80px rgba(15, 23, 42, .30), 0 10px 30px rgba(15, 23, 42, .12);
    animation: noteCardOpen .22s ease;
}

.drawer-header {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 22px;
    border-bottom: 1px solid #e3efe7;
    background: linear-gradient( 135deg, #f0fef5 0%, #ffffff 100% );
}

    .drawer-header h3 {
        margin: 0;
        color: #102919;
        font-size: 21px;
        font-weight: 800;
    }

.close-btn {
    flex: 0 0 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid #e3efe7;
    border-radius: 11px;
    background: #ffffff;
    color: #608f71;
    font-size: 16px;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

    .close-btn:hover {
        border-color: #fecaca;
        background: #fef2f2;
        color: #dc2626;
        transform: rotate(4deg);
    }

.drawer-body {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 22px;
}

    .drawer-body select,
    .drawer-body input,
    .drawer-body textarea {
        width: 100%;
        border: 1px solid #cce0d3;
        border-radius: 12px;
        background: #ffffff;
        color: #102919;
        font-family: inherit;
        font-size: 14px;
        outline: none;
        transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
    }

    .drawer-body select,
    .drawer-body input {
        min-height: 49px;
        padding: 0 14px;
    }

    .drawer-body textarea {
        min-height: 130px;
        padding: 13px 14px;
        line-height: 1.6;
        resize: vertical;
    }

        .drawer-body select:hover,
        .drawer-body input:hover,
        .drawer-body textarea:hover {
            border-color: #94b8a1;
        }

        .drawer-body select:focus,
        .drawer-body input:focus,
        .drawer-body textarea:focus {
            border-color: #2de370;
            box-shadow: 0 0 0 4px rgba(22, 163, 74, .11);
        }

        .drawer-body input::placeholder,
        .drawer-body textarea::placeholder {
            color: #94b8a1;
        }

    .drawer-body .form-check {
        display: flex;
        align-items: center;
        gap: 10px;
        min-height: 52px;
        margin: 0 !important;
        padding: 13px 14px;
        border: 1px solid #e3efe7;
        border-radius: 12px;
        background: #f8fcfa;
    }

    .drawer-body .form-check-input {
        flex: 0 0 19px;
        width: 19px;
        height: 19px;
        min-height: 19px;
        margin: 0;
        cursor: pointer;
        accent-color: #2de370;
    }

    .drawer-body .form-check-label {
        margin: 0;
        color: #345440;
        font-size: 13px;
        font-weight: 700;
        cursor: pointer;
    }

    .drawer-body .btn-success {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 50px;
        margin-top: 4px;
        border: none;
        border-radius: 12px;
        background: #2de370;
        color: #ffffff;
        font-family: inherit;
        font-size: 14px;
        font-weight: 750;
        box-shadow: 0 8px 20px rgba(22, 163, 74, .22);
        transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
    }

        .drawer-body .btn-success:hover {
            background: #24d164;
            transform: translateY(-1px);
            box-shadow: 0 11px 24px rgba(22, 163, 74, .28);
        }

    .drawer-body .mb-2,
    .drawer-body .mb-3 {
        margin-bottom: 0 !important;
    }

@keyframes noteOverlayFade {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes noteCardOpen {
    from {
        opacity: 0;
        transform: translateY(18px) scale(.97);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.site-actions {
    display: flex;
    justify-content: flex-end;
    margin: 14px 0;
}

.edit-site-btn {
    background: #2de370;
    color: white;
    border: 0;
    padding: 10px 18px;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 600;
}

.modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.edit-site-modal {
    background: white;
    width: 720px;
    max-width: 95%;
    border-radius: 18px;
    padding: 24px;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

    .form-grid input {
        padding: 11px 12px;
        border: 1px solid #ceded4;
        border-radius: 10px;
    }

.modal-actions {
    margin-top: 20px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.save-btn {
    background: #16a34a;
    color: white;
    border: 0;
    padding: 10px 18px;
    border-radius: 10px;
}

.cancel-btn {
    background: #e3ede7;
    border: 0;
    padding: 10px 18px;
    border-radius: 10px;
}

.assets-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 22px;
    padding: 24px;
    background: linear-gradient(135deg, #f8fcfa, #f0fdf5);
    border-radius: 28px;
}

.assets-sidebar {
    background: #102919;
    border-radius: 26px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-shadow: 0 25px 60px rgba(15,23,42,.25);
}

.asset-item {
    border: 0;
    background: transparent;
    color: #cce0d3;
    padding: 15px 18px;
    border-radius: 16px;
    text-align: left;
    font-weight: 800;
    cursor: pointer;
    transition: .2s;
}

    .asset-item:hover,
    .asset-item.active {
        background: linear-gradient(135deg, #2de370, #22c55e);
        color: white;
        transform: translateX(4px);
    }

.assets-main {
    background: rgba(255,255,255,.9);
    border-radius: 26px;
    padding: 22px;
    box-shadow: 0 18px 45px rgba(15,23,42,.08);
}

.assets-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
}

    .assets-header::before {
        content: "Assets Management";
        font-size: 24px;
        font-weight: 900;
        color: #102919;
    }

.assets-content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.asset-tile {
    background: #fff;
    border: 1px solid #e3ede7;
    border-radius: 24px;
    padding: 20px;
    box-shadow: 0 15px 35px rgba(15,23,42,.07);
    transition: .2s;
    cursor: pointer;
}

    .asset-tile:hover {
        transform: translateY(-4px);
        box-shadow: 0 25px 55px rgba(15,23,42,.12);
    }

.asset-hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

.asset-type {
    display: inline-block;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
    color: #2de370;
    margin-bottom: 8px;
}

.asset-hero h2 {
    margin: 0;
    color: #102919;
    font-weight: 900;
    font-size: 22px;
}

.asset-badge {
    background: #dcfce7;
    color: #166534;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
}

.icon-btn {
    border: 0;
    background: #f0fef5;
    color: #24d164;
    padding: 10px 14px;
    border-radius: 14px;
    font-weight: 900;
    cursor: pointer;
}

.units-container {
    margin-top: 18px;
    padding: 14px;
    background: #f8fcfa;
    border-radius: 18px;
}

.unit-item {
    background: white;
    border-radius: 16px;
    padding: 13px;
    margin-bottom: 10px;
    border: 1px solid #e3ede7;
}

.unit-header,
.garage-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.garage-list {
    margin-top: 10px;
    padding-left: 12px;
}

.garage-item {
    background: #f1f9f4;
    padding: 10px;
    border-radius: 12px;
    margin-top: 8px;
}*/

/* Popup */
/*.asset-overlay,
.asset-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15,23,42,.62);
    backdrop-filter: blur(8px);
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
}

.asset-popup {
    width: 720px;
    max-width: 95%;
    max-height: 90vh;
    overflow: auto;
    background: white;
    border-radius: 30px;
    box-shadow: 0 35px 90px rgba(0,0,0,.35);
    animation: popIn .22s ease-out;
}

.popup-header {
    padding: 24px;
    background: linear-gradient(135deg, #102919, #1f3a29);
    color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

    .popup-header h3 {
        margin: 0;
        font-weight: 900;
    }

.popup-body {
    padding: 24px;
}

.form-group {
    margin-bottom: 16px;
}

    .form-group label {
        display: block;
        margin-bottom: 7px;
        color: #345440;
        font-size: 13px;
        font-weight: 900;
    }

    .form-group input,
    .form-group textarea,
    .form-group select,
    .popup-body input,
    .popup-body textarea,
    .popup-body select {
        width: 100%;
        border: 1px solid #cce0d3;
        border-radius: 14px;
        padding: 12px 14px;
        outline: none;
        background: #f8fcfa;
    }

        .form-group input:focus,
        .form-group textarea:focus,
        .form-group select:focus {
            border-color: #2de370;
            background: white;
            box-shadow: 0 0 0 4px rgba(37,99,235,.12);
        }

.close-btn {
    border: 0;
    width: 38px;
    height: 38px;
    border-radius: 14px;
    background: rgba(255,255,255,.15);
    color: white;
    font-weight: 900;
    cursor: pointer;
}

.btn-success {
    background: linear-gradient(135deg, #16a34a, #22c55e) !important;
    border: 0;
    padding: 13px;
    border-radius: 16px;
    font-weight: 900;
}

.asset-modal {
    width: 520px;
    max-width: 95%;
    background: white;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 35px 90px rgba(0,0,0,.35);
}

.drawer-header {
    padding: 22px;
    background: #102919;
    color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.drawer-body {
    padding: 22px;
}

    .drawer-body b {
        color: #102919;
    }

#assetMap {
    border: 4px solid #f0fdf5;
    box-shadow: 0 12px 30px rgba(15,23,42,.12);
}

@keyframes popIn {
    from {
        opacity: 0;
        transform: translateY(25px) scale(.96);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (max-width: 900px) {
    .assets-layout {
        grid-template-columns: 1fr;
    }

    .assets-sidebar {
        flex-direction: row;
        overflow-x: auto;
        width: 100%
    }

    .asset-item {
        white-space: nowrap;
    }

    .assets-content {
        grid-template-columns: 1fr;
    }
}*/

/* =========================================================
   Responsive Assets Layout
   ========================================================= */

/*.assets-layout,
.assets-layout *,
.asset-popup,
.asset-popup *,
.asset-modal,
.asset-modal * {
    box-sizing: border-box;
}

.assets-layout {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.assets-main,
.assets-content,
.asset-tile,
.asset-hero {
    min-width: 0;
}*/

    /* منع النصوص الطويلة من توسيع الصفحة */
    /*.asset-hero h2,
    .asset-hero p,
    .asset-type,
    .asset-badge,
    .unit-header,
    .garage-item {
        overflow-wrap: anywhere;
        word-break: break-word;
    }*/

/* =========================================================
   تحسين الـ Sidebar
   ========================================================= */

/*.assets-sidebar {
    min-width: 0;
}

.asset-item {
    flex: 0 0 auto;
}*/

/* =========================================================
   تحسين Header
   ========================================================= */

/*.assets-header {
    gap: 12px;
    flex-wrap: wrap;
}

    .assets-header .btn {
        flex: 0 0 auto;
    }*/

/* =========================================================
   تحسين البطاقات
   ========================================================= */

/*.asset-hero {
    flex-wrap: wrap;
}

    .asset-hero > div:first-child {
        flex: 1 1 180px;
        min-width: 0;
    }

    .asset-hero .btn,
    .asset-hero .icon-btn {
        flex: 0 0 auto;
    }

.asset-tile .btn {
    white-space: nowrap;
}

.asset-badge {
    max-width: 100%;
}*/

/* =========================================================
   Units and Garages
   ========================================================= */

/*.unit-header,
.garage-item {
    gap: 10px;
}

    .unit-header > div,
    .garage-item > span {
        min-width: 0;
        flex: 1;
    }

.garage-list {
    padding-left: 0;
}*/

/* =========================================================
   Popup
   ========================================================= */

/*.asset-overlay,
.asset-modal-overlay {
    padding: 20px;
    overflow-y: auto;
}

.asset-popup,
.asset-modal {
    width: min(720px, 100%);
    max-width: 100%;
    max-height: calc(100dvh - 40px);
    overflow-y: auto;
}

.asset-modal {
    width: min(520px, 100%);
}

.popup-header,
.drawer-header {
    gap: 12px;
}

    .popup-header h3,
    .drawer-header h3 {
        min-width: 0;
        overflow-wrap: anywhere;
    }

.popup-body,
.drawer-body {
    min-width: 0;
}

    .popup-body input,
    .popup-body textarea,
    .popup-body select,
    .form-group input,
    .form-group textarea,
    .form-group select {
        min-width: 0;
        max-width: 100%;
    }*/

/* =========================================================
   Tablet
   ========================================================= */

/*@media (max-width: 1100px) {
    .assets-layout {
        grid-template-columns: 220px minmax(0, 1fr);
        gap: 16px;
        padding: 18px;
    }

    .assets-content {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .assets-layout {
        grid-template-columns: 1fr;
        padding: 16px;
        border-radius: 20px;
    }

    .assets-sidebar {
        display: flex;
        flex-direction: row;
        gap: 8px;
        padding: 10px;
        overflow-x: auto;
        overflow-y: hidden;
        border-radius: 16px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }

        .assets-sidebar::-webkit-scrollbar {
            height: 5px;
        }

        .assets-sidebar::-webkit-scrollbar-thumb {
            background: #466a53;
            border-radius: 999px;
        }

    .asset-item {
        width: auto;
        min-width: max-content;
        padding: 11px 15px;
        white-space: nowrap;
    }

        .asset-item:hover,
        .asset-item.active {
            transform: none;
        }

    .assets-main {
        padding: 18px;
        border-radius: 20px;
    }

    .assets-content {
        grid-template-columns: 1fr;
    }
}*/

/* =========================================================
   Mobile
   ========================================================= */

/*@media (max-width: 650px) {
    .assets-layout {
        gap: 12px;
        padding: 10px;
        border-radius: 14px;
    }

    .assets-sidebar {
        gap: 6px;
        padding: 8px;
        border-radius: 13px;
    }

    .asset-item {
        padding: 9px 12px;
        border-radius: 10px;
        font-size: 13px;
    }

    .assets-main {
        padding: 12px;
        border-radius: 14px;
    }

    .assets-header {
        align-items: stretch;
        flex-direction: column;
        margin-bottom: 14px;
    }

        .assets-header::before {
            font-size: 20px;
        }

        .assets-header .btn {
            width: 100%;
            min-height: 44px;
        }

    .assets-content {
        gap: 12px;
    }

    .asset-tile {
        padding: 14px;
        border-radius: 16px;
    }

        .asset-tile:hover {
            transform: none;
        }

    .asset-hero {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }

        .asset-hero > div:first-child {
            width: 100%;
            flex-basis: auto;
        }

        .asset-hero h2 {
            font-size: 18px;
        }

        .asset-hero p {
            margin: 8px 0 0;
            font-size: 13px;
        }

        .asset-hero .btn,
        .asset-hero .icon-btn {
            width: 100%;
            min-height: 42px;
        }

    .asset-badge {
        align-self: flex-start;
    }

    .units-container {
        margin-top: 14px;
        padding: 10px;
        border-radius: 14px;
    }

    .unit-item {
        padding: 10px;
        border-radius: 12px;
    }

    .unit-header {
        align-items: stretch;
        flex-direction: column;
    }

        .unit-header .btn {
            width: 100%;
        }

    .garage-item {
        align-items: stretch;
        flex-direction: column;
    }

        .garage-item .btn {
            width: 100%;
        }

    .asset-overlay,
    .asset-modal-overlay {
        align-items: flex-start;
        padding: 10px;
    }

    .asset-popup,
    .asset-modal {
        width: 100%;
        max-height: calc(100dvh - 20px);
        border-radius: 16px;
    }

    .popup-header,
    .drawer-header {
        padding: 16px;
    }

    .popup-body,
    .drawer-body {
        padding: 14px;
    }

    .popup-header h3,
    .drawer-header h3 {
        font-size: 18px;
    }

    .form-group input,
    .form-group textarea,
    .form-group select,
    .popup-body input,
    .popup-body textarea,
    .popup-body select {
        font-size: 16px;
    }

    .close-btn {
        flex: 0 0 36px;
        width: 36px;
        height: 36px;
    }

    #assetMap {
        width: 100% !important;
        max-width: 100%;
        min-height: 260px;
    }
}*/

/* =========================================================
   Very Small Phones
   ========================================================= */

/*@media (max-width: 380px) {
    .assets-layout {
        padding: 7px;
    }

    .assets-main {
        padding: 9px;
    }

    .asset-tile {
        padding: 11px;
    }

    .assets-header::before {
        font-size: 18px;
    }

    .popup-header,
    .drawer-header {
        padding: 13px;
    }

    .popup-body,
    .drawer-body {
        padding: 11px;
    }
}

.asset-info {
    flex: 1 1 180px;
    min-width: 0;
}

.asset-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

@media (max-width: 650px) {
    .asset-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

        .asset-actions .btn {
            width: 100%;
        }
}

body {
}

.contact-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 14px;
}

.edit-btn {
    background: #2de370;
    color: white;
    border: 0;
    padding: 8px 14px;
    border-radius: 8px;
    cursor: pointer;
}

.delete-btn {
    background: #dc2626;
    color: white;
    border: 0;
    padding: 8px 14px;
    border-radius: 8px;
    cursor: pointer;
}

.modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-modal {
    background: white;
    width: 620px;
    max-width: 95%;
    border-radius: 18px;
    padding: 24px;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

    .form-grid input {
        padding: 11px 12px;
        border: 1px solid #ceded4;
        border-radius: 10px;
    }

.modal-actions {
    margin-top: 20px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.save-btn {
    background: #16a34a;
    color: white;
    border: 0;
    padding: 10px 18px;
    border-radius: 10px;
}

.cancel-btn {
    background: #e3ede7;
    border: 0;
    padding: 10px 18px;
    border-radius: 10px;
}*/
/* =========================================================
   General safety
   ========================================================= */

/*.duties-page,
.duties-page *,
.modal-backdrop,
.modal-backdrop *,
.service-modal,
.service-modal * {
    box-sizing: border-box;
}

.duties-page {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}*/

/* =========================================================
   Actions
   ========================================================= */

/*.duties-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}*/

/* =========================================================
   Modal
   ========================================================= */

/*.modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    overflow-y: auto;
    background: rgba(15, 23, 42, 0.55);
}

.service-modal {
    width: min(760px, 100%);
    max-width: 100%;
    max-height: calc(100vh - 40px);
    padding: 24px;
    overflow-y: auto;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.22);
}

    .service-modal h3 {
        margin: 0 0 20px;
    }

    .service-modal h4 {
        margin: 22px 0 12px;
    }

.small-modal {
    width: min(700px, 100%);
    max-width: 100%;
}*/

/* =========================================================
   Forms
   ========================================================= */

/*.form-grid {
    display: grid;
    grid-template-columns: repeat( 2, minmax(0, 1fr) );
    gap: 14px;
    width: 100%;
    min-width: 0;
}

.form-group {
    display: grid;
    gap: 6px;
    min-width: 0;
}

    .form-group label {
        font-size: 13px;
        font-weight: 700;
        color: #466a53;
    }

    .form-group input:not([type="checkbox"]),
    .form-group select,
    .form-group textarea,
    .edit-visit-row input:not([type="checkbox"]) {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding: 11px 12px;
        border: 1px solid #ceded4;
        border-radius: 10px;
        background: #fff;
        color: #122619;
        font-family: inherit;
        font-size: 14px;
        outline: none;
    }

    .form-group textarea {
        min-height: 110px;
        resize: vertical;
    }

        .form-group input:focus,
        .form-group select:focus,
        .form-group textarea:focus,
        .edit-visit-row input:focus {
            border-color: #2de370;
            box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.12);
        }*/

    /* InputCheckbox داخل form-group */
    /*.form-group input[type="checkbox"] {
        width: 20px;
        height: 20px;
        accent-color: #2de370;
        cursor: pointer;
    }*/

/* =========================================================
   Visit rows
   ========================================================= */

/*.edit-visits-list {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.edit-visit-row {
    display: grid;
    grid-template-columns: minmax(80px, 90px) minmax(130px, 1fr) minmax(110px, 130px) auto;
    gap: 10px;
    align-items: center;
    min-width: 0;
    padding: 12px;
    border: 1px solid #e3ede7;
    border-radius: 12px;
    background: #f8fcfa;
}

    .edit-visit-row > label:first-child {
        font-weight: 700;
        color: #345440;
    }

.check-row {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    white-space: nowrap;
}

    .check-row input[type="checkbox"] {
        width: 19px;
        height: 19px;
        margin: 0;
        accent-color: #2de370;
    }*/

/* =========================================================
   Modal actions
   ========================================================= */

/*.modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 22px;
    flex-wrap: wrap;
}

.edit-btn,
.delete-btn,
.save-btn,
.cancel-btn {
    min-height: 40px;
    border: 0;
    border-radius: 10px;
    font-family: inherit;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}

.edit-btn {
    padding: 9px 14px;
    background: #2de370;
    color: #fff;
}

.delete-btn {
    padding: 9px 14px;
    background: #dc2626;
    color: #fff;
}

.save-btn {
    padding: 10px 18px;
    background: #16a34a;
    color: #fff;
}

.cancel-btn {
    padding: 10px 18px;
    background: #e3ede7;
    color: #122619;
}*/

/* =========================================================
   Days
   ========================================================= */

/*.days-panel {
    display: grid;
    grid-template-columns: minmax(210px, 240px) minmax(0, 1fr);
    gap: 18px;
    width: 100%;
    min-width: 0;
    margin-top: 22px;
}

.days-sidebar {
    min-width: 0;
    padding: 14px;
    border: 1px solid #e3ede7;
    border-radius: 18px;
    background: #fff;
}

    .days-sidebar h4 {
        margin: 0 0 12px;
    }

.day-tab {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
    margin-bottom: 10px;
    padding: 12px;
    border: 0;
    border-radius: 14px;
    background: #f8fcfa;
    text-align: left;
    cursor: pointer;
}

    .day-tab span {
        font-weight: 700;
        color: #122619;
    }

    .day-tab small {
        color: #6b7280;
    }

    .day-tab.active {
        border: 1px solid #2de370;
        background: #f0fdf5;
    }

    .day-tab.saved-day {
        border: 2px solid #22c55e !important;
        background: #ecfdf5 !important;
    }

        .day-tab.saved-day span {
            color: #166534 !important;
        }

        .day-tab.saved-day small {
            color: #15803d !important;
        }

.day-details {
    min-width: 0;
    min-height: 260px;
    padding: 18px;
    border: 1px solid #e3ede7;
    border-radius: 18px;
    background: #fff;
}

.day-details-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
}

    .day-details-header h4 {
        margin: 0;
    }

    .day-details-header > div {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
    }

.day-info-grid {
    display: grid;
    grid-template-columns: repeat( auto-fit, minmax(min(180px, 100%), 1fr) );
    gap: 14px;
    min-width: 0;
}

    .day-info-grid div {
        min-width: 0;
        padding: 14px;
        border-radius: 14px;
        background: #f9fbfa;
    }

    .day-info-grid span,
    .day-notes span {
        display: block;
        margin-bottom: 5px;
        color: #6b7280;
        font-size: 12px;
    }

    .day-info-grid strong {
        color: #122619;
        overflow-wrap: anywhere;
    }

.day-notes {
    min-width: 0;
    margin-top: 16px;
    padding: 14px;
    border-radius: 14px;
    background: #f9fbfa;
}

    .day-notes p {
        margin: 0;
        overflow-wrap: anywhere;
    }

.empty-days,
.empty-day-details {
    padding: 20px;
    color: #6b7280;
    text-align: center;
}*/

/* =========================================================
   Tablet
   ========================================================= */

/*@media (max-width: 900px) {
    .days-panel {
        grid-template-columns: 1fr;
    }

    .days-sidebar {
        display: flex;
        align-items: stretch;
        gap: 10px;
        overflow-x: auto;
        padding-bottom: 10px;
        -webkit-overflow-scrolling: touch;
    }

        .days-sidebar h4 {
            display: none;
        }

    .day-tab {
        flex: 0 0 150px;
        margin-bottom: 0;
    }

    .edit-visit-row {
        grid-template-columns: minmax(80px, 100px) minmax(120px, 1fr) minmax(100px, 120px);
    }

        .edit-visit-row .delete-btn {
            grid-column: 1 / -1;
            width: 100%;
        }
}*/

/* =========================================================
   Mobile
   ========================================================= */

/*@media (max-width: 650px) {
    .duties-actions {
        justify-content: stretch;
    }

        .duties-actions .edit-btn {
            width: 100%;
        }

    .modal-backdrop {
        align-items: flex-start;
        padding: 10px;
    }

    .service-modal {
        width: 100%;
        max-height: calc(100dvh - 20px);
        padding: 16px;
        border-radius: 16px;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .form-group input:not([type="checkbox"]),
    .form-group select,
    .form-group textarea,
    .edit-visit-row input:not([type="checkbox"]) {
        font-size: 16px;
    }

    .edit-visit-row {
        display: flex;
        align-items: stretch;
        flex-direction: column;
        gap: 9px;
    }

        .edit-visit-row > label:first-child {
            margin-bottom: 2px;
        }

    .check-row {
        min-height: 36px;
    }

    .edit-visit-row .delete-btn {
        width: 100%;
    }

    .modal-actions {
        flex-direction: column;
    }

        .modal-actions .save-btn,
        .modal-actions .cancel-btn {
            width: 100%;
            min-height: 46px;
        }

    .days-panel {
        gap: 12px;
        margin-top: 16px;
    }

    .days-sidebar {
        gap: 8px;
        padding: 10px;
        border-radius: 14px;
    }

    .day-tab {
        flex-basis: 125px;
        padding: 10px;
        border-radius: 11px;
    }

    .day-details {
        min-height: auto;
        padding: 14px;
        border-radius: 14px;
    }

    .day-details-header {
        align-items: stretch;
        flex-direction: column;
    }

        .day-details-header > div {
            display: grid;
            grid-template-columns: 1fr 1fr;
            width: 100%;
        }

        .day-details-header .edit-btn,
        .day-details-header .delete-btn {
            width: 100%;
        }

    .day-info-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}*/

/* =========================================================
   Very small phones
   ========================================================= */

/*@media (max-width: 380px) {
    .service-modal {
        padding: 12px;
    }

    .day-details-header > div {
        grid-template-columns: 1fr;
    }

    .day-tab {
        flex-basis: 110px;
    }
}

body {
}

.contact-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 14px;
}

.edit-btn {
    background: #2de370;
    color: white;
    border: 0;
    padding: 8px 14px;
    border-radius: 8px;
    cursor: pointer;
}

.delete-btn {
    background: #dc2626;
    color: white;
    border: 0;
    padding: 8px 14px;
    border-radius: 8px;
    cursor: pointer;
}

.modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-modal {
    background: white;
    width: 620px;
    max-width: 95%;
    border-radius: 18px;
    padding: 24px;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

    .form-grid input {
        padding: 11px 12px;
        border: 1px solid #ceded4;
        border-radius: 10px;
    }

.modal-actions {
    margin-top: 20px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.save-btn {
    background: #16a34a;
    color: white;
    border: 0;
    padding: 10px 18px;
    border-radius: 10px;
}

.cancel-btn {
    background: #e3ede7;
    border: 0;
    padding: 10px 18px;
    border-radius: 10px;
}

body {
}

.info-card {
    background: #fff;
    border: 1px solid #e3ede7;
    border-radius: 18px;
    padding: 22px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
}

.notes-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

    .notes-header h3 {
        margin: 0;
        font-size: 20px;
        font-weight: 700;
        color: #122619;
    }

.gates-list,
.notes-list {
    display: grid;
    gap: 14px;
}

.gate-item,
.note-item {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 16px;
    border: 1px solid #e3ede7;
    border-radius: 16px;
    background: #f9fbfa;
    transition: .2s ease;
}

    .gate-item:hover,
    .note-item:hover {
        background: #f2f7f4;
        transform: translateY(-1px);
    }

.gate-main-badge {
    display: inline-flex;
    width: fit-content;
    margin-top: 8px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #dcfce7;
    color: #166534;
    font-size: 12px;
    font-weight: 700;
}

.gate-secondary-badge {
    display: inline-flex;
    width: fit-content;
    margin-top: 8px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #e3fcec;
    color: #359e5b;
    font-size: 12px;
    font-weight: 700;
}

.note-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 12px;
    background: #f0fdf5;
    display: flex;
    align-items: center;
    justify-content: center;
}

.note-content {
    flex: 1;
}

.note-title {
    font-size: 16px;
    font-weight: 700;
    color: #122619;
    margin-bottom: 4px;
}

.note-text {
    font-size: 14px;
    color: #466852;
    line-height: 1.6;
}

.note-footer {
    margin-top: 8px;
    font-size: 12px;
    color: #6b7280;
}

.gate-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.edit-btn,
.delete-btn,
.add-note-btn,
.save-btn,
.cancel-btn {
    border: 0;
    border-radius: 10px;
    padding: 9px 14px;
    font-weight: 700;
    cursor: pointer;
    transition: .2s ease;
}

.edit-btn {
    background: #2de370;
    color: white;
}

.delete-btn {
    background: #dc2626;
    color: white;
}

.add-note-btn,
.save-btn {
    background: #16a34a;
    color: white;
}

.cancel-btn {
    background: #e3ede7;
    color: #122619;
}

    .edit-btn:hover,
    .delete-btn:hover,
    .add-note-btn:hover,
    .save-btn:hover,
    .cancel-btn:hover {
        transform: translateY(-1px);
        filter: brightness(.95);
    }

.section-divider {
    border: 0;
    height: 1px;
    background: #e3ede7;
    margin: 24px 0;
}

.modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(15, 23, 42, .55);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
}

.gate-modal {
    width: 480px;
    max-width: 100%;
    background: #fff;
    border-radius: 20px;
    padding: 24px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .25);
}

    .gate-modal h3 {
        margin: 0 0 18px;
        font-size: 20px;
        color: #122619;
    }

.form-grid {
    display: grid;
    gap: 14px;
}

    .form-grid input[type="text"],
    .form-grid input:not([type]) {
        width: 100%;
        padding: 12px 13px;
        border: 1px solid #ceded4;
        border-radius: 12px;
        outline: none;
        font-size: 14px;
    }

    .form-grid input:focus {
        border-color: #2de370;
        box-shadow: 0 0 0 3px rgba(22, 163, 74, .15);
    }

.check-row {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #365240;
    font-weight: 600;
}

    .check-row input {
        width: 18px;
        height: 18px;
    }

.modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 22px;
}

@media (max-width: 640px) {
    .gate-item,
    .note-item,
    .notes-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .gate-actions {
        width: 100%;
    }

    .edit-btn,
    .delete-btn {
        flex: 1;
    }
}

.note-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.form-grid textarea {
    width: 100%;
    min-height: 110px;
    padding: 12px 13px;
    border: 1px solid #ceded4;
    border-radius: 12px;
    outline: none;
    font-size: 14px;
    resize: vertical;
    grid-column: 1 / -1;
}

    .form-grid textarea:focus {
        border-color: #2de370;
        box-shadow: 0 0 0 3px rgba(22, 163, 74, .15);
    }

.notes-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

    .notes-header h3 {
        margin: 0;
        font-size: 20px;
        font-weight: 700;
        color: #122619;
    }

.add-note-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 145px;
    min-height: 54px;
    padding: 12px 20px;
    border: 1px solid #c4f9d7;
    border-radius: 16px;
    background: #f0fef5;
    color: #2de370;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(22, 163, 74, .10);
    transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

    .add-note-btn:hover {
        background: #ddfce8;
        border-color: #9bf5bc;
        box-shadow: 0 12px 26px rgba(22, 163, 74, .16);
        transform: translateY(-2px);
    }

    .add-note-btn:active {
        transform: translateY(0);
        box-shadow: 0 5px 14px rgba(22, 163, 74, .12);
    }

    .add-note-btn:focus-visible {
        outline: none;
        box-shadow: 0 0 0 4px rgba(22, 163, 74, .14), 0 8px 20px rgba(22, 163, 74, .10);
    }

@media (max-width: 640px) {

    .notes-header {
        align-items: stretch;
    }

    .add-note-btn {
        min-width: 125px;
        min-height: 48px;
        padding: 10px 14px;
        border-radius: 14px;
        font-size: 13px;
    }
}

@media (max-width: 480px) {

    .notes-header {
        flex-direction: column;
    }

    .add-note-btn {
        width: 100%;
    }
}

.map-list {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 15px;
}

.map-tab {
    border: 1px solid #ceded4;
    background: #fff;
    border-radius: 999px;
    padding: 8px 14px;
    cursor: pointer;
}

    .map-tab.active {
        background: #2de370;
        color: #fff;
        border-color: #2de370;
    }

.map-image-wrapper {
    position: relative;
    width: 100%;
    max-height: 650px;
    overflow: auto;
    border: 1px solid #e3ede7;
    border-radius: 16px;
    background: #f8fcfa;
    cursor: crosshair;
}

.site-image {
    width: 100%;
    display: block;
}

.map-marker {
    position: absolute;
    transform: translate(-50%, -100%);
    background: #dc2626;
    color: #fff;
    padding: 6px 9px;
    border-radius: 999px;
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 5px;
    box-shadow: 0 8px 20px rgba(0,0,0,.22);
}

    .map-marker.editing {
        background: #2de370;
    }

    .map-marker button {
        border: 0;
        background: rgba(255,255,255,.25);
        color: #fff;
        border-radius: 50%;
        width: 20px;
        height: 20px;
        cursor: pointer;
    }

.map-actions {
    margin-top: 16px;
    display: flex;
    gap: 10px;
}

.marker-map {
    position: relative;
    cursor: crosshair;
    width: 60%;
}

    .marker-map img {
        width: 100%;
        display: block;
    }

.map-marker {
    position: absolute;
    transform: translate(-50%, -100%);
    background: #dc2626;
    color: #fff;
    padding: 6px 9px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
}

    .map-marker.editing {
        background: #2de370;
    }

    .map-marker button {
        border: 0;
        color: #fff;
        background: rgba(255,255,255,.25);
        border-radius: 50%;
        cursor: pointer;
    }

.marker-tools {
    display: flex;
    gap: 10px;
    margin: 15px 0;
}

.pick-hint {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #122619;
    color: #fff;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 12px;
}

.map-card {
    padding: 24px;
    border-radius: 18px;
    background: #f0fdf5;
}

.maps-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
}

.maps-list {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.map-row {
    padding: 10px 14px;
    border-radius: 12px;
    background: white;
    border: 1px solid #ddfce8;
    cursor: pointer;
}

    .map-row.active {
        background: #2de370;
        color: white;
    }

.marker-tools {
    display: flex;
    gap: 10px;
    margin-bottom: 14px;
}

    .marker-tools input {
        flex: 1;
        padding: 10px;
        border-radius: 10px;
        border: 1px solid #ceded4;
    }

.marker-map {
    position: relative;
    width: 100%;
    max-width: 850px;
    margin: auto;
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    cursor: crosshair;
}

    .marker-map img {
        width: 100%;
        display: block;
    }

.map-marker {
    position: absolute;
    transform: translate(-50%, -100%);
    background: #dc2626;
    color: #fff;
    padding: 6px 10px;
    border-radius: 999px;
    display: flex;
    gap: 6px;
    align-items: center;
    z-index: 5;
    font-size: 12px;
}

    .map-marker.editing {
        background: #2de370;
    }

    .map-marker button {
        border: 0;
        background: rgba(255,255,255,.25);
        color: #fff;
        border-radius: 50%;
        cursor: pointer;
    }

.map-form {
    margin-top: 20px;
    padding: 18px;
    background: white;
    border-radius: 16px;
}

body {
}

.info-card {
    background: #fff;
    border: 1px solid #e3ede7;
    border-radius: 18px;
    padding: 22px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
}

.notes-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

    .notes-header h3 {
        margin: 0;
        font-size: 20px;
        font-weight: 700;
        color: #122619;
    }

.gates-list,
.notes-list {
    display: grid;
    gap: 14px;
}

.gate-item,
.note-item {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 16px;
    border: 1px solid #e3ede7;
    border-radius: 16px;
    background: #f9fbfa;
    transition: .2s ease;
}

    .gate-item:hover,
    .note-item:hover {
        background: #f2f7f4;
        transform: translateY(-1px);
    }

.gate-main-badge {
    display: inline-flex;
    width: fit-content;
    margin-top: 8px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #dcfce7;
    color: #166534;
    font-size: 12px;
    font-weight: 700;
}

.gate-secondary-badge {
    display: inline-flex;
    width: fit-content;
    margin-top: 8px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #e3fcec;
    color: #359e5b;
    font-size: 12px;
    font-weight: 700;
}

.note-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 12px;
    background: #f0fdf5;
    display: flex;
    align-items: center;
    justify-content: center;
}

.note-content {
    flex: 1;
}

.note-title {
    font-size: 16px;
    font-weight: 700;
    color: #122619;
    margin-bottom: 4px;
}

.note-text {
    font-size: 14px;
    color: #466852;
    line-height: 1.6;
}

.note-footer {
    margin-top: 8px;
    font-size: 12px;
    color: #6b7280;
}

.gate-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.edit-btn,
.delete-btn,
.add-note-btn,
.save-btn,
.cancel-btn {
    border: 0;
    border-radius: 10px;
    padding: 9px 14px;
    font-weight: 700;
    cursor: pointer;
    transition: .2s ease;
}

.edit-btn {
    background: #2de370;
    color: white;
}

.delete-btn {
    background: #dc2626;
    color: white;
}

.add-note-btn,
.save-btn {
    background: #16a34a;
    color: white;
}

.cancel-btn {
    background: #e3ede7;
    color: #122619;
}

    .edit-btn:hover,
    .delete-btn:hover,
    .add-note-btn:hover,
    .save-btn:hover,
    .cancel-btn:hover {
        transform: translateY(-1px);
        filter: brightness(.95);
    }

.section-divider {
    border: 0;
    height: 1px;
    background: #e3ede7;
    margin: 24px 0;
}

.modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(15, 23, 42, .55);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
}

.gate-modal {
    width: 480px;
    max-width: 100%;
    background: #fff;
    border-radius: 20px;
    padding: 24px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .25);
}

    .gate-modal h3 {
        margin: 0 0 18px;
        font-size: 20px;
        color: #122619;
    }

.form-grid {
    display: grid;
    gap: 14px;
}

    .form-grid input[type="text"],
    .form-grid input:not([type]) {
        width: 100%;
        padding: 12px 13px;
        border: 1px solid #ceded4;
        border-radius: 12px;
        outline: none;
        font-size: 14px;
    }

    .form-grid input:focus {
        border-color: #2de370;
        box-shadow: 0 0 0 3px rgba(22, 163, 74, .15);
    }

.check-row {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #365240;
    font-weight: 600;
}

    .check-row input {
        width: 18px;
        height: 18px;
    }

.modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 22px;
}

@media (max-width: 640px) {
    .gate-item,
    .note-item,
    .notes-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .gate-actions {
        width: 100%;
    }

    .edit-btn,
    .delete-btn {
        flex: 1;
    }
}

.note-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.form-grid textarea {
    width: 100%;
    min-height: 110px;
    padding: 12px 13px;
    border: 1px solid #ceded4;
    border-radius: 12px;
    outline: none;
    font-size: 14px;
    resize: vertical;
    grid-column: 1 / -1;
}

    .form-grid textarea:focus {
        border-color: #2de370;
        box-shadow: 0 0 0 3px rgba(22, 163, 74, .15);
    }

.report-summary-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}

.report-summary-card {
    background: #ffffff;
    border: 1px solid #e3ede7;
    border-radius: 12px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

    .report-summary-card.total {
        background: #f5fef8;
        border-color: #d2fae1;
    }

    .report-summary-card span {
        color: #608f71;
        font-size: 13px;
        font-weight: 600;
    }

    .report-summary-card strong {
        color: #19522e;
        font-size: 28px;
        line-height: 1.1;
    }

    .report-summary-card small {
        color: #94b8a1;
        font-size: 12px;
    }

.reports-filter-card {
    background: #ffffff;
    border: 1px solid #e3ede7;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 20px;
}

.reports-filter-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    gap: 14px;
    align-items: end;
}

.filter-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

    .filter-field label {
        color: #365240;
        font-size: 13px;
        font-weight: 600;
    }

.filter-select {
    width: 100%;
    min-height: 42px;
    padding: 9px 12px;
    background: #ffffff;
    color: #122619;
    border: 1px solid #ceded4;
    border-radius: 8px;
    outline: none;
}

    .filter-select:focus {
        border-color: #2de370;
        box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.12);
    }

.filter-actions {
    display: flex;
    align-items: end;
}

.secondary-btn {
    min-height: 42px;
    padding: 9px 16px;
    border: 1px solid #ceded4;
    border-radius: 8px;
    background: #ffffff;
    color: #365240;
    cursor: pointer;
    white-space: nowrap;
}

    .secondary-btn:hover {
        background: #f2f7f4;
    }

.filter-result-count {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #e3ede7;
    color: #608f71;
    font-size: 13px;
}

    .filter-result-count strong {
        color: #122619;
    }

@media (max-width: 1200px) {
    .report-summary-grid {
        grid-template-columns: repeat(3, minmax(130px, 1fr));
    }
}

@media (max-width: 850px) {
    .reports-filter-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 600px) {
    .report-summary-grid,
    .reports-filter-grid {
        grid-template-columns: 1fr;
    }

    .secondary-btn {
        width: 100%;
    }
}*/
/* =========================================================
   Reports page responsive safety
   ========================================================= */

/*.reports-page,
.reports-page *,
.report-summary-grid,
.reports-filter-card,
.report-table-container {
    box-sizing: border-box;
}

.reports-page {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.reports-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

    .reports-header h3 {
        min-width: 0;
        margin: 0;
        overflow-wrap: anywhere;
    }

.report-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}*/

/* =========================================================
   Summary cards
   ========================================================= */

/*.report-summary-grid {
    display: grid;
    grid-template-columns: repeat( 6, minmax(0, 1fr) );
    gap: 14px;
    width: 100%;
    min-width: 0;
    margin-bottom: 20px;
}

.report-summary-card {
    min-width: 0;
    overflow: hidden;
}

    .report-summary-card span,
    .report-summary-card small {
        overflow-wrap: anywhere;
    }

    .report-summary-card strong {
        overflow-wrap: anywhere;
    }*/

/* =========================================================
   Filters
   ========================================================= */

/*.reports-filter-card {
    width: 100%;
    min-width: 0;
}

.reports-filter-grid {
    display: grid;
    grid-template-columns: repeat( 3, minmax(0, 1fr) ) auto;
    gap: 14px;
    align-items: end;
    min-width: 0;
}

.filter-field {
    min-width: 0;
}

.filter-select {
    min-width: 0;
    max-width: 100%;
}

.filter-actions {
    min-width: 0;
}

.secondary-btn {
    min-width: max-content;
}*/

/* =========================================================
   Table
   ========================================================= */

/*.report-table-container {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

.report-table {
    width: 100%;
    min-width: 1100px;
}

    .report-table th,
    .report-table td {
        white-space: nowrap;
    }

        .report-table td:nth-child(4) {
            max-width: 260px;
            white-space: normal;
            overflow-wrap: anywhere;
        }

.report-table-container > p {
    margin: 0;
    padding: 24px;
    text-align: center;
    color: #608f71;
}*/

/* =========================================================
   Tablet
   ========================================================= */

/*@media (max-width: 1200px) {
    .report-summary-grid {
        grid-template-columns: repeat( 3, minmax(0, 1fr) );
    }

    .reports-filter-grid {
        grid-template-columns: repeat( 2, minmax(0, 1fr) );
    }

    .filter-actions {
        align-items: stretch;
    }

    .secondary-btn {
        width: 100%;
    }
}*/

/* =========================================================
   Mobile
   ========================================================= */

/*@media (max-width: 700px) {
    .reports-header {
        align-items: stretch;
        flex-direction: column;
    }

        .reports-header h3 {
            font-size: 20px;
        }

    .report-actions {
        width: 100%;
    }

        .report-actions .primary-btn {
            width: 100%;
            min-height: 44px;
        }

    .report-summary-grid {
        grid-template-columns: repeat( 2, minmax(0, 1fr) );
        gap: 10px;
    }

    .report-summary-card {
        padding: 13px;
    }

        .report-summary-card strong {
            font-size: 23px;
        }

    .reports-filter-card {
        padding: 14px;
    }

    .reports-filter-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .filter-select {
        min-height: 46px;
        font-size: 16px;
    }

    .secondary-btn {
        width: 100%;
        min-height: 46px;
    }

    .filter-result-count {
        line-height: 1.7;
    }

    .report-table {
        min-width: 1000px;
    }

        .report-table th,
        .report-table td {
            padding: 11px;
            font-size: 12px;
        }

    .status-badge {
        padding: 6px 10px;
        font-size: 11px;
    }

    .icon {
        width: 38px;
        height: 38px;
    }
}*/

/* =========================================================
   Small phones
   ========================================================= */

/*@media (max-width: 430px) {
    .report-summary-grid {
        grid-template-columns: 1fr;
    }

    .report-summary-card {
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
        column-gap: 10px;
    }

        .report-summary-card strong {
            grid-column: 2;
            grid-row: 1 / span 2;
            font-size: 26px;
        }

        .report-summary-card small {
            grid-column: 1;
        }
}

.desktop-reports {
    display: block;
}

.mobile-reports {
    display: none;
}

.report-empty-state {
    padding: 30px;
    border: 1px solid #e3ede7;
    border-radius: 16px;
    background: #fff;
    color: #608f71;
    text-align: center;
}

.report-cards {
    display: grid;
    gap: 14px;
}

.report-card {
    min-width: 0;
    padding: 16px;
    border: 1px solid #e3ede7;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.report-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid #e3ede7;
}

    .report-card-header > div {
        min-width: 0;
    }

.report-card-type {
    display: inline-block;
    margin-bottom: 5px;
    color: #2de370;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.report-card-header h4 {
    margin: 0;
    color: #102919;
    font-size: 17px;
    overflow-wrap: anywhere;
}

.report-open-btn {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 8px 14px;
    border: 0;
    border-radius: 10px;
    background: #2de370;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

.report-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 14px 0;
}

.report-card-field {
    min-width: 0;
    padding: 11px;
    border-radius: 12px;
    background: #f8fcfa;
}

    .report-card-field.full-width {
        grid-column: 1 / -1;
    }

    .report-card-field span {
        display: block;
        margin-bottom: 4px;
        color: #608f71;
        font-size: 11px;
        font-weight: 600;
    }

    .report-card-field strong {
        display: block;
        color: #102919;
        font-size: 14px;
        overflow-wrap: anywhere;
    }

.report-card-statuses {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

    .report-card-statuses > div {
        min-width: 0;
        padding: 10px 6px;
        border-radius: 12px;
        background: #f8fcfa;
        text-align: center;
    }

    .report-card-statuses span {
        display: block;
        margin-bottom: 5px;
        color: #608f71;
        font-size: 10px;
    }

.mobile-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 11px;
}

    .mobile-status.yes {
        background: #dcfce7;
        color: #15803d;
    }

    .mobile-status.no {
        background: #fee2e2;
        color: #dc2626;
    }

@media (max-width: 768px) {
    .desktop-reports {
        display: none;
    }

    .mobile-reports {
        display: grid;
    }
}

@media (max-width: 430px) {
    .report-card {
        padding: 13px;
        border-radius: 15px;
    }

    .report-card-header {
        align-items: stretch;
        flex-direction: column;
    }

    .report-open-btn {
        width: 100%;
        min-height: 42px;
    }

    .report-card-grid {
        grid-template-columns: 1fr;
    }

    .report-card-field.full-width {
        grid-column: auto;
    }

    .report-card-statuses {
        grid-template-columns: 1fr;
    }

        .report-card-statuses > div {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 10px 12px;
            text-align: left;
        }

        .report-card-statuses span {
            margin: 0;
        }
}

.mobile-reports {
    display: none;
}

.report-cards {
    width: 100%;
    gap: 12px;
}

.report-card {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e3efe7;
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.06);
    transition: border-color .2s ease, box-shadow .2s ease;
}

    .report-card.expanded {
        border-color: #c4f9d7;
        box-shadow: 0 10px 28px rgba(22, 163, 74, 0.10);
    }

.report-card-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px;
}

.report-card-main {
    flex: 1;
    min-width: 0;
}

.report-card-type {
    display: inline-block;
    margin-bottom: 5px;
    color: #2de370;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .4px;
    text-transform: uppercase;
}

.report-card-main h4 {
    margin: 0 0 10px;
    color: #102919;
    font-size: 16px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.report-last-status {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

    .report-last-status > span {
        color: #608f71;
        font-size: 12px;
    }

    .report-last-status strong {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 26px;
        padding: 5px 10px;
        border-radius: 999px;
        font-size: 11px;
        font-weight: 800;
    }

.status-not-opened {
    background: #f1f9f4;
    color: #466a53;
}

.status-opened {
    background: #ddfce8;
    color: #24d164;
}

.status-submitted {
    background: #ffedd5;
    color: #c2410c;
}

.status-email {
    background: #dcfce7;
    color: #15803d;
}

.report-expand-btn {
    flex: 0 0 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: #f0fef5;
    color: #2de370;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}

    .report-expand-btn:hover {
        background: #ddfce8;
        transform: scale(1.05);
    }

    .report-expand-btn.opened {
        background: #2de370;
        color: #ffffff;
    }

.expand-icon {
    display: block;
    font-size: 25px;
    font-weight: 400;
    line-height: 1;
}

.report-card-details {
    padding: 0 16px 16px;
    border-top: 1px solid #e3ede7;
    animation: reportDetailsOpen .2s ease;
}

@keyframes reportDetailsOpen {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.report-card-grid {
    display: grid;
    grid-template-columns: repeat( 2, minmax(0, 1fr) );
    gap: 10px;
    padding: 16px 0 12px;
}

.report-card-field {
    min-width: 0;
    padding: 11px;
    border-radius: 12px;
    background: #f8fcfa;
}

    .report-card-field.full-width {
        grid-column: 1 / -1;
    }

    .report-card-field span {
        display: block;
        margin-bottom: 5px;
        color: #608f71;
        font-size: 11px;
        font-weight: 600;
    }

    .report-card-field strong {
        display: block;
        color: #102919;
        font-size: 13px;
        overflow-wrap: anywhere;
    }

.report-card-statuses {
    display: grid;
    grid-template-columns: repeat( 3, minmax(0, 1fr) );
    gap: 8px;
    margin-bottom: 12px;
}

    .report-card-statuses > div {
        min-width: 0;
        padding: 10px 5px;
        border-radius: 12px;
        background: #f8fcfa;
        text-align: center;
    }

    .report-card-statuses span {
        display: block;
        margin-bottom: 5px;
        color: #608f71;
        font-size: 10px;
    }

.mobile-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 10px;
}

    .mobile-status.yes {
        background: #dcfce7;
        color: #15803d;
    }

    .mobile-status.no {
        background: #fee2e2;
        color: #dc2626;
    }

.report-view-btn {
    width: 100%;
    min-height: 42px;
    padding: 10px 16px;
    border: none;
    border-radius: 11px;
    background: #2de370;
    color: #ffffff;
    font-weight: 700;
    cursor: pointer;
}

    .report-view-btn:hover {
        background: #24d164;
    }

@media (max-width: 768px) {
    .desktop-reports {
        display: none;
    }

    .mobile-reports {
        display: grid;
    }
}

@media (max-width: 430px) {
    .report-card-summary {
        padding: 13px;
    }

    .report-card-main h4 {
        font-size: 15px;
    }

    .report-expand-btn {
        flex-basis: 38px;
        width: 38px;
        height: 38px;
    }

    .report-card-details {
        padding: 0 13px 13px;
    }

    .report-card-grid {
        grid-template-columns: 1fr;
    }

    .report-card-field.full-width {
        grid-column: auto;
    }

    .report-card-statuses {
        grid-template-columns: 1fr;
    }

        .report-card-statuses > div {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 9px 12px;
            text-align: left;
        }

        .report-card-statuses span {
            margin: 0;
        }
}

.mobile-reports {
    display: none;
}

.report-cards {
    width: 100%;
    gap: 12px;
}

.report-card {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e3efe7;
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.06);
    transition: border-color .2s ease, box-shadow .2s ease;
}

    .report-card.expanded {
        border-color: #c4f9d7;
        box-shadow: 0 10px 28px rgba(22, 163, 74, 0.10);
    }

.report-card-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px;
}

.report-card-main {
    flex: 1;
    min-width: 0;
}

.report-card-type {
    display: inline-block;
    margin-bottom: 5px;
    color: #2de370;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .4px;
    text-transform: uppercase;
}

.report-card-main h4 {
    margin: 0 0 10px;
    color: #102919;
    font-size: 16px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.report-last-status {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

    .report-last-status > span {
        color: #608f71;
        font-size: 12px;
    }

    .report-last-status strong {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 26px;
        padding: 5px 10px;
        border-radius: 999px;
        font-size: 11px;
        font-weight: 800;
    }

.status-not-opened {
    background: #f1f9f4;
    color: #466a53;
}

.status-opened {
    background: #ddfce8;
    color: #24d164;
}

.status-submitted {
    background: #ffedd5;
    color: #c2410c;
}

.status-email {
    background: #dcfce7;
    color: #15803d;
}

.report-expand-btn {
    flex: 0 0 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: #f0fef5;
    color: #2de370;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}

    .report-expand-btn:hover {
        background: #ddfce8;
        transform: scale(1.05);
    }

    .report-expand-btn.opened {
        background: #2de370;
        color: #ffffff;
    }

.expand-icon {
    display: block;
    font-size: 25px;
    font-weight: 400;
    line-height: 1;
}

.report-card-details {
    padding: 0 16px 16px;
    border-top: 1px solid #e3ede7;
    animation: reportDetailsOpen .2s ease;
}

@keyframes reportDetailsOpen {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.report-card-grid {
    display: grid;
    grid-template-columns: repeat( 2, minmax(0, 1fr) );
    gap: 10px;
    padding: 16px 0 12px;
}

.report-card-field {
    min-width: 0;
    padding: 11px;
    border-radius: 12px;
    background: #f8fcfa;
}

    .report-card-field.full-width {
        grid-column: 1 / -1;
    }

    .report-card-field span {
        display: block;
        margin-bottom: 5px;
        color: #608f71;
        font-size: 11px;
        font-weight: 600;
    }

    .report-card-field strong {
        display: block;
        color: #102919;
        font-size: 13px;
        overflow-wrap: anywhere;
    }

.report-card-statuses {
    display: grid;
    grid-template-columns: repeat( 3, minmax(0, 1fr) );
    gap: 8px;
    margin-bottom: 12px;
}

    .report-card-statuses > div {
        min-width: 0;
        padding: 10px 5px;
        border-radius: 12px;
        background: #f8fcfa;
        text-align: center;
    }

    .report-card-statuses span {
        display: block;
        margin-bottom: 5px;
        color: #608f71;
        font-size: 10px;
    }

.mobile-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 10px;
}

    .mobile-status.yes {
        background: #dcfce7;
        color: #15803d;
    }

    .mobile-status.no {
        background: #fee2e2;
        color: #dc2626;
    }

.report-view-btn {
    width: 100%;
    min-height: 42px;
    padding: 10px 16px;
    border: none;
    border-radius: 11px;
    background: #2de370;
    color: #ffffff;
    font-weight: 700;
    cursor: pointer;
}

    .report-view-btn:hover {
        background: #24d164;
    }

@media (max-width: 768px) {
    .desktop-reports {
        display: none;
    }

    .mobile-reports {
        display: grid;
    }
}

@media (max-width: 430px) {
    .report-card-summary {
        padding: 13px;
    }

    .report-card-main h4 {
        font-size: 15px;
    }

    .report-expand-btn {
        flex-basis: 38px;
        width: 38px;
        height: 38px;
    }

    .report-card-details {
        padding: 0 13px 13px;
    }

    .report-card-grid {
        grid-template-columns: 1fr;
    }

    .report-card-field.full-width {
        grid-column: auto;
    }

    .report-card-statuses {
        grid-template-columns: 1fr;
    }

        .report-card-statuses > div {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 9px 12px;
            text-align: left;
        }

        .report-card-statuses span {
            margin: 0;
        }
}

.asset-modal-overlay {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(15,23,42,.65);
    backdrop-filter: blur(8px);
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    overflow-y: auto;
}

.asset-details-drawer {
    width: min(760px, 100%);
    max-height: calc(100vh - 48px);
    overflow-y: auto;
    background: #fff;
    border-radius: 32px;
    box-shadow: 0 35px 100px rgba(0,0,0,.35);
    margin: auto;
}

.details-hero {
    padding: 26px;
    background: linear-gradient(135deg, #102919, #1f3a29);
    color: white;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

    .details-hero span {
        font-size: 12px;
        letter-spacing: .16em;
        font-weight: 900;
        color: #9bf5bc;
    }

    .details-hero h2 {
        margin: 8px 0;
        font-size: 30px;
        font-weight: 900;
    }

    .details-hero p {
        margin: 0;
        color: #cce0d3;
    }

.details-close {
    border: 0;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: rgba(255,255,255,.15);
    color: white;
    font-weight: 900;
    cursor: pointer;
}

.details-map-wrap {
    padding: 22px 22px 0;
}

.asset-map {
    height: 320px;
    border-radius: 24px;
    overflow: hidden;
    border: 4px solid #f0fdf5;
    box-shadow: 0 15px 35px rgba(15,23,42,.12);
}

.details-body {
    padding: 22px;
}

.details-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.info-box {
    padding: 16px;
    border-radius: 18px;
    background: #f8fcfa;
    border: 1px solid #e3ede7;
}

    .info-box span {
        display: block;
        color: #608f71;
        font-size: 12px;
        font-weight: 900;
        margin-bottom: 8px;
    }

    .info-box strong {
        color: #102919;
        font-size: 15px;
        word-break: break-word;
    }

@media (max-width: 700px) {
    .details-grid {
        grid-template-columns: 1fr;
    }
}

.create-site-shell,
.create-site-shell * {
    box-sizing: border-box;
}

.create-site-shell {
    width: 100%;
    min-width: 0;
    padding-bottom: 30px;
}*/

/* Header */

/*.create-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
    padding: 24px;
    border: 1px solid #e3efe7;
    border-radius: 20px;
    background: linear-gradient( 135deg, #ffffff 0%, #f0fef5 100% );
    box-shadow: 0 8px 28px rgba(15, 23, 42, .06);
}

    .create-page-header > div {
        min-width: 0;
    }

.create-page-eyebrow {
    display: block;
    margin-bottom: 6px;
    color: #2de370;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
}

.page-title {
    margin: 0 0 6px;
    color: #102919;
    font-size: 28px;
    font-weight: 800;
    line-height: 1.2;
}

.page-description {
    margin: 0;
    color: #608f71;
    font-size: 14px;
}

.header-save-btn {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 130px;
    min-height: 46px;
    padding: 10px 20px;
    border: none;
    border-radius: 12px;
    background: #2de370;
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 7px 18px rgba(22, 163, 74, .22);
    transition: background .2s ease, transform .2s ease;
}

    .header-save-btn:hover:not(:disabled) {
        background: #24d164;
        transform: translateY(-1px);
    }

    .header-save-btn:disabled,
    .save-btn:disabled,
    .mobile-save-btn:disabled {
        cursor: not-allowed;
        opacity: .65;
    }*/

/* Navigation */

/*.create-navigation {
    width: 100%;
    margin-bottom: 20px;
}

.create-tabs {
    display: grid;
    grid-template-columns: repeat( 6, minmax(0, 1fr) );
    gap: 8px;
    width: 100%;
    padding: 8px;
    border: 1px solid #e3efe7;
    border-radius: 16px;
    background: #f8fcfa;
}

    .create-tabs button {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-width: 0;
        min-height: 46px;
        padding: 9px 10px;
        border: none;
        border-radius: 11px;
        background: transparent;
        color: #608f71;
        font-family: inherit;
        font-size: 12px;
        font-weight: 700;
        cursor: pointer;
        transition: background .2s ease, color .2s ease, box-shadow .2s ease;
    }

        .create-tabs button:hover {
            background: #ffffff;
            color: #2de370;
        }

        .create-tabs button.active {
            background: #ffffff;
            color: #2de370;
            box-shadow: 0 4px 13px rgba(15, 23, 42, .09);
        }

.tab-step {
    flex: 0 0 23px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background: #e3efe7;
    color: #608f71;
    font-size: 10px;
}

.create-tabs button.active .tab-step {
    background: #2de370;
    color: #ffffff;
}

.mobile-create-tabs {
    display: none;
}*/

/* Page content */

/*.create-site-page {
    display: flex;
    flex-direction: column;
    gap: 18px;
    width: 100%;
    min-width: 0;
}

.active-tab-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    padding: 0 4px;
}

    .active-tab-heading > div:first-child {
        min-width: 0;
    }

    .active-tab-heading span {
        display: block;
        margin-bottom: 4px;
        color: #608f71;
        font-size: 11px;
        font-weight: 700;
    }

    .active-tab-heading h2 {
        margin: 0;
        color: #102919;
        font-size: 20px;
        font-weight: 750;
    }

.tab-progress {
    width: 190px;
    height: 6px;
    overflow: hidden;
    border-radius: 999px;
    background: #e3efe7;
}

.tab-progress-value {
    height: 100%;
    border-radius: inherit;
    background: #2de370;
    transition: width .25s ease;
}

.tab-content-container {
    width: 100%;
    min-width: 0;
}*/

/* Shared section cards */

/*.section-card {
    width: 100%;
    min-width: 0;
    padding: 22px;
    border: 1px solid #e3efe7;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 7px 22px rgba(15, 23, 42, .05);
}

.section-title {
    margin-bottom: 18px;
    padding-bottom: 13px;
    border-bottom: 1px solid #e3efe7;
    color: #102919;
    font-size: 18px;
    font-weight: 750;
}*/

/* Shared forms */

/*.form-grid {
    display: grid;
    grid-template-columns: repeat( 3, minmax(0, 1fr) );
    gap: 16px;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
}

.full-width {
    grid-column: 1 / -1;
}

.form-group label {
    margin: 0;
    color: #345440;
    font-size: 13px;
    font-weight: 650;
}

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid #dce9e1;
    border-radius: 11px;
    background: #ffffff;
    color: #102919;
    font-family: inherit;
    font-size: 14px;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.form-group input,
.form-group select {
    height: 47px;
    padding: 0 13px;
}

.form-group textarea {
    min-height: 100px;
    padding: 12px 13px;
    resize: vertical;
}

    .form-group input:focus,
    .form-group select:focus,
    .form-group textarea:focus {
        border-color: #2de370;
        box-shadow: 0 0 0 3px rgba(22, 163, 74, .1);
    }*/

/* Bottom actions */

/*.create-page-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding-top: 4px;
}

.previous-btn,
.next-btn,
.save-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 10px 22px;
    border-radius: 11px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

.previous-btn {
    border: 1px solid #cce0d3;
    background: #ffffff;
    color: #466a53;
}

    .previous-btn:disabled {
        cursor: not-allowed;
        opacity: .45;
    }

.next-btn,
.save-btn {
    border: none;
    background: #2de370;
    color: #ffffff;
}

    .next-btn:hover,
    .save-btn:hover:not(:disabled) {
        background: #24d164;
    }*/

/* Map and images */

/*.image-preview {
    width: 100%;
    min-height: 320px;
    margin-top: 18px;
    overflow: hidden;
    border: 2px dashed #cce0d3;
    border-radius: 15px;
    background: #f8fcfa;
}

    .image-preview img,
    .site-image {
        display: block;
        width: 100%;
        height: auto;
        max-height: 500px;
        object-fit: contain;
    }

.empty-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 320px;
    padding: 20px;
    color: #94b8a1;
    text-align: center;
}

.leaflet-map {
    width: 100%;
    height: 450px;
    margin-top: 18px;
    overflow: hidden;
    border: 1px solid #dcefe3;
    border-radius: 16px;
}

.mobile-save-bar {
    display: none;
}

.save-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, .45);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: saveSpin .75s linear infinite;
}

@keyframes saveSpin {
    to {
        transform: rotate(360deg);
    }
}*/

/* Medium desktop */

/*@media (max-width: 1100px) {
    .create-tabs {
        grid-template-columns: repeat( 3, minmax(0, 1fr) );
    }

    .form-grid {
        grid-template-columns: repeat( 2, minmax(0, 1fr) );
    }
}*/

/* Tablet and mobile */

/*@media (max-width: 768px) {
    .create-site-shell {
        padding-bottom: 90px;
    }

    .create-page-header {
        padding: 18px;
        border-radius: 16px;
    }

    .page-title {
        font-size: 23px;
    }

    .header-save-btn {
        display: none;
    }

    .desktop-create-tabs {
        display: none;
    }

    .mobile-create-tabs {
        display: block;
        padding: 13px;
        border: 1px solid #e3efe7;
        border-radius: 14px;
        background: #ffffff;
    }

        .mobile-create-tabs label {
            display: block;
            margin-bottom: 7px;
            color: #466a53;
            font-size: 12px;
            font-weight: 700;
        }

    .mobile-tab-select {
        position: relative;
        width: 100%;
    }

        .mobile-tab-select select {
            width: 100%;
            height: 48px;
            padding: 0 42px 0 13px;
            border: 1px solid #cce0d3;
            border-radius: 11px;
            background: #f8fcfa;
            color: #102919;
            font-family: inherit;
            font-size: 15px;
            font-weight: 650;
            outline: none;
            appearance: none;
            -webkit-appearance: none;
        }

            .mobile-tab-select select:focus {
                border-color: #2de370;
                box-shadow: 0 0 0 3px rgba(22, 163, 74, .1);
            }

    .select-arrow {
        position: absolute;
        top: 50%;
        right: 15px;
        color: #2de370;
        font-size: 10px;
        pointer-events: none;
        transform: translateY(-50%);
    }

    .active-tab-heading {
        align-items: center;
    }

    .tab-progress {
        width: 110px;
    }

    .section-card {
        padding: 17px;
        border-radius: 15px;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .full-width {
        grid-column: auto;
    }

    .create-page-actions {
        justify-content: space-between;
    }

    .previous-btn,
    .next-btn,
    .save-btn {
        flex: 1;
    }

    .mobile-save-bar {
        position: fixed;
        z-index: 1000;
        right: 0;
        bottom: 0;
        left: 0;
        display: block;
        padding: 10px max(14px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
        border-top: 1px solid #e3efe7;
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 -8px 24px rgba(15, 23, 42, .10);
        backdrop-filter: blur(10px);
    }

    .mobile-save-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        width: 100%;
        min-height: 48px;
        border: none;
        border-radius: 12px;
        background: #2de370;
        color: #ffffff;
        font-size: 15px;
        font-weight: 750;
        cursor: pointer;
    }

    .leaflet-map {
        height: 370px;
    }
}*/

/* Small phone */

/*@media (max-width: 480px) {
    .create-page-header {
        padding: 15px;
    }

    .create-page-eyebrow {
        font-size: 9px;
    }

    .page-title {
        font-size: 20px;
    }

    .page-description {
        font-size: 12px;
    }

    .active-tab-heading h2 {
        font-size: 17px;
    }

    .tab-progress {
        width: 85px;
    }

    .section-card {
        padding: 14px;
    }

    .section-title {
        font-size: 16px;
    }

    .form-group input,
    .form-group select,
    .form-group textarea {
        font-size: 16px;
    }

    .create-page-actions {
        gap: 8px;
    }

    .previous-btn,
    .next-btn,
    .save-btn {
        min-height: 44px;
        padding: 9px 12px;
        font-size: 13px;
    }

    .leaflet-map {
        height: 320px;
    }

    .image-preview,
    .empty-image {
        min-height: 250px;
    }
}

.site-overview-page {
    padding: 28px;
    background: #f4fbf7;
    min-height: 100vh;
}

.overview-header {
    background: #fff;
    border-radius: 18px;
    padding: 22px;
    margin-bottom: 22px;
    box-shadow: 0 8px 24px rgba(0,0,0,.06);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

    .overview-header h2 {
        margin: 0;
        font-weight: 800;
        color: #183222;
    }

.search-box {
    display: flex;
    gap: 10px;
    min-width: 360px;
}

    .search-box input {
        flex: 1;
        border: 1px solid #ddede3;
        border-radius: 12px;
        padding: 12px 14px;
        outline: none;
    }

    .search-box button,
    .nav-buttons button {
        border: none;
        border-radius: 12px;
        padding: 12px 18px;
        background: #27e36c;
        color: #fff;
        font-weight: 700;
        cursor: pointer;
    }

.nav-buttons {
    display: flex;
    align-items: center;
    gap: 12px;
}

    .nav-buttons span {
        font-weight: 700;
        color: #466a53;
    }

    .nav-buttons button:disabled {
        background: #cce0d3;
        cursor: not-allowed;
    }

.overview-card {
    background: #fff;
    border-radius: 22px;
    padding: 28px;
    box-shadow: 0 10px 30px rgba(0,0,0,.07);
}

.site-main-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 24px;
    margin-bottom: 24px;
    border-bottom: 1px solid #edf7f1;
}

.site-number {
    display: inline-block;
    background: #eafdf1;
    color: #27e36c;
    font-weight: 800;
    padding: 7px 14px;
    border-radius: 999px;
    margin-bottom: 10px;
}

.site-main-info h1 {
    margin: 0;
    font-size: 34px;
    color: #122619;
}

.site-main-info p {
    margin: 6px 0 0;
    color: #608f71;
}

.status-badge {
    padding: 10px 18px;
    border-radius: 999px;
    font-weight: 800;
}

    .status-badge.active {
        background: #dcfce7;
        color: #15803d;
    }

    .status-badge.inactive {
        background: #fee2e2;
        color: #b91c1c;
    }

.overview-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(220px, 1fr));
    gap: 18px;
}

.info-box {
    background: linear-gradient(180deg, #ffffff, #f8fcfa);
    border: 1px solid #edf7f1;
    border-radius: 18px;
    padding: 20px;
    min-height: 180px;
    transition: .2s;
}

    .info-box:hover {
        transform: translateY(-3px);
        box-shadow: 0 12px 24px rgba(0,0,0,.08);
    }

    .info-box h4 {
        margin: 0 0 14px;
        font-size: 18px;
        color: #203628;
    }

    .info-box p {
        margin: 8px 0;
        color: #466a53;
        font-size: 14px;
    }

    .info-box b {
        color: #122619;
    }

.card {
    background: #fff;
    padding: 28px;
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(0,0,0,.06);
}

@media (max-width: 1200px) {
    .overview-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 700px) {
    .site-overview-page {
        padding: 14px;
    }

    .overview-header,
    .site-main-info {
        flex-direction: column;
        align-items: stretch;
    }

    .search-box {
        min-width: 100%;
        flex-direction: column;
    }

    .nav-buttons {
        justify-content: space-between;
    }

    .overview-grid {
        grid-template-columns: 1fr;
    }

    .site-main-info h1 {
        font-size: 26px;
    }
}

.dashboard-page {
    padding: 30px;
}

.dashboard-title {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 30px;
}

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 25px;
}

.dashboard-card, .dashboard-card-alert {
    display: block;
    text-decoration: none !important;
    color: inherit !important;
    background: white;
    border-radius: 24px;
    padding: 30px;
    box-shadow: 0 10px 25px rgba(0,0,0,.08);
    transition: all .25s ease;
}

.dashboard-card-alert {
    margin: 25px;
}

.dashboard-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0,0,0,.12);
    text-decoration: none !important;
    color: inherit !important;
}

.dashboard-card:visited,
.dashboard-card:active,
.dashboard-card:focus {
    text-decoration: none !important;
    color: inherit !important;
}

.card-icon {
    font-size: 48px;
    margin-bottom: 20px;
}

.card-title {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 10px;
    color: #000;
    text-decoration: none !important;
}

.card-desc {
    font-size: 15px;
    color: #608f71;
    text-decoration: none !important;
}

body.dark .dashboard-card {
    background: #1f3a29;
    color: white !important;
}

body.dark .card-title {
    color: white;
}

body.dark .card-desc {
    color: #cce0d3;
}

.dashboard-card-alert {
    margin-top: 30px;
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(10px);
    border: 1px solid #e3efe7;
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.06);
}

.dark .dashboard-card-alert {
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid #1f3a29;
}

.alert-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

    .alert-header h2 {
        font-size: 18px;
        font-weight: 600;
        color: #102919;
    }

.dark .alert-header h2 {
    color: #f1f9f4;
}

.alert-badge {
    background: #ef4444;
    color: white;
    font-size: 12px;
    padding: 4px 10px;
    border-radius: 999px;
    font-weight: bold;
}

.alert-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.alert-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border-radius: 12px;
    background: white;
    border: 1px solid #f1f9f4;
    transition: 0.2s;
}

.dark .alert-item {
    background: #102919;
    border: 1px solid #1f3a29;
}

.alert-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(0,0,0,0.08);
}

.alert-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

.alert-item.warning .alert-icon {
    background: #fef3c7;
}

.alert-item.danger .alert-icon {
    background: #fee2e2;
}

.alert-item.info .alert-icon {
    background: #ddfce8;
}

.alert-content {
    flex: 1;
}

.alert-title {
    font-weight: 600;
    font-size: 14px;
    color: #102919;
}

.dark .alert-title {
    color: #f1f9f4;
}

.alert-desc {
    font-size: 12px;
    color: #608f71;
}

.alert-time {
    font-size: 11px;
    color: #94b8a1;
}

.notification-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.78);
    backdrop-filter: blur(8px);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.notification-modal {
    width: min(900px, 100%);
    max-height: 90vh;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.35);
    display: flex;
    flex-direction: column;
}

.modal-header-custom {
    background: linear-gradient(135deg, #122619, #203628);
    color: white;
    padding: 30px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.modal-label {
    color: #9bf5bc;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1.4px;
}

.modal-header-custom h2 {
    margin: 8px 0;
    font-size: 34px;
    font-weight: 900;
}

.modal-header-custom p {
    margin: 0;
    color: #ceded4;
}

.modal-count {
    width: 62px;
    height: 62px;
    min-width: 62px;
    border-radius: 22px;
    background: #ef4444;
    color: white;
    font-size: 28px;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal-list {
    padding: 24px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.modal-alert-item {
    display: flex;
    gap: 16px;
    padding: 20px;
    border-radius: 24px;
    border: 1px solid #eef7f1;
    background: white;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}

    .modal-alert-item.warning {
        background: #fff7ed85;
        border-color: #fed7aa;
    }

    .modal-alert-item.danger {
        background: #fef2f285;
        border-color: #fecaca;
    }

    .modal-alert-item.info {
        background: #eff6ff85;
        border-color: #c4f9d7;
    }

    .modal-alert-item.read {
        background: #f8fafc85;
        opacity: 0.65;
    }

.modal-alert-icon {
    width: 54px;
    height: 54px;
    min-width: 54px;
    border-radius: 18px;
    background: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
}

.modal-alert-content {
    flex: 1;
}

.modal-alert-top {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

    .modal-alert-top h3 {
        margin: 0 0 8px;
        font-size: 21px;
        font-weight: 900;
    }

.modal-alert-content p {
    margin: 0 0 12px;
    line-height: 1.7;
}

.modal-alert-time {
    font-size: 13px;
    font-weight: 800;
}

.modal-alert-status {
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    height: fit-content;
}

    .modal-alert-status.unread {
        background: #fee2e2;
        color: #991b1b;
    }

    .modal-alert-status.read {
        background: #dcfce7;
        color: #166534;
    }

.read-btn {
    margin-top: 14px;
    border: none;
    background: #122619;
    color: white;
    padding: 11px 17px;
    border-radius: 14px;
    font-weight: 900;
    cursor: pointer;
}

    .read-btn:hover {
        background: #365240;
    }

.modal-footer-custom {
    border-top: 1px solid #e3ede7;
    padding: 20px 24px;
    background: white;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

    .modal-footer-custom span {
        color: #991b1b;
        font-weight: 900;
    }

.continue-btn {
    border: none;
    background: #2de370;
    color: white;
    padding: 13px 24px;
    border-radius: 16px;
    font-weight: 900;
    cursor: pointer;
}

    .continue-btn:hover {
        background: #24d164;
    }*/

/* =========================================================
   Location Section
========================================================= */

/*.location-section-card,
.location-section-card * {
    box-sizing: border-box;
}

.location-section-card {
    --location-primary: #137236;
    --location-primary-dark: #145b2e;
    --location-primary-soft: #ecfdf5;
    --location-accent: #f59e0b;
    --location-text: #102919;
    --location-muted: #608f71;
    --location-border: #e3efe7;
    --location-card: #ffffff;
    --location-box: #f8fcfa;
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 0;
    border: 1px solid var(--location-border);
    border-radius: 24px;
    background: var(--location-card);
    box-shadow: 0 18px 45px rgba(15, 23, 42, .08), 0 3px 10px rgba(15, 23, 42, .04);
}*/

/* =========================================================
   Main Header
========================================================= */

/*.location-section-header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    overflow: hidden;
    padding: 25px 28px;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    background: radial-gradient( circle at 90% 20%, rgba(255, 255, 255, .17), transparent 32% ), linear-gradient( 135deg, var(--location-primary-dark), var(--location-primary) );
    color: #ffffff;
}

    .location-section-header::before {
        content: "";
        position: absolute;
        top: -55px;
        right: 100px;
        width: 150px;
        height: 150px;
        border: 25px solid rgba(255, 255, 255, .05);
        border-radius: 50%;
    }

    .location-section-header::after {
        content: "";
        position: absolute;
        right: -35px;
        bottom: -70px;
        width: 180px;
        height: 180px;
        border: 30px solid rgba(245, 158, 11, .12);
        border-radius: 50%;
    }

    .location-section-header > div {
        position: relative;
        z-index: 2;
    }

.location-section-subtitle {
    display: block;
    margin-bottom: 6px;
    color: #a7f3d0;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.location-section-header h3 {
    margin: 0;
    color: #ffffff;
    font-size: 25px;
    font-weight: 850;
    letter-spacing: -.4px;
}

.location-section-header p {
    max-width: 600px;
    margin: 7px 0 0;
    color: rgba(255, 255, 255, .72);
    font-size: 13px;
    line-height: 1.6;
}

.location-header-icon {
    display: inline-flex;
    flex: 0 0 58px;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 18px;
    background: rgba(255, 255, 255, .12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15);
    color: #ffffff;
    font-size: 24px;
    backdrop-filter: blur(10px);
}*/

/* =========================================================
   Content Layout
========================================================= */

/*.location-content {
    display: grid;
    grid-template-columns: minmax(330px, .82fr) minmax(500px, 1.5fr);
    gap: 22px;
    padding: 24px;
    background: linear-gradient( 145deg, #f8fcfa, #ffffff );
}*/

/* =========================================================
   Form Card
========================================================= */

/*.location-form-card,
.location-map-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--location-border);
    border-radius: 19px;
    background: #ffffff;
    box-shadow: 0 8px 25px rgba(15, 23, 42, .05);
}

.location-form-card {
    align-self: start;
    padding: 20px;
}

    .location-form-card::before {
        content: "";
        display: block;
        width: 52px;
        height: 4px;
        margin: -20px 0 17px -20px;
        border-radius: 0 0 999px 0;
        background: linear-gradient( 90deg, var(--location-primary), #1bb152 );
    }

.location-form-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 20px;
}

    .location-form-header > div {
        min-width: 0;
    }

        .location-form-header > div > span {
            display: block;
            margin-bottom: 4px;
            color: var(--location-primary);
            font-size: 10px;
            font-weight: 850;
            letter-spacing: 1.2px;
            text-transform: uppercase;
        }

        .location-form-header > div > strong {
            display: block;
            color: var(--location-text);
            font-size: 17px;
            font-weight: 850;
        }

.location-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 11px;
    border: 1px solid #a7f3d0;
    border-radius: 999px;
    background: var(--location-primary-soft);
    color: #047857;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

    .location-status::before {
        content: "";
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: #10b981;
        box-shadow: 0 0 0 3px rgba(16, 185, 129, .15);
    }*/

/* =========================================================
   Form Fields
========================================================= */

/*.location-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.location-form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.location-full-width {
    grid-column: 1 / -1;
}

.location-form-group label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--location-text);
    font-size: 12px;
    font-weight: 750;
}

.location-field-icon {
    display: inline-flex;
    flex: 0 0 27px;
    align-items: center;
    justify-content: center;
    width: 27px;
    height: 27px;
    border-radius: 8px;
    background: var(--location-primary-soft);
    color: var(--location-primary);
    font-size: 11px;
}

.location-form-group input {
    width: 100%;
    min-width: 0;
    height: 49px;
    padding: 0 14px;
    border: 1px solid var(--location-border);
    border-radius: 13px;
    background: var(--location-box);
    color: var(--location-text);
    font-size: 13px;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease, transform .2s ease;
}

    .location-form-group input::placeholder {
        color: #94b8a1;
    }

    .location-form-group input:hover {
        border-color: #cce0d3;
        background: #ffffff;
    }

    .location-form-group input:focus {
        border-color: var(--location-primary);
        background: #ffffff;
        box-shadow: 0 0 0 4px rgba(15, 118, 110, .11);
        transform: translateY(-1px);
    }*/

/* =========================================================
   Search Input
========================================================= */

/*.location-search-wrapper {
    position: relative;
    display: flex;
    gap: 9px;
}

    .location-search-wrapper input {
        flex: 1;
        padding-right: 15px;
    }

.location-search-btn {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 105px;
    height: 49px;
    padding: 0 16px;
    border: none;
    border-radius: 13px;
    background: linear-gradient( 135deg, var(--location-primary), var(--location-primary-dark) );
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 8px 17px rgba(15, 118, 110, .2);
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

    .location-search-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 11px 22px rgba(15, 118, 110, .28);
        filter: brightness(1.04);
    }

    .location-search-btn:active {
        transform: translateY(0);
    }*/

/* =========================================================
   Helper Message
========================================================= */

/*.location-help {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-top: 17px;
    padding: 12px 13px;
    border: 1px solid #fde68a;
    border-radius: 12px;
    background: #fffbeb;
    color: #92400e;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.6;
}

    .location-help i {
        margin-top: 2px;
        color: var(--location-accent);
    }*/

/* =========================================================
   Map Card
========================================================= */

/*.location-map-card {
    display: flex;
    flex-direction: column;
}

.location-map-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 16px 18px;
    border-bottom: 1px solid var(--location-border);
    background: linear-gradient( 135deg, rgba(236, 253, 245, .72), rgba(255, 255, 255, 1) );
}

    .location-map-header > div:first-child {
        min-width: 0;
    }

.location-map-label {
    display: block;
    margin-bottom: 3px;
    color: var(--location-primary);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 1.3px;
    text-transform: uppercase;
}

.location-map-header strong {
    color: var(--location-text);
    font-size: 15px;
    font-weight: 850;
}

.location-coordinates {
    display: flex;
    align-items: center;
    gap: 7px;
}

    .location-coordinates > span {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        max-width: 150px;
        padding: 6px 9px;
        border: 1px solid var(--location-border);
        border-radius: 9px;
        background: #ffffff;
        color: var(--location-muted);
        font-size: 9px;
        font-weight: 750;
        white-space: nowrap;
    }

        .location-coordinates > span strong {
            max-width: 95px;
            overflow: hidden;
            color: var(--location-text);
            font-family: "Consolas", "Courier New", monospace;
            font-size: 10px;
            text-overflow: ellipsis;
        }*/

/* =========================================================
   Leaflet Map
========================================================= */

/*.location-map-wrapper {
    position: relative;
    min-height: 460px;
    overflow: hidden;
    background: #dce8e0;
}

    .location-map-wrapper .leaflet-map,
    #siteMap.leaflet-map {
        width: 100%;
        height: 460px;
        min-height: 460px;
        border: none;
        border-radius: 0;
        background: #e3efe7;
        z-index: 1;
    }

    .location-map-wrapper::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 400;
        border: 1px solid rgba(15, 118, 110, .08);
        pointer-events: none;
    }

.map-center-indicator {
    position: absolute;
    right: 16px;
    bottom: 16px;
    z-index: 500;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(15, 118, 110, .2);
    border-radius: 12px;
    background: rgba(255, 255, 255, .94);
    color: var(--location-primary);
    box-shadow: 0 8px 20px rgba(15, 23, 42, .16);
    backdrop-filter: blur(8px);
    pointer-events: none;
}*/

/* Leaflet Controls */

/*.location-map-wrapper .leaflet-control-zoom {
    overflow: hidden;
    border: none;
    border-radius: 11px;
    box-shadow: 0 7px 20px rgba(15, 23, 42, .16);
}

    .location-map-wrapper .leaflet-control-zoom a {
        width: 35px;
        height: 35px;
        border-bottom-color: var(--location-border);
        background: rgba(255, 255, 255, .95);
        color: var(--location-text);
        font-weight: 750;
        line-height: 35px;
    }

        .location-map-wrapper .leaflet-control-zoom a:hover {
            background: var(--location-primary-soft);
            color: var(--location-primary);
        }

.location-map-wrapper .leaflet-control-attribution {
    border-radius: 8px 0 0 0;
    background: rgba(255, 255, 255, .85);
    font-size: 9px;
    backdrop-filter: blur(5px);
}*/

/* =========================================================
   Dark Mode
========================================================= */

/*.dark .location-section-card {
    --location-text: #f8fcfa;
    --location-muted: #94b8a1;
    --location-border: #284a35;
    --location-card: #122c1c;
    --location-box: #183422;
    background: #122c1c;
}

.dark .location-content {
    background: linear-gradient( 145deg, #102919, #122c1c );
}

.dark .location-form-card,
.dark .location-map-card {
    background: #122c1c;
}

.dark .location-form-group input,
.dark .location-search-wrapper input {
    background: #183422;
    color: #f8fcfa;
}

    .dark .location-form-group input:hover,
    .dark .location-form-group input:focus {
        background: #1c3f29;
    }

.dark .location-map-header {
    background: linear-gradient( 135deg, rgba(15, 118, 110, .14), rgba(17, 28, 45, 1) );
}

.dark .location-coordinates > span {
    background: #183422;
}

.dark .location-help {
    border-color: rgba(245, 158, 11, .3);
    background: rgba(245, 158, 11, .09);
    color: #fcd34d;
}*/

/* =========================================================
   Tablet
========================================================= */

/*@media (max-width: 1050px) {
    .location-content {
        grid-template-columns: 1fr;
    }

    .location-form-card {
        align-self: stretch;
    }

    .location-map-wrapper,
    .location-map-wrapper .leaflet-map,
    #siteMap.leaflet-map {
        height: 420px;
        min-height: 420px;
    }
}*/

/* =========================================================
   Mobile
========================================================= */

/*@media (max-width: 700px) {
    .location-section-card {
        border-radius: 18px;
    }

    .location-section-header {
        padding: 20px;
    }

        .location-section-header h3 {
            font-size: 21px;
        }

        .location-section-header p {
            font-size: 12px;
        }

    .location-header-icon {
        flex-basis: 47px;
        width: 47px;
        height: 47px;
        border-radius: 14px;
        font-size: 19px;
    }

    .location-content {
        gap: 16px;
        padding: 15px;
    }

    .location-form-card,
    .location-map-card {
        border-radius: 16px;
    }

    .location-form-card {
        padding: 16px;
    }

        .location-form-card::before {
            margin: -16px 0 15px -16px;
        }

    .location-form-grid {
        grid-template-columns: 1fr;
    }

    .location-full-width {
        grid-column: auto;
    }

    .location-search-wrapper {
        flex-direction: column;
    }

    .location-search-btn {
        width: 100%;
    }

    .location-map-header {
        align-items: flex-start;
        flex-direction: column;
        padding: 15px;
    }

    .location-coordinates {
        width: 100%;
    }

        .location-coordinates > span {
            flex: 1;
            max-width: none;
        }

    .location-map-wrapper,
    .location-map-wrapper .leaflet-map,
    #siteMap.leaflet-map {
        height: 360px;
        min-height: 360px;
    }
}*/

/* =========================================================
   Very Small Screens
========================================================= */

/*@media (max-width: 420px) {
    .location-section-header {
        align-items: flex-start;
    }

    .location-header-icon {
        display: none;
    }

    .location-form-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .location-coordinates {
        flex-direction: column;
    }

        .location-coordinates > span {
            width: 100%;
        }

    .location-map-wrapper,
    .location-map-wrapper .leaflet-map,
    #siteMap.leaflet-map {
        height: 320px;
        min-height: 320px;
    }
}*/

/* =========================================================
   External Contacts Section
========================================================= */

/*.external-section-card,
.external-section-card * {
    box-sizing: border-box;
}

.external-section-card {
    --external-primary: #137236;
    --external-primary-dark: #145b2e;
    --external-primary-light: #1bb152;
    --external-primary-soft: #ecfdf5;
    --external-accent: #f59e0b;
    --external-danger: #dc2626;
    --external-danger-soft: #fef2f2;
    --external-text: var(--text, #102919);
    --external-muted: #608f71;
    --external-border: var(--border, #e3efe7);
    --external-card: var(--card, #ffffff);
    --external-box: var(--box, #f8fcfa);
    position: relative;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    padding: 0;
    border: 1px solid var(--external-border);
    border-radius: 22px;
    background: var(--external-card);
    box-shadow: 0 16px 42px rgba(15, 23, 42, .07), 0 3px 8px rgba(15, 23, 42, .03);
}*/

/* =========================================================
   Section Header
========================================================= */

/*.external-section-header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    overflow: hidden;
    padding: 25px 27px;
    background: radial-gradient( circle at 88% 20%, rgba(255, 255, 255, .16), transparent 30% ), linear-gradient( 135deg, var(--external-primary-dark), var(--external-primary) );
    color: #ffffff;
}

    .external-section-header::before {
        content: "";
        position: absolute;
        right: 125px;
        bottom: -90px;
        width: 185px;
        height: 185px;
        border: 30px solid rgba(255, 255, 255, .05);
        border-radius: 50%;
    }

    .external-section-header::after {
        content: "";
        position: absolute;
        top: -70px;
        right: -35px;
        width: 150px;
        height: 150px;
        border: 24px solid rgba(245, 158, 11, .1);
        border-radius: 50%;
    }

.external-section-heading,
.external-total-badge {
    position: relative;
    z-index: 1;
}

.external-section-heading {
    min-width: 0;
}

.external-section-eyebrow {
    display: block;
    margin-bottom: 6px;
    color: #a7f3d0;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.external-section-header h3 {
    margin: 0;
    color: #ffffff;
    font-size: 24px;
    font-weight: 850;
    letter-spacing: -.35px;
}

.external-section-header p {
    max-width: 650px;
    margin: 7px 0 0;
    color: rgba(255, 255, 255, .72);
    font-size: 13px;
    line-height: 1.65;
}

.external-total-badge {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 90px;
    min-height: 72px;
    padding: 10px 16px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 17px;
    background: rgba(255, 255, 255, .12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 8px 20px rgba(0, 0, 0, .08);
    backdrop-filter: blur(10px);
}

    .external-total-badge strong {
        color: #ffffff;
        font-size: 26px;
        font-weight: 850;
        line-height: 1;
    }

    .external-total-badge span {
        margin-top: 6px;
        color: rgba(255, 255, 255, .74);
        font-size: 9px;
        font-weight: 750;
        letter-spacing: .5px;
        text-transform: uppercase;
    }*/

/* =========================================================
   Content
========================================================= */

/*.external-contacts-content {
    padding: 24px;
    background: linear-gradient( 145deg, #f8fcfa, var(--external-card) );
}

.external-contacts-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    min-width: 0;
}*/

/* =========================================================
   Contact Card
========================================================= */

/*.external-contact-card {
    position: relative;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--external-border);
    border-radius: 19px;
    background: var(--external-card);
    box-shadow: 0 10px 28px rgba(15, 23, 42, .055), 0 2px 6px rgba(15, 23, 42, .025);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

    .external-contact-card::before {
        content: "";
        position: absolute;
        z-index: 3;
        top: 0;
        left: 0;
        width: 5px;
        height: 100%;
        background: #cce0d3;
    }

    .external-contact-card:hover {
        border-color: rgba(15, 118, 110, .3);
        box-shadow: 0 17px 38px rgba(15, 23, 42, .085), 0 3px 8px rgba(15, 23, 42, .03);
        transform: translateY(-2px);
    }

    .external-contact-card.external-primary-card {
        border-color: rgba(15, 118, 110, .38);
    }

        .external-contact-card.external-primary-card::before {
            background: linear-gradient( 180deg, var(--external-primary), var(--external-primary-light), var(--external-accent) );
        }*/

/* =========================================================
   Card Header
========================================================= */

/*.external-contact-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    border-bottom: 1px solid var(--external-border);
    background: linear-gradient( 135deg, var(--external-box), var(--external-card) );
}

.external-primary-card .external-contact-header {
    background: linear-gradient( 135deg, var(--external-primary-soft), var(--external-card) );
}

.external-contact-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

    .external-contact-heading > div {
        min-width: 0;
    }

.external-contact-number {
    display: inline-flex;
    flex: 0 0 42px;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    background: linear-gradient( 135deg, var(--external-primary), var(--external-primary-dark) );
    color: #ffffff;
    font-size: 14px;
    font-weight: 850;
    box-shadow: 0 7px 16px rgba(15, 118, 110, .2);
}

.external-contact-label {
    display: block;
    margin-bottom: 3px;
    color: var(--external-primary);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.external-contact-header strong {
    display: block;
    color: var(--external-text);
    font-size: 17px;
    font-weight: 850;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.external-contact-actions {
    flex: 0 0 auto;
}*/

/* =========================================================
   Required Badge
========================================================= */

/*.external-required-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 7px 11px;
    border: 1px solid #a7f3d0;
    border-radius: 999px;
    background: #ecfdf5;
    color: #047857;
    font-size: 10px;
    font-weight: 850;
    white-space: nowrap;
}

    .external-required-badge i {
        color: var(--external-accent);
        font-size: 10px;
    }*/

/* =========================================================
   Contact Form
========================================================= */

/*.external-contact-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    padding: 20px;
}

.external-form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

    .external-form-group.external-full-width {
        grid-column: 1 / -1;
    }

    .external-form-group label {
        display: flex;
        align-items: center;
        gap: 8px;
        color: var(--external-text);
        font-size: 12px;
        font-weight: 750;
    }

.external-field-icon {
    display: inline-flex;
    flex: 0 0 27px;
    align-items: center;
    justify-content: center;
    width: 27px;
    height: 27px;
    border-radius: 8px;
    background: var(--external-primary-soft);
    color: var(--external-primary);
    font-size: 10px;
}*/

/* =========================================================
   Inputs
========================================================= */

/*.external-contact-grid input,
.external-contact-grid select,
.external-contact-grid textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid var(--external-border);
    border-radius: 13px;
    background: var(--external-box);
    color: var(--external-text);
    font-family: inherit;
    font-size: 14px;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease, transform .2s ease;
}

.external-contact-grid input,
.external-contact-grid select {
    height: 50px;
    padding: 0 14px;
}

.external-contact-grid textarea {
    min-height: 115px;
    padding: 13px 14px;
    line-height: 1.6;
    resize: vertical;
}

    .external-contact-grid input::placeholder,
    .external-contact-grid textarea::placeholder {
        color: #94b8a1;
    }

    .external-contact-grid input:hover,
    .external-contact-grid select:hover,
    .external-contact-grid textarea:hover {
        border-color: #cce0d3;
        background: var(--external-card);
    }

    .external-contact-grid input:focus,
    .external-contact-grid select:focus,
    .external-contact-grid textarea:focus {
        border-color: var(--external-primary);
        background: var(--external-card);
        box-shadow: 0 0 0 4px rgba(15, 118, 110, .11);
        transform: translateY(-1px);
    }

.external-contact-select {
    cursor: pointer;
}*/

/* =========================================================
   Delete Button
========================================================= */

/*.external-delete-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 9px 14px;
    border: 1px solid #fecaca;
    border-radius: 11px;
    background: var(--external-danger-soft);
    color: var(--external-danger);
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
    transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

    .external-delete-btn i {
        font-size: 12px;
    }

    .external-delete-btn:hover {
        border-color: #fca5a5;
        background: #fee2e2;
        color: #b91c1c;
        box-shadow: 0 7px 16px rgba(220, 38, 38, .13);
        transform: translateY(-2px);
    }

    .external-delete-btn:active {
        transform: translateY(0);
    }*/

/* =========================================================
   Add Button
========================================================= */

/*.external-add-contact-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-height: 52px;
    margin-top: 20px;
    padding: 11px 18px;
    border: 1px dashed rgba(15, 118, 110, .48);
    border-radius: 14px;
    background: linear-gradient( 135deg, var(--external-primary-soft), var(--external-card) );
    color: var(--external-primary);
    font-family: inherit;
    font-size: 13px;
    font-weight: 850;
    cursor: pointer;
    transition: color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.external-add-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 27px;
    height: 27px;
    border-radius: 8px;
    background: var(--external-primary);
    color: #ffffff;
    font-size: 11px;
    transition: transform .2s ease, background .2s ease;
}

.external-add-contact-btn:hover {
    border-color: var(--external-primary);
    background: linear-gradient( 135deg, var(--external-primary), var(--external-primary-dark) );
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 118, 110, .21);
    transform: translateY(-2px);
}

    .external-add-contact-btn:hover .external-add-icon {
        background: rgba(255, 255, 255, .18);
        transform: rotate(90deg);
    }

.external-add-contact-btn:active {
    transform: translateY(0);
}*/

/* =========================================================
   Dark Mode
========================================================= */

/*.dark .external-section-card {
    --external-text: #f8fcfa;
    --external-muted: #94b8a1;
    --external-border: #274833;
    --external-card: #122c1c;
    --external-box: #183422;
}

.dark .external-contacts-content {
    background: linear-gradient( 145deg, #102919, #122c1c );
}

.dark .external-contact-header {
    background: linear-gradient( 135deg, #183422, #122c1c );
}

.dark .external-primary-card .external-contact-header {
    background: linear-gradient( 135deg, rgba(15, 118, 110, .15), #122c1c );
}

.dark .external-contact-grid input,
.dark .external-contact-grid select,
.dark .external-contact-grid textarea {
    background: #183422;
    color: #f8fcfa;
}

    .dark .external-contact-grid input:hover,
    .dark .external-contact-grid select:hover,
    .dark .external-contact-grid textarea:hover,
    .dark .external-contact-grid input:focus,
    .dark .external-contact-grid select:focus,
    .dark .external-contact-grid textarea:focus {
        background: #1d3f2a;
    }

.dark .external-add-contact-btn {
    background: linear-gradient( 135deg, rgba(15, 118, 110, .13), #122c1c );
}

.dark .external-required-badge {
    border-color: rgba(16, 185, 129, .3);
    background: rgba(16, 185, 129, .12);
    color: #6ee7b7;
}*/

/* =========================================================
   Tablet
========================================================= */

/*@media (max-width: 1100px) {
    .external-contact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}*/

/* =========================================================
   Mobile
========================================================= */

/*@media (max-width: 650px) {
    .external-section-card {
        border-radius: 18px;
    }

    .external-section-header {
        gap: 13px;
        padding: 19px 16px;
    }

        .external-section-header h3 {
            font-size: 20px;
        }

        .external-section-header p {
            display: none;
        }

    .external-total-badge {
        min-width: 67px;
        min-height: 58px;
        padding: 8px 10px;
        border-radius: 13px;
    }

        .external-total-badge strong {
            font-size: 20px;
        }

        .external-total-badge span {
            font-size: 8px;
        }

    .external-contacts-content {
        padding: 15px;
    }

    .external-contacts-list {
        gap: 16px;
    }

    .external-contact-card {
        border-radius: 16px;
    }

        .external-contact-card:hover {
            transform: none;
        }

    .external-contact-header {
        align-items: flex-start;
        gap: 10px;
        padding: 15px;
    }

    .external-contact-heading {
        gap: 9px;
    }

    .external-contact-number {
        flex-basis: 37px;
        width: 37px;
        height: 37px;
        border-radius: 11px;
        font-size: 12px;
    }

    .external-contact-header strong {
        font-size: 15px;
    }

    .external-required-badge {
        padding: 6px 8px;
        font-size: 0;
    }

        .external-required-badge i {
            font-size: 11px;
        }

    .external-delete-btn {
        min-width: 38px;
        min-height: 38px;
        padding: 8px;
        font-size: 0;
    }

        .external-delete-btn i {
            font-size: 12px;
        }

    .external-contact-grid {
        grid-template-columns: 1fr;
        gap: 13px;
        padding: 15px;
    }

    .external-form-group.external-full-width {
        grid-column: auto;
    }

    .external-contact-grid input,
    .external-contact-grid select {
        min-height: 49px;
        font-size: 16px;
    }

    .external-contact-grid textarea {
        min-height: 105px;
        font-size: 16px;
    }

    .external-add-contact-btn {
        min-height: 50px;
        margin-top: 16px;
    }
}*/

/* =========================================================
   Very Small Screens
========================================================= */

/*@media (max-width: 390px) {
    .external-contact-number {
        display: none;
    }

    .external-section-header {
        gap: 9px;
    }

    .external-total-badge {
        min-width: 60px;
    }
}*/

/* =========================================================
   Duties Page
========================================================= */

/*.duties-page,
.duties-page * {
    box-sizing: border-box;
}

.duties-page {
    --duties-primary: #137236;
    --duties-primary-dark: #145b2e;
    --duties-primary-soft: #ecfdf5;
    --duties-secondary: #2de370;
    --duties-secondary-soft: #f0fef5;
    --duties-accent: #f59e0b;
    --duties-danger: #dc2626;
    --duties-text: var(--text, #102919);
    --duties-muted: #608f71;
    --duties-border: var(--border, #e3efe7);
    --duties-card: var(--card, #ffffff);
    --duties-box: var(--box, #f8fcfa);
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
    min-width: 0;
}*/

/* =========================================================
   Main Panels
========================================================= */

/*.duties-panel {
    position: relative;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    padding: 25px;
    border: 1px solid var(--duties-border);
    border-radius: 22px;
    background: linear-gradient( 145deg, var(--duties-card), color-mix(in srgb, var(--duties-card) 93%, #f8fcfa) );
    box-shadow: 0 14px 38px rgba(15, 23, 42, .07), 0 3px 8px rgba(15, 23, 42, .03);
}

    .duties-panel::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 4px;
        background: linear-gradient( 90deg, var(--duties-primary), #1bb152, var(--duties-accent) );
    }*/

/* =========================================================
   Panel Header
========================================================= */

/*.duties-panel-header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: -25px -25px 25px;
    padding: 24px 25px;
    border-bottom: 1px solid var(--duties-border);
    background: radial-gradient( circle at 90% 15%, rgba(255, 255, 255, .12), transparent 30% ), linear-gradient( 135deg, var(--duties-primary-dark), var(--duties-primary) );
    color: #ffffff;
}

    .duties-panel-header::after {
        content: "";
        position: absolute;
        right: 120px;
        bottom: -80px;
        width: 170px;
        height: 170px;
        border: 28px solid rgba(255, 255, 255, .05);
        border-radius: 50%;
        pointer-events: none;
    }

    .duties-panel-header > div {
        position: relative;
        z-index: 1;
    }

        .duties-panel-header > div:first-child {
            min-width: 0;
        }

.duties-eyebrow {
    display: block;
    margin-bottom: 6px;
    color: #a7f3d0;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 1.7px;
    text-transform: uppercase;
}

.duties-panel-header h3 {
    margin: 0 0 6px;
    color: #ffffff;
    font-size: 24px;
    font-weight: 850;
    letter-spacing: -.35px;
}

.duties-panel-header p {
    max-width: 650px;
    margin: 0;
    color: rgba(255, 255, 255, .72);
    font-size: 13px;
    line-height: 1.65;
}*/

/* =========================================================
   Header Summary Cards
========================================================= */

/*.visits-summary,
.active-days-summary {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 95px;
    min-height: 76px;
    padding: 11px 17px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 18px;
    background: rgba(255, 255, 255, .12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 8px 22px rgba(0, 0, 0, .08);
    backdrop-filter: blur(10px);
}

    .visits-summary strong,
    .active-days-summary strong {
        color: #ffffff;
        font-size: 27px;
        font-weight: 850;
        line-height: 1;
    }

    .visits-summary span,
    .active-days-summary span {
        margin-top: 6px;
        color: rgba(255, 255, 255, .75);
        font-size: 10px;
        font-weight: 750;
        letter-spacing: .4px;
        text-transform: uppercase;
    }*/

/* =========================================================
   Service Information Form
========================================================= */

/*.service-form-grid {
    display: grid;
    grid-template-columns: minmax(240px, 1.5fr) repeat(3, minmax(155px, 1fr));
    gap: 16px;
}

.duties-form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

    .duties-form-group label {
        display: flex;
        align-items: center;
        gap: 7px;
        color: var(--duties-text);
        font-size: 12px;
        font-weight: 750;
    }

        .duties-form-group label::before {
            content: "";
            flex: 0 0 6px;
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: var(--duties-primary);
            box-shadow: 0 0 0 3px rgba(15, 118, 110, .1);
        }

    .duties-form-group input,
    .duties-form-group select {
        width: 100%;
        min-width: 0;
        height: 50px;
        padding: 0 14px;
        border: 1px solid var(--duties-border);
        border-radius: 13px;
        background: var(--duties-box);
        color: var(--duties-text);
        font-family: inherit;
        font-size: 14px;
        outline: none;
        transition: border-color .2s ease, box-shadow .2s ease, background .2s ease, transform .2s ease;
    }

    .duties-form-group select {
        cursor: pointer;
    }

    .duties-form-group input::placeholder {
        color: #94b8a1;
    }

    .duties-form-group input:hover,
    .duties-form-group select:hover {
        border-color: #cce0d3;
        background: var(--duties-card);
    }

    .duties-form-group input:focus,
    .duties-form-group select:focus {
        border-color: var(--duties-primary);
        background: var(--duties-card);
        box-shadow: 0 0 0 4px rgba(15, 118, 110, .11);
        transform: translateY(-1px);
    }*/

/* =========================================================
   Patrol Visits
========================================================= */

/*.patrol-visits-section {
    position: relative;
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--duties-border);
}

.subsection-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 17px;
}

    .subsection-header > div {
        position: relative;
        padding-left: 14px;
    }

        .subsection-header > div::before {
            content: "";
            position: absolute;
            top: 2px;
            left: 0;
            width: 4px;
            height: calc(100% - 4px);
            border-radius: 999px;
            background: var(--duties-primary);
        }

    .subsection-header h4 {
        margin: 0 0 4px;
        color: var(--duties-text);
        font-size: 18px;
        font-weight: 850;
    }

    .subsection-header p {
        margin: 0;
        color: var(--duties-muted);
        font-size: 12px;
    }

.visit-count-badge {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 12px;
    border: 1px solid #c4f9d7;
    border-radius: 999px;
    background: var(--duties-secondary-soft);
    color: #24d164;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

    .visit-count-badge::before {
        content: "";
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: var(--duties-secondary);
        box-shadow: 0 0 0 3px rgba(22, 163, 74, .13);
    }*/

/* =========================================================
   Visit Cards
========================================================= */

/*.visits-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px;
}

.visit-time-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 13px;
    overflow: hidden;
    border: 1px solid var(--duties-border);
    border-radius: 15px;
    background: var(--duties-box);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

    .visit-time-card:hover {
        border-color: rgba(15, 118, 110, .35);
        background: var(--duties-primary-soft);
        box-shadow: 0 8px 20px rgba(15, 118, 110, .08);
        transform: translateY(-2px);
    }

.visit-number {
    flex: 0 0 39px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 39px;
    height: 39px;
    border-radius: 12px;
    background: linear-gradient( 135deg, var(--duties-primary), var(--duties-primary-dark) );
    color: #ffffff;
    font-size: 13px;
    font-weight: 850;
    box-shadow: 0 6px 14px rgba(15, 118, 110, .22);
}

.visit-time-content {
    flex: 1;
    min-width: 0;
}

    .visit-time-content label {
        display: block;
        margin-bottom: 6px;
        color: var(--duties-muted);
        font-size: 10px;
        font-weight: 750;
    }

    .visit-time-content input {
        width: 100%;
        min-width: 0;
        height: 39px;
        padding: 0 10px;
        border: 1px solid var(--duties-border);
        border-radius: 9px;
        background: var(--duties-card);
        color: var(--duties-text);
        font-family: inherit;
        outline: none;
        transition: border-color .2s ease, box-shadow .2s ease;
    }

        .visit-time-content input:focus {
            border-color: var(--duties-primary);
            box-shadow: 0 0 0 3px rgba(15, 118, 110, .1);
        }*/

/* =========================================================
   Empty Visits
========================================================= */

/*.empty-visits {
    position: relative;
    padding: 52px 26px 25px;
    border: 1px dashed #cce0d3;
    border-radius: 15px;
    background: linear-gradient( 145deg, var(--duties-box), var(--duties-card) );
    color: var(--duties-muted);
    text-align: center;
    font-size: 13px;
}

    .empty-visits::before {
        content: "⏱";
        position: absolute;
        top: 15px;
        left: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 31px;
        height: 31px;
        border-radius: 10px;
        background: var(--duties-primary-soft);
        color: var(--duties-primary);
        font-size: 16px;
        transform: translateX(-50%);
    }*/

/* =========================================================
   Service Days Grid
========================================================= */

/*.days-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
}

.day-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 165px;
    overflow: hidden;
    border: 1px solid var(--duties-border);
    border-radius: 17px;
    background: var(--duties-card);
    box-shadow: 0 5px 15px rgba(15, 23, 42, .035);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

    .day-card:hover {
        border-color: #cce0d3;
        box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
        transform: translateY(-3px);
    }

    .day-card.active {
        border-color: rgba(15, 118, 110, .45);
        box-shadow: 0 12px 28px rgba(15, 118, 110, .1), inset 0 0 0 1px rgba(15, 118, 110, .04);
    }

        .day-card.active::before {
            content: "";
            position: absolute;
            z-index: 2;
            top: 0;
            left: 0;
            width: 100%;
            height: 4px;
            background: linear-gradient( 90deg, var(--duties-primary), #1bb152 );
        }*/

/* =========================================================
   Day Header
========================================================= */

/*.day-card-header {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 61px;
    padding: 15px;
    border-bottom: 1px solid var(--duties-border);
    background: var(--duties-box);
    cursor: pointer;
    user-select: none;
    transition: background .2s ease;
}

    .day-card-header:hover {
        background: color-mix(in srgb, var(--duties-box) 85%, #ecfdf5);
    }

.day-card.active .day-card-header {
    background: linear-gradient( 135deg, var(--duties-primary-soft), var(--duties-card) );
}*/

/* =========================================================
   Custom Checkbox
========================================================= */

/*.day-checkbox {
    position: relative;
    flex: 0 0 23px;
    width: 23px;
    height: 23px;
}

    .day-checkbox input {
        position: absolute;
        width: 1px;
        height: 1px;
        opacity: 0;
    }

.day-checkbox-design {
    position: absolute;
    inset: 0;
    border: 2px solid #94b8a1;
    border-radius: 7px;
    background: var(--duties-card);
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.day-checkbox input:checked + .day-checkbox-design {
    border-color: var(--duties-primary);
    background: var(--duties-primary);
    transform: scale(1.04);
}

    .day-checkbox input:checked + .day-checkbox-design::after {
        content: "";
        position: absolute;
        top: 3px;
        left: 7px;
        width: 6px;
        height: 11px;
        border: solid #ffffff;
        border-width: 0 2px 2px 0;
        transform: rotate(45deg);
    }*/

/* =========================================================
   Day Name and Status
========================================================= */

/*.day-name {
    flex: 1;
    min-width: 0;
    color: var(--duties-text);
    font-size: 14px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.day-status {
    flex: 0 0 auto;
    padding: 5px 9px;
    border: 1px solid var(--duties-border);
    border-radius: 999px;
    background: #f1f9f4;
    color: #608f71;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .3px;
    text-transform: uppercase;
}

.day-card.active .day-status {
    border-color: #a7f3d0;
    background: var(--duties-primary-soft);
    color: #047857;
}*/

/* =========================================================
   Day Options
========================================================= */

/*.day-options {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 14px;
    padding: 15px;
}

.day-duty-row {
    display: flex;
    flex-direction: column;
    gap: 9px;
    padding: 11px;
    border: 1px solid var(--duties-border);
    border-radius: 12px;
    background: var(--duties-box);
}

.option-checkbox {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--duties-text);
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    user-select: none;
}

    .option-checkbox input {
        width: 17px;
        height: 17px;
        margin: 0;
        accent-color: var(--duties-primary);
        cursor: pointer;
    }

.day-time-input {
    width: 100%;
    height: 41px;
    padding: 0 11px;
    border: 1px solid var(--duties-border);
    border-radius: 10px;
    background: var(--duties-card);
    color: var(--duties-text);
    font-family: inherit;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

    .day-time-input:focus {
        border-color: var(--duties-primary);
        box-shadow: 0 0 0 3px rgba(15, 118, 110, .1);
    }*/

/* =========================================================
   Notes
========================================================= */

/*.day-notes {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-top: auto;
}

    .day-notes label {
        color: var(--duties-muted);
        font-size: 11px;
        font-weight: 750;
    }

    .day-notes textarea {
        width: 100%;
        min-height: 78px;
        padding: 11px;
        border: 1px solid var(--duties-border);
        border-radius: 11px;
        background: var(--duties-box);
        color: var(--duties-text);
        font-family: inherit;
        font-size: 12px;
        line-height: 1.55;
        resize: vertical;
        outline: none;
        transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
    }

        .day-notes textarea::placeholder {
            color: #94b8a1;
        }

        .day-notes textarea:hover {
            background: var(--duties-card);
        }

        .day-notes textarea:focus {
            border-color: var(--duties-primary);
            background: var(--duties-card);
            box-shadow: 0 0 0 3px rgba(15, 118, 110, .1);
        }*/

/* =========================================================
   Inactive Day
========================================================= */

/*.day-inactive-message {
    position: relative;
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    min-height: 95px;
    padding: 43px 16px 16px;
    color: #94b8a1;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
}

    .day-inactive-message::before {
        content: "–";
        position: absolute;
        top: 17px;
        left: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 25px;
        height: 25px;
        border-radius: 8px;
        background: #f1f9f4;
        color: #94b8a1;
        font-size: 17px;
        font-weight: 800;
        transform: translateX(-50%);
    }*/

/* =========================================================
   Dark Mode
========================================================= */

/*.dark .duties-page {
    --duties-text: #f8fcfa;
    --duties-muted: #94b8a1;
    --duties-border: #274833;
    --duties-card: #122c1c;
    --duties-box: #183422;
}

.dark .duties-panel {
    background: linear-gradient( 145deg, #122c1c, #102919 );
}

.dark .duties-form-group input,
.dark .duties-form-group select,
.dark .visit-time-content input,
.dark .day-time-input,
.dark .day-notes textarea {
    background: #183422;
    color: #f8fcfa;
}

    .dark .duties-form-group input:hover,
    .dark .duties-form-group select:hover,
    .dark .day-notes textarea:hover {
        background: #1d3f2a;
    }

.dark .day-status {
    border-color: #345440;
    background: #1f3a29;
    color: #94b8a1;
}

.dark .day-inactive-message::before {
    background: #1f3a29;
}

.dark .visit-count-badge {
    border-color: rgba(34, 197, 94, .3);
    background: rgba(22, 163, 74, .12);
    color: #9bf5bc;
}*/

/* =========================================================
   Smaller Desktop
========================================================= */

/*@media (max-width: 1200px) {
    .service-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .visits-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .days-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}*/

/* =========================================================
   Tablet
========================================================= */

/*@media (max-width: 900px) {
    .duties-panel {
        padding: 20px;
        border-radius: 19px;
    }

    .duties-panel-header {
        margin: -20px -20px 22px;
        padding: 22px 20px;
    }

    .visits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .days-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}*/

/* =========================================================
   Mobile
========================================================= */

/*@media (max-width: 600px) {
    .duties-page {
        gap: 17px;
    }

    .duties-panel {
        padding: 14px;
        border-radius: 17px;
    }

    .duties-panel-header {
        align-items: center;
        gap: 12px;
        margin: -14px -14px 18px;
        padding: 18px 14px;
    }

        .duties-panel-header::after {
            display: none;
        }

        .duties-panel-header h3 {
            font-size: 19px;
        }

        .duties-panel-header p {
            display: none;
        }

    .duties-eyebrow {
        font-size: 9px;
    }

    .visits-summary,
    .active-days-summary {
        min-width: 68px;
        min-height: 59px;
        padding: 8px 10px;
        border-radius: 13px;
    }

        .visits-summary strong,
        .active-days-summary strong {
            font-size: 20px;
        }

        .visits-summary span,
        .active-days-summary span {
            font-size: 8px;
        }

    .service-form-grid {
        grid-template-columns: 1fr;
        gap: 13px;
    }

    .duties-form-group input,
    .duties-form-group select {
        min-height: 49px;
        font-size: 16px;
    }

    .patrol-visits-section {
        margin-top: 22px;
        padding-top: 19px;
    }

    .subsection-header {
        align-items: flex-start;
    }

        .subsection-header h4 {
            font-size: 16px;
        }

        .subsection-header p {
            display: none;
        }

    .visits-grid {
        grid-template-columns: 1fr;
    }

    .visit-time-card {
        padding: 12px;
    }

        .visit-time-card:hover {
            transform: none;
        }

    .days-grid {
        grid-template-columns: 1fr;
    }

    .day-card {
        min-height: auto;
        border-radius: 15px;
    }

        .day-card:hover {
            transform: none;
        }

    .day-card-header {
        min-height: 58px;
        padding: 13px;
    }

    .day-options {
        padding: 13px;
    }

    .day-inactive-message {
        min-height: 65px;
        padding-top: 42px;
    }

    .day-time-input,
    .day-notes textarea {
        font-size: 16px;
    }
}*/

/* =========================================================
   Very Small Screens
========================================================= */

/*@media (max-width: 380px) {
    .duties-panel-header {
        align-items: flex-start;
    }

    .visits-summary,
    .active-days-summary {
        min-width: 61px;
    }

    .visit-count-badge {
        padding: 6px 9px;
        font-size: 9px;
    }
}*/

/* =========================================================
   Contacts Section
========================================================= */

/*.contacts-section-card,
.contacts-section-card * {
    box-sizing: border-box;
}

.contacts-section-card {
    --contact-primary: #137236;
    --contact-primary-dark: #145b2e;
    --contact-primary-soft: #ecfdf5;
    --contact-accent: #f59e0b;
    --contact-danger: #dc2626;
    --contact-danger-soft: #fef2f2;
    --contact-text: var(--text, #102919);
    --contact-muted: #608f71;
    --contact-border: var(--border, #e3efe7);
    --contact-card: var(--card, #ffffff);
    --contact-box: var(--box, #f8fcfa);
    position: relative;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    padding: 0;
    border: 1px solid var(--contact-border);
    border-radius: 22px;
    background: var(--contact-card);
    box-shadow: 0 15px 40px rgba(15, 23, 42, .07), 0 3px 8px rgba(15, 23, 42, .03);
}*/

/* =========================================================
   Section Header
========================================================= */

/*.contacts-section-header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    overflow: hidden;
    padding: 24px 26px;
    background: radial-gradient( circle at 90% 20%, rgba(255, 255, 255, .16), transparent 30% ), linear-gradient( 135deg, var(--contact-primary-dark), var(--contact-primary) );
    color: #ffffff;
}

    .contacts-section-header::before {
        content: "";
        position: absolute;
        right: 120px;
        bottom: -85px;
        width: 180px;
        height: 180px;
        border: 30px solid rgba(255, 255, 255, .05);
        border-radius: 50%;
    }

    .contacts-section-header > div {
        position: relative;
        z-index: 1;
    }

.contacts-section-eyebrow {
    display: block;
    margin-bottom: 6px;
    color: #a7f3d0;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.contacts-section-header h3 {
    margin: 0;
    color: #ffffff;
    font-size: 24px;
    font-weight: 850;
    letter-spacing: -.3px;
}

.contacts-section-header p {
    max-width: 620px;
    margin: 7px 0 0;
    color: rgba(255, 255, 255, .72);
    font-size: 13px;
    line-height: 1.6;
}

.contacts-total-badge {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 88px;
    min-height: 70px;
    padding: 10px 15px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 17px;
    background: rgba(255, 255, 255, .12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12);
    backdrop-filter: blur(10px);
}

    .contacts-total-badge strong {
        color: #ffffff;
        font-size: 25px;
        font-weight: 850;
        line-height: 1;
    }

    .contacts-total-badge span {
        margin-top: 6px;
        color: rgba(255, 255, 255, .72);
        font-size: 9px;
        font-weight: 750;
        letter-spacing: .5px;
        text-transform: uppercase;
    }*/

/* =========================================================
   Contacts List
========================================================= */

/*.contacts-editor-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    min-width: 0;
    padding: 24px;
    background: linear-gradient( 145deg, #f8fcfa, var(--contact-card) );
}*/

/* =========================================================
   Contact Card
========================================================= */

/*.contact-editor-card {
    position: relative;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--contact-border);
    border-radius: 19px;
    background: var(--contact-card);
    box-shadow: 0 10px 28px rgba(15, 23, 42, .055), 0 2px 5px rgba(15, 23, 42, .025);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

    .contact-editor-card::before {
        content: "";
        position: absolute;
        z-index: 3;
        top: 0;
        left: 0;
        width: 5px;
        height: 100%;
        background: #cce0d3;
    }

    .contact-editor-card:hover {
        border-color: rgba(15, 118, 110, .3);
        box-shadow: 0 17px 36px rgba(15, 23, 42, .08), 0 3px 7px rgba(15, 23, 42, .03);
        transform: translateY(-2px);
    }

    .contact-editor-card.primary-contact-card {
        border-color: rgba(15, 118, 110, .35);
    }

        .contact-editor-card.primary-contact-card::before {
            background: linear-gradient( 180deg, var(--contact-primary), #1bb152 );
        }*/

/* =========================================================
   Contact Card Header
========================================================= */

/*.contact-editor-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    border-bottom: 1px solid var(--contact-border);
    background: linear-gradient( 135deg, var(--contact-box), var(--contact-card) );
}

.primary-contact-card .contact-editor-header {
    background: linear-gradient( 135deg, var(--contact-primary-soft), var(--contact-card) );
}

.contact-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

    .contact-heading > div {
        min-width: 0;
    }

.contact-index {
    display: inline-flex;
    flex: 0 0 42px;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    background: linear-gradient( 135deg, var(--contact-primary), var(--contact-primary-dark) );
    color: #ffffff;
    font-size: 14px;
    font-weight: 850;
    box-shadow: 0 7px 16px rgba(15, 118, 110, .2);
}

.contact-card-label {
    display: block;
    margin-bottom: 3px;
    color: var(--contact-primary);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.contact-editor-header strong {
    display: block;
    color: var(--contact-text);
    font-size: 17px;
    font-weight: 850;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.contact-header-actions {
    flex: 0 0 auto;
}*/

/* =========================================================
   Required Badge
========================================================= */

/*.primary-contact-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 7px 11px;
    border: 1px solid #a7f3d0;
    border-radius: 999px;
    background: #ecfdf5;
    color: #047857;
    font-size: 10px;
    font-weight: 850;
    white-space: nowrap;
}

    .primary-contact-badge i {
        color: var(--contact-accent);
        font-size: 10px;
    }*/

/* =========================================================
   Form Grid
========================================================= */

/*.contact-form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    padding: 20px;
}

.contact-form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

    .contact-form-group label {
        display: flex;
        align-items: center;
        gap: 8px;
        color: var(--contact-text);
        font-size: 12px;
        font-weight: 750;
    }

.contact-field-icon {
    display: inline-flex;
    flex: 0 0 27px;
    align-items: center;
    justify-content: center;
    width: 27px;
    height: 27px;
    border-radius: 8px;
    background: var(--contact-primary-soft);
    color: var(--contact-primary);
    font-size: 10px;
}*/

/* =========================================================
   Inputs
========================================================= */

/*.contact-form-grid input,
.contact-form-grid select {
    width: 100%;
    min-width: 0;
    height: 50px;
    padding: 0 14px;
    border: 1px solid var(--contact-border);
    border-radius: 13px;
    background: var(--contact-box);
    color: var(--contact-text);
    font-family: inherit;
    font-size: 14px;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease, transform .2s ease;
}

    .contact-form-grid input::placeholder {
        color: #94b8a1;
    }

    .contact-form-grid input:hover,
    .contact-form-grid select:hover {
        border-color: #cce0d3;
        background: var(--contact-card);
    }

    .contact-form-grid input:focus,
    .contact-form-grid select:focus {
        border-color: var(--contact-primary);
        background: var(--contact-card);
        box-shadow: 0 0 0 4px rgba(15, 118, 110, .11);
        transform: translateY(-1px);
    }

.contact-form-grid select {
    cursor: pointer;
}

    .contact-form-grid select:disabled {
        border-color: #dcebe1;
        background: #eef7f1;
        color: #608f71;
        cursor: not-allowed;
        opacity: .9;
    }*/

/* =========================================================
   Delete Button
========================================================= */

/*.delete-contact-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 9px 14px;
    border: 1px solid #fecaca;
    border-radius: 11px;
    background: var(--contact-danger-soft);
    color: var(--contact-danger);
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
    transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

    .delete-contact-btn:hover {
        border-color: #fca5a5;
        background: #fee2e2;
        color: #b91c1c;
        box-shadow: 0 7px 16px rgba(220, 38, 38, .13);
        transform: translateY(-2px);
    }

    .delete-contact-btn:active {
        transform: translateY(0);
    }*/

/* =========================================================
   Add Contact Button
========================================================= */

/*.add-contact-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: calc(100% - 48px);
    min-height: 52px;
    margin: 0 24px 24px;
    padding: 11px 18px;
    border: 1px dashed rgba(15, 118, 110, .48);
    border-radius: 14px;
    background: linear-gradient( 135deg, var(--contact-primary-soft), var(--contact-card) );
    color: var(--contact-primary);
    font-family: inherit;
    font-size: 13px;
    font-weight: 850;
    cursor: pointer;
    transition: color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.add-contact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 27px;
    height: 27px;
    border-radius: 8px;
    background: var(--contact-primary);
    color: #ffffff;
    font-size: 11px;
    transition: transform .2s ease, background .2s ease;
}

.add-contact-btn:hover {
    border-color: var(--contact-primary);
    background: linear-gradient( 135deg, var(--contact-primary), var(--contact-primary-dark) );
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 118, 110, .21);
    transform: translateY(-2px);
}

    .add-contact-btn:hover .add-contact-icon {
        background: rgba(255, 255, 255, .18);
        transform: rotate(90deg);
    }

.add-contact-btn:active {
    transform: translateY(0);
}*/

/* =========================================================
   Dark Mode
========================================================= */

/*.dark .contacts-section-card {
    --contact-text: #f8fcfa;
    --contact-muted: #94b8a1;
    --contact-border: #274833;
    --contact-card: #122c1c;
    --contact-box: #183422;
}

.dark .contacts-editor-list {
    background: linear-gradient( 145deg, #102919, #122c1c );
}

.dark .contact-editor-header {
    background: linear-gradient( 135deg, #183422, #122c1c );
}

.dark .primary-contact-card .contact-editor-header {
    background: linear-gradient( 135deg, rgba(15, 118, 110, .15), #122c1c );
}

.dark .contact-form-grid input,
.dark .contact-form-grid select {
    background: #183422;
    color: #f8fcfa;
}

    .dark .contact-form-grid input:hover,
    .dark .contact-form-grid select:hover,
    .dark .contact-form-grid input:focus,
    .dark .contact-form-grid select:focus {
        background: #1d3f2a;
    }

    .dark .contact-form-grid select:disabled {
        background: #1f3a29;
        color: #94b8a1;
    }

.dark .add-contact-btn {
    background: linear-gradient( 135deg, rgba(15, 118, 110, .13), #122c1c );
}

.dark .primary-contact-badge {
    border-color: rgba(16, 185, 129, .3);
    background: rgba(16, 185, 129, .12);
    color: #6ee7b7;
}*/

/* =========================================================
   Tablet
========================================================= */

/*@media (max-width: 950px) {
    .contact-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}*/

/* =========================================================
   Mobile
========================================================= */

/*@media (max-width: 650px) {
    .contacts-section-card {
        border-radius: 18px;
    }

    .contacts-section-header {
        padding: 19px 16px;
    }

        .contacts-section-header h3 {
            font-size: 20px;
        }

        .contacts-section-header p {
            display: none;
        }

    .contacts-total-badge {
        min-width: 67px;
        min-height: 58px;
        padding: 8px 10px;
        border-radius: 13px;
    }

        .contacts-total-badge strong {
            font-size: 20px;
        }

        .contacts-total-badge span {
            font-size: 8px;
        }

    .contacts-editor-list {
        gap: 16px;
        padding: 15px;
    }

    .contact-editor-card {
        border-radius: 16px;
    }

        .contact-editor-card:hover {
            transform: none;
        }

    .contact-editor-header {
        align-items: flex-start;
        padding: 15px;
    }

    .contact-heading {
        gap: 9px;
    }

    .contact-index {
        flex-basis: 37px;
        width: 37px;
        height: 37px;
        border-radius: 11px;
        font-size: 12px;
    }

    .contact-editor-header strong {
        font-size: 15px;
    }

    .primary-contact-badge {
        padding: 6px 8px;
        font-size: 0;
    }

        .primary-contact-badge i {
            font-size: 11px;
        }

    .delete-contact-btn {
        min-width: 38px;
        min-height: 38px;
        padding: 8px;
        font-size: 0;
    }

        .delete-contact-btn i {
            font-size: 12px;
        }

    .contact-form-grid {
        grid-template-columns: 1fr;
        gap: 13px;
        padding: 15px;
    }

        .contact-form-grid input,
        .contact-form-grid select {
            min-height: 49px;
            font-size: 16px;
        }

    .add-contact-btn {
        width: calc(100% - 30px);
        min-height: 50px;
        margin: 0 15px 15px;
    }
}*/

/* =========================================================
   Very Small Screens
========================================================= */

/*@media (max-width: 390px) {
    .contacts-section-header {
        gap: 10px;
    }

    .contacts-total-badge {
        min-width: 60px;
    }

    .contact-editor-header {
        gap: 10px;
    }

    .contact-index {
        display: none;
    }
}

* {
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    max-width: 100%;
    margin: 0;
    overflow-x: hidden;
}

body {
    background: #f4fbf7;
}

.create-report-page {
    width: 100%;
    min-height: 100vh;
    padding: 28px;
    background: linear-gradient(135deg, #f8fcfa, #f0fdf5);
    overflow-x: hidden;
}

.report-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    min-width: 0;
    margin-bottom: 26px;
    padding: 32px;
    border-radius: 28px;
    color: white;
    background: linear-gradient(135deg, #102919, #24a955);
    box-shadow: 0 20px 45px rgba(15, 23, 42, 0.22);
}

    .report-hero > div {
        min-width: 0;
    }

.hero-label {
    display: inline-block;
    color: #9bf5bc;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
}

.report-hero h1 {
    margin: 8px 0;
    font-size: 38px;
    font-weight: 900;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.report-hero p {
    margin: 0;
    color: #ddfce8;
    line-height: 1.6;
}

.back-btn {
    flex-shrink: 0;
    min-height: 44px;
    padding: 12px 18px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 14px;
    color: white;
    background: rgba(255, 255, 255, 0.14);
    cursor: pointer;
    font-weight: 700;
    transition: 0.2s ease;
}

    .back-btn:hover {
        background: rgba(255, 255, 255, 0.22);
    }

.report-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 24px;
    width: 100%;
    min-width: 0;
}

.report-card {
    width: 100%;
    min-width: 0;
    padding: 26px;
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.86);
    backdrop-filter: blur(16px);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
}

.visit-card {
    width: 100%;
    min-width: 0;
    margin-bottom: 28px;
    padding-bottom: 28px;
    border-bottom: 1px solid #e3efe7;
}

.section-title {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    margin: 8px 0 20px;
}

    .section-title span {
        display: flex;
        flex: 0 0 38px;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        border-radius: 13px;
        color: white;
        background: #2de370;
        font-weight: 900;
    }

    .section-title h3 {
        min-width: 0;
        margin: 0;
        color: #102919;
        font-size: 20px;
        font-weight: 900;
        line-height: 1.3;
        overflow-wrap: anywhere;
    }

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    width: 100%;
    min-width: 0;
    margin-bottom: 30px;
}

    .form-grid.small {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

.form-group {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
}

    .form-group.full {
        grid-column: 1 / -1;
    }

    .form-group label {
        color: #345440;
        font-size: 13px;
        font-weight: 800;
    }

    .form-group input,
    .form-group select,
    .form-group textarea {
        width: 100%;
        min-width: 0;
        padding: 13px 15px;
        border: 1px solid #dceee3;
        border-radius: 15px;
        outline: none;
        color: #102919;
        background: #f8fcfa;
        font: inherit;
        transition: 0.2s ease;
    }

    .form-group input,
    .form-group select {
        min-height: 48px;
    }

    .form-group textarea {
        min-height: 130px;
        resize: vertical;
    }

        .form-group input:focus,
        .form-group select:focus,
        .form-group textarea:focus {
            border-color: #2de370;
            background: white;
            box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.12);
        }

.toggle-box {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    min-height: 48px;
    padding: 14px;
    border: 1px solid #dceee3;
    border-radius: 15px;
    background: #f8fcfa;
    font-weight: 800;
}

    .toggle-box input {
        flex-shrink: 0;
        width: 18px;
        height: 18px;
    }

.save-btn,
.upload-btn {
    width: 100%;
    min-height: 52px;
    padding: 16px;
    border: none;
    border-radius: 18px;
    color: white;
    background: linear-gradient(135deg, #2de370, #24d164);
    box-shadow: 0 14px 30px rgba(22, 163, 74, 0.28);
    cursor: pointer;
    font-size: 16px;
    font-weight: 900;
}

.upload-btn {
    background: linear-gradient(135deg, #10b981, #059669);
    box-shadow: 0 14px 30px rgba(16, 185, 129, 0.24);
}

    .save-btn:disabled,
    .upload-btn:disabled {
        opacity: 0.6;
        cursor: not-allowed;
    }

.locked-box,
.created-box {
    width: 100%;
    min-width: 0;
    margin-bottom: 20px;
    padding: 18px;
    border-radius: 18px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.locked-box {
    color: #9a3412;
    border: 1px solid #fed7aa;
    background: #fff7ed;
}

.created-box {
    color: #065f46;
    border: 1px solid #a7f3d0;
    background: #ecfdf5;
}

    .created-box strong {
        display: block;
        margin-top: 6px;
        font-size: 12px;
        word-break: break-all;
    }*/

/* Laptop and tablet */
/*@media (max-width: 1100px) {
    .report-shell {
        grid-template-columns: minmax(0, 1fr);
    }
}*/

/* Tablet */
/*@media (max-width: 850px) {
    .create-report-page {
        padding: 18px;
    }

    .report-hero {
        padding: 24px;
        border-radius: 22px;
    }

        .report-hero h1 {
            font-size: 31px;
        }

    .report-card {
        padding: 22px;
        border-radius: 22px;
    }
}*/

/* Mobile */
/*@media (max-width: 700px) {
    .create-report-page {
        padding: 12px;
    }

    .report-hero {
        align-items: stretch;
        flex-direction: column;
        gap: 18px;
        margin-bottom: 16px;
        padding: 20px 16px;
        border-radius: 18px;
    }

    .hero-label {
        font-size: 10px;
        letter-spacing: 1.5px;
    }

    .report-hero h1 {
        margin: 6px 0;
        font-size: 26px;
    }

    .report-hero p {
        font-size: 13px;
        line-height: 1.5;
    }

    .back-btn {
        width: 100%;
        min-height: 48px;
    }

    .report-shell {
        gap: 14px;
    }

    .report-card {
        padding: 16px;
        border-radius: 18px;
    }

    .visit-card {
        margin-bottom: 22px;
        padding-bottom: 22px;
    }

    .section-title {
        gap: 10px;
        margin-bottom: 15px;
    }

        .section-title span {
            flex-basis: 34px;
            width: 34px;
            height: 34px;
            border-radius: 11px;
            font-size: 12px;
        }

        .section-title h3 {
            font-size: 17px;
        }

    .form-grid,
    .form-grid.small {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
        margin-bottom: 22px;
    }

    .form-group.full {
        grid-column: auto;
    }

    .form-group label {
        font-size: 12px;
    }

    .form-group input,
    .form-group select,
    .form-group textarea {
        padding: 12px 13px;
        border-radius: 12px;
        font-size: 16px;
    }

    .form-group input,
    .form-group select {
        min-height: 48px;
    }

    .form-group textarea {
        min-height: 110px;
    }

    .toggle-box {
        min-height: 48px;
        padding: 12px 13px;
        border-radius: 12px;
        font-size: 13px;
    }

    .save-btn,
    .upload-btn {
        min-height: 50px;
        padding: 13px;
        border-radius: 14px;
        font-size: 15px;
    }

    .locked-box,
    .created-box {
        padding: 14px;
        border-radius: 14px;
        font-size: 13px;
    }
}*/

/* Small phones */
/*@media (max-width: 420px) {
    .create-report-page {
        padding: 8px;
    }

    .report-hero {
        padding: 16px 13px;
        border-radius: 15px;
    }

        .report-hero h1 {
            font-size: 22px;
        }

    .report-card {
        padding: 12px;
        border-radius: 15px;
    }

    .section-title h3 {
        font-size: 16px;
    }

    .section-title span {
        flex-basis: 32px;
        width: 32px;
        height: 32px;
    }

    .form-grid {
        gap: 12px;
    }
}*/

/* Very small phones */
/*@media (max-width: 350px) {
    .create-report-page {
        padding: 6px;
    }

    .report-hero {
        padding: 14px 11px;
    }

        .report-hero h1 {
            font-size: 20px;
        }

    .report-card {
        padding: 10px;
    }

    .section-title {
        align-items: flex-start;
    }
}

.report-details-page {
    background: rgb(245 247 251 / 22%);
    min-height: 100vh;
    padding: 30px;
    color: #1f3a29;
}


.report-header {
    background: linear-gradient(135deg, #102919, #1f3a29);
    color: white;
    border-radius: 24px;
    padding: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    box-shadow: 0 15px 40px rgba(0,0,0,.12);
}

.header-left {
    flex: 1;
}

.report-title-row {
    display: flex;
    gap: 20px;
    align-items: center;
}

.header-action-btn.done {
    background: #16a34a !important;
    color: white !important;
    cursor: not-allowed;
    opacity: .9;
}

.report-logo {
    width: 150px;
    height: 150px;
    border-radius: 20px;
    background: rgba(255,255,255,.12);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 36px;
}

    .report-logo img {
        width: 150px
    }

.report-label {
    font-size: 13px;
    letter-spacing: 3px;
    opacity: .75;
    margin-bottom: 5px;
}

.report-header h1 {
    margin: 0;
    font-size: 34px;
    font-weight: 800;
}

.report-address {
    margin-top: 10px;
    opacity: .8;
}

.header-right {
    text-align: right;
}

.report-number {
    margin-top: 15px;
    font-size: 15px;
    opacity: .8;
}

.report-date {
    margin-top: 5px;
    font-size: 14px;
    opacity: .8;
}


.report-type {
    display: inline-flex;
    padding: 10px 20px;
    border-radius: 999px;
    font-weight: 800;
    color: white;
    font-size: 14px;
    letter-spacing: 1px;
}

    .report-type.pr {
        background: #2de370;
    }

    .report-type.mr {
        background: #facc15;
        color: #1f3a29;
    }

    .report-type.rr {
        background: #dc2626;
    }


.action-bar {
    display: flex;
    gap: 12px;
    margin-bottom: 25px;
    flex-wrap: wrap;
}

.action-btn {
    border: none;
    background: white;
    padding: 12px 20px;
    border-radius: 14px;
    cursor: pointer;
    font-weight: 700;
    box-shadow: 0 5px 18px rgba(0,0,0,.08);
    transition: .2s;
}

    .action-btn:hover {
        transform: translateY(-2px);
    }


.details-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 25px;
    margin-bottom: 25px;
}

.left-column,
.right-column {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.section-card {
    background: #ffffff30;
    border-radius: 22px;
    padding: 25px;
    box-shadow: 0 8px 25px rgba(15,23,42,.06);
}

.section-title {
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 20px;
    color: #102919;
}


.info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(180px,1fr));
    gap: 18px;
}

.info-item {
    background: rgb(248 250 252 / 58%);
    border-radius: 16px;
    padding: 18px;
}

    .info-item span {
        display: block;
        color: #608f71;
        font-size: 13px;
        margin-bottom: 8px;
    }

    .info-item strong {
        font-size: 16px;
    }


.narrative {
    background: rgb(248 250 252 / 58%);
    border-radius: 18px;
    padding: 22px;
    line-height: 1.9;
    font-size: 15px;
    color: #345440;
}

.photos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(160px,1fr));
    gap: 18px;
}

.photo-card {
    overflow: hidden;
    border-radius: 18px;
    background: #f8fcfa;
    aspect-ratio: 1;
    cursor: pointer;
    transition: .25s;
}

    .photo-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 12px 25px rgba(0,0,0,.12);
    }

    .photo-card img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }


.status-card {
    background: rgb(248 250 252 / 58%);
    border-radius: 22px;
    padding: 25px;
    display: flex;
    justify-content: center;
    gap: 60px;
    flex-wrap: wrap;
    box-shadow: 0 8px 25px rgba(15,23,42,.06);
}

.status-item {
    text-align: center;
}

    .status-item span {
        display: block;
        color: #608f71;
        margin-bottom: 12px;
    }

.status-badge {
    min-width: 90px;
    padding: 10px 18px;
    border-radius: 999px;
    font-weight: 800;
}

    .status-badge.yes {
        background: rgba(22,163,74,.12);
        color: #15803d;
    }

    .status-badge.no {
        background: rgba(239,68,68,.12);
        color: #dc2626;
    }


@media (max-width: 992px) {

    .details-grid {
        grid-template-columns: 1fr;
    }

    .report-header {
        flex-direction: column;
        gap: 25px;
        text-align: center;
    }

    .header-right {
        text-align: center;
    }
}

@media (max-width: 576px) {

    .report-details-page {
        padding: 15px;
    }

    .report-header {
        padding: 20px;
    }

        .report-header h1 {
            font-size: 28px;
        }

    .status-card {
        gap: 20px;
    }

    .action-bar {
        flex-direction: column;
    }

    .action-btn {
        width: 100%;
    }
}


@media print {

    @page {
        size: A4 portrait;
        margin: 5mm;
    }

    html,
    body {
        width: 210mm !important;
        height: 297mm !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: white !important;
    }

        body * {
            visibility: hidden !important;
        }

    .report-details-page,
    .report-details-page * {
        visibility: visible !important;
    }

    .report-details-page {
        position: fixed !important;
        inset: 0 !important;
        width: 200mm !important;
        height: 287mm !important;
        padding: 4mm !important;
        background: white !important;
        color: #122619 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .no-print,
    .action-bar,
    .sidebar,
    .nav-menu,
    .top-row,
    header,
    nav,
    aside {
        display: none !important;
        visibility: hidden !important;
    }

    .report-header {
        padding: 6px 10px !important;
        margin-bottom: 6px !important;
        border-radius: 8px !important;
        box-shadow: none !important;
        border: 1px solid #ddd !important;
    }

    .report-logo {
        width: 55px !important;
        height: 55px !important;
        border-radius: 8px !important;
    }

        .report-logo img {
            width: 55px !important;
            height: 55px !important;
            object-fit: contain !important;
        }

    .report-title-row {
        gap: 8px !important;
    }

    .report-label {
        font-size: 9px !important;
        letter-spacing: 1px !important;
        margin-bottom: 2px !important;
    }

    .report-header h1 {
        font-size: 17px !important;
        line-height: 1.1 !important;
    }

    .report-address,
    .report-number,
    .report-date {
        font-size: 9px !important;
        margin-top: 2px !important;
    }

    .report-type {
        padding: 4px 9px !important;
        font-size: 9px !important;
    }

    .details-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 6px !important;
        margin-bottom: 6px !important;
    }

    .left-column,
    .right-column {
        gap: 6px !important;
    }

    .section-card {
        padding: 7px !important;
        margin: 0 !important;
        border-radius: 8px !important;
        box-shadow: none !important;
        border: 1px solid #ddd !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .section-title {
        font-size: 11px !important;
        margin-bottom: 5px !important;
    }

    .info-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 4px !important;
    }

    .info-item {
        padding: 5px !important;
        border-radius: 6px !important;
    }

        .info-item span {
            font-size: 8px !important;
            margin-bottom: 2px !important;
        }

        .info-item strong {
            font-size: 9px !important;
            line-height: 1.1 !important;
        }

    .narrative {
        padding: 6px !important;
        font-size: 9px !important;
        line-height: 1.25 !important;
        border-radius: 6px !important;
        max-height: 55mm !important;
        overflow: hidden !important;
    }

    .photos-grid {
        display: flex;
        flex-direction: column;
    }

    .photo-card {
        aspect-ratio: auto !important;
        height: 42mm !important;
        border-radius: 6px !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

        .photo-card img {
            width: 100% !important;
            height: 100% !important;
            object-fit: cover !important;
        }

    .status-card {
        display: none !important;
    }
}

.header-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 12px;
    flex-wrap: wrap;
}

.header-action-btn {
    border: none;
    border-radius: 999px;
    padding: 9px 14px;
    font-weight: 800;
    cursor: pointer;
    color: white;
}

    .header-action-btn.submit {
        background: #2de370;
    }

    .header-action-btn.email {
        background: #16a34a;
    }

    .header-action-btn:disabled {
        opacity: .6;
        cursor: not-allowed;
    }

.action-message {
    margin-top: 8px;
    font-size: 12px;
    opacity: .85;
}*/

/**********************************/


/*.pictures-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 14px;
}

.drag-drop-description {
    color: #5e8d6f;
    font-size: 12px;
    font-weight: 500;
}

.photo-card {
    position: relative;
    min-width: 0;
}

.report-photo-drop-zone {
    position: relative;
    width: 100%;
    min-height: 220px;
    overflow: hidden;
    background: #f8fcfa;
    border: 2px dashed transparent;
    border-radius: 14px;
    transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.report-photo-preview {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 12px;
    transition: transform 0.2s ease, filter 0.2s ease, opacity 0.2s ease;
}

.photo-drag-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 20px;
    color: #ffffff;
    text-align: center;
    background: rgba(15, 23, 42, 0.68);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, background 0.2s ease;
}

.report-photo-drop-zone:hover
.photo-drag-overlay {
    opacity: 1;
}

.report-photo-drop-zone:hover
.report-photo-preview {
    filter: brightness(0.7);
    transform: scale(1.025);
}

.drag-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 3px;
    color: #ffffff;
    font-size: 30px;
    font-weight: 900;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.38);
    border-radius: 50%;
}

.photo-drag-overlay strong {
    font-size: 16px;
    font-weight: 800;
}

.photo-drag-overlay span {
    font-size: 13px;
    font-weight: 600;
}

.photo-drag-overlay small {
    font-size: 11px;
    opacity: 0.82;
}

.report-photo-drop-zone.drag-active {
    border-color: #137236;
    background: rgba(13, 148, 136, 0.09);
    box-shadow: 0 0 0 4px rgba(13, 148, 136, 0.15);
    transform: scale(1.02);
}

    .report-photo-drop-zone.drag-active
    .photo-drag-overlay {
        opacity: 1;
        background: rgba(13, 148, 136, 0.86);
    }

    .report-photo-drop-zone.drag-active
    .report-photo-preview {
        filter: brightness(0.48);
    }

.temporary-preview-label {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 4;
    display: none;
    padding: 6px 10px;
    color: #ffffff;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    background: #f79009;
    border-radius: 999px;
    box-shadow: 0 4px 10px rgba(16, 24, 40, 0.2);
}

.report-photo-drop-zone.has-temp-preview
.temporary-preview-label {
    display: block;
}

.report-photo-drop-zone.has-temp-preview {
    border-color: #f79009;
}

.temporary-photo-actions {
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 9px;
    padding: 8px 10px;
    background: #fffaeb;
    border: 1px solid #fedf89;
    border-radius: 10px;
}

.photo-card.has-temp-preview
.temporary-photo-actions {
    display: flex;
}

.temporary-photo-name {
    min-width: 0;
    overflow: hidden;
    color: #93370d;
    font-size: 11px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.restore-original-button {
    flex-shrink: 0;
    padding: 5px 8px;
    color: #b42318;
    font-size: 11px;
    font-weight: 800;
    background: transparent;
    border: 0;
    cursor: pointer;
}

    .restore-original-button:hover {
        text-decoration: underline;
    }

.empty-photos-message {
    grid-column: 1 / -1;
    padding: 30px 20px;
    color: #5e8d6f;
    text-align: center;
    background: #f9fbfa;
    border: 1px dashed #cedfd4;
    border-radius: 12px;
}

.action-message {
    margin: 12px 0 18px;
    padding: 12px 15px;
    color: #1fcb5e;
    font-size: 13px;
    font-weight: 600;
    background: #f0fef5;
    border: 1px solid #b9f8d0;
    border-radius: 10px;
}

@media (max-width: 768px) {
    .pictures-title-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .report-photo-preview,
    .report-photo-drop-zone {
        height: 190px;
        min-height: 190px;
    }
}

@media print {
    .photo-drag-overlay,
    .temporary-preview-label,
    .temporary-photo-actions,
    .drag-drop-description {
        display: none !important;
    }

    .report-photo-drop-zone {
        border: none !important;
        box-shadow: none !important;
        transform: none !important;
    }

    .report-photo-preview {
        filter: none !important;
        transform: none !important;
    }
}

.edit-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.edit-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

    .edit-field label {
        font-size: 13px;
        font-weight: 700;
        color: #466a53;
    }

.report-input,
.report-textarea {
    width: 100%;
    padding: 11px 13px;
    border: 1px solid #cce0d3;
    border-radius: 8px;
    background: #fff;
    color: #102919;
    font: inherit;
    outline: none;
}

    .report-input:focus,
    .report-textarea:focus {
        border-color: #2de370;
        box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.12);
    }

.report-textarea {
    resize: vertical;
    min-height: 130px;
}

.action-btn.edit {
    background: #fff7ed;
    border-color: #fdba74;
    color: #c2410c;
}

.action-btn.save {
    background: #15803d;
    border-color: #15803d;
    color: #fff;
}

.action-btn.cancel {
    background: #fff;
    border-color: #cce0d3;
    color: #466a53;
}

.media-upload-bar {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin: 12px 0 18px;
}

    .media-upload-bar span {
        color: #608f71;
        font-size: 13px;
    }

.upload-image-button,
.photo-action-button.replace {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.upload-image-button {
    padding: 10px 16px;
    border-radius: 8px;
    background: #2de370;
    color: #fff;
    font-weight: 700;
}

    .upload-image-button input[type="file"],
    .photo-action-button.replace input[type="file"] {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        cursor: pointer;
    }

.photo-server-actions {
    display: flex;
    gap: 8px;
    padding-top: 10px;
}

.photo-action-button {
    flex: 1;
    min-height: 36px;
    padding: 8px 12px;
    border: 0;
    border-radius: 7px;
    font-weight: 700;
}

    .photo-action-button.replace {
        background: #e2fcec;
        color: #0f9540;
    }

    .photo-action-button.delete {
        background: #fee2e2;
        color: #b91c1c;
        cursor: pointer;
    }

    .photo-action-button:disabled {
        opacity: 0.55;
        cursor: not-allowed;
    }

.empty-value {
    color: #94b8a1;
    font-style: italic;
}

@media (max-width: 700px) {
    .edit-form-grid {
        grid-template-columns: 1fr;
    }
}

.report-extra-details {
    margin-bottom: 20px;
}

    .report-extra-details .info-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .report-extra-details .info-item {
        display: flex;
        flex-direction: column;
        gap: 6px;
        padding: 12px 14px;
        background: #f8fcfa;
        border: 1px solid #e3ede7;
        border-radius: 10px;
        min-width: 0;
    }

        .report-extra-details .info-item span {
            color: #608f71;
            font-size: 12px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }

        .report-extra-details .info-item strong {
            color: #122619;
            font-size: 14px;
            overflow-wrap: anywhere;
        }

.extra-narrative-block {
    margin-top: 16px;
}

.extra-field-label {
    display: block;
    margin-bottom: 8px;
    color: #466a53;
    font-size: 13px;
    font-weight: 700;
}

.extra-narrative-block .narrative {
    padding: 14px;
    background: #f8fcfa;
    border: 1px solid #e3ede7;
    border-radius: 10px;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.guid-value {
    font-family: monospace;
    font-size: 12px !important;
}

.vehicle-summary {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    padding: 14px;
    background: #122619;
    border-radius: 10px;
    color: #ffffff;
}

.vehicle-plate {
    padding: 7px 13px;
    background: #ffffff;
    border: 3px solid #ceded4;
    border-radius: 7px;
    color: #122619;
    font-size: 21px;
    font-weight: 800;
    letter-spacing: 2px;
}

.vehicle-state {
    font-size: 15px;
    font-weight: 700;
}

.report-type.pv {
    background: #f59e0b;
    color: #ffffff;
}

@media (max-width: 768px) {
    .report-extra-details .info-grid {
        grid-template-columns: 1fr;
    }

    .vehicle-summary {
        align-items: flex-start;
        flex-direction: column;
    }
}

.photo-card {
    position: relative;
}

.report-photo-drop-zone {
    position: relative;
    overflow: hidden;
    min-height: 220px;
    border: 2px solid transparent;
    border-radius: 12px;
    background: #f2f7f4;
    transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.report-photo-preview {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 10px;
}

.photo-delete-x {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 2px solid #ffffff;
    border-radius: 50%;
    background: #dc2626;
    color: #ffffff;
    font-size: 21px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    transition: background-color 0.2s ease, transform 0.2s ease;
}

    .photo-delete-x:hover:not(:disabled) {
        background: #b91c1c;
        transform: scale(1.08);
    }

    .photo-delete-x:disabled {
        cursor: not-allowed;
        opacity: 0.7;
    }

.photo-drag-overlay {
    position: absolute;
    inset: 0;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(15, 23, 42, 0.78);
    color: #ffffff;
    text-align: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

.report-photo-drop-zone.drag-over {
    border-color: #2de370;
    box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.18);
    transform: scale(1.01);
}

    .report-photo-drop-zone.drag-over
    .photo-drag-overlay {
        opacity: 1;
    }

.report-photo-drop-zone.is-replacing
.photo-drag-overlay {
    opacity: 1;
}

.photo-drag-overlay strong {
    margin-top: 8px;
    font-size: 16px;
}

.photo-drag-overlay span {
    margin-top: 5px;
    font-size: 13px;
}

.photo-drag-overlay small {
    margin-top: 5px;
    opacity: 0.8;
}

.drag-icon {
    font-size: 30px;
    line-height: 1;
}

.hidden-replace-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.replace-loading-spinner,
.delete-spinner {
    display: inline-block;
    border-radius: 50%;
    animation: report-photo-spin 0.8s linear infinite;
}

.replace-loading-spinner {
    width: 30px;
    height: 30px;
    border: 3px solid rgba(255, 255, 255, 0.35);
    border-top-color: #ffffff;
}

.delete-spinner {
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-top-color: #ffffff;
}

@keyframes report-photo-spin {
    to {
        transform: rotate(360deg);
    }
}

.inline-edit-input {
    width: 100%;
    min-width: 0;
    min-height: 34px;
    padding: 5px 8px;
    box-sizing: border-box;
    border: 1px solid #cce0d3;
    border-radius: 6px;
    background-color: #ffffff;
    color: inherit;
    font: inherit;
    font-size: inherit;
    font-weight: 600;
}

.inline-edit-textarea {
    width: 100%;
    min-height: 90px;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #cce0d3;
    border-radius: 7px;
    background-color: #ffffff;
    color: inherit;
    font: inherit;
    line-height: 1.6;
    resize: vertical;
}

    .inline-edit-input:focus,
    .inline-edit-textarea:focus {
        outline: none;
        border-color: #2de370;
        box-shadow: 0 0 0 2px rgba(22, 163, 74, 0.12);
    }

.vehicle-summary-input {
    background-color: rgba(255, 255, 255, 0.96);
    text-align: center;
}

.info-item .inline-edit-input {
    margin-top: 2px;
}

.report-number-edit {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
}

    .report-number-edit .inline-edit-input {
        flex: 1;
        min-width: 0;
    }

    .report-number-edit .btn {
        flex-shrink: 0;
        white-space: nowrap;
    }

.submit-warning {
    margin-top: 8px;
    color: #b91c1c;
    font-size: 13px;
    font-weight: 600;
}

@media (max-width: 640px) {
    .report-number-edit {
        flex-direction: column;
        align-items: stretch;
    }
}

* {
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    max-width: 100%;
    margin: 0;
    overflow-x: hidden;
}

body {
    background: #f4fbf7;
}

.reports-page {
    width: 100%;
    min-height: 100vh;
    padding: 30px;
    overflow-x: hidden;
}*/

/* Header */

/*.page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 30px;
}

.title-group,
.title-group > div {
    min-width: 0;
}

.page-subtitle {
    margin-bottom: 6px;
    color: #608f71;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
}

.page-header h1 {
    min-width: 0;
    margin: 0;
    font-size: 32px;
    font-weight: 800;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.title-row {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.refresh-btn {
    display: flex;
    flex: 0 0 42px;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: none;
    border-radius: 10px;
    color: white;
    background: #2de370;
    box-shadow: 0 4px 12px rgba(22, 163, 74, 0.25);
    cursor: pointer;
    font-size: 20px;
    transition: 0.25s;
}

    .refresh-btn:hover {
        background: #24d164;
        transform: rotate(180deg);
    }

.export-btn {
    padding: 12px 20px;
    border: none;
    border-radius: 14px;
    color: #345440;
    background: white;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
    cursor: pointer;
    font-weight: 600;
    transition: 0.2s;
}

    .export-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
    }*/

/* Stats */

/*.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.stat-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    padding: 24px;
    border: 1px solid rgba(226, 232, 240, 0.8);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.65);
    box-shadow: 0 8px 25px rgba(15, 23, 42, 0.06);
}

    .stat-card::after {
        position: absolute;
        top: -20px;
        right: -20px;
        width: 70px;
        height: 70px;
        border-radius: 50%;
        opacity: 0.15;
        content: "";
    }

    .stat-card span {
        display: block;
        margin-bottom: 12px;
        color: #466a53;
        font-size: 14px;
    }

    .stat-card strong {
        color: #102919;
        font-size: 38px;
        font-weight: 800;
        line-height: 1;
    }

    .stat-card.total::after {
        background: #2de370;
    }

    .stat-card.success::after {
        background: #16a34a;
    }

    .stat-card.warning::after {
        background: #f59e0b;
    }

    .stat-card.info::after {
        background: #14c655;
    }*/

/* Filters */

/*.filters-card {
    display: grid;
    grid-template-columns: minmax(240px, 2fr) repeat(5, minmax(150px, 1fr)) auto;
    gap: 15px;
    width: 100%;
    min-width: 0;
    margin-bottom: 30px;
    padding: 20px;
    border: 1px solid rgba(226, 232, 240, 0.8);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.6);
    box-shadow: 0 8px 25px rgba(15, 23, 42, 0.06);
}

    .search-box,
    .filters-card select {
        width: 100%;
        min-width: 0;
        min-height: 46px;
        padding: 12px 15px;
        border: 1px solid #e3efe7;
        border-radius: 14px;
        outline: none;
        background: white;
        font: inherit;
        font-size: 14px;
        transition: 0.2s;
    }

        .search-box:focus,
        .filters-card select:focus {
            border-color: #2de370;
            box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.12);
        }

.primary-btn {
    min-height: 46px;
    padding: 12px 24px;
    border: none;
    border-radius: 14px;
    color: white;
    background: #2de370;
    cursor: pointer;
    font-weight: 700;
    white-space: nowrap;
    transition: 0.2s;
}

    .primary-btn:hover {
        background: #24d164;
    }*/

/* Table */

/*.table-card {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    border-radius: 22px;
    background: white;
    box-shadow: 0 8px 25px rgba(15, 23, 42, 0.06);
}

    .table-card > p {
        margin: 0;
        padding: 30px;
        text-align: center;
    }

.reports-table {
    width: 100%;
    border-collapse: collapse;
}

    .reports-table thead {
        background: #f8fcfa;
    }

    .reports-table th {
        padding: 18px;
        border-bottom: 1px solid #e3efe7;
        color: #608f71;
        font-size: 13px;
        font-weight: 700;
        text-align: left;
        white-space: nowrap;
    }

    .reports-table td {
        padding: 18px;
        border-bottom: 1px solid #f1f9f4;
        color: #345440;
        font-size: 14px;
        overflow-wrap: anywhere;
    }

    .reports-table tbody tr {
        transition: 0.2s;
    }

        .reports-table tbody tr:hover {
            background: #f8fcfa;
        }*/

/* Badges */

/*.badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 60px;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

    .badge.yes {
        color: #15803d;
        background: rgba(22, 163, 74, 0.12);
    }

    .badge.no {
        color: #dc2626;
        background: rgba(239, 68, 68, 0.12);
    }

.report-type {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    padding: 6px 12px;
    border-radius: 999px;
    color: white;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.5px;
}

    .report-type.pr {
        background: #2de370;
    }

    .report-type.mr {
        color: #1f3a29;
        background: #facc15;
    }

    .report-type.rr {
        background: #dc2626;
    }

    .report-type.pv {
        background: #14c956;
    }

    .report-type.vt {
        background: #297c00;
    }

.view-btn {
    min-height: 40px;
    padding: 10px 16px;
    border: none;
    border-radius: 12px;
    color: #2de370;
    background: #f0fef5;
    cursor: pointer;
    font-weight: 700;
    white-space: nowrap;
    transition: 0.2s;
}

    .view-btn:hover {
        color: white;
        background: #2de370;
    }*/

/* Pagination */

/*.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-top: 25px;
}

    .pagination button {
        padding: 10px 18px;
        border: none;
        border-radius: 12px;
        background: white;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
        cursor: pointer;
        font-weight: 700;
        transition: 0.2s;
    }

        .pagination button:hover:not(:disabled) {
            transform: translateY(-2px);
        }

        .pagination button:disabled {
            opacity: 0.4;
            cursor: not-allowed;
        }

    .pagination span {
        color: #466a53;
        font-weight: 600;
    }*/

/* Floating button */

/*.floating-actions {
    position: fixed;
    right: 25px;
    bottom: 25px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.floating-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    padding: 0;
    border: none;
    border-radius: 50%;
    color: #fff;
    background: #2de370;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.18);
    cursor: pointer;
    font-size: 22px;
    transition: 0.25s;
}

    .floating-btn:hover {
        background: #24d164;
        transform: translateY(-3px);
    }

.top-btn {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(20px);
}

    .top-btn.show {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }*/

/* Laptop */

/*@media (max-width: 1280px) {
    .stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .filters-card {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .search-box {
        grid-column: span 2;
    }
}*/

/* Tablet */

/*@media (max-width: 992px) {
    .reports-page {
        padding: 20px;
    }

    .page-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 15px;
    }

    .filters-card {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .search-box {
        grid-column: 1 / -1;
    }

    .table-card {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .reports-table {
        min-width: 1100px;
    }
}*/

/* Mobile */

/*@media (max-width: 700px) {
    .reports-page {
        padding: 12px;
    }

    .page-header {
        margin-bottom: 18px;
    }

    .page-subtitle {
        font-size: 10px;
        letter-spacing: 1.5px;
    }

    .title-row {
        justify-content: space-between;
        width: 100%;
    }

    .page-header h1 {
        font-size: 24px;
    }

    .refresh-btn {
        flex-basis: 40px;
        width: 40px;
        height: 40px;
        font-size: 18px;
    }

    .stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-bottom: 16px;
    }

    .stat-card {
        min-height: 110px;
        padding: 16px;
        border-radius: 16px;
    }

        .stat-card span {
            margin-bottom: 8px;
            font-size: 12px;
        }

        .stat-card strong {
            font-size: 28px;
        }

    .filters-card {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        margin-bottom: 16px;
        padding: 13px;
        border-radius: 16px;
    }

    .search-box {
        grid-column: auto;
    }

    .search-box,
    .filters-card select,
    .primary-btn {
        width: 100%;
        min-height: 48px;
        font-size: 16px;
    }*/

    /*
     * تحويل الجدول إلى بطاقات على الهاتف
     */

    /*.table-card {
        overflow: visible;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .reports-table {
        display: block;
        min-width: 0;
        border-collapse: separate;
    }

        .reports-table thead {
            display: none;
        }

        .reports-table tbody {
            display: grid;
            grid-template-columns: minmax(0, 1fr);
            gap: 13px;
        }

        .reports-table tr {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0;
            overflow: hidden;
            border: 1px solid #e3efe7;
            border-radius: 17px;
            background: white;
            box-shadow: 0 8px 22px rgba(15, 23, 42, 0.07);
        }

        .reports-table tbody tr:hover {
            background: white;
        }

        .reports-table td {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            min-width: 0;
            padding: 11px 12px;
            border-bottom: 1px solid #f1f9f4;
            font-size: 13px;
            text-align: right;
        }

            .reports-table td::before {
                flex-shrink: 0;
                color: #608f71;
                font-size: 11px;
                font-weight: 800;
                text-align: left;
            }

            .reports-table td:nth-child(1)::before {
                content: "Type";
            }

            .reports-table td:nth-child(2)::before {
                content: "Site";
            }

            .reports-table td:nth-child(3)::before {
                content: "Site Name";
            }

            .reports-table td:nth-child(4)::before {
                content: "Title";
            }

            .reports-table td:nth-child(5)::before {
                content: "Date";
            }

            .reports-table td:nth-child(6)::before {
                content: "Time";
            }

            .reports-table td:nth-child(7)::before {
                content: "Guard";
            }

            .reports-table td:nth-child(8)::before {
                content: "Media";
            }

            .reports-table td:nth-child(9)::before {
                content: "Opened";
            }

            .reports-table td:nth-child(10)::before {
                content: "Submitted";
            }

            .reports-table td:nth-child(11)::before {
                content: "Email Sent";
            }

            .reports-table td:nth-child(12)::before {
                content: "";
            }

            .reports-table td:nth-child(3),
            .reports-table td:nth-child(4),
            .reports-table td:nth-child(7),
            .reports-table td:nth-child(12) {
                grid-column: 1 / -1;
            }

            .reports-table td:nth-child(12) {
                padding: 12px;
                border-bottom: none;
            }

    .view-btn {
        width: 100%;
        min-height: 44px;
    }

    .badge,
    .report-type {
        min-width: 52px;
        padding: 5px 9px;
        font-size: 10px;
    }

    .floating-actions {
        right: 14px;
        bottom: 14px;
    }

    .floating-btn {
        width: 48px;
        height: 48px;
        font-size: 20px;
    }
}*/

/* Small phones */

/*@media (max-width: 420px) {
    .reports-page {
        padding: 8px;
    }

    .page-header h1 {
        font-size: 21px;
    }

    .stats-grid {
        gap: 8px;
    }

    .stat-card {
        min-height: 100px;
        padding: 13px;
    }

        .stat-card strong {
            font-size: 24px;
        }

    .reports-table tr {
        grid-template-columns: minmax(0, 1fr);
    }

    .reports-table td,
    .reports-table td:nth-child(3),
    .reports-table td:nth-child(4),
    .reports-table td:nth-child(7),
    .reports-table td:nth-child(12) {
        grid-column: auto;
    }

        .reports-table td:nth-child(12) {
            padding: 11px;
        }
}*/

/* Very small phones */

/*@media (max-width: 350px) {
    .stats-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .title-row {
        align-items: flex-start;
    }

    .page-header h1 {
        font-size: 19px;
    }
}

.response-page {
    --navy: #112a1a;
    --gold: #d6a73a;
    --gold-light: #f2ca68;
    --red: #c9454d;
    --blue: #39d171;
    --green: #198f68;
    --page-bg: #f3f9f5;
    --border: #e0ebe4;
    --text: #183222;
    --muted: #747d8f;
    min-height: 100vh;
    padding: 24px;
    color: var(--text);
    background: radial-gradient(circle at 100% 0%, rgba(50, 105, 216, .08), transparent 28%), radial-gradient(circle at 0% 100%, rgba(214, 167, 58, .08), transparent 30%), var(--page-bg);
    font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.response-topbar {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 126px;
    padding: 24px 30px;
    overflow: hidden;
    color: white;
    background: linear-gradient( 135deg, rgba(255, 255, 255, .035), transparent 45%), linear-gradient( 125deg, #0c2314, #193c26);
    border-radius: 20px 20px 0 0;
    box-shadow: 0 16px 40px rgba(17, 26, 47, .14);
}

    .response-topbar::before {
        position: absolute;
        right: -80px;
        bottom: -130px;
        width: 330px;
        height: 330px;
        content: "";
        border: 1px solid rgba(255, 255, 255, .07);
        border-radius: 50%;
    }

    .response-topbar::after {
        position: absolute;
        right: 80px;
        top: -150px;
        width: 270px;
        height: 270px;
        content: "";
        border: 45px solid rgba(214, 167, 58, .05);
        border-radius: 50%;
    }

.site-brand,
.header-status {
    position: relative;
    z-index: 2;
}

.site-brand {
    display: flex;
    align-items: center;
    gap: 19px;
}

.brand-logo {
    display: grid;
    width: 74px;
    height: 74px;
    flex: 0 0 74px;
    place-items: center;
    color: white;
    font-size: 34px;
    background: linear-gradient(145deg, #d7a737, #8e6515);
    border: 1px solid rgba(255, 255, 255, .4);
    border-radius: 50%;
    box-shadow: 0 0 0 7px rgba(214, 167, 58, .11), 0 10px 24px rgba(0, 0, 0, .22);
}

.brand-content {
    min-width: 0;
}

.brand-eyebrow {
    margin-bottom: 4px;
    color: var(--gold-light);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2.4px;
}

.site-brand h1 {
    max-width: 720px;
    margin: 0;
    overflow: hidden;
    font-size: clamp(23px, 3vw, 34px);
    font-weight: 800;
    letter-spacing: -.6px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.site-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 9px;
    color: #b8d0c1;
    font-size: 12px;
}

    .site-meta span {
        display: flex;
        align-items: center;
        gap: 6px;
    }

    .site-meta strong {
        color: white;
        font-weight: 700;
    }

    .site-meta .meta-divider {
        width: 4px;
        height: 4px;
        background: var(--gold);
        border-radius: 50%;
    }

.header-status {
    display: flex;
    align-items: center;
    gap: 13px;
}

.live-dot {
    width: 11px;
    height: 11px;
    background: #28d891;
    border-radius: 50%;
    box-shadow: 0 0 0 6px rgba(40, 216, 145, .13);
}

.header-status small,
.header-status strong {
    display: block;
}

.header-status small {
    margin-bottom: 2px;
    color: #8bb299;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.header-status strong {
    color: #4ae3a7;
    font-size: 12px;
    letter-spacing: 1px;
}

.current-time {
    min-width: 116px;
    margin-left: 17px;
    padding-left: 22px;
    text-align: right;
    border-left: 1px solid rgba(255, 255, 255, .12);
}

    .current-time span,
    .current-time strong {
        display: block;
    }

    .current-time span {
        color: #8fb49d;
        font-size: 10px;
        text-transform: uppercase;
    }

    .current-time strong {
        margin-top: 3px;
        color: white;
        font-size: 23px;
        font-variant-numeric: tabular-nums;
    }

.response-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 19px 27px;
    background: white;
    border: 1px solid var(--border);
    border-top: 4px solid var(--gold);
    box-shadow: 0 7px 24px rgba(18, 27, 46, .05);
}

.response-title-content {
    display: flex;
    align-items: center;
    gap: 16px;
}

.page-number {
    display: grid;
    width: 43px;
    height: 43px;
    place-items: center;
    color: white;
    font-size: 12px;
    font-weight: 800;
    background: var(--navy);
    border-radius: 11px;
}

.response-title-row h2 {
    margin: 0;
    color: var(--navy);
    font-size: 20px;
    font-weight: 800;
}

.response-title-row p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: 12px;
}

.assignment-state {
    display: flex;
    align-items: center;
    gap: 10px;
}

.state-icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    color: var(--blue);
    background: #effdf4;
    border-radius: 10px;
}

.assignment-state small,
.assignment-state strong {
    display: block;
}

.assignment-state small {
    color: var(--muted);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.2px;
}

.assignment-state strong {
    margin-top: 3px;
    color: var(--navy);
    font-size: 12px;
    letter-spacing: .6px;
}

.response-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(350px, .75fr);
    gap: 20px;
    margin-top: 20px;
}

.response-main {
    display: grid;
    gap: 20px;
}

.response-card {
    overflow: hidden;
    background: white;
    border: 1px solid var(--border);
    border-radius: 17px;
    box-shadow: 0 10px 30px rgba(20, 31, 53, .055);
}

.card-heading {
    display: flex;
    align-items: center;
    min-height: 75px;
    padding: 16px 21px;
    background: linear-gradient(180deg, #fff, #fbfefc);
    border-bottom: 1px solid var(--border);
}

.heading-icon {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    margin-right: 12px;
    place-items: center;
    font-size: 18px;
    border-radius: 11px;
}

.incident-icon {
    color: #b54049;
    background: #fff0f1;
}

.instruction-icon {
    color: #9a7115;
    background: #fff6dc;
}

.officer-icon {
    color: #2eb861;
    background: #effdf4;
}

.card-heading span {
    color: #8bb299;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.3px;
}

.card-heading h3 {
    margin: 3px 0 0;
    color: var(--navy);
    font-size: 16px;
    font-weight: 800;
}

.required-note {
    margin-left: auto;
    color: #969eac;
    font-size: 10px;
}

    .required-note span {
        color: var(--red);
    }

.card-body {
    padding: 22px;
}

.form-grid {
    display: grid;
    gap: 17px;
}

.form-grid-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.full-width {
    grid-column: 1 / -1;
}

.form-field label {
    display: block;
    margin-bottom: 7px;
    color: #3b5946;
    font-size: 11px;
    font-weight: 750;
}

    .form-field label span {
        color: var(--red);
    }

.form-control {
    width: 100%;
    min-height: 44px;
    padding: 10px 13px;
    color: var(--text);
    background: #fbfefc;
    border: 1px solid #ddeae2;
    border-radius: 10px;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

    .form-control:hover {
        border-color: #c4d8cb;
    }

    .form-control:focus {
        background: white;
        border-color: #4fd781;
        box-shadow: 0 0 0 4px rgba(50, 105, 216, .1);
    }

.input-wrapper {
    position: relative;
}

    .input-wrapper > i {
        position: absolute;
        z-index: 2;
        left: 13px;
        top: 50%;
        color: #8cb29a;
        font-size: 14px;
        transform: translateY(-50%);
        pointer-events: none;
    }

    .input-wrapper .form-control {
        padding-left: 39px;
    }

.priority-wrapper .form-control {
    padding-right: 95px;
}

.priority-badge {
    position: absolute;
    right: 10px;
    top: 50%;
    padding: 5px 9px;
    font-size: 9px;
    font-weight: 800;
    border-radius: 20px;
    transform: translateY(-50%);
    pointer-events: none;
}

.priority-normal {
    color: #37bb67;
    background: #ecfdf2;
}

.priority-high {
    color: #a75d0a;
    background: #fff0d9;
}

.priority-critical {
    color: #b3313d;
    background: #ffe7ea;
}

.priority-low {
    color: #16825f;
    background: #e2f8f0;
}

.validation-message {
    display: block;
    margin-top: 5px;
    color: #c23f49;
    font-size: 10px;
}

.large-textarea {
    min-height: 155px;
    padding-bottom: 39px;
    resize: vertical;
}

.textarea-wrapper {
    position: relative;
}

.textarea-footer {
    position: absolute;
    right: 1px;
    bottom: 1px;
    left: 1px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 34px;
    padding: 0 12px;
    color: #8bb299;
    font-size: 9px;
    background: #f6fbf8;
    border-top: 1px solid #e2ede6;
    border-radius: 0 0 9px 9px;
    pointer-events: none;
}

    .textarea-footer span {
        display: flex;
        align-items: center;
        gap: 5px;
    }

.instruction-textarea {
    min-height: 168px;
    padding-bottom: 55px;
    resize: vertical;
}

.instruction-helper {
    position: absolute;
    right: 1px;
    bottom: 1px;
    left: 1px;
    padding: 9px 12px;
    color: #7f6a33;
    font-size: 9px;
    background: #fffaf0;
    border-top: 1px solid #f2e4ba;
    border-radius: 0 0 9px 9px;
}

    .instruction-helper > div {
        display: flex;
        align-items: center;
        gap: 8px;
    }

.photo-requirement {
    position: relative;
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: 18px;
    padding: 14px;
    cursor: pointer;
    background: #f7fcf9;
    border: 1px solid #e0ede5;
    border-radius: 12px;
}

    .photo-requirement > input {
        position: absolute;
        opacity: 0;
    }

.custom-checkbox {
    display: grid;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    place-items: center;
    color: transparent;
    background: white;
    border: 2px solid #bed3c6;
    border-radius: 6px;
    transition: .2s ease;
}

.photo-requirement input:checked + .custom-checkbox {
    color: white;
    background: var(--blue);
    border-color: var(--blue);
}

.photo-icon {
    display: grid;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    place-items: center;
    color: #37bb67;
    background: white;
    border: 1px solid #e0ede5;
    border-radius: 9px;
}

.photo-requirement > span:last-child {
    display: grid;
}

.photo-requirement strong {
    color: #294533;
    font-size: 11px;
}

.photo-requirement small {
    margin-top: 3px;
    color: #818a99;
    font-size: 9px;
}

.sticky-card {
    position: sticky;
    top: 16px;
}

.sidebar-heading {
    background: linear-gradient(140deg, #fafffc, #f4fcf7);
}

.select-loading {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 12px;
    color: #7c8696;
    font-size: 10px;
    background: #f7fcf9;
    border: 1px solid #e0ebe4;
    border-radius: 10px;
}

.loading-spinner,
.button-spinner {
    display: inline-block;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: responseSpin .7s linear infinite;
}

.loading-spinner {
    width: 20px;
    height: 20px;
}

.button-spinner {
    width: 16px;
    height: 16px;
}

@keyframes responseSpin {
    to {
        transform: rotate(360deg);
    }
}

.selected-property,
.selected-officer {
    position: relative;
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: 14px;
    padding: 13px;
    border-radius: 12px;
}

.selected-property {
    background: linear-gradient(135deg, #fff9ed, #fffdf8);
    border: 1px solid #ead8a8;
}

.selected-officer {
    background: linear-gradient(135deg, #f2fef6, #fbfffd);
    border: 1px solid #d1f6de;
}

.property-icon {
    display: grid;
    flex: 0 0 45px;
    width: 45px;
    height: 45px;
    place-items: center;
    color: #8e6819;
    font-size: 18px;
    background: #fff1c8;
    border-radius: 12px;
}

.property-details,
.officer-details {
    min-width: 0;
    display: grid;
}

    .property-details span,
    .officer-details span {
        font-size: 8px;
        font-weight: 800;
        letter-spacing: 1px;
    }

    .property-details span {
        color: #9b8d69;
    }

    .officer-details span {
        color: #7fa98e;
    }

    .property-details strong,
    .officer-details strong {
        margin-top: 3px;
        overflow: hidden;
        font-size: 12px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .property-details strong {
        color: #44391f;
    }

    .officer-details strong {
        color: #1d402a;
    }

    .property-details small,
    .officer-details small {
        margin-top: 2px;
        font-size: 9px;
    }

    .property-details small {
        color: #8c8064;
    }

    .officer-details small {
        color: #798394;
    }

.property-status,
.officer-status {
    margin-left: auto;
    padding: 5px 7px;
    font-size: 8px;
    font-weight: 800;
    border-radius: 20px;
}

.property-status {
    color: #76530e;
    background: #ffeab6;
}

.officer-status {
    color: #177b59;
    background: #dff8ee;
}

.officer-avatar {
    position: relative;
    display: grid;
    flex: 0 0 45px;
    width: 45px;
    height: 45px;
    place-items: center;
    color: white;
    font-size: 13px;
    font-weight: 800;
    background: linear-gradient(145deg, #2aaf5b, #53dc85);
    border-radius: 12px;
}

.availability-dot {
    position: absolute;
    right: -3px;
    bottom: -3px;
    width: 11px;
    height: 11px;
    background: #2bd18e;
    border: 2px solid white;
    border-radius: 50%;
}

.divider {
    height: 1px;
    margin: 20px 0;
    background: #e6efe9;
}

.field-warning {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    padding: 9px;
    color: #a36717;
    font-size: 9px;
    background: #fff8e9;
    border-radius: 8px;
}

.optional-location-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

    .optional-location-title > div {
        display: flex;
        align-items: center;
        gap: 9px;
    }

        .optional-location-title > div > i {
            display: grid;
            width: 32px;
            height: 32px;
            place-items: center;
            color: #517a60;
            background: #f0f7f3;
            border-radius: 8px;
        }

        .optional-location-title > div > span {
            display: grid;
        }

    .optional-location-title strong {
        color: #334d3d;
        font-size: 10px;
    }

    .optional-location-title small {
        margin-top: 2px;
        color: #8b94a2;
        font-size: 8px;
    }

    .optional-location-title > span {
        color: #8b94a2;
        font-size: 8px;
        font-weight: 800;
        letter-spacing: 1px;
    }

.dispatch-summary {
    margin-top: 21px;
    padding: 15px;
    background: linear-gradient( 145deg, rgba(255, 255, 255, .035), transparent), var(--navy);
    border-radius: 13px;
}

.summary-title {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 12px;
    padding-bottom: 11px;
    color: white;
    font-size: 11px;
    font-weight: 800;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
}

    .summary-title i {
        color: var(--gold-light);
    }

.summary-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 28px;
    gap: 14px;
}

    .summary-row span {
        color: #85ae94;
        font-size: 9px;
    }

    .summary-row strong {
        max-width: 65%;
        overflow: hidden;
        color: #f2faf5;
        font-size: 9px;
        text-align: right;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.summary-priority {
    padding: 4px 7px;
    border-radius: 20px;
}

    .summary-priority.normal {
        color: #a6f6c3;
        background: rgba(68, 115, 216, .17);
    }

    .summary-priority.high {
        color: #ffd384;
        background: rgba(238, 164, 46, .15);
    }

    .summary-priority.critical {
        color: #ff9da4;
        background: rgba(225, 72, 82, .15);
    }

    .summary-priority.low {
        color: #78e5be;
        background: rgba(45, 194, 141, .14);
    }

.dispatch-button,
.clear-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    border: 0;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.dispatch-button {
    min-height: 49px;
    gap: 8px;
    margin-top: 16px;
    color: white;
    font-size: 11px;
    font-weight: 800;
    background: linear-gradient(135deg, #2bbc60, #39d572);
    border-radius: 11px;
    box-shadow: 0 9px 20px rgba(49, 105, 216, .24);
}

    .dispatch-button:hover:not(:disabled) {
        transform: translateY(-2px);
        box-shadow: 0 13px 25px rgba(49, 105, 216, .31);
    }

.clear-button {
    min-height: 39px;
    gap: 7px;
    margin-top: 8px;
    color: #6d9d7e;
    font-size: 9px;
    font-weight: 700;
    background: transparent;
    border-radius: 9px;
}

    .clear-button:hover:not(:disabled) {
        color: #375442;
        background: #f1f7f3;
    }

    .dispatch-button:disabled,
    .clear-button:disabled {
        cursor: not-allowed;
        opacity: .65;
    }

.alert-box {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: 17px;
    padding: 14px 16px;
    border-radius: 12px;
}

    .alert-box > i {
        font-size: 20px;
    }

    .alert-box > div {
        display: grid;
    }

    .alert-box strong {
        font-size: 11px;
    }

    .alert-box span {
        margin-top: 3px;
        font-size: 10px;
    }

    .alert-box button {
        margin-left: auto;
        color: inherit;
        background: transparent;
        border: 0;
        cursor: pointer;
    }

.alert-error {
    color: #9f303a;
    background: #fff0f1;
    border: 1px solid #f0cdd0;
}

.alert-success {
    color: #176c51;
    background: #e9faf4;
    border: 1px solid #c1ebdc;
}

@media (max-width: 1150px) {
    .response-layout {
        grid-template-columns: 1fr;
    }

    .sticky-card {
        position: static;
    }

    .response-sidebar {
        order: -1;
    }
}

@media (max-width: 760px) {
    .response-page {
        padding: 10px;
    }

    .response-topbar {
        align-items: flex-start;
        flex-direction: column;
        gap: 22px;
        padding: 21px;
    }

    .brand-logo {
        width: 58px;
        height: 58px;
        flex-basis: 58px;
        font-size: 27px;
    }

    .site-brand h1 {
        max-width: 240px;
        font-size: 20px;
    }

    .site-meta {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

        .site-meta .meta-divider {
            display: none;
        }

    .header-status {
        width: 100%;
    }

    .current-time {
        margin-left: auto;
    }

    .response-title-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
    }

    .assignment-state {
        width: 100%;
        padding-top: 13px;
        border-top: 1px solid #e4efe8;
    }

    .form-grid-two {
        grid-template-columns: 1fr;
    }

    .full-width {
        grid-column: auto;
    }

    .card-heading {
        padding: 14px;
    }

    .card-body {
        padding: 15px;
    }

    .required-note {
        display: none;
    }

    .selected-property,
    .selected-officer {
        align-items: flex-start;
    }

    .property-status,
    .officer-status {
        display: none;
    }
}

.api-response-box {
    margin-top: 16px;
    padding: 16px;
    background: #112a1a;
    border-radius: 12px;
    color: white;
}

.api-response-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

    .api-response-header strong {
        font-size: 13px;
    }

    .api-response-header span {
        padding: 5px 9px;
        border-radius: 20px;
        font-size: 10px;
        font-weight: 800;
    }

.api-status-success {
    color: #93f0cc;
    background: rgba(37, 190, 132, .18);
}

.api-status-error {
    color: #ffadb4;
    background: rgba(220, 67, 80, .18);
}

.api-response-box pre {
    max-height: 300px;
    margin: 0;
    padding: 13px;
    overflow: auto;
    color: #defce9;
    font-family: Consolas, monospace;
    font-size: 11px;
    line-height: 1.6;
    white-space: pre-wrap;
    word-break: break-word;
    background: #0b1f12;
    border-radius: 8px;
}




.location-selection-groups {
    display: grid;
    gap: 16px;
}

.location-group {
    padding: 15px;
    border: 1px solid #e0ede5;
    border-radius: 13px;
}

.caller-location-group {
    background: linear-gradient(145deg, #f9fefb, #ffffff);
    border-color: #d8f3e2;
}

.target-location-group {
    background: linear-gradient(145deg, #fffaf2, #ffffff);
    border-color: #eadcbf;
}

.location-group-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(31, 41, 55, .08);
}

.location-group-icon {
    display: grid;
    width: 37px;
    height: 37px;
    flex: 0 0 37px;
    place-items: center;
    border-radius: 10px;
}

.caller-location-icon {
    color: #2fb25f;
    background: #ecfdf2;
}

.target-location-icon {
    color: #9a6718;
    background: #fff0cf;
}

.location-group-title > div {
    display: grid;
}

.location-group-title strong {
    color: #294533;
    font-size: 11px;
}

.location-group-title small {
    margin-top: 3px;
    color: #7faa8f;
    font-size: 9px;
}

.target-unit-warning {
    color: #9d6312;
    background: #fff5de;
    border: 1px solid #f2d99b;
}

.form-control:disabled {
    cursor: not-allowed;
    color: #8bb199;
    background: #f1f6f3;
    opacity: .8;
}

.notifications-page {
    max-width: 1200px;
    margin: 30px auto;
    padding: 10px;
}

.notifications-hero {
    background: linear-gradient(135deg, #122619, #203628);
    color: white;
    border-radius: 28px;
    padding: 34px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18);
}

.page-label {
    color: #9bf5bc;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 800;
}

.notifications-hero h1 {
    font-size: 40px;
    margin: 8px 0;
    font-weight: 900;
}

.notifications-hero p {
    color: #ceded4;
    margin: 0;
}

.stats-grid {
    margin-top: 22px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.stat-card {
    border-radius: 22px;
    padding: 22px;
    border: 1px solid #eef7f1;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}

    .stat-card span {
        color: #608f71;
        font-size: 13px;
        font-weight: 800;
    }

    .stat-card strong {
        display: block;
        margin-top: 6px;
        font-size: 32px;
    }

    .stat-card.warning {
        background: #c064005c;
    }

.filter-bar {
    margin-top: 24px;
    border-radius: 22px;
    padding: 12px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    border: 1px solid #eef7f1;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}

.filter-btn {
    border: none;
    background: #f1f9f4;
    padding: 11px 18px;
    border-radius: 14px;
    font-weight: 800;
    cursor: pointer;
}

    .filter-btn.active {
        background: #2de370;
        color: white;
    }

.notifications-list {
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.notification-card {
    border-radius: 24px;
    padding: 22px;
    border: 1px solid #eef7f1;
    box-shadow: 0 12px 35px rgba(15, 23, 42, 0.08);
    display: flex;
    gap: 18px;
    transition: 0.25s ease;
}

    .notification-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 20px 45px rgba(15, 23, 42, 0.13);
    }

    .notification-card.received {
        opacity: 0.7;
    }

.notification-icon {
    width: 58px;
    height: 58px;
    min-width: 58px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
}

    .notification-icon.warning {
        background: #fff7ed;
    }

    .notification-icon.notification {
        background: #f0fef5;
    }

.notification-content {
    flex: 1;
}

.notification-header {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    align-items: flex-start;
}

.type-label {
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.notification-header h3 {
    margin: 5px 0 8px;
    font-size: 21px;
    font-weight: 900;
}

.notification-content p {
    color: #466a53;
    margin: 0 0 14px;
    line-height: 1.7;
}

.notification-meta {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

    .notification-meta span {
        background: #f8fcfa;
        color: #466a53;
        padding: 8px 12px;
        border-radius: 999px;
        font-size: 12px;
        font-weight: 800;
    }

.status-badge {
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
}

    .status-badge.pending {
        background: #fef3c7;
        color: #92400e;
    }

    .status-badge.received {
        background: #dcfce7;
        color: #166534;
    }

.receive-btn {
    margin-top: 18px;
    border: none;
    background: #122619;
    color: white;
    padding: 12px 18px;
    border-radius: 14px;
    font-weight: 900;
    cursor: pointer;
}

    .receive-btn:hover {
        background: #365240;
    }

.empty-state {
    background: white;
    border-radius: 28px;
    padding: 50px;
    text-align: center;
    border: 1px solid #eef7f1;
    box-shadow: 0 15px 40px rgba(15, 23, 42, 0.1);
}

.empty-icon {
    font-size: 64px;
    margin-bottom: 16px;
}

.empty-state h3 {
    font-size: 26px;
    font-weight: 900;
}

.empty-state p {
    color: #608f71;
}

@media (max-width: 900px) {
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .notification-card {
        flex-direction: column;
    }

    .notification-header {
        flex-direction: column;
    }
}

@media (max-width: 600px) {
    .stats-grid {
        grid-template-columns: 1fr;
    }

    .notifications-hero h1 {
        font-size: 30px;
    }
}*/
/* CSS for Dashboard component */
/*.operations-dashboard {
    --dashboard-primary: #215936;
    --dashboard-primary-dark: #163d24;
    --dashboard-accent: #3aec7b;
    --dashboard-success: #169c70;
    --dashboard-warning: #e79b20;
    --dashboard-danger: #dc4c64;
    --dashboard-info: #44d077;
    --dashboard-bg: #f4fbf7;
    --dashboard-card: #ffffff;
    --dashboard-border: #e3efe7;
    --dashboard-text: #183222;
    --dashboard-muted: #6a9c7c;
    min-height: 100vh;
    padding: 28px;
    background: var(--dashboard-bg);
    color: var(--dashboard-text);
}

.dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
    margin-bottom: 22px;
}

.dashboard-eyebrow,
.panel-eyebrow {
    display: block;
    margin-bottom: 6px;
    color: var(--dashboard-accent);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.6px;
}

.dashboard-header h1 {
    margin: 0;
    color: var(--dashboard-primary-dark);
    font-size: 32px;
    line-height: 1.2;
}

.dashboard-header p {
    max-width: 720px;
    margin: 8px 0 0;
    color: var(--dashboard-muted);
    font-size: 14px;
    line-height: 1.7;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.last-update {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 150px;
    padding: 10px 14px;
    border: 1px solid var(--dashboard-border);
    border-radius: 12px;
    background: white;
}

.update-indicator {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--dashboard-success);
    box-shadow: 0 0 0 5px rgba(22, 156, 112, 0.12);
}

.last-update small,
.last-update strong {
    display: block;
}

.last-update small {
    color: var(--dashboard-muted);
    font-size: 10px;
}

.last-update strong {
    margin-top: 2px;
    font-size: 12px;
}

.refresh-button,
.clear-filter-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 42px;
    padding: 0 17px;
    border: 0;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 700;
}

.refresh-button {
    color: white;
    background: var(--dashboard-primary);
}

    .refresh-button:disabled {
        cursor: wait;
        opacity: 0.7;
    }

.dashboard-alert {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    margin-bottom: 18px;
    padding: 14px 18px;
    border-radius: 12px;
}

    .dashboard-alert div {
        display: flex;
        flex-direction: column;
        gap: 3px;
    }

    .dashboard-alert button {
        border: 0;
        background: transparent;
        cursor: pointer;
        font-size: 22px;
    }

.dashboard-alert-error {
    border: 1px solid #fac7cf;
    color: #85243a;
    background: #fff0f3;
}

.dashboard-filters {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 20px;
    padding: 16px;
    border: 1px solid var(--dashboard-border);
    border-radius: 15px;
    background: white;
    box-shadow: 0 7px 28px rgba(24, 39, 75, 0.04);
}

.filter-field {
    min-width: 145px;
}

.property-filter {
    min-width: 230px;
}

.search-filter {
    flex: 1;
    min-width: 220px;
}

.filter-field label {
    display: block;
    margin-bottom: 7px;
    color: #50795f;
    font-size: 11px;
    font-weight: 800;
}

.filter-field select,
.filter-field input,
.dashboard-input {
    width: 100%;
    height: 42px;
    padding: 0 12px;
    border: 1px solid #d9eadf;
    border-radius: 9px;
    outline: 0;
    color: var(--dashboard-text);
    background: white;
    font-size: 13px;
}

    .filter-field select:focus,
    .filter-field input:focus,
    .dashboard-input:focus {
        border-color: var(--dashboard-accent);
        box-shadow: 0 0 0 3px rgba(45, 127, 249, 0.1);
    }

.search-input-wrapper {
    position: relative;
}

    .search-input-wrapper span {
        position: absolute;
        top: 50%;
        left: 12px;
        transform: translateY(-50%);
        color: #7da88d;
    }

    .search-input-wrapper input {
        padding-left: 34px;
    }

.clear-filter-button {
    color: #537c62;
    background: #eef7f1;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
    margin-bottom: 20px;
}

.stat-card {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 115px;
    padding: 18px;
    border: 1px solid var(--dashboard-border);
    border-radius: 15px;
    background: white;
    cursor: pointer;
    box-shadow: 0 8px 28px rgba(24, 39, 75, 0.045);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

    .stat-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 12px 32px rgba(24, 39, 75, 0.09);
    }

.stat-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 13px;
    color: var(--dashboard-primary);
    background: #ebf7ef;
    font-size: 22px;
    font-weight: 800;
}

.stat-card-primary .stat-icon {
    color: white;
    background: var(--dashboard-primary);
}

.stat-card-warning .stat-icon {
    color: #9b6300;
    background: #fff2d8;
}

.stat-card-info .stat-icon {
    color: #32b763;
    background: #e9fdf0;
}

.stat-card-success .stat-icon {
    color: #087653;
    background: #dff6ee;
}

.stat-content {
    min-width: 0;
}

    .stat-content span,
    .stat-content strong,
    .stat-content small {
        display: block;
    }

    .stat-content span {
        color: #608f71;
        font-size: 12px;
        font-weight: 700;
    }

    .stat-content strong {
        margin: 4px 0;
        color: var(--dashboard-primary-dark);
        font-size: 27px;
        line-height: 1;
    }

    .stat-content small {
        color: #84ad93;
        font-size: 11px;
    }

.dashboard-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(310px, 0.8fr);
    gap: 18px;
}

.dashboard-main-column,
.dashboard-side-column {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.dashboard-panel {
    padding: 20px;
    border: 1px solid var(--dashboard-border);
    border-radius: 15px;
    background: var(--dashboard-card);
    box-shadow: 0 8px 28px rgba(24, 39, 75, 0.045);
}

.panel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 18px;
}

    .panel-header h2 {
        margin: 0;
        color: var(--dashboard-primary-dark);
        font-size: 18px;
    }

.panel-total,
.alert-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 11px;
    border-radius: 999px;
    color: #4f765d;
    background: #edf7f1;
    font-size: 11px;
    font-weight: 800;
}

.alert-count {
    min-width: 30px;
    padding: 0;
    color: #9a293e;
    background: #ffebef;
}

.text-action {
    border: 0;
    color: var(--dashboard-accent);
    background: transparent;
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
}

.pipeline-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.pipeline-item {
    padding: 14px;
    border: 1px solid var(--dashboard-border);
    border-radius: 12px;
    text-align: left;
    background: #fafffc;
    cursor: pointer;
}

    .pipeline-item span,
    .pipeline-item strong,
    .pipeline-item small {
        display: block;
    }

    .pipeline-item span {
        color: #5f8e70;
        font-size: 11px;
        font-weight: 700;
    }

    .pipeline-item strong {
        margin: 5px 0;
        color: var(--dashboard-primary-dark);
        font-size: 23px;
    }

    .pipeline-item small {
        color: #8fb59d;
    }

    .pipeline-item.active {
        border-color: var(--dashboard-accent);
        background: #effdf4;
        box-shadow: 0 0 0 3px rgba(45, 127, 249, 0.09);
    }

.table-wrapper {
    overflow-x: auto;
}

.dashboard-table {
    width: 100%;
    border-collapse: collapse;
    white-space: nowrap;
}

    .dashboard-table th {
        padding: 11px 10px;
        border-bottom: 1px solid var(--dashboard-border);
        color: #74a385;
        text-align: left;
        font-size: 10px;
        letter-spacing: 0.4px;
        text-transform: uppercase;
    }

    .dashboard-table td {
        padding: 13px 10px;
        border-bottom: 1px solid #edf5f0;
        color: #3c5b47;
        font-size: 12px;
        vertical-align: middle;
    }

    .dashboard-table tbody tr:hover {
        background: #fafffc;
    }

.report-number-cell,
.date-cell {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

    .report-number-cell strong {
        color: var(--dashboard-primary-dark);
    }

    .report-number-cell span,
    .date-cell span {
        max-width: 180px;
        overflow: hidden;
        color: #84ad93;
        font-size: 10px;
        text-overflow: ellipsis;
    }

.type-badge,
.status-badge,
.media-yes,
.media-no {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 0 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
}

.type-badge {
    color: #517a60;
    background: #edf7f1;
}

.status-opened {
    color: #a56900;
    background: #fff2d7;
}

.status-submitted {
    color: #28a456;
    background: #e7fdef;
}

.status-sent {
    color: #087453;
    background: #dff5ed;
}

.status-default {
    color: #557f64;
    background: #ecf3ef;
}

.media-yes {
    color: #087453;
    background: #e2f6ef;
}

.media-no {
    color: #9a293e;
    background: #ffebef;
}

.row-actions {
    display: flex;
    gap: 6px;
}

    .row-actions button {
        min-height: 29px;
        padding: 0 10px;
        border: 1px solid #dcece2;
        border-radius: 7px;
        color: #456952;
        background: white;
        cursor: pointer;
        font-size: 10px;
        font-weight: 800;
    }

        .row-actions button:hover {
            color: white;
            border-color: var(--dashboard-primary);
            background: var(--dashboard-primary);
        }

.report-types-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
}

.report-type-card {
    padding: 15px;
    border: 1px solid var(--dashboard-border);
    border-radius: 12px;
    background: #fbfefc;
}

    .report-type-card > div:first-child {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .report-type-card span {
        color: #608f71;
        font-size: 11px;
        font-weight: 700;
    }

    .report-type-card strong {
        color: var(--dashboard-primary-dark);
        font-size: 18px;
    }

.progress-track {
    height: 6px;
    margin: 12px 0 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #e8f3ec;
}

.progress-value {
    height: 100%;
    border-radius: inherit;
    background: var(--dashboard-accent);
}

.report-type-card small {
    color: #85ad94;
    font-size: 10px;
}

.structure-summary-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

    .structure-summary-grid > div {
        padding: 13px;
        border-radius: 11px;
        background: #f5fcf8;
    }

    .structure-summary-grid span,
    .structure-summary-grid strong {
        display: block;
    }

    .structure-summary-grid span {
        color: #6e9e80;
        font-size: 10px;
    }

    .structure-summary-grid strong {
        margin-top: 5px;
        color: var(--dashboard-primary-dark);
        font-size: 20px;
    }

.buildings-list {
    display: flex;
    flex-direction: column;
    gap: 9px;
    margin-top: 15px;
}

.building-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    padding: 12px 14px;
    border: 1px solid #e5f0e9;
    border-radius: 10px;
}

    .building-row strong,
    .building-row span {
        display: block;
    }

    .building-row strong {
        font-size: 12px;
    }

    .building-row span {
        margin-top: 3px;
        color: #7ca88c;
        font-size: 10px;
    }

.building-metrics {
    display: flex;
    gap: 14px;
}

.alerts-list {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.dashboard-issue {
    display: grid;
    grid-template-columns: 34px 1fr auto;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 11px;
    border: 1px solid #e5f0e9;
    border-radius: 11px;
    text-align: left;
    background: white;
    cursor: pointer;
}

.issue-symbol {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 9px;
    font-weight: 900;
}

.issue-danger .issue-symbol {
    color: #a22b40;
    background: #ffebef;
}

.issue-warning .issue-symbol {
    color: #996100;
    background: #fff1d4;
}

.issue-info .issue-symbol {
    color: #29a456;
    background: #e9fdf0;
}

.issue-content {
    min-width: 0;
}

    .issue-content strong,
    .issue-content small {
        display: block;
    }

    .issue-content strong {
        color: #284a35;
        font-size: 11px;
    }

    .issue-content small {
        margin-top: 3px;
        overflow: hidden;
        color: #7ea98e;
        font-size: 10px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.issue-count {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 27px;
    height: 27px;
    padding: 0 7px;
    border-radius: 999px;
    color: #4b7059;
    background: #edf5f0;
    font-size: 10px;
    font-weight: 800;
}

.pdf-summary {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 14px;
    border-radius: 12px;
    background: #fff4f4;
}

.pdf-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 47px;
    height: 47px;
    border-radius: 11px;
    color: white;
    background: #d94747;
    font-size: 12px;
    font-weight: 900;
}

.pdf-summary strong,
.pdf-summary span {
    display: block;
}

.pdf-summary strong {
    color: #822a2a;
    font-size: 22px;
}

.pdf-summary span {
    color: #9a6161;
    font-size: 10px;
}

.side-metric {
    display: flex;
    justify-content: space-between;
    margin-top: 11px;
    padding: 11px 0;
    border-bottom: 1px solid #edf5f0;
    color: #608f71;
    font-size: 11px;
}

.panel-note {
    margin: 12px 0 0;
    color: #82ab91;
    font-size: 10px;
    line-height: 1.65;
}

.email-metrics {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

    .email-metrics div {
        padding: 14px;
        border-radius: 11px;
        background: #f5fcf8;
    }

    .email-metrics span,
    .email-metrics strong {
        display: block;
    }

    .email-metrics span {
        color: #74a285;
        font-size: 10px;
    }

    .email-metrics strong {
        margin-top: 5px;
        color: var(--dashboard-primary-dark);
        font-size: 21px;
    }

.activity-list {
    display: flex;
    flex-direction: column;
}

.activity-item {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 10px;
    width: 100%;
    padding: 11px 0;
    border: 0;
    border-bottom: 1px solid #edf5f0;
    text-align: left;
    background: transparent;
    cursor: pointer;
}

    .activity-item:last-child {
        border-bottom: 0;
    }

.activity-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 9px;
    color: #517960;
    background: #edf5f0;
    font-weight: 900;
}

.activity-warning {
    color: #996100;
    background: #fff1d4;
}

.activity-info {
    color: #29a456;
    background: #e9fdf0;
}

.activity-success {
    color: #087453;
    background: #dff5ed;
}

.activity-item strong,
.activity-item small,
.activity-item time {
    display: block;
}

.activity-item strong {
    color: #32553f;
    font-size: 11px;
}

.activity-item small {
    margin-top: 2px;
    color: #79a68a;
    font-size: 10px;
}

.activity-item time {
    margin-top: 4px;
    color: #9abca7;
    font-size: 9px;
}

.empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 210px;
    text-align: center;
}

    .empty-state.compact {
        min-height: 140px;
    }

.empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: 10px;
    border-radius: 13px;
    color: var(--dashboard-primary);
    background: #ebf7f0;
    font-size: 21px;
    font-weight: 900;
}

.empty-state strong {
    color: #32553f;
    font-size: 13px;
}

.empty-state span {
    max-width: 370px;
    margin-top: 5px;
    color: #82ac91;
    font-size: 11px;
    line-height: 1.6;
}

.dashboard-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 420px;
    gap: 14px;
    color: var(--dashboard-muted);
}

.inline-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 140px;
    color: var(--dashboard-muted);
    font-size: 12px;
}

.large-spinner,
.small-spinner,
.button-spinner {
    border-radius: 50%;
    border-style: solid;
    border-color: #ddece2;
    border-top-color: var(--dashboard-accent);
    animation: dashboard-spin 0.8s linear infinite;
}

.large-spinner {
    width: 38px;
    height: 38px;
    border-width: 4px;
}

.small-spinner {
    width: 22px;
    height: 22px;
    border-width: 3px;
}

.button-spinner {
    width: 15px;
    height: 15px;
    border-width: 2px;
    border-color: rgba(255, 255, 255, 0.4);
    border-top-color: white;
}

@keyframes dashboard-spin {
    to {
        transform: rotate(360deg);
    }
}*/
/* =========================================================
   RESPONSIVE DESIGN
   ========================================================= */

/* منع أي عنصر Grid أو Flex من توسيع الصفحة */
/*.operations-dashboard,
.dashboard-content-grid,
.dashboard-main-column,
.dashboard-side-column,
.dashboard-panel,
.dashboard-filters,
.dashboard-header,
.header-actions {
    min-width: 0;
    max-width: 100%;
}*/

/* الأجهزة المتوسطة والتابلت */
/*@media (max-width: 1250px) {
    .stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-content-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-side-column {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}*/

/* التابلت الصغير والهاتف */
/*@media (max-width: 820px) {
    .operations-dashboard {
        width: 100%;
        min-height: 100vh;
        padding: 14px;
        overflow-x: hidden;
    }*/

    /* Header */
    /*.dashboard-header {
        flex-direction: column;
        align-items: stretch;
        gap: 15px;
        margin-bottom: 16px;
    }

        .dashboard-header h1 {
            font-size: 25px;
            line-height: 1.25;
        }

        .dashboard-header p {
            margin-top: 6px;
            font-size: 13px;
            line-height: 1.6;
        }

    .header-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        width: 100%;
        gap: 9px;
    }

    .last-update {
        width: 100%;
        min-width: 0;
        padding: 9px 12px;
    }

    .refresh-button {
        min-width: 105px;
        padding: 0 13px;
    }*/

    /* Alert */
    /*.dashboard-alert {
        align-items: flex-start;
        padding: 12px;
    }

        .dashboard-alert span {
            overflow-wrap: anywhere;
        }*/

    /* Filters */
    /*.dashboard-filters {
        display: grid;
        grid-template-columns: 1fr;
        align-items: stretch;
        gap: 12px;
        padding: 13px;
        border-radius: 13px;
    }

    .filter-field,
    .period-filter,
    .property-filter,
    .search-filter,
    .filter-actions {
        width: 100%;
        min-width: 0;
    }

        .filter-field select,
        .filter-field input,
        .dashboard-input {
            width: 100%;
            min-width: 0;
            height: 45px;
            font-size: 16px;
        }*/

    /*
       16px مهم على iPhone حتى لا يعمل المتصفح
       Zoom تلقائي عند الضغط على الحقل.
    */

    /*.clear-filter-button {
        width: 100%;
        min-height: 44px;
    }*/

    /* Statistics */
    /*.stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .stat-card {
        flex-direction: column;
        align-items: flex-start;
        min-height: 145px;
        padding: 14px;
        gap: 10px;
    }

    .stat-icon {
        flex-basis: 42px;
        width: 42px;
        height: 42px;
        font-size: 19px;
    }

    .stat-content strong {
        font-size: 24px;
    }

    .stat-content span {
        font-size: 11px;
    }

    .stat-content small {
        white-space: normal;
        line-height: 1.4;
    }*/

    /* Main layout */
    /*.dashboard-content-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
        gap: 14px;
    }

    .dashboard-main-column,
    .dashboard-side-column {
        display: flex;
        flex-direction: column;
        width: 100%;
        min-width: 0;
        gap: 14px;
    }

    .dashboard-panel {
        width: 100%;
        min-width: 0;
        padding: 15px;
        border-radius: 13px;
    }

    .panel-header {
        align-items: flex-start;
        gap: 10px;
        margin-bottom: 14px;
    }

        .panel-header h2 {
            font-size: 16px;
            line-height: 1.35;
        }

    .panel-total {
        flex-shrink: 0;
    }*/

    /* Pipeline */
    /*.pipeline-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
    }

    .pipeline-item {
        min-width: 0;
        padding: 12px;
    }

        .pipeline-item strong {
            font-size: 20px;
        }*/

    /* Table */
    /*.table-wrapper {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        border: 1px solid var(--dashboard-border);
        border-radius: 11px;
        -webkit-overflow-scrolling: touch;
    }

    .dashboard-table {
        width: max-content;
        min-width: 900px;
    }

        .dashboard-table th,
        .dashboard-table td {
            padding: 11px 9px;
        }

    .row-actions {
        flex-wrap: nowrap;
    }

        .row-actions button {
            min-height: 34px;
            padding: 0 12px;
        }*/

    /* Report types */
    /*.report-types-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }*/

    /* Property structure */
    /*.structure-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
    }

        .structure-summary-grid > div {
            min-width: 0;
            padding: 12px;
        }

            .structure-summary-grid > div:last-child {
                grid-column: 1 / -1;
            }

    .building-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .building-metrics {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
        gap: 7px;
    }

        .building-metrics span {
            padding: 7px;
            border-radius: 7px;
            text-align: center;
            background: #f5fcf8;
            line-height: 1.4;
        }*/

    /* Alerts */
    /*.dashboard-issue {
        grid-template-columns: 34px minmax(0, 1fr) auto;
    }

    .issue-content small {
        white-space: normal;
        overflow-wrap: anywhere;
    }*/

    /* Email */
    /*.email-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }*/

    /* Activities */
    /*.activity-item {
        grid-template-columns: 34px minmax(0, 1fr);
    }

        .activity-item small {
            line-height: 1.5;
            overflow-wrap: anywhere;
        }*/

    /* Loading */
    /*.dashboard-loading {
        min-height: 300px;
        padding: 25px 10px;
        text-align: center;
    }
}*/

/* الهواتف الصغيرة */
/*@media (max-width: 520px) {
    .operations-dashboard {
        padding: 10px;
    }

    .dashboard-eyebrow,
    .panel-eyebrow {
        font-size: 9px;
        letter-spacing: 1.2px;
    }

    .dashboard-header h1 {
        font-size: 22px;
    }

    .header-actions {
        grid-template-columns: 1fr;
    }

    .last-update,
    .refresh-button {
        width: 100%;
    }

    .refresh-button {
        min-height: 44px;
    }*/

    /* كرت واحد بكل صف على الهواتف الصغيرة */
    /*.stats-grid {
        grid-template-columns: 1fr;
    }

    .stat-card {
        flex-direction: row;
        align-items: center;
        min-height: 100px;
    }

    .pipeline-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .panel-header {
        flex-wrap: wrap;
    }

        .panel-header > div {
            min-width: 0;
            flex: 1;
        }

    .text-action {
        min-height: 34px;
        padding: 0 5px;
    }

    .structure-summary-grid {
        grid-template-columns: 1fr 1fr;
    }

    .building-metrics {
        grid-template-columns: 1fr;
    }

    .email-metrics {
        grid-template-columns: 1fr;
    }

    .pdf-summary {
        align-items: flex-start;
    }
}*/

/* شاشات أصغر من 390px */
/*@media (max-width: 390px) {
    .operations-dashboard {
        padding: 8px;
    }

    .dashboard-panel {
        padding: 12px;
    }

    .dashboard-header h1 {
        font-size: 20px;
    }

    .pipeline-grid {
        grid-template-columns: 1fr;
    }

    .structure-summary-grid {
        grid-template-columns: 1fr;
    }

        .structure-summary-grid > div:last-child {
            grid-column: auto;
        }

    .dashboard-issue {
        grid-template-columns: 32px minmax(0, 1fr);
    }

    .issue-count {
        grid-column: 2;
        justify-self: start;
    }
}*/
/* =========================================================
   Add Employee Page
   ========================================================= */

/*.employee-page,
.employee-page *,
.employee-page *::before,
.employee-page *::after {
    box-sizing: border-box;
}

.card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.employee-page {
    width: 100%;
    max-width: 1400px;
    min-width: 0;
    margin: 0 auto;
    padding: 30px;
}*/

/* =========================================================
   Header
   ========================================================= */

/*.page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 25px;
}

    .page-header > div {
        min-width: 0;
    }

    .page-header h1 {
        margin: 0;
        color: var(--text);
        font-size: 32px;
        font-weight: 700;
        line-height: 1.2;
    }

    .page-header p {
        margin: 6px 0 0;
        color: #608f71;
        font-size: 14px;
    }*/

/* =========================================================
   Main Card
   ========================================================= */

/*.employee-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 28px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 24px;
    background: var(--card);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.06);
}*/

/* =========================================================
   Tabs
   ========================================================= */

/*.tabs {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    max-width: 100%;
    margin-bottom: 30px;
    padding-bottom: 20px;
    overflow-x: auto;
    overflow-y: hidden;
    border-bottom: 1px solid var(--border);
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
}

    .tabs::-webkit-scrollbar {
        height: 5px;
    }

    .tabs::-webkit-scrollbar-thumb {
        border-radius: 999px;
        background: #cce0d3;
    }

.tab {
    flex: 0 0 auto;
    min-width: max-content;
    padding: 12px 18px;
    border: none;
    border-radius: 14px;
    background: var(--box);
    color: var(--text);
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    transition: transform 0.25s ease, background-color 0.25s ease, color 0.25s ease;
}

    .tab:hover {
        transform: translateY(-2px);
    }

    .tab.active {
        background: var(--primary);
        color: #fff;
    }*/

/* =========================================================
   Tab Content
   ========================================================= */

/*.tab-content {
    display: none;
    width: 100%;
    min-width: 0;
}

    .tab-content.active {
        display: block;
        animation: fadeIn 0.25s ease;
    }

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}*/

/* =========================================================
   Section Card
   ========================================================= */

/*.section-card {
    width: 100%;
    min-width: 0;
    padding: 22px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: var(--card);
}

.section-header {
    margin-bottom: 22px;
}

    .section-header h3 {
        margin: 0;
        color: var(--text);
        font-size: 19px;
        font-weight: 800;
    }

    .section-header span {
        display: block;
        margin-top: 5px;
        color: #608f71;
        font-size: 13px;
    }*/

/* =========================================================
   Form Grid
   ========================================================= */

/*.form-grid {
    display: grid;
    grid-template-columns: repeat( auto-fit, minmax(min(260px, 100%), 1fr) );
    gap: 18px;
    width: 100%;
    min-width: 0;
}

.field {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

    .field.full-width {
        grid-column: 1 / -1;
    }

    .field label {
        margin-bottom: 8px;
        color: #608f71;
        font-size: 13px;
        font-weight: 600;
    }

    .field input:not([type="checkbox"]),
    .field select,
    .field textarea {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        height: 48px;
        padding: 0 14px;
        border: 1px solid var(--border);
        border-radius: 12px;
        outline: none;
        background: var(--bg);
        color: var(--text);
        font-family: inherit;
        font-size: 14px;
        transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }

    .field textarea {
        min-height: 110px;
        height: auto;
        padding-top: 12px;
        padding-bottom: 12px;
        resize: vertical;
    }

        .field input:not([type="checkbox"]):focus,
        .field select:focus,
        .field textarea:focus {
            border-color: var(--primary);
            box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.15);
        }

    .field input[type="checkbox"] {
        width: 20px;
        height: 20px;
        margin: 12px 0;
        accent-color: var(--primary);
        cursor: pointer;
    }*/

/* =========================================================
   Contacts
   ========================================================= */

/*.contact-row {
    display: grid;
    grid-template-columns: minmax(140px, 180px) minmax(180px, 1fr) 44px auto;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-width: 0;
    margin-bottom: 15px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--box);
}

    .contact-row input:not([type="checkbox"]),
    .contact-row select {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        height: 48px;
        padding: 0 14px;
        border: 1px solid var(--border);
        border-radius: 12px;
        outline: none;
        background: var(--bg);
        color: var(--text);
        font-family: inherit;
    }

        .contact-row input:not([type="checkbox"]):focus,
        .contact-row select:focus {
            border-color: var(--primary);
            box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.12);
        }

    .contact-row input[type="checkbox"] {
        width: 20px;
        height: 20px;
        margin: 0 auto;
        accent-color: var(--primary);
        cursor: pointer;
    }*/

/* =========================================================
   Multi Cards
   ========================================================= */

/*.multi-card {
    width: 100%;
    min-width: 0;
    margin-bottom: 18px;
    padding: 18px;
    border: 1px solid #e3ede7;
    border-radius: 18px;
    background: #f8fcfa;
}

.multi-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
}

    .multi-header h4 {
        min-width: 0;
        margin: 0;
        color: #102919;
        font-size: 16px;
        font-weight: 800;
    }*/

/* =========================================================
   Buttons
   ========================================================= */

/*.save-btn {
    flex: 0 0 auto;
    padding: 14px 24px;
    border: none;
    border-radius: 14px;
    background: linear-gradient( 135deg, #2de370, #44ed82 );
    color: #fff;
    font-family: inherit;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

    .save-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 18px rgba(22, 163, 74, 0.22);
    }

.secondary-btn {
    max-width: 100%;
    margin-top: 10px;
    padding: 12px 18px;
    border: none;
    border-radius: 12px;
    background: var(--box);
    color: var(--text);
    font-family: inherit;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

    .secondary-btn:hover {
        background: var(--primary);
        color: #fff;
    }

.danger-small-btn {
    flex: 0 0 auto;
    padding: 8px 12px;
    border: none;
    border-radius: 10px;
    background: #fee2e2;
    color: #991b1b;
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

    .danger-small-btn:hover {
        background: #dc2626;
        color: #fff;
    }*/

/* =========================================================
   Permissions
   ========================================================= */

/*.permission-grid {
    display: grid;
    grid-template-columns: repeat( auto-fit, minmax(min(300px, 100%), 1fr) );
    gap: 18px;
    width: 100%;
    min-width: 0;
}

.permission-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-width: 0;
    padding: 22px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: var(--card);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

    .permission-card > div {
        min-width: 0;
    }

    .permission-card h4 {
        margin: 0;
        color: var(--text);
        font-size: 15px;
        font-weight: 800;
    }

    .permission-card p {
        margin: 5px 0 0;
        color: #608f71;
        font-size: 13px;
    }

    .permission-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06);
    }*/

/* =========================================================
   Switch
   ========================================================= */

/*.switch {
    position: relative;
    display: inline-block;
    flex: 0 0 58px;
    width: 58px;
    height: 32px;
}

    .switch input {
        width: 0;
        height: 0;
        opacity: 0;
    }

.slider {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: #cce0d3;
    cursor: pointer;
    transition: 0.3s;
}

    .slider::before {
        content: "";
        position: absolute;
        top: 4px;
        left: 4px;
        width: 24px;
        height: 24px;
        border-radius: 50%;
        background: #fff;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
        transition: 0.3s;
    }

.switch input:checked + .slider {
    background: var(--primary);
}

    .switch input:checked + .slider::before {
        transform: translateX(26px);
    }*/

/* =========================================================
   Contact Select
   ========================================================= */

/*.contact-select {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: 48px;
    padding: 0 14px;
    border: 1px solid var(--border);
    border-radius: 12px;
    outline: none;
    background: var(--card);
    color: var(--text);
    font-size: 14px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

    .contact-select:focus {
        border-color: var(--primary);
        box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.15);
    }*/

/* =========================================================
   Tablet
   ========================================================= */

/*@media (max-width: 900px) {
    .employee-page {
        padding: 20px;
    }

    .page-header {
        align-items: stretch;
        flex-direction: column;
    }

    .save-btn {
        width: 100%;
    }

    .employee-card {
        padding: 22px;
        border-radius: 20px;
    }

    .contact-row {
        grid-template-columns: minmax(140px, 180px) minmax(180px, 1fr) 44px;
    }

        .contact-row .danger-small-btn {
            grid-column: 1 / -1;
            width: 100%;
        }
}*/

/* =========================================================
   Mobile
   ========================================================= */

/*@media (max-width: 650px) {
    .card {
        overflow: visible;
    }

    .employee-page {
        padding: 12px;
    }

    .page-header {
        gap: 14px;
        margin-bottom: 16px;
    }

        .page-header h1 {
            font-size: 24px;
        }

        .page-header p {
            font-size: 13px;
        }

    .save-btn {
        min-height: 48px;
        padding: 12px 16px;
    }

    .employee-card {
        padding: 14px;
        overflow: visible;
        border-radius: 16px;
    }

    .tabs {
        flex-wrap: nowrap;
        gap: 8px;
        margin-bottom: 20px;
        padding-bottom: 12px;
    }

    .tab {
        padding: 10px 14px;
        border-radius: 10px;
        font-size: 13px;
    }

    .section-card {
        padding: 14px;
        border-radius: 14px;
    }

    .section-header {
        margin-bottom: 16px;
    }

        .section-header h3 {
            font-size: 17px;
        }

    .form-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .field.full-width {
        grid-column: auto;
    }

    .field input:not([type="checkbox"]),
    .field select,
    .field textarea,
    .contact-select {
        font-size: 16px;
    }

    .contact-row {
        display: flex;
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
        padding: 12px;
    }

        .contact-row input[type="checkbox"] {
            margin: 8px 0;
        }

        .contact-row .danger-small-btn {
            width: 100%;
        }

    .multi-card {
        padding: 14px;
        border-radius: 14px;
    }

    .multi-header {
        align-items: flex-start;
    }

    .permission-grid {
        grid-template-columns: 1fr;
    }

    .permission-card {
        gap: 12px;
        padding: 16px;
    }

    .secondary-btn {
        width: 100%;
        min-height: 46px;
    }
}*/

/* =========================================================
   Very Small Phones
   ========================================================= */

/*@media (max-width: 380px) {
    .employee-page {
        padding: 8px;
    }

    .employee-card {
        padding: 10px;
    }

    .section-card {
        padding: 11px;
    }

    .multi-header {
        align-items: stretch;
        flex-direction: column;
    }

        .multi-header .danger-small-btn {
            width: 100%;
        }

    .permission-card {
        align-items: flex-start;
    }
}

.filters {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.status-card {
    background: #fff;
    padding: 15px;
    border-radius: 12px;
    margin-top: 20px;
    box-shadow: 0 2px 10px rgba(0,0,0,.08);
}

.table {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    overflow: hidden;
}

    .table > :not(caption) > * > * {
        background: rgba(255, 255, 255, 0.2);
    }

.employee-profile-page {
    min-height: 100vh;
    padding: 28px;
    background: radial-gradient(circle at top left, rgba(59,130,246,.18), transparent 35%), radial-gradient(circle at top right, rgba(16,185,129,.14), transparent 30%), #f6fcf8;
}

.hero-profile {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding: 28px;
    border-radius: 30px;
    background: linear-gradient(135deg, #102919, #1f3a29);
    color: white;
    box-shadow: 0 25px 70px rgba(15,23,42,.28);
}

.hero-left {
    display: flex;
    align-items: center;
    gap: 22px;
}

.avatar {
    width: 92px;
    height: 92px;
    border-radius: 28px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #44ec81, #22c55e);
    color: white;
    font-size: 30px;
    font-weight: 900;
    box-shadow: inset 0 0 0 4px rgba(255,255,255,.18);
}

.eyebrow {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .16em;
    color: #9bf5bc;
    font-weight: 800;
}

.hero-profile h1 {
    margin: 6px 0;
    font-size: 36px;
    font-weight: 900;
}

.hero-profile p {
    margin: 0;
    color: #cce0d3;
}

.hero-tags {
    display: flex;
    gap: 10px;
    margin-top: 14px;
    flex-wrap: wrap;
}

    .hero-tags span,
    .status-pill {
        padding: 8px 14px;
        border-radius: 999px;
        background: rgba(255,255,255,.12);
        color: white;
        font-weight: 800;
        font-size: 13px;
    }

        .status-pill.active {
            background: #16a34a;
        }

        .status-pill.suspended {
            background: #f59e0b;
        }

        .status-pill.terminated {
            background: #dc2626;
        }

.hero-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.action-btn {
    border: 0;
    border-radius: 14px;
    padding: 11px 16px;
    color: white;
    font-weight: 900;
    cursor: pointer;
    transition: .2s;
}

    .action-btn:hover {
        transform: translateY(-2px);
    }

    .action-btn.success {
        background: #16a34a;
    }

    .action-btn.warning {
        background: #f59e0b;
    }

    .action-btn.danger {
        background: #dc2626;
    }

    .action-btn.dark {
        background: #466a53;
    }

.quick-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin: 22px 0;
}

.stat-card {
    padding: 22px;
    border-radius: 24px;
    background: rgba(255,255,255,.84);
    backdrop-filter: blur(12px);
    box-shadow: 0 18px 40px rgba(15,23,42,.08);
    border: 1px solid rgba(255,255,255,.8);
}

    .stat-card span {
        color: #608f71;
        font-weight: 800;
        font-size: 13px;
    }

    .stat-card strong {
        display: block;
        margin-top: 8px;
        font-size: 30px;
        color: #102919;
    }

.profile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.profile-card {
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(226,232,240,.9);
    border-radius: 26px;
    padding: 24px;
    box-shadow: 0 18px 45px rgba(15,23,42,.08);
}

    .profile-card.wide {
        grid-column: 1 / -1;
    }

.card-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    margin-bottom: 18px;
}

    .card-head span {
        color: #608f71;
        font-size: 12px;
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: .1em;
    }

    .card-head h3 {
        margin: 4px 0 0;
        color: #102919;
        font-size: 20px;
        font-weight: 900;
    }

.card-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: #f1f9f4;
    font-size: 24px;
}

.info-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

    .info-grid div {
        padding: 16px;
        border-radius: 18px;
        background: #f8fcfa;
    }

    .info-grid label {
        display: block;
        color: #608f71;
        font-size: 12px;
        font-weight: 800;
        margin-bottom: 7px;
    }

    .info-grid strong {
        color: #102919;
    }

.list-stack {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.list-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    padding: 14px;
    border-radius: 18px;
    background: #f8fcfa;
    border: 1px solid #e3ede7;
}

    .list-row small {
        display: block;
        margin-top: 3px;
        color: #608f71;
    }

.mini-badge,
.primary-badge {
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
}

    .mini-badge.primary,
    .primary-badge {
        background: #dcfce7;
        color: #166534;
    }

.address-grid,
.emergency-grid,
.license-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.address-card,
.emergency-box,
.license-card {
    padding: 18px;
    border-radius: 22px;
    background: #f8fcfa;
    border: 1px solid #e3ede7;
}

.address-top,
.license-card,
.emergency-box {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
}

    .address-top span {
        background: #ddfce8;
        color: #24d164;
        padding: 6px 10px;
        border-radius: 999px;
        font-size: 12px;
        font-weight: 900;
    }

.primary-address,
.primary-emergency {
    background: linear-gradient(135deg, #f0fdf4, #eefdf3);
    border-color: #22c55e;
}

.address-card p,
.emergency-box p,
.license-card p {
    margin: 8px 0;
    color: #466a53;
}

.contact-line {
    color: #345440;
    margin-top: 6px;
    font-size: 14px;
}

.set-primary-btn,
.renew-btn {
    border: 0;
    border-radius: 12px;
    padding: 10px 14px;
    background: #2de370;
    color: white;
    font-weight: 900;
    cursor: pointer;
}

.renew-btn {
    background: #102919;
}

.attendance-section {
    grid-column: 1 / -1;
    background: white;
    border-radius: 28px;
    padding: 24px;
    box-shadow: 0 18px 45px rgba(15,23,42,.08);
}

.loading-card {
    height: 360px;
    display: grid;
    place-items: center;
    text-align: center;
    background: white;
    border-radius: 28px;
}

.loader {
    width: 46px;
    height: 46px;
    border: 5px solid #ddfce8;
    border-top-color: #2de370;
    border-radius: 50%;
    animation: spin .8s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.renew-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.renew-card {
    width: 420px;
    max-width: 95%;
    background: white;
    border-radius: 24px;
    box-shadow: 0 30px 80px rgba(0,0,0,.28);
    padding: 22px;
}

.renew-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.close-btn {
    border: 0;
    background: #f1f9f4;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    cursor: pointer;
}

@media (max-width: 950px) {
    .hero-profile,
    .hero-left,
    .address-top,
    .license-card,
    .emergency-box {
        flex-direction: column;
        align-items: flex-start;
    }

    .quick-stats,
    .profile-grid,
    .address-grid,
    .emergency-grid,
    .license-grid,
    .info-grid {
        grid-template-columns: 1fr;
    }
}

.attendance-section {
    grid-column: 1 / -1;
    background: #f8fcfa;
    border-radius: 22px;
    padding: 22px;
    border: 1px solid #e3ede7;
}

.attendance-header,
.weekly-title,
.daily-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 18px;
}

.section-label {
    font-size: 12px;
    font-weight: 700;
    color: #608f71;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.attendance-header h3,
.weekly-title h4,
.daily-top h4 {
    margin: 0;
    font-weight: 800;
    color: #102919;
}

.attendance-filter {
    display: flex;
    gap: 10px;
}

.weekly-card,
.daily-card {
    background: white;
    border-radius: 20px;
    padding: 20px;
    margin-top: 18px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
    border: 1px solid #eef7f1;
}

.complete-badge,
.day-status {
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

    .complete-badge.done {
        background: #dcfce7;
        color: #166534;
    }

    .complete-badge.pending {
        background: #fef3c7;
        color: #92400e;
    }

.summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(140px, 1fr));
    gap: 14px;
}

.summary-box {
    border-radius: 16px;
    padding: 16px;
    background: #f8fcfa;
    border: 1px solid #e3ede7;
}

    .summary-box span,
    .time-box span,
    .daily-stats span {
        display: block;
        font-size: 12px;
        color: #608f71;
        margin-bottom: 8px;
    }

    .summary-box strong {
        font-size: 22px;
        color: #102919;
    }

    .summary-box.primary {
        background: #f0fef5;
    }

    .summary-box.success {
        background: #ecfdf5;
    }

    .summary-box.danger {
        background: #fef2f2;
    }

    .summary-box.warning {
        background: #fffbeb;
    }

    .summary-box.orange {
        background: #fff7ed;
    }

    .summary-box.info {
        background: #eefdf3;
    }

    .summary-box.dark {
        background: #f1f9f4;
    }

.shift-timeline {
    display: grid;
    grid-template-columns: repeat(6, minmax(120px, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.time-box {
    background: #f8fcfa;
    border: 1px dashed #cce0d3;
    border-radius: 16px;
    padding: 14px;
    text-align: center;
}

    .time-box strong {
        color: #102919;
    }

.daily-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin: 18px 0;
}

    .daily-stats div {
        padding: 14px;
        border-radius: 14px;
        background: #f8fcfa;
    }

.events-title {
    font-weight: 800;
    margin: 18px 0 10px;
    color: #102919;
}

.events-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.event-row {
    display: grid;
    grid-template-columns: 48px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 14px;
    border-radius: 16px;
    border: 1px solid #e3ede7;
}

    .event-row.accepted {
        background: #f0fdf4;
        border-color: #bbf7d0;
    }

    .event-row.rejected {
        background: #fef2f2;
        border-color: #fecaca;
    }

.event-icon {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    background: white;
    display: grid;
    place-items: center;
    font-size: 20px;
}

.event-name {
    font-weight: 800;
    color: #102919;
}

.event-meta {
    font-size: 12px;
    color: #608f71;
}

.rejection-reason {
    margin-top: 6px;
    font-size: 12px;
    color: #991b1b;
    font-weight: 600;
}

.event-side {
    text-align: right;
}

    .event-side strong {
        display: block;
        color: #102919;
    }

.event-status {
    font-size: 12px;
    color: #466a53;
}

.day-status.shiftended {
    background: #e2fcec;
    color: #0d7f37;
}

@media (max-width: 900px) {
    .summary-grid,
    .shift-timeline,
    .daily-stats {
        grid-template-columns: 1fr 1fr;
    }

    .attendance-header,
    .weekly-title,
    .daily-top {
        flex-direction: column;
        align-items: stretch;
    }
}

@media (max-width: 600px) {
    .summary-grid,
    .shift-timeline,
    .daily-stats {
        grid-template-columns: 1fr;
    }

    .event-row {
        grid-template-columns: 40px 1fr;
    }

    .event-side {
        grid-column: 2;
        text-align: left;
    }
}

.card {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 20px;
    overflow: hidden;
}

.page-title {
    margin: 0 0 20px;
    font-size: 24px;
    font-weight: 700;
    color: #183222;
}

.search-container {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
    align-items: center;
    flex-wrap: wrap;
}

.search-input {
    flex: 3 1 320px;
    min-width: 0;
    padding: 12px 16px;
    border: 1px solid #dcede2;
    border-radius: 12px;
    font-size: 14px;
    outline: none;
    transition: 0.2s;
    box-sizing: border-box;
}

    .search-input:focus {
        border-color: #44ed82;
        box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.1);
    }

.sort-select,
.filter-select {
    flex: 1 1 180px;
    min-width: 160px;
    padding: 11px 14px;
    border-radius: 10px;
    border: 1px solid #dcede2;
    background: #fff;
    box-sizing: border-box;
}

.table-card {
    width: 100%;
    max-width: 100%;
    border: 1px solid #e3ede7;
    border-radius: 16px;
    background: #fff;
    overflow: hidden;
}

.table-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.modern-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
}

    .modern-table th,
    .modern-table td {
        padding: 14px 16px;
        text-align: left;
        border-bottom: 1px solid #edf4f0;
        vertical-align: middle;
    }

    .modern-table th {
        background: #f8fcfa;
        color: #466a53;
        font-size: 13px;
        font-weight: 700;
        white-space: nowrap;
    }

    .modern-table td {
        color: #203628;
        font-size: 14px;
    }

.emp-cell {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 190px;
}

.avatar {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e3fcec;
    color: #2de370;
    font-weight: 700;
    text-transform: uppercase;
}

.emp-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.emp-name {
    font-weight: 700;
    color: #183222;
    overflow-wrap: anywhere;
}

.emp-sub {
    margin-top: 3px;
    font-size: 12px;
    color: #608f71;
}

.badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    border-radius: 999px;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

span.badge.active {
    background: #16a34a;
}

span.badge.archived {
    background: #365240;
}

span.badge.terminated {
    background: #dc2626;
}

span.badge.suspended {
    background: #f59e0b;
}

.action-buttons {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.btn-primary,
.btn-secondary {
    border: none;
    border-radius: 9px;
    padding: 9px 13px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.btn-primary {
    background: #2de370;
    color: #fff;
}

.btn-secondary {
    background: #eef7f1;
    color: #345440;
}

.btn-primary:hover {
    background: #24d164;
}

.btn-secondary:hover {
    background: #e3efe7;
}*/

/* Tablet */
/*@media (max-width: 900px) {
    .card {
        padding: 16px;
    }

    .search-input,
    .sort-select,
    .filter-select {
        width: 100%;
        flex: 1 1 100%;
        min-width: 0;
    }
}*/

/* Mobile */
/*@media (max-width: 650px) {
    .card {
        padding: 12px;
        overflow: visible;
    }

    .page-title {
        font-size: 21px;
    }

    .search-container {
        gap: 8px;
    }

    .search-input,
    .sort-select,
    .filter-select {
        width: 100%;
        min-width: 0;
    }

    .table-card {
        border: none;
        background: transparent;
        overflow: visible;
    }

    .table-wrapper {
        overflow: visible;
    }

    .modern-table {
        min-width: 0;
        width: 100%;
    }

        .modern-table thead {
            display: none;
        }

        .modern-table,
        .modern-table tbody,
        .modern-table tr,
        .modern-table td {
            display: block;
            width: 100%;
            box-sizing: border-box;
        }

            .modern-table tr {
                margin-bottom: 14px;
                padding: 14px;
                border: 1px solid #e3ede7;
                border-radius: 14px;
                background: #fff;
                box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
            }

            .modern-table td {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 12px;
                padding: 10px 0;
                border-bottom: 1px solid #edf4f0;
                text-align: right;
            }

                .modern-table td:last-child {
                    border-bottom: none;
                    padding-bottom: 0;
                }

                .modern-table td::before {
                    content: attr(data-label);
                    flex: 0 0 95px;
                    color: #608f71;
                    font-size: 12px;
                    font-weight: 700;
                    text-align: left;
                }

                .modern-table td:first-child {
                    display: block;
                    padding-top: 0;
                }

                    .modern-table td:first-child::before {
                        display: none;
                    }

    .emp-cell {
        width: 100%;
        min-width: 0;
    }

    .action-buttons {
        width: 100%;
        justify-content: flex-end;
    }

    .btn-primary,
    .btn-secondary {
        flex: 1;
        min-width: 100px;
    }
}

.chat-container {
    height: 500px;
    overflow-y: auto;
    border: 1px solid #ddd;
    border-radius: 15px;
    padding: 15px;
    background: #f5f5f5;
    margin: 20px 0;
}

.message {
    max-width: 70%;
    padding: 12px;
    margin-bottom: 15px;
    border-radius: 15px;
}

.client {
    background: #ddfce8;
    margin-right: auto;
}

.employee {
    background: #dcfce7;
    margin-left: auto;
}

.sender {
    font-weight: bold;
    margin-bottom: 5px;
}

.type-selector {
    display: flex;
    gap: 10px;
}

    .type-selector button {
        padding: 10px 20px;
        border: none;
        border-radius: 10px;
        cursor: pointer;
    }

        .type-selector button.active {
            background: #2de370;
            color: white;
        }

.controls {
    display: flex;
    gap: 10px;
}

    .controls button {
        padding: 12px 20px;
        border: none;
        border-radius: 10px;
        cursor: pointer;
    }

* {
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    max-width: 100%;
    margin: 0;
    overflow-x: hidden;
}

body {
    background: #f3fbf6;
}

.container {
    width: 100%;
    max-width: 1400px;
    min-height: 100vh;
    margin: 0 auto;
    padding: 28px;
    direction: rtl;
    font-family: "Segoe UI", Tahoma, sans-serif;
    color: #1f3a29;
    background: linear-gradient( 135deg, #f0fdf5, rgba(248, 250, 252, 0.3) );
}

h1 {
    margin: 0 0 25px;
    text-align: center;
    font-size: 30px;
    line-height: 1.3;
}

.card-title {
    margin-bottom: 18px;
    color: #102919;
    font-size: 19px;
    font-weight: 800;
}*/

/* Cars tabs */
/*.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 25px;
}

.tab {
    min-width: 135px;
    padding: 12px 22px;
    border: 1px solid #e3efe7;
    border-radius: 15px;
    color: #102919;
    background: white;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

    .tab:hover {
        transform: translateY(-2px);
    }

    .tab small {
        display: block;
        margin-top: 4px;
        color: #608f71;
        font-size: 11px;
    }

    .tab.active {
        color: white;
        border-color: #2de370;
        background: #2de370;
    }

        .tab.active small {
            color: #ddfce8;
        }*/

/* Main cards */
/*.cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px;
}

.card {
    width: 100%;
    min-width: 0;
    min-height: 500px;
    padding: 25px;
    border: 1px solid #e9f4ed;
    border-radius: 25px;
    background: white;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.08);
}*/

/* Available sites */
/*.pill-container {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.pill {
    max-width: 100%;
    padding: 12px 22px;
    overflow: hidden;
    border-radius: 999px;
    color: white;
    background: linear-gradient( 135deg, #4cdf82, #2de370 );
    cursor: grab;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
    touch-action: none;
}

    .pill:active {
        cursor: grabbing;
    }*/

/* Target list */
/*.target-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
    min-height: 350px;
}

.target-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-width: 0;
    padding: 16px 20px;
    border: 2px dashed transparent;
    border-radius: 16px;
    color: #102919;
    background: #f8fcfa;
    cursor: grab;
    font-weight: 700;
    touch-action: none;
}

    .target-item:hover {
        background: #f0fdf5;
    }

    .target-item > span {
        min-width: 0;
        overflow-wrap: anywhere;
    }

.empty {
    padding: 40px 10px;
    color: #94b8a1;
    text-align: center;
}

.delete-btn {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 10px;
    color: #ef4444;
    background: #fee2e2;
    cursor: pointer;
    font-size: 16px;
    transition: transform 0.2s ease, background 0.2s ease;
}

    .delete-btn:hover {
        transform: scale(1.05);
        background: #fecaca;
    }

.save-btn {
    min-width: 180px;
    min-height: 48px;
    padding: 12px 30px;
    border: none;
    border-radius: 12px;
    color: white;
    background: #2de370;
    cursor: pointer;
    font-size: 16px;
    font-weight: 700;
}

    .save-btn:hover {
        background: #24d164;
    }*/

/* Breaks */
/*.break-box {
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid #ddd;
}

.break-title {
    margin-bottom: 10px;
    color: #444;
    font-weight: 700;
}

.break-pill {
    color: #0b6f30;
    border: 1px solid #1de968;
    background: #d2fae1;
}

.site-item {
    background: #ffffff;
}

.ten-break {
    color: #0c7d36;
    border-right: 5px solid #1de968;
    border-left: 0;
    background: #d2fae1;
}

.hour-break {
    color: #721c24;
    border-right: 5px solid #dc3545;
    border-left: 0;
    background: #f8d7da;
}*/

/* Tablet */
/*@media (max-width: 900px) {
    .container {
        padding: 18px;
    }

    .cards {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .card {
        min-height: auto;
    }

    .target-list {
        min-height: 300px;
    }
}*/

/* Mobile */
/*@media (max-width: 600px) {
    .container {
        padding: 12px;
    }

    h1 {
        margin-bottom: 18px;
        font-size: 23px;
    }

    .tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
        margin-bottom: 16px;
    }

    .tab {
        width: 100%;
        min-width: 0;
        min-height: 62px;
        padding: 10px 8px;
        border-radius: 12px;
        font-size: 13px;
    }

    .cards {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .card {
        padding: 15px;
        border-radius: 17px;
    }

    .card-title {
        margin-bottom: 14px;
        font-size: 17px;
    }

    .pill-container {
        gap: 8px;
    }

    .pill {
        padding: 10px 15px;
        font-size: 13px;
    }

    .target-list {
        min-height: 250px;
        gap: 9px;
    }

    .target-item {
        min-height: 58px;
        padding: 10px 12px;
        border-radius: 12px;
        font-size: 13px;
    }

    .delete-btn {
        flex-basis: 36px;
        width: 36px;
        height: 36px;
    }

    .save-btn {
        width: 100%;
        min-height: 50px;
    }

    .break-box {
        margin-top: 16px;
    }
}*/

/* Very small phones */
/*@media (max-width: 380px) {
    .container {
        padding: 8px;
    }

    h1 {
        font-size: 20px;
    }

    .tabs {
        grid-template-columns: 1fr;
    }

    .card {
        padding: 12px;
    }

    .pill {
        width: 100%;
        border-radius: 12px;
        text-align: center;
        white-space: normal;
    }

    .target-item {
        align-items: flex-start;
    }
}

* {
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    max-width: 100%;
    margin: 0;
    overflow-x: hidden;
}

body {
    background: #f3fbf6;
}

.container {
    width: 100%;
    max-width: 1400px;
    min-height: 100vh;
    margin: 0 auto;
    padding: 28px;
    direction: rtl;
    font-family: "Segoe UI", Tahoma, sans-serif;
    color: #1f3a29;
    background: linear-gradient( 135deg, #f0fdf5, rgba(248, 250, 252, 0.3) );
}

h1 {
    margin: 0 0 25px;
    text-align: center;
    font-size: 30px;
    line-height: 1.3;
}

.card-title {
    margin-bottom: 18px;
    color: #102919;
    font-size: 19px;
    font-weight: 800;
}

.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 25px;
}

.tab {
    min-width: 130px;
    padding: 12px 22px;
    border: 1px solid #e3efe7;
    border-radius: 15px;
    color: #102919;
    background: white;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

    .tab:hover {
        transform: translateY(-2px);
    }

    .tab.active {
        color: white;
        border-color: #2de370;
        background: #2de370;
    }

.cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px;
}

.card {
    width: 100%;
    min-width: 0;
    min-height: 500px;
    padding: 25px;
    border: 1px solid #e9f4ed;
    border-radius: 25px;
    background: white;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.08);
}

.pill-container {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.pill {
    max-width: 100%;
    padding: 12px 22px;
    overflow: hidden;
    border-radius: 999px;
    color: white;
    background: linear-gradient( 135deg, #4cdf82, #2de370 );
    cursor: grab;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
    touch-action: none;
}

    .pill:active {
        cursor: grabbing;
    }

.target-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
    min-height: 350px;
}

.target-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-width: 0;
    padding: 16px 20px;
    border: 2px dashed transparent;
    border-radius: 16px;
    color: #102919;
    background: #f8fcfa;
    cursor: grab;
    font-weight: 700;
    touch-action: none;
}

    .target-item:hover {
        background: #f0fdf5;
    }

    .target-item > span {
        min-width: 0;
        overflow-wrap: anywhere;
    }

.site-item {
    color: #102919;
    background: transparent;
}

.empty {
    padding: 40px 10px;
    color: #94b8a1;
    text-align: center;
}

.delete-btn {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 10px;
    color: #ef4444;
    background: #fee2e2;
    cursor: pointer;
    font-size: 16px;
    transition: transform 0.2s ease, background 0.2s ease;
}

    .delete-btn:hover {
        transform: scale(1.05);
        background: #fecaca;
    }

.save-actions {
    margin-top: 20px;
    text-align: center;
}

.save-btn {
    min-width: 180px;
    min-height: 48px;
    padding: 12px 30px;
    border: none;
    border-radius: 12px;
    color: white;
    background: #2de370;
    cursor: pointer;
    font-size: 16px;
    font-weight: 700;
}

    .save-btn:hover {
        background: #24d164;
    }

.break-box {
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid #ddd;
}

.break-title {
    margin-bottom: 10px;
    color: #444;
    font-weight: 700;
}

.break-pill {
    color: #0b6f30;
    border: 1px solid #1de968;
    background: #d2fae1;
}

.ten-break {
    color: #856404;
    border-right: 5px solid #ffc107;
    border-left: 0;
    background: #fff3cd;
}

.hour-break {
    color: #721c24;
    border-right: 5px solid #dc3545;
    border-left: 0;
    background: #f8d7da;
}*/

/* Tablet */
/*@media (max-width: 900px) {
    .container {
        padding: 18px;
    }

    .cards {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .card {
        min-height: auto;
    }

    .target-list {
        min-height: 280px;
    }
}*/

/* Mobile */
/*@media (max-width: 600px) {
    .container {
        padding: 12px;
    }

    h1 {
        margin-bottom: 18px;
        font-size: 23px;
    }

    .tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
        margin-bottom: 16px;
    }

    .tab {
        width: 100%;
        min-width: 0;
        min-height: 54px;
        padding: 10px 8px;
        border-radius: 12px;
        font-size: 13px;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    .cards {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .card {
        min-height: auto;
        padding: 15px;
        border-radius: 17px;
    }

    .card-title {
        margin-bottom: 14px;
        font-size: 17px;
    }

    .pill-container {
        gap: 8px;
    }

    .pill {
        padding: 10px 15px;
        font-size: 13px;
    }

    .target-list {
        min-height: 220px;
        gap: 9px;
    }

    .target-item {
        min-height: 58px;
        padding: 10px 12px;
        border-radius: 12px;
        font-size: 13px;
    }

    .delete-btn {
        flex-basis: 36px;
        width: 36px;
        height: 36px;
    }

    .save-actions {
        margin-top: 14px;
    }

    .save-btn {
        width: 100%;
        min-height: 50px;
    }
}*/

/* Very small phones */
/*@media (max-width: 380px) {
    .container {
        padding: 8px;
    }

    h1 {
        font-size: 20px;
    }

    .tabs {
        grid-template-columns: 1fr;
    }

    .card {
        padding: 12px;
    }

    .pill {
        width: 100%;
        border-radius: 12px;
        text-align: center;
        white-space: normal;
    }

    .target-item {
        align-items: center;
    }
}

.chat-page {
    height: 100vh;
    display: flex;
    flex-direction: column;
}


.chat-header {
    background: #ffffff14;
    padding: 18px 24px;
    display: flex;
    align-items: center;
    gap: 20px;
    box-shadow: 0 4px 15px rgba(0,0,0,.06);
}

.back-btn {
    border: none;
    background: #f1f9f4;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    cursor: pointer;
    font-size: 18px;
}

.chat-user {
    display: flex;
    align-items: center;
    gap: 15px;
}

    .chat-user h3 {
        margin: 0;
    }

.status {
    color: #608f71;
    font-size: 13px;
}

.avatar {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
}

.owner {
    background: rgba(250,204,21,.18);
}

.manager {
    background: rgba(37,99,235,.18);
}

.dispatch {
    background: rgba(168,85,247,.18);
}

.guard {
    background: rgba(22,163,74,.18);
}


.messages-container {
    flex: 1;
    overflow-y: auto;
    padding: 25px;
}

.message-row {
    display: flex;
    margin-bottom: 15px;
}

    .message-row.mine {
        justify-content: flex-end;
    }

    .message-row.other {
        justify-content: flex-start;
    }

.message-bubble {
    max-width: 70%;
    padding: 14px 18px;
    border-radius: 18px;
}

.mine .message-bubble {
    background: #0050ffd1;
    color: white;
    border-bottom-right-radius: 6px;
}

.other .message-bubble {
    background: #ffffff2e;
    border-bottom-left-radius: 6px;
    box-shadow: 0 4px 15px rgba(0,0,0,.06);
}

.message-time {
    font-size: 11px;
    margin-top: 8px;
    opacity: .7;
}


.chat-input {
    background: #ffffff14;
    padding: 20px;
    display: flex;
    gap: 12px;
    box-shadow: 0 -4px 15px rgba(0,0,0,.05);
}

    .chat-input input {
        flex: 1;
        border: 1px solid #dce9e1;
        border-radius: 14px;
        padding: 14px 18px;
        outline: none;
    }

    .chat-input button {
        width: 56px;
        border: none;
        border-radius: 14px;
        background: #2de370;
        color: white;
        cursor: pointer;
        font-size: 18px;
    }

@media (max-width: 768px) {

    .messages-container {
        padding: 15px;
    }

    .message-bubble {
        max-width: 90%;
    }

    .chat-input {
        padding: 15px;
    }
}

.messages-page {
    padding: 30px;
    min-height: 100vh;
}

.messages-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

.subtitle {
    color: #608f71;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
}

.messages-header h1 {
    margin: 5px 0 0;
}

.online-count {
    background: #ffffff38;
    padding: 12px 18px;
    border-radius: 14px;
    box-shadow: 0 5px 18px rgba(0,0,0,.06);
    font-weight: 700;
}

.users-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.user-card {
    background: #ffffff21;
    border-radius: 22px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 20px;
    cursor: pointer;
    transition: .25s;
    box-shadow: 0 8px 25px rgba(15,23,42,.06);
}

    .user-card:hover {
        transform: translateY(-3px);
    }

.user-avatar {
    width: 70px;
    height: 70px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    position: relative;
}

.owner {
    background: rgba(250,204,21,.15);
}

.manager {
    background: rgba(37,99,235,.15);
}

.dispatch {
    background: rgba(168,85,247,.15);
}

.guard {
    background: rgba(22,163,74,.15);
}

.online-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #22c55e;
    border: 3px solid white;
    position: absolute;
    right: 4px;
    bottom: 4px;
}

.user-info {
    flex: 1;
}

.top-row,
.bottom-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

    .top-row h3 {
        margin: 0;
    }

.time {
    color: #608f71;
    font-size: 13px;
}

.message-preview {
    color: #608f71;
    margin-top: 8px;
}

.unread-badge {
    min-width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #2de370;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 768px) {

    .messages-page {
        padding: 15px;
    }

    .messages-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    .user-card {
        padding: 16px;
    }
}

.add-car-page {
    max-width: 1100px;
    margin: 30px auto;
    padding: 10px;
}

.add-hero {
    background: linear-gradient(135deg, #122619, #203628);
    color: white;
    border-radius: 28px;
    padding: 34px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18);
}

.page-label {
    color: #9bf5bc;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 800;
}

.add-hero h1 {
    font-size: 40px;
    margin: 8px 0;
    font-weight: 900;
}

.add-hero p {
    color: #ceded4;
    margin: 0;
}

.form-card {
    margin-top: 24px;
    border-radius: 28px;
    padding: 30px;
    border: 1px solid #eef7f1;
    box-shadow: 0 15px 40px rgba(15, 23, 42, 0.08);
}

.form-section-title {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 26px;
}

.section-icon {
    width: 62px;
    height: 62px;
    border-radius: 20px;
    background: #f0fef5;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
}

.form-section-title h3 {
    margin: 0;
    font-size: 24px;
    font-weight: 900;
}

.form-section-title p {
    margin: 5px 0 0;
    color: #608f71;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    color: #345440;
    font-size: 14px;
    font-weight: 800;
}

.form-control-custom {
    width: 100%;
    border: 1px solid #e3efe7;
    background: #f8fcfa;
    border-radius: 16px;
    padding: 14px 16px;
    color: #122619;
    font-weight: 700;
    outline: none;
    transition: 0.2s ease;
}

    .form-control-custom:focus {
        background: white;
        border-color: #2de370;
        box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.12);
    }

.textarea {
    resize: vertical;
    min-height: 130px;
}

.full-width {
    grid-column: 1 / -1;
}

.actions-row {
    margin-top: 28px;
    display: flex;
    gap: 12px;
    justify-content: flex-end;
}

.save-btn {
    border: none;
    background: #2de370;
    color: white;
    padding: 13px 24px;
    border-radius: 16px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 10px 25px rgba(22, 163, 74, 0.35);
}

    .save-btn:hover {
        background: #24d164;
    }

.cancel-btn,
.back-btn {
    border: none;
    background: #122619;
    color: white;
    padding: 13px 22px;
    border-radius: 16px;
    font-weight: 800;
    cursor: pointer;
}

    .cancel-btn:hover,
    .back-btn:hover {
        background: #365240;
    }

@media (max-width: 750px) {
    .add-hero {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .actions-row {
        flex-direction: column;
    }

    .save-btn,
    .cancel-btn {
        width: 100%;
    }
}

.car-details-page {
    max-width: 1100px;
    margin: 30px auto;
    padding: 10px;
}

.hero-card {
    background: linear-gradient(135deg, #122619, #203628);
    color: white;
    border-radius: 26px;
    padding: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18);
}

.hero-left {
    display: flex;
    align-items: center;
    gap: 22px;
}

.car-icon {
    width: 82px;
    height: 82px;
    border-radius: 24px;
    background: rgba(255,255,255,0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 42px;
}

.page-label {
    color: #9bf5bc;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 700;
}

.hero-card h1 {
    margin: 8px 0;
    font-size: 34px;
    font-weight: 800;
}

.hero-card p {
    margin: 0;
    color: #ceded4;
}

.status-badge {
    padding: 12px 22px;
    border-radius: 999px;
    font-weight: 800;
    font-size: 14px;
}

    .status-badge.active {
        background: #dcfce7;
        color: #166534;
    }

    .status-badge.maintenance {
        background: #fef3c7;
        color: #92400e;
    }

    .status-badge.inactive {
        background: #fee2e2;
        color: #991b1b;
    }

    .status-badge.default {
        background: #e3ede7;
        color: #365240;
    }

.details-grid {
    margin-top: 24px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.info-card {
    border-radius: 22px;
    padding: 22px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
    border: 1px solid #eef7f1;
}

    .info-card span {
        color: #608f71;
        font-size: 13px;
        font-weight: 700;
    }

    .info-card strong {
        display: block;
        margin-top: 8px;
        font-size: 22px;
    }

.description-card {
    margin-top: 24px;
    border-radius: 24px;
    padding: 26px;
    border: 1px solid #eef7f1;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}

    .description-card span {
        color: #2de370;
        font-size: 13px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .description-card h3 {
        margin: 6px 0 14px;
        font-weight: 800;
    }

    .description-card p {
        color: #466a53;
        line-height: 1.8;
    }

.actions-row {
    margin-top: 24px;
}

.back-btn {
    border: none;
    background: #122619;
    color: white;
    padding: 12px 22px;
    border-radius: 14px;
    font-weight: 700;
    cursor: pointer;
}

    .back-btn:hover {
        background: #365240;
    }

.car-not-found {
    max-width: 500px;
    margin: 80px auto;
    text-align: center;
    background: white;
    border-radius: 24px;
    padding: 40px;
    box-shadow: 0 15px 40px rgba(15, 23, 42, 0.1);
}

.not-found-icon {
    font-size: 60px;
    margin-bottom: 15px;
}

.car-not-found h2 {
    font-weight: 800;
    margin-bottom: 10px;
}

.car-not-found p {
    color: #608f71;
    margin-bottom: 25px;
}

@media (max-width: 900px) {
    .hero-card {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .details-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .details-grid {
        grid-template-columns: 1fr;
    }

    .hero-left {
        flex-direction: column;
        align-items: flex-start;
    }

    .hero-card h1 {
        font-size: 26px;
    }
}

.cars-page {
    max-width: 1200px;
    margin: 30px auto;
    padding: 10px;
}

.cars-hero {
    background: linear-gradient(135deg, #122619, #203628);
    color: white;
    border-radius: 28px;
    padding: 34px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18);
}

.page-label {
    color: #9bf5bc;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 800;
}

.cars-hero h1 {
    font-size: 42px;
    margin: 8px 0;
    font-weight: 900;
}

.cars-hero p {
    color: #ceded4;
    margin: 0;
}

.add-car-btn {
    border: none;
    background: #2de370;
    color: white;
    padding: 13px 22px;
    border-radius: 16px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 10px 25px rgba(22, 163, 74, 0.35);
}

    .add-car-btn:hover {
        background: #24d164;
    }

.stats-grid {
    margin-top: 22px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.stat-card {
    border-radius: 22px;
    padding: 22px;
    border: 1px solid #eef7f1;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}

    .stat-card span {
        color: #608f71;
        font-size: 13px;
        font-weight: 800;
    }

    .stat-card strong {
        display: block;
        margin-top: 6px;
        font-size: 32px;
    }

.cars-grid {
    margin-top: 24px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.car-card {
    border-radius: 26px;
    padding: 24px;
    border: 1px solid #eef7f1;
    box-shadow: 0 12px 35px rgba(15, 23, 42, 0.08);
    transition: 0.25s ease;
}

    .car-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 22px 45px rgba(15, 23, 42, 0.14);
    }

.car-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.car-avatar {
    width: 58px;
    height: 58px;
    border-radius: 20px;
    background: #f0fef5;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
}

.status-badge {
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
}

    .status-badge.active {
        background: #dcfce7;
        color: #166534;
    }

    .status-badge.maintenance {
        background: #fef3c7;
        color: #92400e;
    }

    .status-badge.inactive {
        background: #fee2e2;
        color: #991b1b;
    }

    .status-badge.default {
        background: #e3ede7;
        color: #365240;
    }

.car-main {
    margin-top: 20px;
}

    .car-main h3 {
        font-size: 22px;
        font-weight: 900;
        margin-bottom: 8px;
    }

    .car-main p {
        color: #608f71;
        min-height: 45px;
        line-height: 1.6;
    }

.car-info-grid {
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

    .car-info-grid div {
        border-radius: 16px;
        padding: 12px;
    }

    .car-info-grid span {
        color: #608f71;
        font-size: 12px;
        font-weight: 800;
    }

    .car-info-grid strong {
        display: block;
        margin-top: 5px;
        font-size: 14px;
    }

.details-btn {
    width: 100%;
    margin-top: 22px;
    border: none;
    background: #122619;
    color: white;
    padding: 13px;
    border-radius: 16px;
    font-weight: 800;
    cursor: pointer;
}

    .details-btn:hover {
        background: #365240;
    }

.empty-state {
    margin-top: 30px;
    background: white;
    border-radius: 28px;
    padding: 50px;
    text-align: center;
    border: 1px solid #eef7f1;
    box-shadow: 0 15px 40px rgba(15, 23, 42, 0.1);
}

.empty-icon {
    font-size: 64px;
    margin-bottom: 16px;
}

.empty-state h3 {
    font-size: 26px;
    font-weight: 900;
}

.empty-state p {
    color: #608f71;
    margin-bottom: 22px;
}

@media (max-width: 1000px) {
    .cars-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .cars-hero {
        flex-direction: column;
        align-items: flex-start;
        gap: 22px;
    }
}

@media (max-width: 650px) {
    .cars-grid,
    .stats-grid {
        grid-template-columns: 1fr;
    }

    .cars-hero h1 {
        font-size: 32px;
    }

    .car-info-grid {
        grid-template-columns: 1fr;
    }
}*/
/* =========================================================
   Professional Sidebar Navigation
   ========================================================= */

/*:root {
    --sidebar-width: 280px;
    --sidebar-bg: #102919;
    --sidebar-bg-secondary: #183222;
    --sidebar-border: rgba(255, 255, 255, 0.08);
    --nav-text: #94b8a1;
    --nav-text-hover: #ffffff;
    --active-bg: #f8fcfa;
    --active-color: #102919;
    --active-accent: #2de370;
    --sidebar-shadow: 10px 0 35px rgba(15, 23, 42, 0.12);
    --transition: 0.25s ease;
}*/

/* =========================================================
   Header
   ========================================================= */

/*.top-row {
    min-height: 72px;
    background: linear-gradient( 135deg, rgba(22, 163, 74, 0.16), rgba(15, 23, 42, 0) ), var(--sidebar-bg);
    border-bottom: 1px solid var(--sidebar-border);
}

.container-fluid {
    height: 72px;
}*/

/* =========================================================
   Sidebar Container
   ========================================================= */

/*.nav-scrollable {
    display: none;
    position: relative;
    padding: 8px 14px 24px;
    background: radial-gradient( circle at top left, rgba(22, 163, 74, 0.18), transparent 260px ), linear-gradient( 180deg, var(--sidebar-bg) 0%, var(--sidebar-bg-secondary) 100% );
    box-shadow: var(--sidebar-shadow);
}*/

    /* خط جانبي خفيف */

    /*.nav-scrollable::before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        width: 1px;
        height: 100%;
        background: linear-gradient( to bottom, transparent, rgba(148, 163, 184, 0.25), transparent );
    }

    .nav-scrollable.show {
        display: block;
        background-color: white;
    }

.nav {
    position: relative;
    z-index: 2;
    padding-bottom: 25px;
}*/

/* =========================================================
   Logo
   ========================================================= */

/*.logo {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 120px;
    margin: 0 8px 20px;
    padding: 22px 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 22px;
    background: linear-gradient( 145deg, rgba(255, 255, 255, 0.10), rgba(255, 255, 255, 0.02) );
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 15px 35px rgba(0, 0, 0, 0.16);
    overflow: hidden;
}

    .logo::before {
        content: "";
        position: absolute;
        width: 150px;
        height: 150px;
        top: -90px;
        right: -60px;
        border-radius: 50%;
        background: rgba(22, 163, 74, 0.25);
        filter: blur(10px);
    }

    .logo img {
        position: relative;
        z-index: 2;
        display: block;
        width: 150px;
        max-width: 100%;
        height: auto;
        object-fit: contain;
        filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.18));
    }*/

/* =========================================================
   Nav Item
   ========================================================= */

/*.nav-item {
    position: relative;
    width: 100%;
    margin-bottom: 7px;
    padding: 0 6px;
    font-size: 0.92rem;
}

    .nav-item:first-of-type {
        padding-top: 0;
    }

    .nav-item:last-of-type {
        padding-bottom: 16px;
    }*/

    /* =========================================================
   Nav Link
   ========================================================= */

    /*.nav-item ::deep .nav-link {
        position: relative;
        display: flex;
        align-items: center;
        width: 100%;
        min-height: 54px;
        padding: 10px 16px;
        color: var(--nav-text);
        background: transparent;
        border: 1px solid transparent;
        border-radius: 16px;
        font-size: 14px;
        font-weight: 600;
        line-height: 1.3;
        letter-spacing: 0.1px;
        text-decoration: none;
        transition: color var(--transition), background var(--transition), border-color var(--transition), transform var(--transition), box-shadow var(--transition);
    }*/

        /* أيقونات Bootstrap */

        /*.nav-item ::deep .nav-link .bi {
            flex: 0 0 38px;
            width: 38px;
            height: 38px;
            margin-right: 13px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #94b8a1;
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(255, 255, 255, 0.06);
            border-radius: 12px;
            font-size: 18px;
            line-height: 1;
            transition: color var(--transition), background var(--transition), transform var(--transition), box-shadow var(--transition);
        }*/

        /* Hover */

        /*.nav-item ::deep .nav-link:hover {
            color: var(--nav-text-hover);
            background: rgba(255, 255, 255, 0.07);
            border-color: rgba(255, 255, 255, 0.07);
            transform: translateX(4px);
        }

            .nav-item ::deep .nav-link:hover .bi {
                color: #ffffff;
                background: rgba(22, 163, 74, 0.26);
                transform: scale(1.05);
            }*/

    /* =========================================================
   Active Item
   العنصر الفعال يخرج باتجاه محتوى الصفحة
   ========================================================= */

    /*.nav-item ::deep a.active {
        z-index: 10;*/
        /*
       زيادة العرض تجعل العنصر يدخل داخل منطقة المحتوى.
       بما أن القائمة على اليسار فإنه يمتد من جهة اليمين.
    */
        /*width: calc(100% + 30px);
        color: var(--active-color);
        background: linear-gradient( 135deg, #ffffff 0%, #17e864 100% );
        border-color: rgba(15, 23, 42, 0.06);
        border-top-right-radius: 8px;
        border-bottom-right-radius: 8px;
        border-top-left-radius: 18px;
        border-bottom-left-radius: 18px;
        box-shadow: 10px 12px 30px rgba(15, 23, 42, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.9);
        transform: translateX(8px);
    }*/

        /* الخط الملون داخل العنصر الفعال */

        /*.nav-item ::deep a.active::before {
            content: "";
            position: absolute;
            left: 7px;
            top: 50%;
            width: 4px;
            height: 28px;
            border-radius: 20px;
            background: linear-gradient( to bottom, #6af09b, #17e864 );
            box-shadow: 0 0 14px rgba(22, 163, 74, 0.5);
            transform: translateY(-50%);
        }*/

        /*
   الجزء الذي يربط العنصر الفعال مع الصفحة.
   يعطي إحساس أن التاب داخل المحتوى.
*/

        /*.nav-item ::deep a.active::after {
            content: "";
            position: absolute;
            right: -16px;
            top: 0;
            width: 32px;
            height: 100%;
            background: inherit;
            border-top-right-radius: 18px;
            border-bottom-right-radius: 18px;
            box-shadow: 14px 5px 22px rgba(15, 23, 42, 0.07);
            z-index: -1;
        }*/

        /* أيقونة العنصر المفتوح */

        /*.nav-item ::deep a.active .bi {
            color: #ffffff;
            background: linear-gradient( 135deg, #6af09b, var(--active-accent) );
            border-color: transparent;
            box-shadow: 0 8px 18px rgba(22, 163, 74, 0.30), inset 0 1px 0 rgba(255, 255, 255, 0.25);
            transform: scale(1.05);
        }*/

        /* Hover للعنصر المفتوح */

        /*.nav-item ::deep a.active:hover {
            color: var(--active-color);
            background: linear-gradient( 135deg, #ffffff, #f0fef5 );
            transform: translateX(10px);
        }*/

/* =========================================================
   Mobile Toggler
   ========================================================= */

/*.navbar-toggler {
    appearance: none;
    cursor: pointer;
    position: absolute;
    top: 15px;
    right: 16px;
    z-index: 1001;
    width: 46px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background: linear-gradient( 135deg, rgba(74, 222, 128, 0.95), rgba(22, 163, 74, 0.95) );
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 13px;
    font-size: 0;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.2);
    transition: transform var(--transition), box-shadow var(--transition);
}

    .navbar-toggler::before {
        content: "☰";
        font-size: 22px;
        line-height: 1;
    }

    .navbar-toggler:hover {
        transform: translateY(-2px);
        box-shadow: 0 14px 28px rgba(15, 23, 42, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.25);
    }

    .navbar-toggler:active {
        transform: scale(0.96);
    }*/

/* =========================================================
   Custom Scrollbar
   ========================================================= */

/*.nav-scrollable {
    scrollbar-width: thin;
    scrollbar-color: rgba(148, 163, 184, 0.35) transparent;
}

    .nav-scrollable::-webkit-scrollbar {
        width: 5px;
    }

    .nav-scrollable::-webkit-scrollbar-track {
        background: transparent;
    }

    .nav-scrollable::-webkit-scrollbar-thumb {
        background: rgba(148, 163, 184, 0.32);
        border-radius: 10px;
    }

        .nav-scrollable::-webkit-scrollbar-thumb:hover {
            background: rgba(148, 163, 184, 0.55);
        }*/

/* =========================================================
   Desktop
   ========================================================= */

/*@media (min-width: 641px) {
    .navbar-toggler {
        display: none;
    }

    .nav-scrollable {
        display: block !important;
        height: calc(100vh - 72px);
        overflow-x: visible;
        overflow-y: auto;
    }
}*/

/* =========================================================
   Mobile
   ========================================================= */

/*@media (max-width: 640px) {
    .top-row {
        min-height: 68px;
    }

    .container-fluid {
        height: 68px;
    }

    .nav-scrollable {
        position: fixed;
        top: 68px;
        left: 0;
        bottom: 0;
        z-index: 1000;
        width: min(88vw, 310px);
        height: calc(100vh - 68px);
        padding-top: 14px;
        overflow-x: hidden;
        overflow-y: auto;
        border-top-right-radius: 24px;
        box-shadow: 18px 0 45px rgba(15, 23, 42, 0.32);
        animation: sidebarSlideIn 0.25s ease;
    }

    .nav-item ::deep a.active {
        width: 100%;
        transform: none;
        border-radius: 16px;
        box-shadow: 0 10px 25px rgba(15, 23, 42, 0.16);
    }

        .nav-item ::deep a.active::after {
            display: none;
        }

    .nav-item ::deep .nav-link:hover {
        transform: none;
    }

    .logo {
        min-height: 100px;
        margin-bottom: 14px;
    }

        .logo img {
            width: 125px;
        }
}

@keyframes sidebarSlideIn {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }


    to {
        opacity: 1;
        transform: translateX(0);
    }
}*/

/* =========================================================
   Dark Theme Support
   ========================================================= */

/*.dark .nav-item ::deep .nav-link {
    color: #a9c6b4;
}

    .dark .nav-item ::deep .nav-link:hover {
        color: #ffffff;
        background: rgba(255, 255, 255, 0.08);
    }

.dark .nav-item ::deep a.active {
    color: #102919;
    background: linear-gradient( 135deg, #ffffff, #f1f9f4 );
}

.page {
    position: relative;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1;
}

.sidebar {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #09441f 70%);
}

.top-row {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row ::deep a, .top-row ::deep .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

        .top-row ::deep a:hover, .top-row ::deep .btn-link:hover {
            text-decoration: underline;
        }

        .top-row ::deep a:first-child {
            overflow: hidden;
            text-overflow: ellipsis;
        }

@media (max-width: 640.98px) {
    .top-row {
        justify-content: space-between;
    }

        .top-row ::deep a, .top-row ::deep .btn-link {
            margin-left: 0;
        }
}

@media (min-width: 641px) {
    .page {
        flex-direction: row;
    }

    .sidebar {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row {
        position: sticky;
        top: 0;
        z-index: 1;
    }

        .top-row.auth ::deep a:first-child {
            flex: 1;
            text-align: right;
            width: 0;
        }

    .top-row, article {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

.site-page {
    max-width: 1400px;
    margin: auto;
    padding: 25px;
}



.hero-subtitle {
    font-size: 13px;
    opacity: .8;
    letter-spacing: 2px;
}

.hero-card h1 {
    margin: 10px 0;
    font-size: 32px;
}

.site-number {
    background: rgba(255,255,255,.15);
    display: inline-block;
    padding: 10px 15px;
    border-radius: 10px;
}

.status-badge {
    padding: 12px 25px;
    border-radius: 999px;
    font-weight: bold;
    color: white;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.status-active {
    background: #10b981;
    border: #10b981 10px solid;
}

.status-suspended {
    background: #f59e0b;
    border: #f59e0b 10px solid;
}

.status-archived {
    background: #ef4444;
    border: #ef4444 10px solid;
}

.status-unknown {
    background: #6b7280;
    border: #6b7280 10px solid;
}

.hero-card {
    background: linear-gradient(135deg,#2de370,#4cdf82);
    color: white;
    border-radius: 24px;
    padding: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    box-shadow: 0 15px 40px rgba(0,0,0,.12);
}

.tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 25px;
    flex-wrap: wrap;
}

.tab {
    border: none;
    background: rgba(59,130,246,.15);
    padding: 12px 20px;
    border-radius: 12px;
    cursor: pointer;
    font-weight: 600;
    transition: .3s;
}

    .tab:hover {
        transform: translateY(-2px);
    }

    .tab.active {
        background: #2de370;
        color: white;
    }

.content-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(350px,1fr));
    gap: 20px;
}

.info-card {
    background: rgba(59,130,246,.15);
    border-radius: 20px;
    padding: 25px;
    box-shadow: 0 10px 30px rgba(0,0,0,.05);
}

    .info-card h3 {
        margin-bottom: 20px;
        color: #2de370;
    }

.info-row {
    display: flex;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid #edf7f1;
}

    .info-row:last-child {
        border-bottom: none;
    }

.site-image {
    height: 450px;
    border-radius: 15px;
}

@media(max-width:768px) {

    .hero-card {
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }

    .site-image {
        width: 100%;
        height: auto;
    }

    .content-grid {
        grid-template-columns: 1fr;
    }
}

.notes-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

.add-note-btn {
    background: #2de370;
    color: white;
    border: none;
    padding: 10px 18px;
    border-radius: 12px;
    cursor: pointer;
    font-weight: 600;
}

.notes-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.note-item {
    display: flex;
    gap: 15px;
    padding: 18px;
    border: 1px solid #e3ede7;
    border-radius: 16px;
    transition: .3s;
}

    .note-item:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 25px rgba(0,0,0,.08);
    }

.note-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #ddfce8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}

.note-content {
    flex: 1;
}

.note-title {
    font-weight: 700;
    font-size: 16px;
    margin-bottom: 6px;
}

.note-text {
    color: #608f71;
    margin-bottom: 10px;
}

.note-footer {
    font-size: 13px;
    color: #94b8a1;
}

.map-card {
    text-align: center
}

.contacts-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.contact-card {
    background: #ffffff1a;
    border-radius: 20px;
    padding: 24px;
    box-shadow: 0 10px 25px rgba(0,0,0,.05);
    border: 1px solid #eef7f1;
}

.contact-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.contact-role {
    color: #2de370;
    font-weight: 700;
    font-size: 15px;
}

.contact-name {
    font-size: 22px;
    font-weight: 700;
    margin-top: 5px;
}

.contact-details {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(250px,1fr));
    gap: 15px;
}

.detail-item {
    background: rgb(213 213 213 / 22%);
    padding: 18px;
    border-radius: 14px;
}

    .detail-item span {
        display: block;
        color: #608f71;
        font-size: 13px;
        margin-bottom: 6px;
    }

tbody {
    color: black
}

.detail-item strong {
    font-size: 16px;
}

.report-badge {
    padding: 10px 18px;
    border-radius: 999px;
    font-weight: 600;
}

    .report-badge.yes {
        background: #dcfce7;
        color: #15803d;
    }

    .report-badge.no {
        background: #fee2e2;
        color: #dc2626;
    }


.duties-page {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.duties-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(180px,1fr));
    gap: 15px;
}

.summary-card {
    background: var(--card);
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 8px 25px rgba(0,0,0,.06);
    border: 1px solid var(--border);
}

    .summary-card span {
        color: #608f71;
        font-size: 13px;
    }

    .summary-card strong {
        display: block;
        margin-top: 10px;
        font-size: 24px;
        color: var(--text);
    }



.days-panel {
    background: var(--card);
    border-radius: 20px;
    padding: 20px;
    border: 1px solid var(--border);
    box-shadow: 0 8px 25px rgba(0,0,0,.05);
}

.days-title {
    font-weight: 700;
    margin-bottom: 20px;
}

.days-panel ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.days-panel li {
    padding: 12px;
    border-radius: 12px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: .2s;
}

    .days-panel li:hover {
        background: #f1f9f4;
    }

.active-day {
    background: var(--primary);
    color: white;
}

.visits-section {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.visits-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(170px,1fr));
    gap: 15px;
}

.visit-card {
    background: var(--card);
    border-radius: 18px;
    padding: 20px;
    border: 1px solid var(--border);
    box-shadow: 0 8px 20px rgba(0,0,0,.05);
}

    .visit-card span {
        color: #608f71;
        font-size: 13px;
    }

    .visit-card strong {
        display: block;
        margin-top: 12px;
        font-size: 28px;
    }

    .visit-card.empty {
        opacity: .6;
    }

.lockup-card {
    background: linear-gradient(135deg,#44ed82,#2de370);
    color: white;
    padding: 20px;
    border-radius: 18px;
}

    .lockup-card span {
        display: block;
        opacity: .8;
        margin-bottom: 10px;
    }

    .lockup-card strong {
        font-size: 32px;
    }

@media(max-width:900px) {

    .duties-body {
        grid-template-columns: 1fr;
    }
}

.reports-page {
    margin-top: 25px;
}

.reports-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

    .reports-header h3 {
        margin: 0;
        font-size: 24px;
        font-weight: 700;
    }

.report-actions {
    display: flex;
    gap: 10px;
}

.primary-btn,
.search-btn {
    border: none;
    padding: 10px 18px;
    border-radius: 12px;
    cursor: pointer;
    font-weight: 600;
}

.primary-btn {
    background: #2de370;
    color: white;
}

.search-btn {
    background: white;
    border: 1px solid #dce9e1;
}

.report-table-container {
    background: white;
    border-radius: 18px;
    overflow: auto;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

.report-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 1200px;
}

    .report-table thead th {
        position: sticky;
        top: 0;
        background: #102919;
        color: white;
        padding: 14px;
        font-size: 13px;
        text-transform: uppercase;
    }

    .report-table td {
        padding: 14px;
        border-bottom: 1px solid #eef7f1;
    }

    .report-table tbody tr:hover {
        background: #f8fcfa;
    }

.status-badge {
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

    .status-badge.yes {
        background: #dcfce7;
        color: #15803d;
    }

    .status-badge.no {
        background: #ffedd5;
        color: #ea580c;
    }

.icon {
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 10px;
    cursor: pointer;
}

    .icon.danger {
        background: #fee2e2;
    }

    .icon.info {
        background: #ddfce8;
    }

.assets-layout {
    display: flex;
    gap: 20px;
    margin-top: 20px;
}

.assets-sidebar {
    width: 220px;
    background: white;
    border-radius: 16px;
    padding: 15px;
    box-shadow: 0 4px 15px rgba(0,0,0,.08);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.asset-item {
    border: none;
    background: #f2f7f4;
    padding: 12px 16px;
    border-radius: 12px;
    text-align: left;
    cursor: pointer;
    transition: .2s;
}

    .asset-item:hover {
        background: #e3ede7;
    }

    .asset-item.active {
        background: #2de370;
        color: white;
    }

.assets-content {
    flex: 1;
    background: white;
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 4px 15px rgba(0,0,0,.08);
}

.asset-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    backdrop-filter: blur(6px);
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
    animation: fadeIn .25s ease;
}

.asset-popup {
    width: 520px;
    max-width: 90vw;
    max-height: 85vh;
    overflow-y: auto;
    background: white;
    border-radius: 24px;
    box-shadow: 0 25px 60px rgba(0,0,0,.25);
    animation: popupIn .3s ease;
}

.popup-header {
    padding: 20px 24px;
    border-bottom: 1px solid #e3ede7;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.popup-body {
    padding: 24px;
}

.close-btn {
    border: none;
    background: #f2f7f4;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 18px;
}

    .close-btn:hover {
        background: #e3ede7;
    }

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes popupIn {
    from {
        opacity: 0;
        transform: translateY(40px) scale(.95);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.note-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    display: flex;
    justify-content: flex-end;
    z-index: 9999;
}



.drawer-header {
    padding: 15px;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.drawer-body {
    padding: 15px;
}

.close-btn {
    border: none;
    background: transparent;
    font-size: 20px;
    cursor: pointer;
}

@keyframes slideIn {
    from {
        transform: translateX(100%);
    }

    to {
        transform: translateX(0);
    }
}

.dark .note-drawer, .dark .asset-popup {
    background: #102919;
}

.site-navigation {
    width: 100%;
    max-width: 100%;
    margin-bottom: 25px;
}*/

/* Desktop tabs */
/*.desktop-tabs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%;
    padding: 10px;
    border-bottom: 2px solid var(--border);
}

.tab {
    flex: 0 0 auto;
    padding: 10px 18px;
    border: none;
    border-radius: 20px;
    background: var(--box);
    color: var(--text);
    white-space: nowrap;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background .25s ease, color .25s ease, transform .25s ease;
}

    .tab:hover {
        transform: translateY(-2px);
    }

    .tab.active {
        background: var(--primary);
        color: #ffffff;
    }*/

/* Mobile selector hidden by default */
/*.mobile-tab-selector {
    display: none;
}

    .mobile-tab-selector label {
        display: block;
        margin-bottom: 7px;
        color: var(--text);
        font-size: 13px;
        font-weight: 700;
    }

.mobile-select-wrapper {
    position: relative;
    width: 100%;
}

    .mobile-select-wrapper select {
        width: 100%;
        min-height: 48px;
        padding: 10px 45px 10px 14px;
        border: 1px solid var(--border);
        border-radius: 13px;
        background: var(--card);
        color: var(--text);
        font-size: 15px;
        font-weight: 600;
        cursor: pointer;
        appearance: none;
        -webkit-appearance: none;
        outline: none;
    }

        .mobile-select-wrapper select:focus {
            border-color: var(--primary);
            box-shadow: 0 0 0 3px rgba(22, 163, 74, .12);
        }

.mobile-select-icon {
    position: absolute;
    top: 50%;
    right: 16px;
    color: var(--primary);
    font-size: 12px;
    pointer-events: none;
    transform: translateY(-50%);
}*/

/* Mobile */
/*@media (max-width: 768px) {
    .desktop-tabs {
        display: none;
    }

    .mobile-tab-selector {
        display: block;
        padding: 12px;
        border: 1px solid var(--border);
        border-radius: 15px;
        background: var(--card);
        box-shadow: 0 5px 18px rgba(15, 23, 42, .06);
    }

    .site-navigation {
        margin-bottom: 18px;
    }
}

.gate-page,
.gate-page * {
    box-sizing: border-box;
}

.gate-page {
    --gate-primary: #137236;
    --gate-primary-dark: #145b2e;
    --gate-primary-soft: #ecfdf5;
    --gate-accent: #f59e0b;
    --gate-danger: #dc2626;
    --gate-danger-soft: #fef2f2;
    --gate-text: #102919;
    --gate-muted: #608f71;
    --gate-border: #e3efe7;
    --gate-bg: #f8fcfa;
    --gate-card: #ffffff;
    display: flex;
    flex-direction: column;
    gap: 22px;
    width: 100%;
    min-width: 0;
}*/

/* =========================
   Main cards
========================= */

/*.gate-form-card,
.gate-list-card {
    position: relative;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--gate-border);
    border-radius: 20px;
    background: linear-gradient( 145deg, rgba(255, 255, 255, 1), rgba(248, 250, 252, .92) );
    box-shadow: 0 12px 35px rgba(15, 23, 42, .07), 0 2px 6px rgba(15, 23, 42, .03);
}

.gate-form-card {
    padding: 22px;
}

.gate-list-card {
    padding: 0;
}

.gate-form-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient( 90deg, var(--gate-primary), #1bb152, var(--gate-accent) );
}*/

/* =========================
   Add gate form
========================= */

/*.gate-form-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) minmax(180px, 1fr) auto auto;
    gap: 16px;
    align-items: end;
}

.gate-page .form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

    .gate-page .form-group label {
        display: flex;
        align-items: center;
        gap: 6px;
        color: var(--gate-text);
        font-size: 13px;
        font-weight: 750;
    }

        .gate-page .form-group label::after {
            content: "";
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: var(--gate-primary);
        }

.gate-form-grid input[type="text"],
.gate-form-grid input:not([type]) {
    width: 100%;
    min-width: 0;
    height: 50px;
    padding: 0 15px;
    border: 1px solid var(--gate-border);
    border-radius: 13px;
    background: #ffffff;
    color: var(--gate-text);
    font-size: 14px;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease, background .2s ease;
}

.gate-form-grid input::placeholder {
    color: #94b8a1;
}

.gate-form-grid input:hover {
    border-color: #cce0d3;
    background: #fcfdfc;
}

.gate-form-grid input:focus {
    border-color: var(--gate-primary);
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(15, 118, 110, .12);
    transform: translateY(-1px);
}*/

/* =========================
   Main gate checkbox
========================= */

/*.gate-checkbox {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 50px;
    padding: 0 17px;
    border: 1px solid var(--gate-border);
    border-radius: 13px;
    background: #ffffff;
    color: var(--gate-text);
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    user-select: none;
    transition: border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease;
}

    .gate-checkbox:hover {
        border-color: rgba(15, 118, 110, .45);
        background: var(--gate-primary-soft);
        transform: translateY(-1px);
    }

    .gate-checkbox:has(input:checked) {
        border-color: rgba(15, 118, 110, .4);
        background: var(--gate-primary-soft);
        box-shadow: 0 5px 15px rgba(15, 118, 110, .1);
    }

    .gate-checkbox input {
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }

.gate-checkbox-box {
    position: relative;
    flex: 0 0 21px;
    width: 21px;
    height: 21px;
    border: 2px solid #94b8a1;
    border-radius: 7px;
    background: #ffffff;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.gate-checkbox input:checked + .gate-checkbox-box {
    border-color: var(--gate-primary);
    background: var(--gate-primary);
    transform: scale(1.05);
}

    .gate-checkbox input:checked + .gate-checkbox-box::after {
        content: "";
        position: absolute;
        left: 6px;
        top: 2px;
        width: 5px;
        height: 10px;
        border: solid #ffffff;
        border-width: 0 2px 2px 0;
        transform: rotate(45deg);
    }*/

/* =========================
   Add button
========================= */

/*.gate-add-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 50px;
    padding: 10px 22px;
    border: none;
    border-radius: 13px;
    background: linear-gradient( 135deg, var(--gate-primary), var(--gate-primary-dark) );
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 8px 18px rgba(15, 118, 110, .22);
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

    .gate-add-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 12px 24px rgba(15, 118, 110, .3);
        filter: brightness(1.04);
    }

    .gate-add-btn:active {
        transform: translateY(0);
        box-shadow: 0 5px 12px rgba(15, 118, 110, .2);
    }*/

/* =========================
   Error message
========================= */

/*.gate-error {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 15px;
    padding: 12px 14px;
    border: 1px solid #fecaca;
    border-radius: 12px;
    background: var(--gate-danger-soft);
    color: var(--gate-danger);
    font-size: 13px;
    font-weight: 650;
}

    .gate-error::before {
        content: "!";
        display: inline-flex;
        flex: 0 0 22px;
        align-items: center;
        justify-content: center;
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: var(--gate-danger);
        color: #ffffff;
        font-weight: 900;
    }*/

/* =========================
   List header
========================= */

/*.gate-list-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 0;
    padding: 20px 22px;
    border-bottom: 1px solid var(--gate-border);
    background: linear-gradient( 135deg, rgba(236, 253, 245, .75), rgba(255, 255, 255, .9) );
}

    .gate-list-header > div {
        position: relative;
        padding-left: 15px;
    }

        .gate-list-header > div::before {
            content: "";
            position: absolute;
            top: 2px;
            left: 0;
            width: 4px;
            height: calc(100% - 4px);
            border-radius: 999px;
            background: var(--gate-primary);
        }

    .gate-list-header h5 {
        margin: 0 0 4px;
        color: var(--gate-text);
        font-size: 18px;
        font-weight: 850;
    }

    .gate-list-header span {
        color: var(--gate-muted);
        font-size: 12px;
        font-weight: 600;
    }*/

/* =========================
   Empty state
========================= */

/*.gate-empty-state {
    position: relative;
    margin: 22px;
    padding: 50px 25px 30px;
    border: 1px dashed #cce0d3;
    border-radius: 16px;
    background: linear-gradient( 145deg, #ffffff, #f8fcfa );
    color: var(--gate-muted);
    text-align: center;
    font-size: 14px;
}

    .gate-empty-state::before {
        content: "⌂";
        position: absolute;
        top: 17px;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        align-items: center;
        justify-content: center;
        width: 30px;
        height: 30px;
        border-radius: 10px;
        background: var(--gate-primary-soft);
        color: var(--gate-primary);
        font-size: 20px;
        font-weight: 800;
    }*/

/* =========================
   Desktop table
========================= */

/*.desktop-gates {
    display: block;
}

.mobile-gates {
    display: none;
}

.gate-table-wrapper {
    width: 100%;
    overflow-x: auto;
    padding: 0 22px 22px;
}

.gate-table {
    width: 100%;
    min-width: 650px;
    overflow: hidden;
    border: 1px solid var(--gate-border);
    border-spacing: 0;
    border-collapse: separate;
    border-radius: 15px;
    background: #ffffff;
}

    .gate-table th {
        padding: 14px 16px;
        border-bottom: 1px solid var(--gate-border);
        background: #f8fcfa;
        color: var(--gate-muted);
        text-align: left;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .7px;
        text-transform: uppercase;
    }

    .gate-table td {
        padding: 15px 16px;
        border-bottom: 1px solid #edf7f1;
        color: var(--gate-text);
        font-size: 14px;
        vertical-align: middle;
    }

    .gate-table tbody tr:last-child td {
        border-bottom: none;
    }

    .gate-table tbody tr {
        transition: background .2s ease, transform .2s ease;
    }

        .gate-table tbody tr:hover {
            background: #f8fffd;
        }

    .gate-table td:first-child strong {
        display: inline-flex;
        align-items: center;
        gap: 9px;
    }

        .gate-table td:first-child strong::before {
            content: "";
            width: 9px;
            height: 9px;
            border-radius: 50%;
            background: var(--gate-primary);
            box-shadow: 0 0 0 4px rgba(15, 118, 110, .1);
        }

.gate-code {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 72px;
    padding: 7px 11px;
    border: 1px solid #dcebe1;
    border-radius: 9px;
    background: #f8fcfa;
    color: #345440;
    font-family: "Consolas", "Courier New", monospace;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .6px;
}*/

/* =========================
   Badges
========================= */

/*.gate-main-badge,
.gate-secondary-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 6px 11px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.gate-main-badge {
    border-color: #a7f3d0;
    background: #ecfdf5;
    color: #047857;
}

    .gate-main-badge::before {
        content: "";
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: #10b981;
        box-shadow: 0 0 0 3px rgba(16, 185, 129, .15);
    }

.gate-secondary-badge {
    border-color: #e3efe7;
    background: #f8fcfa;
    color: #608f71;
}

    .gate-secondary-badge::before {
        content: "";
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: #94b8a1;
    }*/

/* =========================
   Delete button
========================= */

/*.gate-delete-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 38px;
    padding: 8px 14px;
    border: 1px solid #fecaca;
    border-radius: 10px;
    background: #fff7f7;
    color: var(--gate-danger);
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

    .gate-delete-btn::before {
        content: "×";
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 17px;
        font-weight: 500;
        line-height: 1;
    }

    .gate-delete-btn:hover {
        border-color: #fca5a5;
        background: #fee2e2;
        transform: translateY(-1px);
        box-shadow: 0 6px 14px rgba(220, 38, 38, .12);
    }*/

/* =========================
   Mobile cards
========================= */

/*.gate-cards {
    gap: 14px;
    padding: 16px;
}

.gate-card {
    position: relative;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    padding: 16px;
    border: 1px solid var(--gate-border);
    border-radius: 17px;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .05);
}

    .gate-card::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 5px;
        height: 100%;
        background: var(--gate-primary);
    }

.gate-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 0 0 14px 8px;
    border-bottom: 1px solid var(--gate-border);
}

    .gate-card-header > div {
        min-width: 0;
    }

.gate-card-label {
    display: block;
    margin-bottom: 4px;
    color: var(--gate-primary);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.gate-card h4 {
    margin: 0;
    color: var(--gate-text);
    font-size: 16px;
    font-weight: 850;
    overflow-wrap: anywhere;
}

.gate-card-content {
    padding: 14px 0 14px 8px;
}

.gate-card-field {
    padding: 12px 13px;
    border: 1px solid #e8f4ed;
    border-radius: 12px;
    background: #f8fcfa;
}

    .gate-card-field span {
        display: block;
        margin-bottom: 5px;
        color: var(--gate-muted);
        font-size: 11px;
        font-weight: 650;
    }

    .gate-card-field strong {
        display: block;
        color: var(--gate-text);
        font-family: "Consolas", "Courier New", monospace;
        font-size: 14px;
        overflow-wrap: anywhere;
    }

.mobile-delete {
    width: calc(100% - 8px);
    margin-left: 8px;
}*/

/* =========================
   Tablet
========================= */

/*@media (max-width: 1000px) {
    .gate-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gate-checkbox,
    .gate-add-btn {
        width: 100%;
    }
}*/

/* =========================
   Mobile
========================= */

/*@media (max-width: 650px) {
    .gate-page {
        gap: 16px;
    }

    .gate-form-card {
        padding: 17px;
        border-radius: 17px;
    }

    .gate-list-card {
        border-radius: 17px;
    }

    .gate-form-grid {
        grid-template-columns: 1fr;
        gap: 13px;
    }

        .gate-form-grid input[type="text"],
        .gate-form-grid input:not([type]),
        .gate-checkbox,
        .gate-add-btn {
            min-height: 48px;
            height: 48px;
        }

    .gate-list-header {
        padding: 17px;
    }

        .gate-list-header h5 {
            font-size: 17px;
        }

    .gate-empty-state {
        margin: 16px;
    }

    .desktop-gates {
        display: none;
    }

    .mobile-gates {
        display: grid;
    }
}*/

/* =========================
   Very small screens
========================= */

/*@media (max-width: 380px) {
    .gate-card-header {
        flex-direction: column;
    }

        .gate-card-header .gate-main-badge,
        .gate-card-header .gate-secondary-badge {
            align-self: flex-start;
        }
}*/
/* =========================================================
   Location Section
========================================================= */

/*.location-section-card,
.location-section-card * {
    box-sizing: border-box;
}

.location-section-card {
    --location-primary: #137236;
    --location-primary-dark: #145b2e;
    --location-primary-soft: #ecfdf5;
    --location-accent: #f59e0b;
    --location-text: #102919;
    --location-muted: #608f71;
    --location-border: #e3efe7;
    --location-card: #ffffff;
    --location-box: #f8fcfa;
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 0;
    border: 1px solid var(--location-border);
    border-radius: 24px;
    background: var(--location-card);
    box-shadow: 0 18px 45px rgba(15, 23, 42, .08), 0 3px 10px rgba(15, 23, 42, .04);
}*/

/* =========================================================
   Main Header
========================================================= */

/*.location-section-header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    overflow: hidden;
    padding: 25px 28px;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    background: radial-gradient( circle at 90% 20%, rgba(255, 255, 255, .17), transparent 32% ), linear-gradient( 135deg, var(--location-primary-dark), var(--location-primary) );
    color: #ffffff;
}

    .location-section-header::before {
        content: "";
        position: absolute;
        top: -55px;
        right: 100px;
        width: 150px;
        height: 150px;
        border: 25px solid rgba(255, 255, 255, .05);
        border-radius: 50%;
    }

    .location-section-header::after {
        content: "";
        position: absolute;
        right: -35px;
        bottom: -70px;
        width: 180px;
        height: 180px;
        border: 30px solid rgba(245, 158, 11, .12);
        border-radius: 50%;
    }

    .location-section-header > div {
        position: relative;
        z-index: 2;
    }

.location-section-subtitle {
    display: block;
    margin-bottom: 6px;
    color: #a7f3d0;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.location-section-header h3 {
    margin: 0;
    color: #ffffff;
    font-size: 25px;
    font-weight: 850;
    letter-spacing: -.4px;
}

.location-section-header p {
    max-width: 600px;
    margin: 7px 0 0;
    color: rgba(255, 255, 255, .72);
    font-size: 13px;
    line-height: 1.6;
}

.location-header-icon {
    display: inline-flex;
    flex: 0 0 58px;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 18px;
    background: rgba(255, 255, 255, .12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15);
    color: #ffffff;
    font-size: 24px;
    backdrop-filter: blur(10px);
}*/

/* =========================================================
   Content Layout
========================================================= */

/*.location-content {
    display: grid;
    grid-template-columns: minmax(330px, .82fr) minmax(500px, 1.5fr);
    gap: 22px;
    padding: 24px;
    background: linear-gradient( 145deg, #f8fcfa, #ffffff );
}*/

/* =========================================================
   Form Card
========================================================= */

/*.location-form-card,
.location-map-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--location-border);
    border-radius: 19px;
    background: #ffffff;
    box-shadow: 0 8px 25px rgba(15, 23, 42, .05);
}

.location-form-card {
    align-self: start;
    padding: 20px;
}

    .location-form-card::before {
        content: "";
        display: block;
        width: 52px;
        height: 4px;
        margin: -20px 0 17px -20px;
        border-radius: 0 0 999px 0;
        background: linear-gradient( 90deg, var(--location-primary), #1bb152 );
    }

.location-form-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 20px;
}

    .location-form-header > div {
        min-width: 0;
    }

        .location-form-header > div > span {
            display: block;
            margin-bottom: 4px;
            color: var(--location-primary);
            font-size: 10px;
            font-weight: 850;
            letter-spacing: 1.2px;
            text-transform: uppercase;
        }

        .location-form-header > div > strong {
            display: block;
            color: var(--location-text);
            font-size: 17px;
            font-weight: 850;
        }

.location-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 11px;
    border: 1px solid #a7f3d0;
    border-radius: 999px;
    background: var(--location-primary-soft);
    color: #047857;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

    .location-status::before {
        content: "";
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: #10b981;
        box-shadow: 0 0 0 3px rgba(16, 185, 129, .15);
    }*/

/* =========================================================
   Form Fields
========================================================= */

/*.location-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.location-form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.location-full-width {
    grid-column: 1 / -1;
}

.location-form-group label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--location-text);
    font-size: 12px;
    font-weight: 750;
}

.location-field-icon {
    display: inline-flex;
    flex: 0 0 27px;
    align-items: center;
    justify-content: center;
    width: 27px;
    height: 27px;
    border-radius: 8px;
    background: var(--location-primary-soft);
    color: var(--location-primary);
    font-size: 11px;
}

.location-form-group input {
    width: 100%;
    min-width: 0;
    height: 49px;
    padding: 0 14px;
    border: 1px solid var(--location-border);
    border-radius: 13px;
    background: var(--location-box);
    color: var(--location-text);
    font-size: 13px;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease, transform .2s ease;
}

    .location-form-group input::placeholder {
        color: #94b8a1;
    }

    .location-form-group input:hover {
        border-color: #cce0d3;
        background: #ffffff;
    }

    .location-form-group input:focus {
        border-color: var(--location-primary);
        background: #ffffff;
        box-shadow: 0 0 0 4px rgba(15, 118, 110, .11);
        transform: translateY(-1px);
    }*/

/* =========================================================
   Search Input
========================================================= */

/*.location-search-wrapper {
    position: relative;
    display: flex;
    gap: 9px;
}

    .location-search-wrapper input {
        flex: 1;
        padding-right: 15px;
    }

.location-search-btn {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 105px;
    height: 49px;
    padding: 0 16px;
    border: none;
    border-radius: 13px;
    background: linear-gradient( 135deg, var(--location-primary), var(--location-primary-dark) );
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 8px 17px rgba(15, 118, 110, .2);
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

    .location-search-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 11px 22px rgba(15, 118, 110, .28);
        filter: brightness(1.04);
    }

    .location-search-btn:active {
        transform: translateY(0);
    }*/

/* =========================================================
   Helper Message
========================================================= */

/*.location-help {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-top: 17px;
    padding: 12px 13px;
    border: 1px solid #fde68a;
    border-radius: 12px;
    background: #fffbeb;
    color: #92400e;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.6;
}

    .location-help i {
        margin-top: 2px;
        color: var(--location-accent);
    }*/

/* =========================================================
   Map Card
========================================================= */

/*.location-map-card {
    display: flex;
    flex-direction: column;
}

.location-map-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 16px 18px;
    border-bottom: 1px solid var(--location-border);
    background: linear-gradient( 135deg, rgba(236, 253, 245, .72), rgba(255, 255, 255, 1) );
}

    .location-map-header > div:first-child {
        min-width: 0;
    }

.location-map-label {
    display: block;
    margin-bottom: 3px;
    color: var(--location-primary);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 1.3px;
    text-transform: uppercase;
}

.location-map-header strong {
    color: var(--location-text);
    font-size: 15px;
    font-weight: 850;
}

.location-coordinates {
    display: flex;
    align-items: center;
    gap: 7px;
}

    .location-coordinates > span {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        max-width: 150px;
        padding: 6px 9px;
        border: 1px solid var(--location-border);
        border-radius: 9px;
        background: #ffffff;
        color: var(--location-muted);
        font-size: 9px;
        font-weight: 750;
        white-space: nowrap;
    }

        .location-coordinates > span strong {
            max-width: 95px;
            overflow: hidden;
            color: var(--location-text);
            font-family: "Consolas", "Courier New", monospace;
            font-size: 10px;
            text-overflow: ellipsis;
        }*/

/* =========================================================
   Leaflet Map
========================================================= */

/*.location-map-wrapper {
    position: relative;
    min-height: 460px;
    overflow: hidden;
    background: #dce8e0;
}

    .location-map-wrapper .leaflet-map,
    #siteMap.leaflet-map {
        width: 100%;
        height: 460px;
        min-height: 460px;
        border: none;
        border-radius: 0;
        background: #e3efe7;
        z-index: 1;
    }

    .location-map-wrapper::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 400;
        border: 1px solid rgba(15, 118, 110, .08);
        pointer-events: none;
    }

.map-center-indicator {
    position: absolute;
    right: 16px;
    bottom: 16px;
    z-index: 500;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(15, 118, 110, .2);
    border-radius: 12px;
    background: rgba(255, 255, 255, .94);
    color: var(--location-primary);
    box-shadow: 0 8px 20px rgba(15, 23, 42, .16);
    backdrop-filter: blur(8px);
    pointer-events: none;
}*/

/* Leaflet Controls */

/*.location-map-wrapper .leaflet-control-zoom {
    overflow: hidden;
    border: none;
    border-radius: 11px;
    box-shadow: 0 7px 20px rgba(15, 23, 42, .16);
}

    .location-map-wrapper .leaflet-control-zoom a {
        width: 35px;
        height: 35px;
        border-bottom-color: var(--location-border);
        background: rgba(255, 255, 255, .95);
        color: var(--location-text);
        font-weight: 750;
        line-height: 35px;
    }

        .location-map-wrapper .leaflet-control-zoom a:hover {
            background: var(--location-primary-soft);
            color: var(--location-primary);
        }

.location-map-wrapper .leaflet-control-attribution {
    border-radius: 8px 0 0 0;
    background: rgba(255, 255, 255, .85);
    font-size: 9px;
    backdrop-filter: blur(5px);
}*/

/* =========================================================
   Dark Mode
========================================================= */

/*.dark .location-section-card {
    --location-text: #f8fcfa;
    --location-muted: #94b8a1;
    --location-border: #284a35;
    --location-card: #122c1c;
    --location-box: #183422;
    background: #122c1c;
}

.dark .location-content {
    background: linear-gradient( 145deg, #102919, #122c1c );
}

.dark .location-form-card,
.dark .location-map-card {
    background: #122c1c;
}

.dark .location-form-group input,
.dark .location-search-wrapper input {
    background: #183422;
    color: #f8fcfa;
}

    .dark .location-form-group input:hover,
    .dark .location-form-group input:focus {
        background: #1c3f29;
    }

.dark .location-map-header {
    background: linear-gradient( 135deg, rgba(15, 118, 110, .14), rgba(17, 28, 45, 1) );
}

.dark .location-coordinates > span {
    background: #183422;
}

.dark .location-help {
    border-color: rgba(245, 158, 11, .3);
    background: rgba(245, 158, 11, .09);
    color: #fcd34d;
}*/

/* =========================================================
   Tablet
========================================================= */

/*@media (max-width: 1050px) {
    .location-content {
        grid-template-columns: 1fr;
    }

    .location-form-card {
        align-self: stretch;
    }

    .location-map-wrapper,
    .location-map-wrapper .leaflet-map,
    #siteMap.leaflet-map {
        height: 420px;
        min-height: 420px;
    }
}*/

/* =========================================================
   Mobile
========================================================= */

/*@media (max-width: 700px) {
    .location-section-card {
        border-radius: 18px;
    }

    .location-section-header {
        padding: 20px;
    }

        .location-section-header h3 {
            font-size: 21px;
        }

        .location-section-header p {
            font-size: 12px;
        }

    .location-header-icon {
        flex-basis: 47px;
        width: 47px;
        height: 47px;
        border-radius: 14px;
        font-size: 19px;
    }

    .location-content {
        gap: 16px;
        padding: 15px;
    }

    .location-form-card,
    .location-map-card {
        border-radius: 16px;
    }

    .location-form-card {
        padding: 16px;
    }

        .location-form-card::before {
            margin: -16px 0 15px -16px;
        }

    .location-form-grid {
        grid-template-columns: 1fr;
    }

    .location-full-width {
        grid-column: auto;
    }

    .location-search-wrapper {
        flex-direction: column;
    }

    .location-search-btn {
        width: 100%;
    }

    .location-map-header {
        align-items: flex-start;
        flex-direction: column;
        padding: 15px;
    }

    .location-coordinates {
        width: 100%;
    }

        .location-coordinates > span {
            flex: 1;
            max-width: none;
        }

    .location-map-wrapper,
    .location-map-wrapper .leaflet-map,
    #siteMap.leaflet-map {
        height: 360px;
        min-height: 360px;
    }
}*/

/* =========================================================
   Very Small Screens
========================================================= */

/*@media (max-width: 420px) {
    .location-section-header {
        align-items: flex-start;
    }

    .location-header-icon {
        display: none;
    }

    .location-form-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .location-coordinates {
        flex-direction: column;
    }

        .location-coordinates > span {
            width: 100%;
        }

    .location-map-wrapper,
    .location-map-wrapper .leaflet-map,
    #siteMap.leaflet-map {
        height: 320px;
        min-height: 320px;
    }
}*/


/* =========================================================
   Site Information Page
========================================================= */

/*.site-info-page,
.site-info-page * {
    box-sizing: border-box;
}

.site-info-page {
    --site-info-primary: #137236;
    --site-info-primary-dark: #145b2e;
    --site-info-primary-light: #1bb152;
    --site-info-primary-soft: #ecfdf5;
    --site-info-accent: #f59e0b;
    --site-info-text: var(--text, #102919);
    --site-info-muted: #608f71;
    --site-info-border: var(--border, #e3efe7);
    --site-info-card: var(--card, #ffffff);
    --site-info-box: var(--box, #f8fcfa);
    display: flex;
    flex-direction: column;
    gap: 22px;
    width: 100%;
    min-width: 0;
}*/

/* =========================================================
   Main Card
========================================================= */

/*.site-info-card {
    position: relative;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--site-info-border);
    border-radius: 21px;
    background: var(--site-info-card);
    box-shadow: 0 14px 36px rgba(15, 23, 42, .065), 0 3px 8px rgba(15, 23, 42, .025);
    transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

    .site-info-card::before {
        content: "";
        position: absolute;
        z-index: 3;
        top: 0;
        left: 0;
        width: 100%;
        height: 4px;
        background: linear-gradient( 90deg, var(--site-info-primary), var(--site-info-primary-light), var(--site-info-accent) );
    }

    .site-info-card:hover {
        border-color: rgba(15, 118, 110, .26);
        box-shadow: 0 18px 42px rgba(15, 23, 42, .085), 0 4px 10px rgba(15, 23, 42, .03);
        transform: translateY(-2px);
    }*/

/* =========================================================
   Card Header
========================================================= */

/*.site-info-card-header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    overflow: hidden;
    padding: 21px 23px;
    border-bottom: 1px solid var(--site-info-border);
    background: radial-gradient( circle at 92% 15%, rgba(15, 118, 110, .08), transparent 32% ), linear-gradient( 135deg, var(--site-info-primary-soft), var(--site-info-card) );
}

    .site-info-card-header::after {
        content: "";
        position: absolute;
        right: 110px;
        bottom: -65px;
        width: 135px;
        height: 135px;
        border: 22px solid rgba(15, 118, 110, .035);
        border-radius: 50%;
        pointer-events: none;
    }

.site-info-heading {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

    .site-info-heading > div {
        min-width: 0;
    }

.site-info-header-icon {
    display: inline-flex;
    flex: 0 0 48px;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 15px;
    background: linear-gradient( 135deg, var(--site-info-primary), var(--site-info-primary-dark) );
    color: #ffffff;
    font-size: 18px;
    box-shadow: 0 8px 18px rgba(15, 118, 110, .22);
}

.site-info-eyebrow {
    display: block;
    margin-bottom: 4px;
    color: var(--site-info-primary);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.site-info-card-header h3 {
    margin: 0;
    color: var(--site-info-text);
    font-size: 20px;
    font-weight: 850;
    letter-spacing: -.25px;
}

.site-info-card-header p {
    max-width: 620px;
    margin: 5px 0 0;
    color: var(--site-info-muted);
    font-size: 12px;
    line-height: 1.55;
}*/

/* =========================================================
   Header Badge
========================================================= */

/*.site-info-status-badge {
    position: relative;
    z-index: 1;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 12px;
    border: 1px solid #a7f3d0;
    border-radius: 999px;
    background: #ffffff;
    color: #047857;
    font-size: 10px;
    font-weight: 850;
    white-space: nowrap;
    box-shadow: 0 5px 14px rgba(15, 118, 110, .07);
}

    .site-info-status-badge i {
        color: var(--site-info-accent);
        font-size: 10px;
    }*/

/* =========================================================
   Card Body
========================================================= */

/*.site-info-card-body {
    padding: 23px;
    background: linear-gradient( 145deg, var(--site-info-card), color-mix(in srgb, var(--site-info-card) 94%, #f8fcfa) );
}*/

/* =========================================================
   Form Grid
========================================================= */

/*.site-info-form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 17px;
}

.contact-info-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.address-info-grid {
    grid-template-columns: minmax(190px, .8fr) repeat(2, minmax(240px, 1.25fr));
}*/

/* =========================================================
   Form Group
========================================================= */

/*.site-info-form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

    .site-info-form-group label {
        display: flex;
        align-items: center;
        gap: 8px;
        color: var(--site-info-text);
        font-size: 12px;
        font-weight: 750;
    }

.site-info-field-icon {
    display: inline-flex;
    flex: 0 0 28px;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: var(--site-info-primary-soft);
    color: var(--site-info-primary);
    font-size: 10px;
}*/

/* =========================================================
   Inputs and Select
========================================================= */

/*.site-info-form-group input,
.site-info-form-group select {
    width: 100%;
    min-width: 0;
    height: 50px;
    padding: 0 14px;
    border: 1px solid var(--site-info-border);
    border-radius: 13px;
    background: var(--site-info-box);
    color: var(--site-info-text);
    font-family: inherit;
    font-size: 14px;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease, transform .2s ease;
}

    .site-info-form-group input::placeholder {
        color: #94b8a1;
    }

    .site-info-form-group input:hover,
    .site-info-form-group select:hover {
        border-color: #cce0d3;
        background: var(--site-info-card);
    }

    .site-info-form-group input:focus,
    .site-info-form-group select:focus {
        border-color: var(--site-info-primary);
        background: var(--site-info-card);
        box-shadow: 0 0 0 4px rgba(15, 118, 110, .11);
        transform: translateY(-1px);
    }

.site-info-select {
    cursor: pointer;
}*/

/* =========================================================
   Validation States
========================================================= */

/*.site-info-form-group input.invalid,
.site-info-form-group select.invalid {
    border-color: #dc2626;
    background: #fff7f7;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, .08);
}

.site-info-form-group input.valid,
.site-info-form-group select.valid {
    border-color: #10b981;
}*/

/* =========================================================
   Dark Mode
========================================================= */

/*.dark .site-info-page {
    --site-info-text: #f8fcfa;
    --site-info-muted: #94b8a1;
    --site-info-border: #274833;
    --site-info-card: #122c1c;
    --site-info-box: #183422;
}

.dark .site-info-card-header {
    background: radial-gradient( circle at 92% 15%, rgba(20, 184, 166, .09), transparent 32% ), linear-gradient( 135deg, rgba(15, 118, 110, .15), #122c1c );
}

.dark .site-info-card-body {
    background: linear-gradient( 145deg, #122c1c, #102919 );
}

.dark .site-info-form-group input,
.dark .site-info-form-group select {
    background: #183422;
    color: #f8fcfa;
}

    .dark .site-info-form-group input:hover,
    .dark .site-info-form-group select:hover,
    .dark .site-info-form-group input:focus,
    .dark .site-info-form-group select:focus {
        background: #1d3f2a;
    }

.dark .site-info-status-badge {
    border-color: rgba(16, 185, 129, .3);
    background: rgba(16, 185, 129, .12);
    color: #6ee7b7;
}*/

/* =========================================================
   Medium Desktop
========================================================= */

/*@media (max-width: 1150px) {
    .contact-info-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .address-info-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

        .address-info-grid .site-info-form-group:last-child {
            grid-column: 1 / -1;
        }
}*/

/* =========================================================
   Tablet
========================================================= */

/*@media (max-width: 850px) {
    .site-info-form-grid,
    .contact-info-grid,
    .address-info-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

        .address-info-grid .site-info-form-group:last-child {
            grid-column: auto;
        }
}*/

/* =========================================================
   Mobile
========================================================= */

/*@media (max-width: 620px) {
    .site-info-page {
        gap: 17px;
    }

    .site-info-card {
        border-radius: 17px;
    }

        .site-info-card:hover {
            transform: none;
        }

    .site-info-card-header {
        align-items: flex-start;
        gap: 11px;
        padding: 17px 15px;
    }

    .site-info-heading {
        gap: 10px;
    }

    .site-info-header-icon {
        flex-basis: 39px;
        width: 39px;
        height: 39px;
        border-radius: 11px;
        font-size: 14px;
    }

    .site-info-card-header h3 {
        font-size: 17px;
    }

    .site-info-card-header p {
        display: none;
    }

    .site-info-status-badge {
        padding: 7px 9px;
        font-size: 0;
    }

        .site-info-status-badge i {
            font-size: 11px;
        }

    .site-info-card-body {
        padding: 15px;
    }

    .site-info-form-grid,
    .contact-info-grid,
    .address-info-grid {
        grid-template-columns: 1fr;
        gap: 13px;
    }

    .site-info-form-group input,
    .site-info-form-group select {
        min-height: 49px;
        font-size: 16px;
    }
}*/

/* =========================================================
   Very Small Screens
========================================================= */

/*@media (max-width: 380px) {
    .site-info-status-badge {
        display: none;
    }

    .site-info-header-icon {
        display: none;
    }
}*/



/* ==========================================================================\n   UNIFIED GREEN DESIGN SYSTEM — generated from the original app.css\n   This final layer standardizes colors and interactive components while\n   preserving all existing selectors, responsive rules, and layouts.\n   ========================================================================== */
/*:root {
    --app-primary-950: #052e16;
    --app-primary-900: #14532d;
    --app-primary-800: #166534;
    --app-primary-700: #15803d;
    --app-primary-600: #16a34a;
    --app-primary-500: #22c55e;
    --app-primary-400: #4ade80;
    --app-primary-300: #86efac;
    --app-primary-200: #bbf7d0;
    --app-primary-100: #dcfce7;
    --app-primary-50: #f0fdf4;
    --primary: var(--app-primary-600);
    --primary-hover: var(--app-primary-700);
    --primary-active: var(--app-primary-800);
    --primary-soft: var(--app-primary-50);
    --primary-muted: var(--app-primary-100);
    --primary-border: var(--app-primary-200);
    --focus-ring: rgba(34, 197, 94, .22);
    --bg: #f4f8f5;
    --card: #ffffff;
    --box: #f8fbf9;
    --text: #102117;
    --text-muted: #607066;
    --border: #dce7df;
    --sidebar: #0b2415;
    --mode: #123b22;
}

body.dark {
    --bg: #07140c;
    --card: #0d1f14;
    --box: #132a1b;
    --text: #edf9f0;
    --text-muted: #a9b9ae;
    --border: #294332;
    --sidebar: #061109;
    --mode: rgba(255,255,255,.10);
}*/

/* Shared primary controls */
/*:where(.btn-primary, .btn-success, .btn-save, .save-btn, .edit-btn, .add-note-btn, .edit-site-btn, .copy-btn, .icon-btn, button.active:not(.delete-btn):not(.cancel-btn):not(.reset-btn), .tab.active, .map-tab.active, .day-btn.active) {
    background: linear-gradient(135deg, var(--app-primary-600), var(--app-primary-500)) !important;
    border-color: var(--app-primary-600) !important;
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(22, 163, 74, .18);
}

:where(.btn-primary, .btn-success, .btn-save, .save-btn, .edit-btn, .add-note-btn, .edit-site-btn, .copy-btn, .icon-btn):hover {
    background: linear-gradient(135deg, var(--app-primary-700), var(--app-primary-600)) !important;
    border-color: var(--app-primary-700) !important;
    color: #fff !important;
}*/

/* Secondary / cancel controls */
/*:where(.btn-secondary, .cancel-btn) {
    background: #edf3ef !important;
    border-color: #d4e1d8 !important;
    color: #294332 !important;
}

    :where(.btn-secondary, .cancel-btn):hover {
        background: #e2ece5 !important;
        color: #173421 !important;
    }*/

/* Keep destructive actions unmistakable */
/*:where(.btn-danger, .delete-btn, .reset-btn) {
    color: #fff !important;
}*/

/* Inputs and focus states */
/*:where(input, select, textarea, .form-control):focus {
    border-color: var(--app-primary-500) !important;
    box-shadow: 0 0 0 4px var(--focus-ring) !important;
    outline: none !important;
}

:where(input[type="checkbox"], input[type="radio"], .form-check-input) {
    accent-color: var(--app-primary-600);
}

.form-check-input:checked {
    background-color: var(--app-primary-600) !important;
    border-color: var(--app-primary-600) !important;
}*/

/* Links and active navigation */
/*:where(a, .btn-link, .nav-link.active) {
    color: var(--app-primary-700);
}

:where(a, .btn-link):hover {
    color: var(--app-primary-800);
}*/

/* Common active surfaces */
/*:where(.nav-link.active, .day-tab.active, .create-tabs button.active) {
    border-color: var(--app-primary-500) !important;
}

:where(.section-title, .card h4, .asset-type) {
    color: var(--app-primary-700) !important;
}*/

/* Green selections and badges */
/*:where(.badge.active, .asset-badge, .gate-main-badge, .day-tab.saved-day) {
    background: var(--app-primary-100) !important;
    border-color: var(--app-primary-300) !important;
    color: var(--app-primary-800) !important;
}*/

/* Sidebar identity */
/*.sidebar {
    background: var(--sidebar) !important;
}*/

/* Accessible keyboard focus */
/*:where(button, a, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid var(--app-primary-300) !important;
    outline-offset: 2px;
}*/
