/*
================================================================================
Theme CSS File
Theme Colors: #000000 (Black) & #FF0000 (Red)

Organization:
1. Foundation (Variables, Resets, Base Elements)
2. Layout (Header, Footer, Containers)
3. Components (Buttons, Cards, Forms, Tables)
4. Utilities (Spacing, Display, Text)
5. Specialized (Page-specific, Media Queries)

Color Reference:
Green: rgb(0, 128, 0)
Yellow: rgb(255, 195, 11)
Red: rgb(237, 28, 36)
================================================================================
*/

/* ============================================================================
   1. FOUNDATION - CSS VARIABLES & BASE ELEMENTS
   ============================================================================ */

/* CSS Variables for Design System */
:root {
    /* Brand Colors */
    --color-primary: #FF0000;
    --color-primary-dark: #CC0000;
    --color-primary-light: #FF3333;
    --color-secondary: #000000;
    --color-dark: #000000;
    --color-success: #10B981;
    --color-danger: #EF4444;
    --color-warning: #F59E0B;
    
    /* Neutral Colors */
    --color-gray-50: #F9FAFB;
    --color-gray-100: #F3F4F6;
    --color-gray-200: #E5E7EB;
    --color-gray-300: #D1D5DB;
    --color-gray-400: #9CA3AF;
    --color-gray-500: #6B7280;
    --color-gray-600: #4B5563;
    --color-gray-700: #374151;
    --color-gray-800: #1F2937;
    --color-gray-900: #111827;
    
    /* Typography */
    --font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", "Roboto", Helvetica, Arial, sans-serif;
    --font-display: "Sport World", var(--font-sans);
    
    /* Spacing */
    --spacing-xs: 0.25rem;
    --spacing-sm: 0.5rem;
    --spacing-md: 1rem;
    --spacing-lg: 1.5rem;
    --spacing-xl: 2rem;
    --spacing-2xl: 3rem;
    
    /* Border Radius */
    --radius-sm: 0.375rem;
    --radius-md: 0.5rem;
    --radius-lg: 0.75rem;
    --radius-xl: 1rem;
    --radius-full: 9999px;
    
    /* Shadows */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    --shadow-primary: 0 4px 15px rgba(255, 191, 0, 0.3);
    
    /* Transitions */
    --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 350ms cubic-bezier(0.4, 0, 0.2, 1);
}

