/* ============================================================
   ENERGY LASER — Admin Panel CSS
   ============================================================ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#0F0A05;--bg2:#171009;--bg3:#1E1510;--bg4:#261A0D;
  --border:rgba(200,148,58,.12);--border2:rgba(200,148,58,.22);
  --gold:#C8943A;--gold2:#E0A84A;--sand:#E8D0A8;--cream:#F4E8D4;
  --text:#D4B890;--text2:rgba(212,184,144,.65);--text3:rgba(212,184,144,.4);
  --green:#4ade80;--red:#f87171;--sidebar-w:240px;
  --transition:.25s cubic-bezier(.4,0,.2,1);
}
html,body{height:100%;-webkit-font-smoothing:antialiased}
body{font-family:'Outfit',sans-serif;background:var(--bg);color:var(--text);font-size:14px}

/* LOGIN */
.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(145deg,#0a0603 0%,#1a0e05 100%)}
.login-wrap{width:100%;max-width:400px;padding:1.5rem}
.login-card{background:var(--bg3);border:1px solid var(--border);padding:2.5rem;text-align:center}
.login-logo{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:300;letter-spacing:.2em;text-transform:uppercase;color:var(--sand);margin-bottom:1.5rem}
.login-logo b{color:var(--gold);font-weight:600}
.login-card h1{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:300;color:var(--sand);margin-bottom:.3rem}
.login-card>p{font-size:.8rem;color:var(--text3);margin-bottom:2rem}
.login-form{text-align:left;display:flex;flex-direction:column;gap:1rem}
.login-footer{font-size:.72rem;color:var(--text3);margin-top:2rem;text-align:center}
.alert{padding:.7rem 1rem;font-size:.82rem;border-radius:3px;margin-bottom:1rem;text-align:left}
.alert-error{background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.25);color:#f87171}
.alert-success{background:rgba(74,222,128,.1);border:1px solid rgba(74,222,128,.25);color:#4ade80}

/* LAYOUT */
.admin-body{display:flex;height:100vh;overflow:hidden}
.sidebar{width:var(--sidebar-w);background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;transition:transform var(--transition);z-index:50}
.sidebar-logo{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:300;letter-spacing:.18em;color:var(--sand);text-transform:uppercase;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--border)}
.sidebar-logo b{color:var(--gold);font-weight:600}
.sidebar-logo span{font-size:.65rem;letter-spacing:.2em;color:var(--text3);display:block;margin-top:.2rem;font-family:'Outfit',sans-serif;font-weight:400}
.sidebar-nav{display:flex;flex-direction:column;padding:.8rem 0;flex:1;overflow-y:auto}
.snav-item{display:flex;align-items:center;gap:.65rem;padding:.65rem 1.5rem;font-size:.8rem;font-weight:400;color:var(--text2);text-decoration:none;transition:color var(--transition),background var(--transition);cursor:pointer;border:none;background:none;width:100%;text-align:left}
.snav-item svg{opacity:.6;flex-shrink:0;transition:opacity var(--transition)}
.snav-item:hover{color:var(--sand);background:rgba(200,148,58,.05)}
.snav-item:hover svg{opacity:1}
.snav-item.active{color:var(--gold);background:rgba(200,148,58,.08);font-weight:500}
.snav-item.active svg{opacity:1}
.snav-item.danger{color:rgba(248,113,113,.6);margin-top:auto}
.snav-item.danger:hover{color:var(--red);background:rgba(248,113,113,.05)}
.sidebar-sep{height:1px;background:var(--border);margin:.8rem 1.5rem}

.admin-main{flex:1;display:flex;flex-direction:column;overflow:hidden}
.admin-topbar{height:56px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:1rem;padding:0 1.5rem;background:var(--bg2);flex-shrink:0}
.sidebar-toggle{background:none;border:none;color:var(--text2);cursor:pointer;padding:4px;display:none}
.topbar-title{font-size:.9rem;font-weight:500;color:var(--sand);flex:1}
.topbar-right{display:flex;align-items:center;gap:1rem}
.topbar-site-link{font-size:.75rem;font-weight:500;color:var(--gold);text-decoration:none;letter-spacing:.08em;transition:opacity .2s}
.topbar-site-link:hover{opacity:.7}
.topbar-admin{width:30px;height:30px;border-radius:50%;background:rgba(200,148,58,.15);border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;color:var(--gold)}

/* PANES */
.pane{display:none;padding:2rem;overflow-y:auto;flex:1}
.pane.active{display:block}
.pane-header{margin-bottom:2rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.pane-header h2{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:300;color:var(--sand);line-height:1}
.pane-header p{font-size:.82rem;color:var(--text3);margin-top:.3rem}

/* STATS */
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}
.stat-card{background:var(--bg3);border:1px solid var(--border);padding:1.3rem;text-align:center}
.stat-n{font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-weight:300;color:var(--gold);line-height:1}
.stat-l{font-size:.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text3);margin-top:.3rem}

