/* ============================================================
   ADMIN — the console
   Same glass system as the platform, tuned for density and
   long editing sessions rather than for atmosphere.
   ============================================================ */

.admin{ min-height:100vh; display:flex; flex-direction:column; }

/* ---- Bar --------------------------------------------------- */
.abar{
  position:sticky; top:0; z-index:40;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:0 clamp(16px,2.4vw,28px);
  height:64px; flex:none;
  background:rgba(10,20,17,.72);
  backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
  border-bottom:1px solid var(--glass-edge);
}
.abar__brand{ display:flex; align-items:center; gap:12px; }
.abar__brand span{
  width:28px; height:28px; border:1px solid var(--glass-edge-2);
  display:grid; place-items:center; font:300 13px/1 var(--serif);
}
.abar__brand strong{ font-size:11px; letter-spacing:.26em; text-transform:uppercase; font-weight:500; }
.abar__brand em{
  font-style:normal; font-size:9px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ink-on-dark-40); padding-left:10px; margin-left:10px;
  border-left:1px solid var(--glass-edge);
}
.abar__tabs{ display:flex; gap:4px; }
.abar__tabs button{
  padding:9px 16px; font-size:var(--t-micro); letter-spacing:.18em;
  text-transform:uppercase; font-weight:500; color:var(--ink-55);
  border:1px solid transparent;
  transition:all var(--dur-fast) var(--ease);
}
.abar__tabs button:hover{ color:var(--ink); }
.abar__tabs button.is-on{ color:var(--ink); border-color:var(--glass-edge-2); background:var(--glass); }
.abar__right{ display:flex; align-items:center; gap:10px; }
.abar__status{ font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-on-dark-40); }

/* ---- Login ------------------------------------------------- */
.login{ flex:1; display:grid; place-items:center; padding:var(--gutter); }
.login__card{
  width:min(420px,100%);
  background:var(--glass-2); border:1px solid var(--glass-edge);
  backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
  box-shadow:var(--shadow-glass);
  padding:clamp(28px,4vw,40px);
  display:grid; gap:20px; justify-items:center; text-align:center;
}
.login__card h1{ font:300 clamp(1.6rem,3vw,2.2rem)/1.1 var(--serif); letter-spacing:-.03em; }
.login__card form{ display:grid; gap:16px; width:100%; }
.login__error{
  display:none; font-size:11px; letter-spacing:.04em; color:var(--clay);
}
.login__error.is-on{ display:block; }

