/* BlazorFinalProject/Layout/MainLayout.razor.rz.scp.css */
/*
    MainLayout Styles
    
    Purpose: Provides CSS styling for the MainLayout component, defining the visual layout and responsive 
    behavior of the EventEase application's primary layout structure.
    
    Layout Features:
    - Fixed sidebar with gradient background for consistent navigation
    - Responsive main content area with proper spacing and margins
    - Sticky top header with application branding and logo positioning
    - Footer styling with logo and copyright information
    - Full viewport height layout with flexible content area
    
    Key Components:
    - .page-layout: Main flex container for overall layout structure
    - .sidebar: Fixed-position navigation area with gradient background
    - .main-content-area: Content region with left margin to accommodate sidebar
    - .top-row: Header section with branding and logo styling
    - .app-footer: Bottom section with company information and logo
    
    Responsive Design:
    - Mobile-first approach with breakpoints at 768px
    - Sidebar positioning adjustments for different screen sizes
    - Logo sizing and spacing adaptations for various viewports
    - Content padding adjustments for optimal readability
    
    Color Scheme:
    - Primary gradient: #0f1681 to #444cc2 for sidebar and header
    - White text on colored backgrounds for contrast
    - Border colors: #dee2e6 and #d6d5d5 for subtle separation
    
    Usage: Automatically applied to MainLayout.razor component for consistent application-wide styling.
*/

html[b-chdwsvioa0],
body[b-chdwsvioa0] {
    height: 100%;
    margin: 0;
}

.page-layout[b-chdwsvioa0] {
    display: flex;
    min-height: 100vh;
    align-items: stretch;
}

.sidebar[b-chdwsvioa0] {
    width: 250px;
    background-image: linear-gradient(180deg, #0f1681 0%, #444cc2 70%);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    flex-shrink: 0;
    position: fixed;
    z-index: 1000;
    top: 0;
}

.sidebar .nav-scrollable[b-chdwsvioa0] {
    top: 3.5rem;
    height: calc(100vh - 3.5rem);
    overflow-y: auto;
    flex: 1;
}

.sidebar .nav[b-chdwsvioa0] {
    padding-top: 1rem;
}

.sidebar .nav-link[b-chdwsvioa0] {
    position: relative;
    z-index: 1;
}

.main-content-area[b-chdwsvioa0] {
    margin-left: 250px;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 100vh;
}

.content[b-chdwsvioa0] {
    flex: 1;
    padding-bottom: 1rem;
}

.app-footer[b-chdwsvioa0] {
    padding: 1rem;
    background-color: #444cc2;
    border-top: 1px solid #dee2e6;
    text-align: center;
    color: #fff;
}

.app-footer .logo[b-chdwsvioa0] {
    height: 32px;
    width: auto;
    margin-right: 8px;
    vertical-align: middle;
}

.top-row[b-chdwsvioa0] {
    background-image: linear-gradient(90deg, #0f1681 0%, #444cc2 70%);
    color: #fff;
    border-bottom: 1px solid #d6d5d5;
    justify-content: center;
    height: 5rem;
    display: flex;
    align-items: center;
}

.top-row .logo[b-chdwsvioa0] {
    width: 5rem;
    height: 5rem;
    margin-right: 0.5rem;
    vertical-align: middle;
}

.top-row[b-chdwsvioa0]  a,
.top-row[b-chdwsvioa0]  .btn-link {
    white-space: nowrap;
    margin-left: 1.5rem;
    text-decoration: none;
}

.top-row[b-chdwsvioa0]  a:hover,
.top-row[b-chdwsvioa0]  .btn-link:hover {
    text-decoration: underline;
}

.top-row[b-chdwsvioa0]  a:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 767px) {
    .page-layout[b-chdwsvioa0] {
        flex-direction: column;
    }

    .sidebar[b-chdwsvioa0] {
        position: static;
        width: 100%;
        min-height: auto;
        order: -1; /* Move sidebar to top */
    }

    .main-content-area[b-chdwsvioa0] {
        margin-left: 0;
        order: 0;
    }

    .top-row[b-chdwsvioa0] {
        display: none; /* Hide the header on mobile since navbar replaces it */
    }

    .top-row[b-chdwsvioa0]  a,
    .top-row[b-chdwsvioa0]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 768px) {
    .page[b-chdwsvioa0] {
        flex-direction: row;
    }

    .sidebar[b-chdwsvioa0] {
        width: 250px;
        min-height: 100vh;
        position: fixed;
        top: 0;
    }

    .top-row[b-chdwsvioa0] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-chdwsvioa0]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-chdwsvioa0],
    article[b-chdwsvioa0] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
