@import url('/ui-core.css');

.admin-body{
  min-height:100vh;
  padding:18px;
  background:var(--ink);
  color:var(--txt);
}
.admin-header{
  max-width:1560px;
  margin:0 auto 16px;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  position:relative;
  z-index:2;
}
.admin-brand{
  display:flex;
  align-items:flex-start;
  gap:16px;
}
.admin-brand-mark{
  width:62px;
  height:62px;
  border:1px solid rgba(0,170,255,.18);
  background:linear-gradient(180deg,rgba(0,170,255,.08),rgba(0,170,255,.03));
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex:0 0 62px;
}
.admin-brand-mark img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.admin-code{
  font-family:var(--f-mono);
  font-size:10px;
  letter-spacing:.24em;
  color:var(--b1);
  opacity:.82;
  text-transform:uppercase;
}
.admin-header h1{
  margin-top:8px;
  font-family:var(--f-syne);
  font-size:clamp(36px,5vw,60px);
  color:var(--white);
  letter-spacing:-.06em;
  line-height:.92;
}
.admin-header h1 span{color:var(--b1)}
.admin-sub{
  margin-top:10px;
  max-width:70ch;
  color:var(--txt2);
  line-height:1.75;
}
.admin-top-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.admin-main{
  max-width:1560px;
  margin:0 auto;
  position:relative;
  z-index:2;
}
.admin-meta-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}
.meta-card,.listing-card,.editor-card{
  border:1px solid rgba(0,170,255,.12);
  background:
    linear-gradient(180deg,rgba(255,255,255,.012),rgba(255,255,255,0)),
    linear-gradient(145deg,rgba(6,15,38,.94),rgba(3,6,15,.98));
  box-shadow:0 0 90px rgba(0,170,255,.05),inset 0 0 50px rgba(0,170,255,.02);
}
.meta-card{
  min-height:138px;
  padding:20px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.meta-card span{
  display:block;
  font-family:var(--f-mono);
  font-size:10px;
  letter-spacing:.22em;
  color:var(--txt3);
  text-transform:uppercase;
}
.meta-card strong{
  display:block;
  margin-top:12px;
  font-family:var(--f-syne);
  font-size:clamp(30px,4vw,48px);
  line-height:.92;
  color:var(--white);
  letter-spacing:-.04em;
}
.admin-panel-grid{
  margin-top:14px;
  display:grid;
  grid-template-columns:minmax(360px,.84fr) minmax(420px,1.16fr);
  gap:14px;
  align-items:start;
}
.listing-card,.editor-card{
  padding:22px;
}
.card-code{
  font-family:var(--f-mono);
  font-size:10px;
  letter-spacing:.24em;
  color:var(--b1);
  opacity:.8;
  text-transform:uppercase;
}
.list-head,.editor-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.list-head h2,.editor-head h2{
  margin-top:10px;
  font-family:var(--f-syne);
  font-size:34px;
  color:var(--white);
  letter-spacing:-.05em;
  line-height:.95;
}
.list-head p,.editor-sub{
  margin-top:8px;
  color:var(--txt2);
  line-height:1.72;
}
.toolbar{
  margin-top:18px;
  display:grid;
  grid-template-columns:1fr 190px;
  gap:10px;
}
.toolbar-input,.toolbar-select,.field input,.field select,.field textarea{
  width:100%;
  border:1px solid rgba(0,170,255,.12);
  background:rgba(0,170,255,.035);
  color:var(--txt);
  outline:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.01);
}
.toolbar-input,.toolbar-select,.field input,.field select{
  min-height:52px;
  padding:0 14px;
}
.field textarea{
  min-height:126px;
  padding:14px;
  resize:vertical;
}
.toolbar-input::placeholder,.field input::placeholder,.field textarea::placeholder{color:var(--txt3)}
.toolbar-input:focus,.toolbar-select:focus,.field input:focus,.field select:focus,.field textarea:focus{
  border-color:rgba(0,170,255,.38);
  box-shadow:0 0 0 3px rgba(0,170,255,.08);
}
.list-stack{
  margin-top:16px;
  display:grid;
  gap:12px;
  max-height:740px;
  overflow:auto;
  padding-right:4px;
}
.list-stack::-webkit-scrollbar{width:8px}
.list-stack::-webkit-scrollbar-thumb{background:rgba(0,170,255,.16)}
.admin-item{
  border:1px solid rgba(0,170,255,.1);
  background:rgba(0,170,255,.04);
  padding:16px;
  transition:border-color .22s ease,transform .22s ease,background .22s ease,box-shadow .22s ease;
}
.admin-item:hover{
  border-color:rgba(0,170,255,.28);
  background:rgba(0,170,255,.06);
  transform:translateY(-1px);
  box-shadow:0 0 34px rgba(0,170,255,.08);
}
.admin-item.active{
  border-color:rgba(0,170,255,.52);
  background:rgba(0,170,255,.08);
  box-shadow:inset 0 0 0 1px rgba(0,170,255,.2);
}
.admin-item-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}
.admin-item h3{
  font-family:var(--f-syne);
  font-size:24px;
  color:var(--white);
  letter-spacing:-.04em;
  line-height:.95;
}
.admin-item p{
  margin-top:8px;
  color:var(--txt2);
  line-height:1.72;
  font-size:14px;
  word-break:break-word;
}
.admin-note{
  margin-top:10px;
  color:#ffb7b7 !important;
}
.admin-badges{
  margin-top:12px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.badge{
  min-height:30px;
  padding:0 11px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(0,170,255,.14);
  background:rgba(0,170,255,.04);
  color:var(--b1);
  font-family:var(--f-mono);
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.badge.ok{
  border-color:rgba(70,220,170,.2);
  color:#7ff3ca;
  background:rgba(70,220,170,.06);
}
.badge.warn{
  border-color:rgba(255,196,82,.2);
  color:#ffd179;
  background:rgba(255,196,82,.08);
}
.badge.danger{
  border-color:rgba(255,120,120,.2);
  color:#ff9e9e;
  background:rgba(255,120,120,.08);
}
.admin-item-actions{
  margin-top:14px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.vault-btn,.ghost-btn,.danger-btn,.item-btn{
  min-height:48px;
  padding:0 16px;
  border:none;
  font-family:var(--f-mono);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  transition:transform .2s var(--ease),box-shadow .25s,border-color .25s,background .25s,color .25s;
}
.vault-btn{
  background:linear-gradient(180deg,#28beff,#008fea);
  color:#04101a;
  box-shadow:0 0 34px rgba(0,170,255,.22);
}
.ghost-btn,.item-btn{
  border:1px solid rgba(0,170,255,.18);
  background:rgba(0,170,255,.04);
  color:var(--b1);
}
.danger-btn,.item-btn.delete,.item-btn.ban{
  border:1px solid rgba(255,110,110,.18);
  background:rgba(255,110,110,.06);
  color:#ff9e9e;
}
.item-btn.ok{
  border:1px solid rgba(70,220,170,.18);
  background:rgba(70,220,170,.06);
  color:#7ff3ca;
}
.item-btn.warn{
  border:1px solid rgba(255,196,82,.18);
  background:rgba(255,196,82,.08);
  color:#ffd179;
}
.vault-btn:hover,.ghost-btn:hover,.danger-btn:hover,.item-btn:hover{transform:translateY(-1px)}
.editor-card{
  margin-top:14px;
  display:none;
}
.editor-card.open{display:block}
.editor-form{
  display:grid;
  gap:12px;
  margin-top:18px;
}
.field-grid{display:grid;gap:12px}
.field-grid.two{grid-template-columns:1fr 1fr}
.field-grid.three{grid-template-columns:1fr 1fr 1fr}
.field{display:grid;gap:8px}
.field span{
  font-family:var(--f-mono);
  font-size:10px;
  letter-spacing:.2em;
  color:var(--b1);
  text-transform:uppercase;
}
.toggle-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.toggle{
  min-height:44px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  border:1px solid rgba(0,170,255,.12);
  background:rgba(0,170,255,.03);
  color:var(--txt2);
  font-family:var(--f-mono);
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.toggle input{accent-color:var(--b1)}
.submit-row{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.vault-status{
  min-height:20px;
  color:var(--txt2);
}
.vault-status.ok{color:#7ff3ca}
.vault-status.err{color:#ff9e9e}

.member-map-card{
  margin-top:14px;
  display:none;
  padding:22px;
  border:1px solid rgba(0,170,255,.12);
  background:
    linear-gradient(180deg,rgba(255,255,255,.012),rgba(255,255,255,0)),
    linear-gradient(145deg,rgba(6,15,38,.94),rgba(3,6,15,.98));
  box-shadow:0 0 90px rgba(0,170,255,.05),inset 0 0 50px rgba(0,170,255,.02);
}
.member-map-card.open{
  display:block;
}
.member-map-layout{
  margin-top:18px;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  gap:14px;
  align-items:start;
}
.member-map-canvas{
  min-height:460px;
  border:1px solid rgba(0,170,255,.12);
  background:#020611;
}
.member-map-list{
  min-height:460px;
  max-height:460px;
  overflow:auto;
  display:grid;
  gap:10px;
  padding-right:4px;
}
.member-map-list::-webkit-scrollbar{width:8px}
.member-map-list::-webkit-scrollbar-thumb{background:rgba(0,170,255,.16)}
.member-map-item{
  border:1px solid rgba(0,170,255,.1);
  background:rgba(0,170,255,.04);
  padding:14px;
  transition:border-color .22s ease,transform .22s ease,background .22s ease;
}
.member-map-item:hover{
  border-color:rgba(0,170,255,.24);
  background:rgba(0,170,255,.06);
  transform:translateY(-1px);
}
.member-map-item h3{
  font-family:var(--f-syne);
  font-size:20px;
  color:var(--white);
  letter-spacing:-.03em;
}
.member-map-item p{
  margin-top:8px;
  color:var(--txt2);
  line-height:1.6;
  font-size:13px;
}
.member-map-actions{
  margin-top:12px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.member-map-empty{
  min-height:460px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(0,170,255,.1);
  background:rgba(0,170,255,.03);
  color:var(--txt2);
  font-family:var(--f-mono);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.leaflet-container{background:#020611}
.leaflet-control-zoom a{
  background:rgba(9,17,36,.94)!important;
  color:var(--b1)!important;
  border-color:rgba(0,170,255,.14)!important
}
.leaflet-bar{border:none!important;box-shadow:none!important}

@media (max-width:1280px){
  .admin-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-panel-grid{grid-template-columns:1fr}
  .member-map-layout{grid-template-columns:1fr}
  .member-map-canvas,.member-map-list,.member-map-empty{
    min-height:360px;
    max-height:none;
  }
}
@media (max-width:780px){
  .admin-body{padding:14px}
  .admin-header{flex-direction:column}
  .admin-brand{width:100%}
  .admin-top-actions{width:100%}
  .admin-top-actions .ghost-btn,.admin-top-actions .danger-btn{flex:1}
  .admin-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .toolbar{grid-template-columns:1fr}
  .field-grid.two,.field-grid.three{grid-template-columns:1fr}
  .list-head,.editor-head{flex-direction:column;align-items:flex-start}
  .member-map-card{padding:16px}
  .member-map-canvas,.member-map-list,.member-map-empty{
    min-height:300px;
  }
}