/* CARD */
.card{background:var(--bg3);border:1px solid var(--border);padding:1.5rem;margin-bottom:1.5rem}
.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem;gap:1rem;flex-wrap:wrap}
.card-head h3{font-size:.82rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.card-link{font-size:.74rem;font-weight:500;color:rgba(200,148,58,.6);text-decoration:none;transition:color .2s;cursor:pointer}
.card-link:hover{color:var(--gold)}
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}

/* FORM FIELDS */
.field{margin-bottom:1.1rem}
.field label{display:block;font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text3);margin-bottom:.4rem}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=date],
textarea,select{
  width:100%;background:var(--bg4);border:1px solid var(--border);padding:.65rem .9rem;
  font-family:'Outfit',sans-serif;font-size:.85rem;font-weight:300;color:var(--sand);
  outline:none;transition:border var(--transition);border-radius:2px
}
input:focus,textarea:focus,select:focus{border-color:var(--border2)}
input::placeholder,textarea::placeholder{color:var(--text3)}
select{cursor:pointer}
select option{background:var(--bg3)}
textarea{resize:vertical;min-height:70px}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-actions{display:flex;gap:.8rem;margin-top:1.5rem;flex-wrap:wrap}

/* TOGGLE */
.toggle-label{display:flex;align-items:center;gap:.6rem;cursor:pointer;font-size:.84rem;font-weight:400;color:var(--text);letter-spacing:0;text-transform:none}
input[type=checkbox]{width:16px;height:16px;accent-color:var(--gold)}

/* BUTTONS */
.btn-primary-admin{background:var(--gold);color:white;border:none;padding:.65rem 1.4rem;font-family:'Outfit',sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;gap:.5rem;text-decoration:none}
.btn-primary-admin:hover{background:#B8842A;transform:translateY(-1px)}
.btn-outline-admin{background:transparent;color:var(--text2);border:1px solid var(--border2);padding:.65rem 1.4rem;font-family:'Outfit',sans-serif;font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:var(--transition);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}
.btn-outline-admin:hover{border-color:var(--gold);color:var(--gold)}
.btn-sm{background:rgba(200,148,58,.1);border:1px solid rgba(200,148,58,.2);color:rgba(200,148,58,.8);padding:.28rem .7rem;font-family:'Outfit',sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:var(--transition);border-radius:2px}
.btn-sm:hover{background:rgba(200,148,58,.2);color:var(--gold)}
.btn-danger{background:rgba(248,113,113,.1);border-color:rgba(248,113,113,.2);color:rgba(248,113,113,.7)}
.btn-danger:hover{background:rgba(248,113,113,.2);color:var(--red)}

/* TABLES */
.data-table{width:100%;border-collapse:collapse;font-size:.82rem}
.data-table th{font-size:.65rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--text3);padding:.6rem .8rem;text-align:left;border-bottom:1px solid var(--border)}
.data-table td{color:var(--text2);padding:.7rem .8rem;border-bottom:1px solid rgba(200,148,58,.04)}
.data-table tr:hover td{background:rgba(200,148,58,.025)}
.data-table a{color:var(--gold);text-decoration:none}
.data-table a:hover{text-decoration:underline}
.slug-cell{font-weight:500;color:var(--gold)}