/* BlazorFinalProject/Layout/NavMenu.razor.rz.scp.css */
/*
    NavMenu Styles
    
    Purpose: Provides CSS styling for the NavMenu component, defining the visual appearance and 
    responsive behavior of the sidebar navigation menu in the EventEase application.
    
    Key Features:
    - Responsive navigation with mobile-first design approach
    - Custom Bootstrap icon styling with embedded SVG backgrounds
    - Navigation brand styling with logo integration
    - Active state highlighting for current page indication
    - Hover effects for improved user interaction feedback
    - Mobile hamburger menu toggle styling
    
    Icon System:
    - Custom Bootstrap Icons using data URI encoded SVGs
    - White-filled icons for consistent navigation theming
    - Specific icons for each navigation section:
      * Home: House door icon
      * Events: Calendar event icon
      * Attendance: People group icon
      * User Manual: File person icon
      * About: Info circle icon
    
    Responsive Breakpoints:
    - Mobile (max-width: 767px): Smaller branding, visible hamburger menu
    - Desktop (min-width: 768px): Hidden hamburger, scrollable navigation area
    
    Color Scheme:
    - Navigation links: Light gray (#d7d7d7) with white on hover/active
    - Active background: Semi-transparent white (rgba(255, 255, 255, 0.37))
    - Hover background: Semi-transparent white (rgba(255, 255, 255, 0.1))
    - Navbar toggler: Semi-transparent white background
    
    Layout Structure:
    - Top row: Brand logo and title with hamburger toggle
    - Navigation items: Consistent spacing and alignment with icons
    - Scrollable area: Responsive height calculation for content overflow
    
    Usage: Automatically applied to NavMenu.razor component for consistent navigation styling.
*/

.navbar-toggler[b-szuzrxnmg5] {
    background-color: rgba(255, 255, 255, 0.1);
}

.top-row[b-szuzrxnmg5] {
    min-height: 3.5rem;
    background-color: rgba(0, 0, 0, 0);
}

.navbar-brand[b-szuzrxnmg5] {
    font-size: 1.1rem;
    color: white;
}

.navbar-brand .logo[b-szuzrxnmg5] {
    height: 32px;
    width: auto;
    margin-right: 8px;
}

.bi[b-szuzrxnmg5] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-szuzrxnmg5] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-szuzrxnmg5] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-szuzrxnmg5] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.bi-info-circle-fill-nav-menu[b-szuzrxnmg5] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-info-circle-fill' viewBox='0 0 16 16'%3E%3Cpath d='M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2'/%3E%3C/svg%3E");
}

.bi-calendar2-event-fill-nav-menu[b-szuzrxnmg5] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-calendar2-event-fill' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5m9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5M11.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5z'/%3E%3C/svg%3E");
}

.bi-people-fill-nav-menu[b-szuzrxnmg5] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-people-fill' viewBox='0 0 16 16'%3E%3Cpath d='M7 14s-1 0-1-1 1-4 5-4 5 3 5 4-1 1-1 1zm4-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6m-5.784 6A2.24 2.24 0 0 1 5 13c0-1.355.68-2.75 1.936-3.72A6.3 6.3 0 0 0 5 9c-4 0-5 3-5 4s1 1 1 1zM4.5 8a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5'/%3E%3C/svg%3E");
}

.bi-file-earmark-person-fill-nav-menu[b-szuzrxnmg5] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-file-earmark-person-fill' viewBox='0 0 16 16'%3E%3Cpath d='M14 4.5V14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h8.5a.5.5 0 0 1 .354.146l3.5 3.5A.5.5 0 0 1 14 4.5m-1-1L10.5.5H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V4.5zM8.5 7a3.5 3.5 0 1 1-7 .001A3.5 3.5 0 0 1 8.5 7m-.001-1A4.501 4.501 0 0 0 .0019.9999h7A4.5019,4.5019,0,0,0,8.4999,6Z'/%3E%3C/svg%3E");
}

.nav-item[b-szuzrxnmg5] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

