﻿/* =========================================================
   ADMIN SYSTEM
========================================================= */

.admin-shell {
    min-height: 100vh;
    display: flex;
    background: #F7F3EA;
    color: #30221C;
}


/* =========================================================
   SIDEBAR
========================================================= */

.admin-sidebar {
    width: 255px;
    flex-shrink: 0;
    min-height: 100vh;
    background: #351C18;
    color: #F8EED9;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
}

.admin-brand {
    height: 82px;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 0 24px;
    border-bottom: 1px solid rgba(210, 169, 82, 0.18);
}

.admin-logo {
    width: 43px;
    height: 43px;
    display: grid;
    place-items: center;
    border: 1px solid #C9A24D;
    border-radius: 50%;
    color: #E6C66F;
    font-family: Georgia, serif;
    font-size: 23px;
}

.admin-brand strong {
    display: block;
    color: #F8EED9;
    font-family: Georgia, serif;
    font-size: 17px;
    font-weight: 500;
}

.admin-brand span {
    display: block;
    margin-top: 3px;
    color: #BDA98A;
    font-size: 10px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}


/* =========================================================
   ADMIN NAVIGATION
========================================================= */

.admin-navigation {
    padding: 22px 13px;
}

    .admin-navigation a {
        display: flex;
        align-items: center;
        gap: 12px;
        height: 45px;
        margin-bottom: 4px;
        padding: 0 13px;
        border-radius: 4px;
        color: #CDBDA5;
        text-decoration: none;
        font-size: 13px;
        transition: all 0.2s ease;
    }

        .admin-navigation a span {
            width: 22px;
            text-align: center;
            font-size: 15px;
        }

        .admin-navigation a:hover {
            background: rgba(201, 162, 77, 0.08);
            color: #F3D486;
        }

        .admin-navigation a.active {
            background: rgba(201, 162, 77, 0.14);
            color: #F0CD76;
            border-left: 3px solid #C9A24D;
            padding-left: 10px;
        }

.admin-nav-separator {
    height: 1px;
    margin: 20px 10px;
    background: rgba(210, 169, 82, 0.15);
}


/* =========================================================
   CONTENT
========================================================= */

.admin-content {
    flex: 1;
    min-width: 0;
}

.admin-topbar {
    height: 82px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 38px;
    background: #FFFDF8;
    border-bottom: 1px solid #E8DFD0;
}

    .admin-topbar h1 {
        margin: 0;
        color: #351C18;
        font-family: Georgia, serif;
        font-size: 20px;
        font-weight: 500;
    }

.admin-user {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #66554A;
    font-size: 13px;
}

.admin-avatar {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #7A2424;
    color: #F8EED9;
    font-family: Georgia, serif;
    font-weight: 600;
}

.admin-page {
    max-width: 1400px;
    margin: 0 auto;
    padding: 40px;
}


/* =========================================================
   PAGE HEADER
========================================================= */

.admin-page-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 32px;
}

.admin-eyebrow {
    margin-bottom: 7px;
    color: #B1812E;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.admin-page-header h2 {
    margin: 0;
    color: #351C18;
    font-family: Georgia, serif;
    font-size: 36px;
    font-weight: 500;
}

.admin-page-header p {
    margin: 8px 0 0;
    color: #75665B;
    font-size: 14px;
}


/* =========================================================
   BUTTONS
========================================================= */

.admin-primary-button,
.admin-secondary-button,
.action-button {
    border: 0;
    border-radius: 4px;
    cursor: pointer;
    font-family: inherit;
    transition: all 0.2s ease;
}

.admin-primary-button {
    padding: 11px 19px;
    background: #7A2424;
    color: #FFF8EA;
    font-size: 13px;
    font-weight: 600;
}

    .admin-primary-button:hover {
        background: #5F1919;
        transform: translateY(-1px);
    }

.admin-secondary-button {
    padding: 10px 18px;
    background: #EFE7DA;
    color: #4A3930;
    font-size: 13px;
    font-weight: 500;
}

    .admin-secondary-button:hover {
        background: #E2D6C5;
    }

.action-button {
    padding: 7px 12px;
    background: transparent;
    border: 1px solid #D9CDBD;
    color: #6B4D3D;
    font-size: 12px;
}

    .action-button:hover {
        background: #F5EBD9;
        border-color: #C9A24D;
        color: #6B1E1E;
    }


/* =========================================================
   TABLE
========================================================= */

.admin-table-card {
    overflow: hidden;
    background: #FFFDF8;
    border: 1px solid #E7DED1;
    border-radius: 6px;
    box-shadow: 0 5px 20px rgba(60, 38, 25, 0.05);
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
}

    .admin-table thead {
        background: #F4EEE4;
    }

    .admin-table th {
        padding: 14px 20px;
        color: #76604F;
        border-bottom: 1px solid #E2D8C9;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 1.2px;
        text-align: left;
        text-transform: uppercase;
    }

    .admin-table td {
        padding: 17px 20px;
        border-bottom: 1px solid #EEE7DD;
        color: #4F4138;
        font-size: 13px;
        vertical-align: middle;
    }

    .admin-table tbody tr:last-child td {
        border-bottom: 0;
    }

    .admin-table tbody tr:hover {
        background: #FCF8F1;
    }

.festival-name {
    color: #49251F;
    font-family: Georgia, serif;
    font-size: 16px;
    font-weight: 500;
}

.festival-slug {
    margin-top: 4px;
    color: #9A8B7B;
    font-family: Consolas, monospace;
    font-size: 11px;
}

.table-actions {
    display: flex;
    gap: 7px;
}


/* =========================================================
   BADGES
========================================================= */

.status-badge,
.year-badge {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 20px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.status-active {
    background: #E8F1E7;
    color: #477047;
}

.status-inactive {
    background: #F1E8E5;
    color: #855C52;
}

.year-badge {
    background: #F4E9CF;
    color: #76521B;
}

.muted-text {
    color: #A3978B;
    font-size: 12px;
}


/* =========================================================
   EMPTY / LOADING
========================================================= */

.admin-loading,
.admin-empty-state {
    padding: 70px 30px;
    background: #FFFDF8;
    border: 1px solid #E7DED1;
    border-radius: 6px;
    text-align: center;
}

.empty-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    margin: 0 auto 15px;
    border: 1px solid #C9A24D;
    border-radius: 50%;
    font-size: 25px;
}

.admin-empty-state h3 {
    margin: 0;
    color: #49251F;
    font-family: Georgia, serif;
    font-size: 24px;
    font-weight: 500;
}

.admin-empty-state p {
    margin: 8px 0 22px;
    color: #75665B;
    font-size: 13px;
}


/* =========================================================
   FORM
========================================================= */

.admin-form-card {
    max-width: 850px;
    padding: 35px;
    background: #FFFDF8;
    border: 1px solid #E7DED1;
    border-radius: 6px;
    box-shadow: 0 5px 20px rgba(60, 38, 25, 0.05);
}

.form-group {
    margin-bottom: 24px;
}

    .form-group label {
        display: block;
        margin-bottom: 8px;
        color: #4A3830;
        font-size: 13px;
        font-weight: 600;
    }

.admin-input,
.admin-textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 11px 13px;
    border: 1px solid #D8CCBD;
    border-radius: 4px;
    outline: none;
    background: #FFFEFA;
    color: #34251F;
    font-family: inherit;
    font-size: 14px;
    transition: border 0.2s ease;
}

.admin-input {
    height: 44px;
}

.admin-textarea {
    min-height: 120px;
    resize: vertical;
}

    .admin-input:focus,
    .admin-textarea:focus {
        border-color: #B1812E;
        box-shadow: 0 0 0 3px rgba(201, 162, 77, 0.10);
    }

.form-group small {
    display: block;
    margin-top: 6px;
    color: #998B7C;
    font-size: 11px;
}

.form-checkbox {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 10px 0 30px;
}

    .form-checkbox input {
        accent-color: #7A2424;
    }

    .form-checkbox label {
        color: #55453B;
        font-size: 13px;
    }

.form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding-top: 22px;
    border-top: 1px solid #E9E0D4;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 850px) {

    .admin-sidebar {
        width: 215px;
    }

    .admin-page {
        padding: 25px;
    }

    .admin-page-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-table-card {
        overflow-x: auto;
    }

    .admin-table {
        min-width: 750px;
    }
}


@media (max-width: 650px) {

    .admin-sidebar {
        display: none;
    }

    .admin-topbar {
        padding: 0 20px;
    }

    .admin-page {
        padding: 20px 15px;
    }

    .admin-form-card {
        padding: 22px;
    }
}

.validation-message {
    display: block;
    margin-top: 6px;
    color: #A53A32;
    font-size: 12px;
}

/* =========================================================
   EVENT MANAGEMENT
========================================================= */

.event-filter-bar {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
    padding: 15px;
    background: #FFFDF8;
    border: 1px solid #E7DED1;
    border-radius: 6px;
}

.admin-select {
    height: 40px;
    min-width: 180px;
    padding: 0 12px;
    border: 1px solid #D8CCBD;
    border-radius: 4px;
    background: #FFFEFA;
    color: #2B2522;
    font-family: inherit;
    font-size: 13px;
}

.event-list-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.event-thumbnail,
.event-thumbnail-placeholder {
    width: 52px;
    height: 52px;
    flex-shrink: 0;
    border-radius: 4px;
    object-fit: cover;
}

.event-thumbnail-placeholder {
    display: grid;
    place-items: center;
    background: #F8EEDB;
    border: 1px solid #E5D5B7;
    font-size: 21px;
}

.featured-badge {
    display: inline-flex;
    margin-left: 5px;
    padding: 5px 9px;
    border-radius: 20px;
    background: #F5E8C9;
    color: #8A641F;
    font-size: 10px;
    font-weight: 700;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.event-upload-preview {
    display: block;
    width: 180px;
    height: 110px;
    margin-top: 12px;
    border-radius: 5px;
    object-fit: cover;
    border: 1px solid #E0D2BF;
}

.admin-table td small {
    color: #918477;
    font-size: 11px;
}

@media (max-width: 700px) {

    .event-filter-bar {
        flex-direction: column;
    }

    .admin-select {
        width: 100%;
    }

    .form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }
}

/* =========================================================
   FESTIVAL YEAR MANAGEMENT
========================================================= */

.year-title {
    font-size: 18px;
    font-weight: 700;
    color: #4A211B;
}

.date-range {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #62554D;
    font-size: 12px;
}

    .date-range span {
        color: #C99A3D;
    }

.current-badge {
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border-radius: 20px;
    background: #F5E8C9;
    color: #8A641F;
    font-size: 10px;
    font-weight: 700;
}

.event-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 28px;
    padding: 0 8px;
    border-radius: 15px;
    background: #F8EEDB;
    color: #7A1F1F;
    font-size: 12px;
    font-weight: 700;
}

