/*
 * Tema: Cálido Restaurante
 * Sistema de Restaurante - Diseño gastronómico premium
 * Paleta: Naranja #f97316 | Marrón sidebar #7c2d12 | Fondo cálido #fffbf7
 */

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@600;700&display=swap");

/* ===== VARIABLES ===== */
:root {
    --color-primary:    #f97316;
    --color-primary-dk: #ea6c0a;
    --color-primary-lt: #fed7aa;
    --color-sidebar:    #7c2d12;
    --color-sidebar-dk: #6b2510;
    --color-sidebar-lt: #9a3d1a;
    --color-topbar:     #92400e;
    --color-bg:         #fffbf7;
    --color-card:       #ffffff;
    --color-text:       #44403c;
    --color-muted:      #78716c;
    --color-border:     #e7e5e4;
    --shadow-warm:      0 2px 12px rgba(249,115,22,0.10);
    --shadow-card:      0 1px 6px rgba(120,60,20,0.08);
    --radius:           10px;
}

/* ===== TIPOGRAFÍA ===== */
body,
.sidebar-nav ul li a,
.dropdown-item,
.navbar,
p, span, td, th, label, input, select, textarea {
    font-family: 'Inter', 'Poppins', sans-serif !important;
}

h1, h2, h3, h4, h5, h6, .page-title, .card-title {
    font-family: 'Inter', sans-serif !important;
    font-weight: 600;
    color: #292524;
}

/* ===== BODY & FONDO ===== */
body {
    background: var(--color-bg) !important;
    color: var(--color-text) !important;
}

html {
    background: var(--color-bg) !important;
}

