/* ============================================================
   AxisDynamics Theme for osTicket client portal — soporte.exis.cl
   Paleta oficial: carbon black + cyan glow (Space Grotesk + Inter)
   ============================================================ */

:root {
  --axis-bg: #0B0F14;
  --axis-card: #0F141B;
  --axis-card2: #171E27;
  --axis-border: #252E3B;
  --axis-cyan: #00CCFF;
  --axis-cyan-glow: #19C6FF;
  --axis-text: #F7F9FB;
  --axis-muted: #9AA7B5;
  --axis-secondary: #1A2B40;
  --axis-radius: 8px;
  --axis-shadow: 0 20px 60px -10px rgba(4, 8, 14, 0.5);
  --axis-glow: 0 0 40px rgba(0, 204, 255, 0.3);
  --axis-gradient-cyan: linear-gradient(135deg, #00CCFF 0%, #19C6FF 100%);
}

body {
  background: var(--axis-bg);
  background-image: radial-gradient(ellipse at top, rgba(0, 204, 255, 0.06), transparent 55%);
  color: var(--axis-text);
  font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  font-size: 14px;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Space Grotesk', 'Inter', sans-serif;
  color: var(--axis-text);
  letter-spacing: -0.01em;
}

a { color: var(--axis-cyan); text-decoration: none; }
a:hover { color: var(--axis-cyan-glow); text-shadow: 0 0 12px rgba(0,204,255,0.35); }

#container { background: transparent; }

/* ---- Header ---- */
#header {
  background: linear-gradient(180deg, #0F141B 0%, #0B0F14 100%);
  border-bottom: 1px solid var(--axis-border);
  box-shadow: 0 1px 0 rgba(0, 204, 255, 0.08);
  padding: 14px 0;
}
#header .pull-right p { color: var(--axis-muted); font-size: 12px; }
#header .pull-right a { color: var(--axis-muted); }
#header .pull-right a:hover { color: var(--axis-cyan); }

#logo img {
  height: 42px;
  width: auto;
  border-radius: 6px;
  box-shadow: var(--axis-glow);
  background: #0B1C36;
  padding: 4px 8px;
}

/* ---- Nav ---- */
#nav {
  background: var(--axis-card);
  border: 1px solid var(--axis-border);
  border-radius: var(--axis-radius);
  box-shadow: var(--axis-shadow);
  margin: 18px 0 0;
  padding: 0;
  overflow: hidden;
}
#nav li { border-right: 1px solid var(--axis-border); }
#nav a {
  color: var(--axis-muted);
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 500;
  padding: 12px 18px;
  transition: all .25s cubic-bezier(.4, 0, .2, 1);
}
#nav a:hover { color: var(--axis-cyan); background: rgba(0, 204, 255, 0.06); }
#nav a.active {
  color: #0B0F14;
  background: var(--axis-gradient-cyan);
  font-weight: 600;
}

/* ---- Content & cards ---- */
#content { padding-top: 20px; }

.card {
  background: var(--axis-card);
  border: 1px solid var(--axis-border);
  border-radius: var(--axis-radius);
  box-shadow: var(--axis-shadow);
  padding: 20px;
}
.dialog, .tip, .popover {
  background: var(--axis-card);
  border: 1px solid var(--axis-border);
  border-radius: var(--axis-radius);
  box-shadow: var(--axis-shadow);
}
.dialog .close, .tip .close { color: var(--axis-muted); }