.muted-text {
    color: #9B9086;
    font-size: 12px;
}

.form-help {
    display: block;
    margin-top: 6px;
    color: #8C8076;
    font-size: 11px;
}

.admin-success-message {
    margin-bottom: 18px;
    padding: 12px 15px;
    border-left: 3px solid #7A1F1F;
    background: #F8EEDB;
    color: #5D3028;
    font-size: 13px;
}

.admin-error-message {
    margin: 15px 0;
    padding: 12px 15px;
    border-left: 3px solid #C83A2E;
    background: #FBEDEC;
    color: #8A2B24;
    font-size: 13px;
}

.action-danger {
    color: #A12A23 !important;
}

    .action-danger:hover {
        background: #A12A23 !important;
        color: #FFF8E7 !important;
    }

.required {
    color: #A12A23;
}

.calendar-selector-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    padding: 24px;
    margin-bottom: 30px;
    background: #FFFDF8;
    border: 1px solid #E5DCCF;
    border-radius: 8px;
}

.calendar-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

    .calendar-toolbar h3 {
        margin: 0;
        color: #4A211B;
        font-family: Georgia, serif;
        font-size: 24px;
    }

    .calendar-toolbar p {
        margin: 5px 0 0;
        color: #8C8076;
        font-size: 13px;
    }

.admin-loading {
    padding: 40px;
    text-align: center;
    color: #8C8076;
}

@media (max-width: 768px) {

    .calendar-selector-card {
        grid-template-columns: 1fr;
    }

    .calendar-toolbar {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
}


/* =========================================================
   ADMIN GALLERY MANAGEMENT
========================================================= */

.admin-gallery-page {
    padding: 30px;
    background: #F8F5EF;
    min-height: 100vh;
}


/* HEADER */

.admin-gallery-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 28px;
}

.admin-page-eyebrow {
    margin-bottom: 6px;
    color: #A06E20;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.admin-gallery-header h1 {
    margin: 0;
    color: #5D211D;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 32px;
    font-weight: 500;
}

.admin-gallery-header p {
    margin: 6px 0 0;
    color: #81756D;
    font-size: 12px;
}


/* CREATE BUTTON */

.admin-gallery-create-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 18px;
    background: #741F1F;
    border: 1px solid #741F1F;
    border-radius: 4px;
    color: #FFF8E7;
    font-size: 11px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

    .admin-gallery-create-button:hover {
        background: #5D1717;
        color: #FFF8E7;
    }


/* FILTER */

.admin-gallery-filter {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    margin-bottom: 20px;
    padding: 18px;
    background: #FFFDF8;
    border: 1px solid #E4D8C6;
    border-radius: 6px;
}

.admin-gallery-filter-field {
    min-width: 280px;
}

    .admin-gallery-filter-field label {
        display: block;
        margin-bottom: 6px;
        color: #684B42;
        font-size: 10px;
        font-weight: 600;
    }

    .admin-gallery-filter-field select {
        width: 100%;
        height: 38px;
        padding: 0 10px;
        background: #FFF;
        border: 1px solid #D8CDBD;
        border-radius: 4px;
        color: #59463F;
        font-size: 11px;
    }

.admin-gallery-filter-button,
.admin-gallery-reset-button {
    height: 38px;
    padding: 0 17px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
}

.admin-gallery-filter-button {
    background: #741F1F;
    border: 1px solid #741F1F;
    color: #FFF8E7;
}

.admin-gallery-reset-button {
    background: #FFF;
    border: 1px solid #D8CDBD;
    color: #684B42;
}


/* ERROR */

.admin-gallery-error {
    margin-bottom: 20px;
    padding: 12px 15px;
    background: #FBEAEA;
    border: 1px solid #E4BABA;
    border-radius: 5px;
    color: #8A2525;
    font-size: 11px;
}


/* TABLE */

.admin-gallery-table-wrapper {
    overflow-x: auto;
    background: #FFFDF8;
    border: 1px solid #E4D8C6;
    border-radius: 7px;
    box-shadow: 0 4px 15px rgba(74, 33, 27, 0.04);
}

.admin-gallery-table {
    width: 100%;
    min-width: 950px;
    border-collapse: collapse;
}

    .admin-gallery-table th {
        padding: 14px 15px;
        background: #F4EBDD;
        border-bottom: 1px solid #DCCEBB;
        color: #67483F;
        font-size: 9px;
        font-weight: 700;
        letter-spacing: .8px;
        text-align: left;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .admin-gallery-table td {
        padding: 14px 15px;
        border-bottom: 1px solid #EEE6DA;
        color: #665850;
        font-size: 11px;
        vertical-align: middle;
    }

    .admin-gallery-table tbody tr:last-child td {
        border-bottom: 0;
    }

    .admin-gallery-table tbody tr:hover {
        background: #FFFCF5;
    }


/* GALLERY INFO */

.admin-gallery-info {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 260px;
}

.admin-gallery-thumbnail,
.admin-gallery-thumbnail-placeholder {
    width: 58px;
    height: 48px;
    flex: 0 0 58px;
    border-radius: 4px;
    object-fit: cover;
}

.admin-gallery-thumbnail-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F1E4D0;
    color: #A06E20;
    font-size: 20px;
}

.admin-gallery-info strong {
    display: block;
    margin-bottom: 4px;
    color: #54251F;
    font-size: 12px;
}

.admin-gallery-info small {
    display: block;
    max-width: 250px;
    overflow: hidden;
    color: #91847A;
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* YEAR */

.admin-gallery-year {
    color: #7A1F1F;
    font-weight: 600;
    white-space: nowrap;
}


/* IMAGE COUNT */

.admin-gallery-image-count {
    display: inline-flex;
    min-width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    background: #F6EBD5;
    border-radius: 50%;
    color: #7A1F1F;
    font-size: 10px;
    font-weight: 700;
}


/* STATUS */

.admin-gallery-status {
    display: inline-block;
    padding: 5px 9px;
    border-radius: 20px;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .6px;
    text-transform: uppercase;
}

    .admin-gallery-status.published {
        background: #E7F3E8;
        color: #397044;
    }

    .admin-gallery-status.draft {
        background: #EEEAE5;
        color: #786E67;
    }


/* CREATED */

.admin-gallery-created {
    color: #81756D;
    white-space: nowrap;
}


/* ACTIONS */

.admin-gallery-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

.admin-gallery-action {
    padding: 6px 9px;
    border-radius: 3px;
    font-size: 9px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}

    .admin-gallery-action.edit {
        background: #F2E5CE;
        border: 1px solid #E1CCAA;
        color: #79591F;
    }

    .admin-gallery-action.images {
        background: #E9E1D8;
        border: 1px solid #D7C9B9;
        color: #624A3E;
    }

    .admin-gallery-action.delete {
        background: #F8E8E8;
        border: 1px solid #E8CACA;
        color: #9A3333;
    }


/* EMPTY */

.admin-gallery-empty {
    padding: 80px 25px;
    text-align: center;
}

.admin-gallery-empty-icon {
    margin-bottom: 10px;
    font-size: 42px;
}

.admin-gallery-empty h3 {
    margin: 0 0 7px;
    color: #6A2923;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    font-weight: 500;
}

.admin-gallery-empty p {
    margin: 0 0 20px;
    color: #8A7D73;
    font-size: 11px;
}


/* LOADING */

.admin-gallery-loading {
    padding: 80px 20px;
    color: #8A7D73;
    font-size: 12px;
    text-align: center;
}


/* RESPONSIVE */

@media (max-width: 700px) {

    .admin-gallery-page {
        padding: 20px 15px;
    }

    .admin-gallery-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-gallery-filter {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-gallery-filter-field {
        min-width: 0;
    }
}


/* =========================================================
   ADMIN GALLERY - CREATE
========================================================= */

.admin-gallery-form-page {
    min-height: 100vh;
    padding: 30px;
    background: #F8F5EF;
}


/* HEADER */

.admin-gallery-form-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 28px;
}

    .admin-gallery-form-header h1 {
        margin: 0;
        color: #5D211D;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 32px;
        font-weight: 500;
    }

    .admin-gallery-form-header p {
        margin: 6px 0 0;
        color: #81756D;
        font-size: 12px;
    }


.admin-gallery-back-button {
    display: inline-flex;
    align-items: center;
    padding: 10px 15px;
    background: #FFFDF8;
    border: 1px solid #D8CDBD;
    border-radius: 4px;
    color: #684B42;
    font-size: 10px;
    font-weight: 600;
    text-decoration: none;
}

    .admin-gallery-back-button:hover {
        background: #F2E8D8;
        color: #741F1F;
    }


/* FORM CARD */

.admin-gallery-form-card {
    width: min(850px, 100%);
    background: #FFFDF8;
    border: 1px solid #E4D8C6;
    border-radius: 7px;
    box-shadow: 0 5px 20px rgba(74, 33, 27, 0.05);
    padding: 30px;
}


/* FORM GROUP */

.admin-gallery-form-group {
    margin-bottom: 22px;
}

    .admin-gallery-form-group > label {
        display: block;
        margin-bottom: 7px;
        color: #60453D;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: .4px;
    }

        .admin-gallery-form-group > label span {
            color: #A42B2B;
        }


/* INPUT */

.admin-gallery-input {
    width: 100%;
    min-height: 39px;
    padding: 9px 11px;
    background: #FFFFFF;
    border: 1px solid #D8CDBD;
    border-radius: 4px;
    color: #59463F;
    font-family: inherit;
    font-size: 11px;
    outline: none;
    box-sizing: border-box;
}

    .admin-gallery-input:focus {
        border-color: #A06E20;
        box-shadow: 0 0 0 2px rgba(160, 110, 32, 0.08);
    }


.admin-gallery-textarea {
    min-height: 110px;
    resize: vertical;
    line-height: 1.6;
}


/* HELP */

.admin-gallery-help {
    margin-top: 5px;
    color: #94877D;
    font-size: 9px;
}


/* VALIDATION */

.admin-gallery-form-group .validation-message {
    display: block;
    margin-top: 5px;
    color: #A42B2B;
    font-size: 9px;
}


/* FORM ROW */

.admin-gallery-form-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 25px;
    align-items: start;
}


/* PUBLISH */

.admin-gallery-publish-box {
    margin-top: 25px;
    padding: 15px;
    background: #F8F1E5;
    border: 1px solid #E5D8C3;
    border-radius: 5px;
}

