.hidden{display:none !important;}
.admin-body{background:var(--bg);}

/* ---------- login ---------- */
.login-screen{min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px;}
.login-card{
  background:var(--surface); border:1px solid var(--border); border-radius:10px;
  padding:40px; width:100%; max-width:380px;
}
.login-card .brand-mark{margin-bottom:18px;}
.login-card h1{font-size:1.5rem; margin-bottom:.2em;}
.login-card label{display:block; font-size:.85rem; color:var(--muted); margin:18px 0 0;}
.login-card input{
  width:100%; margin-top:6px; padding:11px 13px; background:var(--bg-alt);
  border:1px solid var(--border); border-radius:4px; color:var(--text); font-family:inherit; font-size:.95rem;
}
.login-card .btn{width:100%; margin-top:24px;}
.muted{color:var(--muted);}
.muted.small{font-size:.82rem; margin-top:18px;}

/* ---------- layout ---------- */
.dashboard{display:grid; grid-template-columns:240px 1fr; min-height:100vh;}
.admin-sidebar{
  background:var(--bg-alt); border-right:1px solid var(--border);
  padding:24px 18px; display:flex; flex-direction:column; gap:6px;
}
.admin-brand{display:flex; align-items:center; gap:10px; font-family:'Fraunces',serif; margin-bottom:20px; padding:0 6px;}
.admin-sidebar nav{display:flex; flex-direction:column; gap:2px; flex:1;}
.admin-sidebar nav button{
  text-align:left; background:none; border:0; color:var(--muted); padding:11px 12px;
  border-radius:6px; font-size:.92rem; cursor:pointer; font-family:inherit;
}
.admin-sidebar nav button:hover{background:var(--surface); color:var(--text);}
.admin-sidebar nav button.active{background:var(--surface-2); color:var(--text);}
.view-site{color:var(--muted); text-decoration:none; font-size:.85rem; padding:10px 12px;}
.logout-btn{
  background:none; border:1px solid var(--border); color:var(--muted);
  padding:10px 12px; border-radius:6px; cursor:pointer; font-family:inherit; font-size:.85rem;
}
.logout-btn:hover{color:var(--text); border-color:var(--accent-2);}

.admin-main{padding:28px 40px 80px; max-width:920px;}
.save-bar{
  position:sticky; top:0; background:var(--bg); z-index:5;
  display:flex; justify-content:flex-end; align-items:center; gap:14px;
  padding:6px 0 20px;
}
.save-status{font-size:.85rem; color:var(--accent-2);}

.tab-panel{display:none;}
.tab-panel.active{display:block;}
.tab-panel h2{font-size:1.3rem;}
.tab-panel h2.spaced{margin-top:2.2em;}

.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px 20px; margin-bottom:8px;}
.form-grid label{display:block; font-size:.85rem; color:var(--muted); grid-column:span 1;}
.form-grid label.full{grid-column:1 / -1;}
.form-grid input, .form-grid textarea{
  width:100%; margin-top:6px; padding:10px 12px; background:var(--surface);
  border:1px solid var(--border); border-radius:4px; color:var(--text); font-family:inherit; font-size:.92rem;
}
.form-grid textarea{resize:vertical;}
.form-grid input:focus, .form-grid textarea:focus{border-color:var(--accent-2); outline:none;}

.repeat-list{display:flex; flex-direction:column; gap:12px; margin:14px 0;}
.repeat-item{
  background:var(--surface); border:1px solid var(--border); border-radius:6px;
  padding:16px; display:grid; gap:10px;
}
.repeat-item .row-head{display:flex; justify-content:space-between; align-items:center;}
.repeat-item .remove-btn{background:none; border:0; color:var(--muted); cursor:pointer; font-size:.82rem;}
.repeat-item .remove-btn:hover{color:#ff8b8b;}
.repeat-item input, .repeat-item textarea{
  width:100%; padding:9px 11px; background:var(--bg-alt); border:1px solid var(--border);
  border-radius:4px; color:var(--text); font-family:inherit; font-size:.9rem;
}

.credential-group{margin-bottom:30px;}
.credential-group h3{font-size:1rem; margin-bottom:2px;}
.credential-group .group-sub{font-size:.82rem; color:var(--muted); margin-bottom:14px;}
.credential-provider{
  border:1px solid var(--border); border-radius:6px; padding:14px 16px; margin-bottom:12px; background:var(--surface);
}
.credential-provider .provider-name{font-size:.88rem; font-weight:600; margin-bottom:10px; display:block;}
.credential-provider .field-row{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px;}
.credential-provider label{font-size:.78rem; color:var(--muted); display:block;}
.credential-provider input{
  width:100%; margin-top:5px; padding:9px 11px; background:var(--bg-alt); border:1px solid var(--border);
  border-radius:4px; color:var(--text); font-family:inherit; font-size:.88rem;
}

.messages-list{display:flex; flex-direction:column; gap:12px;}
.message-card{background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:16px;}
.message-card .m-head{display:flex; justify-content:space-between; font-size:.85rem; color:var(--muted); margin-bottom:8px;}
.message-card .m-body{font-size:.92rem;}
.message-card .m-delete{background:none; border:0; color:var(--muted); cursor:pointer; font-size:.8rem; margin-top:10px;}
.message-card .m-delete:hover{color:#ff8b8b;}
.empty-note{color:var(--muted); font-size:.9rem;}

.lead-card .lead-meta{display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:8px;}
.lang-badge{font-size:.72rem; padding:2px 9px; border-radius:100px; border:1px solid var(--border); color:var(--muted);}
.status-select{
  background:var(--bg-alt); border:1px solid var(--border); color:var(--text);
  border-radius:4px; padding:6px 10px; font-family:inherit; font-size:.82rem; margin-left:auto;
}
.lead-card .lead-toggle{background:none; border:0; color:var(--accent-2); cursor:pointer; font-size:.82rem; padding:0; margin-top:6px;}
.lead-transcript{margin-top:10px; border-top:1px solid var(--border); padding-top:10px; display:none;}
.lead-transcript.open{display:block;}
.lead-transcript .t-line{font-size:.85rem; margin-bottom:6px;}
.lead-transcript .t-line.agent{color:var(--text);}
.lead-transcript .t-line.user{color:var(--accent-2);}

@media (max-width:800px){
  .dashboard{grid-template-columns:1fr;}
  .admin-sidebar{
    position:sticky; top:0; z-index:20; flex-direction:row; align-items:center;
    overflow-x:auto; padding:14px 16px; gap:14px;
  }
  .admin-sidebar nav{flex-direction:row;}
  .admin-brand{margin-bottom:0;}
  .view-site, .logout-btn{flex-shrink:0;}
  .admin-main{padding:20px;}
  .form-grid{grid-template-columns:1fr;}
}
