/* ================================================================
   Hospital Management System — Custom Styles
   ================================================================ */

/* Spinning loader overlay */
.loader {
    border: 8px solid #f3f3f3;
    border-top: 8px solid #696cff;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    animation: hms-spin 0.9s linear infinite;
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 9999;
    display: none;
}

@keyframes hms-spin {
    0%   { transform: translate(-50%, -50%) rotate(0deg); }
    100% { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Token number on print slip */
.token-display {
    font-size: 6rem;
    font-weight: 900;
    color: #696cff;
    line-height: 1;
    letter-spacing: -2px;
}

/* Stat cards */
.stat-icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    flex-shrink: 0;
}

/* Queue patient card */
.queue-card {
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.queue-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(105, 108, 255, 0.15);
}
.queue-card--inprogress {
    border-left: 4px solid #ffab00;
    background: #fffdf4;
}

/* Token circle in queue */
.token-circle {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, #696cff, #9e49ff);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 700;
    flex-shrink: 0;
}

/* Status colours for queue */
.status-waiting     { border-left: 4px solid #03c3ec; }
.status-in-progress { border-left: 4px solid #ffab00; }
.status-completed   { border-left: 4px solid #71dd37; }
.status-cancelled   { border-left: 4px solid #ff3e1d; }

/* Print — hide non-printable elements */
@media print {
    .layout-menu,
    .layout-navbar,
    .content-footer,
    .btn,
    .no-print {
        display: none !important;
    }
    .content-wrapper {
        margin-left: 0 !important;
        padding: 0 !important;
    }
    body {
        background: #fff !important;
    }
}