.admin-gallery-checkbox-label {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #60453D;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

    .admin-gallery-checkbox-label input {
        width: 15px;
        height: 15px;
        accent-color: #741F1F;
    }

.admin-gallery-publish-box p {
    margin: 7px 0 0 24px;
    color: #8C7D72;
    font-size: 9px;
    line-height: 1.5;
}


/* ERROR */

.admin-gallery-form-error {
    margin-bottom: 22px;
    padding: 12px 14px;
    background: #FBEAEA;
    border: 1px solid #E4BABA;
    border-radius: 5px;
    color: #8A2525;
    font-size: 10px;
}


/* ACTIONS */

.admin-gallery-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 30px;
    padding-top: 22px;
    border-top: 1px solid #EDE4D7;
}


.admin-gallery-cancel-button,
.admin-gallery-save-button {
    min-width: 110px;
    padding: 10px 17px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}


.admin-gallery-cancel-button {
    background: #FFF;
    border: 1px solid #D8CDBD;
    color: #684B42;
}


.admin-gallery-save-button {
    background: #741F1F;
    border: 1px solid #741F1F;
    color: #FFF8E7;
}


    .admin-gallery-save-button:hover {
        background: #5D1717;
    }


    .admin-gallery-save-button:disabled {
        opacity: .6;
        cursor: not-allowed;
    }


/* MOBILE */

@media (max-width: 700px) {

    .admin-gallery-form-page {
        padding: 20px 15px;
    }

    .admin-gallery-form-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-gallery-form-card {
        padding: 20px;
    }

    .admin-gallery-form-row {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .admin-gallery-publish-box {
        margin-top: 0;
    }
}

/* =========================================================
   GALLERY IMAGE UPLOAD
========================================================= */

.admin-gallery-upload-box {
    position: relative;
    min-height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FCF8F0;
    border: 2px dashed #D8C7AE;
    border-radius: 7px;
    overflow: hidden;
    transition: all .2s ease;
}

    .admin-gallery-upload-box:hover {
        border-color: #A06E20;
        background: #FBF5E9;
    }


.admin-gallery-file-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
}


.admin-gallery-upload-content {
    text-align: center;
    pointer-events: none;
}


.admin-gallery-upload-icon {
    margin-bottom: 8px;
    font-size: 32px;
}


.admin-gallery-upload-title {
    color: #68231F;
    font-size: 13px;
    font-weight: 700;
}


.admin-gallery-upload-description {
    margin-top: 5px;
    color: #796B62;
    font-size: 10px;
}


.admin-gallery-upload-formats {
    margin-top: 8px;
    color: #A08F80;
    font-size: 9px;
}


/* SELECTED FILES */

.admin-gallery-selected-files {
    margin-top: 12px;
    padding: 12px;
    background: #FAF6EE;
    border: 1px solid #E5D8C5;
    border-radius: 5px;
}


.admin-gallery-selected-header {
    margin-bottom: 9px;
    color: #6C493F;
    font-size: 10px;
}


.admin-gallery-file-list {
    display: flex;
    flex-direction: column;
    gap: 5px;
}


.admin-gallery-file-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 9px;
    background: #FFFDF9;
    border: 1px solid #E9DFD1;
    border-radius: 4px;
}


.admin-gallery-file-icon {
    font-size: 14px;
}


.admin-gallery-file-name {
    flex: 1;
    overflow: hidden;
    color: #634D45;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}


.admin-gallery-file-size {
    color: #9A8A7D;
    font-size: 9px;
    white-space: nowrap;
}

/* =========================================================
   ADMIN GALLERY IMAGE MANAGEMENT
========================================================= */

.admin-gallery-images-page {
    min-height: 100vh;
    padding: 30px;
    background: #F8F5EF;
}


/* HEADER */

.admin-gallery-images-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 25px;
}

    .admin-gallery-images-header h1 {
        margin: 0;
        color: #5D211D;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 32px;
        font-weight: 500;
    }

    .admin-gallery-images-header p {
        margin: 6px 0 0;
        color: #81756D;
        font-size: 12px;
    }

.admin-gallery-images-header-actions {
    display: flex;
    gap: 8px;
}


/* SUMMARY */

.admin-gallery-summary {
    display: flex;
    align-items: center;
    gap: 45px;
    margin-bottom: 22px;
    padding: 18px 22px;
    background: #FFFDF8;
    border: 1px solid #E4D8C6;
    border-radius: 7px;
}

.admin-gallery-summary-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

    .admin-gallery-summary-item .summary-label {
        color: #98887C;
        font-size: 8px;
        font-weight: 700;
        letter-spacing: 1px;
        text-transform: uppercase;
    }

    .admin-gallery-summary-item strong {
        color: #65241F;
        font-size: 13px;
    }


/* SECTION */

.admin-gallery-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px;
}

    .admin-gallery-section-heading h2 {
        margin: 0;
        color: #65241F;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 20px;
        font-weight: 500;
    }

    .admin-gallery-section-heading p {
        margin: 4px 0 0;
        color: #918178;
        font-size: 10px;
    }


/* UPLOAD CARD */

.admin-gallery-image-upload-card {
    margin-bottom: 30px;
    padding: 24px;
    background: #FFFDF8;
    border: 1px solid #E4D8C6;
    border-radius: 7px;
}


    /* UPLOAD BOX */

    .admin-gallery-image-upload-card .admin-gallery-upload-box {
        min-height: 150px;
    }


/* UPLOAD BUTTON */

.admin-gallery-upload-action {
    display: flex;
    justify-content: flex-end;
    margin-top: 15px;
}

.admin-gallery-upload-button {
    padding: 10px 17px;
    background: #741F1F;
    border: 1px solid #741F1F;
    border-radius: 4px;
    color: #FFF8E7;
    font-size: 10px;
    font-weight: 600;
    cursor: pointer;
}

    .admin-gallery-upload-button:hover {
        background: #5D1717;
    }

    .admin-gallery-upload-button:disabled {
        opacity: .6;
        cursor: not-allowed;
    }


/* CLEAR */

.admin-gallery-selected-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.admin-gallery-clear-button {
    padding: 5px 9px;
    background: transparent;
    border: 1px solid #D9CABC;
    border-radius: 3px;
    color: #8A5A4F;
    font-size: 9px;
    cursor: pointer;
}


/* SUCCESS */

.admin-gallery-upload-success {
    margin-top: 14px;
    padding: 10px 13px;
    background: #EAF4EA;
    border: 1px solid #C9DFC9;
    border-radius: 4px;
    color: #397044;
    font-size: 10px;
}


/* EXISTING IMAGES */

.admin-gallery-existing-images {
    padding: 24px;
    background: #FFFDF8;
    border: 1px solid #E4D8C6;
    border-radius: 7px;
}


/* IMAGE GRID */

.admin-gallery-image-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}


/* IMAGE CARD */

.admin-gallery-image-card {
    overflow: hidden;
    background: #FFFFFF;
    border: 1px solid #E1D6C8;
    border-radius: 6px;
    box-shadow: 0 3px 12px rgba(74, 33, 27, .04);
}


/* IMAGE PREVIEW */

.admin-gallery-image-preview {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    background: #F1E8DC;
    overflow: hidden;
}

    .admin-gallery-image-preview img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
    }


/* BADGES */

.admin-gallery-cover-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 5px 8px;
    background: #741F1F;
    border-radius: 3px;
    color: #FFF8E7;
    font-size: 7px;
    font-weight: 700;
    letter-spacing: .8px;
}

.admin-gallery-draft-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 5px 8px;
    background: #5C5149;
    border-radius: 3px;
    color: white;
    font-size: 7px;
    font-weight: 700;
    letter-spacing: .7px;
}


/* IMAGE DETAILS */

.admin-gallery-image-details {
    padding: 14px;
}

.admin-gallery-image-file {
    margin-bottom: 12px;
    overflow: hidden;
    color: #8B7D73;
    font-size: 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* LABEL */

.admin-gallery-image-details label {
    display: block;
    margin-bottom: 5px;
    color: #60453D;
    font-size: 8px;
    font-weight: 700;
}


/* INPUT */

.admin-gallery-image-input {
    width: 100%;
    height: 34px;
    box-sizing: border-box;
    padding: 7px 9px;
    background: #FFF;
    border: 1px solid #D9CDBE;
    border-radius: 4px;
    color: #604C44;
    font-size: 9px;
    outline: none;
}

    .admin-gallery-image-input:focus {
        border-color: #A06E20;
    }


/* META */

.admin-gallery-image-meta-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 15px;
    margin-top: 12px;
}

.admin-gallery-order-input {
    width: 70px;
    height: 32px;
    padding: 5px 8px;
    box-sizing: border-box;
    background: white;
    border: 1px solid #D9CDBE;
    border-radius: 4px;
    color: #604C44;
    font-size: 9px;
}


/* PUBLISH */

.admin-gallery-image-publish {
    display: flex !important;
    align-items: center;
    gap: 6px;
    margin-bottom: 5px;
    cursor: pointer;
}

    .admin-gallery-image-publish input {
        width: 14px;
        height: 14px;
        accent-color: #741F1F;
    }


/* IMAGE ACTIONS */

.admin-gallery-image-actions {
    display: flex;
    gap: 7px;
    margin-top: 15px;
    padding-top: 12px;
    border-top: 1px solid #EEE5D9;
}

.admin-gallery-save-image-button,
.admin-gallery-delete-image-button {
    flex: 1;
    padding: 8px 10px;
    border-radius: 3px;
    font-size: 9px;
    font-weight: 600;
    cursor: pointer;
}

.admin-gallery-save-image-button {
    background: #F2E5CE;
    border: 1px solid #E1CCAA;
    color: #79591F;
}

.admin-gallery-delete-image-button {
    background: #F8E8E8;
    border: 1px solid #E8CACA;
    color: #9A3333;
}


/* EMPTY */

.admin-gallery-no-images {
    padding: 60px 20px;
    text-align: center;
}

.admin-gallery-no-images-icon {
    margin-bottom: 8px;
    font-size: 36px;
}

.admin-gallery-no-images h3 {
    margin: 0 0 6px;
    color: #65241F;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    font-weight: 500;
}

.admin-gallery-no-images p {
    margin: 0;
    color: #918178;
    font-size: 10px;
}


/* LOADING */

.admin-gallery-images-loading {
    padding: 100px 20px;
    color: #887A70;
    font-size: 12px;
    text-align: center;
}

.admin-gallery-images-error {
    padding: 30px;
    background: #FBEAEA;
    border: 1px solid #E4BABA;
    border-radius: 5px;
    color: #8A2525;
    font-size: 11px;
}


/* RESPONSIVE */