/* ---- Workspace --------------------------------------------- */
.work{
  flex:1; display:grid;
  grid-template-columns:minmax(300px,380px) minmax(0,1fr);
  min-height:0;
}
.work__list{
  border-right:1px solid var(--glass-edge);
  display:flex; flex-direction:column; min-height:0;
  background:rgba(233,242,238,.016);
}
.work__tools{
  padding:14px clamp(12px,1.6vw,18px);
  display:grid; gap:10px;
  border-bottom:1px solid var(--glass-edge);
}
.work__tools input,.work__tools select{
  width:100%; background:var(--glass); border:1px solid var(--glass-edge);
  padding:10px 12px; font-size:13px; color:var(--ink);
}
.work__tools input:focus,.work__tools select:focus{ outline:none; border-color:var(--sand); }
.work__filters{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.work__rows{ overflow-y:auto; flex:1; min-height:0; }

.row-item{
  width:100%; text-align:left;
  display:grid; grid-template-columns:52px minmax(0,1fr) auto;
  gap:12px; align-items:center;
  padding:12px clamp(12px,1.6vw,18px);
  border-bottom:1px solid var(--glass-edge);
  transition:background-color var(--dur-fast) var(--ease);
}
.row-item:hover{ background:var(--glass); }
.row-item.is-on{ background:var(--glass-2); box-shadow:inset 2px 0 0 0 var(--sand); }
.row-item__thumb{ width:52px; height:52px; overflow:hidden; background:rgba(0,0,0,.4); }
.row-item__thumb img{ width:100%; height:100%; object-fit:cover; }
.row-item h3{ font:300 1.02rem/1.15 var(--serif); letter-spacing:-.01em; margin-bottom:5px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.row-item p{ font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-on-dark-40);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.row-item__state{ display:grid; place-items:center; }
.row-item__toggle{
  width:11px; height:11px; border-radius:50%; flex:none;
  background:#7FC4A0; border:2px solid transparent;
  transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
}
.row-item__toggle:hover{ transform:scale(1.35); box-shadow:0 0 0 4px rgba(127,196,160,.18); }
.row-item__toggle.is-draft{ background:transparent; border-color:var(--ink-38); }
.row-item__toggle.is-draft:hover{ border-color:var(--sand); box-shadow:0 0 0 4px rgba(226,214,191,.14); }

/* ---- Editor ------------------------------------------------ */
.work__editor{ overflow-y:auto; min-height:0; }
.editor{ padding:clamp(18px,2.6vw,34px); max-width:1040px; margin-inline:auto; }
.editor__head{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:16px; padding-bottom:18px; margin-bottom:22px;
  border-bottom:1px solid var(--glass-edge);
  position:sticky; top:0; z-index:5;
  background:linear-gradient(180deg, rgba(7,14,12,.97) 60%, rgba(7,14,12,0));
  padding-top:6px;
}
.editor__head h2{ font:300 clamp(1.3rem,2.2vw,1.8rem)/1.1 var(--serif); letter-spacing:-.025em; }
.editor__head .abar__status{ display:block; margin-top:6px; }
.editor__actions{ display:flex; gap:8px; flex-wrap:wrap; }

.fieldset{
  background:var(--glass); border:1px solid var(--glass-edge);
  padding:clamp(16px,2vw,24px); margin-bottom:16px;
}
.fieldset > legend,.fieldset__title{
  font-size:var(--t-micro); letter-spacing:.2em; text-transform:uppercase;
  font-weight:500; color:var(--ink-55); margin-bottom:16px; display:block;
}
.grid2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.grid3{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.grid4{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.span2{ grid-column:span 2; }

.afield{ display:grid; gap:7px; min-width:0; }
.afield > span{
  font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-on-dark-40);
}
.afield input,.afield select,.afield textarea{
  width:100%; background:rgba(0,0,0,.24); color:var(--ink);
  border:1px solid var(--glass-edge); border-radius:0;
  padding:11px 12px; font-size:13.5px; line-height:1.5;
  appearance:none;
}
.afield select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' fill='none' stroke='%23EFEADF' stroke-width='1'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center; padding-right:30px; cursor:pointer;
}
.afield select option{ background:#0B1512; color:#EFEADF; }
.afield textarea{ resize:vertical; min-height:92px; font-family:var(--sans); }
.afield input:focus,.afield select:focus,.afield textarea:focus{ outline:none; border-color:var(--sand); }
.afield small{ font-size:10px; color:var(--ink-38); line-height:1.5; }

.toggles{ display:flex; flex-wrap:wrap; gap:8px; }
.toggle{
  display:inline-flex; align-items:center; gap:9px;
  padding:10px 14px; border:1px solid var(--glass-edge); cursor:pointer;
  font-size:var(--t-micro); letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-55); transition:all var(--dur-fast) var(--ease);
}
.toggle input{ appearance:none; width:8px; height:8px; border-radius:50%; background:var(--ink-38); }
.toggle:has(input:checked){ border-color:var(--sand); color:var(--ink); background:var(--glass-2); }
.toggle:has(input:checked) input{ background:var(--sand); }

/* ---- Gallery editor ---------------------------------------- */
.dropzone{
  border:1px dashed var(--glass-edge-2); padding:22px;
  display:grid; justify-items:center; gap:10px; text-align:center;
  transition:all var(--dur-fast) var(--ease); cursor:pointer;
  margin-bottom:14px;
}
.dropzone.is-over{ border-color:var(--sand); background:var(--glass-2); }
.dropzone p{ font-size:12px; color:var(--ink-55); }
.dropzone small{ font-size:10px; color:var(--ink-38); }

.shots{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px; }
.shot{ border:1px solid var(--glass-edge); background:rgba(0,0,0,.24); display:grid; }
.shot__media{ aspect-ratio:4/3; overflow:hidden; position:relative; background:rgba(0,0,0,.4); }
.shot__media img{ width:100%; height:100%; object-fit:cover; }
.shot__badge{
  position:absolute; left:6px; top:6px;
  font-size:8px; letter-spacing:.14em; text-transform:uppercase;
  background:rgba(4,10,8,.78); color:var(--ink); padding:4px 6px;
}
.shot__body{ padding:8px; display:grid; gap:6px; }
.shot__body input{
  width:100%; background:transparent; border:0; border-bottom:1px solid var(--glass-edge);
  color:var(--ink); font-size:11.5px; padding:5px 0;
}
.shot__body input:focus{ outline:none; border-bottom-color:var(--sand); }
.shot__tools{ display:flex; gap:4px; }
.shot__tools button{
  flex:1; padding:6px 4px; font-size:9px; letter-spacing:.1em; text-transform:uppercase;
  border:1px solid var(--glass-edge); color:var(--ink-55);
  transition:all var(--dur-fast) var(--ease);
}
.shot__tools button:hover{ border-color:var(--sand); color:var(--ink); }
.shot__tools button[data-shot-remove]:hover{ border-color:var(--clay); color:var(--clay); }

.pool{ display:none; grid-template-columns:repeat(auto-fill,minmax(88px,1fr)); gap:8px; margin-top:14px;
  max-height:300px; overflow-y:auto; padding:10px; border:1px solid var(--glass-edge); }
.pool.is-on{ display:grid; }
.pool button{ aspect-ratio:4/3; overflow:hidden; border:1px solid transparent; }
.pool button:hover{ border-color:var(--sand); }
.pool img{ width:100%; height:100%; object-fit:cover; }

/* ---- Repeaters --------------------------------------------- */
.repeat{ display:grid; gap:9px; }
.repeat__row{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) 38px; gap:9px; align-items:center; }
.repeat__row--dil{ grid-template-columns:minmax(0,1fr) 150px 38px; }
.repeat__row input,.repeat__row select{
  background:rgba(0,0,0,.24); border:1px solid var(--glass-edge); color:var(--ink);
  padding:9px 11px; font-size:13px; width:100%; appearance:none;
}
.repeat__row select{ cursor:pointer; }
.repeat__row select option{ background:#0B1512; }
.repeat__row input:focus,.repeat__row select:focus{ outline:none; border-color:var(--sand); }
.repeat__del{ border:1px solid var(--glass-edge); color:var(--ink-38); height:38px; }
.repeat__del:hover{ border-color:var(--clay); color:var(--clay); }

/* ---- Enquiries --------------------------------------------- */
.enq{ padding:clamp(18px,2.6vw,34px); max-width:1100px; margin-inline:auto; display:grid; gap:12px; }
.enq__row{
  background:var(--glass); border:1px solid var(--glass-edge); padding:18px 20px;
  display:grid; gap:10px;
}
.enq__top{ display:flex; flex-wrap:wrap; gap:8px 18px; align-items:baseline; justify-content:space-between; }
.enq__top strong{ font:300 1.2rem/1 var(--serif); }
.enq__meta{ display:flex; flex-wrap:wrap; gap:6px 18px; font-size:9px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--ink-on-dark-40); }
.enq__row p{ font-size:13px; line-height:1.65; color:var(--ink-70); }

/* ---- Feedback ---------------------------------------------- */
.aempty{
  display:grid; place-items:center; gap:14px; text-align:center;
  padding:clamp(40px,10vh,110px) var(--gutter); color:var(--ink-55);
}
.aempty h2{ font:300 1.5rem/1.15 var(--serif); color:var(--ink); }

/* ---- Responsive -------------------------------------------- */
@media (max-width:1024px){
  .work{ grid-template-columns:1fr; }
  .work__list{ border-right:0; border-bottom:1px solid var(--glass-edge); max-height:44vh; }
  .grid4{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  .abar{ height:auto; padding-block:10px; flex-wrap:wrap; }
  .abar__brand em{ display:none; }
  .grid2,.grid3,.grid4{ grid-template-columns:1fr; }
  .span2{ grid-column:auto; }
  .repeat__row,.repeat__row--dil{ grid-template-columns:minmax(0,1fr) 38px; }
  .repeat__row > *:nth-child(2){ grid-column:1; }
}


/* No sign-in: the console opens straight into the workspace, so the one
   thing worth saying up front is where the data actually lives. */
.work__note{
  font-size:10px; line-height:1.55; letter-spacing:.04em;
  color:var(--ink-38); margin:2px 0 0;
}
