/* ============================================================
   Menu — "Romantic Fine Dining" тема
   (по графичната идеология на TherapeuticERP Crystal Light,
    с пепелно-розови, приглушено сини, шампанско-златни и сребърни акценти)
   ============================================================ */

:root {
    --rose-900: #6E3244;
    --rose-800: #8C4458;
    --rose-700: #A8566C;
    --rose-500: #C27A8E;
    --rose-300: #E3B3C0;
    --rose-100: #F8E6EB;
    --rose-50:  #FDF5F7;

    --blue-800: #2F4A73;
    --blue-600: #4A6A9A;
    --blue-400: #7E9CC4;
    --blue-100: #E4ECF6;
    --blue-50:  #F3F7FC;

    --gold-700: #8C7038;
    --gold-500: #A8894F;
    --gold-300: #D9BF86;
    --gold-100: #F4ECDA;

    --silver-600: #6F7887;
    --silver-400: #A7ADB7;
    --silver-200: #D9DDE3;
    --silver-100: #EEF0F3;

    --ink:      #2E2A3A;
    --ink-soft: #6B6377;
    --muted:    #9A93A5;
    --success:  #5E8C6A;
    --error:    #B3404A;

    --hairline-gold: rgba(168, 137, 79, 0.20);
    --soft-shadow:   0 10px 30px rgba(168, 86, 108, 0.08);

    --nav-width:     272px;
    --topbar-height: 60px;
    --radius:        16px;
    --radius-sm:     10px;
}

/* ---- Основа ---- */
*, *::before, *::after { box-sizing: border-box; }

html, body {
    margin: 0;
    padding: 0;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    color: var(--ink);
    min-height: 100vh;
    background:
        radial-gradient(ellipse at 0% 0%,   rgba(248, 230, 235, 0.9) 0%, transparent 45%),
        radial-gradient(ellipse at 100% 100%, rgba(228, 236, 246, 0.9) 0%, transparent 50%),
        linear-gradient(135deg, #FFFDFB 0%, #FBF3F5 50%, #F1F5FA 100%) fixed;
}

::selection { background: var(--rose-100); color: var(--rose-900); }

* { scrollbar-width: thin; scrollbar-color: rgba(168, 137, 79, 0.28) transparent; }

.cursor-pointer { cursor: pointer; }

/* ============================================================
   MudBlazor — фини корекции
   ============================================================ */
.mud-main-content { background: transparent !important; }

.elegant-paper,
.mud-paper.elegant-paper {
    border-radius: var(--radius) !important;
    background: linear-gradient(160deg, #FFFFFF 0%, #FFFBFC 100%) !important;
    border: 1px solid var(--hairline-gold);
    box-shadow: var(--soft-shadow) !important;
    overflow: hidden;
}

/* Таблици */
.mud-table { background: transparent !important; }
.mud-table-head .mud-table-cell {
    background: linear-gradient(180deg, #FFFDF9 0%, var(--rose-50) 100%) !important;
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-weight: 700 !important;
    font-size: 13.5px !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--rose-700) !important;
    border-bottom: 1px solid var(--gold-300) !important;
}
.mud-table-row .mud-table-cell { border-bottom-color: rgba(168, 137, 79, 0.10) !important; }

/* Полета */
.mud-input-outlined { background-color: #fff !important; border-radius: var(--radius-sm) !important; }
.mud-input-outlined .mud-input-outlined-border { border-radius: var(--radius-sm) !important; }

/* Бутони */
.mud-button-root { text-transform: none !important; letter-spacing: .01em !important; }
.mud-button-filled { border-radius: 10px !important; font-weight: 600 !important; }

.mud-button-root.mud-button-filled.mud-button-filled-primary {
    background: linear-gradient(135deg, var(--rose-500) 0%, var(--rose-700) 100%) !important;
    box-shadow: 0 4px 12px rgba(168, 86, 108, 0.30) !important;
}
.mud-button-root.mud-button-filled.mud-button-filled-primary:hover {
    background: linear-gradient(135deg, var(--rose-700) 0%, var(--rose-800) 100%) !important;
    box-shadow: 0 6px 16px rgba(168, 86, 108, 0.36) !important;
}
.mud-button-root.mud-button-filled.mud-button-filled-primary.mud-disabled {
    background: var(--silver-200) !important;
    box-shadow: none !important;
}

.mud-button-root.mud-button-outlined { border-radius: 10px !important; }
.mud-icon-button.mud-button-outlined { border-radius: 50% !important; }

/* Диалози */
.mud-dialog {
    border-radius: 18px !important;
    background: linear-gradient(160deg, #FFFFFF 0%, #FFF8FA 55%, #F5F8FC 100%) !important;
    border: 1px solid var(--hairline-gold);
    box-shadow: 0 30px 80px rgba(46, 42, 58, 0.22) !important;
}
.mud-dialog .mud-dialog-title {
    padding: 14px 22px;
    border-bottom: 1px solid var(--hairline-gold);
    background: rgba(255, 255, 255, 0.75);
}
.mud-dialog .mud-dialog-actions {
    padding: 12px 20px;
    border-top: 1px solid var(--hairline-gold);
    gap: 6px;
}
.mud-overlay-dialog .mud-overlay-scrim,
.mud-overlay .mud-overlay-scrim.mud-overlay-dark { background-color: rgba(46, 42, 58, 0.35) !important; backdrop-filter: blur(2px); }

.mud-dialog.login-dialog {
    overflow: hidden;
    border-radius: 22px !important;
    border: 1px solid rgba(168, 137, 79, 0.35);
}

.dialog-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 22px;
    font-weight: 600;
    color: var(--ink);
}
.dialog-subtitle {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: 16px;
    color: var(--blue-600);
    margin-left: 6px;
}

/* Snackbar */
.mud-snackbar { border-radius: 12px !important; }

/* ============================================================
   Общи елементи
   ============================================================ */
.dish-name {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 17px;
    font-weight: 600;
    color: var(--ink);
    line-height: 1.2;
}
.dish-details {
    font-size: 12px;
    font-style: italic;
    color: var(--ink-soft);
}
.dish-medallion {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    box-shadow: 0 0 0 1px var(--gold-300);
}
.dish-medallion .mud-icon-root { font-size: 18px; }

.price-cell {
    font-weight: 700;
    color: var(--gold-700);
    white-space: nowrap;
}

.category-chip {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 11.5px;
    font-weight: 600;
    color: var(--c);
    background: color-mix(in srgb, var(--c) 10%, white);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--c) 25%, white);
}

.status-chip {
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 20px;
}
.status-active   { background: #E6F0E8; color: var(--success); }
.status-inactive { background: var(--silver-100); color: var(--silver-600); }
.status-error    { background: #FBEDEE; color: var(--error); }

.empty-note {
    padding: 36px 0;
    text-align: center;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: 18px;
    color: var(--ink-soft);
}

.user-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    color: var(--rose-800);
    background: var(--rose-100);
    box-shadow: 0 0 0 1.5px var(--gold-300);
}

/* ============================================================
   Грешка на Blazor
   ============================================================ */
#blazor-error-ui {
    background: #FFF5F6;
    border-top: 1px solid var(--rose-300);
    bottom: 0;
    box-shadow: 0 -4px 16px rgba(46, 42, 58, 0.12);
    display: none;
    left: 0;
    padding: 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 2000;
    color: var(--error);
}

.blazor-error-boundary {
    padding: 1rem;
    border-radius: 12px;
    background: #FBEDEE;
    color: var(--error);
}
.blazor-error-boundary::after { content: "Възникна грешка."; }
