@import url('https://fonts.googleapis.com/css2?family=Oxanium:wght@400;600;700;800&family=Rajdhani:wght@400;500;600;700&display=swap');

/* Woodlands ARK - osTicket Client Dark Theme
   Matching Tree Top Shop color scheme */

/* Base */
* { border-color: #2a3a2a !important; }
html {
    height: 100% !important;
    overflow-y: auto !important;
}
html, body, body[style] {
    background: #0a0e0a !important;
    background-color: #0a0e0a !important;
    color: #e8f0e0 !important;
}
body {
    min-height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}
body::before {
    content: '';
    position: fixed;
    inset: 0;
    background-image:
        linear-gradient(rgba(130,180,72,0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(130,180,72,0.025) 1px, transparent 1px);
    background-size: 60px 60px;
    pointer-events: none;
    z-index: 0;
}

/* Header area */
#header, .header, div#header {
    background-color: #131a13 !important;
    color: #e8f0e0 !important;
}
#header a, div#header a { color: #82B448 !important; }
#header a:hover { color: #93c554 !important; }

/* Navigation bar */
nav, #nav, .nav, ul.nav {
    background-color: #131a13 !important;
}
nav a, #nav a, .nav a {
    color: #8a9a7a !important;
}
nav a:hover, #nav a:hover, .nav a:hover,
nav a.active, nav li.active a {
    color: #82B448 !important;
    background-color: #1a231a !important;
}
.landing-page-nav, .landing-page-nav a {
    background-color: #131a13 !important;
}

/* Active tab / Support Center Home button */
nav .active a, .nav .active a,
a.active, li.active > a {
    background-color: #3a6b20 !important;
    color: #fff !important;
}

/* Links - Woodlands Green */
a, a:link, a:visited { color: #82B448 !important; }
a:hover { color: #93c554 !important; text-decoration: none !important; }

/* Main content area */
#content, .content, .main-content, main,
.container, #container, div#container {
    background-color: #0a0e0a !important;
    color: #e8f0e0 !important;
}
#container {
    flex: 1 0 auto !important;
}
#content {
    min-height: 0 !important;
}
#footer {
    flex-shrink: 0 !important;
}

/* Page body / welcome text */
.landing-page, .front-page {
    background-color: #0a0e0a !important;
    color: #e8f0e0 !important;
}

/* Cards / Boxes */
.card, .box, .panel, .well, .section {
    background-color: #131a13 !important;
    color: #e8f0e0 !important;
    border-color: #2a3a2a !important;
}

/* Sidebar buttons (Open a New Ticket, Check Ticket Status) */
.btn, .button, input[type="submit"], input[type="button"],
a.button, a.btn, .action-button {
    background-color: #3a6b20 !important;
    color: #fff !important;
    border: 1px solid #4a7b2a !important;
    font-family: 'Oxanium', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}
.btn:hover, .button:hover, input[type="submit"]:hover,
a.button:hover, a.btn:hover {
    background-color: #82B448 !important;
    color: #0a0e0a !important;
}

/* "Open a New Ticket" — bright green accent */
.blue.button, .blue.button:visited {
    background-color: #82B448 !important;
    color: #0a0e0a !important;
    border: 1px solid #82B448 !important;
}
.blue.button:hover {
    background-color: #9ed65a !important;
    color: #0a0e0a !important;
    border-color: #9ed65a !important;
}

/* "Check Ticket Status" — dark green with green text/border */
.green.button, .green.button:visited, .btn-primary, button.green {
    background-color: #1a2e0f !important;
    color: #82B448 !important;
    border: 1px solid #82B448 !important;
}
.green.button:hover, .btn-primary:hover {
    background-color: #243d15 !important;
    color: #9ed65a !important;
    border-color: #9ed65a !important;
}

