/* ==========================================================================
   Adaptiv Brand Override Stylesheet for osTicket Client Portal
   Supporting: Adaptiv AI | Mixura | Adverra

   Palette:
   --primary:    #ec2727  (Red)
   --white:      #ffffff
   --off-white:  #fcfcfc
   --light-bg:   #f0f2f6
   --mid-grey:   #d4d4d8
   --dark:       #070b10
   ========================================================================== */

/* ---------- Typography ---------- */

a {
  color: #ec2727;
}

a:hover {
  color: #c91e1e;
}

h1 {
  color: #070b10;
  font-weight: 600;
}

h2 {
  color: #6b7280;
}

h3 {
  color: #070b10;
}

/* ---------- Page Background & Container ---------- */

body {
  background: #f0f2f6 !important;
  background-image: none !important;
}

#container {
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(7, 11, 16, 0.1), 0 1px 2px rgba(7, 11, 16, 0.06);
  margin-top: 40px;
  margin-bottom: 40px;
  padding-left: 10px;
  padding-right: 10px;
}

/* ---------- Header ---------- */

#header {
  border-bottom: 1px solid #f0f2f6;
  padding: 10px 20px;
}

#header p {
  font-size: 13px;
  color: #6b7280;
}

#header p a {
  color: #070b10;
  font-weight: 500;
  text-decoration: none;
}

#header p a:hover {
  color: #ec2727;
}

#header #logo img {
  max-height: 55px;
  width: auto;
}

/* ---------- Navigation Bar ---------- */

#nav {
  background: #070b10 !important;
  background-image: none !important;
  border-top: none;
  border-radius: 0;
  box-shadow: none;
  padding: 4px 10px;
}

#nav li a {
  color: #d4d4d8 !important;
  font-size: 13px;
  font-weight: 500;
  border-radius: 6px;
  transition: background-color 0.15s ease, color 0.15s ease;
}

#nav li a:hover {
  background-color: rgba(236, 39, 39, 0.15) !important;
  color: #ffffff !important;
}

#nav li a.active {
  background-color: #ec2727 !important;
  color: #ffffff !important;
}

/* Hide default PNG nav icons — text labels are sufficient on dark bar */
#nav li a.home    { background-image: none; padding-left: 10px; }
#nav li a.kb      { background-image: none; padding-left: 10px; }
#nav li a.new     { background-image: none; padding-left: 10px; }
#nav li a.status  { background-image: none; padding-left: 10px; }
#nav li a.tickets { background-image: none; padding-left: 10px; }

/* ---------- Buttons ---------- */

.button, .button:visited {
  background-color: #070b10 !important;
  color: #ffffff !important;
  border-radius: 6px;
  box-shadow: none;
  text-shadow: none;
  border-bottom: none;
  font-weight: 600;
  font-size: 14px;
  padding: 10px 20px;
  transition: background-color 0.15s ease;
}

.button:hover {
  background-color: #1a1f28 !important;
  color: #ffffff !important;
}

.blue.button, .blue.button:visited {
  background-color: #ec2727 !important;
  color: #ffffff !important;
}

.blue.button:hover {
  background-color: #c91e1e !important;
  color: #ffffff !important;
}

.green.button, .green.button:visited {
  background-color: #070b10 !important;
  color: #ffffff !important;
}

.green.button:hover {
  background-color: #1a1f28 !important;
  color: #ffffff !important;
}

/* ---------- Alert / Notice / Error Bars ---------- */

.error_bar {
  background-color: #fef2f2;
  color: #991b1b;
  border-bottom: 2px solid #ec2727;
}

.warning_bar {
  background-color: #fffbeb;
  color: #92400e;
  border-bottom: 2px solid #f59e0b;
}

.notice_bar {
  background-color: #f0fdf4;
  color: #166534;
  border-bottom: 2px solid #22c55e;
}

#msg_notice {
  border-color: #22c55e;
  background-color: #f0fdf4;
  border-radius: 6px;
}

#msg_warning {
  border-color: #f59e0b;
  background-color: #fffbeb;
  border-radius: 6px;
}

#msg_error {
  border-color: #ec2727;
  background-color: #fef2f2;
  border-radius: 6px;
}

/* ---------- Login Form ---------- */

#clientLogin {
  border: 1px solid #d4d4d8;
  background-color: #fcfcfc;
  background-image: none;
  border-radius: 8px;
}

