:root{
  --gil-bg:#07172d;
  --gil-bg-deep:#030d1b;
  --gil-panel:#0d213c;
  --gil-panel-2:#102846;
  --gil-line:#28415f;
  --gil-line-soft:#1b3554;
  --gil-text:#f7fbff;
  --gil-muted:#9eb6d1;
  --gil-blue:#2f7ee6;
  --gil-blue-hover:#3e8df4;
  --gil-gold:#e2b53f;
  --gil-danger:#ef4f64;
  --gil-success:#4fd18b;
}
*{box-sizing:border-box}
html{background:var(--gil-bg)}
body{
  margin:0!important;
  background:linear-gradient(180deg,var(--gil-bg-deep) 0,var(--gil-bg) 180px,var(--gil-bg) 100%)!important;
  color:var(--gil-text)!important;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
  min-height:100vh;
}
a{color:#86bfff} a:hover{color:#b7d8ff}
code{background:#102846!important;color:#d9eaff!important;border:1px solid var(--gil-line-soft);padding:.15rem .4rem;border-radius:6px}

/* shared top navigation */
.dances-nav{
  min-height:66px;
  padding:0 max(22px,calc((100vw - 1360px)/2))!important;
  background:#020b18!important;
  border-bottom:1px solid #172b44;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  display:flex;align-items:center;justify-content:space-between;
}
.dances-nav-left,.dances-nav-right{display:flex;align-items:center;gap:8px!important}
.dances-brand{display:flex;align-items:center;gap:11px;margin-right:22px;color:white!important;text-decoration:none!important;font-weight:800!important;font-size:19px}
.dances-brand img{width:34px;height:34px;object-fit:contain;border-radius:8px}
.dances-brand span:last-child{color:var(--gil-gold)}
.dances-nav a:not(.dances-brand){padding:10px 13px;border-radius:10px;color:#eaf3ff!important;text-decoration:none!important;font-weight:600!important}
.dances-nav a:not(.dances-brand):hover{background:#10233d;text-decoration:none!important}
.dances-user{color:var(--gil-muted)!important;padding:0 8px}

/* page width and headings */
.wrap,.max-w-6xl{max-width:1360px!important;margin-left:auto!important;margin-right:auto!important}
.wrap{padding:30px 24px!important;margin-top:0!important}
h1,h2,h3,h4,strong{color:var(--gil-text)}
h1{letter-spacing:-.025em}.sub,.muted,.text-gray-600,.text-gray-500,.text-gray-400{color:var(--gil-muted)!important}

/* cards and panels */
.panel,.card,.bg-white,.rounded-2xl,.modal>div:not([data-close]){
  background:var(--gil-panel)!important;
  color:var(--gil-text)!important;
  border-color:var(--gil-line)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.14)!important;
}
.panel{border-radius:16px!important;overflow:hidden!important}
.panel>header{
  background:var(--gil-panel-2)!important;
  color:var(--gil-text)!important;
  border-bottom:1px solid var(--gil-line)!important;
  padding:15px 18px!important;
  font-size:16px;
}
.panel .body{padding:18px!important}
.border,.border-b,.border-t,.divide-y>*+*{border-color:var(--gil-line)!important}

/* controls */
input:not([type=checkbox]):not([type=radio]),select,textarea,.input{
  background:#081a31!important;
  color:var(--gil-text)!important;
  border:1px solid var(--gil-line)!important;
  border-radius:10px!important;
  min-height:42px;
  padding:9px 12px!important;
  outline:none;
}
input::placeholder,textarea::placeholder{color:#7893b0!important}
input:focus,select:focus,textarea:focus,.input:focus{
  border-color:#4b94ee!important;
  box-shadow:0 0 0 3px rgba(47,126,230,.18)!important;
}
input[type=checkbox],input[type=radio]{accent-color:var(--gil-blue)}

.btn,.btn-ghost,.btn-danger,button,.dances-nav a{
  transition:background .15s,border-color .15s,transform .15s,box-shadow .15s;
}
.btn,.btn-primary{
  background:var(--gil-blue)!important;
  border:1px solid #4691ed!important;
  color:white!important;
  border-radius:10px!important;
  font-weight:700!important;
  box-shadow:0 5px 14px rgba(20,91,186,.22)!important;
}
.btn:hover,.btn-primary:hover{background:var(--gil-blue-hover)!important;transform:translateY(-1px)}
.btn-ghost,.btn.btn-ghost{
  background:#10243f!important;
  color:#eaf3ff!important;
  border:1px solid var(--gil-line)!important;
  border-radius:10px!important;
  text-decoration:none!important;
  display:inline-flex;align-items:center;justify-content:center;
}
.btn-ghost:hover,.btn.btn-ghost:hover{background:#173252!important}
.btn-danger,.btn-danger.btn-ghost{background:#3a1823!important;color:#ffacba!important;border-color:#763043!important;box-shadow:none!important}
.btn-danger:hover{background:#51202f!important}
button[disabled],.btn[disabled]{opacity:.45!important}

/* tables */
table{color:var(--gil-text)!important;border-color:var(--gil-line)!important}
thead th,.table thead th{
  background:#102744!important;color:#9fc9fa!important;border-color:var(--gil-line)!important;
  text-transform:uppercase;font-size:12px!important;letter-spacing:.045em;font-weight:750!important;
}
th,td,.table th,.table td{border-color:var(--gil-line-soft)!important}
tbody tr{background:#0b1e36!important}
tbody tr:nth-child(even){background:#0d223d!important}
tbody tr:hover{background:#132d4d!important}
.badge,.chip{background:#122e50!important;color:#cce4ff!important;border-color:#28517d!important}

/* classes admin layout */
body.admin-classes .wrap{max-width:1420px!important}
body.admin-classes .grid{grid-template-columns:minmax(360px,430px) minmax(0,1fr)!important;gap:20px!important}
body.admin-classes .panel:first-child .body{padding:16px!important}
body.admin-classes #classes{gap:10px!important;max-height:calc(100vh - 330px);overflow-y:auto;padding-right:4px}
body.admin-classes .class-item{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center!important;
  gap:14px!important;
  padding:14px!important;
  min-height:82px;
  background:#0b1e36!important;
  border:1px solid var(--gil-line-soft)!important;
  border-radius:12px!important;
  cursor:pointer;
}
body.admin-classes .class-item:hover{background:#102846!important;border-color:#37628e!important}
body.admin-classes .class-item.active{background:#12335a!important;border-color:#4b94ee!important;box-shadow:0 0 0 3px rgba(47,126,230,.16)!important}
body.admin-classes .class-item>div:first-child{min-width:0}
body.admin-classes .class-item>div:first-child>div:first-child{display:flex;align-items:flex-start;gap:7px;flex-wrap:wrap;line-height:1.25}
body.admin-classes .class-item strong{font-size:16px;display:block;max-width:250px}
body.admin-classes .class-item .badge{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.admin-classes .class-item .row{flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;gap:7px!important}
body.admin-classes .class-item .btn-ghost,body.admin-classes .class-item .btn-danger{height:34px!important;padding:0 11px!important;font-size:13px!important;min-width:70px}
body.admin-classes .panel:first-child .row:first-child{display:grid!important;grid-template-columns:1fr auto!important;width:100%}
body.admin-classes #cSearch{width:100%!important;min-width:0}
body.admin-classes #newClassName{flex:1;min-width:210px}
body.admin-classes #dSearch{min-width:280px;flex:1}
body.admin-classes #classMeta{font-size:14px}
body.admin-classes .table{border-collapse:separate!important;border-spacing:0;overflow:hidden;border-radius:12px;border:1px solid var(--gil-line)!important}
body.admin-classes #addModal>div:nth-child(2){background:var(--gil-panel)!important;color:var(--gil-text)!important;border-color:var(--gil-line)!important}

/* Tailwind utility overrides used by database/class pages */
.bg-gray-50{background:transparent!important}.bg-gray-100{background:#102744!important}.text-gray-900,.text-gray-800,.text-gray-700{color:var(--gil-text)!important}
.hover\:bg-gray-50:hover,.hover\:bg-gray-100:hover{background:#173252!important}
.shadow-sm{box-shadow:0 14px 34px rgba(0,0,0,.14)!important}
.level-filters label{background:#102744!important;border-color:var(--gil-line)!important;color:#ddebfa!important}
.modal{background:rgba(0,6,16,.78)!important;backdrop-filter:blur(4px)}

@media(max-width:900px){
  .dances-nav{padding:10px 14px!important;align-items:flex-start;gap:10px;flex-wrap:wrap}
  .dances-nav-left{flex-wrap:wrap}.dances-brand{width:100%;margin-right:0}
  body.admin-classes .grid{grid-template-columns:1fr!important}
  body.admin-classes #classes{max-height:none}
}
