:root {
    --admin-ink: #0b0c0e;
    --admin-panel: #17191e;
    --admin-panel-raised: #1d2026;
    --admin-ivory: #f4efe5;
    --admin-muted: #9f9a91;
    --admin-brass: #d6ad60;
    --admin-brass-light: #f0cf8c;
    --admin-line: rgba(244,239,229,.1);
    --admin-line-strong: rgba(214,173,96,.3);
    --admin-radius-sm: 10px;
    --admin-radius: 16px;
    --admin-radius-lg: 24px;
    --admin-shadow: 0 22px 60px rgba(0,0,0,.3);
    --admin-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html { min-height: 100%; font-size: 15px; }
body {
    min-height: 100vh;
    margin: 0;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 8% 2%, color-mix(in srgb, var(--admin-tenant, #7b2833) 17%, transparent), transparent 32rem),
        radial-gradient(circle at 92% 4%, rgba(45,100,115,.08), transparent 30rem),
        var(--admin-ink) !important;
    color: var(--admin-ivory);
    font-family: var(--admin-font);
    -webkit-font-smoothing: antialiased;
}
body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .11; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.2'/%3E%3C/svg%3E"); }

a { color: var(--admin-brass-light); text-decoration: none; }
a:hover { color: var(--admin-ivory); }
h1, h2, h3, h4, h5, h6 { color: var(--admin-ivory); font-weight: 750; letter-spacing: -.025em; }
h1, h2 { font-family: Georgia, "Times New Roman", serif; }
p { color: var(--admin-muted); line-height: 1.65; }
hr { border-color: var(--admin-line); opacity: 1; }

.btn {
    min-height: 42px;
    border: 1px solid transparent;
    border-radius: 999px;
    padding: .66rem 1rem;
    font-weight: 800;
    transition: transform .18s ease, border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn:focus-visible, .form-control:focus, .form-select:focus, .form-check-input:focus, textarea:focus, input:focus-visible {
    outline: 0;
    border-color: var(--admin-brass) !important;
    box-shadow: 0 0 0 4px rgba(214,173,96,.16) !important;
}
.btn-primary, .btn-success, .btn-warning, .btn-gold, .btn-info {
    border-color: var(--admin-brass) !important;
    background: linear-gradient(135deg, var(--admin-brass-light), var(--admin-brass)) !important;
    color: #1a140b !important;
    box-shadow: 0 9px 24px rgba(214,173,96,.13);
}
.btn-primary:hover, .btn-success:hover, .btn-warning:hover, .btn-gold:hover, .btn-info:hover { border-color: var(--admin-ivory) !important; background: var(--admin-ivory) !important; color: var(--admin-ink) !important; }
.btn-outline-primary, .btn-outline-success, .btn-outline-warning, .btn-outline-info, .btn-outline-light, .btn-outline-secondary, .btn-dark, .btn-secondary {
    border-color: var(--admin-line-strong) !important;
    background: rgba(255,255,255,.025) !important;
    color: var(--admin-ivory) !important;
}
.btn-outline-primary:hover, .btn-outline-success:hover, .btn-outline-warning:hover, .btn-outline-info:hover, .btn-outline-light:hover, .btn-outline-secondary:hover, .btn-dark:hover, .btn-secondary:hover { border-color: var(--admin-brass) !important; background: rgba(214,173,96,.09) !important; }
.btn-danger, .btn-outline-danger:hover { border-color: #a94d4d !important; background: #8e3d3d !important; color: #fff !important; }
.btn-outline-danger { border-color: rgba(200,100,100,.45) !important; background: rgba(200,100,100,.06) !important; color: #e08a8a !important; }

.card, .modal-content, .dropdown-menu, .list-group-item, .accordion-item, .offcanvas {
    border: 1px solid var(--admin-line) !important;
    border-radius: var(--admin-radius) !important;
    background: linear-gradient(145deg, rgba(29,32,38,.94), rgba(18,20,24,.97)) !important;
    color: var(--admin-ivory);
    box-shadow: 0 14px 40px rgba(0,0,0,.2);
}
.card-header, .card-footer, .modal-header, .modal-footer, .accordion-header { border-color: var(--admin-line) !important; background: rgba(255,255,255,.018) !important; }
.card-title { color: var(--admin-ivory); }
.modal-backdrop { background: rgba(0,0,0,.82); backdrop-filter: blur(8px); }
.modal-header .btn-close { filter: invert(1) grayscale(1); opacity: .7; }
.dropdown-item { border-radius: 8px; color: var(--admin-muted); }
.dropdown-item:hover, .dropdown-item:focus { background: rgba(214,173,96,.08); color: var(--admin-ivory); }

.form-control, .form-select, textarea, input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"], input[type="date"], input[type="time"], input[type="url"] {
    min-height: 48px;
    padding: .72rem .85rem;
    border: 1px solid var(--admin-line) !important;
    border-radius: 11px !important;
    background: rgba(255,255,255,.035) !important;
    color: var(--admin-ivory) !important;
}
textarea { width: 100%; min-height: 130px; resize: vertical; }
.form-control::placeholder, textarea::placeholder { color: #706d67; }
.form-floating > label, .form-label, label { color: var(--admin-muted); }
.form-text { color: #77736c; }
.form-select { background-color: var(--admin-panel) !important; }
.form-select option { background: var(--admin-panel); color: var(--admin-ivory); }
.form-check-input { border-color: var(--admin-line-strong); background-color: transparent; }
.form-check-input:checked { border-color: var(--admin-brass); background-color: var(--admin-brass); }
.input-group-text { border-color: var(--admin-line); background: rgba(255,255,255,.05); color: var(--admin-muted); }

.table-responsive { overflow: auto; border: 1px solid var(--admin-line); border-radius: var(--admin-radius); background: rgba(23,25,30,.72); box-shadow: 0 14px 38px rgba(0,0,0,.14); }
.table { margin-bottom: 0; --bs-table-bg: transparent; --bs-table-color: var(--admin-ivory); --bs-table-border-color: var(--admin-line); --bs-table-striped-bg: rgba(255,255,255,.018); --bs-table-hover-bg: rgba(214,173,96,.055); --bs-table-hover-color: var(--admin-ivory); }
.table > :not(caption) > * > * { padding: .85rem .95rem; vertical-align: middle; }
.table thead th { color: #858078; font-size: .67rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.table tbody tr { transition: background-color .16s ease; }

.badge { border-radius: 999px; padding: .48em .7em; font-weight: 850; }
.bg-primary, .bg-info { background-color: #476d78 !important; }
.bg-success { background-color: #4f745f !important; }
.bg-warning { background-color: var(--admin-brass) !important; color: #1b150b !important; }
.bg-danger { background-color: #8f4444 !important; }
.bg-dark { background-color: var(--admin-panel-raised) !important; }
.text-muted, .text-secondary { color: var(--admin-muted) !important; }
.text-warning { color: var(--admin-brass-light) !important; }
.text-info { color: #8fb7c5 !important; }
.text-success { color: #8fc3a1 !important; }
.text-danger { color: #df8181 !important; }

.alert { border: 1px solid var(--admin-line); border-radius: 13px; background: rgba(255,255,255,.035); color: var(--admin-ivory); }
.alert-success { border-color: rgba(111,160,131,.3); background: rgba(111,160,131,.08); }
.alert-warning { border-color: rgba(214,173,96,.3); background: rgba(214,173,96,.08); }
.alert-danger { border-color: rgba(200,100,100,.3); background: rgba(200,100,100,.08); }
.pagination { gap: .3rem; }
.pagination .page-link { min-width: 38px; border: 1px solid var(--admin-line); border-radius: 10px !important; background: var(--admin-panel); color: var(--admin-muted); text-align: center; }
.pagination .page-link:hover, .pagination .active .page-link { border-color: var(--admin-brass); background: rgba(214,173,96,.1); color: var(--admin-ivory); }

.settings-card, .menu-item-card, .service-card { transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.settings-card:hover, .menu-item-card:hover, .service-card:hover { transform: translateY(-4px) !important; border-color: var(--admin-line-strong) !important; box-shadow: var(--admin-shadow) !important; }
.menu-item-selected { box-shadow: 0 0 0 2px var(--admin-brass) !important; }
.menu-item-empty { box-shadow: none !important; }
.notification-button { right: 72px; }
.delete-button:hover { color: var(--admin-ivory); }

/* FullCalendar */
.fc { color: var(--admin-muted); }
.fc .fc-toolbar-title { color: var(--admin-ivory); font-family: Georgia, "Times New Roman", serif; font-size: 1.5rem; }
.fc .fc-button-primary { border-color: var(--admin-line-strong) !important; border-radius: 999px !important; background: rgba(255,255,255,.035) !important; color: var(--admin-ivory) !important; box-shadow: none !important; }
.fc .fc-button-primary:hover, .fc .fc-button-active { border-color: var(--admin-brass) !important; background: rgba(214,173,96,.1) !important; }
.fc-theme-standard td, .fc-theme-standard th, .fc-theme-standard .fc-scrollgrid { border-color: var(--admin-line) !important; }
.fc .fc-daygrid-day-number, .fc .fc-col-header-cell-cushion { color: var(--admin-muted); }
.fc .fc-day-today { background: rgba(214,173,96,.045) !important; }
.fc .fc-event { border: 0; border-radius: 7px; padding: 2px 4px; }

/* Guided tour and popovers */
.shepherd-element, .shepherd-theme-dark, .shepherd-element.shepherd-theme-shabarber { width: min(92vw, 380px) !important; border: 1px solid var(--admin-line-strong) !important; border-radius: var(--admin-radius) !important; background: rgba(23,25,30,.98) !important; color: var(--admin-ivory) !important; box-shadow: var(--admin-shadow) !important; backdrop-filter: blur(16px); }
.shepherd-header { background: transparent !important; }
.shepherd-title { color: var(--admin-brass-light) !important; font-weight: 800 !important; }
.shepherd-text { color: var(--admin-muted) !important; line-height: 1.6 !important; }
.shepherd-button { border-radius: 999px !important; background: var(--admin-brass) !important; color: #1a140b !important; font-weight: 800 !important; }
.shepherd-button-secondary { border: 1px solid var(--admin-line) !important; background: transparent !important; color: var(--admin-muted) !important; }
.shepherd-modal-overlay-container { background: rgba(0,0,0,.7) !important; backdrop-filter: blur(7px); }
.shepherd-arrow::before { background: var(--admin-panel) !important; }
.tippy-box { border: 1px solid var(--admin-line); border-radius: 10px; background: var(--admin-panel-raised); color: var(--admin-ivory); box-shadow: var(--admin-shadow); }

.swal2-container { z-index: 99999999 !important; }
.swal2-popup { border: 1px solid var(--admin-line-strong) !important; border-radius: var(--admin-radius-lg) !important; background: rgba(23,25,30,.98) !important; color: var(--admin-ivory) !important; box-shadow: var(--admin-shadow) !important; }
.swal2-title { color: var(--admin-ivory) !important; }
.swal2-html-container { color: var(--admin-muted) !important; }

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 999px; background: #393a3d; background-clip: padding-box; }
::-webkit-scrollbar-thumb:hover { background: #55565a; background-clip: padding-box; }
@media (max-width: 768px) { textarea { width: 100%; } .hide-mobile { display: none !important; } .notification-button { right: 50px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