html, body { 
    border: 0; 
    color: var(--color-gray-900); 
    font-family: var(--font-sans); 
    font-size: 15px; 
    line-height: 1.6;
    margin: 0; 
    padding: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
img, iframe { -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track {
    background: var(--color-gray-100);
    border-radius: var(--radius-md);
}
::-webkit-scrollbar-thumb { 
    background: var(--color-gray-400);
    border-radius: var(--radius-md);
    transition: background var(--transition-base);
}
::-webkit-scrollbar-thumb:hover {
    background: var(--color-gray-500);
}
h1 { 
    font-family: var(--font-sans); 
    font-size: 2.5rem; 
    font-weight: 800; 
    color: var(--color-gray-900);
    line-height: 1.2;
    margin-bottom: var(--spacing-lg);
    letter-spacing: -0.025em;
}
h2 { 
    font-family: var(--font-sans); 
    font-size: 2rem; 
    font-weight: 700; 
    color: var(--color-gray-900);
    line-height: 1.3;
    margin-bottom: var(--spacing-md);
    letter-spacing: -0.02em;
}
h3 { 
    font-family: var(--font-sans); 
    font-size: 1.5rem; 
    font-weight: 600; 
    color: var(--color-gray-900);
    line-height: 1.4;
    margin-bottom: var(--spacing-md);
}
h4 { 
    font-family: var(--font-sans); 
    font-size: 1.25rem; 
    font-weight: 600; 
    color: var(--color-gray-900);
    line-height: 1.4;
    margin-bottom: var(--spacing-sm);
}
h5 { 
    font-family: var(--font-sans); 
    font-size: 1.125rem; 
    font-weight: 600; 
    color: var(--color-gray-800);
    line-height: 1.5;
    margin-bottom: var(--spacing-sm);
}
h6 { 
    font-family: var(--font-sans); 
    font-size: 1rem; 
    font-weight: 600; 
    color: var(--color-gray-700);
    line-height: 1.5;
    margin-bottom: var(--spacing-xs);
}
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}
    .L-header { 
        display: flex !important; 
        align-items: center; 
        gap: 0.5rem; 
        margin-left: auto;
    }
    .S-header { 
        display: none !important; 
        align-items: center; 
        gap: 0.5rem; 
        margin-left: auto;
    }
    .L-element { display: none }
    .S-element { display: none }

    .btn { 
        border: 0; 
        border-radius: var(--radius-md); 
        display: inline-flex;
        align-items: center;
        justify-content: center;
        cursor: pointer; 
        font-weight: 600; 
        font-size: 0.9375rem;
        padding: 0.625rem 1.5rem; 
        min-width: 150px; 
        min-height: 44px; 
        text-align: center; 
        white-space: nowrap; 
        transition: all var(--transition-base);
        -webkit-user-select: none; 
        -khtml-user-select: none; 
        -moz-user-select: none; 
        -o-user-select: none; 
        user-select: none;
        box-shadow: var(--shadow-sm);
    }
    .btn:hover { 
        transform: translateY(-2px);
        box-shadow: var(--shadow-md);
        cursor: pointer; 
    }
    .btn:active {
        transform: translateY(0);
        box-shadow: var(--shadow-sm);
    }
    .btn-blue { background: #E1E1E1 url(/img/button/btn-blue.png) repeat-x; color: #FFF }
    .btn-blue:hover { border-color: #808287; background-color: #1569C7; background-position: 0 -25px; }
    .btn-green { background: #E1E1E1 url(/img/button/btn-green.png) repeat-x; color: #FFF }
	.btn-green:hover { border-color: #808080; background-color: #006712; background-position: 0 -25px; }
    .btn-orange { background: #C0C0C0 url(/img/button/btn-orange.png) repeat-x; color: #FFF }
    .btn-orange:hover { border-color: #808080; background-color: #ff5500; background-position: 0 -25px; }

    .btn-do-copy_url { background-color: #FFF; background-image: url("/img/icon/512/do-copy_url.png"); background-position: center center; background-repeat: no-repeat; background-size: 24px auto; border-top: 1px solid #808080; border-right: 2px solid #808080; border-bottom: 2px solid #808080; border-left: 1px solid #808080; border-radius: 5px; cursor: pointer; color: #808080; display: inline-block; font-size: 15px; font-weight: bold; text-align: center; height: 24px; margin: 0px 2px 5px 2px; padding: 15px 15px 15px 15px; text-decoration: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none; }
    .btn-do-copy_url:hover { background: #D3D3D3; background-image: url("/img/icon/512/do-copy_url.png"); background-position: center center; background-repeat: no-repeat; background-size: 24px auto; border-color: #808080 }
    .btn-do-copy_url:active { background: #D3D3D3; background-image: url("/img/icon/512/do-copy_url.png"); background-position: center center; background-repeat: no-repeat; background-size: 24px auto; border-top: 1px solid #D3D3D3; border-right: 2px solid #D3D3D3; border-bottom: 2px solid #D3D3D3; border-left: 1px solid #D3D3D3 }
    .btn-do-refresh { background-color: #FFF; background-image: url("/img/icon/512/do-refresh.png"); background-position: center center; background-repeat: no-repeat; background-size: 24px auto; border-top: 1px solid #808080; border-right: 2px solid #808080; border-bottom: 2px solid #808080; border-left: 1px solid #808080; border-radius: 5px; cursor: pointer; color: #808080; display: inline-block; font-size: 15px; font-weight: bold; text-align: center; height: 24px; margin: 0px 2px 5px 2px; padding: 15px 15px 15px 15px; text-decoration: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none; }
    .btn-do-refresh:hover { background: #D3D3D3; background-image: url("/img/icon/512/do-refresh.png"); background-position: center center; background-repeat: no-repeat; background-size: 24px auto; border-color: #808080 }
    .btn-do-refresh:active { background: #D3D3D3; background-image: url("/img/icon/512/do-refresh.png"); background-position: center center; background-repeat: no-repeat; background-size: 24px auto; border-top: 1px solid #D3D3D3; border-right: 2px solid #D3D3D3; border-bottom: 2px solid #D3D3D3; border-left: 1px solid #D3D3D3 }
    .btn-do-scan { background-color: #FFF; background-image: url("/img/icon/512/do-scan.png"); background-position: center center; background-repeat: no-repeat; background-size: 24px auto; border-top: 1px solid #808080; border-right: 2px solid #808080; border-bottom: 2px solid #808080; border-left: 1px solid #808080; border-radius: 5px; cursor: pointer; color: #808080; display: inline-block; font-size: 15px; font-weight: bold; text-align: center; height: 24px; margin: 0px 2px 5px 2px; padding: 15px 15px 15px 15px; text-decoration: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none; }
    .btn-do-scan:hover { background: #D3D3D3; background-image: url("/img/icon/512/do-scan.png"); background-position: center center; background-repeat: no-repeat; background-size: 24px auto; border-color: #808080 }
    .btn-do-scan:active { background: #D3D3D3; background-image: url("/img/icon/512/do-scan.png"); background-position: center center; background-repeat: no-repeat; background-size: 24px auto; border-top: 1px solid #D3D3D3; border-right: 2px solid #D3D3D3; border-bottom: 2px solid #D3D3D3; border-left: 1px solid #D3D3D3 }
    .btn-do-search { background-color: #FFF; background-image: url("/img/icon/512/do-search.png"); background-position: center center; background-repeat: no-repeat; background-size: 24px auto; border-top: 1px solid #808080; border-right: 2px solid #808080; border-bottom: 2px solid #808080; border-left: 1px solid #808080; border-radius: 5px; cursor: pointer; color: #808080; display: inline-block; font-size: 15px; font-weight: bold; text-align: center; height: 24px; margin: 0px 2px 5px 2px; padding: 15px 15px 15px 15px; text-decoration: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none; }
    .btn-do-search:hover { background: #D3D3D3; background-image: url("/img/icon/512/do-search.png"); background-position: center center; background-repeat: no-repeat; background-size: 24px auto; border-color: #808080 }
    .btn-do-search:active { background: #D3D3D3; background-image: url("/img/icon/512/do-search.png"); background-position: center center; background-repeat: no-repeat; background-size: 24px auto; border-top: 1px solid #D3D3D3; border-right: 2px solid #D3D3D3; border-bottom: 2px solid #D3D3D3; border-left: 1px solid #D3D3D3 }
    .btn-go-return_page { background-color: #FFF; background-image: url("/img/icon/512/go-return_page.png"); background-position: center center; background-repeat: no-repeat; background-size: 24px auto; border-top: 1px solid #808080; border-right: 2px solid #808080; border-bottom: 2px solid #808080; border-left: 1px solid #808080; border-radius: 5px; cursor: pointer; color: #808080; display: inline-block; font-size: 15px; font-weight: bold; text-align: center; height: 24px; margin: 0px 2px 5px 2px; padding: 15px 15px 15px 15px; text-decoration: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none; }
    .btn-go-return_page:hover { background: #D3D3D3; background-image: url("/img/icon/512/go-return_page.png"); background-position: center center; background-repeat: no-repeat; background-size: 24px auto; border-color: #808080 }
    .btn-go-return_page:active { background: #D3D3D3; background-image: url("/img/icon/512/go-return_page.png"); background-position: center center; background-repeat: no-repeat; background-size: 24px auto; border-top: 1px solid #D3D3D3; border-right: 2px solid #D3D3D3; border-bottom: 2px solid #D3D3D3; border-left: 1px solid #D3D3D3 }

    .btn-menu { 
        background: white;
        border: 1px solid var(--color-gray-200);
        border-radius: var(--radius-md);
        box-shadow: var(--shadow-sm);
        cursor: pointer;
        color: var(--color-gray-700);
        display: block;
        font-size: 0.9375rem;
        font-weight: 600;
        text-align: left;
        padding: var(--spacing-md) var(--spacing-lg);
        min-width: 230px;
        margin: 0 0 var(--spacing-sm) 0;
        text-decoration: none;
        transition: all var(--transition-base);
        position: relative;
        -webkit-user-select: none;
        -khtml-user-select: none;
        -moz-user-select: none;
        -o-user-select: none;
        user-select: none;
    }
	.btn-menu:hover { 
        background: var(--color-gray-50);
        border-color: var(--color-primary);
        color: var(--color-gray-900);
        transform: translateX(4px);
        box-shadow: var(--shadow-md);
    }
    .btn-menu:active { 
        background: var(--color-gray-100);
        transform: translateX(2px);
    }
    .btn-menu-activated { 
        background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
        border: 1px solid var(--color-primary-dark);
        border-radius: var(--radius-md);
        box-shadow: var(--shadow-md);
        cursor: pointer;
        color: var(--color-dark);
        display: block;
        font-size: 0.9375rem;
        font-weight: 700;
        text-align: left;
        padding: var(--spacing-md) var(--spacing-lg);
        min-width: 230px;
        margin: 0 0 var(--spacing-sm) 0;
        text-decoration: none;
        transform: translateX(4px);
        -webkit-user-select: none;
        -khtml-user-select: none;
        -moz-user-select: none;
        -o-user-select: none;
        user-select: none;
    }
    .btn-menu-activated::before {
        content: '';
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 4px;
        height: 60%;
        background: var(--color-dark);
        border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    }

    .btn-pagination { background-color: #FFF; border-top: 1px solid #808080; border-right: 2px solid #808080; border-bottom: 2px solid #808080; border-left: 1px solid #808080; border-radius: 5px; cursor: pointer; color: #808080; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; font-weight: bold; text-align: center; height: 31px; margin: 0px 5px 0px 5px; padding: 0px 10px; text-decoration: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none; }
	.btn-pagination:hover { background: #D3D3D3; border-color: #808080 }
    .btn-pagination:active { background: #D3D3D3; border-top: 1px solid #D3D3D3; border-right: 2px solid #D3D3D3; border-bottom: 2px solid #D3D3D3; border-left: 1px solid #D3D3D3 }
    .btn-pagination-activated { background-color: #D3D3D3; border-top: 1px solid #808080; border-right: 2px solid #808080; border-bottom: 2px solid #808080; border-left: 1px solid #808080; border-radius: 5px; cursor: pointer; color: #808080; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; font-weight: bold; text-align: center; height: 31px; margin: 0px 5px 0px 5px; padding: 0px 10px; text-decoration: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none; }

    .btn-tab-horizontal { 
        background: linear-gradient(to bottom, #ffffff, #f5f5f5);
        border: 1px solid #c0c0c0;
        border-radius: 5px;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
        cursor: pointer;
        color: #333;
        display: inline-block;
        font-size: 12px;
        font-weight: 600;
        text-align: center;
        margin: 0px 4px 10px 4px;
        padding: 6px 14px;
        text-decoration: none;
        transition: all 0.3s ease;
        -webkit-user-select: none;
        -khtml-user-select: none;
        -moz-user-select: none;
        -o-user-select: none;
        user-select: none;
    }
    .btn-tab-horizontal:hover { 
        background: linear-gradient(to bottom, #f8f8f8, #e8e8e8);
        border-color: #a0a0a0;
        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
        transform: translateY(-1px);
    }
    .btn-tab-horizontal:active { 
        background: linear-gradient(to bottom, #e0e0e0, #d0d0d0);
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) inset;
        transform: translateY(0px);
    }
    .btn-tab-horizontal-activated { 
        background: linear-gradient(to bottom, var(--color-primary), var(--color-primary-dark));
        border: 1px solid var(--color-primary-dark);
        border-radius: 5px;
        box-shadow: 0 2px 5px rgba(255, 165, 0, 0.25);
        cursor: pointer;
        color: #ffffff;
        display: inline-block;
        font-size: 12px;
        font-weight: 600;
        text-align: center;
        margin: 0px 4px 10px 4px;
        padding: 6px 14px;
        text-decoration: none;
        transition: all 0.3s ease;
        -webkit-user-select: none;
        -khtml-user-select: none;
        -moz-user-select: none;
        -o-user-select: none;
        user-select: none;
    }

    .btn-display_arrangement-card { 
        background-image: url("/img/icon/512/icon.display_arrangement.card.png"); 
        background-size: 22px 22px; background-repeat: no-repeat; 
        background-position: center center; color: #FFF; cursor: pointer; padding: 5px 15px 6px 15px; text-decoration: none;
    }
    .btn-display_arrangement-card:hover { background-color: #E5E5E5; opacity: 0.5; }
    .btn-display_arrangement-card-activated { 
        background: #E5E5E5;
        background-image: url("/img/icon/512/icon.display_arrangement.card.png"); 
        background-size: 22px 22px; background-repeat: no-repeat; 
        background-position: center center; color: #FFF; cursor: pointer; padding: 5px 15px 6px 15px; text-decoration: none;
    }
    .btn-display_arrangement-row { 
        background-image: url("/img/icon/512/icon.display_arrangement.row.png"); 
        background-size: 22px 22px; background-repeat: no-repeat; 
        background-position: center center; color: #FFF; cursor: pointer; padding: 5px 15px 6px 15px; text-decoration: none;
    }
    .btn-display_arrangement-row:hover { background-color: #E5E5E5; opacity: 0.5; }
    .btn-display_arrangement-row-activated { 
        background: #E5E5E5;
        background-image: url("/img/icon/512/icon.display_arrangement.row.png"); 
        background-size: 22px 22px; background-repeat: no-repeat; 
        background-position: center center; color: #FFF; cursor: pointer; padding: 5px 15px 6px 15px; text-decoration: none;
    }

    .btn-cancel {
        background-color: #2565AE;
        background-image: url("/img/icon/512/x-close.png");
        background-position: center center;
        background-repeat: no-repeat; 
        background-size: 16px auto; 
        border: none;
        border-radius: 5px;
        cursor: pointer;
        padding: 11px 11px 11px 11px;
        -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none;
    }
    .btn-cancel:hover,.btn-cancel:active { opacity: 0.5 }
    .btn-copy {
        background-color: #808080;
        background-image: url("/img/icon/512/copy.png");
        background-position: center center;
        background-repeat: no-repeat; 
        background-size: 16px auto; 
        border: none;
        border-radius: 5px;
        cursor: pointer;
        padding: 11px 11px 11px 11px;
        -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none;
    }
    .btn-copy:hover,.btn-copy:active { opacity: 0.5 }
    .btn-edit {
        background-color: #2565AE;
        background-image: url("/img/icon/512/edit.png");
        background-position: center center;
        background-repeat: no-repeat; 
        background-size: 16px auto; 
        border: none;
        border-radius: 5px;
        cursor: pointer;
        padding: 11px 11px 11px 11px;
        -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none;
    }
    .btn-edit:hover,.btn-edit:active { opacity: 0.5 }
    .btn-save {
        background-color: #2565AE;
        background-image: url("/img/icon/512/save.png");
        background-position: center center;
        background-repeat: no-repeat; 
        background-size: 16px auto; 
        border: none;
        border-radius: 5px;
        cursor: pointer;
        padding: 11px 11px 11px 11px;
        -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none;
    }
    .btn-save:hover,.btn-save:active { opacity: 0.5 }

    .btn-close {
        background-color: #ff0000;
        background-image: url("/img/icon/512/x-close.png");
        background-position: center center;
        background-repeat: no-repeat; 
        background-size: 16px auto; 
        border: none;
        border-radius: 5px;
        cursor: pointer;
        padding: 11px 11px 11px 11px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        transition: all var(--transition-base);
        -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none;
    }
    .btn-close:hover,.btn-close:active { opacity: 0.5 }

    .btn-submit { 
        background-color: #1F51BA; 
        border: 0; 
        border-radius: 5px; 
        color: #fff; 
        cursor: pointer; 
        font-weight: bold; 
        padding: 10px 20px 10px 20px; 
        text-decoration: none; 
        -webkit-user-select: none; 
        -khtml-user-select: none; 
        -moz-user-select: none; 
        -o-user-select: none; 
        user-select: none; 
    }	
    .btn-submit:hover { 
        opacity: 0.5; 
        text-decoration: none; 
    }

    .btn-upload_image {
		border: #D4D4D4 1px solid; 
		border-radius: 5px; 
		cursor: pointer;
		display: inline; 
		float: left; 
		padding: 10px 10px 10px 10px;
		height: 100px;
		width: 100px;
	}
	.btn-upload_image:hover { opacity: 0.5 }

    .favorite-button, .share-button {
        position: absolute;
        top: 12px;
        background-color: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(10px);
        border-radius: var(--radius-full);
        padding: var(--spacing-sm);
        cursor: pointer;
        transition: all var(--transition-base);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 20;
        box-shadow: var(--shadow-md);
        pointer-events: auto;
    }

    .favorite-button {
        right: 10px; /* Adjust position if needed */
    }
    
    .favorite-button svg {
        width: 24px;
        height: 24px;
        transform: translateY(-1px); /* Move the icon 1 pixel upwards */
    }
    
    .share-button {
        right: 50px; /* Adjust position if needed */
    }
    
    .share-button svg {
        fill: #D5D5D5; /* Share icon color */
        width: 24px;
        height: 24px;
        transform: translateX(-2px); /* Move the icon 2 pixels to the left */
    }
    
    .favorite-button:hover, .share-button:hover {
        background-color: #FFBF00;
        transform: scale(1.1);
        box-shadow: 0 2px 8px rgba(255, 191, 0, 0.4);
    }
    
    .share-button:hover svg {
        fill: #000;
    }

    .card-container {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
		gap: var(--spacing-xl);
		padding: var(--spacing-md);
		max-width: 1400px;
		margin: 0 auto;
	}
	.card {
		width: 100%;
		background: #fff;
		border: 1px solid var(--color-gray-200);
		border-radius: var(--radius-lg);
		overflow: hidden;
		box-shadow: var(--shadow-md);
		transition: all var(--transition-base);
        position: relative;
	}
	.card:hover {
		transform: translateY(-8px);
		border-color: var(--color-primary);
		box-shadow: var(--shadow-xl), var(--shadow-primary);
	}
	.card-image {
		width: 100%;
		height: 0;
		padding-bottom: 100%;
		overflow: hidden;
		position: relative;
	}
	.card-image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		position: absolute;
		top: 0;
		left: 0;
		image-rendering: -webkit-optimize-contrast;
		image-rendering: crisp-edges;
		backface-visibility: hidden;
		transform: translateZ(0);
	}
	.card-content {
		padding: var(--spacing-lg);
	}
	.card-title {
		font-size: 1.375rem;
		margin: 0 0 var(--spacing-sm);
		color: var(--color-gray-900);
		font-weight: 700;
		line-height: 1.3;
		letter-spacing: -0.01em;
	}
	.card-description {
		color: var(--color-gray-600);
		margin: var(--spacing-md) 0 0;
		max-height: 120px;
		overflow-y: auto;
		overflow-x: hidden;
		font-size: 0.9375rem;
		line-height: 1.6;
	}
	.card-button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
        font-weight: 600;
        font-size: 0.9375rem;
		text-align: center;
		background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
		color: var(--color-dark);
		padding: 0.75rem 1.5rem;
		margin-top: var(--spacing-md);
		border: 0;
		border-radius: var(--radius-md);
		text-decoration: none;
		box-shadow: var(--shadow-primary);
		transition: all var(--transition-base);
		min-height: 44px;
		width: 100%;
		box-sizing: border-box;
	}
	.card-button:hover {
		background: linear-gradient(135deg, var(--color-primary-light) 0%, var(--color-primary) 100%);
		transform: translateY(-2px);
		box-shadow: var(--shadow-lg), 0 6px 20px rgba(255,191,0,0.4);
	}
	.card-button:active {
		transform: translateY(0);
		box-shadow: var(--shadow-primary);
	}
	/* Responsive Design */
	@media (max-width: 700px) {
		.card {
			flex: 1 1 calc(50% - 20px);
		}
	}

    .header-btn-login { background: var(--color-dark); background-size: 30px 30px; border-radius: 5px; color: #fff; cursor: pointer; font-weight: bold; font-weight: bold; padding: 21px 20px 22px 20px; text-decoration: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none; }
	.header-btn-login:hover { background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%); text-decoration: none; }

    .header-btn-dropdown-arrowdown { border-top: 7px solid #fff; border-right: 5px solid transparent; border-left: 5px solid transparent; cursor: pointer; }

    .header-btn-dropdown-gainaccess { background-image: url("/img/icon/512/icon.user_default.png"); background-position: center center; background-repeat: no-repeat; background-size: 30px 30px; border-radius: 5px; color: #FFF; cursor: pointer; padding: 21px 30px 21px 30px; text-decoration: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none; }
	.header-btn-dropdown-gainaccess:hover { 
        background-color: var(--color-dark);
        background-image: url("/img/icon/512/icon.user_default.png");
        background-position: center center; 
        background-repeat: no-repeat; 
        background-size: 30px 30px;
        text-decoration: none; 
    }
	.header-btn-dropdown-gainaccess img { border-radius: 2em; position: absolute; margin-left: -15px; height: 30px; z-index: 1; }
    .header-btn-dropdown-gainaccess-container { position: relative; display: inline-block }
    .header-btn-dropdown-gainaccess-container:hover .header-btn-dropdown-gainaccess-box { display: block; }
    .header-btn-dropdown-gainaccess-box:hover ~ .header-btn-dropdown-gainaccess,
    .header-btn-dropdown-gainaccess-container:hover .header-btn-dropdown-gainaccess { background-color: var(--color-primary); }
	.header-btn-dropdown-gainaccess-box { animation: fadeInDown 0.2s ease-out; border-radius: 5px; color: #fff; cursor: pointer; display: none; margin-left: -60px; padding-top: 17px; position: absolute; z-index: 25; }
    .header-btn-dropdown-gainaccess-box-content {
        background-color: var(--color-dark); border-bottom-left-radius: 5px; border-bottom-right-radius: 5px
    }
    .header-btn-dropdown-gainaccess-button { color: #fff; font-weight: 600; text-decoration: none; transition: all var(--transition-base); }
    .header-btn-dropdown-gainaccess-button-content { border-radius: 5px; padding: var(--spacing-md); min-width: 180px; transition: all var(--transition-base); }
    .header-btn-dropdown-gainaccess-button-content:hover { background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%); padding-left: 1rem; }

    .header-btn-dropdown-dashboard { background: var(--color-dark); background-size: 30px 30px; border-radius: 5px; color: #fff; cursor: pointer; font-weight: bold; font-weight: bold; padding: 21px 20px 22px 20px; text-decoration: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none; }
	.header-btn-dropdown-dashboard:hover { background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%); text-decoration: none; }
	.header-btn-dropdown-dashboard img { border-radius: 2em; position: absolute; margin-top: -8px; margin-left: -15px; height: 30px }
    .header-btn-dropdown-dashboard-container { position: relative; display: inline-block }
    .header-btn-dropdown-dashboard-container:hover .header-btn-dropdown-dashboard-box { display: block; }
    .header-btn-dropdown-dashboard-box:hover ~ .header-btn-dropdown-dashboard,
    .header-btn-dropdown-dashboard-container:hover .header-btn-dropdown-dashboard { background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%); text-decoration: none; }
	.header-btn-dropdown-dashboard:hover { background-color: #888; text-decoration: none; }
	.header-btn-dropdown-dashboard-box { 
        animation: fadeInDown 0.2s ease-out; 
        border-radius: 5px; 
        color: #fff; cursor: pointer; 
        display: none; 
        margin-left: -20px; 
        padding-top: 17px; 
        position: absolute; 
        z-index: 25; 
    }
    .header-btn-dropdown-dashboard-box-content {
        background-color: var(--color-dark); border-bottom-left-radius: 5px; border-bottom-right-radius: 5px
    }
    .header-btn-dropdown-dashboard-button { color: #fff; font-weight: bold; text-decoration: none; transition: all var(--transition-base); }
    .header-btn-dropdown-dashboard-button-content { border-radius: 5px; padding: var(--spacing-md); min-width: 180px; transition: all var(--transition-base); }
    .header-btn-dropdown-dashboard-button-content:hover { background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%); padding-left: 1rem; }

    .header-btn-dropdown-lang { background-size: 18px 18px; background-repeat: no-repeat; background-position: center center; border-radius: 5px; cursor: pointer; padding: 21px 21px 22px 22px; text-decoration: none; }
    .header-btn-dropdown-lang-container { position: relative; display: inline-block; }
    .header-btn-dropdown-lang-container:hover .header-btn-dropdown-lang-box { display: block; }
    .header-btn-dropdown-lang-box:hover ~ .header-btn-dropdown-lang,
    .header-btn-dropdown-lang-container:hover .header-btn-dropdown-lang { background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%); }
    .header-btn-dropdown-lang:hover { background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%); text-decoration: none; }
    .header-btn-dropdown-lang-box { animation: fadeInDown 0.2s ease-out; border-radius: 5px; color: #fff; cursor: pointer; display: none; margin-left: -60px; padding-top: 17px; position: absolute; z-index: 25; }
    .header-btn-dropdown-lang-box-content {
        background-color: var(--color-dark); border-bottom-left-radius: 5px; border-bottom-right-radius: 5px
    }
    .header-btn-dropdown-lang-button { color: #fff; font-weight: bold; text-decoration: none; transition: all var(--transition-base); }
    .header-btn-dropdown-lang-button-content { border-radius: 5px; padding: var(--spacing-md); min-width: 60px; transition: all var(--transition-base); }
    .header-btn-dropdown-lang-button-content:hover { background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%); padding-left: 1rem; }

    .header-btn-option { color: #000; cursor: pointer; font-weight: bold; border-radius: 5px; text-decoration: none; transition: all var(--transition-base); -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none; }
    .header-btn-option:hover, .header-btn-option:active { background-color: rgba(255, 191, 0, 0.1); color: var(--color-primary); text-decoration: none }

    .header-btn-small-content {
        background: var(--color-dark); border: none; 
        color: #fff; cursor: pointer; 
        font-weight: bold; 
        text-align: center; text-decoration: none;
    }

    .footer { background-color: var(--color-dark); color: #fff; padding: 0px; top: 0; left: 0; width: 100%; -webkit-text-size-adjust: none; }
    .footer-bar { background-color: var(--color-dark); width: 80%; }
    .footerlink { color: #fff; cursor: pointer; font-weight: bold; font-size: 10px; text-decoration: none; white-space: nowrap; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none; }
    .footerlink:hover, .footerlink:active { color: #A0A0A0; text-decoration: none }

    .header { 
        background: var(--color-dark); 
        box-shadow: var(--shadow-lg); 
        color: #fff; 
        padding: 0; 
        position: sticky;
        top: 0; 
        left: 0; 
        height: 70px; 
        width: 100%; 
        z-index: 25;
        backdrop-filter: blur(10px);
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .header-bar { 
        background: transparent; 
        padding: 0 20px; 
        white-space: nowrap; 
        height: 100%; 
        width: 80%;
        max-width: 80%;
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .header-btn-image-course_information { 
        background-image: url("/img/button/btn-course_information.png"); 
        background-position: center center; background-repeat: no-repeat; background-size: 30px 30px; border-radius: 5px; 
        color: #fff; cursor: pointer; padding: 31px 30px 31px 30px; text-decoration: none; 
        -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none; 
    }
	.header-btn-image-course_information:hover { 
        background-image: url("/img/button/btn-course_information.png");
        background-position: center center; 
        background-repeat: no-repeat; 
        background-size: 30px 30px;
        background-color: var(--color-primary);
        text-decoration: none; 
    }
    .header-btn-image-course_information-option { color: #000; cursor: pointer; font-weight: 600; padding: 0.5rem 1rem; border-radius: var(--radius-md); text-decoration: none; transition: all var(--transition-base); -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none; }
    .header-btn-image-course_information-option:hover, .header-btn-image-course_information-option:active { background-color: rgba(255, 191, 0, 0.1); color: var(--color-primary); text-decoration: none }

    .header-btn-image-qr_scan { 
        background-image: url("/img/button/btn-qrcode_reader.png"); 
        background-position: center center; background-repeat: no-repeat; background-size: 30px 30px; border-radius: 5px; 
        color: #fff; cursor: pointer; padding: 31px 30px 31px 30px; text-decoration: none; 
        -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none; 
    }
	.header-btn-image-qr_scan:hover { 
        background-image: url("/img/button/btn-qrcode_reader.png");
        background-position: center center; 
        background-repeat: no-repeat; 
        background-size: 30px 30px;
        background-color: var(--color-primary);
        text-decoration: none; 
    }
    .header-btn-image-qr_scan-option { color: #000; cursor: pointer; font-weight: 600; padding: 0.5rem 1rem; border-radius: var(--radius-md); text-decoration: none; transition: all var(--transition-base); -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none; }
    .header-btn-image-qr_scan-option:hover, .header-btn-image-qr_scan-option:active { background-color: rgba(255, 191, 0, 0.1); color: var(--color-primary); text-decoration: none }

    .header-menu-btn-image { 
        background-image: url("/img/button/btn-qrcode_reader.png"); 
        background-position: center; 
        background-repeat: no-repeat; background-size: 35px 35px; cursor: pointer; padding: 15px 25px 35px 25px; }

    #header-menu-btn { 
        background-image: url("/img/button/menu.png"); 
        background-position: center; 
        background-repeat: no-repeat; background-size: 35px 35px; cursor: pointer; padding: 15px 10px 35px 25px; }
    .header-menu-container { background-color: var(--color-dark); display: none; position: fixed; top: 70px; left: 0; width: 100%; max-height: calc(100vh - 70px); overflow-y: auto; z-index: 25; box-shadow: var(--shadow-xl); transition: all var(--transition-base); }
    .header-menu-option-content { background-color: #FFF; border-radius: 5px; color: #000; cursor: pointer; font-weight: bold; text-align: left; text-decoration: none; padding-left: 5px; }

    .btn-index-read_more { 
        background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%); border: 0; border-radius: 5px; box-shadow: 0 4px 15px rgba(255,191,0,0.4); 
        color: #000; 
        display: inline-block; 
        font-weight: bold; font-size: 16px; 
        line-height: 1.5;
        min-height: 18px; min-width: 75px; 
        padding: 18px 35px; 
        text-align: center; text-decoration: none; transition: all 0.3s; 
        white-space: nowrap; 
        -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none; 
    }	
    .btn-index-read_more:hover,.btn-index-read_more:active { background: linear-gradient(135deg, var(--color-primary-light) 0%, var(--color-primary) 100%); transform: scale(1.05); cursor: pointer; box-shadow: 0 6px 20px rgba(255,191,0,0.5); }
    .btn-index-browse { 
        background: rgba(255,255,255,0.2); backdrop-filter: blur(10px); border: 2px solid #FFF; border-radius: 5px; 
        color: #FFF; 
        display: inline-block; 
        font-weight: bold; font-size: 16px; 
        line-height: 1.5;
        padding: 16px 35px; 
        text-align: center; text-decoration: none; transition: all 0.3s }
    .btn-index-browse:hover, .btn-index-browse:active { background: rgba(255,255,255,0.3); transform: scale(1.05); }

    .hyperlink { color: blue; text-decoration: none }
    .hyperlink:hover,.hyperlink:active { color: blue; text-decoration: underline }
    .hyperlink-black { color: black; text-decoration: none }
    .hyperlink-black:hover,.hyperlink-black:active { color: blue; text-decoration: underline }

    .icon-result-green { background-image: url("/img/icon/256/sign-green.png"); background-position: center center; background-repeat: no-repeat; background-size: 20px 20px; margin: 0px 5px 0px 5px; padding: 15px 10px 15px 10px; }
    .icon-result-red { background-image: url("/img/icon/256/sign-red.png"); background-position: center center; background-repeat: no-repeat; background-size: 20px 20px; margin: 0px 5px 0px 5px; padding: 15px 10px 15px 10px; }
    .icon-result-yellow { background-image: url("/img/icon/256/sign-yellow.png"); background-position: center center; background-repeat: no-repeat; background-size: 20px 20px; margin: 0px 5px 0px 5px; padding: 15px 10px 15px 10px; }
    .icon-status-green { background-image: url("/img/icon/256/status-green.png"); background-position: center center; background-repeat: no-repeat; background-size: 20px 20px; cursor: pointer; margin: 0px 5px 0px 5px; padding: 15px 10px 15px 10px; }
    .icon-status-red { background-image: url("/img/icon/256/status-red.png"); background-position: center center; background-repeat: no-repeat; background-size: 20px 20px; cursor: pointer; margin: 0px 5px 0px 5px; padding: 15px 10px 15px 10px; }
    .icon-status-yellow { background-image: url("/img/icon/256/status-yellow.png"); background-position: center center; background-repeat: no-repeat; background-size: 20px 20px; cursor: pointer; margin: 0px 5px 0px 5px; padding: 15px 10px 15px 10px; }

    .index-block_out { background-color: rgba(0,0,0,0.8); display: none; position: fixed; height: 100%; width: 100%; z-index: 100 }
    .index-block_out div { color: #FFF; font-size: 30px; font-weight: bold; padding-top: 150px; width: 80%; }

    /* Image Viewer Lightbox */
    .image-viewer-overlay { background-color: rgba(0,0,0,0.8); display: none; position: fixed; top: 0; left: 0; height: 100%; width: 100%; z-index: 90; }
    .image-viewer-container { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; padding: 20px; box-sizing: border-box; }
    .image-viewer-main { position: relative; max-width: 90%; max-height: 70%; display: flex; align-items: center; justify-content: center; }
    .image-viewer-image { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 5px; }
    .image-viewer-close { position: fixed; top: 20px; left: 20px; padding: 10px 15px; background: rgba(255,255,255,0.9); color: #333; font-weight: bold; border: 2px solid #808080; border-radius: 5px; cursor: pointer; transition: all 0.3s ease; z-index: 90; font-size: 18px; }
    .image-viewer-close:hover { background: rgba(255,59,88,0.9); border-color: #FF3B58; color: white; }
    .image-viewer-close:active { background: rgba(255,59,88,1); transform: scale(0.95); }
    .image-viewer-prev, .image-viewer-next { position: fixed; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,0.3); color: #FFF; border: none; width: 50px; height: 50px; border-radius: 50%; cursor: pointer; font-size: 24px; line-height: 1; transition: background 0.3s; z-index: 90 }
    .image-viewer-prev:hover, .image-viewer-next:hover { background: rgba(255,255,255,0.5); }
    .image-viewer-prev { left: 20px; }
    .image-viewer-next { right: 20px; }
    .image-viewer-thumbnails { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); display: flex; gap: 10px; padding: 10px; background: rgba(0,0,0,0.5); border-radius: 8px; overflow-x: auto; max-width: 90%; }
    .image-viewer-thumbnail { width: 80px; height: 80px; object-fit: cover; cursor: pointer; border: 3px solid transparent; border-radius: 5px; transition: border 0.3s; opacity: 0.6; }
    .image-viewer-thumbnail:hover { opacity: 1; }
    .image-viewer-thumbnail.active { border-color: #007bff; opacity: 1; }

    .index-board { display: table-cell; vertical-align: middle; width: 100% }
    .index-container { width: 80% }
    .index-content { padding: 30px 10px 30px 10px }

    .index-banner-btn-go-back {
        background-color: rgba(0, 0, 0, 0.7);
        backdrop-filter: blur(10px);
        background-image: url("/img/icon/512/go-return_page.png"); 
        background-position: center center; 
        background-repeat: no-repeat; 
        background-size: 30px auto;
        border-radius: var(--radius-md);
        box-shadow: var(--shadow-md);
        color: white;
        cursor: pointer;
        padding: 18px 18px;
        transition: all var(--transition-base);
    }
    .index-banner-btn-go-back:hover {
        background-color: rgba(0, 0, 0, 0.9);
        transform: scale(1.05);
        box-shadow: var(--shadow-lg);
        text-decoration: none;
        opacity: 0.8;
    }
    .index-banner-container {
        position: absolute; bottom: 20px; left: 0; width: 100%;
    }
    .index-banner-content {
        text-align: left; padding: 10px;
    }

    .inputfield { border: #D4D4D4 1px solid; border-radius: 5px; padding: 8px 8px 8px 8px }

    .loading-circle { border: 3px solid #f3f3f3; border-radius: 50%; border-top: 3px solid #3498db; width: 10px; height: 10px; -webkit-animation: spin 2s linear infinite; /* Safari */ animation: spin 2s linear infinite; }
        @-webkit-keyframes spin { 0% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); } }
        @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

    /* LEFT/RIGHT Switcher */
    .leftrightswitch {
        position: relative; width: 30px;
        -webkit-user-select:none; -moz-user-select:none; -ms-user-select: none;
    }
    .leftrightswitch-checkbox {
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }
    .leftrightswitch-label {
        display: block; overflow: hidden; cursor: pointer;
        height: 12px; padding: 0; line-height: 12px;
        border: 0px solid #FFFFFF; border-radius: 20px;
        background-color: #9E9E9E;
    }
    .leftrightswitch-label:before {
        content: "";
        display: block; width: 20px; margin: -4px;
        background: #2196F3;
        position: absolute; top: 0; bottom: 0;
        right: 14px;
        border-radius: 20px;
        box-shadow: 3px 6px 18px 0px rgba(0, 0, 0, 0.2);
    }
    .leftrightswitch-checkbox:checked + .leftrightswitch-label {
        background-color: #9E9E9E;
    }
    .leftrightswitch-checkbox:checked + .leftrightswitch-label, .leftrightswitch-checkbox:checked + .leftrightswitch-label:before {
        border-color: #9E9E9E;
    }
    .leftrightswitch-checkbox:checked + .leftrightswitch-label .leftrightswitch-inner {
        margin-left: 0;
    }
    .leftrightswitch-checkbox:checked + .leftrightswitch-label:before {
        right: 0px; 
        background-color: #2196F3; 
        box-shadow: 3px 6px 18px 0px rgba(0, 0, 0, 0.2);
    }

    /* ON/OFF Switcher */
    .onoffswitch {
        position: relative; width: 30px;
        -webkit-user-select:none; -moz-user-select:none; -ms-user-select: none;
    }
    .onoffswitch-checkbox {
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }
    .onoffswitch-label {
        display: block; overflow: hidden; cursor: pointer;
        height: 12px; padding: 0; line-height: 12px;
        border: 0px solid #FFFFFF; border-radius: 20px;
        background-color: #9E9E9E;
    }
    .onoffswitch-label:before {
        content: "";
        display: block; width: 20px; margin: -4px;
        background: #FFFFFF;
        position: absolute; top: 0; bottom: 0;
        right: 14px;
        border-radius: 20px;
        box-shadow: 0 6px 12px 0px #757575;
    }
    .onoffswitch-checkbox:checked + .onoffswitch-label {
        background-color: #42A5F5;
    }
    .onoffswitch-checkbox:checked + .onoffswitch-label, .onoffswitch-checkbox:checked + .onoffswitch-label:before {
        border-color: #42A5F5;
    }
    .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
        margin-left: 0;
    }
    .onoffswitch-checkbox:checked + .onoffswitch-label:before {
        right: 0px; 
        background-color: #2196F3; 
        box-shadow: 3px 6px 18px 0px rgba(0, 0, 0, 0.2);
    }

    .overflow_x-scroll-container { overflow-x: auto; overflow-y: hidden; white-space: nowrap; }
    .overflow_x-scroll-content { border-collapse: collapse; border-spacing: 0; }
    .overflow_x-no_scroll-container { overflow-x: auto; overflow-y: hidden; -ms-overflow-style: none; scrollbar-width: none; white-space: nowrap; }
    .overflow_x-no_scroll-container::-webkit-scrollbar { display: none; }
    .overflow_x-no_scroll-content { border-collapse: collapse; border-spacing: 0; }

    .signbox { background: #F6F6F6; border-radius: 5px; padding: 5px 5px 5px 5px; vertical-align: middle; width: 340px; }

    .table-2L-TH1 { background-color: var(--color-primary-dark); color: #FFF; border-top: var(--color-primary-dark) 1px solid; border-right: var(--color-primary-dark) 1px solid; border-left: var(--color-primary-dark) 1px solid; height: 25px; padding: 8px }
    .table-2L-TH2 { background-color: var(--color-primary-dark); color: #FFF; border-top: var(--color-primary-dark) 1px solid; border-right: var(--color-primary-dark) 1px solid; height: 25px; padding: 8px }
    .table-2L-TH3 { background-color: var(--color-primary-dark); color: #FFF; border-top: var(--color-primary-dark) 1px solid; border-right: var(--color-primary-dark) 1px solid; height: 25px; padding: 8px }
    .table-2L-TD1 { border-right: #D4D4D4 1px solid; border-bottom: #D4D4D4 1px solid; border-left: #D4D4D4 1px solid; height: 25px; padding: 8px }
    .table-2L-TD2 { border-bottom: #D4D4D4 1px solid; border-right: #D4D4D4 1px solid; height: 25px; padding: 8px }
    .table-2L-TD3 { border-bottom: #D4D4D4 1px solid; border-right: #D4D4D4 1px solid; height: 25px; padding: 8px }
    .table-2L-TD1c { border-right: #D4D4D4 1px solid; border-bottom: #D4D4D4 1px solid; border-left: #D4D4D4 1px solid; height: 25px; background-color: #E1E1E1; padding: 8px }
    .table-2L-TD2c { border-bottom: #D4D4D4 1px solid; border-right: #D4D4D4 1px solid; height: 25px; background-color: #E1E1E1; padding: 8px }
    .table-2L-TD3c { border-bottom: #D4D4D4 1px solid; border-right: #D4D4D4 1px solid; height: 25px; background-color: #E1E1E1; padding: 8px }
    .table-btn-submit { background-color: #0F5298; border: 0; border-radius: 5px; color: #fff; display: inline-block; font-weight: bold; font-size: 15px; text-align: center; white-space: nowrap; padding: 4px 4px 4px 4px; min-height: 18px; min-width: 75px; text-decoration: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -o-user-select: none; user-select: none; }
    .table-btn-submit:hover,.table-btn-submit:active { background: #2565AE; cursor: pointer }
    .table-inputfield { border: #D4D4D4 1px solid; border-radius: 5px; padding: 4px 4px 4px 4px }

    .tabs-mini-trapezoid { display: flex; flex-direction: row; }
	.tab-mini-trapezoid { 
        height: 0; 
        width: 160px; 
        border-bottom: 32px solid #e0e0e0; 
        border-right: 18px solid transparent;
        box-sizing: border-box; 
        display: block; 
        text-decoration: none; 
        transition: all 0.3s ease;
        -webkit-user-select: none; 
        -khtml-user-select: none; 
        -moz-user-select: none; 
        -o-user-select: none; 
        user-select: none; 
    }
    .tab-mini-trapezoid:hover { 
        border-bottom-color: #d0d0d0;
        transform: translateY(-1px);
    }
	.tab-mini-trapezoid:not(:first-child) { margin-left: -10px; z-index: 20; }
	.tab-mini-trapezoid .tab-mini-trapezoid-label { 
        color: #555; 
        cursor: pointer; 
        font-weight: bold; 
        font-size: 12px; 
        padding: 8px; 
        text-align: center; 
        white-space: nowrap;
        transition: color 0.3s ease;
    }
	.tab-mini-trapezoid-activated { 
        border-bottom: 32px solid var(--color-primary-dark); 
        z-index: 20;
    }
	.tab-mini-trapezoid-activated .tab-mini-trapezoid-label { 
        color: #ffffff; 
        font-size: 12px; 
        white-space: nowrap;
    }

    .wrap-string {
        white-space: -moz-pre-wrap; /* Mozilla */
        white-space: -hp-pre-wrap;  /* HP printers */
        white-space: -o-pre-wrap;   /* Opera 7 */
        white-space: -pre-wrap;     /* Opera 4-6 */
        white-space: pre-wrap;      /* CSS 2.1 */
        white-space: pre-line;      /* CSS 3 (and 2.1 as well, actually) */
        word-wrap: break-word;      /* IE */
        word-break: break-all;
    }

    .notification { 
        background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
        border: 1px solid var(--color-gray-200);
        border-left: 4px solid var(--color-primary);
        border-radius: var(--radius-lg);
        box-shadow: var(--shadow-xl);
        display: none;
        padding: var(--spacing-lg);
        position: fixed;
        top: 90px;
        right: var(--spacing-lg);
        width: 100%;
        max-width: 260px;
        z-index: 90;
        animation: slideInRight 0.3s ease-out;
    }
    @keyframes slideInRight {
        from {
            opacity: 0;
            transform: translateX(100px);
        }
        to {
            opacity: 1;
            transform: translateX(0);
        }
    }
    .message { 
        animation: fadeIn 0.3s ease-out;
        display: none; 
        position: fixed; 
        top: 50%; 
        left: 50%; 
        transform: translate(-50%, -50%) !important;
        background: transparent;
        border-radius: 1em;
        box-shadow: none;
        max-height: 80vh;
        max-width: 90vw;
        width: 600px;
        padding: 0;
        overflow: visible;
        z-index: 90;
    }
    @media only screen and (max-width: 700px) {
        .message {
            width: 95vw;
            max-width: 95vw;
            max-height: 70vh;
        }
    }
    @keyframes fadeIn {
        from {
            opacity: 0;
            transform: translate(-50%, -50%) scale(0.95);
        }
        to {
            opacity: 1;
            transform: translate(-50%, -50%) scale(1);
        }
    }

    /* Responsive Design Improvements */
    @media only screen and (max-width: 1200px) {
        :root {
            --spacing-xl: 1.5rem;
            --spacing-2xl: 2rem;
        }
        .header-bar, .index-container, .footer-bar { 
            width: 90%; 
        }
        .card-container {
            grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
            gap: var(--spacing-lg);
        }
    }

    @media only screen and (max-width: 700px) {
        .L-header { display: none !important; }
        .S-header { display: flex !important; }
        .header-bar { 
            width: 100%; 
            max-width: 100%;
            min-width: 320px;
            padding: 0 15px;
        }
        .index-container { 
            width: 100%;
            min-width: 320px;
        }
        .footer-container {
            max-width: 100%;
            width: 100%;
            padding: 0 15px;
        }
        .card-container {
            grid-template-columns: 1fr;
            gap: var(--spacing-md);
            padding: var(--spacing-sm);
        }
        .notification {
            max-width: calc(100% - 10rem);
            right: var(--spacing-md);
            top: 70px;
        }
        h1 { font-size: 2rem; }
        h2 { font-size: 1.5rem; }
        h3 { font-size: 1.25rem; }
        .btn {
            min-width: 120px;
            padding: 0.625rem 1rem;
        }
    }

    @media only screen and (max-width: 480px) {
        :root {
            font-size: 13px;
        }
        h1 { font-size: 1.75rem; }
        h2 { font-size: 1.375rem; }
        .card-container {
            padding: var(--spacing-xs);
        }
        .btn {
            min-width: 100px;
            font-size: 0.875rem;
        }
    }

    /* Accessibility & Focus States */
    .btn:focus,
    .card-button:focus,
    .header-btn:focus,
    .btn-submit:focus {
        outline: 2px solid var(--color-primary);
        outline-offset: 2px;
    }

    /* Print Styles */
    @media print {
        .header, .footer, .notification {
            display: none;
        }
    }

    /* ========================================
       UTILITY CLASSES
       ======================================== */

    /* Spacing Utilities */
    .mt-0 { margin-top: 0 !important; }
    .mt-sm { margin-top: var(--spacing-sm) !important; }
    .mt-md { margin-top: var(--spacing-md) !important; }
    .mt-lg { margin-top: var(--spacing-lg) !important; }
    .mt-xl { margin-top: var(--spacing-xl) !important; }

    .mb-0 { margin-bottom: 0 !important; }
    .mb-sm { margin-bottom: var(--spacing-sm) !important; }
    .mb-md { margin-bottom: var(--spacing-md) !important; }
    .mb-lg { margin-bottom: var(--spacing-lg) !important; }
    .mb-xl { margin-bottom: var(--spacing-xl) !important; }

    .pt-0 { padding-top: 0 !important; }
    .pt-sm { padding-top: var(--spacing-sm) !important; }
    .pt-md { padding-top: var(--spacing-md) !important; }
    .pt-lg { padding-top: var(--spacing-lg) !important; }

    .pb-0 { padding-bottom: 0 !important; }
    .pb-sm { padding-bottom: var(--spacing-sm) !important; }
    .pb-md { padding-bottom: var(--spacing-md) !important; }
    .pb-lg { padding-bottom: var(--spacing-lg) !important; }

    /* Text Utilities */
    .text-center { text-align: center !important; }
    .text-left { text-align: left !important; }
    .text-right { text-align: right !important; }

    .text-primary { color: var(--color-primary) !important; }
    .text-secondary { color: var(--color-secondary) !important; }
    .text-success { color: var(--color-success) !important; }
    .text-danger { color: var(--color-danger) !important; }
    .text-gray { color: var(--color-gray-600) !important; }

    .font-bold { font-weight: 700 !important; }
    .font-semibold { font-weight: 600 !important; }
    .font-normal { font-weight: 400 !important; }

    .text-sm { font-size: 0.875rem !important; }
    .text-base { font-size: 1rem !important; }
    .text-lg { font-size: 1.125rem !important; }
    .text-xl { font-size: 1.25rem !important; }

    /* Display Utilities */
    .d-none { display: none !important; }
    .d-block { display: block !important; }
    .d-inline { display: inline !important; }
    .d-inline-block { display: inline-block !important; }
    .d-flex { display: flex !important; }
    .d-grid { display: grid !important; }

    /* Flex Utilities */
    .flex-row { flex-direction: row !important; }
    .flex-column { flex-direction: column !important; }
    .justify-start { justify-content: flex-start !important; }
    .justify-center { justify-content: center !important; }
    .justify-end { justify-content: flex-end !important; }
    .justify-between { justify-content: space-between !important; }
    .align-start { align-items: flex-start !important; }
    .align-center { align-items: center !important; }
    .align-end { align-items: flex-end !important; }
    .gap-sm { gap: var(--spacing-sm) !important; }
    .gap-md { gap: var(--spacing-md) !important; }
    .gap-lg { gap: var(--spacing-lg) !important; }

    /* Border Utilities */
    .rounded-sm { border-radius: var(--radius-sm) !important; }
    .rounded-md { border-radius: var(--radius-md) !important; }
    .rounded-lg { border-radius: var(--radius-lg) !important; }
    .rounded-xl { border-radius: var(--radius-xl) !important; }
    .rounded-full { border-radius: var(--radius-full) !important; }

    /* Shadow Utilities */
    .shadow-none { box-shadow: none !important; }
    .shadow-sm { box-shadow: var(--shadow-sm) !important; }
    .shadow-md { box-shadow: var(--shadow-md) !important; }
    .shadow-lg { box-shadow: var(--shadow-lg) !important; }
    .shadow-xl { box-shadow: var(--shadow-xl) !important; }

    /* Background Utilities */
    .bg-white { background-color: #ffffff !important; }
    .bg-gray-50 { background-color: var(--color-gray-50) !important; }
    .bg-gray-100 { background-color: var(--color-gray-100) !important; }
    .bg-primary { background-color: var(--color-primary) !important; }
    .bg-secondary { background-color: var(--color-secondary) !important; }

    /* Width Utilities */
    .w-full { width: 100% !important; }
    .w-auto { width: auto !important; }
    .max-w-sm { max-width: 24rem !important; }
    .max-w-md { max-width: 28rem !important; }
    .max-w-lg { max-width: 32rem !important; }
    .max-w-xl { max-width: 36rem !important; }
    .max-w-full { max-width: 100% !important; }

    /* Special Effects */
    .hover-lift {
        transition: transform var(--transition-base), box-shadow var(--transition-base);
    }
    .hover-lift:hover {
        transform: translateY(-4px);
        box-shadow: var(--shadow-lg);
    }

    .gradient-primary {
        background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%) !important;
    }

    .gradient-secondary {
        background: linear-gradient(135deg, var(--color-secondary) 0%, #1a4d8a 100%) !important;
    }

    /* Loading Spinner */
    .spinner {
        border: 3px solid var(--color-gray-200);
        border-top: 3px solid var(--color-primary);
        border-radius: var(--radius-full);
        width: 40px;
        height: 40px;
        animation: spin 1s linear infinite;
    }
    @keyframes spin {
        0% { transform: rotate(0deg); }
        100% { transform: rotate(360deg); }
    }

    /* Badge */
    .badge {
        display: inline-flex;
        align-items: center;
        padding: 0.25rem 0.75rem;
        font-size: 0.75rem;
        font-weight: 600;
        border-radius: var(--radius-full);
        line-height: 1;
    }
    .badge-primary {
        background-color: var(--color-primary);
        color: var(--color-dark);
    }
    .badge-success {
        background-color: var(--color-success);
        color: white;
    }
    .badge-danger {
        background-color: var(--color-danger);
        color: white;
    }
    .badge-gray {
        background-color: var(--color-gray-200);
        color: var(--color-gray-700);
    }

    /* Divider */
    .divider {
        height: 1px;
        background: var(--color-gray-200);
        margin: var(--spacing-lg) 0;
    }

    /* ========================================
       PROFESSIONAL ENHANCEMENTS
       ======================================== */

    /* Smooth Page Transitions */
    body {
        transition: opacity 0.3s ease-in-out;
    }

    /* Better Input Fields */
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="number"],
    input[type="tel"],
    input[type="date"],
    textarea,
    select {
        border: 1px solid var(--color-gray-300);
        border-radius: var(--radius-md);
        padding: 0.625rem 0.875rem;
        font-size: 0.9375rem;
        transition: all var(--transition-base);
        background-color: white;
        font-family: var(--font-sans);
    }

    input[type="text"]:focus,
    input[type="email"]:focus,
    input[type="password"]:focus,
    input[type="number"]:focus,
    input[type="tel"]:focus,
    input[type="date"]:focus,
    textarea:focus,
    select:focus {
        outline: none;
        border-color: var(--color-primary);
        box-shadow: 0 0 0 3px rgba(255, 191, 0, 0.1);
    }

    /* Better Tables */
    table {
        border-collapse: separate;
        border-spacing: 0;
    }

    /* Improved Logo Display */
    .logo {
        display: flex;
        align-items: center;
        transition: transform var(--transition-base);
    }
    .logo:hover {
        transform: scale(1.05);
    }
    .logo img {
        filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
    }

    /* ========================================
       INDEX PAGE - FEATURES SECTION
       ======================================== */

    /* Features Section Container */
    .features-section {
        background: #fff;
        padding: 80px 0;
    }

    .features-section-title {
        color: #000;
        font-size: 38px;
        margin-bottom: 15px;
        text-transform: uppercase;
        letter-spacing: 2px;
        font-weight: 900;
    }

    .features-section-subtitle {
        color: #fff;
        font-size: 18px;
        margin-bottom: 50px;
        max-width: 600px;
    }

    .features-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 30px;
        text-align: center;
    }

    .feature-card {
        background: #fff;
        border: 2px solid #f0f0f0;
        border-radius: 12px;
        box-shadow: 0 2px 8px rgba(0,0,0,0.08);
        padding: 30px 20px;
        transition: all 0.3s;
    }

    .feature-card:hover {
        transform: translateY(-5px);
        border-color: var(--color-primary);
        box-shadow: 0 8px 25px rgba(255, 191, 0, 0.2);
        background: #fffef8;
    }

    .feature-icon {
        width: 80px;
        height: 80px;
        border-radius: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 36px;
        margin: 0 auto;
    }

    .feature-icon-primary {
        background: linear-gradient(135deg, #FFBF00 0%, #FF9500 100%);
    }

    .feature-icon-secondary {
        background: linear-gradient(135deg, #FF9500 0%, #FF6B00 100%);
    }

    .feature-card-title {
        color: #000;
        margin: 20px 0 10px;
        font-weight: 700;
    }

    .feature-card-text {
        color: #666;
        line-height: 1.6;
    }

    /* ========================================
       INDEX PAGE - STATS & FEATURED STORY SECTION
       ======================================== */

    /* Stats Section Container */
    .stats-section {
        background: var(--color-dark);
        color: #FFF;
        padding: 80px 0;
        position: relative;
        overflow: hidden;
    }

    .stats-section-glow {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-image: radial-gradient(circle at 20% 50%, rgba(255, 191, 0, 0.1) 0%, transparent 50%),
                          radial-gradient(circle at 80% 80%, rgba(255, 149, 0, 0.1) 0%, transparent 50%);
        pointer-events: none;
    }

    .stats-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 3rem;
        text-align: center;
        margin-bottom: 4rem;
    }

    /* Stat Card Styling */
    .stat-card {
        background: var(--color-dark);
        border: 2px solid rgba(255, 191, 0, 0.2);
        border-radius: 20px;
        padding: 2.5rem 1.5rem;
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        backdrop-filter: blur(10px);
        animation: fadeInUp 0.6s both;
    }

    .stat-card:hover {
        transform: translateY(-10px) scale(1.05);
        box-shadow: 0 20px 40px rgba(255, 191, 0, 0.3);
        border-color: rgba(255, 191, 0, 0.5);
        background: rgba(255, 191, 0, 0.1);
    }

    .stat-card.delay-1 {
        animation-delay: 0.1s;
    }

    .stat-card.delay-2 {
        animation-delay: 0.2s;
    }

    .stat-card-emoji {
        font-size: 3.5rem;
        margin-bottom: 0.5rem;
    }

    .stat-card-number {
        background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        font-size: 3.5rem;
        font-weight: 900;
        margin-bottom: 0.75rem;
        font-family: var(--font-display), helvetica, sans-serif;
    }

    .stat-card-label {
        font-size: 1.125rem;
        color: #e0e0e0;
        text-transform: uppercase;
        letter-spacing: 2px;
        font-weight: 600;
    }

    /* Featured Story Card */
    .featured-story-card {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0;
        border-radius: 24px;
        overflow: hidden;
        box-shadow: 0 20px 60px rgba(255, 191, 0, 0.3);
        transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
        background: #fff;
        border: 3px solid rgba(255, 191, 0, 0.3);
    }

    .featured-story-card:hover {
        transform: translateY(-12px);
        box-shadow: 0 25px 70px rgba(255, 191, 0, 0.4);
        border-color: rgba(255, 191, 0, 0.6);
    }

    .featured-story-content {
        padding: 2rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
        background: linear-gradient(135deg, #FFE5B4 0%, #FFD700 50%, #FFA500 100%);
        position: relative;
        overflow: hidden;
    }

    .featured-story-glow {
        position: absolute;
        top: -50px;
        right: -50px;
        width: 200px;
        height: 200px;
        background: radial-gradient(circle, rgba(255,255,255,0.3) 0%, transparent 70%);
        border-radius: 50%;
    }

    .featured-story-header {
        margin-bottom: 1.5rem;
        position: relative;
        z-index: 1;
    }

    .featured-story-badge {
        display: inline-block;
        background: rgba(0,0,0,0.1);
        padding: 0.5rem 1rem;
        border-radius: 20px;
        font-size: 0.875rem;
        font-weight: 700;
        color: #000;
        margin-bottom: 1rem;
    }

    .featured-story-title {
        font-size: 2.25rem;
        color: var(--color-dark);
        font-weight: 800;
        margin: 0 0 1rem;
        line-height: 1.2;
        text-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }

    .featured-story-description {
        margin-bottom: 1.5rem;
        max-height: 150px;
        overflow-y: auto;
        position: relative;
        z-index: 1;
    }

    .featured-story-description p {
        color: var(--color-gray-800);
        line-height: 1.8;
        font-size: 0.9375rem;
        text-align: justify;
        margin: 0;
    }

    .featured-story-button {
        position: relative;
        z-index: 1;
    }

    .featured-story-image {
        position: relative;
        height: 100%;
        overflow: hidden;
    }

    .featured-story-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .featured-story-card:hover img {
        transform: scale(1.1) rotate(2deg);
    }

    .featured-story-overlay {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: linear-gradient(45deg, rgba(255,191,0,0.2) 0%, transparent 50%, rgba(0,0,0,0.3) 100%);
    }

    /* Responsive Design for Featured Story */
    @media (max-width: 700px) {
        .featured-story-card {
            grid-template-columns: 1fr !important;
            width: 100% !important;
        }
        
        .featured-story-content {
            padding: 2rem !important;
            min-height: auto !important;
        }
        
        .featured-story-image {
            height: 300px !important;
        }
    }

    /* Story Card Styles */
    .story-card:hover {
        transform: translateY(-8px);
        box-shadow: var(--shadow-xl), 0 20px 40px rgba(0,0,0,0.15);
    }
    .story-card:hover img {
        transform: scale(1.05);
    }
    @media (max-width: 768px) {
        .story-card {
            grid-template-columns: 1fr !important;
        }
        .story-card > div {
            order: unset !important;
        }
    }

    /* ==========================================
        FOOTER STYLES
        ========================================== */

.modern-footer {
    background: var(--color-dark) !important;
    color: #ecf0f1;
    padding: 60px 0 0 0;
    margin-top: 0 !important;
    position: relative !important;
    width: 100% !important;
    clear: both !important;
    z-index: 10 !important;
    display: block !important;
    min-height: 400px;
}

.footer-container {
    max-width: 80%;
    margin: 0 auto;
    padding: 0 20px;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 40px;
    margin-bottom: 40px;
}

.footer-column h3 {
    color: var(--color-primary);
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 20px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--color-primary);
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.footer-link {
    color: #fff;
    text-decoration: none;
    display: block;
    padding: 8px 0;
    transition: all 0.3s;
    font-size: 14px;
}

.footer-link:hover {
    color: var(--color-primary-dark);
    padding-left: 10px;
}

.footer-social-links {
    display: flex;
    gap: 15px;
    margin-top: 20px;
    flex-wrap: wrap;
}

.footer-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    background: #1a1a1a;
    border: 1px solid #333;
    border-radius: 50%;
    transition: all 0.3s;
}

.footer-social-link:hover {
    background: var(--color-primary);
    border-color: var(--color-primary-dark);
    transform: translateY(-3px) scale(1.1);
    box-shadow: 0 5px 15px rgba(255,191,0,0.4);
}

.footer-contact-item {
    color: #fff;
    font-size: 14px;
    line-height: 1.8;
    margin: 8px 0;
}

.footer-contact-item strong {
    color: var(--color-primary);
    font-weight: 600;
}

.footer-bottom {
    background: #0a0a0a;
    padding: 25px 0;
    text-align: center;
    border-top: 1px solid #222;
}

.footer-bottom-text {
    color: #777;
    font-size: 13px;
    margin: 0;
}

.footer-logo {
    font-size: 24px;
    font-weight: 900;
    color: #fff;
    margin-bottom: 15px;
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: 0 0 30px rgba(255,191,0,0.3);
}

    /* Coming Up Course Styles */
    .coming_up_course-box {
        display: inline-block;
        padding-right: 15px;
        vertical-align: top;
    }

    .coming_up_course-content {
        border-radius: 12px;
        background-color: #fff;
        border: 2px solid #e8e8e8;
        box-shadow: 0 2px 8px rgba(0,0,0,0.08);
        color: #000;
        font-weight: bold;
        padding: 10px;
        text-align: left;
        text-decoration: none;
        height: 220px;
        width: 280px;
        transition: all 0.3s;
    }

    .coming_up_course-content:hover {
        transform: translateY(-5px);
        border-color: var(--color-primary);
        box-shadow: 0 8px 25px rgba(255, 191, 0, 0.2);
        background-color: #fffef8;
    }

    /* CTA Section Box */
    .cta-box {
        background: var(--color-dark);
        border: 2px solid var(--color-primary);
        border-radius: 15px;
        padding: 50px 30px;
        color: #FFF;
        box-shadow: 0 0 30px rgba(255, 191, 0, 0.2);
    }

    /* Unused Classes */
    .loading-twist_coin { color: #FFF; display: inline-block; transform: translateZ(1px); }
    .loading-twist_coin > div { display: inline-block; width: 15px; height: 15px; margin: 8px; border-radius: 50%; font-size: 12px; background: #F7931A; animation: twist 10s cubic-bezier(0, 0.5, 0.5, 1) infinite; }
        @keyframes twist { 0%, 100% { animation-timing-function: cubic-bezier(0.5, 0, 1, 0.5); } 0% { transform: rotateY(0deg); } 50% { transform: rotateY(1800deg); animation-timing-function: cubic-bezier(0, 0.5, 0.5, 1); } 100% { transform: rotateY(3600deg); } }
    .standbox { display: none; position: fixed; top: 50%; left: 50%; margin-top: -200px; margin-left: -175px; z-index: 90 }