/* ---- Forms ---- */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
select,
textarea {
  background: var(--axis-card2);
  color: var(--axis-text);
  border: 1px solid var(--axis-border);
  border-radius: 6px;
  padding: 9px 12px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  transition: border-color .2s, box-shadow .2s;
}
input:focus, select:focus, textarea:focus {
  border-color: var(--axis-cyan);
  box-shadow: 0 0 0 3px rgba(0, 204, 255, 0.15), var(--axis-glow);
  outline: none;
}
select { background-color: var(--axis-card2); }
::placeholder { color: #5C6B7A; }

label { color: var(--axis-muted); font-size: 13px; font-weight: 500; }
.required { color: var(--axis-cyan); }

/* ---- Buttons ---- */
.btn, .action-button, input[type="submit"], button[type="submit"] {
  background: var(--axis-gradient-cyan);
  color: #0B0F14 !important;
  border: none;
  border-radius: 6px;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  padding: 10px 20px;
  cursor: pointer;
  transition: all .25s cubic-bezier(.4, 0, .2, 1);
  text-shadow: none;
}
.btn:hover, .action-button:hover, input[type="submit"]:hover, button[type="submit"]:hover {
  box-shadow: var(--axis-glow);
  transform: translateY(-1px);
}
.btn.secondary, .action-button.secondary {
  background: var(--axis-secondary);
  color: var(--axis-text) !important;
  border: 1px solid var(--axis-border);
}

/* ---- Messages ---- */
#msg_error, .error_bar {
  background: rgba(220, 38, 38, 0.12);
  border: 1px solid rgba(220, 38, 38, 0.4);
  color: #FCA5A5;
  border-radius: var(--axis-radius);
}
#msg_notice, .notice_bar {
  background: rgba(0, 204, 255, 0.08);
  border: 1px solid rgba(0, 204, 255, 0.3);
  color: var(--axis-cyan);
  border-radius: var(--axis-radius);
}
.warning_bar {
  background: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.4);
  color: #FCD34D;
  border-radius: var(--axis-radius);
}

/* ---- Ticket list / thread ---- */
.ticket-row, .thread, .ticket {
  background: var(--axis-card);
  border: 1px solid var(--axis-border);
  border-radius: var(--axis-radius);
}
.ticket-row:hover { border-color: rgba(0, 204, 255, 0.5); }
.thread-entry { border-color: var(--axis-border); }

/* ---- Footer ---- */
#footer {
  border-top: 1px solid var(--axis-border);
  background: linear-gradient(180deg, transparent, rgba(0, 204, 255, 0.03));
  color: var(--axis-muted);
  font-size: 12px;
  padding: 18px 0;
  margin-top: 30px;
}
#footer a { color: var(--axis-muted); }
#footer a:hover { color: var(--axis-cyan); }

/* ---- Tables ---- */
table.list, table.ticket-list {
  background: var(--axis-card);
  border: 1px solid var(--axis-border);
  border-radius: var(--axis-radius);
}
table.list th, table.ticket-list th {
  background: var(--axis-card2);
  color: var(--axis-text);
  font-family: 'Space Grotesk', sans-serif;
  border-bottom: 1px solid var(--axis-border);
}
table.list td, table.ticket-list td { border-color: var(--axis-border); }

/* ---- Scrollbars (webkit) ---- */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--axis-bg); }
::-webkit-scrollbar-thumb { background: var(--axis-border); border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: var(--axis-cyan); }

/* ============================================================
   Landing hero — Bienvenida responsive (Exis/AxisDynamics)
   ============================================================ */
.axis-landing {
  min-height: 62vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 32px 20px;
}
.axis-hero { max-width: 680px; width: 100%; }
.axis-hero-logo {
  height: 64px;
  width: auto;
  border-radius: 10px;
  background: #0B1C36;
  padding: 6px 12px;
  box-shadow: 0 0 60px rgba(0, 204, 255, 0.25);
  margin-bottom: 26px;
}
.axis-welcome {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 22px;
  font-weight: 500;
  color: var(--axis-text);
  letter-spacing: -0.01em;
  line-height: 1.4;
  margin: 0 0 30px;
}
.axis-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.axis-btn {
  display: inline-block;
  background: var(--axis-gradient-cyan);
  color: #0B0F14 !important;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  font-size: 15px;
  padding: 14px 34px;
  border-radius: 8px;
  border: 1px solid transparent;
  box-shadow: 0 0 24px rgba(0, 204, 255, 0.25);
  transition: all .25s cubic-bezier(.4, 0, .2, 1);
}
.axis-btn:hover {
  box-shadow: 0 0 48px rgba(0, 204, 255, 0.45);
  transform: translateY(-2px);
}
.axis-btn-ghost {
  background: transparent;
  color: var(--axis-cyan) !important;
  border-color: rgba(0, 204, 255, 0.5);
  box-shadow: none;
}
.axis-btn-ghost:hover {
  background: rgba(0, 204, 255, 0.08);
  border-color: var(--axis-cyan);
  box-shadow: 0 0 32px rgba(0, 204, 255, 0.25);
}
@media (max-width: 600px) {
  .axis-welcome { font-size: 18px; }
  .axis-actions { flex-direction: column; }
  .axis-btn { width: 100%; text-align: center; }
}
