body.admin-body{
  background:var(--ink);
  min-height:100vh;
}

.admin-login{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  position:relative;
  overflow:hidden;
}
.admin-login::before{
  content:"";
  position:absolute;inset:0;
  background-image:repeating-linear-gradient(180deg, rgba(255,255,255,.03) 0px, rgba(255,255,255,.03) 3px, transparent 3px, transparent 16px);
  pointer-events:none;
}
.login-card{
  position:relative;
  width:100%;
  max-width:380px;
  background:var(--surface);
  border-top:4px solid var(--red);
  padding:38px 34px 34px;
  box-shadow:var(--shadow);
}
.login-card .l1{font-family:var(--f-display);text-transform:uppercase;font-weight:700;font-size:1.3rem;letter-spacing:.02em;color:var(--ink);}
.login-card .l2{font-family:var(--f-display);text-transform:uppercase;font-size:.72rem;letter-spacing:.14em;color:var(--red);margin-bottom:22px;display:block;}
.login-card .form-row{margin-bottom:16px;}
.login-card .form-row label{display:block;font-family:var(--f-display);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--steel);margin-bottom:6px;}
.login-card input{
  width:100%;border:1px solid var(--line);padding:11px 12px;font-family:var(--f-body);font-size:.95rem;background:var(--paper);
}
.login-card input:focus{outline:2px solid var(--red);outline-offset:1px;}
.login-btn{
  width:100%;margin-top:6px;padding:12px;border:0;background:var(--red);color:var(--white);
  font-family:var(--f-display);text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;cursor:pointer;
}
.login-btn:hover{background:var(--red-dark);}
.login-btn:disabled{opacity:.6;cursor:default;}
.login-error{
  margin-top:14px;background:#fbeaea;border:1px solid #e2b4b4;color:#7d0000;padding:10px 12px;font-size:.85rem;display:none;
}
.login-error.show{display:block;}

.admin-shell{display:none;min-height:100vh;}
.admin-shell.show{display:flex;}

.admin-side{
  width:230px;flex:none;background:var(--ink);color:var(--white);
  display:flex;flex-direction:column;padding:26px 0;
}
.admin-side .brand{padding:0 22px 22px;border-bottom:1px solid #3a3530;margin-bottom:14px;}
.admin-side .brand .l1{font-family:var(--f-display);text-transform:uppercase;font-weight:700;font-size:1.05rem;color:var(--white);}
.admin-side .brand .l2{font-family:var(--f-display);text-transform:uppercase;font-size:.66rem;letter-spacing:.12em;color:var(--red);}
.admin-nav{display:flex;flex-direction:column;flex:1;}
.admin-nav button{
  display:flex;align-items:center;gap:10px;
  text-align:left;background:none;border:0;color:#c7bfb1;
  font-family:var(--f-display);text-transform:uppercase;letter-spacing:.05em;font-size:.82rem;
  padding:13px 22px;cursor:pointer;border-left:3px solid transparent;
}
.admin-nav button:hover{color:var(--white);background:rgba(255,255,255,.04);}
.admin-nav button.active{color:var(--white);border-left-color:var(--red);background:rgba(255,255,255,.06);}
.admin-nav .count-pill{margin-left:auto;background:var(--red);color:var(--white);font-family:var(--f-body);font-size:.72rem;padding:1px 7px;border-radius:20px;min-width:18px;text-align:center;}
.admin-side .logout-btn{
  margin:14px 22px 0;padding:10px;background:none;border:1px solid #4a453e;color:#c7bfb1;
  font-family:var(--f-display);text-transform:uppercase;font-size:.75rem;letter-spacing:.06em;cursor:pointer;
}
.admin-side .logout-btn:hover{border-color:var(--white);color:var(--white);}

.admin-main{flex:1;background:var(--paper);min-height:100vh;overflow-y:auto;}
.admin-topbar{
  background:var(--surface);border-bottom:1px solid var(--line);
  padding:16px 30px;display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;z-index:5;
}
.admin-topbar h1{margin:0;font-size:1.15rem;}
.admin-topbar .who{font-size:.82rem;color:var(--steel);}
.admin-content{padding:28px 30px 60px;max-width:1100px;}

.admin-burger{display:none;}

.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:30px;}
.stat-card{background:var(--surface);border-top:3px solid var(--red);padding:20px 22px;box-shadow:var(--shadow);}
.stat-card {font-family:var(--f-display);font-size:2.1rem;font-weight:700;color:var(--ink);}
.stat-card .lbl{font-family:var(--f-display);text-transform:uppercase;font-size:.72rem;letter-spacing:.07em;color:var(--steel);margin-top:2px;}
.stat-card .num{font-family:var(--f-display);font-size:2.1rem;font-weight:700;color:var(--text-main);}
.panel{background:var(--surface);border:1px solid var(--line);padding:24px 26px;margin-bottom:24px;}
.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px;flex-wrap:wrap;}
.panel-head h2{margin:0;font-size:1.05rem;}
.filter-chips{display:flex;gap:8px;flex-wrap:wrap;}
.filter-chips button{
  border:1px solid var(--line);background:var(--surface);padding:6px 14px;font-size:.8rem;
  font-family:var(--f-display);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;color:var(--steel);
}
.filter-chips button.active{background:var(--ink);color:var(--white);border-color:var(--ink);}

