:root { --gold:#f9a605; --orange:#f87723; --cream:#fff7eb; --wood:#85441e; --dark:#150d0b; --muted:#766b67; --border:#e8dfdc; --green:#0f8054; }
* { box-sizing:border-box; }
body { margin:0; background:#f7f3f1; color:#241511; font-family:"Poppins",Arial,sans-serif; font-size:14px; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
.admin-sidebar { position:fixed; z-index:10; inset:0 auto 0 0; display:flex; width:250px; padding:30px 22px; background:var(--dark); color:#d8cbc6; flex-direction:column; }
.admin-logo { display:flex; margin-bottom:45px; align-items:center; gap:13px; }
.admin-logo img { width:68px; height:55px; object-fit:contain; }
.admin-logo span { color:var(--gold); font-size:11px; font-weight:600; line-height:1.3; text-transform:uppercase; }
.admin-sidebar nav { display:flex; flex-direction:column; gap:7px; }
.admin-sidebar nav a { padding:12px 14px; border-left:2px solid transparent; border-radius:3px; }
.admin-sidebar nav a:hover,.admin-sidebar nav a.active { border-left-color:var(--gold); background:rgba(249,166,5,.09); color:#fff; }
.admin-sidebar form { margin-top:auto; }
.admin-sidebar form button { width:100%; padding:12px; border:1px solid rgba(255,255,255,.2); background:transparent; color:#fff; }
.admin-main { min-height:100vh; margin-left:250px; }
.admin-topbar { display:flex; height:92px; padding:0 38px; border-bottom:1px solid var(--border); background:#fff; align-items:center; justify-content:space-between; }
.admin-topbar div:first-child { display:flex; flex-direction:column; }
.admin-topbar span { color:var(--muted); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.admin-topbar strong { font-size:20px; }
.admin-content { padding:34px 38px 60px; }
.admin-alert { margin:22px 38px 0; padding:13px 18px; border-left:3px solid var(--green); background:#e8f5ef; color:#176441; }
.stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:24px; }
.stat-grid article { min-height:180px; padding:25px; border:1px solid var(--border); background:#fff; box-shadow:0 10px 30px rgba(21,13,11,.04); }
.stat-grid span { color:var(--muted); font-size:11px; text-transform:uppercase; }
.stat-grid strong { display:block; margin:22px 0 16px; font-size:42px; line-height:1; }
.stat-grid a { color:var(--wood); font-size:12px; font-weight:600; }
.stat-grid small { color:var(--muted); }
.dashboard-grid { display:grid; grid-template-columns:1.4fr .8fr; gap:22px; }
.admin-panel { border:1px solid var(--border); background:#fff; box-shadow:0 10px 35px rgba(21,13,11,.04); }
.panel-heading { display:flex; min-height:88px; padding:20px 24px; border-bottom:1px solid var(--border); align-items:center; justify-content:space-between; gap:20px; }
.panel-heading > div { display:flex; flex-direction:column; gap:5px; }
.panel-heading span:first-child { color:var(--wood); font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.panel-heading h2 { margin:0; font-size:20px; }
.panel-heading a { color:var(--wood); font-size:12px; font-weight:600; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; }
th,td { padding:17px 20px; border-bottom:1px solid var(--border); text-align:left; vertical-align:top; white-space:nowrap; }
th { color:var(--muted); font-size:10px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; }
td { font-size:12px; }
td strong,td small { display:block; }
td small { margin-top:4px; color:var(--muted); }
td > a { color:var(--wood); font-weight:600; }
.status { display:inline-block; padding:5px 9px; border-radius:40px; background:#eee7e4; color:#5d504b; font-size:9px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }
.status--confirmed,.status--booked,.status--completed { background:#dcf2e8; color:#176441; }
.status--pending,.status--new { background:#fff0c8; color:#855500; }
.status--cancelled,.status--closed,.status--no_show { background:#f6dfdc; color:#94362c; }
.status--contacted,.status--proposal_sent { background:#e1eaf8; color:#355d91; }
.inquiry-list article { display:flex; padding:20px 24px; border-bottom:1px solid var(--border); align-items:center; justify-content:space-between; gap:16px; }
.inquiry-list strong,.inquiry-list small { display:block; }
.inquiry-list small { margin-top:4px; color:var(--muted); font-size:10px; }
.admin-filters { display:flex; margin-bottom:20px; padding:18px; border:1px solid var(--border); background:#fff; align-items:end; gap:14px; }
.admin-filters label { display:flex; min-width:180px; flex-direction:column; gap:5px; }
.admin-filters label span { color:var(--muted); font-size:10px; text-transform:uppercase; }
.admin-filters select,.admin-filters input,.admin-form select,.admin-form textarea,.inline-update select,.inline-update input { min-height:42px; padding:9px 12px; border:1px solid #d9ceca; background:#fff; outline:none; }
.admin-filters button,.admin-form button,.inline-update button { min-height:42px; padding:10px 18px; border:0; background:var(--gold); color:var(--dark); font-weight:600; }
.admin-filters > a { padding:11px; color:var(--wood); }
.pagination { padding:18px 24px; }
.pagination nav { display:flex; align-items:center; justify-content:space-between; }
.pagination svg { width:18px; }
.detail-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:22px; }
.detail-card dl { display:grid; grid-template-columns:repeat(2,1fr); margin:0; }
.detail-card dl div { min-height:92px; padding:20px 24px; border-right:1px solid var(--border); border-bottom:1px solid var(--border); }
.detail-card dt { color:var(--muted); font-size:10px; text-transform:uppercase; }
.detail-card dd { margin:8px 0 0; line-height:1.6; }
.admin-whatsapp { display:inline-block; margin:22px 24px; padding:12px 18px; background:#25d366; color:#07371a; font-weight:600; }
.admin-form { padding:28px; align-self:start; }
.admin-form h2 { margin-top:0; }
.admin-form label { display:flex; margin-top:20px; flex-direction:column; gap:7px; }
.admin-form label span { color:var(--muted); font-size:10px; text-transform:uppercase; }
.admin-form textarea { resize:vertical; }
.admin-form button { width:100%; margin-top:20px; }
.celebration-admin-list { display:grid; gap:18px; }
.celebration-admin-card { padding-bottom:22px; }
.celebration-summary { display:grid; grid-template-columns:repeat(4,1fr); padding:22px 24px; border-bottom:1px solid var(--border); gap:18px; }
.celebration-summary div { display:flex; flex-direction:column; }
.celebration-summary span { color:var(--muted); font-size:10px; text-transform:uppercase; }
.celebration-summary strong { margin-top:4px; }
.celebration-admin-card > p { padding:0 24px; color:var(--muted); }
.celebration-actions { display:flex; padding:0 24px 18px; gap:20px; color:var(--wood); font-weight:600; }
.inline-update { display:grid; grid-template-columns:180px 1fr auto; padding:18px 24px 0; border-top:1px solid var(--border); gap:12px; }
.empty-admin { padding:60px; text-align:center; }
.auth-main { display:grid; min-height:100vh; padding:30px; place-items:center; background:radial-gradient(circle at 20% 20%,#5f3018 0,transparent 32%),var(--dark); }
.login-card { width:min(440px,100%); padding:48px; background:#fff; box-shadow:0 35px 80px rgba(0,0,0,.35); }
.login-card > img { width:125px; margin:0 auto 20px; background:var(--dark); }
.login-card > p { margin:0; color:var(--wood); font-size:10px; letter-spacing:.12em; text-align:center; text-transform:uppercase; }
.login-card h1 { margin:7px 0 34px; font-size:32px; text-align:center; }
.login-card label:not(.remember) { display:flex; margin:19px 0; flex-direction:column; gap:7px; }
.login-card label span { color:var(--muted); font-size:10px; text-transform:uppercase; }
.login-card input[type=email],.login-card input[type=password] { height:46px; padding:10px 12px; border:1px solid #d9ceca; outline:none; }
.login-card small { color:#a5392c; }
.remember { display:flex; align-items:center; gap:8px; }
.login-card button { width:100%; height:48px; margin-top:25px; border:0; background:var(--gold); font-weight:700; }
.menu-admin { display:grid; gap:22px; }
.menu-admin__top { grid-template-columns:.7fr 1.3fr; }
.admin-form input { min-height:42px; padding:9px 12px; border:1px solid #d9ceca; background:#fff; outline:none; }
.menu-form-row,.check-row { display:flex; gap:16px; }
.menu-form-row label { flex:1; }
.check-row { margin-top:18px; align-items:center; }
.check-row label { margin:0; align-items:center; flex-direction:row; }
.check-row button { margin:0 0 0 auto; }
.menu-category-admin__heading { display:grid; grid-template-columns:1fr 2fr 80px auto auto; padding:18px 22px; border-bottom:1px solid var(--border); gap:10px; align-items:center; }
.menu-category-admin__heading input { min-height:40px; padding:8px 10px; border:1px solid #d9ceca; }
.menu-category-admin__heading button,.menu-edit-item button { min-height:40px; padding:8px 14px; border:0; background:var(--gold); font-weight:600; }
.menu-edit-item { position:relative; padding:20px 22px; border-bottom:1px solid var(--border); }
.menu-edit-item > form:first-child { display:grid; gap:12px; }
.menu-edit-item > form:first-child > div:first-child { display:grid; grid-template-columns:1fr 170px 80px; gap:12px; }
.menu-edit-item label { display:flex; flex-direction:column; gap:5px; }
.menu-edit-item label span { color:var(--muted); font-size:9px; text-transform:uppercase; }
.menu-edit-item input,.menu-edit-item textarea { width:100%; min-height:40px; padding:8px 10px; border:1px solid #d9ceca; resize:vertical; }
.delete-form { position:absolute; right:22px; bottom:20px; }
.delete-form button { background:#f6dfdc; color:#94362c; }
@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.detail-grid{grid-template-columns:1fr}.celebration-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.admin-sidebar{position:static;width:100%;padding:18px}.admin-logo{margin-bottom:18px}.admin-sidebar nav{flex-direction:row;overflow-x:auto}.admin-sidebar nav a{white-space:nowrap}.admin-sidebar form{display:none}.admin-main{margin-left:0}.admin-topbar{height:75px;padding:0 18px}.admin-content{padding:20px 15px 45px}.stat-grid{grid-template-columns:1fr}.admin-filters{align-items:stretch;flex-direction:column}.admin-filters label{min-width:0}.detail-card dl{grid-template-columns:1fr}.celebration-summary{grid-template-columns:1fr}.inline-update{grid-template-columns:1fr}.login-card{padding:35px 24px}.menu-form-row,.check-row{align-items:stretch;flex-direction:column}.menu-category-admin__heading{grid-template-columns:1fr}.menu-edit-item>form:first-child>div:first-child{grid-template-columns:1fr}.delete-form{position:static;margin-top:10px}.check-row button{margin:0}.menu-admin__top{grid-template-columns:1fr}}


/* =========================================================
   REPORTS
   ========================================================= */

.report-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 20px;
    margin-bottom: 22px;
}

.report-stat-grid article {
    min-height: 145px;
}

.report-stat-grid strong {
    margin: 16px 0 10px;
    font-size: 32px;
}

.report-stat-grid small {
    display: block;
    line-height: 1.5;
}

.report-custom-date[hidden] {
    display: none !important;
}

.admin-table-wrap {
    overflow-x: auto;
}

@media (max-width: 1100px) {
    .report-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .report-stat-grid {
        grid-template-columns: 1fr;
    }
}

.admin-filters > .report-export-button {
    display:inline-flex;
    min-height:42px;
    padding:10px 18px;
    background:var(--dark);
    color:#fff;
    font-weight:600;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
}

.admin-filters > .report-export-button:hover {
    background:var(--wood);
    color:#fff;
}

.admin-filters > .report-pdf-button {
    background:var(--wood);
}

.admin-filters > .report-pdf-button:hover {
    background:var(--dark);
}


/* Reservation sources */

.source-badge {
    display:inline-block;
    padding:5px 9px;
    border-radius:40px;
    font-size:9px;
    font-weight:700;
    letter-spacing:.05em;
    text-transform:uppercase;
    white-space:nowrap;
}

.source-badge--website {
    background:#e1eaf8;
    color:#355d91;
}

.source-badge--whatsapp {
    background:#dcf2e8;
    color:#176441;
}

.source-badge--admin {
    background:#fff0c8;
    color:#855500;
}


/* =========================================================
   MENU MANAGER V2
   ========================================================= */

.menu-v2 {
    display:grid;
    gap:24px;
}

.menu-v2__stats {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}

.menu-v2__stat {
    padding:22px;
}

.menu-v2__stat span {
    display:block;
    color:var(--muted);
    font-size:10px;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.menu-v2__stat strong {
    display:block;
    margin:8px 0 4px;
    font-size:30px;
}

.menu-v2__stat small {
    color:var(--muted);
}


.menu-v2__actions {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.menu-v2__action {
    overflow:hidden;
}

.menu-v2__action > summary {
    display:flex;
    min-height:84px;
    padding:20px 22px;
    cursor:pointer;
    align-items:center;
    justify-content:space-between;
    list-style:none;
}

.menu-v2__action > summary::-webkit-details-marker {
    display:none;
}

.menu-v2__action > summary span:first-child,
.menu-v2__panel-heading span {
    display:block;
    color:var(--muted);
    font-size:9px;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.menu-v2__action > summary strong {
    display:block;
    margin-top:4px;
    font-size:17px;
}

.menu-v2__action-icon {
    display:grid;
    width:34px;
    height:34px;
    border:1px solid var(--border);
    place-items:center;
    font-size:20px;
}

.menu-v2__action[open] .menu-v2__action-icon {
    transform:rotate(45deg);
}


.menu-v2__form {
    padding:22px;
    border-top:1px solid var(--border);
}

.menu-v2__form-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}

.menu-v2__form label {
    display:flex;
    flex-direction:column;
    gap:7px;
}

.menu-v2__form label > span {
    color:var(--muted);
    font-size:9px;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.menu-v2__form input,
.menu-v2__form select,
.menu-v2__form textarea {
    width:100%;
    min-height:43px;
    padding:9px 11px;
    border:1px solid #d9ceca;
    background:#fff;
    outline:none;
}

.menu-v2__form textarea {
    resize:vertical;
}

.menu-v2__wide {
    grid-column:1 / -1;
}

.menu-v2__checks {
    display:flex;
    margin-top:18px;
    gap:22px;
    align-items:center;
}

.menu-v2__checks label {
    display:flex;
    flex-direction:row;
    gap:7px;
    align-items:center;
    font-size:11px;
}

.menu-v2__checks input {
    width:auto;
    min-height:auto;
}

.menu-v2__primary {
    min-height:44px;
    margin-top:20px;
    padding:10px 20px;
    border:0;
    background:var(--gold);
    color:var(--dark);
    font-weight:700;
    cursor:pointer;
}


.menu-v2__panel {
    overflow:hidden;
}

.menu-v2__panel-heading {
    display:flex;
    padding:22px 24px;
    border-bottom:1px solid var(--border);
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.menu-v2__panel-heading h2 {
    margin:3px 0 0;
    font-size:22px;
}

.menu-v2__panel-heading > strong {
    font-size:12px;
}


.menu-v2__filters {
    display:grid;
    grid-template-columns:2fr repeat(3,1fr);
    padding:18px 22px;
    border-bottom:1px solid var(--border);
    background:#faf7f5;
    gap:12px;
}

.menu-v2__filters label {
    display:flex;
    flex-direction:column;
    gap:6px;
}

.menu-v2__filters label span {
    color:var(--muted);
    font-size:9px;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.menu-v2__filters input,
.menu-v2__filters select {
    width:100%;
    min-height:42px;
    padding:8px 10px;
    border:1px solid #d9ceca;
    background:#fff;
}


.menu-v2__items {
    display:grid;
}

.menu-v2__item {
    padding:18px 22px;
    border-bottom:1px solid var(--border);
}

.menu-v2__item[hidden] {
    display:none !important;
}

.menu-v2__item-main {
    display:grid;
    grid-template-columns:minmax(250px,2fr) 180px 220px 80px;
    gap:18px;
    align-items:center;
}

.menu-v2__item-name strong,
.menu-v2__item-name small {
    display:block;
}

.menu-v2__item-name small {
    margin-top:4px;
    color:var(--muted);
    font-size:10px;
}

.menu-v2__item-price {
    font-size:12px;
}

.menu-v2__badges {
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.menu-v2__badge {
    display:inline-block;
    padding:5px 8px;
    border-radius:30px;
    font-size:8px;
    font-weight:700;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.menu-v2__badge--available {
    background:#dcf2e8;
    color:#176441;
}

.menu-v2__badge--off {
    background:#f6dfdc;
    color:#94362c;
}

.menu-v2__badge--signature {
    background:#fff0c8;
    color:#855500;
}


.menu-v2__item-description {
    max-width:850px;
    margin:10px 0 0;
    color:var(--muted);
    font-size:11px;
    line-height:1.6;
}


.menu-v2__edit {
    position:relative;
}

.menu-v2__edit > summary {
    padding:8px 12px;
    border:1px solid var(--border);
    cursor:pointer;
    text-align:center;
    list-style:none;
    font-size:10px;
    font-weight:700;
}

.menu-v2__edit > summary::-webkit-details-marker {
    display:none;
}

.menu-v2__edit-content {
    margin-top:18px;
    border:1px solid var(--border);
    background:#faf7f5;
    grid-column:1 / -1;
}

.menu-v2__item:has(.menu-v2__edit[open])
.menu-v2__item-main {
    grid-template-columns:1fr;
}

.menu-v2__item:has(.menu-v2__edit[open])
.menu-v2__item-price,

.menu-v2__item:has(.menu-v2__edit[open])
.menu-v2__badges {
    display:none;
}


.menu-v2__delete {
    padding:0 22px 22px;
}

.menu-v2__delete button {
    min-height:40px;
    padding:8px 14px;
    border:0;
    background:#f6dfdc;
    color:#94362c;
    font-weight:600;
    cursor:pointer;
}


.menu-v2__categories {
    display:grid;
}

.menu-v2__category {
    border-bottom:1px solid var(--border);
}

.menu-v2__category > summary {
    display:flex;
    min-height:72px;
    padding:16px 22px;
    cursor:pointer;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    list-style:none;
}

.menu-v2__category > summary::-webkit-details-marker {
    display:none;
}

.menu-v2__category > summary strong,
.menu-v2__category > summary small {
    display:block;
}

.menu-v2__category > summary small {
    margin-top:4px;
    color:var(--muted);
    font-size:10px;
}

.menu-v2__category-meta {
    display:flex;
    align-items:center;
    gap:12px;
    font-size:10px;
}

.menu-v2__edit-label {
    color:var(--wood);
    font-weight:700;
}

.menu-v2__category-form {
    background:#faf7f5;
}

.menu-v2__empty {
    padding:50px 22px;
    color:var(--muted);
    text-align:center;
}


@media (max-width:1100px) {

    .menu-v2__stats {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .menu-v2__filters {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .menu-v2__item-main {
        grid-template-columns:1fr 150px;
    }

    .menu-v2__badges {
        justify-content:flex-start;
    }

}


@media (max-width:760px) {

    .menu-v2__stats,
    .menu-v2__actions,
    .menu-v2__filters,
    .menu-v2__form-grid {
        grid-template-columns:1fr;
    }

    .menu-v2__wide {
        grid-column:auto;
    }

    .menu-v2__item-main {
        grid-template-columns:1fr;
        gap:10px;
    }

    .menu-v2__item {
        padding:17px;
    }

    .menu-v2__checks {
        align-items:flex-start;
        flex-direction:column;
    }

    .menu-v2__category > summary {
        align-items:flex-start;
        flex-direction:column;
    }

    .menu-v2__category-meta {
        width:100%;
        justify-content:space-between;
    }

}


.menu-v2__form-help {
    margin:14px 0 0;
    color:var(--muted);
    font-size:10px;
    line-height:1.6;
}



/* =========================================================
   MANUAL RESERVATIONS
   ========================================================= */

.reservation-heading-actions {
    display:flex;
    align-items:center;
    gap:18px;
}

.admin-action-button {
    display:inline-flex;
    min-height:40px;
    padding:9px 15px;
    align-items:center;
    justify-content:center;
    background:var(--gold);
    color:var(--dark);
    font-size:10px;
    font-weight:700;
    text-decoration:none;
}

.reservation-admin-form {
    padding:24px;
}

.reservation-admin-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.reservation-admin-grid label {
    display:flex;
    flex-direction:column;
    gap:7px;
}

.reservation-admin-grid label > span {
    color:var(--muted);
    font-size:9px;
    font-weight:600;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.reservation-admin-grid input,
.reservation-admin-grid select,
.reservation-admin-grid textarea {
    width:100%;
    min-height:44px;
    padding:10px 12px;
    border:1px solid #d9ceca;
    background:#fff;
}

.reservation-admin-grid textarea {
    resize:vertical;
}

.reservation-admin-grid small {
    color:var(--muted);
    font-size:9px;
}

.reservation-admin-span {
    grid-column:1 / -1;
}

.reservation-admin-submit {
    display:flex;
    margin-top:24px;
    align-items:center;
    gap:18px;
}

.reservation-admin-save {
    min-height:44px;
    padding:10px 22px;
    border:0;
    background:var(--gold);
    color:var(--dark);
    font-weight:700;
    cursor:pointer;
}

.reservation-admin-submit a {
    color:var(--muted);
}

.reservation-admin-errors {
    margin-bottom:22px;
    padding:16px 18px;
    background:#f6dfdc;
    color:#94362c;
}

.reservation-admin-errors ul {
    margin:8px 0 0 18px;
}

@media (max-width:760px) {

    .reservation-admin-grid {
        grid-template-columns:1fr;
    }

    .reservation-admin-span {
        grid-column:auto;
    }

    .reservation-heading-actions {
        align-items:flex-end;
        flex-direction:column-reverse;
        gap:8px;
    }

}



/* =========================================================
   RESERVATION FULL EDIT
   ========================================================= */

.reservation-manage {
    display:grid;
    gap:18px;
}

.reservation-manage__top {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.reservation-manage__back {
    color:var(--dark);
    font-size:11px;
    font-weight:600;
    text-decoration:none;
}

.reservation-manage__grid {
    display:grid;
    grid-template-columns:minmax(280px,.8fr)
                          minmax(500px,1.4fr);
    gap:22px;
    align-items:start;
}

.reservation-summary-list {
    margin:0;
}

.reservation-summary-list > div {
    display:grid;
    grid-template-columns:120px 1fr;
    padding:13px 20px;
    border-bottom:1px solid var(--border);
    gap:15px;
}

.reservation-summary-list dt {
    color:var(--muted);
    font-size:9px;
    font-weight:600;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.reservation-summary-list dd {
    margin:0;
    font-size:11px;
    line-height:1.6;
    overflow-wrap:anywhere;
}

.reservation-manage__contact {
    display:flex;
    padding:20px;
    gap:10px;
    flex-wrap:wrap;
}

.reservation-manage__call {
    display:inline-flex;
    min-height:40px;
    padding:9px 15px;
    border:1px solid var(--border);
    align-items:center;
    justify-content:center;
    color:var(--dark);
    font-size:10px;
    font-weight:700;
    text-decoration:none;
}


.reservation-edit-form {
    padding:22px;
}

.reservation-edit-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:17px;
}

.reservation-edit-grid label {
    display:flex;
    flex-direction:column;
    gap:7px;
}

.reservation-edit-grid label > span {
    color:var(--muted);
    font-size:9px;
    font-weight:600;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.reservation-edit-grid input,
.reservation-edit-grid select,
.reservation-edit-grid textarea {
    width:100%;
    min-height:44px;
    padding:10px 12px;
    border:1px solid #d9ceca;
    background:#fff;
}

.reservation-edit-grid textarea {
    resize:vertical;
}

.reservation-edit-span {
    grid-column:1 / -1;
}

.reservation-edit-actions {
    display:flex;
    margin-top:22px;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.reservation-edit-actions button {
    min-height:44px;
    padding:10px 22px;
    border:0;
    background:var(--gold);
    color:var(--dark);
    font-weight:700;
    cursor:pointer;
}

.reservation-edit-actions span {
    color:var(--muted);
    font-size:9px;
}


@media (max-width:1100px) {

    .reservation-manage__grid {
        grid-template-columns:1fr;
    }

}


@media (max-width:760px) {

    .reservation-edit-grid {
        grid-template-columns:1fr;
    }

    .reservation-edit-span {
        grid-column:auto;
    }

    .reservation-edit-actions {
        align-items:flex-start;
        flex-direction:column;
    }

    .reservation-summary-list > div {
        grid-template-columns:1fr;
        gap:4px;
    }

}



/* =========================================================
   ADMIN OVERVIEW V2
   ========================================================= */

.overview-v2 {
    display:grid;
    gap:22px;
}

.overview-v2__welcome {
    display:flex;
    padding:22px 24px;
    border:1px solid var(--border);
    background:#fff;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.overview-v2__welcome > div:first-child > span {
    color:var(--muted);
    font-size:9px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.overview-v2__welcome h2 {
    margin:5px 0;
    font-size:22px;
}

.overview-v2__welcome p {
    margin:0;
    color:var(--muted);
    font-size:11px;
}

.overview-v2__quick-actions {
    display:flex;
    flex-wrap:wrap;
    gap:9px;
}

.overview-v2__quick-actions a {
    display:inline-flex;
    min-height:40px;
    padding:9px 15px;
    border:1px solid var(--border);
    align-items:center;
    color:var(--dark);
    font-size:10px;
    font-weight:700;
    text-decoration:none;
}

.overview-v2__quick-actions
.overview-v2__primary-action {
    border-color:var(--gold);
    background:var(--gold);
}


.overview-v2__stats {
    display:grid;
    grid-template-columns:repeat(
        3,
        minmax(0,1fr)
    );
    gap:18px;
}

.overview-v2__stat {
    min-height:145px;
    padding:20px 22px;
}

.overview-v2__stat > span {
    display:block;
    color:var(--muted);
    font-size:9px;
    font-weight:600;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.overview-v2__stat > strong {
    display:block;
    margin:10px 0 16px;
    font-size:30px;
    line-height:1;
}

.overview-v2__stat
.overview-v2__money {
    font-size:25px;
}

.overview-v2__stat a {
    color:#8a3d17;
    font-size:10px;
    font-weight:700;
    text-decoration:none;
}

.overview-v2__stat small {
    color:var(--muted);
    font-size:10px;
}


.overview-v2__main-grid {
    display:grid;
    grid-template-columns:minmax(0,1.35fr)
                          minmax(320px,.85fr);
    gap:20px;
    align-items:start;
}


.overview-v2__orders {
    display:grid;
}

.overview-v2__order {
    display:grid;
    grid-template-columns:minmax(0,1fr)
                          auto
                          auto;
    padding:15px 18px;
    border-bottom:1px solid var(--border);
    align-items:center;
    gap:14px;
    color:var(--dark);
    text-decoration:none;
}

.overview-v2__order:hover {
    background:#faf7f5;
}

.overview-v2__order strong,
.overview-v2__order small {
    display:block;
}

.overview-v2__order small {
    margin-top:4px;
    color:var(--muted);
    font-size:9px;
}

.overview-v2__order-total {
    text-align:right;
}

.overview-v2__order-total strong {
    font-size:11px;
}

.overview-v2__empty {
    padding:40px 20px;
    color:var(--muted);
    text-align:center;
}


.overview-v2__heading-actions {
    display:flex;
    align-items:center;
    gap:12px;
}

.overview-v2__count {
    display:inline-flex;
    padding:5px 9px;
    border-radius:20px;
    background:#fff0c8;
    color:#855500;
    font-size:9px;
    font-weight:700;
}


@media (max-width:1100px) {

    .overview-v2__stats {
        grid-template-columns:repeat(
            2,
            minmax(0,1fr)
        );
    }

    .overview-v2__main-grid {
        grid-template-columns:1fr;
    }

}


@media (max-width:760px) {

    .overview-v2__welcome {
        align-items:flex-start;
        flex-direction:column;
    }

    .overview-v2__quick-actions {
        width:100%;
    }

    .overview-v2__quick-actions a {
        flex:1;
    }

    .overview-v2__stats {
        grid-template-columns:1fr;
    }

    .overview-v2__order {
        grid-template-columns:1fr auto;
    }

    .overview-v2__order .status {
        grid-column:1 / -1;
        justify-self:start;
    }

}



/* =========================================================
   MANUAL ORDER CREATION
   ========================================================= */

.order-heading-actions {
    display:flex;
    align-items:center;
    gap:18px;
}

.order-create {
    display:grid;
    gap:20px;
}

.order-create__top {
    display:flex;
    padding:20px 22px;
    border:1px solid var(--border);
    background:#fff;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.order-create__top > div > span {
    color:var(--muted);
    font-size:9px;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.order-create__top h2 {
    margin:4px 0;
}

.order-create__top p {
    margin:0;
    color:var(--muted);
    font-size:10px;
}

.order-create__top > a {
    color:var(--dark);
    font-size:10px;
    font-weight:700;
    text-decoration:none;
}

.order-create__layout {
    display:grid;
    grid-template-columns:370px minmax(0,1fr);
    gap:20px;
    align-items:start;
}

.order-create__left {
    display:grid;
    gap:20px;
}

.order-create__details {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:20px;
    gap:15px;
}

.order-create__details label {
    display:flex;
    flex-direction:column;
    gap:6px;
}

.order-create__details label > span {
    color:var(--muted);
    font-size:9px;
    font-weight:600;
    text-transform:uppercase;
}

.order-create__details input,
.order-create__details select,
.order-create__details textarea {
    width:100%;
    min-height:42px;
    padding:9px 10px;
    border:1px solid #d9ceca;
    background:#fff;
}

.order-create__span {
    grid-column:1 / -1;
}

.order-create__summary-body {
    display:grid;
    padding:20px;
    gap:16px;
}

.order-create__summary-body > div {
    display:flex;
    padding-bottom:12px;
    border-bottom:1px solid var(--border);
    align-items:center;
    justify-content:space-between;
}

.order-create__summary-body span {
    color:var(--muted);
    font-size:10px;
}

.order-create__summary-body strong {
    font-size:17px;
}

.order-create__submit {
    min-height:46px;
    border:0;
    background:var(--gold);
    color:var(--dark);
    font-weight:700;
    cursor:pointer;
}

.order-create__search {
    padding:16px 18px;
    border-bottom:1px solid var(--border);
    background:#faf7f5;
}

.order-create__search input {
    width:100%;
    min-height:43px;
    padding:9px 12px;
    border:1px solid #d9ceca;
    background:#fff;
}

.order-create__group > h3 {
    margin:0;
    padding:15px 18px;
    background:#241511;
    color:#fff;
    font-size:12px;
}

.order-create__category > h4 {
    margin:0;
    padding:12px 18px;
    border-bottom:1px solid var(--border);
    background:#f8f3ef;
    color:#8a3d17;
    font-size:11px;
}

.order-create__item {
    display:grid;
    grid-template-columns:minmax(240px,1fr)
                          130px
                          75px
                          120px;
    padding:14px 18px;
    border-bottom:1px solid var(--border);
    align-items:center;
    gap:14px;
}

.order-create__item[hidden] {
    display:none !important;
}

.order-create__item-check {
    display:flex;
    align-items:flex-start;
    gap:10px;
}

.order-create__item-check input {
    margin-top:4px;
}

.order-create__item-check strong,
.order-create__item-check small {
    display:block;
}

.order-create__item-check strong {
    font-size:11px;
}

.order-create__item-check small {
    margin-top:3px;
    color:var(--muted);
    font-size:9px;
    line-height:1.4;
}

.order-create__item-price {
    font-size:10px;
}

.order-create__qty label,
.order-create__custom-price label {
    display:flex;
    flex-direction:column;
    color:var(--muted);
    font-size:8px;
    gap:4px;
    text-transform:uppercase;
}

.order-create__qty input,
.order-create__custom-price input {
    width:100%;
    min-height:36px;
    padding:6px 8px;
    border:1px solid #d9ceca;
    background:#fff;
}


@media (max-width:1100px) {

    .order-create__layout {
        grid-template-columns:1fr;
    }

    .order-create__left {
        grid-template-columns:1fr 1fr;
    }

}


@media (max-width:760px) {

    .order-create__top {
        align-items:flex-start;
        flex-direction:column;
    }

    .order-create__left {
        grid-template-columns:1fr;
    }

    .order-create__details {
        grid-template-columns:1fr;
    }

    .order-create__span {
        grid-column:auto;
    }

    .order-create__item {
        grid-template-columns:1fr;
        gap:10px;
    }

    .order-heading-actions {
        align-items:flex-end;
        flex-direction:column-reverse;
        gap:8px;
    }

}

