
:root {
    --brand-dark: #6b2f00;
    --brand-dark-2: #8b4a19;
    --brand-gold: #efc08a;
    --brand-gold-2: #dba160;
    --brand-gold-soft: #f7d8b2;
    --brand-cream: #f8efe4;
    --brand-cream-2: #fffaf4;
    --brand-sand: #efe0cf;
    --brand-border: #e5c7a4;
    --brand-text: #5a3314;
    --brand-muted: #8d6544;
    --brand-white: #ffffff;
    --danger: #c75b6b;
    --success: #4a9a67;
    --shadow: 0 20px 45px rgba(63, 28, 0, 0.12);
    --shadow-soft: 0 12px 28px rgba(63, 28, 0, 0.08);
    --luxury-gradient: linear-gradient(135deg, rgba(239,192,138,.24), rgba(255,250,244,.7));
    --sidebar-bg: #6b2f00;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; scroll-behavior: smooth; }
body {
    font-family: "Trebuchet MS", "Segoe UI", Arial, sans-serif;
    color: var(--brand-text);
    background:
        radial-gradient(circle at top left, rgba(239,192,138,.18), transparent 22%),
        radial-gradient(circle at right center, rgba(107,47,0,.05), transparent 20%),
        linear-gradient(180deg, #fcf7f0 0%, #f6ece0 100%);
}
a { color: var(--brand-dark); }

.app-shell { min-height: 100vh; }
.app-shell.has-sidebar { display: flex; }
.app-shell.is-guest { display: block; }

.sidebar {
    width: 310px;
    flex: 0 0 310px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0)),
        var(--sidebar-bg);
    color: var(--brand-white);
    padding: 26px 18px;
    position: relative;
    z-index: 30;
    box-shadow: 18px 0 36px rgba(52, 20, 0, .16);
}
.sidebar::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top left, rgba(255,221,180,.12), transparent 30%);
    pointer-events: none;
}
.brand-block {
    display: grid;
    gap: 8px;
    margin-bottom: 24px;
    position: relative;
    text-align: center;
}
.brand-logo-link {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 150px;
    margin: 0 auto;
    border-radius: 0;
    overflow: visible;
    box-shadow: none;
    background: transparent;
}
.brand-logo {
    width: 100%;
    max-width: 150px;
    height: auto;
    display: block;
    filter: none;
    box-shadow: none;
}
.brand-caption {
    font-size: 10px;
    letter-spacing: 2.8px;
    text-transform: uppercase;
    color: rgba(255, 235, 210, .82);
    text-align: center;
}
.role-card {
    background: rgba(255, 244, 230, .12);
    border: 1px solid rgba(255, 226, 187, .24);
    backdrop-filter: blur(12px);
    color: #fff7ee;
    border-radius: 28px;
    padding: 18px 20px;
    margin-bottom: 18px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.role-label { font-size: 11px; letter-spacing: 3px; font-weight: 700; margin-bottom: 8px; opacity: .95; }
.role-name { font-size: 22px; font-weight: 700; line-height: 1.15; }

.nav-links { display: grid; gap: 12px; position: relative; }
.nav-links a {
    text-decoration: none;
    background: rgba(255,250,244,.96);
    color: var(--brand-dark);
    padding: 16px 18px;
    border-radius: 20px;
    border: 1px solid rgba(255, 228, 193, .84);
    font-weight: 700;
    transition: transform .22s ease, background .22s ease, color .22s ease, box-shadow .22s ease;
    box-shadow: 0 8px 18px rgba(48, 20, 0, .08);
}
.nav-links a:hover,
.nav-links a.is-active {
    transform: translateY(-1px);
    background: linear-gradient(180deg, #f2c485, #e6ac66);
    color: #4f2704;
    box-shadow: 0 12px 24px rgba(78, 35, 0, .18);
}
.nav-links a.danger {
    color: #9e3652;
    background: rgba(255, 244, 245, .96);
}
.nav-links a.danger:hover { background: #ffe8ec; }
.nav-links a{position:relative;}
.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#efc08a;color:#4f2704;font-size:12px;font-weight:800;margin-left:8px;box-shadow:0 6px 14px rgba(48,20,0,.12);}
.danger-badge{background:#fde7ec;color:#9e3652;}

.sidebar-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(43, 18, 0, .42);
    backdrop-filter: blur(2px);
    border: 0;
    z-index: 20;
}

.content {
    flex: 1;
    min-width: 0;
    padding: 34px;
}
.mobile-topbar {
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 20px;
}
.mobile-brand {
    display: inline-flex;
    border-radius: 0;
    overflow: visible;
    box-shadow: none;
}
.mobile-brand img {
    height: 44px;
    width: auto;
    display: block;
}
.menu-toggle {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    border: 1px solid var(--brand-border);
    background: rgba(255,255,255,.92);
    display: grid;
    place-items: center;
    padding: 0;
    box-shadow: var(--shadow-soft);
}
.menu-toggle span {
    display: block;
    width: 20px;
    height: 2px;
    background: var(--brand-dark);
    margin: 2px 0;
    border-radius: 999px;
}

.topbar { margin-bottom: 24px; }
.eyebrow {
    color: var(--brand-dark-2);
    letter-spacing: 4px;
    font-size: 12px;
    font-weight: 700;
}
h1, h2, h3 {
    font-family: Georgia, "Times New Roman", serif;
    letter-spacing: .2px;
}
h2 {
    margin: 10px 0 10px;
    font-size: clamp(34px, 4vw, 54px);
    color: var(--brand-dark);
    line-height: 1.02;
}
h3 { margin-top: 0; color: var(--brand-dark); font-size: 24px; }
.muted { color: var(--brand-muted); }
.small { font-size: 12px; }

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 24px;
}
.stats-grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.stat-card, .panel-card {
    background: rgba(255,255,255,.88);
    border: 1px solid rgba(229,199,164,.82);
    border-radius: 30px;
    padding: 24px;
    box-shadow: var(--shadow);
    backdrop-filter: blur(12px);
    position: relative;
    overflow: hidden;
    animation: fadeUp .45s ease both;
}
.stat-card::before, .panel-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(239,192,138,.8), transparent);
}
.stat-card span { color: var(--brand-muted); display: block; margin-bottom: 8px; text-transform: uppercase; font-size: 11px; letter-spacing: 1.6px; }
.stat-card strong { font-size: 34px; color: var(--brand-dark); }