@media (max-width: 1000px) {

    .admin-gallery-image-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {

    .admin-gallery-images-page {
        padding: 20px 15px;
    }

    .admin-gallery-images-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-gallery-images-header-actions {
        width: 100%;
    }

    .admin-gallery-summary {
        align-items: flex-start;
        flex-direction: column;
        gap: 15px;
    }

    .admin-gallery-image-grid {
        grid-template-columns: 1fr;
    }

    .admin-gallery-image-upload-card,
    .admin-gallery-existing-images {
        padding: 18px;
    }
}

/* =========================================================
   CURRENT GALLERY COVER
========================================================= */

.admin-gallery-current-cover {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #E9DFD2;
}

    .admin-gallery-current-cover label {
        display: block;
        margin-bottom: 9px;
        color: #60453D;
        font-size: 9px;
        font-weight: 700;
    }

    .admin-gallery-current-cover img {
        width: 180px;
        height: 110px;
        display: block;
        object-fit: cover;
        border-radius: 5px;
        border: 1px solid #DCCDBB;
    }

/* =========================================================
   DELETE CONFIRMATION MODAL
========================================================= */

.admin-gallery-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(47, 28, 24, .45);
}


.admin-gallery-delete-modal {
    width: 100%;
    max-width: 430px;
    padding: 28px;
    background: #FFFDF8;
    border: 1px solid #DCCDBB;
    border-radius: 8px;
    box-shadow: 0 20px 60px rgba(45, 24, 20, .20);
    text-align: center;
}


.admin-gallery-delete-icon {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px;
    background: #F7E4E1;
    border: 1px solid #E6C3BD;
    border-radius: 50%;
    color: #8A2924;
    font-size: 20px;
    font-weight: 700;
}


.admin-gallery-delete-modal h2 {
    margin: 0;
    color: #65241F;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    font-weight: 500;
}


.admin-gallery-delete-modal p {
    margin: 10px 0 15px;
    color: #766961;
    font-size: 11px;
    line-height: 1.7;
}


.admin-gallery-delete-warning {
    margin-bottom: 22px;
    padding: 11px 13px;
    background: #FBF0EC;
    border: 1px solid #EBD4CD;
    border-radius: 4px;
    color: #8A5147;
    font-size: 9px;
    line-height: 1.6;
}


.admin-gallery-modal-actions {
    display: flex;
    justify-content: center;
    gap: 8px;
}


.admin-gallery-modal-cancel,
.admin-gallery-modal-delete {
    min-width: 105px;
    padding: 9px 15px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 600;
    cursor: pointer;
}


.admin-gallery-modal-cancel {
    background: #FFFDF8;
    border: 1px solid #D8CABB;
    color: #705C52;
}


.admin-gallery-modal-delete {
    background: #7B2522;
    border: 1px solid #7B2522;
    color: #FFF8EC;
}


    .admin-gallery-modal-delete:hover {
        background: #611B19;
    }


    .admin-gallery-modal-cancel:disabled,
    .admin-gallery-modal-delete:disabled {
        opacity: .6;
        cursor: not-allowed;
    }

.admin-gallery-list-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}


.admin-gallery-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 55px;
    padding: 7px 10px;
    border-radius: 3px;
    font-size: 9px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}


    .admin-gallery-action.edit {
        background: #FFFDF8;
        border: 1px solid #DCCDBB;
        color: #795548;
    }


    .admin-gallery-action.images {
        background: #F4EBD9;
        border: 1px solid #E1CFB0;
        color: #79591F;
    }


    .admin-gallery-action.publish {
        background: #EAF3E9;
        border: 1px solid #C9DEC7;
        color: #3F7043;
    }


    .admin-gallery-action.delete {
        background: #F9E9E7;
        border: 1px solid #E6C8C3;
        color: #982F2A;
    }


    .admin-gallery-action:hover {
        opacity: .8;
    }

/* =========================================================
   ADMIN FESTIVAL EDIT
========================================================= */

.admin-page {
    padding: 30px;
    max-width: 1200px;
    margin: auto;
}

.admin-page-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 25px;
}

.admin-page-eyebrow {
    color: #A06A1E;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.admin-page-header h1 {
    margin: 6px 0;
    color: #65241F;
    font-family: Georgia, serif;
    font-size: 32px;
    font-weight: 500;
}

.admin-page-header p {
    margin: 0;
    color: #7B6E65;
    font-size: 11px;
}

.admin-form-card {
    background: #FFFDF8;
    border: 1px solid #E5D8C6;
    border-radius: 6px;
}

.admin-form-section {
    padding: 28px;
    border-bottom: 1px solid #E8DCCB;
}

.admin-form-section-title {
    margin-bottom: 20px;
    color: #65241F;
    font-family: Georgia, serif;
    font-size: 21px;
}

.admin-form-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

    .admin-form-section-header .admin-form-section-title {
        margin-bottom: 4px;
    }

.admin-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.admin-form-group {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.admin-form-full {
    grid-column: 1 / -1;
}

.admin-form-group label {
    color: #4D3932;
    font-size: 10px;
    font-weight: 700;
}

    .admin-form-group label span {
        color: #A33B2B;
    }

.admin-input,
.admin-textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 11px 12px;
    background: #FFF;
    border: 1px solid #D9CBB9;
    border-radius: 4px;
    color: #44352F;
    font-family: inherit;
    font-size: 11px;
    outline: none;
}

    .admin-input:focus,
    .admin-textarea:focus {
        border-color: #A06A1E;
        box-shadow: 0 0 0 2px rgba(160,106,30,.08);
    }

.admin-textarea {
    resize: vertical;
}

.admin-field-hint {
    color: #8A7A70;
    font-size: 9px;
    line-height: 1.5;
}

.validation-message {
    color: #A33B2B;
    font-size: 9px;
}


/* TOGGLE */

.admin-toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    background: #FBF7EF;
    border: 1px solid #E5D8C6;
    border-radius: 4px;
}

.admin-toggle-title {
    margin-bottom: 3px;
    display: block;
}


/* SWITCH */

.admin-switch {
    position: relative;
    width: 44px;
    height: 24px;
    flex-shrink: 0;
}

    .admin-switch input {
        opacity: 0;
        width: 0;
        height: 0;
    }

.admin-switch-slider {
    position: absolute;
    inset: 0;
    cursor: pointer;
    background: #CFC4B7;
    border-radius: 20px;
    transition: .2s;
}

    .admin-switch-slider::before {
        content: "";
        position: absolute;
        width: 18px;
        height: 18px;
        left: 3px;
        top: 3px;
        background: white;
        border-radius: 50%;
        transition: .2s;
    }

.admin-switch input:checked + .admin-switch-slider {
    background: #762720;
}

    .admin-switch input:checked + .admin-switch-slider::before {
        transform: translateX(20px);
    }


/* YEARS */

.admin-year-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.admin-year-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 13px 15px;
    background: #FBF7EF;
    border: 1px solid #E8DCCB;
    border-radius: 4px;
}

    .admin-year-item strong {
        color: #65241F;
        font-family: Georgia, serif;
        font-size: 17px;
    }

    .admin-year-item span:not(.admin-badge) {
        margin-left: 10px;
        color: #81736A;
        font-size: 9px;
    }