.nav-item:first-of-type[b-szuzrxnmg5] {
    padding-top: 1rem;
}

.nav-item:last-of-type[b-szuzrxnmg5] {
    padding-bottom: 1rem;
}

.nav-item[b-szuzrxnmg5]  a {
    color: #d7d7d7;
    border-radius: 4px;
    height: 3rem;
    display: flex;
    align-items: center;
    line-height: 3rem;
}

.nav-item[b-szuzrxnmg5]  a.active {
    background-color: rgba(255, 255, 255, 0.37);
    color: white;
}

.nav-item[b-szuzrxnmg5]  a:hover {
    background-color: rgba(255, 255, 255, 0.1);
    color: white;
}

@media (min-width: 768px) {
    .navbar-toggler[b-szuzrxnmg5] {
        display: none;
    }

    .collapse[b-szuzrxnmg5] {
        display: block;
    }

    .nav-scrollable[b-szuzrxnmg5] {
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }

    .nav[b-szuzrxnmg5] {
        flex-direction: column !important;
    }
}

@media (max-width: 767px) {
    .navbar-brand[b-szuzrxnmg5] {
        font-size: 1rem;
    }

    .navbar-brand .logo[b-szuzrxnmg5] {
        height: 24px;
    }

    /* Make navigation horizontal on mobile */
    .nav-scrollable[b-szuzrxnmg5] {
        position: static !important;
        height: auto !important;
        overflow-y: visible !important;
    }

    .nav[b-szuzrxnmg5] {
        flex-direction: row !important;
        flex-wrap: wrap;
        justify-content: center;
        padding: 0.5rem 0 !important;
    }

    .nav-item[b-szuzrxnmg5] {
        padding: 0.25rem 0.5rem !important;
        font-size: 0.8rem;
    }

    .nav-item[b-szuzrxnmg5]  a {
        height: auto !important;
        line-height: 1.5 !important;
        padding: 0.5rem !important;
        display: inline-flex !important;
        align-items: center;
        white-space: nowrap;
    }

    .bi[b-szuzrxnmg5] {
        width: 1rem;
        height: 1rem;
        margin-right: 0.5rem;
    }
}
/* BlazorFinalProject/Pages/About.razor.rz.scp.css */
/*
    About Page Styles
    
    Purpose: Provides custom styling for the About page component to enhance readability,
    navigation, and visual presentation of project documentation content.
    
    Key Features:
    - Scroll margin adjustments for anchor navigation with fixed headers
    - Consistent primary color theming throughout the documentation
    - Enhanced link styling for better user interaction feedback
    - Improved list spacing for better content readability
    - Button styling overrides for consistent brand appearance
    
    Navigation Support:
    - scroll-margin-top: Ensures proper positioning when navigating to anchor sections
    - Accounts for fixed headers or navigation elements (80px offset)
    - Smooth scrolling experience for table of contents navigation
    
    Color Scheme:
    - Primary blue (#0d6efd) for consistent brand theming
    - Hover effects on interactive elements for better UX
    - Bootstrap color overrides for consistent appearance
    
    Typography Enhancements:
    - List item spacing for improved content scanability
    - Link hover effects for clear interaction feedback
    - Consistent text decoration handling
    
    Usage: Automatically applied to About.razor component to provide enhanced
    styling for project documentation, ensuring optimal readability and navigation
    experience for academic evaluation and portfolio presentation.
*/

section[b-nsvzot9xfa] {
    scroll-margin-top: 80px;
}

.text-primary[b-nsvzot9xfa] {
    color: #0d6efd !important;
}

.btn-outline-primary[b-nsvzot9xfa] {
    color: #0d6efd;
    border-color: #0d6efd;
}

.btn-outline-primary:hover[b-nsvzot9xfa] {
    background-color: #0d6efd;
    border-color: #0d6efd;
}

ul li[b-nsvzot9xfa] {
    margin-bottom: 0.5rem;
}

a[b-nsvzot9xfa] {
    color: #0d6efd;
    text-decoration: none;
}

