/*
 * QRCal Dashboard Override
 * Adapts Lezato template to QRCal branding (purple instead of orange)
 * and hides the Sasico public header on dashboard pages.
 */

/* ── QRCal Color Override (replaces Lezato orange #FD683E with #6B5FF0) ── */
:root {
    --primary:        #6B5FF0 !important;
    --primary-hover:  #5346D0 !important;
    --primary-dark:   #4A3DD4 !important;
    --rgba-primary-1: rgba(107,95,240,0.1) !important;
    --rgba-primary-2: rgba(107,95,240,0.2) !important;
    --rgba-primary-3: rgba(107,95,240,0.3) !important;
    --rgba-primary-4: rgba(107,95,240,0.4) !important;
    --rgba-primary-5: rgba(107,95,240,0.5) !important;
    --rgba-primary-6: rgba(107,95,240,0.6) !important;
    --rgba-primary-7: rgba(107,95,240,0.7) !important;
    --rgba-primary-8: rgba(107,95,240,0.8) !important;
    --rgba-primary-9: rgba(107,95,240,0.9) !important;
    --bs-primary:     #6B5FF0 !important;
}

/* Standalone WEBOG Media Library */
html.qr-dash .qrcal-media-page{max-width:1480px;padding-top:30px;padding-bottom:48px}
html.qr-dash .qrcal-media-upload{display:flex;align-items:center;gap:10px}
html.qr-dash .qrcal-media-upload label{margin:0;cursor:pointer}
html.qr-dash .qrcal-media-upload input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}
html.qr-dash .qrcal-media-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:14px 18px;border:1px solid #e9edf5;border-radius:16px;background:#fff;color:#64748b}
html.qr-dash .qrcal-media-toolbar strong{color:#0f172a}
html.qr-dash .qrcal-media-library{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
html.qr-dash .qrcal-media-library-card{overflow:hidden;border:1px solid #e8edf5;border-radius:20px;background:#fff;box-shadow:0 14px 35px rgba(15,23,42,.05)}
html.qr-dash .qrcal-media-library-image{aspect-ratio:4/3;padding:10px;background:#f4f6fa}
html.qr-dash .qrcal-media-library-image img{width:100%;height:100%;object-fit:contain;border-radius:13px}
html.qr-dash .qrcal-media-library-info{display:grid;gap:7px;padding:16px}
html.qr-dash .qrcal-media-library-info>strong{overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap}
html.qr-dash .qrcal-media-library-info>span,html.qr-dash .qrcal-media-library-info>label{color:#64748b;font-size:12px}
html.qr-dash .qrcal-media-url{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:7px}
html.qr-dash .qrcal-media-url input{min-width:0;height:42px;margin:0;padding:0 11px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;font-size:12px}
html.qr-dash .qrcal-media-url button,html.qr-dash .qrcal-media-delete{border:0;border-radius:10px;cursor:pointer}
html.qr-dash .qrcal-media-url button{background:rgba(107,95,240,.1);color:#6B5FF0}
html.qr-dash .qrcal-media-delete{padding:8px 11px;background:#fff1f2;color:#e11d48;font-size:12px;font-weight:800}
@media(max-width:1199px){html.qr-dash .qrcal-media-library{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){html.qr-dash .qrcal-media-library{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}html.qr-dash .qrcal-media-upload{align-items:stretch;flex-direction:column;width:100%}html.qr-dash .qrcal-media-toolbar{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){html.qr-dash .qrcal-media-library{grid-template-columns:1fr}}

/* ── Hide Sasico public nav on dashboard pages ── */
html.qr-dash .header-main,
html.qr-dash .mobile-menu,
html.qr-dash .menu-overlay,
html.qr-dash .search-popup,
html.qr-dash .search-overlay,
html.qr-dash #header-container,
html.qr-dash .cookie-popup,
html.qr-dash .cookie-popup-qr,
html.qr-dash #back-to-top {
    display: none !important;
}
html.qr-dash #preloader {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
html.qr-dash body {
    background: #F4F5F7 !important;
    padding: 0 !important;
    margin: 0 !important;
}
html.qr-dash #wrapper {
    padding: 0 !important;
    background: transparent !important;
}
html.qr-dash #titlebar {
    display: none !important;
}

/* ── Logo in nav-header (replace Lezato SVG with QRCal image) ── */
.nav-header .brand-logo .logo-abbr,
.nav-header .brand-logo .brand-title,
.nav-header .brand-logo .logo-compact {
    display: none !important;
}
.nav-header .brand-logo .qrcal-logo {
    display: block !important;
    height: 32px;
    width: 145px;
    max-width: 145px;
    object-fit: contain;
    object-position: center;
}

html.qr-dash .qrcal-webog-nav-first {
    position: relative;
    margin-top: 25px !important;
}
html.qr-dash .qrcal-webog-nav-first::before {
    content: "WEBOG";
    display: block;
    margin: 0 28px 7px;
    color: #a1a8b5;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .16em;
}
html.qr-dash .qrcal-webog-nav > a {
    background: rgba(107,95,240,.055);
    border: 1px solid rgba(107,95,240,.09);
}

/* ── Gradient backgrounds using QRCal purple ── */
.bg-gradient-1 { background: linear-gradient(135deg, #6B5FF0, #8B7AF5) !important; }
.bg-gradient-2 { background: linear-gradient(135deg, #4A3DD4, #6B5FF0) !important; }

/* ── Buttons ── */
.btn-primary {
    background-color: #6B5FF0 !important;
    border-color: #6B5FF0 !important;
}
.btn-primary:hover {
    background-color: #5346D0 !important;
    border-color: #5346D0 !important;
}
.btn-outline-primary {
    color: #6B5FF0 !important;
    border-color: #6B5FF0 !important;
}
.btn-outline-primary:hover {
    background-color: #6B5FF0 !important;
    border-color: #6B5FF0 !important;
    color: #fff !important;
}

/* ── Nav sidebar active item ── */
.deznav .metismenu > li.mm-active > a,
.deznav .metismenu > li:hover > a {
    color: #6B5FF0 !important;
    background: rgba(107,95,240,0.1) !important;
}
.deznav .metismenu > li.mm-active > a i,
.deznav .metismenu > li:hover > a i {
    color: #6B5FF0 !important;
}

/* ── Header badge / notification dot ── */
.badge-primary { background: #6B5FF0 !important; }

/* ── Peity donut colors ── */
.donut1[data-peity] { color: #6B5FF0; }

/* ── Fun facts / metric cards ── */
.card-metric-icon {
    width: 56px; height: 56px;
    border-radius: 12px;
    background: rgba(107,95,240,0.12);
    display: flex; align-items: center; justify-content: center;
    font-size: 24px; color: #6B5FF0;
}

/* ── Dashboard box / existing QRCal class compatibility ── */
.dashboard-box {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e9ecef;
    margin-bottom: 24px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
.dashboard-box .headline {
    padding: 16px 20px;
    border-bottom: 1px solid #f0f0f0;
    display: flex; align-items: center;
}
.dashboard-box .headline h3 {
    font-size: 15px; font-weight: 600;
    margin: 0; color: #333;
}
.dashboard-box .content.with-padding { padding: 20px; }

/* ── Submit fields (forms in dashboard) ── */
.submit-field { margin-bottom: 20px; }
.submit-field h5 {
    font-size: 14px; font-weight: 600;
    color: #374151; margin-bottom: 8px;
}
.submit-field input.with-border,
.submit-field select.with-border,
.submit-field textarea.with-border {
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    height: 44px; padding: 0 14px !important;
    font-size: 14px; color: #374151;
    background: #fff !important;
    box-shadow: none !important;
    transition: border-color .2s;
}
.submit-field input.with-border:focus,
.submit-field select.with-border:focus,
.submit-field textarea.with-border:focus {
    border-color: #6B5FF0 !important;
    box-shadow: 0 0 0 3px rgba(107,95,240,.1) !important;
    outline: none !important;
}
.submit-field textarea.with-border { height: auto; padding: 10px 14px !important; }

/* ── Notification (error/success boxes) ── */
.notification.error {
    background: #FEF2F2; color: #DC2626;
    border-left: 3px solid #DC2626;
    border-radius: 8px; padding: 12px 16px;
    margin-bottom: 16px; font-size: 14px;
}
.notification.success {
    background: #F0FDF4; color: #16A34A;
    border-left: 3px solid #16A34A;
    border-radius: 8px; padding: 12px 16px;
    margin-bottom: 16px; font-size: 14px;
}

/* ── Buttons (existing QRCal classes mapped to Lezato style) ── */
.button.ripple-effect {
    background: #6B5FF0 !important;
    border-color: #6B5FF0 !important;
    border-radius: 8px !important;
}
.button.ripple-effect:hover { background: #5346D0 !important; }
.button.dark.ripple-effect { background: #374151 !important; border-color: #374151 !important; }
.button.gray.ripple-effect { background: #9CA3AF !important; border-color: #9CA3AF !important; }

/* ── Page title section ── */
.qr-page-title {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 24px; flex-wrap: wrap; gap: 8px;
}
.qr-page-title h4 {
    font-size: 20px; font-weight: 700; color: #111827; margin: 0;
}
.qr-page-title .breadcrumb {
    background: none; padding: 0; margin: 0; font-size: 13px;
}
.qr-page-title .breadcrumb-item + .breadcrumb-item::before { color: #9CA3AF; }
.qr-page-title .breadcrumb-item a { color: #6B5FF0; text-decoration: none; }
.qr-page-title .breadcrumb-item.active { color: #6B7280; }

/* ── Metric cards ── */
.qr-metric-card {
    background: #fff;
    border-radius: 12px;
    padding: 20px 22px;
    border: 1px solid #F3F4F6;
    box-shadow: 0 2px 12px rgba(0,0,0,.04);
    display: flex; align-items: center; gap: 16px;
    margin-bottom: 24px;
}
.qr-metric-card .qm-icon {
    width: 52px; height: 52px; border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    font-size: 22px; flex-shrink: 0;
}
.qr-metric-card .qm-icon.purple { background: rgba(107,95,240,.12); color: #6B5FF0; }
.qr-metric-card .qm-icon.green  { background: rgba(16,185,129,.12); color: #10B981; }
.qr-metric-card .qm-icon.blue   { background: rgba(59,130,246,.12); color: #3B82F6; }
.qr-metric-card .qm-icon.orange { background: rgba(245,158,11,.12); color: #F59E0B; }
.qr-metric-card .qm-label { font-size: 13px; color: #6B7280; margin-bottom: 4px; }
.qr-metric-card .qm-value { font-size: 28px; font-weight: 700; color: #111827; line-height: 1; }

/* ── Table styles ── */
.table { font-size: 14px; }
.table th { font-weight: 600; color: #374151; border-top: none; font-size: 13px; }
.table td { color: #4B5563; vertical-align: middle; }

/* ── Footer inside dashboard ── */
.footer { background: #fff; border-top: 1px solid #F3F4F6; padding: 16px 24px; }
.footer .copyright p { font-size: 13px; color: #9CA3AF; margin: 0; }

/* ── Compact header for dashboard ── */
.header { box-shadow: 0 1px 4px rgba(0,0,0,.06) !important; }
.header-profile .nav-link { display: flex !important; align-items: center !important; }
.header-profile .dropdown-menu { min-width: 160px; border-radius: 10px; border: 1px solid #E5E7EB; box-shadow: 0 8px 24px rgba(0,0,0,.1); padding: 6px; }
.header-profile .dropdown-item { border-radius: 8px; font-size: 14px; padding: 9px 14px; display: flex; align-items: center; gap: 10px; color: #374151; }
.header-profile .dropdown-item:hover { background: rgba(107,95,240,.08); color: #6B5FF0; }

/* ── Responsive mobile trigger ── */
.dashboard-responsive-nav-trigger { display: none; }
@media (max-width: 767px) {
    .dashboard-responsive-nav-trigger { display: flex; }
}

/* ── Color picker hidden globally ── */
.qr-restaurant-color-wrapper {
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.qr-restaurant-color-wrapper .bm-color-picker,
.qr-fg-color-wrapper .bm-color-picker,
.qr-bg-color-wrapper .bm-color-picker,
.qr-text-color-wrapper .bm-color-picker {
    width: 46px;
    height: 46px;
    min-width: 46px;
    border: 2px solid #e4ddff;
    border-radius: 14px;
    background: linear-gradient(135deg, #6B5FF0, #8B7AF5);
    box-shadow: 0 10px 24px rgba(107,95,240,.16);
}

.qr-restaurant-color-wrapper .pcr-button,
.qr-fg-color-wrapper .pcr-button,
.qr-bg-color-wrapper .pcr-button,
.qr-text-color-wrapper .pcr-button {
    border-radius: 14px !important;
}

.qrcal-restaurant-brand-row {
    display: flex;
    align-items: flex-end;
    gap: 14px;
}

.qrcal-restaurant-color-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 110px;
}

.qrcal-restaurant-color-label {
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #6B5FF0;
}

.qrcal-restaurant-color-block {
    padding: 18px 20px;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #faf9ff 100%);
    border: 1px solid #ebe8ff;
}

.qrcal-restaurant-color-inline {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.qrcal-restaurant-color-inline small {
    margin: 0;
    color: #64748b;
    line-height: 1.6;
}

/* ── Language switcher hidden ── */
.language-switcher, .header-widget .language-switcher { display: none !important; }

html.qr-dash body {
    background: #f7f8fc !important;
    color: #1e293b;
}

html.qr-dash .nav-header,
html.qr-dash .header,
html.qr-dash .deznav,
html.qr-dash .content-body,
html.qr-dash .footer,
html.qr-dash .card,
html.qr-dash .btn,
html.qr-dash .dropdown-menu {
    font-family: "Nunito Sans", var(--body-font), sans-serif !important;
}

html.qr-dash .nav-header {
    background: #fff !important;
    border-right: 1px solid #eef2f7;
}

html.qr-dash .header {
    background: rgba(255,255,255,.92) !important;
    backdrop-filter: blur(12px);
}

html.qr-dash .btn-primary,
html.qr-dash .button.ripple-effect {
    background: #6B5FF0 !important;
    border-color: #6B5FF0 !important;
    color: #fff !important;
}

html.qr-dash .btn-outline-primary {
    color: #6B5FF0 !important;
    border-color: #6B5FF0 !important;
}

html.qr-dash .btn-outline-primary:hover {
    background: #6B5FF0 !important;
    color: #fff !important;
}

html.qr-dash .header .header-content {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

html.qr-dash .header-left {
    display: flex;
    align-items: center;
    min-width: 0;
    padding-left: 56px;
}

html.qr-dash .qrcal-header-intro-main {
    padding-left: 22px;
    max-width: calc(100vw - 520px);
}

html.qr-dash .qrcal-header-intro h4 {
    margin: 0;
    font-size: 22px;
    font-weight: 800;
    color: #0f172a;
}

html.qr-dash .qrcal-eyebrow {
    display: inline-block;
    margin-bottom: 6px;
    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 800;
    color: #6B5FF0;
}

html.qr-dash .header-profile img {
    border-radius: 16px;
    object-fit: cover;
    border: 2px solid rgba(107,95,240,.18);
    background: #f3f4f6;
}

html.qr-dash .qrcal-side-nav > li > a {
    display: flex !important;
    align-items: center;
    gap: 12px;
    margin: 6px 14px;
    padding: 12px 14px !important;
    border-radius: 16px !important;
    color: #475569 !important;
    font-weight: 700;
}

/* Keep the complete restaurant navigation visible on common laptop screens. */
html.qr-dash .deznav .deznav-scroll {
    padding-bottom: 18px !important;
}

html.qr-dash .qrcal-side-nav {
    padding: 8px 12px 0 !important;
}

html.qr-dash .qrcal-side-nav > li > a {
    min-height: 46px;
    margin: 3px 0 !important;
    padding: 10px 14px !important;
    gap: 11px;
    border-radius: 14px !important;
    line-height: 1.2;
}

html.qr-dash .qrcal-side-nav > li > a .nav-text {
    display: block;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    font-size: 14px;
    line-height: 1.25;
}

html.qr-dash .qrcal-webog-nav-first {
    margin-top: 14px !important;
}

html.qr-dash .qrcal-webog-nav-first::before {
    margin: 0 14px 5px;
}

html.qr-dash .qrcal-side-cta {
    margin: 14px 12px 0;
    padding: 14px !important;
}

@media (max-height: 820px) and (min-width: 1200px) {
    html.qr-dash .qrcal-side-nav > li > a {
        min-height: 42px;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }
    html.qr-dash .qrcal-side-cta {
        display: none !important;
    }
}

html.qr-dash .qrcal-side-nav > li > a i {
    width: 18px;
    text-align: center;
    font-size: 18px !important;
    color: #64748b !important;
}

html.qr-dash .deznav .metismenu > li.mm-active > a,
html.qr-dash .deznav .metismenu > li > a.qrcal-nav-current,
html.qr-dash .deznav .metismenu > li > a:hover {
    background: linear-gradient(135deg, #6B5FF0, #8B7AF5) !important;
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(107,95,240,.22);
}

html.qr-dash .deznav .metismenu > li.mm-active > a i,
html.qr-dash .deznav .metismenu > li > a.qrcal-nav-current i,
html.qr-dash .deznav .metismenu > li > a:hover i {
    color: #fff !important;
}

html.qr-dash .qrcal-side-cta {
    margin: 22px 18px 0;
    padding: 18px 18px 16px !important;
    border-radius: 20px;
    background: linear-gradient(135deg, #6B5FF0, #8B7AF5);
    color: #fff;
}

html.qr-dash .qrcal-side-cta h5,
html.qr-dash .qrcal-side-cta p {
    color: #fff !important;
}

/* Custom-domain page: one dashboard shell, no public-site/footer fragments. */
html.qr-dash .qrcal-domain-page {
    max-width: 1320px;
    padding-top: 30px;
    padding-bottom: 48px;
}

html.qr-dash .qrcal-domain-grid {
    align-items: flex-start;
    row-gap: 24px;
}

html.qr-dash .qrcal-domain-card {
    overflow: hidden;
    margin: 0;
    border: 1px solid #e9edf5;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .06);
}

html.qr-dash .qrcal-domain-card .card-header {
    padding: 24px 26px 20px;
    border: 0;
    border-bottom: 1px solid #eef2f7;
    background: #fff;
}

html.qr-dash .qrcal-domain-card .card-header > div {
    position: relative;
    padding-left: 56px;
}

html.qr-dash .qrcal-domain-card .card-header h3 {
    margin: 0 0 4px;
    color: #0f172a;
    font-size: 19px;
    font-weight: 800;
}

html.qr-dash .qrcal-domain-card .card-header p {
    margin: 0;
    color: #64748b;
    line-height: 1.55;
}

html.qr-dash .qrcal-domain-icon {
    position: absolute;
    left: 0;
    top: 0;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 13px;
    background: rgba(107,95,240,.1);
    color: #6B5FF0;
    font-size: 19px;
}

html.qr-dash .qrcal-domain-icon.is-success {
    background: rgba(16,185,129,.1);
    color: #059669;
}

html.qr-dash .qrcal-domain-card .card-body {
    padding: 26px;
}

html.qr-dash .qrcal-domain-card .submit-field {
    margin-bottom: 20px;
}

html.qr-dash .qrcal-domain-card input.with-border {
    min-height: 50px;
    border-radius: 12px;
}

html.qr-dash .qrcal-domain-status {
    display: inline-flex;
    margin-top: 8px;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(16,185,129,.1);
    color: #047857;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

html.qr-dash .qrcal-domain-steps {
    margin: 0 0 24px;
    padding-left: 22px;
    color: #475569;
}

html.qr-dash .qrcal-domain-steps li {
    margin-bottom: 10px;
    padding-left: 4px;
    line-height: 1.55;
}

html.qr-dash .qrcal-domain-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

html.qr-dash .qrcal-domain-actions form {
    margin: 0;
}

@media (max-width: 767px) {
    html.qr-dash .qrcal-domain-page {
        padding-top: 18px;
    }
    html.qr-dash .qrcal-domain-card,
    html.qr-dash .qrcal-domain-card .card-header,
    html.qr-dash .qrcal-domain-card .card-body {
        border-radius: 18px;
    }
    html.qr-dash .qrcal-domain-card .card-header,
    html.qr-dash .qrcal-domain-card .card-body {
        padding: 20px;
    }
}

html.qr-dash .qrcal-page-titles {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 24px;
}

html.qr-dash .qrcal-page-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 24px;
    padding: 24px 28px;
    border-radius: 28px;
    background: #fff;
    border: 1px solid #eef2f7;
    box-shadow: 0 18px 40px rgba(15, 23, 42, .04);
}

html.qr-dash .qrcal-page-hero > div:first-child,
html.qr-dash .qrcal-page-hero .qrcal-title-actions,
html.qr-dash .qrcal-chart-card .card-header,
html.qr-dash .qrcal-summary-card .card-header,
html.qr-dash .qrcal-category-header {
    position: relative;
    z-index: 2;
}

html.qr-dash .qrcal-page-copy {
    margin: 8px 0 0;
    color: #64748b;
    font-size: 15px;
    line-height: 1.6;
}

html.qr-dash .qrcal-page-titles h2 {
    margin: 6px 0 0;
    font-size: 30px;
    font-weight: 800;
    color: #0f172a;
}

html.qr-dash .qrcal-title-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

html.qr-dash .qrcal-hero-panel,
html.qr-dash .qrcal-detail-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    gap: 24px;
    padding: 28px;
    margin-bottom: 24px;
    border-radius: 28px;
    background:
        radial-gradient(circle at top right, rgba(107,95,240,.16), transparent 32%),
        linear-gradient(135deg, #ffffff, #f8f7ff);
    border: 1px solid rgba(107,95,240,.12);
    box-shadow: 0 22px 50px rgba(15, 23, 42, .06);
}

html.qr-dash .qrcal-hero-panel h3,
html.qr-dash .qrcal-detail-summary h3 {
    margin: 0 0 10px;
    font-size: 30px;
    font-weight: 800;
    line-height: 1.15;
    color: #0f172a;
}

html.qr-dash .qrcal-hero-panel p,
html.qr-dash .qrcal-detail-summary p {
    margin: 0;
    color: #64748b;
    font-size: 15px;
    line-height: 1.7;
}

html.qr-dash .qrcal-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-content: flex-start;
}

html.qr-dash .qrcal-hero-badges span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 14px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #e4ddff;
    color: #4c3fcf;
    font-size: 13px;
    font-weight: 700;
}

html.qr-dash .qrcal-stat-card,
html.qr-dash .qrcal-summary-card,
html.qr-dash .qrcal-chart-card,
html.qr-dash .qrcal-category-card {
    border: 1px solid #eef2f7 !important;
    border-radius: 24px !important;
    box-shadow: 0 18px 40px rgba(15, 23, 42, .05) !important;
}

html.qr-dash .qrcal-chart-wrap {
    position: relative;
    height: 320px;
    overflow: hidden;
}

html.qr-dash .qrcal-chart-wrap canvas {
    display: block !important;
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    height: 320px !important;
}

html.qr-dash .qrcal-stat-card .card-body {
    padding: 24px;
}

html.qr-dash .qrcal-stat-icon {
    width: 52px;
    height: 52px;
    margin-bottom: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: rgba(107,95,240,.12);
    color: #6B5FF0;
    font-size: 22px;
}

html.qr-dash .qrcal-stat-label {
    display: block;
    margin-bottom: 8px;
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
}

html.qr-dash .qrcal-stat-card h3 {
    margin: 0 0 8px;
    font-size: 34px;
    font-weight: 900;
    color: #0f172a;
}

html.qr-dash .qrcal-stat-card p,
html.qr-dash .qrcal-card-subtitle {
    margin: 0;
    color: #64748b;
}

html.qr-dash .qrcal-pill {
    display: inline-flex;
    align-items: center;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(107,95,240,.08);
    color: #5346D0;
    font-size: 12px;
    font-weight: 800;
}

html.qr-dash .qrcal-summary-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid #eef2f7;
    gap: 14px;
}

html.qr-dash .qrcal-chart-card .card-header,
html.qr-dash .qrcal-summary-card .card-header {
    background: #fff !important;
}

html.qr-dash .qrcal-chart-card .card-title,
html.qr-dash .qrcal-summary-card .card-title,
html.qr-dash .qrcal-category-header h3 {
    color: #0f172a !important;
    font-weight: 800;
}

html.qr-dash .qrcal-chart-card .card-body,
html.qr-dash .qrcal-summary-card .card-body {
    position: relative;
    z-index: 2;
    background: #fff;
}

html.qr-dash .qrcal-summary-line:last-child {
    border-bottom: 0;
}

html.qr-dash .qrcal-summary-actions,
html.qr-dash .qrcal-links-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 18px;
}

html.qr-dash .qrcal-links-list a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 15px;
    border-radius: 16px;
    background: #f8fafc;
    color: #0f172a;
    font-weight: 700;
}

html.qr-dash .qrcal-links-list a i,
html.qr-dash .qrcal-stat-icon i,
html.qr-dash .qrcal-side-nav i {
    line-height: 1;
}

html.qr-dash .qrcal-category-stack {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

html.qr-dash .qrcal-category-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 24px 26px 18px;
    background: transparent;
    border-bottom: 1px solid #eef2f7;
}

html.qr-dash .qrcal-category-kicker {
    display: inline-block;
    margin-bottom: 8px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #6B5FF0;
}

html.qr-dash .qrcal-category-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

html.qr-dash .qrcal-category-card.qrcal-category-card-editing {
    border-color: #d9d5ff !important;
    box-shadow: 0 22px 48px rgba(107, 95, 240, .14) !important;
}

html.qr-dash .qrcal-category-card .card-body {
    padding: 24px 26px 26px;
}

html.qr-dash .qrcal-inline-menu-editor {
    margin-top: 24px !important;
    background: linear-gradient(180deg, #fcfbff 0%, #ffffff 100%);
}

html.qr-dash .qrcal-inline-menu-editor .headline.small {
    border-bottom: 1px solid #ece9ff;
}

html.qr-dash .qrcal-inline-menu-editor .input-file img {
    width: 100%;
    max-width: 220px;
    border-radius: 20px;
    object-fit: cover;
    box-shadow: 0 18px 36px rgba(15, 23, 42, .08);
}

html.qr-dash .qrcal-inline-editor-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
}

html.qr-dash .qrcal-product-card {
    overflow: hidden;
    border: 1px solid #eef2f7 !important;
    border-radius: 22px !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .05) !important;
    transition: transform .22s ease, box-shadow .22s ease;
}

html.qr-dash .qrcal-product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 38px rgba(15, 23, 42, .09) !important;
}

html.qr-dash .qrcal-product-media {
    position: relative;
    overflow: hidden;
}

html.qr-dash .qrcal-product-media img {
    height: 220px;
    object-fit: cover;
}

html.qr-dash .qrcal-product-overlay {
    position: absolute;
    top: 14px;
    right: 14px;
    display: flex;
    gap: 8px;
}

html.qr-dash .qrcal-product-overlay-btn {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255,255,255,.96);
    color: #0f172a;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .12);
}

html.qr-dash .qrcal-product-overlay-btn.is-danger {
    color: #dc2626;
}

html.qr-dash .qrcal-product-content h4,
html.qr-dash .qrcal-product-content h4 a {
    font-size: 18px;
    font-weight: 800;
    color: #0f172a;
}

html.qr-dash .qrcal-product-copy {
    min-height: 44px;
    margin-bottom: 12px;
    color: #64748b;
    font-size: 13px;
    line-height: 1.6;
}

html.qr-dash .qrcal-product-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
    color: #64748b;
    font-size: 13px;
}

html.qr-dash .qrcal-product-meta .price {
    color: #6B5FF0;
    font-size: 20px;
    font-weight: 900;
}

html.qr-dash .qrcal-product-status {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

html.qr-dash .qrcal-product-status.is-ready {
    background: rgba(107,95,240,.12);
    color: #5346D0;
}

html.qr-dash .qrcal-product-status.is-draft {
    background: rgba(107,95,240,.14);
    color: #5b4ee5;
}

html.qr-dash .qrcal-nutrition-inline,
html.qr-dash .qrcal-product-warning {
    margin-bottom: 14px;
    padding: 11px 12px;
    border-radius: 14px;
    font-size: 12px;
}

html.qr-dash .qrcal-nutrition-inline {
    background: #f8f7ff;
    color: #4c3fcf;
}

html.qr-dash .qrcal-nutrition-inline strong {
    color: #6B5FF0;
}

html.qr-dash .qrcal-product-warning {
    background: #f5f3ff;
    color: #5b21b6;
}

html.qr-dash .qrcal-product-cta {
    border-radius: 14px !important;
    font-weight: 800 !important;
}

html.qr-dash .qrcal-detail-media {
    min-height: 360px;
    border-radius: 24px;
    overflow: hidden;
    background: #fff;
    box-shadow: inset 0 0 0 1px #eef2f7;
}

html.qr-dash .qrcal-detail-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

html.qr-dash .qrcal-detail-summary {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

html.qr-dash .qrcal-detail-price {
    font-size: 34px;
    font-weight: 900;
    color: #6B5FF0;
}

html.qr-dash .recipe-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

html.qr-dash .recipe-stat-card {
    padding: 16px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #eef2f7;
}

html.qr-dash .recipe-stat-label,
html.qr-dash .recipe-stat-meta {
    color: #64748b;
}

html.qr-dash .recipe-stat-value {
    display: block;
    margin: 6px 0;
    font-size: 28px;
    font-weight: 900;
    color: #0f172a;
}

html.qr-dash .recipe-step-box,
html.qr-dash .recipe-callout {
    border-radius: 18px;
    background: #f8f7ff;
    border: 1px solid #ddd6fe;
    color: #4c1d95;
}

html.qr-dash .ingredient-section-label {
    margin-bottom: 14px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #6B5FF0;
}

html.qr-dash .nutrition-panel,
html.qr-dash .nutrition-card-grid,
html.qr-dash .ingredient-form-shell {
    gap: 16px;
}

html.qr-dash .variant-options-form .row {
    row-gap: 8px;
}

html.qr-dash .variant-options-form .submit-field {
    margin-bottom: 12px;
}

html.qr-dash .variant-options-form .bootstrap-select,
html.qr-dash .variant-options-form .dropdown-toggle,
html.qr-dash #add-variant-option .bootstrap-select,
html.qr-dash #add-variant-option .dropdown-toggle {
    width: 100% !important;
}

html.qr-dash .variant-options-form .bootstrap-select .dropdown-toggle,
html.qr-dash #add-variant-option .bootstrap-select .dropdown-toggle {
    height: 44px;
    border-radius: 12px !important;
    border: 1px solid #d1d5db !important;
    background: #fff !important;
}

html.qr-dash .qrcal-primary-workbox {
    overflow: visible;
}

html.qr-dash .ingredient-inline-picker {
    margin-bottom: 22px;
    padding: 18px 20px;
    border-radius: 20px;
    background: #f8f7ff;
    border: 1px solid #ddd6fe;
}

html.qr-dash .ingredient-inline-picker-head h4 {
    margin: 0 0 6px;
    font-size: 18px;
    font-weight: 800;
    color: #0f172a;
}

html.qr-dash .ingredient-inline-picker-head p {
    margin: 0 0 16px;
    color: #64748b;
}

html.qr-dash .ingredient-inline-picker .bootstrap-select,
html.qr-dash .ingredient-inline-picker .dropdown-toggle,
html.qr-dash #alege-ingredient .bootstrap-select,
html.qr-dash #alege-ingredient .dropdown-toggle {
    width: 100% !important;
}

html.qr-dash .ingredient-inline-picker .bootstrap-select .dropdown-toggle,
html.qr-dash #alege-ingredient .bootstrap-select .dropdown-toggle {
    height: 44px;
    border-radius: 10px !important;
    border: 1px solid #d1d5db !important;
    background: #fff !important;
}

html.qr-dash .content-body .bootstrap-select,
html.qr-dash .content-body .bootstrap-select > .dropdown-toggle,
html.qr-dash .content-body .selectpicker {
    width: 100% !important;
}

html.qr-dash .content-body .bootstrap-select > .dropdown-toggle {
    height: 44px;
    border-radius: 12px !important;
    border: 1px solid #d1d5db !important;
    background: #fff !important;
    padding: 0 14px !important;
    box-shadow: none !important;
}

html.qr-dash .content-body .bootstrap-select .filter-option,
html.qr-dash .content-body .bootstrap-select .dropdown-toggle .filter-option {
    display: flex;
    align-items: center;
    height: 100%;
    color: #374151;
}

html.qr-dash .content-body .bootstrap-select .dropdown-menu {
    border-radius: 14px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 18px 40px rgba(15,23,42,.12);
}

html.qr-dash .content-body input.with-border[readonly] {
    background: #f8fafc !important;
    color: #64748b !important;
    cursor: default;
}

html.qr-dash #alege-ingredient .dropdown-menu,
html.qr-dash .ingredient-inline-picker .dropdown-menu {
    max-height: 320px !important;
    overflow-y: auto !important;
}

html.qr-dash .qrcal-large-popup {
    width: min(960px, calc(100vw - 40px));
    max-width: 960px;
}

html.qr-dash .qrcal-large-popup .popup-tab-content {
    max-height: calc(100vh - 180px);
    overflow-y: auto;
    overflow-x: visible;
}

html.qr-dash #alege-ingredient,
html.qr-dash #add-reusable-preparation-dialog {
    overflow: visible !important;
}

html.qr-dash #add-reusable-preparation-dialog .bootstrap-select .dropdown-menu,
html.qr-dash #alege-ingredient .bootstrap-select .dropdown-menu {
    max-height: 360px !important;
    overflow-y: auto !important;
}

html.qr-dash .reusable-preparation-item {
    padding: 16px;
    border-radius: 18px;
    border: 1px solid #e5e7eb;
    background: #fbfbff;
    margin-bottom: 14px;
}

html.qr-dash .reusable-preparation-source {
    width: 100%;
    min-height: 48px;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid #d1d5db;
    background: #fff;
    color: #374151;
    box-shadow: none;
}

html.qr-dash .qrcal-inline-editor {
    border-radius: 24px;
    border: 1px solid #ebe8ff;
    box-shadow: 0 16px 34px rgba(15, 23, 42, .06);
}

html.qr-dash .dashboard-headline .headline-right {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    position: static !important;
    top: auto !important;
    right: auto !important;
    z-index: auto !important;
}

html.qr-dash .dashboard-headline .headline-right .button {
    margin: 0 !important;
}

html.qr-dash .qrcal-inline-menu-editor label.switch {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    color: #0f172a !important;
}

html.qr-dash .qrcal-inline-menu-editor .switch-button {
    background-color: #cbd5e1 !important;
    border: 1px solid #cbd5e1;
}

html.qr-dash .qrcal-inline-menu-editor .switch-button:before {
    background: #ffffff !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .18);
}

html.qr-dash .qrcal-inline-menu-editor input:checked + .switch-button {
    background-color: #6B5FF0 !important;
    border-color: #6B5FF0 !important;
}

html.qr-dash .ingredient-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

html.qr-dash .ingredient-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: #f8f7ff;
    border: 1px solid #ddd6fe;
    color: #312e81;
}

html.qr-dash button.ingredient-chip {
    appearance: none;
    cursor: pointer;
    box-shadow: none;
}

html.qr-dash .qrcal-library-accordion {
    border-radius: 28px;
    border: 1px solid #ddd6fe;
    background: #fff;
    box-shadow: 0 14px 30px rgba(107, 95, 240, .08);
    overflow: hidden;
    position: relative;
}

html.qr-dash .qrcal-library-accordion-premium::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 28px;
    padding: 1px;
    background: linear-gradient(135deg, rgba(107,95,240,.28), rgba(139,92,246,.08));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

html.qr-dash .qrcal-library-accordion-summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 22px;
    cursor: pointer;
    background: linear-gradient(135deg, #fbfaff 0%, #f1ecff 52%, #ebe6ff 100%);
    transition: background .22s ease;
}

html.qr-dash .qrcal-library-accordion-summary::-webkit-details-marker {
    display: none;
}

html.qr-dash .qrcal-library-accordion-summary:hover {
    background: linear-gradient(135deg, #f8f6ff 0%, #eee8ff 52%, #e7e1ff 100%);
}

html.qr-dash .qrcal-library-accordion-summary-main {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

html.qr-dash .qrcal-library-thumb {
    width: 70px;
    height: 70px;
    border-radius: 16px;
    overflow: hidden;
    flex-shrink: 0;
    border: 1px solid #e9ddff;
    background: #fff;
}

html.qr-dash .qrcal-library-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

html.qr-dash .qrcal-library-accordion-title {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

html.qr-dash .qrcal-library-accordion-name {
    font-size: 17px;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

html.qr-dash .qrcal-library-accordion-subtitle {
    font-size: 13px;
    color: #6b7280;
    line-height: 1.35;
}

html.qr-dash .qrcal-library-accordion-side {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-shrink: 0;
}

html.qr-dash .qrcal-library-accordion-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #6B5FF0 0%, #8B5CF6 100%);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .01em;
    box-shadow: 0 10px 20px rgba(107, 95, 240, .22);
}

html.qr-dash .qrcal-library-accordion-meta {
    font-size: 13px;
    color: #5b4bc4;
    font-weight: 700;
    letter-spacing: .01em;
}

html.qr-dash .qrcal-library-accordion-arrow {
    width: 12px;
    height: 12px;
    border-right: 2px solid #6B5FF0;
    border-bottom: 2px solid #6B5FF0;
    transform: rotate(45deg);
    transition: transform .22s ease, margin-top .22s ease;
    margin-top: -4px;
}

html.qr-dash .qrcal-library-accordion[open] .qrcal-library-accordion-summary {
    border-bottom: 1px solid #ebe8ff;
}

html.qr-dash .qrcal-library-accordion[open] .qrcal-library-accordion-arrow {
    transform: rotate(225deg);
    margin-top: 2px;
}

html.qr-dash .qrcal-library-accordion-body {
    background: #fff;
}

html.qr-dash .qrcal-library-accordion-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

html.qr-dash .qrcal-library-inline-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 18px;
    color: #475569;
    font-size: 13px;
}

html.qr-dash .qrcal-library-nutrition-lines {
    display: grid;
    gap: 6px;
    margin-top: 10px;
}

html.qr-dash .ingredient-chip strong {
    color: #0f172a;
}

html.qr-dash .ingredient-form-shell {
    padding: 18px 20px 10px;
    border-radius: 22px;
    background: linear-gradient(180deg, #ffffff 0%, #faf9ff 100%);
    border: 1px solid #ebe8ff;
}

html.qr-dash .qrcal-recipe-builder-content {
    display: grid;
    gap: 18px;
}

html.qr-dash .qrcal-recipe-builder-section {
    padding: 4px 2px 0;
}

html.qr-dash .qrcal-ingredient-accordion-list {
    display: grid;
    gap: 16px;
}

html.qr-dash .qrcal-ingredient-accordion {
    border-radius: 28px;
    border: 1px solid #ddd6fe;
    background: #fff;
    box-shadow: 0 14px 30px rgba(107, 95, 240, .08);
    overflow: hidden;
}

html.qr-dash .qrcal-ingredient-accordion-summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 22px;
    cursor: pointer;
    background: linear-gradient(135deg, #fbfaff 0%, #f1ecff 52%, #ebe6ff 100%);
    transition: background .22s ease, transform .22s ease, box-shadow .22s ease;
}

html.qr-dash .qrcal-ingredient-accordion-summary::-webkit-details-marker {
    display: none;
}

html.qr-dash .qrcal-ingredient-accordion-summary:hover {
    background: linear-gradient(135deg, #f8f6ff 0%, #eee8ff 52%, #e7e1ff 100%);
}

html.qr-dash .qrcal-ingredient-accordion-title {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

html.qr-dash .qrcal-ingredient-accordion-name {
    font-size: 17px;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

html.qr-dash .qrcal-ingredient-accordion-subtitle {
    font-size: 13px;
    color: #6b7280;
    line-height: 1.35;
}

html.qr-dash .qrcal-ingredient-accordion-side {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-shrink: 0;
}

html.qr-dash .qrcal-ingredient-accordion-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #6B5FF0 0%, #8B5CF6 100%);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .01em;
    box-shadow: 0 10px 20px rgba(107, 95, 240, .22);
}

html.qr-dash .qrcal-ingredient-accordion-hint {
    font-size: 13px;
    color: #5b4bc4;
    font-weight: 700;
    letter-spacing: .01em;
}

html.qr-dash .qrcal-ingredient-accordion-arrow {
    width: 12px;
    height: 12px;
    border-right: 2px solid #6B5FF0;
    border-bottom: 2px solid #6B5FF0;
    transform: rotate(45deg);
    transition: transform .22s ease, margin-top .22s ease;
    margin-top: -4px;
}

html.qr-dash .qrcal-ingredient-accordion[open] .qrcal-ingredient-accordion-summary {
    border-bottom: 1px solid #ebe8ff;
    box-shadow: inset 0 -1px 0 rgba(107, 95, 240, .08);
}

html.qr-dash .qrcal-ingredient-accordion[open] .qrcal-ingredient-accordion-arrow {
    transform: rotate(225deg);
    margin-top: 2px;
}

html.qr-dash .qrcal-ingredient-accordion-body {
    background: #fff;
}

html.qr-dash .qrcal-ingredient-accordion-premium {
    position: relative;
}

html.qr-dash .qrcal-ingredient-accordion-premium::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 28px;
    padding: 1px;
    background: linear-gradient(135deg, rgba(107,95,240,.28), rgba(139,92,246,.08));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

html.qr-dash .qrcal-ingredient-accordion-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

html.qr-dash .nutrition-data-table th {
    font-size: 15px;
    font-weight: 800;
    color: #0f172a;
}

@media (max-width: 767px) {
    html.qr-dash .qrcal-ingredient-accordion-summary {
        padding: 16px 16px;
        align-items: flex-start;
    }

    html.qr-dash .qrcal-ingredient-accordion-side {
        flex-direction: column;
        align-items: flex-end;
        gap: 6px;
    }

    html.qr-dash .qrcal-ingredient-accordion-badge {
        min-height: 34px;
        padding: 0 12px;
        font-size: 12px;
    }

    html.qr-dash .qrcal-ingredient-accordion-name {
        font-size: 16px;
    }

    html.qr-dash .qrcal-library-accordion-summary {
        padding: 16px 16px;
        align-items: flex-start;
    }

    html.qr-dash .qrcal-library-accordion-side {
        flex-direction: column;
        align-items: flex-end;
        gap: 6px;
    }

    html.qr-dash .qrcal-library-thumb {
        width: 58px;
        height: 58px;
        border-radius: 14px;
    }

    html.qr-dash .qrcal-library-accordion-badge {
        min-height: 34px;
        padding: 0 12px;
        font-size: 12px;
    }

    html.qr-dash .qrcal-library-accordion-name {
        font-size: 16px;
    }

    html.qr-dash .qrcal-library-accordion-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }
}

html.qr-dash .nutrient-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px 16px;
    margin-top: 12px;
}

html.qr-dash .nutrient-grid .submit-field {
    margin-bottom: 0;
}

html.qr-dash .ingredient-advanced {
    margin-top: 6px;
    padding: 14px 16px;
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

html.qr-dash .ingredient-advanced summary {
    cursor: pointer;
    list-style: none;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .04em;
    color: #334155;
}

html.qr-dash .ingredient-advanced summary::-webkit-details-marker {
    display: none;
}

html.qr-dash .ingredient-advanced-body {
    padding-top: 16px;
}

html.qr-dash .yield-help {
    margin-top: 8px;
    font-size: 13px;
    line-height: 1.55;
    color: #64748b;
}

html.qr-dash .variant-options-form .button[type="submit"] {
    min-width: 150px;
}

html.qr-dash .nutrition-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

html.qr-dash .nutrition-stat-card {
    padding: 16px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #eef2f7;
}

html.qr-dash .nutrition-stat-value {
    display: block;
    margin: 8px 0 4px;
    font-size: 26px;
    font-weight: 900;
    color: #0f172a;
}

html.qr-dash .nutrition-data-table {
    width: 100%;
    overflow: hidden;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 18px;
    border: 1px solid #eef2f7;
}

html.qr-dash .nutrition-data-table th,
html.qr-dash .nutrition-data-table td {
    padding: 14px 16px;
    border-bottom: 1px solid #eef2f7;
}

html.qr-dash .nutrition-data-table tr:last-child th,
html.qr-dash .nutrition-data-table tr:last-child td {
    border-bottom: 0;
}

html.qr-dash .qrcal-page-hero-qr {
    align-items: stretch;
}

html.qr-dash .qrcal-qr-hero-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    min-width: min(360px, 100%);
}

html.qr-dash .qrcal-qr-mini-stat {
    padding: 18px 20px;
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff 0%, #faf9ff 100%);
    border: 1px solid #ebe8ff;
    box-shadow: 0 14px 30px rgba(107,95,240,.08);
}

html.qr-dash .qrcal-qr-mini-label {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #7c3aed;
}

html.qr-dash .qrcal-qr-mini-stat strong {
    color: #0f172a;
    font-size: 16px;
    font-weight: 800;
}

html.qr-dash .qrcal-qr-layout {
    align-items: flex-start;
}

html.qr-dash .qrcal-qr-builder-box,
html.qr-dash .qrcal-qr-preview-box {
    border-radius: 28px;
}

html.qr-dash .qrcal-qr-form {
    display: grid;
    gap: 20px;
}

html.qr-dash .qrcal-qr-section {
    padding: 22px;
    border-radius: 22px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfaff 100%);
    border: 1px solid #ece7ff;
}

html.qr-dash .qrcal-qr-section-title {
    margin-bottom: 18px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #6B5FF0;
}

html.qr-dash .qrcal-qr-controls-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 18px;
}

html.qr-dash .qrcal-qr-controls-grid > #qr-mode-label,
html.qr-dash .qrcal-qr-controls-grid > #qr-mode-image {
    display: contents;
}

html.qr-dash .qrcal-qr-controls-grid .submit-field,
html.qr-dash .qrcal-qr-form .submit-field {
    margin-bottom: 0;
}

html.qr-dash .qrcal-qr-controls-grid .d-flex.align-items-center.submit-field {
    min-height: 52px;
    padding: 0 14px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid #e5e7eb;
}

html.qr-dash .qrcal-qr-controls-grid .uploadButton {
    width: 100%;
}

html.qr-dash .qrcal-qr-controls-grid .uploadButton-button {
    width: 100%;
    justify-content: center;
    border-radius: 14px;
}

html.qr-dash .qrcal-qr-actions {
    display: flex;
    justify-content: flex-start;
}

html.qr-dash .qrcal-qr-actions .button {
    min-width: 180px;
}

html.qr-dash .qrcal-qr-preview-shell {
    padding: 22px;
    border-radius: 26px;
    background:
        radial-gradient(circle at top left, rgba(107,95,240,.12), transparent 38%),
        linear-gradient(180deg, #ffffff 0%, #f8f7ff 100%);
    border: 1px solid #ece7ff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
    margin-bottom: 18px;
}

html.qr-dash .qrcal-qr-preview-shell #qr-code-wrapper {
    max-width: 440px;
    margin: 0 auto;
}

html.qr-dash .qrcal-qr-preview-shell #qr-code-wrapper img {
    padding: 14px;
    border-radius: 24px;
    border: 1px solid #ece7ff;
    background: #fff;
    box-shadow: 0 18px 40px rgba(15,23,42,.08);
}

html.qr-dash .qrcal-qr-link-block {
    margin-bottom: 16px;
}

html.qr-dash .qrcal-qr-link-label {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 700;
    color: #475569;
}

html.qr-dash .qrcal-qr-link-block input.with-border[readonly] {
    background: #f8fafc !important;
    color: #475569;
}

html.qr-dash .qrcal-qr-preview-note {
    margin-bottom: 16px;
    padding: 14px 16px;
    border-radius: 16px;
    background: #f8f7ff;
    border: 1px solid #ddd6fe;
    color: #5b4bb7;
    line-height: 1.55;
}

html.qr-dash .qrcal-page-hero-pdf {
    align-items: stretch;
}

html.qr-dash .qrcal-pdf-overview-box,
html.qr-dash .qrcal-pdf-cta-box {
    border-radius: 28px;
}

html.qr-dash .qrcal-pdf-checklist {
    display: grid;
    gap: 14px;
}

html.qr-dash .qrcal-pdf-check {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #faf9ff 100%);
    border: 1px solid #ece7ff;
    color: #334155;
}

html.qr-dash .qrcal-pdf-check i {
    margin-top: 2px;
    color: #6B5FF0;
    font-size: 18px;
}

html.qr-dash .qrcal-pdf-cta-box .button {
    width: 100%;
    text-align: center;
}

html.qr-dash .user-lang-switcher .btn {
    border-radius: 14px !important;
}

html.qr-dash .deznav .plus-box,
html.qr-dash .deznav .copyright {
    display: none !important;
}

@media (max-width: 991px) {
    html.qr-dash .qrcal-hero-panel,
    html.qr-dash .qrcal-detail-hero,
    html.qr-dash .qrcal-page-titles,
    html.qr-dash .qrcal-page-hero {
        grid-template-columns: 1fr;
        flex-direction: column;
        align-items: flex-start;
    }

    html.qr-dash .nutrition-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    html.qr-dash .nutrient-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    html.qr-dash .qrcal-qr-hero-stats,
    html.qr-dash .qrcal-qr-controls-grid {
        grid-template-columns: 1fr;
    }

    html.qr-dash .qrcal-header-intro-main {
        max-width: none;
        padding-left: 8px;
    }

    html.qr-dash .header-left {
        padding-left: 36px;
    }
}

html.qr-dash .dashboard-container {
    display: grid;
    grid-template-columns: 290px minmax(0, 1fr);
    min-height: 100vh;
    background: #f7f8fc;
}

html.qr-dash .dashboard-sidebar {
    background: #fff;
    border-right: 1px solid #eef2f7;
}

html.qr-dash .dashboard-content-container,
html.qr-dash .dashboard-content-inner {
    background: #f7f8fc;
}

html.qr-dash .dashboard-content-inner {
    padding: 32px 28px;
}

html.qr-dash .dashboard-responsive-nav-trigger {
    display: none;
}

html.qr-dash .dashboard-nav ul:before,
html.qr-dash .dashboard-nav ul[data-submenu-title]:before {
    color: #94a3b8 !important;
    font-weight: 800;
    letter-spacing: .08em;
}

html.qr-dash .dashboard-nav ul li a {
    margin: 6px 14px;
    padding: 12px 14px !important;
    border-radius: 16px;
    color: #475569 !important;
    font-weight: 700;
}

html.qr-dash .dashboard-nav ul li a i {
    color: #64748b !important;
}

html.qr-dash .dashboard-nav ul li.active a,
html.qr-dash .dashboard-nav ul li:hover a {
    background: linear-gradient(135deg, #6B5FF0, #8B7AF5) !important;
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(107,95,240,.22);
}

html.qr-dash .dashboard-nav ul li.active a i,
html.qr-dash .dashboard-nav ul li:hover a i {
    color: #fff !important;
}

html.qr-dash .dashboard-headline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
    padding: 24px 28px;
    border-radius: 28px;
    background: #fff;
    border: 1px solid #eef2f7;
    box-shadow: 0 18px 40px rgba(15, 23, 42, .04);
}

html.qr-dash .dashboard-headline h3,
html.qr-dash .dashboard-headline h1 {
    margin: 0;
    color: #0f172a;
    font-size: 28px;
    font-weight: 800;
}

html.qr-dash .dashboard-content-inner .dashboard-box {
    border-radius: 24px;
    border: 1px solid #eef2f7;
    box-shadow: 0 18px 40px rgba(15, 23, 42, .05);
}

html.qr-dash .dashboard-content-inner #breadcrumbs,
html.qr-dash .dashboard-content-inner nav#breadcrumbs {
    display: none !important;
}

@media (max-width: 991px) {
    html.qr-dash body.qrcal-mobile-nav-open {
        overflow: hidden;
    }

    html.qr-dash .nav-header {
        width: 76px;
        height: 74px;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 1004;
    }

    html.qr-dash .nav-header .brand-logo {
        width: 100%;
        height: 74px;
        padding: 0 10px 0 34px;
        justify-content: flex-start;
    }

    html.qr-dash .nav-header .brand-logo .qrcal-logo {
        max-width: 48px;
        max-height: 34px;
        width: auto;
        height: auto;
    }

    html.qr-dash .header {
        left: 76px;
        width: calc(100% - 76px);
        z-index: 1003;
    }

    html.qr-dash .header .header-content {
        min-height: 74px;
        padding-left: 14px;
        padding-right: 10px;
    }

    html.qr-dash .header-left {
        flex: 1 1 auto;
        min-width: 0;
        padding-left: 44px;
    }

    html.qr-dash .qrcal-header-intro {
        min-width: 0;
        width: 100%;
    }

    html.qr-dash .qrcal-header-intro-main {
        width: 100%;
        max-width: none;
        padding-left: 0;
    }

    html.qr-dash .qrcal-eyebrow {
        display: block;
        margin-bottom: 4px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    html.qr-dash .qrcal-header-intro h4 {
        font-size: 18px;
        line-height: 1.2;
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    html.qr-dash .header-right {
        margin-left: 10px;
        align-items: center;
    }

    html.qr-dash .header-profile .nav-link {
        padding: 0 !important;
    }

    html.qr-dash .header-profile img {
        width: 38px;
        height: 38px;
        border-radius: 14px;
    }

    html.qr-dash .nav-control {
        left: 10px;
        right: auto !important;
        top: 50%;
        width: 36px;
        height: 36px;
        transform: translateY(-50%);
        background: transparent !important;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 !important;
        box-shadow: none !important;
    }

    html.qr-dash .nav-control .hamburger {
        position: relative;
        top: auto;
        left: auto;
        right: auto !important;
        width: 36px;
        height: 36px;
        padding: 9px 9px 8px;
        transform: none !important;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: stretch;
        border-radius: 12px;
        background: linear-gradient(135deg, #6B5FF0, #8B7AF5) !important;
        box-shadow: 0 10px 24px rgba(107,95,240,.18);
    }

    html.qr-dash .nav-control .hamburger .line {
        width: 100% !important;
        height: 2px !important;
        border-radius: 999px;
        margin: 0 !important;
        background: #ffffff !important;
        transition: transform .2s ease, opacity .2s ease;
    }

    html.qr-dash .nav-control .hamburger.is-active .line:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }

    html.qr-dash .nav-control .hamburger.is-active .line:nth-child(2) {
        opacity: 0;
    }

    html.qr-dash .nav-control .hamburger.is-active .line:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }

    html.qr-dash .deznav {
        z-index: 1005;
    }

    html.qr-dash .qrcal-mobile-nav-overlay {
        position: fixed;
        inset: 0;
        background: rgba(15,23,42,.44);
        backdrop-filter: blur(2px);
        opacity: 0;
        pointer-events: none;
        transition: opacity .2s ease;
        z-index: 1002;
    }

    html.qr-dash body.qrcal-mobile-nav-open .qrcal-mobile-nav-overlay {
        opacity: 1;
        pointer-events: auto;
    }
}

@media (max-width: 767px) {
    html.qr-dash .nav-header {
        width: 68px;
        height: 68px;
    }

    html.qr-dash .nav-header .brand-logo {
        height: 68px;
        padding: 0 8px 0 32px;
    }

    html.qr-dash .nav-header .brand-logo .qrcal-logo {
        max-width: 42px;
        max-height: 30px;
    }

    html.qr-dash .header {
        left: 68px;
        width: calc(100% - 68px);
    }

    html.qr-dash .header .header-content {
        min-height: 68px;
        padding-left: 10px;
        padding-right: 8px;
    }

    html.qr-dash .header-left {
        padding-left: 40px;
    }

    html.qr-dash .qrcal-header-intro h4 {
        font-size: 16px;
    }

    html.qr-dash .qrcal-eyebrow {
        font-size: 9px;
        letter-spacing: .1em;
    }

    html.qr-dash .header-profile img {
        width: 34px;
        height: 34px;
        border-radius: 12px;
    }

    html.qr-dash .nav-control {
        left: 8px;
        right: auto !important;
        width: 32px;
        height: 32px;
    }

    html.qr-dash .nav-control .hamburger {
        width: 32px;
        height: 32px;
        padding: 8px 8px 7px;
        border-radius: 10px;
    }

    html.qr-dash .nav-control .hamburger .line {
        width: 100% !important;
    }

    html.qr-dash .nav-control .hamburger.is-active .line:nth-child(1) {
        transform: translateY(5px) rotate(45deg);
    }

    html.qr-dash .nav-control .hamburger.is-active .line:nth-child(3) {
        transform: translateY(-5px) rotate(-45deg);
    }

    html.qr-dash .qrcal-page-titles h2,
    html.qr-dash .qrcal-hero-panel h3,
    html.qr-dash .qrcal-detail-summary h3 {
        font-size: 24px;
    }

    html.qr-dash .recipe-stat-grid,
    html.qr-dash .nutrition-card-grid,
    html.qr-dash .nutrient-grid {
        grid-template-columns: 1fr;
    }

    html.qr-dash .qrcal-qr-section,
    html.qr-dash .qrcal-qr-preview-shell {
        padding: 18px;
    }

    html.qr-dash .qrcal-category-header,
    html.qr-dash .qrcal-title-actions,
    html.qr-dash .qrcal-category-actions {
        flex-direction: column;
        align-items: stretch;
    }

    html.qr-dash .header-right .nav-item.recipe,
    html.qr-dash .header-right .btn.btn-rounded {
        display: none !important;
    }
}

/* Final sidebar sizing guard. Lezato gives icons a 51px box on wide screens,
   which silently makes every menu row too tall. Keep navigation independent
   from page scrolling and guarantee that all customer items remain reachable. */
html.qr-dash #main-wrapper > .deznav {
    overflow: hidden !important;
}

html.qr-dash #main-wrapper > .deznav > .deznav-scroll {
    height: 100% !important;
    max-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(100,116,139,.34) transparent;
    padding: 8px 0 20px !important;
}

html.qr-dash #main-wrapper > .deznav > .deznav-scroll::-webkit-scrollbar {
    width: 5px;
}

html.qr-dash #main-wrapper > .deznav > .deznav-scroll::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(100,116,139,.34);
}

html.qr-dash #main-wrapper .qrcal-side-nav.metismenu {
    gap: 2px !important;
    padding: 2px 10px 0 !important;
}

html.qr-dash #main-wrapper .qrcal-side-nav.metismenu > li {
    margin: 0 !important;
    padding: 0 !important;
}

html.qr-dash #main-wrapper .qrcal-side-nav.metismenu > li > a {
    box-sizing: border-box !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 6px 12px !important;
    gap: 10px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
}

html.qr-dash #main-wrapper .qrcal-side-nav.metismenu > li > a > i {
    flex: 0 0 28px !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 17px !important;
    line-height: 28px !important;
}

html.qr-dash #main-wrapper .qrcal-side-nav.metismenu > li > a .nav-text {
    font-size: 13.5px !important;
    line-height: 1.2 !important;
}

html.qr-dash #main-wrapper .qrcal-side-nav .qrcal-webog-nav-first {
    margin-top: 9px !important;
}

html.qr-dash #main-wrapper .qrcal-side-nav .qrcal-webog-nav-first::before {
    margin: 0 12px 3px !important;
    font-size: 8px !important;
    line-height: 14px !important;
}