.admin-year-status {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.admin-badge {
    display: inline-block;
    padding: 4px 7px;
    border-radius: 3px;
    font-size: 7px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.admin-badge-current {
    background: #F4E2B8;
    color: #805713;
}

.admin-badge-published {
    background: #DDEBDD;
    color: #38603B;
}

.admin-badge-draft {
    background: #E9E3DD;
    color: #70645C;
}


/* EMPTY */

.admin-empty-state {
    padding: 35px 20px;
    text-align: center;
    background: #FBF7EF;
    border: 1px dashed #D9CBB9;
    border-radius: 5px;
}

.admin-empty-icon {
    margin-bottom: 8px;
    font-size: 30px;
}

.admin-empty-state strong {
    color: #65241F;
    font-family: Georgia, serif;
    font-size: 17px;
}

.admin-empty-state p {
    margin: 6px 0 15px;
    color: #81736A;
    font-size: 9px;
}


/* BUTTONS */

.admin-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 20px 28px;
}

.admin-primary-button,
.admin-secondary-button,
.admin-cancel-button,
.admin-small-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 15px;
    border-radius: 4px;
    font-size: 9px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.admin-primary-button {
    border: 0;
    background: #762720;
    color: #FFF8EA;
}

    .admin-primary-button:hover {
        background: #65211C;
    }

.admin-secondary-button,
.admin-cancel-button,
.admin-small-button {
    border: 1px solid #D9CBB9;
    background: #FFFDF8;
    color: #65241F;
}

    .admin-secondary-button:hover,
    .admin-cancel-button:hover,
    .admin-small-button:hover {
        background: #F5EBDD;
    }


/* ALERT */

.admin-alert {
    margin-top: 15px;
    padding: 11px 14px;
    border-radius: 4px;
    font-size: 10px;
}

.admin-alert-success {
    background: #E4F0E3;
    color: #37603A;
}

.admin-alert-danger {
    background: #F5E0DC;
    color: #8A3025;
}

.admin-loading {
    padding: 60px;
    text-align: center;
    color: #81736A;
    font-size: 10px;
}


@media (max-width: 700px) {

    .admin-page {
        padding: 20px 15px;
    }

    .admin-page-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-form-grid {
        grid-template-columns: 1fr;
    }

    .admin-form-full {
        grid-column: auto;
    }

    .admin-form-section {
        padding: 20px;
    }

    .admin-form-section-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-year-item {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-form-actions {
        padding: 18px 20px;
    }
}


/* =========================================================
   FESTIVAL YEAR BANNER UPLOAD
========================================================= */

.festival-banner-preview {
    width: 100%;
    max-height: 300px;
    overflow: hidden;
    margin-bottom: 12px;
    border: 1px solid #E5D8C6;
    border-radius: 5px;
    background: #F3EBDD;
}

.festival-banner-preview-image {
    width: 100%;
    height: 300px;
    display: block;
    object-fit: cover;
}


.festival-banner-upload {
    position: relative;
    min-height: 90px;
    border: 1px dashed #CDBDA8;
    border-radius: 5px;
    background: #FBF7EF;
    cursor: pointer;
    transition: .2s ease;
}

    .festival-banner-upload:hover {
        border-color: #A06A1E;
        background: #F8F0E3;
    }


.festival-banner-file-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}


.festival-banner-upload-content {
    min-height: 90px;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 18px;
    pointer-events: none;
}


.festival-banner-upload-icon {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F1E2CB;
    border-radius: 50%;
    font-size: 19px;
}


.festival-banner-upload-content strong {
    display: block;
    margin-bottom: 4px;
    color: #65241F;
    font-family: Georgia, serif;
    font-size: 15px;
}


.festival-banner-upload-content span {
    display: block;
    color: #8A7A70;
    font-size: 9px;
}


.festival-banner-selected {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-top: 8px;
    padding: 9px 12px;
    background: #F3EBDD;
    border: 1px solid #E5D8C6;
    border-radius: 4px;
    color: #776A61;
    font-size: 9px;
}


    .festival-banner-selected strong {
        color: #65241F;
    }


@media (max-width: 600px) {

    .festival-banner-preview-image {
        height: 200px;
    }

    .festival-banner-selected {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* =========================================================
   EVENT EDIT
========================================================= */

.event-cover-preview {
    position: relative;
    width: 100%;
    max-height: 300px;
    overflow: hidden;
    margin-bottom: 12px;
    border: 1px solid #e5d8c6;
    border-radius: 5px;
    background: #f3ebdd;
}

.event-cover-preview-image {
    display: block;
    width: 100%;
    height: 280px;
    object-fit: cover;
}

.event-cover-current-label {
    position: absolute;
    left: 12px;
    bottom: 12px;
    padding: 6px 9px;
    background: rgba(80, 30, 25, .85);
    color: #fff8ea;
    border-radius: 3px;
    font-size: 8px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
}


.event-cover-upload {
    position: relative;
    min-height: 90px;
    border: 1px dashed #cdbda8;
    border-radius: 5px;
    background: #fbf7ef;
    cursor: pointer;
}

    .event-cover-upload:hover {
        border-color: #a06a1e;
        background: #f8f0e3;
    }

.event-cover-file-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.event-cover-upload-content {
    min-height: 90px;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 18px;
    pointer-events: none;
}

.event-cover-upload-icon {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1e2cb;
    border-radius: 50%;
    font-size: 19px;
}

.event-cover-upload-content strong {
    display: block;
    margin-bottom: 4px;
    color: #65241f;
    font-family: Georgia, serif;
    font-size: 15px;
}

.event-cover-upload-content span {
    display: block;
    color: #8a7a70;
    font-size: 9px;
}

.event-cover-selected {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-top: 8px;
    padding: 9px 12px;
    background: #f3ebdd;
    border: 1px solid #e5d8c6;
    border-radius: 4px;
    color: #776a61;
    font-size: 9px;
}

    .event-cover-selected strong {
        color: #65241f;
    }


/* EVENT SETTINGS */

.event-settings-box {
    margin-top: 20px;
    border: 1px solid #e5d8c6;
    border-radius: 5px;
    background: #fbf7ef;
}

.event-setting {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 16px;
}

    .event-setting + .event-setting {
        border-top: 1px solid #e5d8c6;
    }

    .event-setting strong {
        display: block;
        margin-bottom: 4px;
        color: #65241f;
        font-family: Georgia, serif;
        font-size: 14px;
    }

    .event-setting span {
        display: block;
        color: #8a7a70;
        font-size: 9px;
    }

/* =========================================================
   ARTICLE LIST
========================================================= */

.admin-filter-card {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr auto;
    gap: 14px;
    align-items: end;
    margin-bottom: 18px;
    padding: 16px;
    background: #fbf7ef;
    border: 1px solid #e5d8c6;
    border-radius: 5px;
}

.admin-filter-group label {
    display: block;
    margin-bottom: 6px;
    color: #65241f;
    font-size: 10px;
    font-weight: 700;
}

.admin-filter-actions {
    display: flex;
    align-items: end;
}


.admin-list-summary {
    margin-bottom: 10px;
    color: #8a7a70;
    font-size: 10px;
}

    .admin-list-summary strong {
        color: #65241f;
    }


/* TABLE */

.admin-table-card {
    overflow: hidden;
    background: #fffdf9;
    border: 1px solid #e5d8c6;
    border-radius: 6px;
    box-shadow: 0 3px 12px rgba(80, 40, 20, .04);
}

.admin-table-wrapper {
    width: 100%;
    overflow-x: auto;
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
}

    .admin-table th {
        padding: 14px 16px;
        text-align: left;
        background: #f5eee3;
        border-bottom: 1px solid #dfd0bd;
        color: #765d48;
        font-size: 9px;
        font-weight: 700;
        letter-spacing: .8px;
    }

    .admin-table td {
        padding: 14px 16px;
        border-bottom: 1px solid #eee5d8;
        color: #513b30;
        font-size: 11px;
        vertical-align: middle;
    }

    .admin-table tbody tr:last-child td {
        border-bottom: none;
    }

    .admin-table tbody tr:hover {
        background: #fffaf2;
    }


/* ARTICLE */

.article-list-item {
    display: flex;
    align-items: center;
    min-width: 260px;
    gap: 12px;
}

.article-list-image {
    width: 58px;
    height: 48px;
    flex: 0 0 58px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #e4d5c1;
}

.article-list-image-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f3e8d8;
    color: #8b2b25;
    font-family: Georgia, serif;
    font-size: 20px;
}

.article-list-content {
    min-width: 0;
}

    .article-list-content strong {
        display: block;
        margin-bottom: 4px;
        color: #65241f;
        font-family: Georgia, serif;
        font-size: 13px;
    }

    .article-list-content span {
        display: block;
        max-width: 300px;
        overflow: hidden;
        color: #8a7a70;
        font-size: 9px;
        white-space: nowrap;
        text-overflow: ellipsis;
    }


/* FESTIVAL YEAR */

.festival-year-text strong {
    display: block;
    color: #65241f;
    font-family: Georgia, serif;
    font-size: 13px;
}

.festival-year-text span {
    display: block;
    margin-top: 3px;
    color: #8a7a70;
    font-size: 9px;
}


/* CATEGORY */

.article-category {
    display: inline-block;
    padding: 5px 8px;
    border-radius: 3px;
    background: #f3e8d8;
    color: #76501f;
    font-size: 9px;
}


/* STATUS */

.admin-status {
    display: inline-block;
    padding: 5px 9px;
    border-radius: 12px;
    font-size: 8px;
    font-weight: 700;
}

.admin-status-published {
    background: #e7f1e8;
    color: #3d7045;
}

.admin-status-draft {
    background: #eee9e3;
    color: #806f62;
}


/* FEATURED */

.article-featured {
    color: #a06a1e;
    font-size: 9px;
    font-weight: 700;
}

.admin-muted {
    color: #aa9c91;
}


/* ORDER */

.article-order {
    display: inline-flex;
    min-width: 25px;
    height: 25px;
    align-items: center;
    justify-content: center;
    background: #f6efe5;
    border: 1px solid #e4d5c1;
    border-radius: 50%;
    color: #765d48;
    font-size: 9px;
}


/* ACTIONS */

.admin-table-actions {
    display: flex;
    gap: 6px;
    white-space: nowrap;
}

.admin-action-button {
    padding: 7px 10px;
    background: #fffdf9;
    border: 1px solid #ddcdb9;
    border-radius: 4px;
    color: #70302a;
    font-size: 9px;
    cursor: pointer;
    transition: .15s ease;
}

    .admin-action-button:hover {
        background: #f5eadb;
        border-color: #c9b49b;
    }

.admin-action-danger {
    color: #9a3b35;
}

    .admin-action-danger:hover {
        background: #f9e7e4;
        border-color: #d7aaa4;
    }


/* RESPONSIVE */

@media (max-width: 900px) {

    .admin-filter-card {
        grid-template-columns: 1fr 1fr;
    }

    .admin-filter-actions {
        justify-content: flex-start;
    }
}


@media (max-width: 600px) {

    .admin-filter-card {
        grid-template-columns: 1fr;
    }

    .article-list-item {
        min-width: 220px;
    }

    .admin-table th,
    .admin-table td {
        padding: 10px;
    }
}
/* =========================================================
   ARTICLE CREATE
========================================================= */

.article-content-textarea {
    min-height: 300px;
    resize: vertical;
    line-height: 1.7;
}


/* COVER UPLOAD */

.article-cover-upload {
    position: relative;
    min-height: 95px;
    border: 1px dashed #cdbda8;
    border-radius: 5px;
    background: #fbf7ef;
    cursor: pointer;
    transition: .15s ease;
}

    .article-cover-upload:hover {
        border-color: #a06a1e;
        background: #f8f0e3;
    }

.article-cover-file-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.article-cover-upload-content {
    min-height: 95px;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 16px 18px;
    pointer-events: none;
}

.article-cover-upload-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f1e2cb;
    font-size: 20px;
}

.article-cover-upload-content strong {
    display: block;
    margin-bottom: 5px;
    color: #65241f;
    font-family: Georgia, serif;
    font-size: 15px;
}

.article-cover-upload-content span {
    display: block;
    color: #8a7a70;
    font-size: 9px;
}


/* SELECTED FILE */

.article-selected-file {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-top: 8px;
    padding: 10px 12px;
    border: 1px solid #e5d8c6;
    border-radius: 4px;
    background: #f3ebdd;
    color: #776a61;
    font-size: 9px;
}

    .article-selected-file strong {
        color: #65241f;
    }


/* SETTINGS */

.article-settings-box {
    margin-top: 20px;
    border: 1px solid #e5d8c6;
    border-radius: 5px;
    background: #fbf7ef;
}

.article-setting {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 16px;
}

    .article-setting + .article-setting {
        border-top: 1px solid #e5d8c6;
    }

    .article-setting strong {
        display: block;
        margin-bottom: 4px;
        color: #65241f;
        font-family: Georgia, serif;
        font-size: 14px;
    }

    .article-setting span {
        display: block;
        color: #8a7a70;
        font-size: 9px;
    }


/* WARNING */

.admin-field-warning {
    color: #956d28;
}

/* =========================================================
   ARTICLE EDIT
========================================================= */

.article-existing-cover {
    margin-bottom: 12px;
    overflow: hidden;
    border: 1px solid #e5d8c6;
    border-radius: 5px;
    background: #fbf7ef;
}

    .article-existing-cover img {
        display: block;
        width: 100%;
        max-height: 280px;
        object-fit: cover;
    }

.article-existing-cover-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 12px 14px;
}

    .article-existing-cover-info strong {
        display: block;
        margin-bottom: 4px;
        color: #65241f;
        font-family: Georgia, serif;
        font-size: 12px;
    }

    .article-existing-cover-info span {
        display: block;
        color: #8a7a70;
        font-size: 9px;
    }


/* REMOVED IMAGE */

.article-cover-removed {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 12px;
    padding: 11px 13px;
    border: 1px solid #e2bcb6;
    border-radius: 4px;
    background: #fbebe8;
    color: #8d4038;
    font-size: 9px;
}


/* PUBLICATION INFO */

.article-publication-info {
    display: flex;
    gap: 40px;
    margin-top: 20px;
    padding: 14px 16px;
    border-top: 1px solid #e5d8c6;
    border-bottom: 1px solid #e5d8c6;
    background: #fbf7ef;
}

    .article-publication-info span {
        display: block;
        margin-bottom: 4px;
        color: #9a8b80;
        font-size: 8px;
        text-transform: uppercase;
        letter-spacing: .7px;
    }

    .article-publication-info strong {
        display: block;
        color: #765d48;
        font-size: 10px;
    }

/* =========================================================
   ADMIN DASHBOARD
========================================================= */

