html{
  height:auto !important;
  min-height:100% !important;
  overflow:auto !important;
}
.login-card #login-otp{
  width:100%;
  background:#020702;
  border:1px solid var(--border);
  color:var(--g);
  padding:11px;
  margin-bottom:10px;
  outline:none;
}
body.jambo-app-active #left{
  display:none !important;
}
body.jambo-app-active #right{
  display:flex !important;
  height:auto !important;
  min-height:100vh !important;
  overflow:visible !important;
}
body.jambo-app-active #control-page{
  display:flex !important;
  min-height:100vh;
  overflow:visible !important;
}
body.jambo-app-active{
  display:block !important;
  height:auto !important;
  min-height:100vh !important;
  overflow:auto !important;
  color:#eef8ff;
}
.jambo-shell{
  display:grid;
  grid-template-columns:280px 1fr;
  min-height:100vh;
  width:100%;
  background:
    radial-gradient(circle at 14% 6%,rgba(32,247,255,.12),transparent 26%),
    radial-gradient(circle at 86% 0%,rgba(168,85,255,.14),transparent 28%),
    linear-gradient(135deg,#030816,#061427 54%,#02040a);
  color:#eef8ff;
  font-family:Inter,Segoe UI,Arial,sans-serif;
}
.jambo-shell.is-collapsed{
  grid-template-columns:88px 1fr;
}
.jambo-sidebar{
  position:sticky;
  top:0;
  height:100vh;
  z-index:20;
  border-right:1px solid rgba(42,106,160,.35);
  background:rgba(2,8,23,.9);
  backdrop-filter:blur(18px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.jambo-side-top{
  padding:16px 14px;
  border-bottom:1px solid rgba(42,106,160,.35);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.jambo-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.jambo-logo{
  width:42px;
  height:42px;
  border-radius:14px;
  background:linear-gradient(135deg,#a855ff,#20f7ff);
  display:grid;
  place-items:center;
  box-shadow:0 0 28px rgba(32,247,255,.32);
  font-weight:900;
  color:#fff;
}
.jambo-brand-copy b{
  display:block;
  color:#fff;
  font-size:18px;
  line-height:1;
}
.jambo-brand-copy span{
  display:block;
  color:#8ba4bf;
  font-size:11px;
  margin-top:4px;
}
.jambo-shell.is-collapsed .jambo-brand-copy,
.jambo-shell.is-collapsed .jambo-side-section,
.jambo-shell.is-collapsed .jambo-nav-label,
.jambo-shell.is-collapsed .jambo-nav-badge{
  display:none;
}
.jambo-toggle,
.jambo-drawer-toggle{
  width:36px;
  height:36px;
  border:1px solid rgba(32,247,255,.35);
  border-radius:12px;
  background:rgba(8,22,42,.82);
  color:#20f7ff;
  cursor:pointer;
}
.jambo-drawer-toggle{
  display:none;
}
.jambo-side-scroll{
  flex:1;
  overflow:auto;
  padding:10px 10px 18px;
  scrollbar-width:none;
}
.jambo-side-scroll::-webkit-scrollbar{
  display:none;
}
.jambo-side-section{
  padding:10px 10px 6px;
  color:#79a3c5;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:700;
}
.jambo-nav{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  border:1px solid transparent;
  border-radius:14px;
  padding:10px 12px;
  margin:4px 0;
  background:transparent;
  color:#b9d7ef;
  cursor:pointer;
  text-align:left;
  font:inherit;
}
.jambo-nav:hover{
  background:rgba(32,247,255,.08);
  border-color:#245680;
}
.jambo-nav.active{
  border-color:#20f7ff;
  color:#fff;
  background:rgba(8,28,53,.78);
  box-shadow:0 0 24px rgba(32,247,255,.18), inset 0 0 18px rgba(168,85,255,.15);
}
.jambo-nav-ico{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:linear-gradient(135deg,#5aa7ff,#20f7ff);
  color:#fff;
  font-size:11px;
  font-weight:800;
  flex:0 0 auto;
}
.jambo-shell.is-collapsed .jambo-nav{
  justify-content:center;
  padding:10px 0;
}
.jambo-nav-badge{
  margin-left:auto;
  padding:2px 8px;
  border-radius:999px;
  border:1px solid rgba(32,247,255,.28);
  color:#8fdfff;
  font-size:10px;
}
.jambo-main{
  min-width:0;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:16px;
  overflow:visible;
}
.jambo-topbar{
  border:1px solid rgba(42,106,160,.35);
  border-radius:24px;
  background:rgba(6,19,37,.78);
  backdrop-filter:blur(18px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 18px;
  box-shadow:0 18px 70px rgba(0,0,0,.24);
}
.jambo-top-left{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.jambo-title h1{
  font-size:28px;
  line-height:1.05;
  margin:0;
  font-weight:900;
  letter-spacing:-.03em;
}
.jambo-title h1 span{
  color:#20f7ff;
}
.jambo-title p{
  margin:6px 0 0;
  color:#8ba4bf;
  font-size:13px;
}
.jambo-top-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.jambo-chip{
  border:1px solid rgba(42,106,160,.35);
  border-radius:999px;
  padding:7px 10px;
  color:#c8e7ff;
  font-size:11px;
  background:rgba(8,22,42,.62);
}
.jambo-btn{
  border:1px solid #20f7ff;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(32,247,255,.18),rgba(168,85,255,.22));
  padding:10px 14px;
  font-weight:800;
  color:#eef8ff;
  cursor:pointer;
  box-shadow:0 0 24px rgba(32,247,255,.16);
}
.jambo-btn.secondary{
  border-color:#2a6aa0;
  background:rgba(8,22,42,.72);
}
.jambo-btn.danger{
  border-color:#ff4d6d;
  background:linear-gradient(135deg,rgba(255,77,109,.18),rgba(168,85,255,.18));
}
.jambo-alert{
  border:1px solid rgba(255,180,62,.48);
  border-radius:18px;
  padding:14px 16px;
  background:rgba(32,18,2,.72);
  color:#ffd89c;
}
.jambo-grid,
.jambo-grid-2,
.jambo-grid-3,
.jambo-grid-4{
  display:grid;
  gap:16px;
}
.jambo-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.jambo-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.jambo-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.jambo-card{
  border:1px solid rgba(42,106,160,.35);
  border-radius:22px;
  background:rgba(8,22,42,.82);
  backdrop-filter:blur(18px);
  box-shadow:0 20px 80px rgba(0,0,0,.22);
  overflow:hidden;
}
.jambo-dashboard-grid{
  display:grid;
  grid-template-columns:minmax(280px,1.05fr) minmax(520px,1.6fr) minmax(280px,1.05fr);
  gap:16px;
  align-items:start;
}
.jambo-dashboard-stack{
  display:grid;
  gap:16px;
}
.jambo-dashboard-bottom{
  align-items:start;
}
.jambo-map-card .jambo-card-body{
  padding:0;
}
.jambo-map-wrap{
  min-height:620px;
  background:#03101f;
}
.jambo-map-wrap #map-stage{
  position:relative;
  min-height:620px;
}
.jambo-load-list{
  display:grid;
  gap:10px;
}
.jambo-load-card{
  border:1px solid rgba(42,106,160,.28);
  border-radius:16px;
  padding:14px;
  background:rgba(4,14,28,.48);
}
.jambo-meter{
  margin-top:12px;
}
.jambo-meter span{
  display:block;
  color:#b8d7ef;
  font-size:12px;
  margin-bottom:6px;
}
.jambo-meter div{
  height:8px;
  border-radius:999px;
  border:1px solid rgba(42,106,160,.32);
  background:rgba(2,8,20,.75);
  overflow:hidden;
}
.jambo-meter i{
  display:block;
  height:100%;
  background:linear-gradient(90deg,#20f7ff,#a855ff);
  box-shadow:0 0 18px rgba(32,247,255,.34);
}
.jambo-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:15px 18px;
  border-bottom:1px solid rgba(36,96,148,.45);
}
.jambo-card-head h2{
  margin:0;
  font-size:15px;
  letter-spacing:.03em;
}
.jambo-card-body{
  padding:16px 18px;
}
.jambo-stat{
  padding:16px 18px;
  position:relative;
}
.jambo-stat:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  background:linear-gradient(90deg,#20f7ff,#a855ff);
}
.jambo-stat span{
  display:block;
  color:#8ba4bf;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.jambo-stat b{
  display:block;
  margin-top:8px;
  font-size:30px;
  color:#eef8ff;
}
.jambo-stat small{
  display:block;
  margin-top:8px;
  color:#b8d7ef;
  font-size:12px;
}
.jambo-kpi{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.jambo-kpi-item{
  border:1px solid rgba(42,106,160,.26);
  border-radius:14px;
  padding:12px;
  background:rgba(6,19,37,.6);
}
.jambo-kpi-item span{
  display:block;
  color:#8ba4bf;
  font-size:11px;
  text-transform:uppercase;
}
.jambo-kpi-item b{
  display:block;
  margin-top:6px;
  font-size:18px;
}
.jambo-domain-list,
.jambo-list{
  display:grid;
  gap:10px;
}
.jambo-domain{
  border:1px solid rgba(42,106,160,.28);
  border-radius:16px;
  padding:14px;
  background:rgba(4,14,28,.48);
}
.jambo-domain-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.jambo-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-radius:999px;
  padding:5px 10px;
  border:1px solid rgba(42,106,160,.35);
  background:rgba(8,22,42,.62);
  font-size:11px;
}
.jambo-badge.ok{color:#4dff9a;border-color:rgba(77,255,154,.42)}
.jambo-badge.warn{color:#ffb43e;border-color:rgba(255,180,62,.42)}
.jambo-badge.bad{color:#ff4d6d;border-color:rgba(255,77,109,.42)}
.jambo-meta{
  color:#8ba4bf;
  font-size:12px;
  margin-top:8px;
  line-height:1.55;
}
.jambo-table-wrap{
  overflow:auto;
  border:1px solid rgba(36,96,148,.34);
  border-radius:18px;
}
.jambo-table td,
.jambo-table th{
  color:#e9f7ff;
}
.jambo-table{
  width:100%;
  border-collapse:collapse;
  font-size:13px;
}
.jambo-table th,
.jambo-table td{
  padding:12px 14px;
  border-bottom:1px solid rgba(36,96,148,.24);
  text-align:left;
  vertical-align:top;
}
.jambo-table th{
  color:#8fdfff;
  background:rgba(32,247,255,.06);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.jambo-btn-xs{
  min-height:28px;
  padding:5px 9px;
  font-size:11px;
}
.jambo-pager{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top:12px;
  color:#b6d6ef;
  font-size:12px;
}
.jambo-db-edit{
  margin-top:14px;
  border:1px solid rgba(255,180,62,.38);
  border-radius:16px;
  padding:14px;
  background:rgba(7,18,34,.78);
}
.jambo-db-edit-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
  margin-top:12px;
}
.jambo-db-edit-grid label span{
  display:block;
  margin-bottom:6px;
  color:#8fdfff;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.jambo-db-cell-input{
  min-height:74px;
  resize:vertical;
  font-family:Consolas,"Courier New",monospace;
  line-height:1.35;
}
.jambo-db-cell-input:disabled{
  opacity:.72;
  cursor:not-allowed;
}
.jambo-note{
  color:#b6d6ef;
  font-size:12px;
  line-height:1.6;
}
.jambo-lock{
  border:1px solid rgba(255,180,62,.42);
  border-radius:16px;
  padding:14px;
  background:rgba(32,18,2,.62);
  color:#ffd89c;
}
.jambo-terminal{
  height:320px;
  overflow:auto;
  padding:14px 16px 68px;
  border-radius:16px;
  background:radial-gradient(circle at 16% 0%,rgba(32,247,255,.10),transparent 26%),rgba(3,11,24,.82);
  font-family:Consolas,"Courier New",monospace;
}
.jambo-terminal .tline{
  color:#d9f4ff !important;
  text-shadow:0 0 8px rgba(32,247,255,.18);
}
.jambo-terminal .tline.info{color:#78b9ff !important}
.jambo-terminal .tline.warn{color:#ffca70 !important}
.jambo-terminal .tline.err{color:#ff7a98 !important}
.jambo-terminal .tline.head{color:#ffffff !important}
.jambo-terminal .tline.out,
.jambo-terminal .tline.tree,
.jambo-terminal .tline.cmd{color:#86f9ff !important}
.jambo-terminal-input{
  display:flex;
  gap:10px;
  margin-top:14px;
}
.jambo-terminal-input input{
  flex:1;
  border:1px solid #245680;
  background:rgba(2,8,20,.65);
  color:#eef8ff;
  border-radius:12px;
  padding:11px 13px;
}
.jambo-terminal-input button{
  min-width:120px;
}
.jambo-empty{
  padding:24px;
  text-align:center;
  color:#8ba4bf;
}
.jambo-footer{
  color:#6f88a0;
  font-size:11px;
  margin-top:14px;
}
.jambo-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.jambo-input,
.jambo-select,
.jambo-textarea{
  width:100%;
  border:1px solid rgba(36,96,148,.72);
  border-radius:14px;
  background:rgba(2,8,20,.75);
  color:#eef8ff;
  padding:11px 13px;
  font:inherit;
}
.jambo-input::placeholder,
.jambo-textarea::placeholder{
  color:#86a9c7;
}
.jambo-input:focus,
.jambo-select:focus,
.jambo-textarea:focus{
  outline:none;
  border-color:#20f7ff;
  box-shadow:0 0 0 4px rgba(32,247,255,.12);
}
.jambo-textarea{
  min-height:220px;
  resize:vertical;
  font-family:Consolas,"Courier New",monospace;
}
.jambo-domain-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:12px;
  margin-top:14px;
}
.jambo-domain-card{
  width:100%;
  border:1px solid rgba(42,106,160,.34);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(4,14,28,.72),rgba(8,22,42,.82));
  padding:16px;
  color:#eef8ff;
  text-align:left;
  cursor:pointer;
  box-shadow:0 14px 34px rgba(0,0,0,.16);
}
.jambo-domain-card:hover{
  border-color:#4fbeff;
  transform:translateY(-1px);
}
.jambo-domain-card.active{
  border-color:#20f7ff;
  box-shadow:0 0 24px rgba(32,247,255,.18), inset 0 0 18px rgba(168,85,255,.10);
}
.jambo-domain-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.jambo-domain-card strong{
  display:block;
  flex:1;
  min-width:0;
  line-height:1.35;
  word-break:break-word;
}
.jambo-domain-card .jambo-meta{
  word-break:break-word;
}
.jambo-domain-card-top .jambo-badge{
  flex:0 0 auto;
}
.jambo-domain-card code{
  display:block;
  margin-top:10px;
  padding:7px 9px;
  border-radius:12px;
  background:rgba(2,8,20,.72);
  color:#b7efff;
  font-size:12px;
  word-break:break-all;
}
.jambo-link{
  border:0;
  background:none;
  color:#8fe8ff;
  padding:0;
  text-align:left;
  font:inherit;
}
.jambo-link:hover{
  color:#ffffff;
}
.jambo-inline-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.jambo-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  color:#b6d6ef;
  font-size:12px;
}
.jambo-breadcrumb button{
  border:0;
  background:none;
  color:#8fe8ff;
  padding:0;
  font:inherit;
}
.jambo-pager{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top:14px;
  color:#b6d6ef;
  font-size:12px;
}
.jambo-skeleton-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.jambo-skeleton{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  background:rgba(255,255,255,.06);
}
.jambo-skeleton:after{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);
  animation:jambo-shimmer 1.2s infinite;
}
.jambo-skeleton-card{
  min-height:120px;
}
.jambo-loading{
  min-height:160px;
  display:grid;
  place-items:center;
  color:#b7efff;
  font-size:14px;
}
@keyframes jambo-shimmer{
  100%{transform:translateX(100%)}
}
.jambo-overlay{
  display:none;
}
body.jambo-drawer-open .jambo-overlay{
  display:block;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.56);
  z-index:18;
}
@media (max-width: 980px){
  .jambo-shell{
    grid-template-columns:1fr;
  }
  .jambo-sidebar{
    position:fixed;
    left:0;
    top:0;
    bottom:0;
    width:280px;
    transform:translateX(-110%);
    transition:transform .22s ease;
  }
  body.jambo-drawer-open .jambo-sidebar{
    transform:translateX(0);
  }
  .jambo-drawer-toggle{
    display:grid;
    place-items:center;
  }
  .jambo-toggle{
    display:none;
  }
  .jambo-grid-2,
  .jambo-grid-3,
  .jambo-grid-4{
    grid-template-columns:1fr;
  }
  .jambo-dashboard-grid{
    grid-template-columns:1fr;
  }
  .jambo-map-wrap,
  .jambo-map-wrap #map-stage{
    min-height:560px;
  }
  .jambo-skeleton-grid{
    grid-template-columns:1fr;
  }
}