/* ===== TOPBAR ===== */
.topbar {
    background: linear-gradient(135deg, #7c2d12 0%, #c2440f 60%, #f97316 100%) !important;
    border-bottom: none !important;
    box-shadow: 0 2px 16px rgba(124,45,18,0.35) !important;
}

.topbar .navbar-header {
    background: rgba(0,0,0,0.18) !important;
}

.topbar .navbar-light .navbar-nav .nav-item > a.nav-link {
    color: #fff3ed !important;
}

.topbar .navbar-light .navbar-nav .nav-item > a.nav-link:hover,
.topbar .navbar-light .navbar-nav .nav-item > a.nav-link:focus {
    color: rgba(255,255,255,0.85) !important;
}

/* ===== SIDEBAR ===== */
.left-sidebar {
    background: var(--color-sidebar) !important;
    border-right: none !important;
    box-shadow: 3px 0 20px rgba(124,45,18,0.25) !important;
}

.scroll-sidebar {
    background: var(--color-sidebar) !important;
}

.sidebar-nav {
    background: transparent !important;
}

.sidebar-nav ul li a {
    color: #fed7aa !important;
    font-size: 13.5px;
    font-weight: 400;
    border-radius: var(--radius);
    margin: 1px 8px;
    padding: 9px 14px !important;
    transition: all 0.2s ease;
}

.sidebar-nav ul li a:hover {
    color: #ffffff !important;
    background: rgba(249,115,22,0.25) !important;
}

.sidebar-nav ul li a i,
.sidebar-nav > ul > li > a i {
    color: #fdba74 !important;
    font-size: 16px;
    width: 22px;
    text-align: center;
}

.sidebar-nav ul li a:hover i {
    color: #ffffff !important;
}

/* Item activo */
.sidebar-nav > ul > li.active > a,
.sidebar-nav > ul > li.active:hover > a {
    color: #ffffff !important;
    background: var(--color-primary) !important;
    box-shadow: 0 3px 12px rgba(249,115,22,0.40) !important;
    border-radius: var(--radius) !important;
}

.sidebar-nav > ul > li.active > a i,
.sidebar-nav > ul > li.active:hover > a i {
    color: #ffffff !important;
}

.sidebar-nav > ul > li.active > a:after,
.sidebar-nav > ul > li.active:hover > a:after {
    border-color: #ffffff !important;
}

.sidebar-nav > ul > li > a.active {
    color: #ffffff !important;
    background: var(--color-primary) !important;
}

/* Sub-menú */
.sidebar-nav ul ul {
    background: rgba(0,0,0,0.15) !important;
    border-radius: var(--radius);
    margin: 2px 8px;
}

.sidebar-nav ul ul li a {
    color: #fdba74 !important;
    padding-left: 36px !important;
    font-size: 13px;
}

.sidebar-nav ul ul li a:hover {
    color: #ffffff !important;
    background: rgba(249,115,22,0.20) !important;
}

/* Separador de nav */
.sidebar-nav > ul > li.nav-small-cap {
    color: #fdba74 !important;
    opacity: 0.7;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 12px 22px 4px;
}

/* Perfil de usuario en sidebar */
.user-profile {
    background: rgba(0,0,0,0.20) !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    padding: 16px !important;
}

.profile-text a {
    color: #fff3ed !important;
    font-weight: 600;
    font-size: 14px;
}

.profile-text a:hover {
    color: #ffffff !important;
}

/* Spans e íconos dentro de links del sidebar heredan el color del <a> */
.sidebar-nav ul li a span,
.sidebar-nav ul li a i,
.sidebar-nav ul ul li a span,
.sidebar-nav ul ul li a i {
    color: inherit !important;
}

/* Footer sidebar */
.sidebar-footer {
    background: rgba(0,0,0,0.20) !important;
    border-top: 1px solid rgba(255,255,255,0.08) !important;
}

.sidebar-footer a {
    color: #fdba74 !important;
}

.sidebar-footer a:hover {
    color: #ffffff !important;
}

/* ===== TEXTOS EN FONDOS OSCUROS ===== */
/* Topbar: todos los textos/íconos en blanco */
.topbar,
.topbar * {
    color: #fff3ed;
}
.topbar .navbar-header,
.topbar .navbar-header * {
    color: #ffffff;
}

/* Cabeceras de tarjetas con fondo oscuro: texto blanco */
.card-header.bg-primary,   .card-header.bg-primary *,
.card-header.bg-success,   .card-header.bg-success *,
.card-header.bg-danger,    .card-header.bg-danger *,
.card-header.bg-warning,   .card-header.bg-warning *,
.card-header.bg-info,      .card-header.bg-info *,
.card-header.bg-dark,      .card-header.bg-dark *,
.card-header.bg-inverse,   .card-header.bg-inverse *,
.card-header.bg-theme,     .card-header.bg-theme * {
    color: #ffffff !important;
}

/* Clases de cabecera personalizadas en el tablero */
.card-header-warm,
.card-header-warm *,
.tth,
.tth *,
.caja-select-card .kpi-label {
    color: #ffffff !important;
}

/* Social widgets con fondo de color (ej. Pollos vendidos) */
.soc-header,
.soc-header *,
.box-google,
.box-google * {
    color: #ffffff !important;
}

/* ===== CARDS ===== */
.card {
    border: 1px solid #f5f0eb !important;
    border-radius: var(--radius) !important;
    box-shadow: var(--shadow-card) !important;
    background: var(--color-card) !important;
}

.card-header {
    background: linear-gradient(90deg, #fff8f4 0%, #ffffff 100%) !important;
    border-bottom: 2px solid #fed7aa !important;
    border-radius: calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0 !important;
}

.card-title {
    color: #292524 !important;
    font-size: 15px;
    font-weight: 600;
}

/* ===== BOTONES ===== */
.btn-themecolor,
.btn-themecolor.disabled {
    background: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: #ffffff !important;
    border-radius: 7px !important;
    font-weight: 500;
    box-shadow: 0 2px 8px rgba(249,115,22,0.30);
    transition: all 0.2s ease;
}

.btn-themecolor:hover,
.btn-themecolor.disabled:hover {
    background: var(--color-primary-dk) !important;
    border-color: var(--color-primary-dk) !important;
    box-shadow: 0 4px 14px rgba(249,115,22,0.40) !important;
    transform: translateY(-1px);
}

.btn-themecolor.active,
.btn-themecolor:focus {
    background: var(--color-primary-dk) !important;
    border-color: var(--color-primary-dk) !important;
}

.btn-primary {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    border-radius: 7px !important;
}

.btn-primary:hover {
    background-color: var(--color-primary-dk) !important;
    border-color: var(--color-primary-dk) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(249,115,22,0.35) !important;
}

.btn-brain {
    background-color: var(--color-primary) !important;
    border: 2px solid var(--color-primary) !important;
    border-radius: 7px !important;
    color: #fff !important;
    float: right;
}

.btn-brain:hover {
    background-color: var(--color-primary-dk) !important;
    border-color: var(--color-primary-dk) !important;
    transform: translateY(-1px);
}

.font-blue-medium {
    color: #ffffff !important;
    font-size: 15px;
    background-color: var(--color-primary) !important;
    border: 2px solid var(--color-primary) !important;
    border-radius: 7px;
    font-weight: 500;
}

/* ===== LINKS & ACENTOS ===== */
a.link:hover, a.link:focus {
    color: var(--color-primary) !important;
}

.bg-theme {
    background-color: var(--color-primary) !important;
}

.text-themecolor {
    color: var(--color-primary) !important;
}

/* ===== TABLAS ===== */
.table th {
    background: linear-gradient(90deg, #fff8f4 0%, #fff3ed 100%) !important;
    color: #7c2d12 !important;
    font-weight: 600;
    font-size: 12.5px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid #fed7aa !important;
}

.table td {
    border-color: #f5f0eb !important;
    vertical-align: middle;
    font-size: 13.5px;
}

.table-hover tbody tr:hover {
    background-color: #fff8f4 !important;
}

.stylish-table tbody tr:hover,
.stylish-table tbody tr.active {
    border-left: 4px solid var(--color-primary) !important;
}

/* ===== PAGINACIÓN ===== */
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    border-radius: 6px;
}

/* ===== TABS ===== */
.profile-tab li a.nav-link.active,
.customtab li a.nav-link.active {
    border-bottom: 2px solid var(--color-primary) !important;
    color: var(--color-primary) !important;
    font-weight: 500;
}

.profile-tab li a.nav-link:hover,
.customtab li a.nav-link:hover {
    color: var(--color-primary) !important;
}

/* ===== RIGHT SIDEBAR ===== */
.right-sidebar .rpanel-title {
    background: var(--color-primary) !important;
}

/* ===== INPUTS & SELECTS ===== */
.form-control:focus {
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 3px rgba(249,115,22,0.15) !important;
}

.form-control {
    border-color: #e7e5e4;
    border-radius: 7px !important;
    font-size: 13.5px;
}

/* ===== BADGES ===== */
.badge-primary,
.label-primary {
    background-color: var(--color-primary) !important;
}

/* ===== ESPACIO ENTRE TOPBAR Y CONTENIDO ===== */
.page-wrapper > .container-fluid {
    padding-top: 20px !important;
}

/* ===== PAGE HEADER (breadcrumb zone) ===== */
.page-titles {
    background: linear-gradient(90deg, #fff8f4 0%, #fffbf7 100%) !important;
    border-bottom: 1px solid #f0e6de !important;
    padding: 14px 24px !important;
}

.page-titles h3,
.page-titles .heading {
    color: #292524 !important;
    font-weight: 600;
}

.breadcrumb-item.active {
    color: var(--color-muted) !important;
}

.breadcrumb-item a {
    color: var(--color-primary) !important;
}

/* ===== TOASTS ===== */
.jq-toast-wrap .jq-toast-single {
    border-radius: 8px !important;
    font-family: 'Inter', sans-serif !important;
}

/* ===== DATATABLES ===== */
table.dataTable thead th,
table.dataTable thead td {
    background: #fff8f4 !important;
    color: #7c2d12 !important;
    border-bottom: 2px solid #fed7aa !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: var(--color-primary) !important;
    color: #ffffff !important;
    border: 1px solid var(--color-primary) !important;
    border-radius: 6px !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: #fff3ed !important;
    color: var(--color-primary) !important;
    border: 1px solid #fed7aa !important;
    border-radius: 6px !important;
}

/* ===== SCROLLBAR PERSONALIZADO ===== */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: #f5f0eb;
}

::-webkit-scrollbar-thumb {
    background: #fdba74;
    border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--color-primary);
}

/* ===== DROPDOWN MENUS ===== */
.dropdown-menu {
    border: 1px solid #f0e6de !important;
    border-radius: var(--radius) !important;
    box-shadow: 0 8px 24px rgba(120,60,20,0.12) !important;
}

.dropdown-item:hover {
    background: #fff8f4 !important;
    color: var(--color-primary) !important;
}

/* ===== NOTIFICACIONES (campana) ===== */
.mailbox .drop-title {
    background: linear-gradient(135deg, #7c2d12 0%, #f97316 100%) !important;
    color: #ffffff !important;
    border-radius: calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0 !important;
}

/* ===== ALERTAS / SweetAlert ===== */
.swal-button {
    background-color: var(--color-primary) !important;
    border-radius: 7px !important;
}

.swal-button:hover {
    background-color: var(--color-primary-dk) !important;
}

/* ===== SELECTOR BOOTSTRAP ===== */
.bootstrap-select .dropdown-toggle:focus,
.bootstrap-select > select.mobile-device:focus + .dropdown-toggle {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(249,115,22,0.15) !important;
}

/* ===== STATS / CONTADORES ===== */
.stats-row .stat-item p:first-child {
    color: var(--color-primary) !important;
    font-weight: 700;
}

/* ===== COLORES MESAS / POS ===== */
.badge-warning {
    background-color: #f59e0b !important;
}

.badge-success {
    background-color: #059669 !important;
}

.badge-danger {
    background-color: #dc2626 !important;
}

/* ===== WAVE EFFECT ===== */
.waves-effect .waves-ripple {
    background: radial-gradient(rgba(249,115,22, 0.2) 0, rgba(249,115,22, 0.3) 40%, rgba(249,115,22, 0.4) 50%, rgba(249,115,22, 0.5) 60%, rgba(255, 255, 255, 0) 70%) !important;
}

/* ===== FOOTER SIDEBAR ICONOS ===== */
.sidebar-footer .link {
    color: #fdba74 !important;
    transition: color 0.2s;
}

.sidebar-footer .link:hover {
    color: #ffffff !important;
}

/* ===== SUNAT BUTTON IN TOPBAR ===== */
.topbar .btn-secondary {
    background: rgba(255,255,255,0.18) !important;
    border: 1px solid rgba(255,255,255,0.45) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    font-weight: 600;
}
.topbar .btn-secondary:hover {
    background: rgba(255,255,255,0.30) !important;
    color: #ffffff !important;
}
.topbar .btn-secondary *,
.topbar .btn-secondary .cont-sunat {
    color: #ffffff !important;
}

/* ===== MINI-SIDEBAR: expand full panel on hover ===== */
.mini-sidebar .left-sidebar {
    transition: width 0.22s ease;
    overflow: hidden;
}
.mini-sidebar .left-sidebar:hover {
    width: 230px !important;
    overflow: visible !important;
}
.mini-sidebar .left-sidebar:hover .scroll-sidebar {
    width: 230px !important;
    overflow-y: auto !important;
}
/* Show all menu labels on sidebar hover */
.mini-sidebar .left-sidebar:hover .hide-menu {
    display: inline !important;
    opacity: 1 !important;
}
/* Arrow icons on expandable items */
.mini-sidebar .left-sidebar:hover .sidebar-nav #sidebarnav .has-arrow::after {
    display: block !important;
}
/* Item width fills sidebar */
.mini-sidebar .left-sidebar:hover .sidebar-nav #sidebarnav > li > a {
    width: 100% !important;
    background: transparent !important;
}
/* Hover highlight per item (warm theme) */
.mini-sidebar .left-sidebar:hover .sidebar-nav #sidebarnav > li:hover > a {
    background: rgba(249,115,22,0.22) !important;
    color: #ffffff !important;
    width: 100% !important;
    transition: background 0.15s !important;
}
.mini-sidebar .left-sidebar:hover .sidebar-nav #sidebarnav > li:hover > a i,
.mini-sidebar .left-sidebar:hover .sidebar-nav #sidebarnav > li:hover > a span {
    color: #ffffff !important;
}
/* Active item */
.mini-sidebar .left-sidebar:hover .sidebar-nav #sidebarnav > li.active > a {
    background: var(--color-primary) !important;
    color: #ffffff !important;
    width: 100% !important;
}
/* Submenus: relative positioning (inline, not floating) */
.mini-sidebar .left-sidebar:hover .sidebar-nav #sidebarnav > li > ul {
    position: relative !important;
    left: 0 !important;
    top: auto !important;
    width: 100% !important;
    background: rgba(0,0,0,0.18) !important;
    border-left: 3px solid #f97316 !important;
    box-shadow: none !important;
}
/* Override the per-item expansion from style.css (prevent individual item expanding to 260px) */
.mini-sidebar .sidebar-nav #sidebarnav > li:hover > a {
    background: #c2440f !important;
    color: #ffffff !important;
    transition: none !important;
    width: 260px !important;
}
.mini-sidebar .sidebar-nav #sidebarnav > li:hover > a i,
.mini-sidebar .sidebar-nav #sidebarnav > li:hover > a span {
    color: #ffffff !important;
}
/* Submenu popup warm theme (for when NOT expanded) */
.mini-sidebar .sidebar-nav #sidebarnav > li > ul {
    background: #7c2d12 !important;
    border-left: 3px solid #f97316 !important;
    box-shadow: 4px 4px 16px rgba(124,45,18,0.40) !important;
}
.mini-sidebar .sidebar-nav #sidebarnav > li > ul li a {
    color: #fed7aa !important;
}
.mini-sidebar .sidebar-nav #sidebarnav > li > ul li a:hover {
    color: #ffffff !important;
    background: rgba(249,115,22,0.25) !important;
}