.admin-dashboard {
    padding: 30px;
    background: #f7f4ef;
    min-height: 100vh;
}


/* =========================================================
   HEADER
========================================================= */

.admin-dashboard-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 28px;
}

.admin-dashboard-eyebrow {
    margin-bottom: 6px;
    color: #9a6824;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.admin-dashboard-header h1 {
    margin: 0;
    color: #54251f;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 32px;
    font-weight: 500;
}

.admin-dashboard-header p {
    margin: 7px 0 0;
    color: #82776f;
    font-size: 11px;
}


/* CURRENT YEAR */

.admin-current-year {
    min-width: 190px;
    padding: 15px 18px;
    border: 1px solid #dfd1bf;
    border-radius: 5px;
    background: #fffdf9;
    text-align: right;
}

    .admin-current-year span {
        display: block;
        margin-bottom: 4px;
        color: #9a8b80;
        font-size: 7px;
        font-weight: 700;
        letter-spacing: 1px;
    }

    .admin-current-year strong {
        color: #60251f;
        font-family: Georgia, serif;
        font-size: 15px;
    }

    .admin-current-year b {
        margin-left: 5px;
        color: #b27c2b;
        font-size: 13px;
    }


/* =========================================================
   STAT CARDS
========================================================= */

.admin-stat-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 15px;
    margin-bottom: 25px;
}

.admin-stat-card {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 18px;
    border: 1px solid #e1d6c7;
    border-radius: 5px;
    background: #fffdf9;
    box-shadow: 0 3px 12px rgba(70, 40, 25, .035);
}

.admin-stat-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #f2e6d3;
    color: #955b25;
    font-size: 17px;
}

.admin-stat-card span {
    display: block;
    margin-bottom: 3px;
    color: #95887d;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .5px;
}

.admin-stat-card strong {
    color: #5e2922;
    font-family: Georgia, serif;
    font-size: 24px;
    font-weight: 500;
}


/* =========================================================
   MAIN GRID
========================================================= */

.admin-dashboard-main {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr);
    gap: 20px;
    margin-bottom: 20px;
}

.admin-dashboard-panel {
    border: 1px solid #e1d6c7;
    border-radius: 5px;
    background: #fffdf9;
    box-shadow: 0 3px 15px rgba(70, 40, 25, .035);
}


/* =========================================================
   PANEL HEADER
========================================================= */

.admin-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 20px 22px;
    border-bottom: 1px solid #eee5da;
}

    .admin-panel-header > div > span {
        display: block;
        margin-bottom: 5px;
        color: #a06a1e;
        font-size: 7px;
        font-weight: 700;
        letter-spacing: 1.4px;
    }

    .admin-panel-header h2 {
        margin: 0;
        color: #5f2821;
        font-family: Georgia, serif;
        font-size: 20px;
        font-weight: 500;
    }


/* STATUS */

.admin-status-badge {
    padding: 5px 9px;
    border-radius: 12px;
    background: #edf4eb;
    color: #4e7849;
    font-size: 7px;
    font-weight: 700;
    text-transform: uppercase;
}


/* =========================================================
   CURRENT FESTIVAL
========================================================= */

.admin-current-festival {
    padding: 22px;
}

.admin-festival-title {
    display: flex;
    align-items: center;
    gap: 14px;
}

.admin-festival-symbol {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f2e5d0;
    color: #a16a23;
    font-family: Georgia, serif;
    font-size: 24px;
}

.admin-festival-title h3 {
    margin: 0 0 3px;
    color: #60251f;
    font-family: Georgia, serif;
    font-size: 21px;
    font-weight: 500;
}

.admin-festival-title strong {
    color: #a36d27;
    font-size: 13px;
}


/* DETAILS */

.admin-festival-details {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-top: 25px;
    padding: 15px 0;
    border-top: 1px solid #eee4d8;
    border-bottom: 1px solid #eee4d8;
}

    .admin-festival-details span {
        display: block;
        margin-bottom: 5px;
        color: #a0968d;
        font-size: 7px;
        letter-spacing: .8px;
    }

    .admin-festival-details strong {
        color: #65564e;
        font-size: 10px;
    }


/* THEME */

.admin-festival-theme {
    margin-top: 17px;
}

    .admin-festival-theme span {
        color: #a0968d;
        font-size: 7px;
        letter-spacing: .8px;
    }

    .admin-festival-theme p {
        margin: 5px 0 0;
        color: #765f50;
        font-family: Georgia, serif;
        font-size: 13px;
    }


/* BUTTON */

.admin-outline-button {
    margin-top: 20px;
    padding: 9px 14px;
    border: 1px solid #cdb99e;
    border-radius: 4px;
    background: transparent;
    color: #78472c;
    font-size: 9px;
    font-weight: 700;
    cursor: pointer;
}

    .admin-outline-button:hover {
        background: #f4eadc;
        border-color: #a97435;
    }


/* =========================================================
   QUICK ACTIONS
========================================================= */

.admin-quick-actions {
    padding: 10px 15px 15px;
}

    .admin-quick-actions button {
        width: 100%;
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 13px 8px;
        border: 0;
        border-bottom: 1px solid #eee6dc;
        background: transparent;
        color: inherit;
        text-align: left;
        cursor: pointer;
    }

        .admin-quick-actions button:last-child {
            border-bottom: 0;
        }

        .admin-quick-actions button:hover {
            background: #fbf6ed;
        }

.admin-action-icon {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    background: #f3e7d6;
    font-size: 14px;
}

.admin-quick-actions button > span:nth-child(2) {
    flex: 1;
}

.admin-quick-actions strong {
    display: block;
    color: #633027;
    font-size: 10px;
}

.admin-quick-actions small {
    display: block;
    margin-top: 3px;
    color: #978b81;
    font-size: 8px;
}

.admin-quick-actions b {
    color: #aa7631;
    font-size: 15px;
}


/* =========================================================
   RECENT CONTENT
========================================================= */

.admin-dashboard-recent {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}


/* PANEL LINK */

.admin-panel-link {
    padding: 0;
    border: 0;
    background: transparent;
    color: #89562c;
    font-size: 8px;
    font-weight: 700;
    cursor: pointer;
}

    .admin-panel-link:hover {
        color: #5f2821;
    }


/* RECENT LIST */

.admin-recent-list {
    padding: 5px 20px 10px;
}

.admin-recent-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #eee7dd;
}

    .admin-recent-item:last-child {
        border-bottom: 0;
    }


/* EVENT DATE */

.admin-recent-date {
    width: 38px;
    height: 42px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 4px;
    background: #f3e6d3;
}

    .admin-recent-date strong {
        color: #642b23;
        font-family: Georgia, serif;
        font-size: 15px;
        line-height: 1;
    }

    .admin-recent-date span {
        margin-top: 3px;
        color: #a37035;
        font-size: 7px;
        text-transform: uppercase;
    }


/* ARTICLE ICON */

.admin-recent-article-icon {
    width: 38px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 4px;
    background: #f3e6d3;
    font-size: 15px;
}


/* INFO */

