/**
 * Glorious Polytechnic College - Offline Core Design System & Fallback Stylesheet
 * Ensures styles, layouts, colors, cards, badges, and dark mode persist 100% offline.
 */

:root {
    --gpc-navy-950: #040b15;
    --gpc-navy-900: #071324;
    --gpc-navy-850: #0B1F3A;
    --gpc-navy-800: #0e2646;
    --gpc-orange-500: #f97316;
    --gpc-orange-600: #ea580c;
    --gpc-slate-50: #f8fafc;
    --gpc-slate-100: #f1f5f9;
    --gpc-slate-200: #e2e8f0;
    --gpc-slate-300: #cbd5e1;
    --gpc-slate-700: #334155;
    --gpc-slate-800: #1e293b;
    --gpc-slate-900: #0f172a;
}

/* System Font Stack Fallback */
html, body {
    font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6, .font-heading {
    font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Offline Custom Scrollbars */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, 0.3);
    border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover {
    background: rgba(148, 163, 184, 0.5);
}

/* Core Form Inputs */
input, select, textarea {
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
input:focus, select:focus, textarea:focus {
    outline: none !important;
    border-color: var(--gpc-orange-500) !important;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.18) !important;
}

/* Table Enhancements */
main table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}
main table thead th {
    background: #f8fafc;
    color: #475569;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-bottom: 1px solid #e2e8f0;
}
.dark main table thead th {
    background: #0c1427;
    color: #94a3b8;
    border-color: #1e293b;
}
main table tbody td {
    border-bottom: 1px solid #f1f5f9;
}
.dark main table tbody td {
    border-color: rgba(30, 41, 59, 0.72);
}
main table tbody tr {
    transition: background-color 0.15s ease;
}
main table tbody tr:hover {
    background-color: rgba(241, 245, 249, 0.6);
}
.dark main table tbody tr:hover {
    background-color: rgba(11, 31, 58, 0.5);
}

/* Offline Status Indicator Pill */
#gpc-offline-pill {
    position: fixed;
    bottom: 18px;
    right: 18px;
    z-index: 99999;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 9999px;
    font-size: 11px;
    font-weight: 700;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(8px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
#gpc-offline-pill.online {
    background-color: rgba(15, 23, 42, 0.85);
    color: #34d399;
    border: 1px solid rgba(52, 211, 153, 0.3);
}
#gpc-offline-pill.offline {
    background-color: rgba(120, 53, 15, 0.95);
    color: #fef3c7;
    border: 1px solid rgba(245, 158, 11, 0.5);
}

/* Clean Modal Backdrops */
[x-cloak] {
    display: none !important;
}