.table-wrap {
    overflow: auto;
    border-radius: 20px;
    border: 1px solid rgba(229,199,164,.74);
    background: rgba(255,255,255,.56);
}
table {
    width: 100%;
    border-collapse: collapse;
    background: rgba(255,255,255,.8);
}
th, td {
    text-align: left;
    padding: 14px 12px;
    border-bottom: 1px solid #f1e1cf;
    vertical-align: top;
}
th {
    color: var(--brand-muted);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.4px;
    background: #fff7ed;
}
tr:hover td { background: rgba(251, 242, 231, .64); }

.two-col, .two-col-wide {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 20px;
    margin-bottom: 22px;
}
.two-col-wide { grid-template-columns: 1.2fr .8fr; }
.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 18px;
}
.filters-grid { align-items: end; }
.form-grid label { display: grid; gap: 8px; font-weight: 700; color: var(--brand-dark); }
.form-grid .full { grid-column: 1 / -1; }

input, select, textarea {
    width: 100%;
    border: 1px solid var(--brand-border);
    border-radius: 16px;
    padding: 13px 14px;
    font-size: 15px;
    background: rgba(255,255,255,.94);
    color: var(--brand-text);
    outline: none;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
input:focus, select:focus, textarea:focus {
    border-color: #e4af73;
    box-shadow: 0 0 0 4px rgba(239,192,138,.18);
    background: #fff;
    transform: translateY(-1px);
}
input[readonly], select[disabled], textarea[readonly] {
    background: #fcf5ec;
    color: #86684a;
}
.field-help { font-size: 12px; color: var(--brand-muted); font-weight: 400; }
.compact-field { max-width: 220px; border-radius: 12px; padding: 10px 12px; }

.stack-list { display: grid; gap: 12px; }
.stack-list.compact { gap: 10px; }
.stack-item {
    border: 1px solid #eed7bc;
    border-radius: 20px;
    padding: 15px 16px;
    display: grid;
    gap: 6px;
    background: linear-gradient(180deg, rgba(255,251,246,.95), rgba(252,243,233,.78));
    box-shadow: var(--shadow-soft);
}
.stack-item span { color: var(--brand-muted); font-size: 14px; }
.top-gap { margin-top: 16px; }

.btn {
    border: none;
    border-radius: 999px;
    padding: 14px 18px;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, filter .18s ease;
}
.btn:hover { transform: translateY(-1px); filter: saturate(1.02); }
.btn.primary {
    background: linear-gradient(180deg, #8a4309, #6b2f00);
    color: #fffaf4;
    box-shadow: 0 12px 22px rgba(107, 47, 0, .20);
}
.btn.ghost {
    background: rgba(255,255,255,.9);
    color: var(--brand-dark);
    border: 1px solid var(--brand-border);
    box-shadow: var(--shadow-soft);
}
.btn-sm { padding: 9px 14px; font-size: 13px; }
.btn-round { width: 42px; padding-inline: 0; }
.danger-outline { color: var(--danger); border: 1px solid #f1c6cf; background: #fff6f7; }
.panel-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; gap: 12px; }
.alert { padding: 14px 16px; border-radius: 18px; margin-bottom: 16px; border: 1px solid transparent; box-shadow: var(--shadow-soft); }
.alert.success { background: #ecf8f0; color: #216645; border-color: #cde8d6; }
.alert.error { background: #fff3f5; color: #9a3856; border-color: #efc6d2; }

.login-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
    background:
        radial-gradient(circle at top, rgba(239,192,138,.18), transparent 30%),
        linear-gradient(180deg, rgba(107,47,0,.08), rgba(239,192,138,.08)),
        linear-gradient(135deg, #fcf6ed, #f5e8d7);
}
.login-card {
    width: min(500px, 92vw);
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(229,199,164,.88);
    border-radius: 34px;
    padding: 32px;
    box-shadow: 0 28px 54px rgba(78, 35, 0, .14);
    backdrop-filter: blur(6px);
}
.login-logo-wrap {
    margin: 0 auto 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 0;
    overflow: visible;
    box-shadow: none;
}
.login-logo-image { width: min(150px, 42vw); height: auto; display: block; filter: none; box-shadow: none; }

.login-title {
    margin: 8px 0 14px;
    font-size: clamp(28px, 3vw, 36px);
    line-height: 1.08;
}
.login-help { margin-top: 18px; font-size: 14px; color: var(--brand-muted); line-height: 1.5; }
.bullets { margin: 0; padding-left: 18px; color: var(--brand-muted); line-height: 1.7; }
.inline-actions, .filters-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.inline-form { display: inline-flex; gap: 8px; align-items: center; }
.inline-form select, .inline-form input { min-width: 110px; padding: 8px 10px; border-radius: 10px; }
.inline-pin-form input { width: 84px; }
.filters-actions { gap: 10px; align-items: end; }
.filters-card { margin-bottom: 22px; }
.chips-row { display: flex; flex-wrap: wrap; gap: 10px; }
.chip {
    background: #fff4e5;
    color: var(--brand-dark);
    border: 1px solid var(--brand-border);
    border-radius: 999px;
    padding: 10px 14px;
    font-weight: 700;
    box-shadow: var(--shadow-soft);
}

/* Calendario premium */
.calendar-shell { padding: 28px; }
.calendar-top-layout {
    display: grid;
    grid-template-columns: minmax(260px, 350px) minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    margin-bottom: 24px;
}
.calendar-specialist-card {
    background: linear-gradient(180deg, rgba(255,248,239,.96), rgba(248,235,220,.9));
    border: 1px solid var(--brand-border);
    border-radius: 28px;
    padding: 22px;
    box-shadow: var(--shadow-soft);
}
.specialist-badge { display:flex; align-items:center; gap:14px; }
.specialist-avatar {
    width:80px;
    height:80px;
    border-radius:50%;
    overflow:hidden;
    background: linear-gradient(180deg, #f6d5ae, #e8ad6d);
    color: var(--brand-dark);
    display:grid;
    place-items:center;
    font-weight:700;
    font-size:32px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.65), 0 10px 20px rgba(107,47,0,.12);
}
.specialist-avatar img { width:100%; height:100%; object-fit:cover; }
.calendar-toolbar-panel { display: grid; gap: 16px; }
.calendar-nav-center {
    display:flex;
    align-items:center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.calendar-nav-main { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.calendar-title {
    font-weight:700;
    color:var(--brand-dark);
    font-size: clamp(22px, 2vw, 30px);
    font-family: Georgia, "Times New Roman", serif;
}
.calendar-toolbar-bottom {
    display:flex;
    justify-content: space-between;
    align-items:center;
    gap: 14px;
    flex-wrap: wrap;
}
.calendar-jump-form input[type="date"] {
    min-width: 200px;
    max-width: 220px;
    border-radius: 14px;
    box-shadow: var(--shadow-soft);
}
.view-switcher { display:flex; gap:8px; }
.calendar-grid { display:grid; gap:12px; }
.week-grid, .month-grid { grid-template-columns: repeat(7, minmax(0,1fr)); }
.calendar-cell {
    border:1px solid var(--brand-border);
    border-radius:22px;
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(252,244,235,.86));
    min-height:170px;
    display:flex;
    flex-direction:column;
    overflow: hidden;
    box-shadow: var(--shadow-soft);
}
.calendar-cell.is-outside { opacity:.58; }
.calendar-cell-head {
    padding:14px 16px;
    border-bottom:1px solid #f1e1cf;
    font-weight:700;
    color:var(--brand-dark);
    background: linear-gradient(180deg, #fffaf4, #fff4e7);
}
.calendar-cell-body { padding:12px; display:grid; gap:10px; }
.calendar-create-cell { cursor: pointer; }
.calendar-create-cell:hover { border-color: var(--brand-gold-2); transform: translateY(-1px); }
.calendar-cell-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.calendar-create-link { width:28px; height:28px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; text-decoration:none; font-weight:700; background: rgba(212,163,115,.18); color: var(--brand-dark); border:1px solid rgba(212,163,115,.36); }
.calendar-create-link:hover { background: rgba(212,163,115,.3); }
.calendar-mini-event, .calendar-event-card {
    border-radius:24px;
    padding:16px 18px;
    background: linear-gradient(180deg, #f3f7f7, #edf2f3);
    border-left:4px solid var(--brand-gold-2);
    box-shadow: 0 10px 18px rgba(93, 62, 28, .08);
    transition: transform .18s ease, box-shadow .18s ease;
}
.calendar-mini-event:hover, .calendar-event-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 24px rgba(93, 62, 28, .12);
}
.calendar-mini-event strong, .calendar-event-card strong { color:var(--brand-dark); display:block; margin-bottom:4px; }
.calendar-day-list { display:grid; gap:16px; }
.calendar-event-time { font-size:13px; color:var(--brand-muted); margin-bottom:6px; }
.calendar-week-labels {
    display:grid;
    grid-template-columns: repeat(7, minmax(0,1fr));
    gap:12px;
    margin-bottom: 12px;
}
.calendar-week-labels div {
    text-align:center;
    font-size: 12px;
    color: var(--brand-muted);
    letter-spacing: 1.4px;
    text-transform: uppercase;
    font-weight: 700;
}
.agenda-day-list .calendar-event-card {
    min-height: 132px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.status-confirmada { border-left-color:#2aa56b; }
.status-pendiente { border-left-color:#c7932b; }
.status-cancelada { border-left-color:#c75b6b; }
.status-en_atencion { border-left-color:#c67f38; }
.status-completada { border-left-color:var(--brand-dark); }

@keyframes fadeUp {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Responsive general */
@media (max-width: 1200px) {
    .stats-grid, .stats-grid-5, .two-col, .two-col-wide { grid-template-columns: 1fr; }
    .calendar-top-layout { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
    .app-shell.has-sidebar { display: block; }
    .mobile-topbar { display: flex; }
    .sidebar {
        position: fixed;
        top: 0;
        left: 0;
        height: 100vh;
        width: min(86vw, 320px);
        transform: translateX(-104%);
        transition: transform .24s ease;
        overflow-y: auto;
    }
    body.sidebar-open .sidebar { transform: translateX(0); }
    body.sidebar-open .sidebar-overlay { display: block; }
    .content { padding: 20px 16px 28px; }
    .panel-card, .stat-card { border-radius: 24px; padding: 18px; }
    h2 { font-size: 38px; }
    .form-grid { grid-template-columns: 1fr; }
    .panel-header { align-items: flex-start; flex-direction: column; }
    .inline-actions { flex-direction: column; align-items: stretch; }
    .calendar-toolbar-bottom,
    .calendar-nav-center { align-items: flex-start; justify-content: flex-start; }
    .calendar-title { width: 100%; }
    .week-grid, .month-grid, .calendar-week-labels { grid-template-columns: 1fr; }
    .calendar-cell { min-height: unset; }
    .calendar-week-labels { display: none; }
    .table-wrap { overflow-x: auto; }
}

@media (max-width: 640px) {
    .content { padding: 18px 14px 24px; }
    .login-card { padding: 24px; border-radius: 24px; }
    h2 { font-size: 32px; }
    .calendar-shell { padding: 18px; }
    .calendar-specialist-card { padding: 16px; }
    .specialist-avatar { width: 62px; height: 62px; font-size: 26px; }
    .btn, input, select, textarea { font-size: 16px; }
    .calendar-jump-form input[type="date"] { min-width: 100%; max-width: none; }
    .brand-logo-link { max-width: 128px; }
    .brand-logo { max-width: 128px; }
    .mobile-brand img { height: 40px; }
    .login-logo-image { width: min(130px, 38vw); }
}

.nav-section-title{margin:14px 12px 6px;color:#8c6f5a;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.role-sub{font-size:12px;color:#8c6f5a;margin-top:4px}
.inline-search{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.inline-search input{min-width:260px}
.pagination-bar{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:12px;flex-wrap:wrap}
.modal-wide{max-width:900px;width:min(900px,95vw)}
.badge-soft{display:inline-flex;padding:4px 8px;border-radius:999px;background:#f3e5d8;color:#6B2F00;font-size:12px;font-weight:700}
.compact-actions{align-items:center}.compact-form label span{font-size:13px}.check-row{display:flex;gap:10px;align-items:center}.role-picker-block{display:grid;gap:10px}.role-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.pos-layout{display:grid;grid-template-columns:1.4fr .8fr;gap:18px}.pos-sidebar-box{display:grid;gap:14px}.pos-total-box{background:#fff7f0;border:1px solid #eadfd6;border-radius:20px;padding:18px;text-align:center;position:sticky;top:12px}.pos-total-box .label{font-size:12px;color:#8c6f5a;letter-spacing:.08em}.pos-total-box .value{font-size:40px;font-weight:800;color:#6B2F00;line-height:1.1;margin-top:4px}.summary-lines{display:grid;gap:8px}.summary-lines>div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #eadfd6}.tip-block{display:grid;gap:8px}.pos-group{margin-bottom:18px}.compact-form input,.compact-form select,.compact-form textarea{width:100%}
@media (max-width:900px){.pos-layout{grid-template-columns:1fr}.inline-search input{min-width:0;width:100%}}

.topbar-actions{justify-content:flex-end;align-items:flex-start}
.btn-corner{align-self:flex-start;min-width:190px}
.stack-cell{display:grid;gap:6px}
.success-badge{background:#e7f6ec;color:#1f7a45}
.wrap-actions{flex-wrap:wrap}
.pos-search-blank{min-height:220px;display:grid;place-items:center}
.search-launcher{text-align:center;display:grid;gap:12px;max-width:640px}
.btn-large{padding:16px 28px;font-size:18px}
.pos-layout.two-blocks{grid-template-columns:1.2fr .8fr}
.pos-left-block,.pos-right-block{min-width:0}
.sticky-box{position:sticky;top:12px}
.empty-state.tight{min-height:120px;display:grid;place-items:center;color:#8c6f5a}
@media (max-width:900px){.topbar-actions{align-items:stretch}.btn-corner{width:100%}.pos-layout.two-blocks{grid-template-columns:1fr}}


/* Modal system */
.modal-backdrop[hidden]{display:none !important;}
.modal-backdrop{
    position:fixed;
    inset:0;
    z-index:1200;
    background:rgba(27,16,9,.52);
    backdrop-filter: blur(4px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
}
.modal-card{
    width:min(680px, 100%);
    max-height:min(90vh, 920px);
    overflow:auto;
    background:#fffaf5;
    border:1px solid rgba(229,199,164,.82);
    border-radius:28px;
    padding:24px;
    box-shadow:0 30px 80px rgba(34,20,10,.22);
}
.modal-wide{width:min(980px, 100%);}
.modal-card .panel-header{position:sticky;top:-24px;background:#fffaf5;padding-top:2px;z-index:2;}
body.modal-open{overflow:hidden;}

.warning-badge{background:#fff4df;color:#a56a00}
.row-disabled td{background:rgba(236,226,216,.55);color:#9a7f68}
.row-disabled input[type="checkbox"]{cursor:not-allowed}
.modal-very-wide{width:min(1240px,100%)}
.modal-results-card{margin-top:16px}

@media (max-width: 900px){
    .modal-backdrop{padding:14px;align-items:flex-end;}
    .modal-card,.modal-wide{width:100%;max-height:92vh;border-radius:24px 24px 0 0;}
    .modal-card .panel-header{top:-24px;}
}


/* v11 fix7 layout refinements */
.nav-section-title{margin:6px 4px 0;color:rgba(255,235,210,.72);font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700;}
.customer-summary-card{display:grid;gap:14px;background:linear-gradient(180deg,#fffaf4,#fff3e7);border:1px solid rgba(229,199,164,.78);border-radius:22px;padding:18px 20px;box-shadow:var(--shadow-soft);}
.customer-summary-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.customer-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.customer-summary-item{background:#fff;border:1px solid rgba(229,199,164,.72);border-radius:16px;padding:12px 14px;display:grid;gap:6px;}
.customer-summary-item span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-muted);}
.customer-summary-item strong{font-size:14px;color:var(--brand-dark);word-break:break-word;}
.pos-wide-form{display:grid;gap:18px;}
.pos-header-band{display:grid;grid-template-columns:1fr auto minmax(280px,360px);gap:18px;align-items:center;}
.pos-header-center{display:grid;justify-items:center;gap:10px;text-align:center;}
.pos-header-total{background:linear-gradient(180deg,#fff6ea,#fff1e1);border:1px solid rgba(229,199,164,.72);border-radius:24px;padding:20px 22px;text-align:center;box-shadow:var(--shadow-soft);}
.pos-header-total .label{font-size:12px;letter-spacing:.12em;color:var(--brand-muted);}
.pos-header-total .value{font-size:54px;font-weight:800;line-height:1;color:var(--brand-dark);margin:6px 0;}
.pos-full-layout{padding:22px;}
.pos-main-grid{display:grid;grid-template-columns:1fr;gap:22px;align-items:start;}
.pos-left-block,.pos-right-block{width:100%;}
.inset-card{padding:20px;border-radius:24px;box-shadow:none;background:rgba(255,249,242,.92);}
.pos-right-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;}
.payment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.payment-grid .full{grid-column:1/-1;}
.summary-card .summary-lines{margin-top:4px;}
.summary-card .summary-lines>div:last-child strong{font-size:20px;color:var(--brand-dark);}
.modal-results-single{padding:18px;}
.modal-results-actions{justify-content:flex-end;}
.row-disabled td{background:rgba(160,130,100,.08)!important;color:#9a8066;}
.row-disabled input{cursor:not-allowed;opacity:.45;}
.modal-scroll-area{display:grid;gap:16px;}
@media (max-width:1100px){.customer-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.pos-header-band,.pos-right-grid,.payment-grid{grid-template-columns:1fr;}.pos-header-center{justify-items:flex-start;text-align:left;}.pos-header-total .value{font-size:46px;}}
@media (max-width:720px){.customer-summary-grid,.payment-grid{grid-template-columns:1fr;}.pos-header-total .value{font-size:40px;}}


/* v11 fix9 */
.pos-top-grid{display:grid;grid-template-columns:40% 60%;gap:18px;align-items:start;}
.pos-search-panel,.pos-tickets-panel{display:grid;gap:12px;}
.pos-bottom-grid{display:grid;grid-template-columns:1fr 380px;gap:18px;align-items:start;}
.pos-summary-panel{display:grid;gap:16px;align-content:start;}
.pos-total-card{text-align:center;background:linear-gradient(180deg,#fff6ea,#fff1e1);}
.pos-total-card .label{font-size:12px;letter-spacing:.12em;color:var(--brand-muted);}
.pos-total-card .value{font-size:52px;font-weight:800;line-height:1;color:var(--brand-dark);margin:8px 0;}
.pos-tickets-wrap table td,.pos-tickets-wrap table th{white-space:nowrap;}
.tip-inline-group{display:grid;grid-template-columns:minmax(180px,220px) 1fr;gap:14px;align-items:start;}
.tip-inline-group .tip-block{border:1px solid rgba(229,199,164,.72);border-radius:16px;padding:12px;background:#fff;}
.user-type-picker .btn.is-active{background:var(--brand-dark);color:#fff;}
.user-form .user-bookly-only[hidden]{display:none !important;}
@media (max-width:1100px){.pos-top-grid,.pos-bottom-grid,.tip-inline-group{grid-template-columns:1fr;}}

.pos-bottom-stack{margin-top:18px}
.pos-bottom-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:18px;align-items:start;}
.pos-left-stack,.pos-right-stack{display:grid;gap:18px;}
.payment-grid-single{grid-template-columns:repeat(2,minmax(0,1fr));}
.tip-config-block{display:grid;gap:10px;}
.compact-check{display:inline-flex;align-items:center;gap:8px;justify-content:flex-start;}
.tip-builder{display:grid;gap:10px;padding:14px;border:1px dashed rgba(212,163,115,.6);border-radius:18px;background:rgba(255,248,240,.7);}
.tip-line-row{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;gap:10px;align-items:center;}
.pos-total-card .value{font-size:52px;font-weight:800;color:var(--brand-dark);line-height:1;}
.summary-list{display:grid;gap:12px;}
.summary-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #f1e1cf;}
.summary-list>div:last-child{border-bottom:0;}
.row-disabled td{background:#f4f0eb;color:#9a8877;}
.row-disabled:hover td{background:#f4f0eb;}
@media (max-width:1100px){.payment-grid-single,.pos-bottom-grid,.tip-line-row{grid-template-columns:1fr;}.pos-total-card .value{font-size:42px;}}

.field-label{display:inline-block;margin-bottom:8px;}

.dashboard-split{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media (max-width:1100px){.dashboard-split{grid-template-columns:1fr;}}
.payment-grid-single{row-gap:18px;}
.payment-grid-single label{display:block;}
.payment-grid-single .field-label{display:block;margin-bottom:10px;}
.tip-config-block{margin-top:6px;}
.check-row.compact-check{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;}

.dashboard-day-section{margin-top:18px;}


.dashboard-stack{display:grid;gap:20px;}
.calendar-filter-card{margin-right:18px;}
.event-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.nav-section-title{color:rgba(255,235,210,.82);font-size:11px;letter-spacing:2px;text-transform:uppercase;padding:6px 10px 2px;}

.stats-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}


/* v11 fix15 */
.category-admin-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:18px;align-items:start;}
.category-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.category-form-grid .full{grid-column:1/-1;}
.staff-chip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:10px;}
.staff-chip{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(229,199,164,.8);border-radius:16px;background:#fffaf4;transition:.18s ease;}
.staff-chip:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft);}
.staff-chip input{margin:0;}
.staff-chip.compact{padding:10px 12px;}
.category-list-grid{display:grid;gap:16px;}
.category-item-card{border:1px solid rgba(229,199,164,.75);border-radius:22px;padding:18px;background:linear-gradient(180deg,#fffdf9,#fff6ec);box-shadow:var(--shadow-soft);}
.category-summary-strip{display:grid;gap:4px;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid rgba(229,199,164,.65);}
.inline-edit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;}
.calendar-toolbar-panel{display:grid;gap:16px;}
.calendar-top-layout{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:18px;align-items:start;}
.calendar-shell .btn{white-space:nowrap;}
@media (max-width:1100px){.category-admin-layout,.calendar-top-layout{grid-template-columns:1fr;}}


/* v11 hotfix3 admin cleanup */
.empty-state-panel{display:grid;gap:12px;place-items:start;padding:28px;}
.empty-state-icon{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(180deg,#fff6ea,#fff1e1);font-size:28px;border:1px solid rgba(229,199,164,.72);}
.reason-list{display:grid;gap:12px;}
.reason-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 18px;border:1px solid rgba(229,199,164,.76);border-radius:18px;background:linear-gradient(180deg,#fffdf9,#fff7ef);}
.reason-list-main{display:grid;gap:4px;min-width:0;}
.reason-list-title{font-size:16px;font-weight:700;color:var(--brand-dark);word-break:break-word;}
.reason-list-meta{font-size:12px;color:var(--brand-muted);letter-spacing:.04em;text-transform:uppercase;}
.reason-list-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
@media (max-width:760px){.reason-list-item{grid-template-columns:1fr;}.reason-list-actions{justify-content:flex-start;}}


.btn.secondary{background:#d4a373;color:#fff;border-color:#d4a373;}
.btn.secondary:hover{filter:brightness(.96);}
.form-note{padding:12px 14px;border-radius:12px;font-size:.95rem;line-height:1.4;}
.warning-note{background:#f3e4d6;color:#6b2f00;border:1px solid rgba(107,47,0,.12);}


.dashboard-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.dashboard-visual-grid{align-items:start;}
.dashboard-visual-card{position:relative;overflow:hidden;}
.dashboard-visual-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:rgba(212,163,115,.55);}
.waiting-card::before{background:#d4a373;}
.inbox-card::before{background:#1f7a45;}
.upcoming-card::before{background:#8a6a4a;}
.finalized-card::before{background:#2aa56b;}
.cancelled-card::before{background:#c75b6b;}
.dashboard-booking-id{font-size:12px;color:var(--brand-muted);margin-top:4px;}
@media (max-width:1100px){.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.dashboard-kpi-grid{grid-template-columns:1fr;}}

.dashboard-admin-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px;}
.admin-dashboard-stack{gap:20px;}
.dashboard-month-filter{align-items:end;gap:12px;flex-wrap:wrap;}
.field-inline{display:flex;flex-direction:column;gap:6px;min-width:180px;}
.field-inline span{font-size:12px;font-weight:700;color:var(--brand-muted);text-transform:uppercase;letter-spacing:.08em;}
.stat-delta{display:inline-flex;align-items:center;margin-top:8px;font-size:12px;font-weight:700;}
.stat-delta.up{color:#1f7a45;}
.stat-delta.down{color:#b54d5b;}
.stat-delta.neutral{color:var(--brand-muted);}
.admin-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:8px;}
.summary-item{border:1px solid rgba(212,163,115,.32);border-radius:18px;padding:16px;background:#fffaf5;display:grid;gap:6px;}
.summary-item span{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-muted);}
.summary-item strong{font-size:28px;line-height:1;color:#6b2f00;}
.summary-item small{font-size:13px;color:var(--brand-muted);}
.dashboard-admin-note{margin-top:16px;}
@media (max-width:1200px){.dashboard-admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:760px){.dashboard-admin-kpis,.admin-summary-grid{grid-template-columns:1fr;}}


.modal-backdrop.modal-nested{z-index:1305;background:rgba(27,16,9,.38);}
#custom-service-modal{z-index:1310;}

.agenda-time-grid { display:grid; grid-template-columns: 110px 1fr; gap:12px; align-items:start; }
.agenda-time-axis { position:relative; }
.agenda-time-label { position:absolute; right:8px; transform:translateY(-50%); font-size:12px; color:var(--brand-muted); white-space:nowrap; }
.agenda-day-column, .agenda-week-track { position:relative; border:1px solid var(--brand-border); border-radius:22px; background:linear-gradient(180deg, #fffdf9, #faf2e8); overflow:hidden; }
.agenda-grid-line { position:absolute; left:0; right:0; border-top:1px dashed rgba(107,47,0,.14); }
.agenda-absolute-event { position:absolute; border-radius:16px; padding:8px 10px; background:linear-gradient(180deg, #eef5f2, #e6efe9); border-left:4px solid var(--brand-gold-2); box-shadow:0 8px 18px rgba(93,62,28,.12); overflow:hidden; }
.agenda-absolute-event strong { display:block; font-size:12px; margin-bottom:4px; }
.agenda-absolute-event div, .agenda-absolute-event small { display:block; line-height:1.25; }
.agenda-absolute-event.is-cancelled, .month-chip.is-cancelled { opacity:.58; filter:saturate(.6); }
.week-time-grid { grid-template-columns: 110px 1fr; }
.agenda-week-columns { display:grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap:12px; }
.agenda-week-column { display:flex; flex-direction:column; gap:8px; }
.agenda-week-head { display:flex; justify-content:space-between; align-items:center; font-weight:700; color:var(--brand-dark); padding:0 6px; }
.agenda-week-event { font-size:12px; }
.compact-month-grid .calendar-cell { min-height:170px; border-radius:18px; }
.compact-month-body { gap:6px; }
.month-chip { border-radius:12px; padding:8px 10px; background:linear-gradient(180deg, #f4f4f4, #ececec); box-shadow:none; }
.agenda-empty { padding:18px; }
.status-cancelada.agenda-absolute-event, .status-cancelada.month-chip { background:linear-gradient(180deg, #f4eded, #eee0e0); }
@media (max-width: 1100px) {
  .agenda-time-grid, .week-time-grid { grid-template-columns: 80px 1fr; }
  .agenda-week-columns { overflow-x:auto; grid-auto-flow:column; grid-auto-columns:minmax(180px,1fr); }
}
@media (max-width: 900px) {
  .agenda-time-grid, .week-time-grid { grid-template-columns: 1fr; }
  .agenda-time-axis { display:none; }
}


[hidden]{display:none !important;}
.pos-total-secondary{margin-top:10px;padding:14px 16px;border-radius:18px;font-size:30px;font-weight:800;line-height:1.15;background:#f3e5d8;color:#6B2F00;}
.pos-total-secondary.is-change{background:#ead7c2;color:#6B2F00;box-shadow:inset 0 0 0 2px rgba(107,47,0,.08);}
.pos-total-secondary.is-balance{background:#6B2F00;color:#fff7ef;box-shadow:inset 0 0 0 2px rgba(212,163,115,.25);}
.summary-highlight{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:16px;background:#f6ede4;border:1px solid #e7d0b8;}
.summary-highlight strong{font-size:24px;color:#6B2F00;}
.inline-date-filter{display:flex;flex-direction:column;gap:6px;min-width:220px;flex:1 1 220px;}
.inline-date-filter input[type="date"]{width:100%;min-height:48px;}

.date-nav-group{display:flex;align-items:flex-end;gap:12px;flex:1 1 340px;min-width:min(100%,340px);}
.date-nav-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding-bottom:2px;}
.date-nav-btn{width:44px;height:44px;border-radius:14px;border:1px solid rgba(212,163,115,.75);background:linear-gradient(180deg,#fffaf5 0%,#f2e2d2 100%);color:#6B2F00;font-size:28px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 18px rgba(107,47,0,.08);transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;}
.date-nav-btn:hover{transform:translateY(-1px);box-shadow:0 12px 20px rgba(107,47,0,.12);border-color:#c88f5d;background:linear-gradient(180deg,#fffdf9 0%,#ecd7c0 100%);}
.date-nav-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(212,163,115,.28),0 10px 18px rgba(107,47,0,.12);}
.date-nav-btn:active{transform:translateY(0);box-shadow:0 5px 12px rgba(107,47,0,.1);}
.date-nav-btn span{transform:translateY(-1px);}

.modal-confirm{max-width:420px;}
@media (max-width:1100px){.pos-total-secondary{font-size:24px;}}
@media (max-width:720px){.date-nav-group{width:100%;align-items:stretch;}.date-nav-actions{padding-bottom:0;justify-content:flex-start;}.date-nav-btn{width:42px;height:42px;}}


.nav-submenu{display:grid;gap:10px;margin-top:4px;}
.nav-submenu summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px;border-radius:20px;color:var(--brand-dark);cursor:pointer;background:rgba(255,250,244,.96);border:1px solid rgba(255, 228, 193, .84);font-weight:700;transition:transform .22s ease, background .22s ease, color .22s ease, box-shadow .22s ease;box-shadow:0 8px 18px rgba(48,20,0,.08);}
.nav-submenu summary::-webkit-details-marker{display:none;}
.nav-submenu summary:hover,.nav-submenu summary.is-active{transform:translateY(-1px);background:linear-gradient(180deg, #f2c485, #e6ac66);color:#4f2704;box-shadow:0 12px 24px rgba(78,35,0,.18);}
.nav-submenu-chevron{width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .18s ease, margin-top .18s ease;opacity:.9;margin-top:-4px;}
.nav-submenu[open] .nav-submenu-chevron{transform:rotate(225deg);margin-top:2px;}
.nav-submenu-items{display:grid;gap:10px;padding:2px 0 0 18px;border-left:1px solid rgba(255,235,210,.22);margin-left:12px;}
.nav-submenu-items a{padding:14px 16px;font-size:15px;background:rgba(255,250,244,.96);color:var(--brand-dark);border-radius:20px;border:1px solid rgba(255, 228, 193, .84);box-shadow:0 8px 18px rgba(48,20,0,.08);}
.nav-submenu-items a:hover,.nav-submenu-items a.is-active{transform:translateY(-1px);background:linear-gradient(180deg, #f2c485, #e6ac66);color:#4f2704;box-shadow:0 12px 24px rgba(78,35,0,.18);}

.authorization-name{display:grid;gap:4px;}
.authorization-key{font-size:12px;color:var(--brand-muted);letter-spacing:.04em;text-transform:uppercase;}
.authorization-description{min-width:280px;color:var(--brand-muted);line-height:1.45;}

.email-module-card{padding-top:0;overflow:hidden;}
.email-module-header{padding:22px 24px 0;}
.email-tabs{display:flex;gap:0;border-bottom:1px solid rgba(107,47,0,.12);padding:0 24px;margin-top:8px;overflow:auto;}
.email-tab{display:inline-flex;align-items:center;white-space:nowrap;padding:16px 18px;color:var(--brand-dark);border-bottom:3px solid transparent;font-weight:600;}
.email-tab:hover{background:#faf3ec;}
.email-tab.is-active{border-bottom-color:#28a745;background:#fff;color:#2b2118;}
.email-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px 12px;flex-wrap:wrap;}
.email-table{width:100%;border-collapse:separate;border-spacing:0;}
.email-table th,.email-table td{padding:16px 14px;border-top:1px solid rgba(107,47,0,.08);vertical-align:top;background:#fff;}
.email-table th{font-size:14px;color:#594437;background:#fcf8f4;text-align:left;}
.email-row-title{font-weight:700;color:#35261b;line-height:1.35;}
.table-subtext{color:#7a6657;font-size:14px;line-height:1.45;}
.table-actions{display:flex;gap:8px;flex-wrap:wrap;}
.status-pill{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:13px;font-weight:700;background:#e9ecef;color:#495057;}
.status-pill.success{background:#dff3e4;color:#1f7a38;}
.status-pill.danger{background:#f8d7da;color:#a12735;}
.status-pill.muted{background:#e8ecef;color:#55606d;}
.email-snippet-subject{margin-bottom:6px;color:#35261b;line-height:1.45;}
.email-codes-box{padding:10px 24px 24px;}
.notification-code-grid.compact{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.notification-code-item{background:#fff8f1;border:1px solid rgba(107,47,0,.08);border-radius:14px;padding:12px 14px;display:grid;gap:6px;}
.notification-code-item code{font-size:13px;color:#6B2F00;font-weight:700;}
.table-empty{text-align:center;color:#7a6657;padding:28px 16px;}
.modal-card-wide{max-width:960px;width:min(960px,96vw);}
.modal-scroll-area{max-height:min(78vh,900px);overflow:auto;padding-right:4px;}
body.modal-open{overflow:hidden;}
.data-table-wrap{overflow:auto;padding:0 24px 24px;}
@media (max-width: 860px){.email-tabs{padding:0 16px;}.email-toolbar,.email-module-header,.data-table-wrap,.email-codes-box{padding-left:16px;padding-right:16px;}.email-table{min-width:900px;}}

.email-hub-card{padding:0;overflow:hidden;background:#fff;}
.email-tabbar{display:flex;gap:0;padding:18px 24px 0;border-bottom:1px solid rgba(107,47,0,.12);background:#fffaf5;}
.email-tabpill{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;margin:0 8px -1px 0;border:1px solid rgba(107,47,0,.18);border-bottom:none;border-radius:16px 16px 0 0;background:#f6ede3;color:var(--brand-dark);font-weight:800;font-size:15px;line-height:1;text-decoration:none;transition:background .18s ease,color .18s ease,border-color .18s ease;}
.email-tabpill:hover{background:#f1dfca;color:var(--brand-dark);}
.email-tabpill.is-active{background:linear-gradient(180deg,#f4c98d 0%,#e7b36a 100%);border-color:#c98334;color:#6b2f00;position:relative;z-index:2;}
.email-section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:24px 28px 8px;}
.email-section-head h4{margin:0 0 6px;font-size:22px;}
.email-section-note{padding:10px 14px;border-radius:999px;background:#fff7ef;border:1px solid rgba(107,47,0,.12);font-weight:700;color:#8b5c2d;white-space:nowrap;}
.email-list-grid{display:grid;gap:16px;padding:0 28px 26px;}
.email-rule-card{background:#fff;border:1px solid rgba(107,47,0,.09);border-radius:22px;padding:22px;box-shadow:0 16px 38px rgba(107,47,0,.05);}
.email-rule-card.is-muted{opacity:.82;}
.email-rule-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:10px;}
.email-rule-top h5{margin:0 0 6px;font-size:24px;line-height:1.1;}
.email-rule-top p{margin:0;color:#81614a;max-width:760px;}
.email-rule-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;}
.email-rule-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:22px;margin-bottom:18px;}
.email-rule-col{background:#fffaf5;border:1px solid rgba(107,47,0,.08);border-radius:16px;padding:16px;}
.email-rule-col-meta{background:#fcf7f1;}
.email-rule-label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#8b6a4f;font-weight:800;margin-bottom:10px;}
.email-meta-list{margin:0;padding-left:18px;display:grid;gap:8px;color:#5b4330;}
.email-rule-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;}
.email-codes-box.pro{margin:0 28px 28px;padding:0 0 22px;border:1px solid rgba(107,47,0,.08);border-radius:20px;background:#fff;overflow:hidden;}
.email-editor-form{gap:18px;}
.email-modal-card{max-width:1100px;}
.email-editor-section{padding:18px;border:1px solid rgba(107,47,0,.08);border-radius:18px;background:#fffaf6;display:grid;gap:16px;}
.email-editor-section-title{font-weight:800;color:var(--brand-dark);font-size:20px;}
.email-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.email-recipient-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.email-recipient-grid label{display:flex;gap:8px;align-items:center;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid rgba(107,47,0,.08);}
.settings-form-pro{padding:0 28px 28px;}
@media (max-width: 1024px){.email-rule-body{grid-template-columns:1fr;}.email-tabbar{padding-left:16px;padding-right:16px;overflow-x:auto;}.email-tabpill{white-space:nowrap;}}
@media (max-width: 720px){.email-tabbar,.email-section-head,.email-list-grid,.settings-form-pro{padding-left:16px;padding-right:16px;}.email-rule-card{padding:16px;}.email-rule-top h5{font-size:20px;}.email-editor-grid,.email-recipient-grid{grid-template-columns:1fr;}.email-section-head{flex-direction:column;}.email-tabpill{padding:12px 18px;font-size:14px;}}


/* v54 stronger visual tabs for notifications_email */
.panel-card.email-hub-card{
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid rgba(229,199,164,.92);
    background: rgba(255,252,247,.96);
}
.panel-card.email-hub-card .email-tabbar{
    display:flex !important;
    align-items:flex-end;
    gap:12px !important;
    padding:22px 24px 0 !important;
    background: linear-gradient(180deg,#fff8f1 0%,#f8ecde 100%) !important;
    border-bottom:1px solid rgba(107,47,0,.12) !important;
}
.panel-card.email-hub-card .email-tabpill{
    appearance:none;
    text-decoration:none !important;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-height:54px;
    padding:0 22px !important;
    margin:0 !important;
    border-radius:18px 18px 0 0 !important;
    border:1px solid rgba(107,47,0,.18) !important;
    border-bottom:none !important;
    background: linear-gradient(180deg,#f8ecdf 0%,#eedcc8 100%) !important;
    color:#7a451d !important;
    font-size:15px;
    font-weight:800 !important;
    letter-spacing:.2px;
    line-height:1;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
    transition: transform .16s ease, background .18s ease, box-shadow .18s ease, color .18s ease;
    position:relative;
    top:1px;
}
.panel-card.email-hub-card .email-tabpill:hover{
    background: linear-gradient(180deg,#f4e3d0 0%,#e8d2bb 100%) !important;
    color:#5b300d !important;
    transform: translateY(-1px);
}
.panel-card.email-hub-card .email-tabpill.is-active,
.panel-card.email-hub-card .email-tabpill[aria-selected="true"]{
    background: linear-gradient(180deg,#f2c78c 0%,#e5ab63 100%) !important;
    color:#5b2a04 !important;
    border-color:#c98233 !important;
    box-shadow: 0 10px 18px rgba(107,47,0,.12), inset 0 1px 0 rgba(255,255,255,.45);
    z-index:2;
}
.panel-card.email-hub-card .email-tabpill.is-active::after,
.panel-card.email-hub-card .email-tabpill[aria-selected="true"]::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    height:2px;
    background:#fffaf5;
}
.panel-card.email-hub-card .email-section-head,
.panel-card.email-hub-card .email-list-grid,
.panel-card.email-hub-card .data-table-wrap,
.panel-card.email-hub-card .settings-form-pro,
.panel-card.email-hub-card .email-codes-box{
    padding-left:24px !important;
    padding-right:24px !important;
}
@media (max-width: 860px){
    .panel-card.email-hub-card .email-tabbar{
        overflow-x:auto;
        padding:18px 16px 0 !important;
        gap:10px !important;
    }
    .panel-card.email-hub-card .email-tabpill{
        white-space:nowrap;
        min-height:48px;
        padding:0 18px !important;
        font-size:14px;
    }
    .panel-card.email-hub-card .email-section-head,
    .panel-card.email-hub-card .email-list-grid,
    .panel-card.email-hub-card .data-table-wrap,
    .panel-card.email-hub-card .settings-form-pro,
    .panel-card.email-hub-card .email-codes-box{
        padding-left:16px !important;
        padding-right:16px !important;
    }
}


/* ===== Navegación KPIs especialista ===== */
.stat-card-link{
    text-decoration:none;
    display:block;
    position:relative;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.stat-card-link::after{
    content:"↘";
    position:absolute;
    top:16px;
    right:16px;
    font-size:16px;
    font-weight:900;
    color:var(--brand-muted);
}
.stat-card-link:hover{
    transform:translateY(-2px);
}
.dashboard-block-tools{
    gap:10px;
}
.dashboard-back-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:999px;
    text-decoration:none;
    font-size:16px;
    font-weight:900;
    color:var(--brand-dark);
    background:rgba(255,250,244,.96);
    border:1px solid rgba(229,199,164,.84);
    box-shadow:0 8px 18px rgba(48,20,0,.08);
    transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.dashboard-back-link:hover{
    transform:translateY(-1px);
    background:linear-gradient(180deg, #f2c485, #e6ac66);
    box-shadow:0 12px 22px rgba(78,35,0,.15);
}
#panel-kpis,
#panel-upcoming,
#panel-waiting,
#panel-inbox,
#panel-finalized{
    scroll-margin-top:24px;
}
@media (max-width: 900px){
    .dashboard-block-tools{
        width:auto;
        align-self:flex-start;
    }
}


/* ===== POS definitivo: base $0 + toggles elegantes ===== */
.charge-toggle-row{display:flex;gap:12px;align-items:center;margin-bottom:8px}
.charge-toggle-btn{width:100%;border:1px solid var(--brand-border);background:rgba(255,255,255,.92);color:var(--brand-dark);border-radius:18px;padding:14px 18px;font-weight:800;box-shadow:var(--shadow-soft);cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease}
.charge-toggle-btn:hover{transform:translateY(-1px)}
.charge-toggle-btn.is-active{background:linear-gradient(180deg,#8a4309,#6b2f00);color:#fffaf4;box-shadow:0 12px 22px rgba(107,47,0,.20);border-color:#6b2f00}
.pos-zero-alert{margin-bottom:14px}

.pos-tickets-wrap table{table-layout:fixed;width:100%}
.pos-tickets-wrap th:nth-child(1),.pos-tickets-wrap td:nth-child(1){width:84px}
.pos-tickets-wrap th:nth-child(3),.pos-tickets-wrap td:nth-child(3){width:210px;text-align:right}
.pos-tickets-wrap th:nth-child(4),.pos-tickets-wrap td:nth-child(4){width:110px;text-align:right;white-space:nowrap}

.ticket-service-cell{display:grid;gap:10px;min-width:0}
.ticket-service-title{font-weight:700;color:var(--brand-dark);line-height:1.2}
.ticket-manual-note{font-size:13px;font-weight:700;color:var(--brand-dark)}
.ticket-service-breakdown{display:grid;gap:8px;min-width:0}
.ticket-line-detail{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:12px;background:#fffaf4;border:1px solid rgba(229,199,164,.68);min-width:0}
.ticket-line-detail strong{white-space:nowrap}
.ticket-line-detail.is-empty{opacity:.85}
.ticket-total-cell{display:grid;gap:8px;justify-items:end;text-align:right}
.ticket-total-label{font-size:12px;font-weight:700;color:var(--brand-muted);letter-spacing:.04em;text-transform:uppercase}
.ticket-manual-inline{display:flex;justify-content:flex-end;width:100%}
.ticket-manual-base-input{width:170px !important;max-width:170px !important;min-width:170px !important;min-height:40px;padding:10px 12px;box-sizing:border-box}
@media (max-width:900px){
  .pos-tickets-wrap th:nth-child(3),.pos-tickets-wrap td:nth-child(3){width:170px}
  .ticket-manual-base-input{width:140px !important;max-width:140px !important;min-width:140px !important}
}


.customer-create-row{justify-content:flex-end;margin-top:-4px;}
.customer-summary-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.customer-summary-edit{
    width:34px;
    height:34px;
    border-radius:12px;
    border:1px solid rgba(107,47,0,.18);
    background:#fff;
    color:var(--brand-dark);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
    box-shadow:var(--shadow-soft);
    transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.customer-summary-edit:hover{
    transform:translateY(-1px);
    background:#fff8ef;
}



.dashboard-action-row{cursor:pointer;}
.dashboard-click-pill{background:#fff7ef;color:#8b5c2d;}
.dashboard-action-row:hover td{background:rgba(247,233,214,.92);}