.admin-recent-info {
    flex: 1;
    min-width: 0;
}

    .admin-recent-info strong {
        display: block;
        overflow: hidden;
        color: #633027;
        font-size: 10px;
        font-weight: 600;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .admin-recent-info span {
        display: block;
        margin-top: 4px;
        overflow: hidden;
        color: #978b81;
        font-size: 8px;
        white-space: nowrap;
        text-overflow: ellipsis;
    }


/* STATUS */

.admin-mini-status {
    padding: 4px 7px;
    border-radius: 10px;
    font-size: 6px;
    font-weight: 700;
    text-transform: uppercase;
}

    .admin-mini-status.published {
        background: #edf4eb;
        color: #53784e;
    }

    .admin-mini-status.draft {
        background: #f3eee8;
        color: #927d68;
    }


/* EMPTY */

.admin-dashboard-empty {
    padding: 35px 20px;
    text-align: center;
}

    .admin-dashboard-empty > div {
        color: #c2944b;
        font-family: Georgia, serif;
        font-size: 35px;
    }

    .admin-dashboard-empty p {
        color: #8e8177;
        font-size: 9px;
    }

    .admin-dashboard-empty button {
        padding: 8px 12px;
        border: 1px solid #cdb99e;
        border-radius: 4px;
        background: transparent;
        color: #78472c;
        font-size: 8px;
        cursor: pointer;
    }

.admin-small-empty {
    padding: 30px 20px;
    color: #978b81;
    font-size: 9px;
    text-align: center;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {

    .admin-stat-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}


@media (max-width: 850px) {

    .admin-dashboard {
        padding: 20px;
    }

    .admin-dashboard-main,
    .admin-dashboard-recent {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 600px) {

    .admin-dashboard {
        padding: 15px;
    }

    .admin-dashboard-header {
        display: block;
    }

    .admin-current-year {
        margin-top: 15px;
        text-align: left;
    }

    .admin-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-stat-card {
        padding: 14px;
    }

    .admin-festival-details {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 400px) {

    .admin-stat-grid {
        grid-template-columns: 1fr;
    }
}

.admin-recent-date {
    width: 42px;
    height: 46px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 5px;
    background: #f3e6d3;
    line-height: 1;
}

    .admin-recent-date strong {
        display: block;
        margin: 0;
        color: #642b23;
        font-family: Georgia, 'Times New Roman', serif;
        font-size: 17px;
        font-weight: 600;
        line-height: 18px;
    }

    .admin-recent-date span {
        display: block;
        margin: 3px 0 0;
        color: #a37035;
        font-size: 7px;
        font-weight: 700;
        line-height: 8px;
        text-transform: uppercase;
    }

/* =========================================================
   ADMIN CONTENT PAGE
========================================================= */

.admin-content-page {
    padding: 30px;
    background: #f7f4ef;
    min-height: 100vh;
}


/* HEADER */

.admin-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 28px;
}

.admin-page-eyebrow {
    margin-bottom: 6px;
    color: #9a6824;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.8px;
}

.admin-page-header h1 {
    margin: 0;
    color: #54251f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 32px;
    font-weight: 500;
}

.admin-page-header p {
    margin: 7px 0 0;
    color: #82776f;
    font-size: 11px;
}


/* PRIMARY BUTTON */

.admin-primary-button {
    padding: 11px 17px;
    border: 0;
    border-radius: 4px;
    background: #822a28;
    color: #fffdf9;
    font-size: 9px;
    font-weight: 700;
    cursor: pointer;
}

    .admin-primary-button:hover {
        background: #68211f;
    }


/* TABLE */

.admin-table-card {
    overflow: hidden;
    border: 1px solid #e1d6c7;
    border-radius: 6px;
    background: #fffdf9;
    box-shadow: 0 3px 15px rgba(70, 40, 25, .035);
}

.admin-data-table {
    width: 100%;
    border-collapse: collapse;
}

    .admin-data-table thead {
        background: #f5eee4;
    }

    .admin-data-table th {
        padding: 13px 18px;
        border-bottom: 1px solid #ded2c3;
        color: #765a48;
        font-size: 8px;
        font-weight: 700;
        letter-spacing: .8px;
        text-align: left;
    }

    .admin-data-table td {
        padding: 15px 18px;
        border-bottom: 1px solid #eee7dd;
        color: #65574f;
        font-size: 9px;
        vertical-align: middle;
    }

    .admin-data-table tbody tr:last-child td {
        border-bottom: 0;
    }

    .admin-data-table tbody tr:hover {
        background: #fcf8f2;
    }


/* TITLE */

.admin-table-title strong {
    display: block;
    color: #612b24;
    font-size: 10px;
}

.admin-table-title small {
    display: block;
    max-width: 280px;
    margin-top: 4px;
    overflow: hidden;
    color: #978b81;
    font-size: 8px;
    white-space: nowrap;
    text-overflow: ellipsis;
}


/* SLUG */

.admin-slug {
    color: #987451;
    font-family: Consolas, monospace;
    font-size: 8px;
}


/* STATUS */

.admin-status-badge {
    display: inline-block;
    padding: 5px 9px;
    border-radius: 12px;
    font-size: 7px;
    font-weight: 700;
    text-transform: uppercase;
}

    .admin-status-badge.published {
        background: #edf4eb;
        color: #52764d;
    }

    .admin-status-badge.draft {
        background: #f2ece5;
        color: #8b7564;
    }


/* ACTIONS */

.admin-table-actions {
    display: flex;
    gap: 7px;
}

.admin-action-button {
    padding: 7px 11px;
    border: 1px solid #d7c7b5;
    border-radius: 4px;
    background: transparent;
    color: #70432d;
    font-size: 8px;
    cursor: pointer;
}

    .admin-action-button:hover {
        background: #f5ecdf;
        border-color: #b99368;
    }


/* EMPTY */

.admin-empty-state {
    padding: 70px 20px;
    border: 1px solid #e1d6c7;
    border-radius: 6px;
    background: #fffdf9;
    text-align: center;
}

.admin-empty-icon {
    margin-bottom: 10px;
    font-size: 35px;
}

.admin-empty-state h3 {
    margin: 0;
    color: #602b24;
    font-family: Georgia, serif;
    font-size: 20px;
    font-weight: 500;
}

.admin-empty-state p {
    margin: 7px 0 18px;
    color: #91847b;
    font-size: 9px;
}


/* LOADING */

.admin-loading {
    padding: 50px;
    color: #897a70;
    font-size: 10px;
    text-align: center;
}


/* RESPONSIVE */

@media (max-width: 800px) {

    .admin-content-page {
        padding: 20px;
    }

    .admin-page-header {
        display: block;
    }

        .admin-page-header .admin-primary-button {
            margin-top: 15px;
        }

    .admin-table-card {
        overflow-x: auto;
    }

    .admin-data-table {
        min-width: 800px;
    }
}

/* =========================================================
   ADMIN FORM
========================================================= */

.admin-form-card {
    max-width: 1000px;
    padding: 28px;
    border: 1px solid #e1d6c7;
    border-radius: 6px;
    background: #fffdf9;
    box-shadow: 0 3px 15px rgba(70, 40, 25, .035);
}


.admin-form-section {
    padding-bottom: 28px;
    margin-bottom: 28px;
    border-bottom: 1px solid #eee5d9;
}

    .admin-form-section:last-of-type {
        border-bottom: 0;
        margin-bottom: 0;
    }

.admin-form-section-title {
    margin-bottom: 4px;
    color: #612b24;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
}

.admin-form-section-description {
    margin-bottom: 20px;
    color: #95877d;
    font-size: 9px;
}


/* FORM GROUP */

.admin-form-group {
    margin-bottom: 20px;
}

    .admin-form-group:last-child {
        margin-bottom: 0;
    }

    .admin-form-group label {
        display: block;
        margin-bottom: 7px;
        color: #604538;
        font-size: 9px;
        font-weight: 700;
    }

        .admin-form-group label span {
            color: #822a28;
        }


    .admin-form-group small {
        display: block;
        margin-top: 5px;
        color: #a18f82;
        font-size: 8px;
    }


/* INPUT */

.admin-form-input,
.admin-form-textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #d8c9b8;
    border-radius: 4px;
    background: #fffdfa;
    color: #4d3b33;
    font-family: inherit;
    font-size: 10px;
    outline: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.admin-form-input {
    min-height: 40px;
    padding: 10px 12px;
}

.admin-form-textarea {
    padding: 11px 12px;
    resize: vertical;
    line-height: 1.6;
}


    .admin-form-input:focus,
    .admin-form-textarea:focus {
        border-color: #a9783e;
        box-shadow: 0 0 0 2px rgba(169, 120, 62, .10);
    }


    .admin-form-input::placeholder,
    .admin-form-textarea::placeholder {
        color: #b2a69d;
    }


/* SLUG */

.admin-slug-input-wrapper {
    display: flex;
    align-items: center;
    border: 1px solid #d8c9b8;
    border-radius: 4px;
    background: #fffdfa;
}

    .admin-slug-input-wrapper > span {
        padding-left: 12px;
        color: #9b806b;
        font-size: 11px;
    }

    .admin-slug-input-wrapper .admin-form-input {
        border: 0;
        box-shadow: none;
    }


/* TEXTAREAS */

.admin-form-short-textarea {
    min-height: 85px;
}

.admin-page-content-textarea {
    min-height: 280px;
}


/* TWO COLUMN */

.admin-form-two-column {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    align-items: start;
}


/* CHECKBOX */

.admin-form-checkbox-card {
    min-height: 40px;
    padding: 14px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    box-sizing: border-box;
    border: 1px solid #dfd1c0;
    border-radius: 4px;
    background: #f8f1e7;
}

    .admin-form-checkbox-card input {
        margin-top: 2px;
        accent-color: #822a28;
    }

    .admin-form-checkbox-card strong {
        display: block;
        margin-bottom: 4px;
        color: #653127;
        font-size: 9px;
    }

    .admin-form-checkbox-card span {
        display: block;
        color: #96867a;
        font-size: 8px;
        line-height: 1.5;
    }


/* VALIDATION */

.admin-validation-summary {
    margin-bottom: 20px;
    padding: 12px 15px;
    border: 1px solid #e4bcbc;
    border-radius: 4px;
    background: #fff2f2;
    color: #8a302d;
    font-size: 9px;
}

    .admin-validation-summary:empty {
        display: none;
    }

.validation-message {
    display: block;
    margin-top: 5px;
    color: #a33b35;
    font-size: 8px;
}

.admin-field-error {
    margin-top: 5px;
    color: #a33b35;
    font-size: 8px;
}

.admin-save-error {
    margin-top: 20px;
    padding: 12px 15px;
    border: 1px solid #e4bcbc;
    border-radius: 4px;
    background: #fff2f2;
    color: #8a302d;
    font-size: 9px;
}


/* FORM ACTIONS */

.admin-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding-top: 22px;
    border-top: 1px solid #eee5d9;
}


.admin-secondary-button {
    padding: 10px 16px;
    border: 1px solid #d6c6b4;
    border-radius: 4px;
    background: transparent;
    color: #70432d;
    font-size: 9px;
    font-weight: 600;
    cursor: pointer;
}

    .admin-secondary-button:hover {
        background: #f5ede3;
        border-color: #b99976;
    }


    .admin-primary-button:disabled,
    .admin-secondary-button:disabled {
        opacity: .6;
        cursor: not-allowed;
    }


/* RESPONSIVE */

@media (max-width: 700px) {

    .admin-form-card {
        padding: 20px;
    }

    .admin-form-two-column {
        grid-template-columns: 1fr;
    }

    .admin-form-actions {
        flex-direction: column-reverse;
    }

        .admin-form-actions button {
            width: 100%;
        }
}

/* =========================================================
   PAGE IMAGE UPLOAD
========================================================= */

.admin-file-input {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 12px;
    border: 1px dashed #cdbba7;
    border-radius: 5px;
    background: #fcf8f2;
    color: #634b3c;
    font-size: 9px;
    cursor: pointer;
}

    .admin-file-input:hover {
        border-color: #9b6d38;
        background: #f8f0e6;
    }


/* Current image */

.admin-current-image {
    margin-bottom: 20px;
    padding: 15px;
    border: 1px solid #e1d5c7;
    border-radius: 5px;
    background: #faf6f0;
}

.admin-current-image-title {
    margin-bottom: 10px;
    color: #72523e;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.admin-current-image img {
    display: block;
    width: 100%;
    max-width: 500px;
    max-height: 260px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #ddd0c1;
}


/* New image preview */

.admin-image-preview {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 15px;
    padding: 12px;
    border: 1px solid #d9c7b5;
    border-radius: 5px;
    background: #fffaf3;
}

    .admin-image-preview img {
        width: 110px;
        height: 75px;
        object-fit: cover;
        border-radius: 4px;
        border: 1px solid #ddd0c1;
    }

.admin-image-preview-info strong {
    display: block;
    margin-bottom: 5px;
    color: #633027;
    font-size: 9px;
}

.admin-image-preview-info span {
    color: #948277;
    font-size: 8px;
}


/* Loading */

.admin-loading {
    padding: 50px;
    text-align: center;
    color: #866f60;
    font-size: 11px;
}

.rich-text-editor {
    width: 100%;
}

    .rich-text-editor .ql-editor {
        min-height: 350px;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 15px;
        line-height: 1.7;
    }

    .rich-text-editor .ql-toolbar {
        border-radius: 5px 5px 0 0;
        border-color: #d9cbbd;
        background: #faf6f0;
    }

    .rich-text-editor .ql-container {
        border-color: #d9cbbd;
        border-radius: 0 0 5px 5px;
        background: #ffffff;
    }

    .rich-text-editor .ql-editor.ql-blank::before {
        color: #a8998d;
        font-style: normal;
    }

/* =========================================================
   LOGIN PAGE
   ========================================================= */

.login-page {
    min-height: calc(100vh - 80px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 24px;
    background: #f7f3eb;
}


.login-card {
    width: 100%;
    max-width: 460px;
    background: #fffdf9;
    border: 1px solid #e2d7c7;
    border-radius: 10px;
    padding: 42px;
    box-shadow: 0 12px 35px rgba(60, 35, 20, 0.08);
}


.login-header {
    text-align: center;
    margin-bottom: 32px;
}


.login-eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    color: #a46b1f;
    margin-bottom: 10px;
}


.login-header h1 {
    margin: 0;
    font-family: Georgia, serif;
    font-size: 36px;
    font-weight: 500;
    color: #5d211f;
}


.login-header p {
    margin-top: 10px;
    color: #786b62;
    font-size: 14px;
}


.login-error {
    padding: 12px 14px;
    margin-bottom: 20px;
    border-radius: 6px;
    background: #fbeaea;
    border: 1px solid #e5bcbc;
    color: #8a2424;
    font-size: 14px;
}


.login-field {
    margin-bottom: 22px;
}


    .login-field label {
        display: block;
        margin-bottom: 8px;
        font-size: 13px;
        font-weight: 600;
        color: #4d3a30;
    }


.login-input {
    width: 100%;
    height: 46px;
    padding: 0 13px;
    border: 1px solid #d8cabb;
    border-radius: 5px;
    background: #fff;
    color: #35231b;
    font-size: 14px;
    box-sizing: border-box;
}


    .login-input:focus {
        outline: none;
        border-color: #8b2928;
        box-shadow: 0 0 0 2px rgba(139, 41, 40, 0.08);
    }


.validation-message {
    margin-top: 5px;
    font-size: 12px;
    color: #a32626;
}


.login-options {
    margin-bottom: 22px;
}


.remember-me {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #66574e;
}


.login-button {
    width: 100%;
    height: 46px;
    border: none;
    border-radius: 5px;
    background: #862827;
    color: white;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}


    .login-button:hover {
        background: #6f201f;
    }


    .login-button:disabled {
        opacity: 0.65;
        cursor: not-allowed;
    }


.login-footer {
    text-align: center;
    margin-top: 25px;
    padding-top: 22px;
    border-top: 1px solid #eadfd3;
}


    .login-footer a {
        color: #7e2a28;
        text-decoration: none;
        font-size: 13px;
    }


        .login-footer a:hover {
            text-decoration: underline;
        }

.access-denied-page {
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
}

.access-denied-card {
    width: 100%;
    max-width: 500px;
    text-align: center;
    background: #fffdf9;
    border: 1px solid #e2d7c7;
    border-radius: 10px;
    padding: 50px 40px;
    box-shadow: 0 12px 35px rgba(60, 35, 20, 0.08);
}

.access-denied-icon {
    font-size: 42px;
    margin-bottom: 20px;
}

.access-denied-card h1 {
    margin: 0;
    font-family: Georgia, serif;
    color: #5d211f;
}

.access-denied-card p {
    margin: 15px 0 30px;
    color: #786b62;
}

.access-denied-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.access-denied-button {
    padding: 11px 20px;
    border-radius: 5px;
    background: #862827;
    color: #fff;
    text-decoration: none;
}

.access-denied-link {
    color: #862827;
    text-decoration: none;
}

.authorization-message {
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
}

.authorization-card {
    width: 100%;
    max-width: 480px;
    padding: 45px 35px;
    text-align: center;
    background: #fffdf9;
    border: 1px solid #e2d7c7;
    border-radius: 10px;
    box-shadow: 0 12px 35px rgba(60, 35, 20, 0.08);
}

.authorization-icon {
    font-size: 42px;
    margin-bottom: 15px;
}

.authorization-card h1 {
    margin: 0;
    font-family: Georgia, serif;
    color: #5d211f;
}

.authorization-card p {
    margin: 15px 0 25px;
    color: #786b62;
}

.authorization-button {
    border: none;
    padding: 11px 25px;
    border-radius: 5px;
    background: #862827;
    color: #fff;
    cursor: pointer;
    font-weight: 600;
}

    .authorization-button:hover {
        background: #6f201f;
    }

/* =========================================================
   USER MANAGEMENT
   ========================================================= */

.admin-user-cell {
    display: flex;
    align-items: center;
    gap: 12px;
}

.admin-user-avatar {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f0e5d7;
    color: #7d2826;
    font-size: 12px;
    font-weight: 700;
}

.admin-role-badge,
.admin-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border-radius: 20px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .4px;
}

    .admin-role-badge.administrator {
        background: #f4e3d2;
        color: #7d2826;
    }

    .admin-role-badge.editor {
        background: #eee9df;
        color: #68594e;
    }

    .admin-status-badge.active {
        background: #e8f2e8;
        color: #3e7044;
    }

    .admin-status-badge.inactive {
        background: #f7e7e5;
        color: #922f2c;
    }

.admin-table-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.admin-danger-button {
    padding: 8px 12px;
    border: 1px solid #d7b4b0;
    border-radius: 5px;
    background: transparent;
    color: #8a2926;
    cursor: pointer;
    font-size: 12px;
}

    .admin-danger-button:hover {
        background: #f8e8e6;
    }

.admin-success-message {
    margin-bottom: 20px;
    padding: 12px 16px;
    border-radius: 6px;
    background: #e9f3e9;
    border: 1px solid #c9dfc9;
    color: #3f7043;
    font-size: 13px;
}

.admin-error-message {
    margin-top: 20px;
    padding: 12px 16px;
    border-radius: 6px;
    background: #fae8e7;
    border: 1px solid #e2bdb9;
    color: #8c2926;
    font-size: 13px;
}

.admin-loading,
.admin-empty-state {
    padding: 50px;
    text-align: center;
    background: #fffdf9;
    border: 1px solid #e2d7c7;
    border-radius: 8px;
    color: #75675d;
}

    .admin-empty-state h3 {
        margin-bottom: 8px;
        font-family: Georgia, serif;
        color: #5d211f;
    }


/* =========================================================
   USER FORM
   ========================================================= */

.admin-form-card {
    max-width: 900px;
    background: #fffdf9;
    border: 1px solid #e2d7c7;
    border-radius: 8px;
    padding: 32px;
}

.admin-form-section {
    padding-bottom: 28px;
    margin-bottom: 28px;
    border-bottom: 1px solid #eadfd3;
}

.admin-form-section-title {
    margin-bottom: 22px;
    font-family: Georgia, serif;
    font-size: 20px;
    color: #6b2422;
}

.admin-form-field {
    margin-bottom: 20px;
}

    .admin-form-field label {
        display: block;
        margin-bottom: 7px;
        font-size: 13px;
        font-weight: 600;
        color: #4d3a30;
    }

.admin-form-input {
    width: 100%;
    min-height: 44px;
    padding: 9px 12px;
    box-sizing: border-box;
    border: 1px solid #d8cabb;
    border-radius: 5px;
    background: #fff;
    color: #35231b;
    font-size: 14px;
}

    .admin-form-input:focus {
        outline: none;
        border-color: #8b2928;
        box-shadow: 0 0 0 2px rgba(139, 41, 40, .08);
    }

.admin-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.admin-checkbox-field {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #55463d;
}

    .admin-checkbox-field label {
        margin: 0;
    }

.admin-form-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
}