#clientLogin input[type="text"],
#clientLogin input[type="password"],
#clientLogin input[type="email"] {
  border: 1px solid #d4d4d8;
  border-radius: 4px;
  padding: 6px 10px;
  transition: border-color 0.15s ease;
}

#clientLogin input[type="text"]:focus,
#clientLogin input[type="password"]:focus,
#clientLogin input[type="email"]:focus {
  border-color: #ec2727;
  outline: none;
  box-shadow: 0 0 0 3px rgba(236, 39, 39, 0.1);
}

/* Login form submit button */
#clientLogin input[type="submit"],
#clientLogin button[type="submit"] {
  background-color: #ec2727 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 6px;
  padding: 10px 30px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  display: inline-block;
  width: auto;
  margin-top: 10px;
}

#clientLogin input[type="submit"]:hover,
#clientLogin button[type="submit"]:hover {
  background-color: #c91e1e !important;
}

/* Access link form (view.php) submit */
#accesslink input[type="submit"],
form input[type="submit"] {
  background-color: #ec2727 !important;
  color: #ffffff !important;
  border: none !important;
}

/* ---------- Ticket Form ---------- */

#ticketForm input[type="text"],
#ticketForm input[type="email"],
#ticketForm textarea,
#ticketForm select {
  border: 1px solid #d4d4d8;
  border-radius: 4px;
  padding: 6px 10px;
  transition: border-color 0.15s ease;
}

#ticketForm input[type="text"]:focus,
#ticketForm input[type="email"]:focus,
#ticketForm textarea:focus,
#ticketForm select:focus {
  border-color: #ec2727;
  outline: none;
  box-shadow: 0 0 0 3px rgba(236, 39, 39, 0.1);
}

/* ---------- Reply / Thread Area ---------- */

#reply {
  background: #fcfcfc;
  border: 1px solid #d4d4d8;
  border-radius: 6px;
}

#reply h2 {
  color: #070b10;
}

/* ---------- Ticket Table ---------- */

table.list th,
.ticketTable th {
  background: #070b10;
  color: #ffffff;
}

table.list tr:hover,
.ticketTable tr:hover {
  background-color: #f0f2f6;
}

/* ---------- Sidebar ---------- */

.sidebar .header {
  color: #070b10;
  font-weight: 600;
  border-bottom: 2px solid #ec2727;
  padding-bottom: 4px;
}

.sidebar a {
  color: #070b10;
}

.sidebar a:hover {
  color: #ec2727;
}

/* ---------- Knowledge Base ---------- */

#faq ol li a:hover {
  background-color: #f0f2f6 !important;
}

/* ---------- Pagination ---------- */

#pagination li a:hover {
  color: #ec2727;
}

#pagination .active {
  color: #ec2727;
  font-weight: bold;
}

/* ---------- Content Area ---------- */

#content {
  padding: 30px 20px;
  margin: 0 20px;
}

/* ---------- Footer ---------- */

#footer {
  border-top: 1px solid #f0f2f6;
  padding: 15px 0;
  color: #9ca3af;
  font-size: 11px;
}

#footer p {
  color: #6b7280;
}

#footer a {
  color: #9ca3af;
}

#footer a:hover {
  color: #ec2727;
}

#footer #poweredBy {
  opacity: 0.3;
  transition: opacity 0.2s ease;
}

#footer #poweredBy:hover {
  opacity: 0.6;
}

/* ---------- Form Submit Buttons ---------- */

input[type="submit"],
button[type="submit"] {
  background-color: #ec2727 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 6px;
  padding: 8px 24px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

input[type="submit"]:hover,
button[type="submit"]:hover {
  background-color: #c91e1e !important;
  color: #ffffff !important;
}

/* Reset & Cancel buttons */
input[type="reset"],
input[type="button"],
button[type="reset"],
button[type="button"] {
  background-color: #f0f2f6 !important;
  color: #070b10 !important;
  border: 1px solid #d4d4d8 !important;
  border-radius: 6px;
  padding: 8px 24px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

input[type="reset"]:hover,
input[type="button"]:hover,
button[type="reset"]:hover,
button[type="button"]:hover {
  background-color: #d4d4d8 !important;
}

/* ---------- Loading Overlay ---------- */

#loading {
  border-radius: 8px;
}

#loading h4 {
  color: #070b10;
}

/* ---------- Misc Refinements ---------- */

::selection {
  background: rgba(236, 39, 39, 0.15);
  color: #070b10;
}

.faded {
  color: #6b7280;
}

.warning strong {
  color: #ec2727;
}

.error {
  color: #ec2727;
}