/* Text colors */
p, span, div, label, li, dt, dd,
h1, h2, h3, h4, h5, h6 {
    color: #e8f0e0 !important;
}
h1, h2, h3 { color: #82B448 !important; }
strong, b, em { color: #e8f0e0 !important; }

/* Faded / muted text */
.faded, .faded-more, .muted, .text-muted,
.faded.description, .faded.hint {
    color: #5a6a4a !important;
}
.faded b, .faded strong { color: #8a9a7a !important; }

/* Forms */
html, select, input, textarea {
    color-scheme: dark !important;
}
input, select, textarea, .form-control {
    background-color: #0e130e !important;
    color: #e8f0e0 !important;
    border-color: #2a3a2a !important;
    accent-color: #82B448 !important;
}
input:focus, select:focus, textarea:focus {
    border-color: #82B448 !important;
    box-shadow: 0 0 0 2px rgba(130,180,72,0.15) !important;
    outline: none !important;
}
input::placeholder, textarea::placeholder { color: #5a6a4a !important; }
option { background-color: #0e130e !important; color: #e8f0e0 !important; }
option:checked, option:hover {
    background: #3a6b20 linear-gradient(0deg, #3a6b20 0%, #3a6b20 100%) !important;
    color: #fff !important;
}
fieldset { background-color: transparent !important; }

/* Form tables */
.form_table, .form_table td, .form_table th {
    background-color: #0a0e0a !important;
    color: #e8f0e0 !important;
}
.form_table th { background-color: #131a13 !important; }
.form_table th em, .form_table em, .form_table b { color: #8a9a7a !important; }

/* Tables */
table { background-color: #0a0e0a !important; color: #e8f0e0 !important; }
thead, thead th, th { background-color: #131a13 !important; color: #8a9a7a !important; }
tr, tbody tr { background-color: #0a0e0a !important; color: #e8f0e0 !important; }
tr:nth-child(even) { background-color: #0e130e !important; }
tr:hover { background-color: #1a231a !important; }
td { color: #e8f0e0 !important; background-color: transparent !important; }

/* Ticket thread */
.thread-entry, .thread-body, .thread-body.bleed {
    background-color: #131a13 !important;
    color: #e8f0e0 !important;
}
.thread-body p, .thread-body div, .thread-body span { color: #e8f0e0 !important; }
.thread-event { background-color: transparent !important; color: #5a6a4a !important; }
.thread-info, .thread-name, .thread-teaser { color: #e8f0e0 !important; }
.thread-entry .header, .thread-entry .header b,
.thread-entry .header span, .thread-entry .header a,
.thread-entry .header time { color: #8a9a7a !important; }

/* Ticket info sidebar */
.ticket_info, .ticket_info.custom-data {
    background-color: #0a0e0a !important;
    color: #e8f0e0 !important;
}

/* Banners */
.banner, .info-banner { background-color: #131a13 !important; color: #e8f0e0 !important; }
.warning-banner { background-color: #2a2a0a !important; color: #f5c623 !important; }
.error-banner, .error, .alert-error { background-color: #2a0a0a !important; color: #e74c3c !important; }
.success, .alert-success { background-color: #0a2a0a !important; color: #82B448 !important; }

/* Rich text editor */
.redactor-editor, .redactor-box, .richtext {
    background-color: #0e130e !important;
    color: #e8f0e0 !important;
}
.redactor-toolbar, .redactor-toolbar li a {
    background-color: #131a13 !important;
    color: #8a9a7a !important;
}
.redactor-toolbar li a:hover {
    background-color: #1a231a !important;
    color: #e8f0e0 !important;
}
.redactor-box [contenteditable], .redactor-box .redactor-layer,
.redactor-box .redactor-in, .redactor-container {
    background-color: #0e130e !important;
    color: #e8f0e0 !important;
}
.redactor-box p, .redactor-box div, .redactor-box span { color: #e8f0e0 !important; }
.redactor-placeholder::before, .redactor-placeholder::after { color: #5a6a4a !important; }

/* Dropdowns */
.dropdown-menu, .dropdown-menu li, .dropdown-menu a {
    background-color: #131a13 !important;
    color: #e8f0e0 !important;
}
.dropdown-menu li:hover, .dropdown-menu a:hover {
    background-color: #1a231a !important;
    color: #82B448 !important;
}

/* Select2 */
.select2-results, .select2-drop, .select2-container,
.select2-choice, .select2-search input {
    background-color: #0e130e !important;
    color: #e8f0e0 !important;
}
.select2-results .select2-highlighted {
    background-color: #1a231a !important;
    color: #82B448 !important;
}
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    background-color: #0e130e !important;
    color: #e8f0e0 !important;
    border-color: #2a3a2a !important;
}
.select2-container--default .select2-results__option--highlighted {
    background-color: #1a231a !important;
    color: #82B448 !important;
}
.select2-dropdown {
    background-color: #0e130e !important;
    border-color: #2a3a2a !important;
}

/* File drop */
.filedrop, .file-drop {
    background-color: #131a13 !important;
    color: #e8f0e0 !important;
    border: 2px dashed #2a3a2a !important;
}

/* Dialogs/Modals */
.dialog, .dialog-body, .dialog-content, .confirm-action, .popup,
.overlay, .modal, .modal-content, .modal-body, .modal-header, .modal-footer {
    background-color: #0a0e0a !important;
    color: #e8f0e0 !important;
}

/* Tooltips */
.tooltip, .tip, .tip_box, .tip-content,
.bootstrap-tooltip, .tooltip-inner {
    background-color: #131a13 !important;
    color: #e8f0e0 !important;
    border-color: #2a3a2a !important;
}

/* Override inline styles */
[style*="background-color: white"], [style*="background-color:#fff"],
[style*="background: white"], [style*="background:#fff"],
[style*="background-color: #ffffff"], [style*="background: #ffffff"] {
    background-color: #0a0e0a !important;
}
[style*="color: black"], [style*="color:#000"], [style*="color: #000000"] {
    color: #e8f0e0 !important;
}

/* Footer */
footer, .footer, #footer {
    background-color: #131a13 !important;
    color: #5a6a4a !important;
}
footer a, .footer a { color: #82B448 !important; }

/* Loading overlay */
#overlay {
    background: #0a0e0a !important;
}
#loading {
    background: #131a13 !important;
    background-image: none !important;
    border: 1px solid #2a3a2a !important;
    color: #e8f0e0 !important;
    padding-left: 10px !important;
}
#loading h4 { color: #82B448 !important; }
#loading p { color: #8a9a7a !important; }

/* Misc */
hr { border-color: #2a3a2a !important; }
img.avatar, .avatar { border-color: #2a3a2a !important; }
div, ul, ol, li, dl, dt, dd, fieldset, legend, form, details, summary {
    background-color: transparent !important;
}

/* Breadcrumbs */
#breadcrumbs {
    background-color: #131a13 !important;
    color: #e8f0e0 !important;
}

/* CAPTCHA / misc boxes */
.captcha, .info-box, .notice {
    background-color: #131a13 !important;
    color: #e8f0e0 !important;
    border-color: #2a3a2a !important;
}

/* Fonts */
body, p, span, div, label, li, td, th, input, select, textarea, button {
    font-family: 'Rajdhani', sans-serif !important;
}
h1, h2, h3, h4, h5, h6, .title, nav a, .nav a {
    font-family: 'Oxanium', sans-serif !important;
    letter-spacing: 1px;
}

/* Nav bar */
nav, #nav, .nav, ul.nav, .nav-tabs, .landing-page-nav,
#header + nav, div.nav, .nav-bar {
    background-color: #131a13 !important;
    border-bottom: 1px solid #2a3a2a !important;
}
nav a, .nav a, .nav li a, ul.nav li a {
    color: #8a9a7a !important;
    font-family: 'Oxanium', sans-serif !important;
}
nav a:hover, .nav a:hover, nav li.active a, .nav li.active a {
    color: #82B448 !important;
    background-color: #1a231a !important;
}
.nav li.active a, nav .active a {
    background-color: #3a6b20 !important;
    color: #fff !important;
}

/* Content card */
.card, .box, .panel, .well, .section {
    background-color: #0e130e !important;
    border: 1px solid #2a3a2a !important;
    border-radius: 4px !important;
}

/* Search well spacing fix */
.search.well {
    margin-top: 0 !important;
    padding: 12px !important;
    background-color: #0e130e !important;
    border: 1px solid #2a3a2a !important;
    border-radius: 4px !important;
    margin-bottom: 12px !important;
}
.search.well form {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    width: 100% !important;
}
.search.well form input[type="text"] {
    flex: 1 1 150px !important;
    min-width: 120px !important;
}
.search.well .pull-right {
    float: none !important;
    flex: 0 1 auto !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Tickets heading + states row */
.ticket-heading-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 12px 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background-color: transparent !important;
}
.ticket-heading-row h1 {
    margin: 0 !important;
}
.ticket-heading-row .states {
    float: none !important;
    white-space: nowrap !important;
}

/* Hide powered by osTicket */
#powered-by, .powered-by, footer img, #footer img,
a[href*="osticket.com"] img { display: none !important; }
footer a[href*="osticket.com"], .footer a[href*="osticket.com"] {
    color: #2a3a2a !important;
    font-size: 10px !important;
    opacity: 0.3 !important;
}

/* Kill nav background image */
#nav, ul#nav, ul#nav.flush-left {
    background-image: none !important;
    background: #131a13 !important;
    border-top: none !important;
    border-bottom: 1px solid #2a3a2a !important;
    height: auto !important;
}
#nav li a, ul#nav li a {
    color: #8a9a7a !important;
    background-image: none !important;
    font-family: 'Oxanium', sans-serif !important;
    padding: 0 12px !important;
}
#nav li.active a, ul#nav li.active a {
    background-color: #3a6b20 !important;
    background-image: none !important;
    color: #fff !important;
}
#nav li a:hover, ul#nav li a:hover {
    background-color: #1a231a !important;
    background-image: none !important;
    color: #82B448 !important;
}

/* Ticket table caption and headers */
caption, table caption, #ticketTable caption {
    background-color: #131a13 !important;
    color: #e8f0e0 !important;
    border: 1px solid #2a3a2a !important;
    font-family: 'Oxanium', sans-serif !important;
    font-weight: 600 !important;
}
#ticketTable, #ticketTable thead, #ticketTable thead th,
#ticketTable thead tr { 
    background-color: #131a13 !important;
    color: #8a9a7a !important;
    border-color: #2a3a2a !important;
}
#ticketTable tbody tr { background-color: #0a0e0a !important; }
#ticketTable tbody tr:nth-child(even) { background-color: #0e130e !important; }
#ticketTable tbody tr:hover { background-color: #1a231a !important; }
#ticketTable td { color: #e8f0e0 !important; }

/* Smooth hover transition */
a { transition: color 0.15s ease !important; }
a:hover, a:focus { color: #93c554 !important; text-decoration: none !important; }
a.button:hover, a.btn:hover { color: #0a0e0a !important; }
#nav li a:hover, ul#nav li a:hover { color: #82B448 !important; }
.blue.button:hover { color: #0a0e0a !important; }
.green.button:hover { color: #9ed65a !important; }

/* "Check Server Status" sidebar button — mid green */
.server-status-btn, .server-status-btn:visited {
    background-color: #2d5016 !important;
    color: #e8f5d0 !important;
    border: 1px solid #3a6b20 !important;
}
.server-status-btn:hover {
    background-color: #3a6b20 !important;
    color: #f0fae0 !important;
    border-color: #4a7b2a !important;
}

/* Action button fix */
button.action-button, button.action-btn {
    background-color: #1a231a !important;
    color: #e8f0e0 !important;
    border: 1px solid #2a3a2a !important;
}
button.action-button:hover, button.action-btn:hover {
    background-color: #3a6b20 !important;
    color: #fff !important;
}

/* Force action-button dark */
td button.action-button, td button.action-btn,
table button.action-button, form button.action-button,
button[type="button"].action-button {
    background-color: #1a231a !important;
    background-image: none !important;
    background-clip: unset !important;
    color: #e8f0e0 !important;
    border: 1px solid #2a3a2a !important;
    -webkit-background-clip: unset !important;
}