/* TAGS */
.tag{display:inline-block;padding:.18rem .55rem;font-size:.65rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:2px}
.tag-green{background:rgba(74,222,128,.1);border:1px solid rgba(74,222,128,.2);color:#4ade80}
.tag-gray{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.35)}

/* IMAGES GRID */
.images-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.img-card{background:var(--bg4);border:1px solid var(--border);padding:1.2rem}
.img-card-label{font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text3);margin-bottom:.8rem}
.img-preview-wrap{margin-bottom:.8rem;overflow:hidden;border:1px solid var(--border)}
.img-preview-wrap img{width:100%;height:140px;object-fit:cover;display:block}
.img-empty{height:100px;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--text3);border:1px dashed var(--border);margin-bottom:.8rem}
.img-actions{display:flex;flex-direction:column;gap:.5rem}
.img-file{font-size:.76rem;color:var(--text2)}

/* LINK ROW */
.link-row{display:flex;align-items:center;justify-content:space-between;padding:.8rem 0;border-bottom:1px solid var(--border);gap:.8rem}
.link-label{font-size:.84rem;font-weight:500;color:var(--sand)}
.link-slug{font-size:.75rem;color:var(--gold);margin-top:.2rem}
.link-box{background:var(--bg4);border:1px solid var(--border);padding:.7rem 1rem;font-size:.78rem;color:var(--gold);word-break:break-all;border-radius:2px}

/* SLUG INPUT GROUP */
.slug-group{display:flex;align-items:center;border:1px solid var(--border);background:var(--bg4)}
.slug-prefix{padding:.65rem .8rem;font-size:.78rem;color:var(--text3);background:rgba(200,148,58,.04);border-right:1px solid var(--border);white-space:nowrap;flex-shrink:0}
.slug-group input{border:none;flex:1}

/* TEMPLATE CARDS */
.template-card{background:var(--bg4);border:1px solid var(--border);padding:1rem;margin-bottom:.8rem;cursor:pointer;transition:border var(--transition)}
.template-card:hover{border-color:var(--border2)}
.template-card strong{font-size:.82rem;font-weight:600;color:var(--sand);display:block;margin-bottom:.3rem}
.template-card p{font-size:.78rem;color:var(--text3);line-height:1.5}

/* QR BOX */
.qr-box{background:rgba(255,255,255,.97);padding:1.2rem;display:flex;justify-content:center;border-radius:2px}
.qr-box canvas,.qr-box img{display:block}

/* COLLAPSIBLE */
.collapsible-toggle{cursor:pointer;user-select:none}
.collapsible-icon{font-size:.9rem;transition:transform var(--transition);color:var(--text3)}
.collapsible-toggle.open .collapsible-icon{transform:rotate(180deg)}
.collapsible-body{margin-top:1.2rem;display:none}
.collapsible.open .collapsible-body{display:block}

/* LEADS FILTER */
#leads-filter{width:200px;height:32px;padding:.3rem .7rem;font-size:.8rem}

/* TOAST */
#toast-admin{position:fixed;bottom:1.5rem;right:1.5rem;background:var(--gold);color:white;padding:.65rem 1.3rem;font-size:.8rem;font-weight:500;letter-spacing:.06em;border-radius:2px;z-index:9999;transition:opacity .4s,transform .4s;opacity:0;transform:translateY(20px);pointer-events:none;max-width:320px}
#toast-admin.show{opacity:1;transform:none}
#toast-admin.error{background:#c53030}

/* RESPONSIVE */
@media(max-width:900px){
  .sidebar{position:fixed;top:0;left:0;bottom:0;transform:translateX(-100%);box-shadow:4px 0 20px rgba(0,0,0,.4)}
  .sidebar.open{transform:none}
  .sidebar-toggle{display:flex}
  .stat-row{grid-template-columns:1fr 1fr}
  .dash-grid{grid-template-columns:1fr}
  .images-grid{grid-template-columns:1fr 1fr}
  .form-grid-2{grid-template-columns:1fr}
}
@media(max-width:600px){
  .stat-row{grid-template-columns:1fr 1fr}
  .images-grid{grid-template-columns:1fr}
  .pane{padding:1.2rem}
}
