@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800;900&display=swap');

body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    background-color: #f8fafc;
    color: #0f172a;
}

/* Force Impact Font for Dataclub Logos */
.brand-logo {
    font-family: Impact, Haettenschweiler, 'Arial Black', sans-serif !important;
    letter-spacing: 0.05em;
}

/* Global Form Inputs */
.form-input {
    width: 100%;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 12px 16px;
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.form-input:focus {
    border-color: #3049bc;
    box-shadow: 0 0 0 3px rgba(48, 73, 188, 0.1);
}

/* Custom Scrollbars */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* Resizer Bar */
.resizer { cursor: col-resize; transition: background-color 0.2s; }

/* Custom Tag Pill Sizing Definitions */
.tag-pill {
    font-size: 9px !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Animated State Transitions */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

.animate-fade-in {
    animation: fadeIn 0.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

/* Active State Styles for Sidebar Links */
.sidebar-active {
    background-color: #1e293b !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px -2px rgba(15, 23, 42, 0.3);
}

/* ==========================================================================
   Sidebar Collapse Fix - Hooked Into Active 'sidebar-collapsed' Elements
   ========================================================================== */

/* Enforce physical width reduction */
.sidebar-collapsed { 
    width: 5rem !important; 
}

/* Hide the Dataclub brand text and navigation menu labels */
.sidebar-collapsed .nav-text, 
.sidebar-collapsed .logo-text,
.sidebar-collapsed .sidebar-text { 
    display: none !important; 
}

/* Reveal the compact shield icon */
.sidebar-collapsed .sidebar-icon-logo { 
    display: block !important; 
    width: auto !important; /* Prevent shield from pushing button out */
    line-height: 1 !important;
}

/* Force the header to stack the shield and toggle perfectly in the center */
#app-sidebar.sidebar-collapsed > div:first-child {
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 0 !important;
    gap: 4px !important;
}

/* Balance the toggle button padding */
#app-sidebar.sidebar-collapsed > div:first-child button {
    padding: 4px !important;
    margin: 0 !important;
    line-height: 1 !important;
}

/* Center and clean up the navigation buttons */
.sidebar-collapsed .px-4,
.sidebar-collapsed .px-5 { 
    justify-content: center !important; 
    padding-left: 0 !important; 
    padding-right: 0 !important; 
}

/* Remove margins from the FontAwesome icons inside buttons */
.sidebar-collapsed .mr-3 { 
    margin-right: 0 !important; 
}

/* Suppress user layout text strings inside bottom dark card profiles */
.sidebar-collapsed .user-details,
.sidebar-collapsed .user-actions {
    display: none !important;
}

/* Transform user profile box constraints to square flush layouts */
.sidebar-collapsed .user-profile-wrap {
    justify-content: center !important;
    padding: 8px !important;
    cursor: pointer;
}

/* ==========================================================================
   Portal Registration Expansion
   ========================================================================== */
.auth-expanded { 
    max-width: 56rem !important; 
}
