/* THG Technologies Custom Brand Styles for osTicket Client Portal */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@600;700&display=swap');

:root {
    --thg-primary: #0A2656;
    --thg-primary-hover: #12397B;
    --thg-accent: #2563EB;
    --thg-bg: #F8FAFC;
    --thg-card-bg: #FFFFFF;
    --thg-text: #0F172A;
    --thg-muted: #64748B;
    --thg-border: #E2E8F0;
    --thg-radius: 10px;
    --thg-shadow: 0 4px 6px -1px rgba(10, 38, 86, 0.05), 0 2px 4px -2px rgba(10, 38, 86, 0.05);
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    background-color: var(--thg-bg) !important;
    color: var(--thg-text) !important;
    margin: 0;
    padding: 0;
}

h1, h2, h3, h4, .headline {
    font-family: 'Poppins', sans-serif !important;
    color: var(--thg-primary) !important;
    letter-spacing: -0.02em;
}

#container {
    max-width: 1080px !important;
    margin: 30px auto !important;
    background: var(--thg-card-bg) !important;
    border-radius: 16px !important;
    border: 1px solid var(--thg-border) !important;
    box-shadow: 0 20px 25px -5px rgba(15, 23, 42, 0.08), 0 8px 10px -6px rgba(15, 23, 42, 0.04) !important;
    overflow: hidden;
    padding: 0 !important;
}

/* Header Area */
#header {
    background: linear-gradient(135deg, #0A2656 0%, #061838 100%) !important;
    padding: 24px 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border-bottom: 2px solid rgba(255, 255, 255, 0.1) !important;
}

#header #logo img {
    height: 44px !important;
    width: auto !important;
    max-width: 240px !important;
    object-fit: contain !important;
    filter: brightness(0) invert(1) !important;
}

#header .pull-right {
    color: #E2E8F0 !important;
    font-size: 0.9rem !important;
}

#header .pull-right a {
    color: #93C5FD !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    transition: color 0.2s ease !important;
}

#header .pull-right a:hover {
    color: #FFFFFF !important;
    text-decoration: underline !important;
}

/* Nav Menu */
#nav {
    background: #FFFFFF !important;
    border-bottom: 1px solid var(--thg-border) !important;
    padding: 10px 32px !important;
    margin: 0 !important;
    display: flex !important;
    gap: 8px !important;
}

#nav li {
    list-style: none !important;
    display: inline-block !important;
}

#nav li a {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    padding: 8px 16px !important;
    border-radius: 8px !important;
    color: var(--thg-muted) !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    border: none !important;
    background: transparent !important;
}

#nav li a:hover {
    background: #F1F5F9 !important;
    color: var(--thg-primary) !important;
}

#nav li a.active {
    background: var(--thg-primary) !important;
    color: #FFFFFF !important;
    font-weight: 600 !important;
}

/* Content Area */
#content {
    padding: 36px 40px !important;
}

/* Buttons */
input[type="submit"], input[type="button"], button, .button, .btn {
    font-family: 'Inter', sans-serif !important;
    background: var(--thg-primary) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 10px 20px !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 4px 6px -1px rgba(10, 38, 86, 0.2) !important;
}

input[type="submit"]:hover, input[type="button"]:hover, button:hover, .button:hover, .btn:hover {
    background: var(--thg-primary-hover) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 12px -2px rgba(10, 38, 86, 0.3) !important;
}

/* Form Controls */
input[type="text"], input[type="password"], input[type="email"], select, textarea {
    font-family: 'Inter', sans-serif !important;
    border: 1px solid var(--thg-border) !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-size: 0.95rem !important;
    color: var(--thg-text) !important;
    background: #FFFFFF !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus, select:focus, textarea:focus {
    border-color: var(--thg-primary) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(10, 38, 86, 0.15) !important;
}

/* Notice & Alert Bars */
.error_bar, #msg_error {
    background: #FEE2E2 !important;
    border: 1px solid #FCA5A5 !important;
    color: #991B1B !important;
    border-radius: 8px !important;
    padding: 12px 18px !important;
    font-weight: 500 !important;
    margin-bottom: 20px !important;
}

.notice_bar, #msg_notice {
    background: #DCFCE7 !important;
    border: 1px solid #86EFAC !important;
    color: #166534 !important;
    border-radius: 8px !important;
    padding: 12px 18px !important;
    font-weight: 500 !important;
    margin-bottom: 20px !important;
}

.warning_bar, #msg_warning {
    background: #FEF9C3 !important;
    border: 1px solid #FDE047 !important;
    color: #854D0E !important;
    border-radius: 8px !important;
    padding: 12px 18px !important;
    font-weight: 500 !important;
    margin-bottom: 20px !important;
}

/* Footer */
#footer {
    text-align: center !important;
    padding: 24px 0 36px 0 !important;
    color: var(--thg-muted) !important;
    font-size: 0.85rem !important;
}

#footer a {
    color: var(--thg-primary) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}

#footer a:hover {
    text-decoration: underline !important;
}
