/* Generated CSP-safe classes migrated from legacy inline style attributes. */

.layout-main-container {
  height: 100vh;
  padding-left: 0;
  padding-right: 0;
  position: relative;
}

.layout-main-container-authenticated {
  margin-left: 45px;
  width: calc(100vw - 45px);
}

.cctv-stream-media {
  background: #000;
  border: 0;
  display: block;
}

.print-modal-document {
  font-family: Arial, sans-serif;
}

[data-csp-close-popup]:hover {
  color: #000;
}

.csp-hidden {
  display: none !important;
}

@keyframes cspFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes cspFadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}

.csp-fade-in { animation-name: cspFadeIn; }
.csp-fade-out { animation-name: cspFadeOut; }
.csp-fade-in, .csp-fade-out { animation-timing-function: ease; }
.csp-fade-100 { animation-duration: 100ms; }
.csp-fade-120 { animation-duration: 120ms; }
.csp-fade-150 { animation-duration: 150ms; }
.csp-fade-200 { animation-duration: 200ms; }
.csp-fade-300 { animation-duration: 300ms; }

.csp-info-icon-badge {
  align-items: center;
  display: flex;
  font-size: 16px;
  height: 28px;
  justify-content: center;
  width: 28px;
}

.csp-static-status-badge {
  align-items: center;
  border-radius: 999px;
  color: white;
  display: inline-flex;
  font-size: 11px;
  font-weight: 700;
  justify-content: center;
  line-height: 1;
  padding: 4px 8px;
}