a:hover[b-nsvzot9xfa] {
    text-decoration: underline;
}
/* BlazorFinalProject/Pages/Attendance/Attendance.razor.rz.scp.css */
/*
    Attendance Page Styles
    
    Purpose: Provides responsive styling for the Attendance page, transforming tabular event data 
    into mobile-friendly card layouts for optimal viewing across all device sizes.
    
    Responsive Features:
    - Mobile-first design with breakpoint at 991.98px (Bootstrap lg breakpoint)
    - Table-to-card transformation for mobile devices
    - Automatic data label generation using CSS pseudo-elements
    - Optimized spacing and typography for touch interfaces
    
    Mobile Layout (max-width: 991.98px):
    - Hides table headers and converts rows to individual cards
    - Each table row becomes a standalone card with border and shadow
    - Table cells display as block elements with generated labels
    - Responsive badge and button positioning
    - Enhanced touch targets for mobile interaction
    
    Card Styling:
    - Bootstrap-consistent border radius (0.375rem)
    - Subtle box shadow for depth (0.125rem 0.25rem)
    - Standard border color (#dee2e6) and background (#fff)
    - Proper spacing between cards (1rem margin-bottom)
    
    Data Label System:
    - Uses data-label attributes to generate field labels on mobile
    - Bold labels (#6c757d color) for clear data hierarchy
    - Consistent spacing between labels and values
    - Maintains semantic structure without JavaScript
    
    Element Adjustments:
    - Badge positioning optimized for mobile layout
    - Button styling adapted for touch interfaces
    - Footer statistics cards with responsive spacing
    - Proper text alignment overrides for mobile display
    
    Usage: Automatically applied to Attendance.razor component to ensure optimal
    user experience across desktop and mobile devices for attendance reporting.
*/

@media (max-width: 991.98px) {
    .table-responsive[b-6r72cgw4d6] {
        border: none;
    }

    .table-responsive .table[b-6r72cgw4d6] {
        border: none;
    }

    .table-responsive .table thead[b-6r72cgw4d6] {
        display: none;
    }

    .table-responsive .table tbody tr[b-6r72cgw4d6] {
        display: block;
        border: 1px solid #dee2e6;
        border-radius: 0.375rem;
        margin-bottom: 1rem;
        padding: 0.75rem;
        background-color: #fff;
        box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    }

    .table-responsive .table tbody td[b-6r72cgw4d6] {
        display: block;
        text-align: left !important;
        border: none;
        padding: 0.5rem 0;
        position: relative;
        padding-left: 0 !important;
    }

    .table-responsive .table tbody td[b-6r72cgw4d6]:before {
        content: attr(data-label);
        display: block;
        font-weight: 600;
        color: #6c757d;
        margin-bottom: 0.25rem;
    }

    .table-responsive .table tbody td .badge[b-6r72cgw4d6] {
        margin-left: 0;
    }

    .table-responsive .table tbody td .btn[b-6r72cgw4d6] {
        margin-left: 0;
        margin-top: 0.25rem;
    }

    .card-footer .row .col-md-3[b-6r72cgw4d6] {
        margin-bottom: 1rem;
    }

    .card-footer .row .col-md-3:last-child[b-6r72cgw4d6] {
        margin-bottom: 0;
    }
}
/* BlazorFinalProject/Pages/UserManual.razor.rz.scp.css */
/*
    UserManual Page Styles
    
    Purpose: Provides custom styling for the UserManual page component to enhance readability,
    visual hierarchy, and user interaction with the accordion-based documentation interface.
    
    Key Features:
    - Accordion button styling with active state highlighting
    - Enhanced card shadows for better visual separation
    - Badge sizing optimization for consistent labeling
    - Bootstrap component customizations for professional appearance
    
    Accordion Enhancements:
    - Active accordion buttons with light blue background (#e7f1ff)
    - Primary color text for expanded sections (#0c63e4)
    - Visual feedback for section state and user interaction
    - Consistent with application's primary color scheme
    
    Visual Design:
    - Subtle box shadows (0 2px 4px rgba(0, 0, 0, 0.1)) for depth
    - Refined badge sizing (0.75em) for better readability
    - Professional appearance suitable for business documentation
    - Enhanced visual hierarchy for improved content scanning
    
    Usage: Automatically applied to UserManual.razor component to provide enhanced
    styling for interactive documentation, ensuring optimal readability and professional
    presentation for user training and support materials.
*/

    .accordion-button:not(.collapsed)[b-qnxsss01j8] {
        background-color: #e7f1ff;
        color: #0c63e4;
    }

    .card[b-qnxsss01j8] {
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }

    .badge[b-qnxsss01j8] {
        font-size: 0.75em;
    }
