  
    :root {
      --brand: #087495;
      --brand2: #075d78;
      --bg: #f4f7f9;
      --card: #fff;
      --text: #24323d;
      --muted: #71808b;
      --border: #dce4e9;
      --ok: #16844b;
      --warn: #b97800;
      --danger: #bd3131;
      --shadow: 0 8px 24px rgba(20, 50, 70, .08)
    }

    * {
      box-sizing: border-box
    }

    body {
      margin: 0;
      font-family: Inter, Segoe UI, Arial, sans-serif;
      background: var(--bg);
      color: var(--text)
    }

    button,
    input,
    select,
    textarea {
      font: inherit
    }

    button {
      cursor: pointer
    }

    .hidden {
      display: none !important
    }

    .login {
      min-height: 100vh;
      display: grid;
      place-items: center;
      padding: 24px;
      background: linear-gradient(135deg, #eef5f7, #fff)
    }

    
.login-card {
  width: min(360px, 100%);  /* Antes: 440px (se reduce el ancho de la tarjeta) */
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;      /* Bordes un poco más compactos */
  box-shadow: var(--shadow);
  padding: 22px 24px        /* Antes: 32px (menos espacio interno) */
}

.login-card img {
  width: auto;              /* Permite escalar la imagen proporcionalmente */
  max-width: 140px;         /* Limita el ancho del logo */
  max-height: 55px;         /* Antes: 95px (reduce la altura del logo) */
  object-fit: contain;
  display: block;
  margin: 0 auto 14px;      /* Centra el logo y ajusta el margen inferior */
}

    .login-card h1 {
      margin: 0 0 6px;
      font-size: 25px
    }

    .login-card p {
      color: var(--muted);
      margin-top: 0
    }

    .form-row {
      display: grid;
      gap: 6px;
      margin: 14px 0
    }

    .form-row label {
      font-size: 13px;
      font-weight: 700
    }

    .form-row input,
    .form-row select,
    .form-row textarea {
      width: 100%;
      border: 1px solid var(--border);
      border-radius: 9px;
      padding: 11px;
      background: #fff
    }

    .form-row textarea {
      min-height: 100px;
      resize: vertical
    }

    .primary {
      border: 0;
      background: var(--brand);
      color: #fff;
      padding: 11px 16px;
      border-radius: 9px;
      font-weight: 700
    }

    .primary:hover {
      background: var(--brand2)
    }

    .secondary {
      border: 1px solid var(--border);
      background: #fff;
      color: var(--text);
      padding: 10px 14px;
      border-radius: 9px;
      font-weight: 700
    }

    .danger {
      background: #fff0f0;
      color: var(--danger);
      border: 1px solid #f0caca;
      padding: 8px 11px;
      border-radius: 8px
    }

    .success {
      background: #eefaf3;
      color: var(--ok);
      border: 1px solid #cbe8d7;
      padding: 8px 11px;
      border-radius: 8px
    }

    .demo {
      background: #f7fafb;
      border: 1px solid var(--border);
      border-radius: 10px;
      padding: 12px;
      margin-top: 18px;
      font-size: 12px;
      line-height: 1.6
    }

    .app {
      display: flex;
      min-height: 100vh
    }

    .sidebar {
      width: 250px;
      background: #fff;
      border-right: 1px solid var(--border);
      padding: 18px;
      position: fixed;
      top: 0;
      bottom: 0;
      left: 0;
      overflow: auto
    }

    .sidebar img {
      width: 100%;
      height: 58px;
      object-fit: contain;
      margin-bottom: 20px
    }

    .nav {
      display: grid;
      gap: 6px
    }

    .nav button {
      border: 0;
      background: transparent;
      text-align: left;
      padding: 11px 12px;
      border-radius: 9px;
      color: #4b5b65;
      font-weight: 650
    }

    .nav button.active,
    .nav button:hover {
      background: #eaf4f7;
      color: var(--brand2)
    }

    .main {
      margin-left: 250px;
      width: calc(100% - 250px)
    }

    .topbar {
      height: 72px;
      background: #fff;
      border-bottom: 1px solid var(--border);
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 28px;
      position: sticky;
      top: 0;
      z-index: 5
    }

    .topbar strong {
      font-size: 18px
    }

    .userbox {
      display: flex;
      align-items: center;
      gap: 12px;
      font-size: 13px
    }

    .avatar {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background: var(--brand);
      color: #fff;
      display: grid;
      place-items: center;
      font-weight: 800
    }

    .content {
      padding: 28px;
      max-width: 1500px;
      margin: auto
    }

    .section-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 18px
    }

    .section-head h2 {
      margin: 0;
      font-size: 22px
    }

    .actions {
      display: flex;
      gap: 8px;
      flex-wrap: wrap
    }

    .grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px
    }

    .stat {
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: 14px;
      padding: 18px;
      box-shadow: var(--shadow)
    }

    .stat small {
      color: var(--muted);
      display: block
    }

    .stat b {
      font-size: 28px;
      display: block;
      margin-top: 7px
    }

    .card {
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 14px;
      box-shadow: var(--shadow);
      padding: 18px;
      margin-bottom: 18px
    }

    table {
      width: 100%;
      border-collapse: collapse
    }

    th,
    td {
      padding: 11px 10px;
      border-bottom: 1px solid #edf1f3;
      text-align: left;
      font-size: 13px;
      vertical-align: top
    }

    th {
      color: #64737d;
      background: #fafcfd;
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: .03em
    }

    tr:hover td {
      background: #fbfdfe
    }

    .badge {
      display: inline-flex;
      padding: 4px 8px;
      border-radius: 999px;
      font-size: 11px;
      font-weight: 800
    }

    .b-new {
      background: #eaf4ff;
      color: #27659d
    }

    .b-progress {
      background: #eaf7f7;
      color: #087495
    }

    .b-pending {
      background: #fff6df;
      color: #9a6800
    }

    .b-closed {
      background: #edf7f0;
      color: #287443
    }

    .b-late {
      background: #fff0f0;
      color: #bd3131
    }

    .b-ontime {
      background: #edf7f0;
      color: #287443
    }

    .filters {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr;
      gap: 10px;
      margin-bottom: 14px
    }

    .filters input,
    .filters select {
      padding: 10px;
      border: 1px solid var(--border);
      border-radius: 9px;
      background: #fff
    }

    .modal {
      position: fixed;
      inset: 0;
      background: rgba(10, 30, 40, .45);
      display: grid;
      place-items: center;
      padding: 20px;
      z-index: 20
    }

    .modal-box {
      background: #fff;
      width: min(720px, 100%);
      max-height: 90vh;
      overflow: auto;
      border-radius: 15px;
      padding: 22px
    }

    .modal-head {
      display: flex;
      justify-content: space-between;
      align-items: center
    }

    .modal-head h3 {
      margin: 0
    }

    .form-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0 14px
    }

    .full {
      grid-column: 1/-1
    }

    .kpi-note {
      font-size: 12px;
      color: var(--muted);
      margin-top: 6px
    }

    .empty {
      text-align: center;
      color: var(--muted);
      padding: 30px
    }

    .timeline {
      display: grid;
      gap: 10px
    }

    .timeline-item {
      border-left: 3px solid var(--brand);
      padding: 8px 12px;
      background: #fafcfd
    }

    .attachments {
      border: 1px dashed #b8cbd3;
      border-radius: 10px;
      padding: 12px;
      background: #fbfdfe
    }

    .attachments input[type=file] {
      width: 100%;
      padding: 8px;
      border: 1px solid var(--border);
      border-radius: 8px;
      background: #fff
    }

    .file-list {
      display: grid;
      gap: 7px;
      margin-top: 10px
    }

    .file-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      background: #f4f8fa;
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 8px 10px;
      font-size: 12px
    }

    .file-item a {
      color: var(--brand2);
      font-weight: 700;
      text-decoration: none
    }

    .file-item small {
      color: var(--muted)
    }

    .ticket-id {
      font-weight: 800;
      color: var(--brand2)
    }

    @media(max-width:900px) {
      .sidebar {
        width: 210px
      }

      .main {
        margin-left: 210px;
        width: calc(100% - 210px)
      }

      .grid {
        grid-template-columns: repeat(2, 1fr)
      }
    }

    @media(max-width:650px) {
      .sidebar {
        position: static;
        width: 100%;
        height: auto
      }

      .app {
        display: block
      }

      .main {
        margin-left: 0;
        width: 100%
      }

      .topbar {
        position: static
      }

      .content {
        padding: 16px
      }

      .grid {
        grid-template-columns: 1fr
      }

      .form-grid,
      .filters {
        grid-template-columns: 1fr
      }

      .full {
        grid-column: auto
      }

      .sidebar img {
        height: 48px
      }

      .nav {
        grid-template-columns: repeat(2, 1fr)
      }
    }

/* ===== Ajustes para la versión Laravel (misma apariencia que los botones originales) ===== */
    .nav a {
      display: block;
      border: 0;
      background: transparent;
      text-align: left;
      text-decoration: none;
      padding: 11px 12px;
      border-radius: 9px;
      color: #4b5b65;
      font-weight: 650
    }

    .nav a.active,
    .nav a:hover {
      background: #eaf4f7;
      color: var(--brand2)
    }

    .userbox form,
    .actions form {
      margin: 0
    }