.csp-static-popup-heading {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.csp-static-popup-description {
  color: #4b5d73;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  margin-bottom: 8px;
}

.csp-map-layer-popup {
  background: white;
  border-radius: 6px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
  color: #003366;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  min-width: 220px;
  padding: 8px 12px;
  position: relative;
  text-align: center;
}

.csp-map-layer-plain-icon {
  display: block;
  font-size: 24px;
  line-height: 1;
}

.cuadricula-page-button {
  border: 1px solid #c8d6e5;
  border-radius: 6px;
  font-size: 12px;
  padding: 3px 8px;
}

.cuadricula-page-button-disabled {
  background: #eef3f7;
  color: #9aa9b8;
  cursor: default;
}

.cuadricula-page-button-enabled {
  background: #fff;
  color: #1f4f82;
  cursor: pointer;
}

@keyframes cuadriculaRowPulse {
  0%, 100% { background-color: #ffe5e5; }
  50% { background-color: #ffcbcb; }
}

.cuadricula-row-outside {
  animation: cuadriculaRowPulse 1.4s ease-in-out infinite;
  background: #ffe5e5;
}

.cuadricula-row-inside { background: #e8f7ea; }
.cuadricula-row-unknown { background: #fff; }

.cuadricula-status-cell {
  border-bottom: 1px solid #e7edf3;
  font-weight: 600;
  line-height: 1.2;
  padding: 3px 10px;
}

.cuadricula-status-outside { color: #b42318; }
.cuadricula-status-inside { color: #137333; }
.cuadricula-status-unknown { color: #355066; }

.csp-s-01d787c1c1c2.csp-s-01d787c1c1c2.csp-s-01d787c1c1c2 {
  color: #1a4b8c; font-size: 12px; line-height: 1; text-align: center;
}

.csp-s-039d6fa43003.csp-s-039d6fa43003.csp-s-039d6fa43003 {
  position:absolute; bottom:3px; left:3px; background:rgba(0,0,0,0.6);
              color:white; padding:6px 10px; border-radius:6px; font-size:12px;
              font-family:monospace; z-index:5;
}

.csp-s-03e9f273bc2f.csp-s-03e9f273bc2f.csp-s-03e9f273bc2f {
  bottom:40px;
}

.csp-s-077c850cbbe6.csp-s-077c850cbbe6.csp-s-077c850cbbe6 {
  height: calc(100vh); overflow: hidden;
}

.csp-s-08724256bd38.csp-s-08724256bd38.csp-s-08724256bd38 {
  font-size: 0.7rem;
}

.csp-s-09a4942b5f29.csp-s-09a4942b5f29.csp-s-09a4942b5f29 {
  width: 30px; background-color: #EEF5FA; border: 1px solid #c9def5; border-radius: 30px; padding: 4px;
}

.csp-s-0cbd885e3f36.csp-s-0cbd885e3f36.csp-s-0cbd885e3f36 {
  width: 150px;
}

.csp-s-10a0547bd76b.csp-s-10a0547bd76b.csp-s-10a0547bd76b {
  background:#000; width:fit-content;
}

.csp-s-13a816bf74cb.csp-s-13a816bf74cb.csp-s-13a816bf74cb {
  color: #808b96
}

.csp-s-184d153cf4a3.csp-s-184d153cf4a3.csp-s-184d153cf4a3 {
  width:50px; height:50px; object-fit:cover; border-radius:6px;
}

.csp-s-1bfc35d22ae1.csp-s-1bfc35d22ae1.csp-s-1bfc35d22ae1 {
  width:100%; height:600px;
}

.csp-s-31309926826f.csp-s-31309926826f.csp-s-31309926826f {
  position:absolute; bottom:3px; left:3px; background:rgba(0,0,0,0.6); color:white; padding:6px 10px; border-radius:6px; font-size:12px; font-family:monospace; z-index:5;
}

.csp-s-33b88b3b4883.csp-s-33b88b3b4883.csp-s-33b88b3b4883 {
  top:0; left:-100%; z-index: 1055; transition: left 0.3s ease; display: flex; flex-direction: column;
}

.csp-s-359e540fa507.csp-s-359e540fa507.csp-s-359e540fa507 {
  height:300px; width: 600px;
}

.csp-s-37ab52c9d67a.csp-s-37ab52c9d67a.csp-s-37ab52c9d67a {
  width: 100%;
}

.csp-s-380a35b04d17.csp-s-380a35b04d17.csp-s-380a35b04d17 {
  color: black;
}

.csp-s-3af9d6c2c775.csp-s-3af9d6c2c775.csp-s-3af9d6c2c775 {
  background-color: #ffc107; width: 20px; height: 20px; font-size: 9px; letter-spacing: 0.5px;
}

.csp-s-402069ead057.csp-s-402069ead057.csp-s-402069ead057 {
  margin-top: 51px; padding-left: 0px; padding-right: 0px; position: relative;
}

.csp-s-412ad1ee8ba9.csp-s-412ad1ee8ba9.csp-s-412ad1ee8ba9 {
  color: #1b3c53
}

.csp-s-41d62d167486.csp-s-41d62d167486.csp-s-41d62d167486 {
  display:flex; flex-wrap:nowrap; gap:8px; width:fit-content; padding:0;
}

.csp-s-43170d47848c.csp-s-43170d47848c.csp-s-43170d47848c {
  cursor:pointer; border-style:dashed;
}

.csp-s-46afea3838da.csp-s-46afea3838da.csp-s-46afea3838da {
  position: absolute; top: 5px; left: 50%; transform: translateX(-50%); cursor: ns-resize; color: #061d36;
}

.csp-s-4c020938674f.csp-s-4c020938674f.csp-s-4c020938674f {
  min-width: 115px;
}

.csp-s-4eb80f9a40ff.csp-s-4eb80f9a40ff.csp-s-4eb80f9a40ff {
  color: #061d36;
}

.csp-s-500fbd0391a4.csp-s-500fbd0391a4.csp-s-500fbd0391a4 {
  height: 31px;
}

.csp-s-55263ff9b6a5.csp-s-55263ff9b6a5.csp-s-55263ff9b6a5 {
  display:none; position:absolute; bottom:0; left:0; right:0; z-index:20;
}

.csp-s-5595cedd91e8.csp-s-5595cedd91e8.csp-s-5595cedd91e8 {
  color: #2AA63E
}

.csp-s-57bf1ef74599.csp-s-57bf1ef74599.csp-s-57bf1ef74599 {
  width:18px; height:12px; object-fit:cover; transform:scaleY(0.82); transform-origin:center; vertical-align:middle; margin-right:6px;
}

.csp-s-5b5527df7235.csp-s-5b5527df7235.csp-s-5b5527df7235 {
  width: 180px;
}

.csp-s-5cebb509f9d9.csp-s-5cebb509f9d9.csp-s-5cebb509f9d9 {
  background-color: #f8f9fa;
}

.csp-s-5f3c4a879234.csp-s-5f3c4a879234.csp-s-5f3c4a879234 {
  width:100%;height:100%;object-fit:cover;
}

.csp-s-6131336b8080.csp-s-6131336b8080.csp-s-6131336b8080 {
  height: 100%;
}

.csp-s-6beaeb4d3f3d.csp-s-6beaeb4d3f3d.csp-s-6beaeb4d3f3d {
  width: 400px;
}

.csp-s-6c4370585036.csp-s-6c4370585036.csp-s-6c4370585036 {
  min-width: 90px;
}

.csp-s-6e13ae9e52ae.csp-s-6e13ae9e52ae.csp-s-6e13ae9e52ae {
  max-height: 300px; overflow-y: scroll;
}

.csp-s-6e22c58a7a6a.csp-s-6e22c58a7a6a.csp-s-6e22c58a7a6a {
  display: none;
}

.csp-s-70301f711f96.csp-s-70301f711f96.csp-s-70301f711f96 {
  background:#f8f9fa;
}

.csp-s-703cb67b197b.csp-s-703cb67b197b.csp-s-703cb67b197b {
  min-height: 0;
}

.csp-s-730e99f9b837.csp-s-730e99f9b837.csp-s-730e99f9b837 {
  top: 50%; left: 10px; transform: translateY(-50%); font-size: 16px;
}

.csp-s-7383a06bf462.csp-s-7383a06bf462.csp-s-7383a06bf462 {
  border-radius: 10px;
}

.csp-s-7553d34bce3e.csp-s-7553d34bce3e.csp-s-7553d34bce3e {
  display:none;height:450px;
}

.csp-s-78dccdabe86c.csp-s-78dccdabe86c.csp-s-78dccdabe86c {
  width: 140px;
}

.csp-s-79741bc81f18.csp-s-79741bc81f18.csp-s-79741bc81f18 {
  font-size: 16px;
}

.csp-s-7974bf528f19.csp-s-7974bf528f19.csp-s-7974bf528f19 {
  min-width: 260px;
}

.csp-s-797766774133.csp-s-797766774133.csp-s-797766774133 {
  height: calc(100vh - 105px);
}

.csp-s-7ae632089da4.csp-s-7ae632089da4.csp-s-7ae632089da4 {
  margin-left: 1px; margin-top: 5px; margin-bottom: 5px; margin-right: 5px;
}

.csp-s-7be17630f14f.csp-s-7be17630f14f.csp-s-7be17630f14f {
  max-height: 85vh; display: flex; flex-direction: column;
}

.csp-s-7c0f86ab5456.csp-s-7c0f86ab5456.csp-s-7c0f86ab5456 {
  cursor: pointer;
}

.csp-s-803b5e08a309.csp-s-803b5e08a309.csp-s-803b5e08a309 {
  padding-left: 2px;
}

.csp-s-8360235f55d7.csp-s-8360235f55d7.csp-s-8360235f55d7 {
  height: 90px;
}

.csp-s-83ac1ceef76e.csp-s-83ac1ceef76e.csp-s-83ac1ceef76e {
  cursor:pointer;
}

.csp-s-8946b1434783.csp-s-8946b1434783.csp-s-8946b1434783 {
  width:28px;height:28px;overflow:hidden;background:#fff;
}

.csp-s-8b511f076fb1.csp-s-8b511f076fb1.csp-s-8b511f076fb1 {
  font-size: 0.75rem;
}

.csp-s-8b6e522e8b9f.csp-s-8b6e522e8b9f.csp-s-8b6e522e8b9f {
  z-index:10; display:none;
}

.csp-s-8de77ed0af45.csp-s-8de77ed0af45.csp-s-8de77ed0af45 {
  cursor: default;
}

.csp-s-91d6973c43b0.csp-s-91d6973c43b0.csp-s-91d6973c43b0 {
  border:0;
}

.csp-s-92fe6d206cd8.csp-s-92fe6d206cd8.csp-s-92fe6d206cd8 {
  width: 220px;
}

.csp-s-96a6944e9e00.csp-s-96a6944e9e00.csp-s-96a6944e9e00 {
  color: white;
}

.csp-s-96edc35d4d78.csp-s-96edc35d4d78.csp-s-96edc35d4d78 {
  color: #0b2740;
}

.csp-s-9a5ed5bc94a8.csp-s-9a5ed5bc94a8.csp-s-9a5ed5bc94a8 {
  position: absolute; bottom: 10px; right: 10px; cursor: pointer;
}

.csp-s-9c8dade29829.csp-s-9c8dade29829.csp-s-9c8dade29829 {
  background: rgba(255,255,255,0.85);
}

.csp-s-9e84709049dc.csp-s-9e84709049dc.csp-s-9e84709049dc {
  height:75vh;
}

.csp-s-9ed045719426.csp-s-9ed045719426.csp-s-9ed045719426 {
  background: rgba(255,255,255,0.9); border-radius: 10px;
}

.csp-s-9fa38b919522.csp-s-9fa38b919522.csp-s-9fa38b919522 {
  color: #1a4b8c;
}

.csp-s-a3b34b44cb44.csp-s-a3b34b44cb44.csp-s-a3b34b44cb44 {
  color: #3482AA; cursor:pointer;
}

.csp-s-a6b33e74153f.csp-s-a6b33e74153f.csp-s-a6b33e74153f {
  max-height: 200px; overflow-y: auto;
}

.csp-s-a8352684d711.csp-s-a8352684d711.csp-s-a8352684d711 {
  max-height: 220px; overflow-y: auto;
}

.csp-s-ad388a971640.csp-s-ad388a971640.csp-s-ad388a971640 {
  width: 320px; max-width: 100%;
}

.csp-s-ae28122bc166.csp-s-ae28122bc166.csp-s-ae28122bc166 {
  width: 120px;
}

.csp-s-b115b7888592.csp-s-b115b7888592.csp-s-b115b7888592 {
  width: 600px;
}

.csp-s-b175e2199000.csp-s-b175e2199000.csp-s-b175e2199000 {
  max-height: 400px; overflow-y: scroll;
}

.csp-s-b3b2f65dc03e.csp-s-b3b2f65dc03e.csp-s-b3b2f65dc03e {
  overflow-y: auto; flex: 1 1 auto; padding: 1rem 1.25rem;
}

.csp-s-b521987ea54e.csp-s-b521987ea54e.csp-s-b521987ea54e {
  color: #ef702e;
}

.csp-s-b6b7fb0f3528.csp-s-b6b7fb0f3528.csp-s-b6b7fb0f3528 {
  z-index: 1060;
}

.csp-s-bbfe10ec09cb.csp-s-bbfe10ec09cb.csp-s-bbfe10ec09cb {
  font-size:20px; position:absolute; top:20px; right:20px; cursor:pointer; color: #B70008;
}

.csp-s-bd23112be4bd.csp-s-bd23112be4bd.csp-s-bd23112be4bd {
  position: sticky; top: 0;
}

.csp-s-bea70bfde3ca.csp-s-bea70bfde3ca.csp-s-bea70bfde3ca {
  z-index: 10; overflow-y: auto; background-color: white;
}

.csp-s-c3270469d6ea.csp-s-c3270469d6ea.csp-s-c3270469d6ea {
  pointer-events:none;
}

.csp-s-c3b97501f8b4.csp-s-c3b97501f8b4.csp-s-c3b97501f8b4 {
  font-size: 13px;
}

.csp-s-c3f6281591aa.csp-s-c3f6281591aa.csp-s-c3f6281591aa {
  height:90px;
}

.csp-s-c9f6a6da9ae1.csp-s-c9f6a6da9ae1.csp-s-c9f6a6da9ae1 {
  font-size: 0.65rem; display:none;
}

.csp-s-d0466aa33fa8.csp-s-d0466aa33fa8.csp-s-d0466aa33fa8 {
  display:none;
}

.csp-s-d1dc646165e3.csp-s-d1dc646165e3.csp-s-d1dc646165e3 {
  margin-top:2px;
}

.csp-s-d29362e6f26e.csp-s-d29362e6f26e.csp-s-d29362e6f26e {
  top: 0; z-index: 1010;
}

.csp-s-dadaf475ecd4.csp-s-dadaf475ecd4.csp-s-dadaf475ecd4 {
  max-height: 320px;
}

.csp-s-dd113e13f11e.csp-s-dd113e13f11e.csp-s-dd113e13f11e {
  width:fit-content;
}

.csp-s-deec345168a1.csp-s-deec345168a1.csp-s-deec345168a1 {
  width:100%; height:100%; border:0;
}

.csp-s-e169201ee15a.csp-s-e169201ee15a.csp-s-e169201ee15a {
  z-index: 3000 !important;
}

.csp-s-e48331c6ab08.csp-s-e48331c6ab08.csp-s-e48331c6ab08 {
  color:black;
}

.csp-s-e9bfcb772708.csp-s-e9bfcb772708.csp-s-e9bfcb772708 {
  background: rgba(255,255,255,0.55); backdrop-filter: blur(14px); color: #061d36;
}

.csp-s-ed180211b2c5.csp-s-ed180211b2c5.csp-s-ed180211b2c5 {
  height: 100vh;
}

.csp-s-f0b30add0633.csp-s-f0b30add0633.csp-s-f0b30add0633 {
  max-height: 400px; overflow-y: auto;
}

.csp-s-f2470e269dc1.csp-s-f2470e269dc1.csp-s-f2470e269dc1 {
  min-width:260px; white-space:nowrap; z-index:4000 !important;
}

.csp-s-f75f2aab9425.csp-s-f75f2aab9425.csp-s-f75f2aab9425 {
  height: calc(100vh - 50px); overflow: hidden;
}

.csp-s-f9152edb27af.csp-s-f9152edb27af.csp-s-f9152edb27af {
  width:18px; text-align:center;
}

.csp-s-fe45d93837ea.csp-s-fe45d93837ea.csp-s-fe45d93837ea {
  overflow: hidden;
}

.csp-s-01658e140b17.csp-s-01658e140b17.csp-s-01658e140b17 {
  position: relative;
            font-family: 'Segoe UI', Arial, sans-serif;
            font-size: 13px;
            color: #003366;
            background: white;
            border-radius: 6px;
            box-shadow: 0 4px 10px rgba(0,0,0,0.3);
            padding: 10px 30px 8px 10px;
            text-align: center;
            min-width: 160px;
}

.csp-s-0233977da9cb.csp-s-0233977da9cb.csp-s-0233977da9cb {
  font-family:'Segoe UI',Arial,sans-serif;font-size:13px;color:#111;background:#fff;border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,0.35);width:405px;position:relative;overflow:hidden;padding-bottom:45px;
}

.csp-s-04449861003f.csp-s-04449861003f.csp-s-04449861003f {
  padding:8px; cursor:pointer; border-radius:6px; gap:8px;
}

.csp-s-047507c35c51.csp-s-047507c35c51.csp-s-047507c35c51 {
  display:flex;align-items:center;gap:6px;
}

.csp-s-0752c772a08a.csp-s-0752c772a08a.csp-s-0752c772a08a {
  text-align: center;
            font-weight: 700;
            color: #003366;
            font-size: 17px;
            margin-top: 10px;
            margin-bottom: 8px;
}

.csp-s-09c5aefaf569.csp-s-09c5aefaf569.csp-s-09c5aefaf569 {
  position:absolute;top:6px;right:8px;background:transparent;border:none;font-size:18px;font-weight:bold;color:#666;cursor:pointer;z-index:10;
}

.csp-s-0aa645fe3688.csp-s-0aa645fe3688.csp-s-0aa645fe3688 {
  position:absolute;
      bottom:10px;
      left:50%;
      transform:translateX(-50%);
      background:rgba(0,0,0,0.65);
      color:white;
      font-family:sans-serif;
      border-radius:12px;
      padding:10px 18px;
      font-size:14px;
      text-align:center;
      z-index:99;
      width:min(620px, calc(100vw - 20px));
      display:none;
      backdrop-filter:blur(8px);
}

.csp-s-0dea36c307a8.csp-s-0dea36c307a8.csp-s-0dea36c307a8 {
  text-align:left;padding:3px 10px;border-bottom:1px solid #163244;color:#fff;font-weight:700;line-height:1.15;
}

.csp-s-112f2cba9122.csp-s-112f2cba9122.csp-s-112f2cba9122 {
  padding:8px 16px 12px 16px;
}

.csp-s-13096250269c.csp-s-13096250269c.csp-s-13096250269c {
  padding:3px 10px;border-bottom:1px solid #e7edf3;font-weight:600;color:#12324a;line-height:1.2;
}

.csp-s-134c9113a21c.csp-s-134c9113a21c.csp-s-134c9113a21c {
  font-family:'Segoe UI',Arial,sans-serif;font-size:13px;color:#111;background:#fff;border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,0.35);min-width:340px;max-width:420px;overflow:hidden;
}

.csp-s-15b9a06ea71e.csp-s-15b9a06ea71e.csp-s-15b9a06ea71e {
  display:flex; align-items:center; justify-content:center;
}

.csp-s-1677a88b124e.csp-s-1677a88b124e.csp-s-1677a88b124e {
  display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:8px;
}

.csp-s-1867b360295d.csp-s-1867b360295d.csp-s-1867b360295d {
  width:18px;height:12px;object-fit:cover;transform:scaleY(0.82);transform-origin:center;vertical-align:middle;margin-right:6px;
}

.csp-s-1b48524572c9.csp-s-1b48524572c9.csp-s-1b48524572c9 {
  position:absolute; display:none; background:white; border:1px solid #ccc;
                border-radius:8px; box-shadow:0 2px 10px rgba(0,0,0,0.15);
                z-index:9999; font-size:14px; min-width:200px; padding:5px;
}

.csp-s-1bf3c2bc7f33.csp-s-1bf3c2bc7f33.csp-s-1bf3c2bc7f33 {
  position:fixed; bottom:20px; left:50%; transform:translateX(-50%);
                  background:#333; color:white; padding:8px 15px; border-radius:6px;
                  z-index:10000; font-size:13px;
}

.csp-s-1d436efc1f88.csp-s-1d436efc1f88.csp-s-1d436efc1f88 {
  margin-top:6px;
}

.csp-s-20d5b72414f2.csp-s-20d5b72414f2.csp-s-20d5b72414f2 {
  display:flex; flex-direction:column; align-items:center;
}

.csp-s-20f9eb03cc17.csp-s-20f9eb03cc17.csp-s-20f9eb03cc17 {
  width: 30px; height: 30px; object-fit: contain; display: block;
}

.csp-s-21760df460c7.csp-s-21760df460c7.csp-s-21760df460c7 {
  position: relative;
            font-family: 'Segoe UI', Arial, sans-serif;
            font-size: 13px;
            color: #003366;
            background: white;
            border-radius: 6px;
            box-shadow: 0 4px 10px rgba(0,0,0,0.3);
            padding: 8px 30px 8px 10px;
            text-align: center;
            min-width: 140px;
}

.csp-s-217dd44232a8.csp-s-217dd44232a8.csp-s-217dd44232a8 {
  border:1px solid #dc3545;
              background:white;
              color:#dc3545;
              border-radius:4px;
              font-size:12px;
              padding:3px 8px;
              cursor:pointer;
}

.csp-s-23e4335d4499.csp-s-23e4335d4499.csp-s-23e4335d4499 {
  font-size:12px;color:#355066;
}

.csp-s-242fff7d0334.csp-s-242fff7d0334.csp-s-242fff7d0334 {
  font-weight:700;font-size:14px;
}

.csp-s-252286067d1d.csp-s-252286067d1d.csp-s-252286067d1d {
  font-weight:700;font-size:16px;
}

.csp-s-2693ef6eb019.csp-s-2693ef6eb019.csp-s-2693ef6eb019 {
  margin-bottom:5px;
}

.csp-s-273bc56d85c8.csp-s-273bc56d85c8.csp-s-273bc56d85c8 {
  display:inline-block;width:18px;height:12px;margin-right:8px;
}

.csp-s-2a040b90a5ec.csp-s-2a040b90a5ec.csp-s-2a040b90a5ec {
  position:absolute; bottom:20px; left:50%; transform:translateX(-50%);
      width:660px; background:rgba(255,255,255,0.95); border-radius:12px;
      padding:12px 16px; box-shadow:0 3px 10px rgba(0,0,0,0.25);
      display:flex; align-items:center; gap:12px; z-index:2000;
}

.csp-s-3011c8c093a1.csp-s-3011c8c093a1.csp-s-3011c8c093a1 {
  font-size:12px;opacity:0.8;
}

.csp-s-3169b740a4c5.csp-s-3169b740a4c5.csp-s-3169b740a4c5 {
  display:flex; align-items:center; gap:2px; flex-shrink:0;
}

.csp-s-3388184ab6de.csp-s-3388184ab6de.csp-s-3388184ab6de {
  font-family:'Segoe UI',Arial,sans-serif;font-size:13px;color:#111;background:#fff;border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,0.35);width:370px;position:relative;overflow:hidden;
}

.csp-s-344b2bb006d9.csp-s-344b2bb006d9.csp-s-344b2bb006d9 {
  font-family: 'Segoe UI', Arial, sans-serif;
          font-size: 13px;
          color: #111;
          background: #fff;
          border-radius: 10px;
          box-shadow: 0 4px 16px rgba(0,0,0,0.35);
          width: 405px;
          position: relative;
          overflow: hidden;
          padding-bottom: 45px;
}

.csp-s-345a465a93e4.csp-s-345a465a93e4.csp-s-345a465a93e4 {
  font-family:'Segoe UI',Arial,sans-serif;font-size:13px;color:#111;background:#fff;border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,0.35);min-width:560px;max-width:720px;overflow:hidden;
}

.csp-s-347bb563bc5e.csp-s-347bb563bc5e.csp-s-347bb563bc5e {
  font-size:12px;color:#5a7184;margin-top:4px;
}

.csp-s-35c3ee37c256.csp-s-35c3ee37c256.csp-s-35c3ee37c256 {
  padding:10px 16px 8px 16px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
}

.csp-s-3628974ac1d0.csp-s-3628974ac1d0.csp-s-3628974ac1d0 {
  font-family:'Segoe UI',Arial,sans-serif;font-size:13px;color:#111;
                      background:#fff;border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,0.35);
                      width:320px;position:relative;overflow:hidden;padding:10px;
}

.csp-s-3757b7a252bc.csp-s-3757b7a252bc.csp-s-3757b7a252bc {
  min-width:0;flex:1;
}

.csp-s-38e315f5b493.csp-s-38e315f5b493.csp-s-38e315f5b493 {
  margin-top:8px;
          display:flex;
          justify-content:center;
          align-items:center;
          gap:8px;
          flex-wrap:wrap;
}

.csp-s-391510b90cd3.csp-s-391510b90cd3.csp-s-391510b90cd3 {
  background:transparent;border:none;font-size:18px;font-weight:bold;color:#666;
                  cursor:pointer;width:28px;height:28px;line-height:1;display:flex;align-items:center;justify-content:center;
}

.csp-s-3a35c23d3899.csp-s-3a35c23d3899.csp-s-3a35c23d3899 {
  margin:6px 0;
}

.csp-s-3bb3e8d5e15e.csp-s-3bb3e8d5e15e.csp-s-3bb3e8d5e15e {
  font-family:'Segoe UI',Arial,sans-serif;font-size:13px;color:#111;
                background:#fff;border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,0.35);
                width:320px;position:relative;overflow:hidden;padding:10px;
}

.csp-s-3c627cb63bb3.csp-s-3c627cb63bb3.csp-s-3c627cb63bb3 {
  width:200px;
}

.csp-s-3d1949a4e8e2.csp-s-3d1949a4e8e2.csp-s-3d1949a4e8e2 {
  width:28px; height:28px; display:flex; align-items:center; justify-content:center; background:#f3f4f6;
}

.csp-s-3e02317d3b31.csp-s-3e02317d3b31.csp-s-3e02317d3b31 {
  position:absolute; top:-6px; left:50%; transform:translateX(-50%);
                  width:0; height:0;
                  border-left:6px solid transparent;
                  border-right:6px solid transparent;
                  border-bottom:6px solid white;
                  filter:drop-shadow(0 -1px 1px rgba(0,0,0,0.1));
}

.csp-s-3e37dc3bd57c.csp-s-3e37dc3bd57c.csp-s-3e37dc3bd57c {
  position:absolute;top:6px;right:8px;background:transparent;border:none;
              font-size:18px;font-weight:bold;color:#666;cursor:pointer;z-index:10;
}

.csp-s-40bcb6ba0b05.csp-s-40bcb6ba0b05.csp-s-40bcb6ba0b05 {
  flex:1;min-width:0;display:flex;justify-content:center;
}

.csp-s-4168c0722620.csp-s-4168c0722620.csp-s-4168c0722620 {
  display:flex;
          align-items:flex-start;
          justify-content:space-between;
          gap:10px;
          margin-bottom:8px;
}

.csp-s-421a91fd6fce.csp-s-421a91fd6fce.csp-s-421a91fd6fce {
  margin:0 0 8px 18px;
          padding:0;
          text-align:left;
          color:#4b5d73;
          font-size:12px;
          font-weight:400;
          line-height:1.4;
}

.csp-s-4228ac9dd7ca.csp-s-4228ac9dd7ca.csp-s-4228ac9dd7ca {
  font-size:12px; color:#061d36;
}

.csp-s-4348ddd96699.csp-s-4348ddd96699.csp-s-4348ddd96699 {
  color:white; font-size:14px;
}

.csp-s-4403c91b6754.csp-s-4403c91b6754.csp-s-4403c91b6754 {
  width:28px;height:28px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;
}

.csp-s-469946e8be03.csp-s-469946e8be03.csp-s-469946e8be03 {
  color:white;
}

.csp-s-4a595f93c063.csp-s-4a595f93c063.csp-s-4a595f93c063 {
  font-size:12px;
              opacity:0.8;
              margin-bottom:6px;
              white-space: normal;
              word-break: break-word;
              max-width: 180px;
}

.csp-s-4cb9699971fd.csp-s-4cb9699971fd.csp-s-4cb9699971fd {
  background:white;
    padding:3px 8px;
    border-radius:6px;
    font-weight:600;
    color:#003366;
    border:1px solid rgba(0,0,0,0.2);
    box-shadow:0 2px 4px rgba(0,0,0,0.2);
}

.csp-s-4e2c2764061d.csp-s-4e2c2764061d.csp-s-4e2c2764061d {
  display:flex;justify-content:space-between;font-size:11px;opacity:.85;margin-top:2px;
}

.csp-s-4e363161174e.csp-s-4e363161174e.csp-s-4e363161174e {
  border:0;border-top:1px solid #dcdcdc;margin:0 0 10px 0;
}

.csp-s-4e377a20941b.csp-s-4e377a20941b.csp-s-4e377a20941b {
  border: 1px solid #dc3545;
                background: white;
                color: #dc3545;
                border-radius: 4px;
                font-size: 12px;
                padding: 3px 8px;
                cursor: pointer;
}

.csp-s-4eb2aac500e4.csp-s-4eb2aac500e4.csp-s-4eb2aac500e4 {
  padding: 8px 16px;
}

.csp-s-51342e111ba9.csp-s-51342e111ba9.csp-s-51342e111ba9 {
  border:1px solid #dc3545;
            background:white;
            color:#dc3545;
            border-radius:4px;
            font-size:12px;
            padding:3px 8px;
            cursor:pointer;
}

.csp-s-535bb8d3bfb1.csp-s-535bb8d3bfb1.csp-s-535bb8d3bfb1 {
  background:transparent;border:none;font-size:18px;font-weight:bold;color:#666;cursor:pointer;width:28px;height:28px;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0;
}

.csp-s-561b54b3c67d.csp-s-561b54b3c67d.csp-s-561b54b3c67d {
  color: #061d36; font-style: italic;
}

.csp-s-57e056cfac04.csp-s-57e056cfac04.csp-s-57e056cfac04 {
  position: absolute;
              top: 6px;
              right: 8px;
              background: transparent;
              border: none;
              font-size: 18px;
              font-weight: bold;
              color: #666;
              cursor: pointer;
              z-index: 10;
}

.csp-s-5a09505cd064.csp-s-5a09505cd064.csp-s-5a09505cd064 {
  width:28px; height:28px; display:flex; align-items:center; justify-content:center; overflow:hidden; background:#fff;
}

.csp-s-5a58fbc8f7a4.csp-s-5a58fbc8f7a4.csp-s-5a58fbc8f7a4 {
  font-family:'Segoe UI',Arial,sans-serif;font-size:13px;color:#111;background:#fff;border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,0.35);width:370px;position:relative;overflow:hidden;padding-bottom:45px;
}

.csp-s-5df07d5680dc.csp-s-5df07d5680dc.csp-s-5df07d5680dc {
  overflow-wrap:anywhere;
}

.csp-s-5ea42a06004c.csp-s-5ea42a06004c.csp-s-5ea42a06004c {
  color:#FB2C36;
}

.csp-s-649dc1dc8736.csp-s-649dc1dc8736.csp-s-649dc1dc8736 {
  flex:0 0 28px;width:28px;min-width:28px;display:flex;justify-content:flex-end;
}

.csp-s-6889daf59790.csp-s-6889daf59790.csp-s-6889daf59790 {
  color:white; font-size:16px;
}

.csp-s-689ed62dde4b.csp-s-689ed62dde4b.csp-s-689ed62dde4b {
  padding:3px 10px;border-bottom:1px solid #e7edf3;color:#355066;line-height:1.2;
}

.csp-s-6920f1f404d3.csp-s-6920f1f404d3.csp-s-6920f1f404d3 {
  background:transparent;border:none;font-size:18px;font-weight:bold;color:#666;cursor:pointer;width:28px;height:28px;line-height:1;display:flex;align-items:center;justify-content:center;
}

.csp-s-69b50313de25.csp-s-69b50313de25.csp-s-69b50313de25 {
  padding:8px 16px 14px 16px;
}

.csp-s-69c528ea91b4.csp-s-69c528ea91b4.csp-s-69c528ea91b4 {
  font-weight:600;
              margin-bottom:6px;
              padding-right:10px;
              min-height:18px;
              white-space: normal;
              word-break: break-word;
}

.csp-s-6e44f6128668.csp-s-6e44f6128668.csp-s-6e44f6128668 {
  flex-grow:1; accent-color:#061d36;
}

.csp-s-6f954371665e.csp-s-6f954371665e.csp-s-6f954371665e {
  color:#000 !important; font-size:14px; line-height:1;
}

.csp-s-71f7cfa186f0.csp-s-71f7cfa186f0.csp-s-71f7cfa186f0 {
  width:28px; height:28px; display:flex; align-items:center; justify-content:center; font-size:14px; background:#fff; color:#000; border:1px solid #d1d5db;
}

.csp-s-72e3c57f025b.csp-s-72e3c57f025b.csp-s-72e3c57f025b {
  border:0;border-top:1px solid #ddd;margin:5px 0;
}

.csp-s-74a477d4ceff.csp-s-74a477d4ceff.csp-s-74a477d4ceff {
  width:100%;
      height:100%;
      object-fit:cover;
      object-position:center;
      display:block;
}

.csp-s-75bf2eae5d67.csp-s-75bf2eae5d67.csp-s-75bf2eae5d67 {
  width:38px;padding:2px 6px;border-bottom:1px solid #e7edf3;text-align:center;line-height:1;white-space:nowrap;
}

.csp-s-75e93c48513e.csp-s-75e93c48513e.csp-s-75e93c48513e {
  position:relative; padding:10px 16px 0 16px; height:32px;
}

.csp-s-77fad9565b4d.csp-s-77fad9565b4d.csp-s-77fad9565b4d {
  position:absolute;top:6px;right:8px;background:transparent;border:none;font-size:16px;color:#666;cursor:pointer;
}

.csp-s-7b6ff91f66b1.csp-s-7b6ff91f66b1.csp-s-7b6ff91f66b1 {
  width:220px;
}

.csp-s-7b963db03722.csp-s-7b963db03722.csp-s-7b963db03722 {
  font-weight:700;font-size:14px;margin-bottom:4px;
}

.csp-s-7d1bdeff4d70.csp-s-7d1bdeff4d70.csp-s-7d1bdeff4d70 {
  border:1px solid #061d36; color:#061d36;
}

.csp-s-7fa854445ae2.csp-s-7fa854445ae2.csp-s-7fa854445ae2 {
  border:0;border-top:1px solid #dcdcdc;margin:6px 0;
}

.csp-s-82f9bc2faf4a.csp-s-82f9bc2faf4a.csp-s-82f9bc2faf4a {
  line-height: 1.5;
}

.csp-s-84316fcbc015.csp-s-84316fcbc015.csp-s-84316fcbc015 {
  max-height:340px;overflow:auto;border:1px solid #dbe5ee;border-radius:8px;
}

.csp-s-843bae8e6061.csp-s-843bae8e6061.csp-s-843bae8e6061 {
  margin-top:10px;display:flex;align-items:flex-start;justify-content:center;gap:25px;flex-wrap:wrap;
}

.csp-s-8567d05a1036.csp-s-8567d05a1036.csp-s-8567d05a1036 {
  position:absolute; display:none; background:white; border:1px solid #ccc;
                border-radius:8px; box-shadow:0 2px 10px rgba(0,0,0,0.15);
                z-index:9999; font-size:14px; min-width:180px; padding:5px;
}

.csp-s-85e259a4b3c0.csp-s-85e259a4b3c0.csp-s-85e259a4b3c0 {
  border:0; border-top:1px solid #dcdcdc; margin:6px 0;
}

.csp-s-860758588182.csp-s-860758588182.csp-s-860758588182 {
  min-width:24px;width:24px;height:20px;padding:0 3px;display:inline-flex;align-items:center;justify-content:center;line-height:1;border-radius:4px;
}

.csp-s-864dd4f2d2c0.csp-s-864dd4f2d2c0.csp-s-864dd4f2d2c0 {
  padding:8px; cursor:pointer; border-radius:6px; gap:8px; display:none;
}

.csp-s-89d41a511e2d.csp-s-89d41a511e2d.csp-s-89d41a511e2d {
  font-weight:600; color:#003366;
}

.csp-s-8aec551afe33.csp-s-8aec551afe33.csp-s-8aec551afe33 {
  font-weight:600; color:#061d36;
}

.csp-s-8d56ccb46a20.csp-s-8d56ccb46a20.csp-s-8d56ccb46a20 {
  display:flex;justify-content:center;margin-bottom:8px;
}

.csp-s-8eaa1ad48b3a.csp-s-8eaa1ad48b3a.csp-s-8eaa1ad48b3a {
  flex:1;
            min-width:0;
            display:flex;
            justify-content:center;
}

.csp-s-8ebb23217301.csp-s-8ebb23217301.csp-s-8ebb23217301 {
  margin-top:10px; display:flex; align-items:flex-start; justify-content:center; gap:25px; flex-wrap:wrap;
}

.csp-s-90f1980457ce.csp-s-90f1980457ce.csp-s-90f1980457ce {
  font-weight:700;color:#003366;font-size:17px;line-height:1.2;padding-top:4px;
}

.csp-s-91b991c1d59b.csp-s-91b991c1d59b.csp-s-91b991c1d59b {
  display:flex;align-items:center;justify-content:center;
}

.csp-s-968117061a2a.csp-s-968117061a2a.csp-s-968117061a2a {
  font-size:12px;color:#333;
}

.csp-s-969a0b651d4b.csp-s-969a0b651d4b.csp-s-969a0b651d4b {
  width:38px;text-align:center;padding:3px 6px;border-bottom:1px solid #163244;color:#fff;font-weight:700;line-height:1.15;white-space:nowrap;
}

.csp-s-9910ba1c81bd.csp-s-9910ba1c81bd.csp-s-9910ba1c81bd {
  position:relative;
          font-family:'Segoe UI', Arial, sans-serif;
          font-size:13px;
          color:#003366;
          background:white;
          border-radius:6px;
          box-shadow:0 4px 10px rgba(0,0,0,0.3);
          padding:8px 12px;
          font-weight:600;
          text-align:center;
          min-width:220px;
          max-width:280px;
}

.csp-s-9a740e035ff5.csp-s-9a740e035ff5.csp-s-9a740e035ff5 {
  padding:8px 16px 16px 16px;
}

.csp-s-9d210bb95c1f.csp-s-9d210bb95c1f.csp-s-9d210bb95c1f {
  display:flex;align-items:center;gap:5px;
}

.csp-s-9d6c5ff39ef4.csp-s-9d6c5ff39ef4.csp-s-9d6c5ff39ef4 {
  display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:10px;
        margin-bottom:8px;
}

.csp-s-9e1bf190f408.csp-s-9e1bf190f408.csp-s-9e1bf190f408 {
  position:absolute; left:16px; top:6px; height:32px; display:flex; align-items:center; gap:2px;
}

.csp-s-9e3ebd2f63e7.csp-s-9e3ebd2f63e7.csp-s-9e3ebd2f63e7 {
  font-size:12px; color:#64748b; margin-bottom:8px;
}

.csp-s-9f336d8690f9.csp-s-9f336d8690f9.csp-s-9f336d8690f9 {
  position:absolute;
            bottom: 10px;
            right: 12px;
}

.csp-s-a1593e5fa6ab.csp-s-a1593e5fa6ab.csp-s-a1593e5fa6ab {
  padding:10px 16px 0 16px; display:flex; align-items:flex-start; justify-content:space-between; gap:10px;
}

.csp-s-a3c35597a063.csp-s-a3c35597a063.csp-s-a3c35597a063 {
  font-size:13px;color:#5a7184;
}

.csp-s-a4600f2a34f6.csp-s-a4600f2a34f6.csp-s-a4600f2a34f6 {
  display:none;margin:8px auto 0;max-width:460px;
}

.csp-s-a547ffabd1e5.csp-s-a547ffabd1e5.csp-s-a547ffabd1e5 {
  font-weight: 600;
              margin-bottom: 6px;
              white-space: nowrap;
}

.csp-s-a5667e8ff816.csp-s-a5667e8ff816.csp-s-a5667e8ff816 {
  min-width:0; flex:1; font-weight:700; color:#003366; font-size:17px; line-height:1.2; padding-top:4px;
}

.csp-s-a6f6ba422cd1.csp-s-a6f6ba422cd1.csp-s-a6f6ba422cd1 {
  display:flex;align-items:center;gap:2px;flex-shrink:0;
}

.csp-s-a92e689708e8.csp-s-a92e689708e8.csp-s-a92e689708e8 {
  margin-top:8px;text-align:center;
}

.csp-s-a9c160a1da42.csp-s-a9c160a1da42.csp-s-a9c160a1da42 {
  border:1px solid #dc3545;
                background:white;
                color:#dc3545;
                border-radius:4px;
                font-size:12px;
                padding:3px 8px;
                cursor:pointer;
}

.csp-s-aa52eba25c65.csp-s-aa52eba25c65.csp-s-aa52eba25c65 {
  font-weight:700;font-size:14px;margin-bottom:8px;
}

.csp-s-ab656c5f5894.csp-s-ab656c5f5894.csp-s-ab656c5f5894 {
  font-family:'Segoe UI',Arial,sans-serif;
        font-size:13px;
        background:white;
        border-radius:6px;
        padding:8px 10px;
        text-align:center;
}

.csp-s-b37f8b277d4a.csp-s-b37f8b277d4a.csp-s-b37f8b277d4a {
  font-size:12px;opacity:.8;
}

.csp-s-b3d1ef35761a.csp-s-b3d1ef35761a.csp-s-b3d1ef35761a {
  font-size:12px;color:#5a7184;
}

.csp-s-b464d54163a0.csp-s-b464d54163a0.csp-s-b464d54163a0 {
  margin-top:8px;
            display:flex;
            justify-content:center;
            align-items:center;
            gap:8px;
            flex-wrap:wrap;
}

.csp-s-b481a2665562.csp-s-b481a2665562.csp-s-b481a2665562 {
  font-family:'Segoe UI',Arial,sans-serif;
      font-size:13px;
      background:white;
      border-radius:6px;
      padding:8px 10px;
      text-align:center;
      min-width:140px;
}

.csp-s-b699c17309cd.csp-s-b699c17309cd.csp-s-b699c17309cd {
  width:120px;
}

.csp-s-b948fe66b2cf.csp-s-b948fe66b2cf.csp-s-b948fe66b2cf {
  color:#888;
}

.csp-s-bab7158018bb.csp-s-bab7158018bb.csp-s-bab7158018bb {
  width:20px;
}

.csp-s-c000842c19af.csp-s-c000842c19af.csp-s-c000842c19af {
  position:sticky;top:0;background:#1b3c53;z-index:1;
}

.csp-s-c0b238a8da13.csp-s-c0b238a8da13.csp-s-c0b238a8da13 {
  background:transparent;
            border:none;
            font-size:18px;
            font-weight:bold;
            color:#666;
            cursor:pointer;
            width:28px;
            height:28px;
            line-height:1;
            display:flex;
            align-items:center;
            justify-content:center;
}

.csp-s-c42f23b8ec8e.csp-s-c42f23b8ec8e.csp-s-c42f23b8ec8e {
  font-size:12px;
}

.csp-s-c4df5938429d.csp-s-c4df5938429d.csp-s-c4df5938429d {
  padding:8px 16px;
}

.csp-s-c4f140a80981.csp-s-c4f140a80981.csp-s-c4f140a80981 {
  min-width:0;
}

.csp-s-c617de857d52.csp-s-c617de857d52.csp-s-c617de857d52 {
  text-align: right; font-size: 0.7rem; color: #6c757d; margin-top: 4px;
}

.csp-s-c6a8bda1a121.csp-s-c6a8bda1a121.csp-s-c6a8bda1a121 {
  width:18px;height:12px;object-fit:cover;transform:scaleY(0.82);transform-origin:center;opacity:0.9;margin-right:8px;vertical-align:middle;
}

.csp-s-c996f876a63e.csp-s-c996f876a63e.csp-s-c996f876a63e {
  flex:0 0 28px;
            width:28px;
            min-width:28px;
            display:flex;
            justify-content:flex-end;
}

.csp-s-c9bbbdf028ee.csp-s-c9bbbdf028ee.csp-s-c9bbbdf028ee {
  position:absolute; top:15px; left:10px; color:white; font-weight:700; font-size:14px; text-shadow:0 0 5px black; z-index:99;
}

.csp-s-cba669fd4da6.csp-s-cba669fd4da6.csp-s-cba669fd4da6 {
  position:absolute;
        left:50%;
        top:4px;
        transform:translateX(-50%);
        width:auto;
        text-align:center;
        font-weight:700;
        color:#003366;
        font-size:17px;
        white-space:nowrap;
        height:32px;
        display:flex;
        align-items:center;
}

.csp-s-cd718a1ab03c.csp-s-cd718a1ab03c.csp-s-cd718a1ab03c {
  font-size: 0.95rem; padding-left: 2rem;
}

.csp-s-ce2460435f55.csp-s-ce2460435f55.csp-s-ce2460435f55 {
  background:transparent;
                border:none;
                font-size:18px;
                font-weight:bold;
                color:#666;
                cursor:pointer;
                width:28px;
                height:28px;
                line-height:1;
                display:flex;
                align-items:center;
                justify-content:center;
}

.csp-s-cfa4a90d3a23.csp-s-cfa4a90d3a23.csp-s-cfa4a90d3a23 {
  display:flex;flex-direction:column;align-items:center;
}

.csp-s-d78f16e5eff3.csp-s-d78f16e5eff3.csp-s-d78f16e5eff3 {
  display:inline-flex;
        align-items:center;
        gap:6px;
        padding:4px 8px;
        border-radius:999px;
        background:#eaf3ff;
        color:#0b3b66;
        font-size:11px;
        font-weight:700;
        text-transform:uppercase;
        letter-spacing:0.04em;
}

.csp-s-d84f602ddea5.csp-s-d84f602ddea5.csp-s-d84f602ddea5 {
  height:8px;border-radius:999px;
}

.csp-s-d941880b36ba.csp-s-d941880b36ba.csp-s-d941880b36ba {
  display:inline-flex;
          align-items:center;
          gap:6px;
          padding:4px 8px;
          border-radius:999px;
          background:#eaf3ff;
          color:#0b3b66;
          font-size:11px;
          font-weight:700;
          text-transform:uppercase;
          letter-spacing:0.04em;
}

.csp-s-daebee6f36be.csp-s-daebee6f36be.csp-s-daebee6f36be {
  width:100%; height:170px; overflow:hidden; margin-top:12px;
}

.csp-s-dca4cdb36e84.csp-s-dca4cdb36e84.csp-s-dca4cdb36e84 {
  text-align: right; font-size: 0.7rem; color: rgba(255, 255, 255, 0.75); margin-top: 2px;
}

.csp-s-ded25f05c34a.csp-s-ded25f05c34a.csp-s-ded25f05c34a {
  width:100%;border-collapse:collapse;font-size:12px;background:#fff;
}

.csp-s-e14c93864f04.csp-s-e14c93864f04.csp-s-e14c93864f04 {
  font-size:15px;margin-top:4px;
}

.csp-s-e1af8d6816a4.csp-s-e1af8d6816a4.csp-s-e1af8d6816a4 {
  font-family:'Segoe UI',Arial,sans-serif;font-size:13px;color:#111;
                    background:#fff;border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,0.35);
                    width:320px;position:relative;overflow:hidden;padding:10px;
}

.csp-s-e41b8cf06eb4.csp-s-e41b8cf06eb4.csp-s-e41b8cf06eb4 {
  position:absolute;top:6px;right:8px;background:transparent;border:none;
                  font-size:18px;font-weight:bold;color:#666;cursor:pointer;z-index:10;
}

.csp-s-e42730241248.csp-s-e42730241248.csp-s-e42730241248 {
  display:flex; align-items:center; gap:5px;
}

.csp-s-e4fa0b3ce238.csp-s-e4fa0b3ce238.csp-s-e4fa0b3ce238 {
  font-family:'Segoe UI',Arial,sans-serif;
            font-size:13px;
            color:#111;
            background:#fff;
            border-radius:10px;
            box-shadow:0 4px 16px rgba(0,0,0,0.35);
            padding:10px;
            min-width:180px;
            position:relative;
}

.csp-s-e5fddb7b9f60.csp-s-e5fddb7b9f60.csp-s-e5fddb7b9f60 {
  position:absolute;
      bottom:10px;
      left:50%;
      transform:translateX(-50%);
      background:rgba(0,0,0,0.65);
      color:white;
      font-family:sans-serif;
      border-radius:12px;
      padding:10px 18px;
      font-size:14px;
      text-align:center;
      z-index:99;
      min-width:520px;
      display:none;
      backdrop-filter: blur(8px);
}

.csp-s-e6a5814bbe79.csp-s-e6a5814bbe79.csp-s-e6a5814bbe79 {
  position:absolute;top:6px;right:8px;background:transparent;border:none;
                    font-size:18px;font-weight:bold;color:#666;cursor:pointer;z-index:10;
}

.csp-s-eb3ba4b8cc5f.csp-s-eb3ba4b8cc5f.csp-s-eb3ba4b8cc5f {
  padding: 8px 16px 12px 16px;
}

.csp-s-ebde2adcddf1.csp-s-ebde2adcddf1.csp-s-ebde2adcddf1 {
  position:absolute;
                top:6px;
                right:6px;
                border:none;
                background:transparent;
                color:#6b7280;
                font-size:14px;
                line-height:1;
                padding:2px 4px;
                cursor:pointer;
}

.csp-s-ec9e2c1e1919.csp-s-ec9e2c1e1919.csp-s-ec9e2c1e1919 {
  position:absolute;bottom:10px;right:12px;display:flex;gap:6px;
}

.csp-s-ef2cc1d6192b.csp-s-ef2cc1d6192b.csp-s-ef2cc1d6192b {
  display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
}

.csp-s-efe996f33b4c.csp-s-efe996f33b4c.csp-s-efe996f33b4c {
  min-width:0;flex:1;font-weight:600;color:#003366;padding-top:4px;
}

.csp-s-f0a16afdf743.csp-s-f0a16afdf743.csp-s-f0a16afdf743 {
  position:fixed; bottom:20px; left:50%; transform:translateX(-50%);
                background:#333; color:white; padding:8px 15px; border-radius:6px;
                z-index:10000; font-size:13px;
}

.csp-s-f5ab868694db.csp-s-f5ab868694db.csp-s-f5ab868694db {
  font-weight:600;color:#003366;
}

.csp-s-f6cda3b21d28.csp-s-f6cda3b21d28.csp-s-f6cda3b21d28 {
  display:flex; flex-direction:column; align-items:flex-end;
}

.csp-s-f732747652d3.csp-s-f732747652d3.csp-s-f732747652d3 {
  position:absolute;
                top:6px;
                right:8px;
                background:transparent;
                border:none;
                font-size:18px;
                font-weight:bold;
                color:#666;
                cursor:pointer;
                width:28px;
                height:28px;
                line-height:1;
                display:flex;
                align-items:center;
                justify-content:center;
}

.csp-s-f80cc74e6528.csp-s-f80cc74e6528.csp-s-f80cc74e6528 {
  font-size:12px; color:#64748b;
}

.csp-s-f875b8335949.csp-s-f875b8335949.csp-s-f875b8335949 {
  background:transparent;
              border:none;
              font-size:18px;
              font-weight:bold;
              color:#666;
              cursor:pointer;
              width:28px;
              height:28px;
              line-height:1;
              display:flex;
              align-items:center;
              justify-content:center;
}

.csp-s-f88705e01237.csp-s-f88705e01237.csp-s-f88705e01237 {
  color:#0d5bd7;text-decoration:none;
}

.csp-s-feec3be3b58f.csp-s-feec3be3b58f.csp-s-feec3be3b58f {
  width:100%; height:100%; object-fit:cover;
}

/* Migrated from templates/chat_usage_analysis/chat_usage_analysis.html. */
.chat-usage-kpis {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
  }

  .chat-usage-kpi {
    background: #fff;
    border: 1px solid var(--analytics-border);
    border-radius: 12px;
    padding: 16px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
  }

  .chat-usage-kpi-label {
    color: var(--analytics-muted);
    font-size: 0.85rem;
    margin-bottom: 6px;
  }

  .chat-usage-kpi-value {
    color: var(--analytics-primary);
    font-size: 1.6rem;
    font-weight: 700;
  }

  .chat-usage-table thead th {
    white-space: nowrap;
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 1;
  }

  .chat-usage-table td,
  .chat-usage-table th {
    vertical-align: middle;
    font-size: 0.92rem;
  }

  .chat-usage-user-name {
    font-weight: 600;
    color: var(--analytics-primary);
  }

  .chat-usage-user-meta {
    color: var(--analytics-muted);
    font-size: 0.8rem;
  }

  .chat-usage-interactions-line {
    line-height: 1.25;
  }

/* Migrated from templates/index/index.html. */
/* Resalta el parent mientras alguna de sus opciones hijas esté seleccionada. */
  .map-controls .dropdown-submenu:has(> .submenu-panel .submenu-item > input[type="checkbox"]:checked) > .dropdown-item,
  .map-controls .dropdown-submenu.has-selected-child > .dropdown-item {
      color: #3482aa !important;
      font-weight: 700 !important;
  }

  .map-controls .dropdown-submenu:has(> .submenu-panel .submenu-item > input[type="checkbox"]:checked) > .dropdown-item #panorama-countries-count,
  .map-controls .dropdown-submenu.has-selected-child > .dropdown-item #panorama-countries-count,
  .map-controls .dropdown-submenu:has(> .submenu-panel .submenu-item > input[type="checkbox"]:checked) > .dropdown-item #panorama-fleets-count,
  .map-controls .dropdown-submenu.has-selected-child > .dropdown-item #panorama-fleets-count {
      color: #3482aa !important;
  }

  /* Aplica el mismo indicador al botón principal visible sobre el mapa. */
  .map-controls > .dropdown:has(> .dropdown-menu input[type="checkbox"]:checked) > .dropdown-toggle {
      color: #3482aa !important;
      font-weight: 700 !important;
  }

  /* === DISEÑO DE ALTO CONTRASTE PARA HISTORIAL DE CHATS === */
  .chat-item-btn {
      background-color: #f8f9fa !important; /* Fondo casi blanco */
      color: #212529 !important; /* Texto gris oscuro/negro */
      border: 1px solid #dee2e6 !important;
      border-radius: 6px !important;
      padding: 10px 14px;
      font-size: 0.9rem;
      transition: all 0.2s ease-in-out;
  }
  
  /* Efecto al pasar el mouse por encima */
  .chat-item-btn:hover {
      background-color: #e2e8f0 !important;
      color: #000000 !important;
  }
  
  /* El chat que está seleccionado actualmente */
  .chat-item-btn.active {
      background-color: #061d36 !important; /* Azul ultra oscuro institucional */
      color: #ffffff !important; /* Texto blanco puro */
      border-color: #061d36 !important;
      font-weight: 600;
  }
  /* FORZAR UNA SOLA COLUMNA */
  #chat-history-list {
      display: flex !important;
      flex-direction: column !important;
      flex-wrap: nowrap !important;
      gap: 8px; 
  }
  /* FORZAR TAMAÑO Y CORTE DE TEXTO EN LOS BOTONES */
  .chat-item-btn {
      display: block !important;
      width: 100% !important;
      flex-shrink: 0 !important; 
      background-color: transparent !important;
      color: #061d36 !important; 
      border: 1px solid #dee2e6 !important;
      border-radius: 6px !important;
      padding: 10px 14px;
      font-size: 0.85rem;
      font-weight: 500;
      transition: all 0.2s ease;
      
      /* Para que el texto largo termine con "..." */
      white-space: nowrap !important;
      overflow: hidden !important;
      text-overflow: ellipsis !important;
  }

/* Migrated from templates/index/test.html. */
body { margin: 0; padding: 0; font-family: sans-serif; }
    #map { position: absolute; top: 0; bottom: 0; width: 100%; background-color: #3E4048;}
    #pointer-data{ z-index: 1; position: fixed; font-size: 20px; font-weight: 900; margin: 27px 0px 0px 10px; color: #fff; text-shadow: 0px 0px 10px #0007;}
    #variable-name{ z-index: 1; position: fixed; font-size: 20px; font-weight: 500; margin: 5px 0px 0px 10px; color: #fff; text-shadow: 0px 0px 10px #0007; text-transform:capitalize;}
    #time-info{ position: fixed; width: 60vw; bottom: 0; z-index: 1; margin: 10px; text-shadow: 0px 0px 5px black; color: white; font-size: 18px; font-weight: 500; text-align: center; left: 0; right: 0; margin: auto; padding: 20px;}
    #time-text{ font-size: 12px; font-weight: 600;}
    #time-slider{ width: 100%; height: fit-content; left: 0; right: 0; z-index: 1; filter: drop-shadow(0 0 7px #000a); margin-top: 10px;}
    #buttons{ width: auto; margin: 0 10px; padding:0; position:absolute; top: 50px; left:0; z-index:99;}
    .button{ display: block; position: relative; margin: 10px 0 0 0; font-size: 0.9em;}

/* Migrated from templates/login/login.html. */
.login-form {
        width: min(400px, calc(100vw - 2rem));
        max-width: 400px;
    }

    .login-form.session-conflict-layout {
        width: min(520px, calc(100vw - 2rem));
        max-width: 520px;
    }

    .session-conflict-alert {
        text-align: left;
    }

    .session-conflict-details div {
        white-space: nowrap;
    }

    @media (max-width: 576px) {
        .session-conflict-details div {
            white-space: normal;
        }
    }

    .password-toggle-wrapper {
        position: relative;
    }

    .password-toggle-input {
        padding-right: 2.5rem;
    }

    .password-toggle-input.is-invalid {
        background-image: none;
        padding-right: 2.5rem;
    }

    .password-toggle-btn {
        position: absolute;
        top: 50%;
        right: 0.85rem;
        transform: translateY(-50%);
        border: 0;
        background: transparent;
        color: #6c757d;
        padding: 0;
        cursor: pointer;
        line-height: 1;
        z-index: 2;
    }

    .password-toggle-btn.is-active {
        color: #3482AA;
    }

    .recovery-code-inputs {
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 0.5rem;
    }

    .recovery-code-input {
        height: 52px;
        border: 1px solid #ced4da;
        border-radius: 0.8rem;
        text-align: center;
        font-size: 1.35rem;
        font-weight: 700;
        background: #fff;
    }

    .recovery-code-input:focus {
        outline: none;
        border-color: #3482AA;
        box-shadow: 0 0 0 0.18rem rgba(52, 130, 170, 0.15);
    }

    .recovery-helper-link {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        color: #3482AA;
        font-weight: 600;
        text-decoration: none;
    }

    .recovery-helper-link:hover {
        color: #2a6887;
    }

    .recovery-password-rules {
        margin: 0.75rem 0 0;
        padding-left: 0;
        list-style: none;
        font-size: 0.85rem;
        color: #dc3545;
        text-align: left;
    }

    .recovery-password-rules li {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0.45rem;
        color: #dc3545;
        margin-bottom: 0.2rem;
    }

    .recovery-password-rules li i {
        color: inherit;
        font-size: 0.8rem;
    }

    .recovery-password-rules li.rule-valid {
        color: #198754;
    }

    .recovery-password-match {
        margin-top: 0.6rem;
        margin-bottom: 1rem;
        padding-left: 0;
        list-style: none;
        font-size: 0.85rem;
        text-align: left;
    }

    .recovery-password-match:empty {
        display: none;
    }

    .recovery-password-match .match-item {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0.45rem;
    }

    .recovery-password-match .match-item i {
        font-size: 0.8rem;
    }

    .recovery-password-match.match-ok,
    .recovery-password-match.match-ok .match-item i {
        color: #198754;
    }

    .recovery-password-match.match-error,
    .recovery-password-match.match-error .match-item i {
        color: #dc3545;
    }

    .recovery-confirm-group {
        margin-top: 1rem;
    }

    .recovery-reset-submit {
        margin-top: 0.5rem;
    }

    .btn:disabled,
    .btn.disabled {
        cursor: not-allowed;
        opacity: 0.65;
    }

    .recovery-request-submit {
        margin-top: 1rem;
    }

    .login-validation-error {
        color: red;
    }

/* Migrated from templates/profile/profile.html. */
html:has(.profile-page),
  body:has(.profile-page) {
    height: auto !important;
    min-height: 100%;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  body:has(.profile-page) #main-container {
    height: auto !important;
    min-height: 100vh;
    overflow: visible !important;
  }

/* Migrated from templates/ships/cctv_frame.html. */
html, body {
      margin: 0;
      width: 100%;
      height: 100%;
      background: #000;
      overflow: hidden;
      font-family: Arial, sans-serif;
    }

    .viewer {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      background: #000;
    }

    .viewer img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      background: #000;
    }

    .viewer-error {
      color: #fff;
      text-align: center;
      padding: 24px;
      line-height: 1.4;
    }

/* Migrated from templates/ships_list/modal_ship_detail.html. */
.ship-detail-section {
          border: 1px solid #dee2e6;
          border-radius: 0.75rem;
          padding: 1rem;
          background: #fff;
        }

        .ship-detail-list {
          display: grid;
          grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
          gap: 0.75rem 1.25rem;
          margin: 0;
        }

        .ship-detail-item {
          min-width: 0;
        }

        .ship-detail-label {
          color: #6c757d;
          font-size: 0.8rem;
          margin-bottom: 0.15rem;
        }

        .ship-detail-value {
          white-space: pre-wrap;
          word-break: break-word;
        }

/* Migrated from templates/users_permissions_config/users_permissions_config.html. */
.permissions-tab-pane.active.show {
    display: flex;
  }