.admin-user-account {
    display: flex;
    align-items: center;
    gap: 10px;
    color: inherit;
    text-decoration: none;
}

    .admin-user-account:hover {
        opacity: .85;
    }

/*------------------------*/

/*.admin-shell {
    min-height: 100vh;
    display: flex;
    background: #f5f1e8;
}*/


/* SIDEBAR */

/*.admin-sidebar {
    width: 255px;
    flex-shrink: 0;
    background: #241512;
    color: #eadfc8;
}

.admin-brand {
    height: 78px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 22px;
    border-bottom: 1px solid rgba(201, 154, 61, 0.18);
}

.admin-logo {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border: 1px solid #C99A3D;
    border-radius: 50%;
    color: #C99A3D;
}

.admin-brand strong {
    display: block;
    color: #F0D58C;
    font-family: Georgia, serif;
    font-size: 17px;
}

.admin-brand span {
    display: block;
    color: #9D8971;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
}*/


/* NAV */

/*.admin-navigation {
    padding: 22px 13px;
}

    .admin-navigation a {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 12px 13px;
        margin-bottom: 4px;
        border-radius: 5px;
        color: #BDAF9B;
        font-size: 14px;
        transition: all 0.2s ease;
    }

        .admin-navigation a:hover {
            color: #F4D88E;
            background: rgba(201, 154, 61, 0.08);
        }

        .admin-navigation a.active {
            color: white;
            background: #7A1F1F;
            box-shadow: inset 3px 0 0 #C99A3D;
        }

        .admin-navigation a span {
            width: 20px;
            text-align: center;
        }

.admin-nav-separator {
    height: 1px;
    margin: 18px 8px;
    background: rgba(201, 154, 61, 0.15);
}*/


/* CONTENT */

/*.admin-content {
    flex: 1;
    min-width: 0;
}

.admin-topbar {
    height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 30px;
    background: white;
    border-bottom: 1px solid #e6ded0;
}

    .admin-topbar h1 {
        margin: 0;
        color: #2B1712;
        font-family: Georgia, serif;
        font-size: 20px;
    }

.admin-user {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
}

.admin-avatar {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #7A1F1F;
    color: white;
    font-weight: 600;
}

.admin-page {
    padding: 30px;
}*/


/* DASHBOARD */

/*.dashboard-header {
    margin-bottom: 28px;
}

.admin-eyebrow {
    color: #C99A3D;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
}

.dashboard-header h2 {
    margin: 5px 0;
    color: #2B1712;
    font-family: Georgia, serif;
    font-size: 32px;
}

.dashboard-header p {
    margin: 0;
    color: #77685B;
}


.dashboard-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 25px;
}

.dashboard-card {
    padding: 22px;
    background: white;
    border: 1px solid #e8dfd1;
    border-radius: 7px;
    box-shadow: 0 4px 18px rgba(43, 23, 18, 0.04);
}

    .dashboard-card span {
        display: block;
        color: #76685B;
        font-size: 13px;
        margin-bottom: 8px;
    }

    .dashboard-card strong {
        color: #7A1F1F;
        font-family: Georgia, serif;
        font-size: 32px;
    }


.dashboard-welcome {
    display: flex;
    align-items: center;
    gap: 22px;
    padding: 30px;
    background: white;
    border: 1px solid #e8dfd1;
    border-radius: 7px;
}

.dashboard-icon {
    width: 60px;
    height: 60px;
    display: grid;
    place-items: center;
    background: #F8EEDB;
    border-radius: 50%;
    font-size: 28px;
}

.dashboard-welcome h3 {
    margin: 0 0 6px;
    color: #7A1F1F;
    font-family: Georgia, serif;
}

.dashboard-welcome p {
    margin: 0;
    color: #77685B;
}


@media (max-width: 900px) {

    .admin-sidebar {
        width: 220px;
    }

    .dashboard-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}


@media (max-width: 700px) {

    .admin-sidebar {
        display: none;
    }

    .admin-page {
        padding: 20px;
    }

    .dashboard-cards {
        grid-template-columns: 1fr;
    }

    .dashboard-welcome {
        align-items: flex-start;
        flex-direction: column;
    }
}*/
