@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700;900&display=swap');

html {
    scroll-behavior: smooth;
    font-family: 'Inter', sans-serif;
}

/* ==========================================================================
   1. General & Patron / Customer Styles
   ========================================================================== */
@keyframes slow-pulse {
    0%, 100% {
        box-shadow: 0 0 15px rgba(245, 158, 11, 0.4);
    }
    50% {
        box-shadow: 0 0 35px rgba(245, 158, 11, 0.9);
        transform: scale(1.05);
    }
}

.active-step {
    animation: slow-pulse 2s infinite;
}

/* Scrollbar hiding utility */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Slide transitions for table number selector */
.slide-up {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: all 0.3s ease-out;
    margin-top: 0;
}

.slide-down {
    max-height: 120px;
    opacity: 1;
    transition: all 0.3s ease-in;
    margin-top: 1rem;
}

/* Auth Station Layout */
.station-card {
    background: rgba(12, 10, 9, 0.9);
    backdrop-filter: blur(20px);
    border: 1px solid #292524;
}

/* Patron Checkout Details */
.checkout-card {
    background: rgba(12, 10, 9, 0.9);
    backdrop-filter: blur(20px);
    border: 1px solid #292524;
}


/* ==========================================================================
   2. Staff Portal Styles
   ========================================================================== */

/* Live POS Board Order Cards */
.pos-card {
    background: rgba(28, 25, 23, 0.6);
    backdrop-filter: blur(12px);
    border: 1px solid #292524;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.pos-card:hover {
    border-color: #44403c;
    transform: translateY(-2px);
}

/* Live POS Kanban Columns */
.kanban-col {
    background: rgba(12, 10, 9, 0.4);
    border: 1px solid #1c1917;
}

/* Menu Inventory Listing Cards */
.menu-card {
    background: rgba(28, 25, 23, 0.4);
    backdrop-filter: blur(12px);
    border: 1px solid #1c1917;
    transition: all 0.3s ease;
}

.menu-card:hover {
    background: rgba(28, 25, 23, 0.7);
    border-color: #292524;
}

/* Standalone Add/Edit Form Card */
.form-card {
    background: rgba(28, 25, 23, 0.4);
    backdrop-filter: blur(12px);
    border: 1px solid #1c1917;
}


/* ==========================================================================
   3. Manager Portal Styles
   ========================================================================== */

/* Dashboard KPI Statistics Cards */
.kpi-card {
    background: rgba(28, 25, 23, 0.4);
    backdrop-filter: blur(12px);
    border: 1px solid #1c1917;
}

/* Dashboard Analytics Chart Panels */
.chart-container {
    background: rgba(28, 25, 23, 0.4);
    backdrop-filter: blur(12px);
    border: 1px solid #1c1917;
}

/* Sales Database Table Panels */
.report-card {
    background: rgba(28, 25, 23, 0.4);
    backdrop-filter: blur(12px);
    border: 1px solid #1c1917;
}

/* Sales Filter Inputs */
.filter-input {
    background: #0c0a09;
    border: 1px solid #292524;
    color: #d6d3d1;
}

.filter-input:focus {
    border-color: #ef4444;
    outline: none;
}

/* Print Only Document Header (hidden by default) */
.print-only-title {
    display: none;
}

/* Print Layout Override Stylesheet */
@media print {
    body {
        background: white !important;
        color: black !important;
    }
    main {
        margin-left: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }
    aside {
        display: none !important;
    }
    header, 
    .filter-section, 
    th:last-child, 
    td:last-child,
    .print-hidden {
        display: none !important;
    }
    .print-only-title {
        display: block !important;
    }
    .report-card {
        border: none !important;
        background: transparent !important;
    }
    table {
        border-collapse: collapse;
        width: 100%;
        color: black !important;
    }
    th, td {
        border-bottom: 1px solid #ddd !important;
        padding: 8px !important;
        color: black !important;
    }
}