/* ===== USER PROFILE — mini sidebar ===== */
.mini-sidebar .user-profile {
    padding: 10px 0 !important;
    text-align: center !important;
    background-position: center !important;
    background-size: cover !important;
    overflow: hidden !important;
}
.mini-sidebar .user-profile .profile-img {
    float: none !important;
    margin: 0 auto !important;
    display: block !important;
    width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
}
.mini-sidebar .user-profile .profile-img img {
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    border: 2px solid rgba(255,255,255,0.40) !important;
}
.mini-sidebar .user-profile .profile-text {
    display: none !important;
}
/* When sidebar expands on hover — restore full profile */
.mini-sidebar .left-sidebar:hover .user-profile {
    padding: 16px !important;
    text-align: left !important;
    overflow: visible !important;
}
.mini-sidebar .left-sidebar:hover .user-profile .profile-img {
    float: left !important;
    margin-right: 10px !important;
    width: 44px !important;
    height: 44px !important;
}
.mini-sidebar .left-sidebar:hover .user-profile .profile-img img {
    width: 44px !important;
    height: 44px !important;
}
.mini-sidebar .left-sidebar:hover .user-profile .profile-text {
    display: block !important;
}

/* ===== USER PROFILE DROPDOWN ===== */
.user-profile {
    overflow: visible !important;
}
.user-profile .dropdown-menu {
    background: #5c1f0a !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.40) !important;
}
.user-profile .dropdown-menu .dropdown-item {
    color: #fed7aa !important;
    font-weight: 500;
}
.user-profile .dropdown-menu .dropdown-item:hover {
    background: rgba(249,115,22,0.30) !important;
    color: #ffffff !important;
}
.user-profile .dropdown-menu .dropdown-item i {
    color: #fdba74 !important;
    margin-right: 6px;
}