.a-btn{
  border:0;background:var(--red);color:var(--white);padding:10px 18px;font-size:.82rem;
  font-family:var(--f-display);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;white-space:nowrap;
}
.a-btn:hover{background:var(--red-dark);}
.a-btn.outline{background:transparent;color:var(--ink);border:1px solid var(--line);}
.a-btn.outline:hover{border-color:var(--ink);}
.a-btn.ghost{background:transparent;color:var(--steel);padding:6px 10px;font-size:.75rem;text-decoration:underline;}
.a-btn.danger{background:transparent;color:#b90101;padding:6px 10px;font-size:.75rem;text-decoration:underline;}
.a-btn:disabled{opacity:.5;cursor:default;}

.lead-list{display:flex;flex-direction:column;gap:10px;}
.lead-row{
  border:1px solid var(--line);padding:14px 16px;display:flex;gap:14px;align-items:flex-start;
  cursor:pointer;background:var(--surface);
}
.lead-row.is-new{border-left:4px solid var(--red);}
.lead-row .lr-main{flex:1;min-width:0;}
.lead-row .lr-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px;}
.lead-row .lr-name{font-family:var(--f-display);text-transform:uppercase;font-size:.92rem;letter-spacing:.02em;}
.lead-row .lr-date{font-size:.75rem;color:var(--steel);margin-left:auto;}
.lead-row .lr-contact{font-size:.82rem;color:var(--steel);}
.lead-row .lr-msg{font-size:.88rem;color:var(--ink-soft);margin-top:6px;white-space:pre-wrap;display:none;}
.lead-row.open .lr-msg{display:block;}
.lead-row .lr-preview{font-size:.85rem;color:var(--steel);margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lead-row.open .lr-preview{display:none;}
.lead-row .lr-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;}
.status-badge{
  font-family:var(--f-display);text-transform:uppercase;font-size:.68rem;letter-spacing:.06em;
  padding:2px 9px;border-radius:20px;
}
.status-badge.new{background:#fbeaea;color:#b90101;}
.status-badge.done{background:#eaf3ea;color:#245c24;}
.empty-state{padding:30px 10px;text-align:center;color:var(--steel);font-size:.9rem;}

.gallery-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;}
.g-admin-item{border:1px solid var(--line);background:var(--surface);overflow:hidden;}
.g-admin-item .thumb{width:100%;aspect-ratio:4/3;background:var(--paper-2) center/cover no-repeat;position:relative;}
.g-admin-item .thumb .cat-tag{
  position:absolute;top:8px;left:8px;background:rgba(28,26,24,.82);color:var(--white);
  font-family:var(--f-display);text-transform:uppercase;font-size:.62rem;letter-spacing:.05em;padding:3px 8px;
}
.g-admin-item .body{padding:10px 12px 12px;}
.g-admin-item .cap{font-size:.85rem;margin-bottom:8px;min-height:2.6em;}
.g-admin-item .row-actions{display:flex;gap:6px;}

.modal-overlay{
  display:none;position:fixed;inset:0;background:rgba(28,26,24,.6);z-index:50;
  align-items:center;justify-content:center;padding:20px;
}
.modal-overlay.show{display:flex;}
.modal-box{background:var(--surface);width:100%;max-width:480px;max-height:92vh;overflow-y:auto;padding:26px 26px 24px;position:relative;border-top:4px solid var(--red);}
.modal-box h3{margin-top:0;}
.modal-close{position:absolute;top:14px;right:16px;background:none;border:0;font-size:1.4rem;cursor:pointer;color:var(--steel);line-height:1;}
.a-form-row{margin-bottom:16px;}
.a-form-row label{display:block;font-family:var(--f-display);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--steel);margin-bottom:6px;}
.a-form-row input,.a-form-row select,.a-form-row textarea{
  width:100%;border:1px solid var(--line);padding:10px 11px;font-family:var(--f-body);font-size:.92rem;background:var(--paper);
}
.a-form-row textarea{min-height:80px;resize:vertical;}
.a-form-row input:focus,.a-form-row select:focus,.a-form-row textarea:focus{outline:2px solid var(--red);outline-offset:1px;}
.img-preview{width:100%;aspect-ratio:4/3;background:var(--paper-2) center/cover no-repeat;margin-bottom:10px;display:none;}
.img-preview.show{display:block;}
.form-msg{font-size:.82rem;margin-top:10px;display:none;padding:8px 10px;}
.form-msg.err{display:block;background:#fbeaea;color:#7d0000;}
.form-msg.ok{display:block;background:#eaf3ea;color:#245c24;}
.modal-actions{display:flex;justify-content:space-between;align-items:center;margin-top:18px;}

.toast{
  position:fixed;bottom:22px;right:22px;background:var(--ink);color:var(--white);padding:12px 18px;
  font-size:.85rem;box-shadow:var(--shadow);z-index:80;opacity:0;transform:translateY(10px);transition:.25s;pointer-events:none;
}
.toast.show{opacity:1;transform:translateY(0);}

.loader{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:aspin .7s linear infinite;vertical-align:-3px;margin-right:6px;}
.loader.dark{border:2px solid rgba(28,26,24,.25);border-top-color:var(--ink);}
@keyframes aspin{to{transform:rotate(360deg);}}

@media (max-width:860px){
  .admin-side{
    position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);transition:.25s;z-index:40;
  }
  .admin-side.open{transform:translateX(0);}
  .admin-burger{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:none;border:1px solid var(--line);cursor:pointer;}
  .stat-grid{grid-template-columns:1fr;}
  .admin-content{padding:20px 16px 60px;}
  .admin-topbar{padding:14px 16px;}
}

/* --- Sötét mód kapcsoló (admin felület) --- */
.admin-theme-toggle{
  background:none;border:1px solid var(--line);border-radius:999px;
  padding:5px 14px 5px 5px;cursor:pointer;font-family:var(--f-body);
  font-size:.78rem;color:var(--steel);transition:border-color .2s;
}
.admin-theme-toggle:hover{border-color:var(--red);}
.admin-theme-toggle .theme-toggle-track{background:var(--line);}
.admin-theme-toggle[aria-pressed="true"] .theme-toggle-track{background:var(--red);}
.admin-theme-toggle .theme-toggle-thumb{background:var(--surface);color:var(--ink);}
#loginScreen .admin-theme-toggle{position:absolute;top:20px;right:20px;z-index:2;}

/* --- Sötét módban is jól olvasható jelzők / üzenetsávok --- */
:root[data-theme="dark"] .login-error{
  background:rgba(185,1,1,.16);border-color:#5a1414;color:#ff8a8a;
}
:root[data-theme="dark"] .status-badge.new{background:rgba(185,1,1,.18);color:#ff8a8a;}
:root[data-theme="dark"] .status-badge.done{background:rgba(52,150,52,.16);color:#8fd98f;}
:root[data-theme="dark"] .form-msg.err{background:rgba(185,1,1,.16);color:#ff8a8a;}
:root[data-theme="dark"] .form-msg.ok{background:rgba(52,150,52,.16);color:#8fd98f;}
:root[data-theme="dark"] .img-preview{background-color:var(--paper-2);}
