/* ============================================================
   ADMIN PANEL STYLES — always white bg + dark text
   Never inherit site theme colors
   ============================================================ */

.admin-panel,.admin-panel *,.admin-login,.admin-login *{
  color:#1A1A1A!important;
}
body.theme-dark .admin-panel h1,body.theme-dark .admin-panel h2,body.theme-dark .admin-panel h3,body.theme-dark .admin-panel h4,body.theme-dark .admin-panel h5,
body .admin-panel h1,body .admin-panel h2,body .admin-panel h3,body .admin-panel h4,body .admin-panel h5,
.admin-panel h1,.admin-panel h2,.admin-panel h3,.admin-panel h4,.admin-panel h5{color:#1A1A1A!important}
.admin-panel .admin-block-item h4{color:#1A1A1A!important;font-size:14px!important;font-weight:700!important;margin:0!important;display:block!important;visibility:visible!important;opacity:1!important}
.admin-panel__header h3{color:#fff!important}
.admin-panel{background:#fff!important}
.admin-panel h1,.admin-panel h2,.admin-panel h3,.admin-panel h4,.admin-panel h5{color:#1A1A1A!important}
.admin-panel p,.admin-panel span,.admin-panel label,.admin-panel div,.admin-panel a{color:#1A1A1A!important}
.admin-panel .admin-group__title{color:#666!important}
.admin-panel input,.admin-panel select,.admin-panel textarea{color:#1A1A1A!important;background:#fff!important;border-color:#e0e0e0!important}
.admin-panel input::placeholder,.admin-panel textarea::placeholder{color:#999!important}
.admin-panel button{color:inherit!important}
.admin-panel .admin-btn--primary,.admin-panel .admin-btn--primary *{color:#fff!important;background:#1A1A1A!important}
.admin-panel .admin-btn--accent,.admin-panel .admin-btn--accent *{color:#fff!important;background:#2A7A5F!important}
.admin-panel .admin-btn--danger,.admin-panel .admin-btn--danger *{color:#fff!important;background:#e74c3c!important}
.admin-panel .admin-tab.active{color:#1A1A1A!important;border-bottom-color:#2A7A5F!important}
.admin-panel .admin-tab{color:#999!important}
.admin-panel .admin-tab:hover{color:#333!important}
.admin-panel .admin-panel__header,.admin-panel .admin-panel__header *{color:#fff!important;background:#1A1A1A}
.admin-panel .admin-panel__header{background:#1A1A1A!important}
.admin-login__box{color:#1A1A1A!important}
.admin-login__box input{color:#1A1A1A!important;background:#fff!important}
.admin-login__box h2{color:#1A1A1A!important}
.admin-login__box p{color:#666!important}
.admin-login__box .admin-login-btn,.admin-login__box .admin-login-btn *{color:#fff!important;background:#1A1A1A!important}


/* === Login Modal === */
.admin-login{
  display:none;position:fixed;inset:0;z-index:9999;
  background:rgba(0,0,0,.6);backdrop-filter:blur(6px);
  align-items:center;justify-content:center;
}
.admin-login.active{display:flex}
.admin-login__box{
  background:#fff;border-radius:16px;padding:40px;
  width:360px;max-width:90vw;box-shadow:0 20px 60px rgba(0,0,0,.2);
  text-align:center;
}
.admin-login__box h2{font-size:22px;margin-bottom:8px;font-family:'Manrope',sans-serif;font-weight:800}
.admin-login__box p{font-size:13px;color:#999;margin-bottom:24px}
.admin-login__box input{
  width:100%;padding:14px 16px;border:1.5px solid #e0e0e0;border-radius:10px;
  font-size:15px;margin-bottom:16px;outline:none;transition:.2s;
}
.admin-login__box input:focus{border-color:#2A7A5F}
.admin-login__box .admin-login-btn{
  width:100%;padding:14px;background:#1A1A1A;color:#fff;border:0;
  border-radius:10px;font-weight:700;font-size:14px;cursor:pointer;transition:.2s;
}
.admin-login__box .admin-login-btn:hover{background:#333}
.admin-login__err{color:#e74c3c;font-size:13px;margin-top:8px;display:none}

/* === Admin Panel === */
.admin-panel{
  display:none;position:fixed;top:0;right:0;bottom:0;z-index:9998;
  width:420px;max-width:100vw;background:#ffffff!important;color:#1A1A1A!important;
  box-shadow:-4px 0 30px rgba(0,0,0,.12);
  overflow-y:auto;overflow-x:hidden;
  font-family:'Inter',system-ui,sans-serif;
  transition:transform .3s ease;
  font-size:14px;line-height:1.5;
}
.admin-panel.active{display:block}
.admin-panel *{box-sizing:border-box}

.admin-panel__header{
  position:sticky;top:0;z-index:10;
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;background:#1A1A1A;color:#fff;
}
.admin-panel__header h3{font-size:16px;font-weight:700;font-family:'Manrope',sans-serif}
.admin-panel__close{
  background:none;border:0;color:#fff;font-size:24px;cursor:pointer;
  width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  border-radius:8px;transition:.2s;
}
.admin-panel__close:hover{background:rgba(255,255,255,.1)}

/* === Tabs === */
.admin-tabs{
  display:flex;gap:0;border-bottom:1px solid #eee;
  overflow-x:auto;background:#fafafa;
}
.admin-tab{
  padding:12px 16px;font-size:12px;font-weight:600;color:#999;
  cursor:pointer;border:0;background:none;white-space:nowrap;
  border-bottom:2px solid transparent;transition:.2s;
}
.admin-tab:hover{color:#333}
.admin-tab.active{color:#1A1A1A;border-bottom-color:#2A7A5F}

/* Top group tabs (6 big buttons in 3x2 grid) */
.admin-tabs--top{
  display:grid!important;grid-template-columns:repeat(3,1fr)!important;
  gap:6px;padding:10px;background:#fafafa;
  overflow:visible!important;border-bottom:1px solid #eee;
}
.admin-tabs--top .admin-tab{
  padding:10px 6px!important;font-size:12px!important;font-weight:700!important;
  border:1px solid #e8e8e8!important;border-radius:10px!important;
  background:#fff!important;color:#666!important;
  text-align:center;white-space:normal;line-height:1.2;
}
.admin-tabs--top .admin-tab:hover{border-color:#2A7A5F!important;color:#1A1A1A!important}
.admin-tabs--top .admin-tab.active{
  background:#1A1A1A!important;color:#fff!important;border-color:#1A1A1A!important;
}

/* Sub-tabs (horizontal pills below top tabs) */
.admin-subtabs{
  display:flex;flex-wrap:wrap;gap:4px;
  padding:8px 12px;background:#f5f5f5;border-bottom:1px solid #eee;
}
.admin-subtab{
  padding:6px 10px;font-size:12px;font-weight:600;
  border:0;background:transparent;border-radius:6px;
  cursor:pointer;color:#666;white-space:nowrap;transition:.15s;
}
.admin-subtab:hover{background:#e8e8e8;color:#1A1A1A}
.admin-subtab.active{background:#1A1A1A!important;color:#fff!important}

/* === Tab Content === */
.admin-content{padding:20px}
.admin-section{display:none}
.admin-section.active{display:block}

.admin-group{margin-bottom:24px}
.admin-group__title{
  font-size:12px;font-weight:700;color:#999;text-transform:uppercase;
  letter-spacing:.08em;margin-bottom:12px;
}
.admin-label{
  display:flex;flex-direction:column;gap:6px;margin-bottom:14px;
  font-size:13px;font-weight:600;color:#333;
}
.admin-input,.admin-select,.admin-textarea{
  padding:10px 14px;border:1.5px solid #e0e0e0;border-radius:8px;
  font-size:14px;font-family:inherit;outline:none;transition:.2s;width:100%;
}
.admin-input:focus,.admin-select:focus,.admin-textarea:focus{border-color:#2A7A5F}
.admin-textarea{min-height:70px;resize:vertical}

/* Color picker */
.admin-color{
  display:flex;align-items:center;gap:10px;margin-bottom:10px;
}
.admin-color label{font-size:13px;font-weight:500;color:#555;flex:1}
.admin-color input[type="color"]{
  width:40px;height:32px;border:1.5px solid #e0e0e0;border-radius:6px;
  cursor:pointer;padding:2px;background:#fff;
}

/* Preset palettes */
.admin-presets{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:20px}
.admin-preset{
  display:flex;align-items:center;gap:8px;padding:10px 12px;
  border:1.5px solid #e0e0e0;border-radius:10px;cursor:pointer;
  transition:.2s;background:#fff;font-size:12px;font-weight:600;
}
.admin-preset:hover{border-color:#2A7A5F;background:#f8fdf9}
.admin-preset.active{border-color:#2A7A5F;background:#e8f5ef}
.admin-preset__colors{display:flex;gap:3px}
.admin-preset__dot{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.1)}

/* Cards list */
.admin-card-item{
  display:flex;align-items:center;gap:12px;padding:12px;
  border:1px solid #eee;border-radius:10px;margin-bottom:8px;
  cursor:pointer;transition:.2s;
}
.admin-card-item:hover{border-color:#2A7A5F;background:#f8fdf9}
.admin-card-item img{width:48px;height:48px;object-fit:cover;border-radius:6px;background:#eee}
.admin-card-item__info{flex:1;min-width:0}
.admin-card-item__info h4{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-card-item__info span{font-size:12px;color:#999}
.admin-card-item__del{
  width:28px;height:28px;border-radius:6px;border:0;
  background:#fee;color:#e74c3c;cursor:pointer;font-size:14px;
  display:flex;align-items:center;justify-content:center;transition:.2s;
}
.admin-card-item__del:hover{background:#e74c3c;color:#fff}

/* Block editor */
.admin-block-item{
  padding:12px;border:1px solid #eee;border-radius:10px;
  margin-bottom:8px;cursor:pointer;transition:.2s;
}
.admin-block-item:hover{border-color:#2A7A5F;background:#f8fdf9}
.admin-block-item h4{font-size:13px;font-weight:600}
.admin-block-item span{font-size:11px;color:#999}

/* Buttons */
.admin-btn{
  padding:10px 20px;border:0;border-radius:8px;font-weight:600;
  font-size:13px;cursor:pointer;transition:.2s;display:inline-flex;
  align-items:center;gap:6px;
}
.admin-btn--primary{background:#1A1A1A;color:#fff}
.admin-btn--primary:hover{background:#333}
.admin-btn--accent{background:#2A7A5F;color:#fff}
.admin-btn--accent:hover{background:#1F5F49}
.admin-btn--danger{background:#e74c3c;color:#fff}
.admin-btn--danger:hover{background:#c0392b}
.admin-btn--ghost{background:#f5f5f5;color:#333;border:1px solid #e0e0e0}
.admin-btn--ghost:hover{background:#eee}
.admin-btn--block{width:100%;justify-content:center}
.admin-btn--sm{padding:8px 14px;font-size:12px}

/* File upload */
.admin-upload{
  border:2px dashed #ddd;border-radius:10px;padding:24px;
  text-align:center;cursor:pointer;transition:.2s;margin-bottom:14px;
}
.admin-upload:hover{border-color:#2A7A5F;background:#f8fdf9}
.admin-upload input[type="file"]{display:none}
.admin-upload__label{font-size:13px;color:#999}
.admin-upload__preview{
  width:100%;max-height:100px;object-fit:contain;border-radius:6px;margin-top:10px;
}
.admin-upload__path{
  margin-top:8px;display:flex;gap:6px;align-items:center;
}
.admin-upload__path input{
  flex:1;padding:6px 10px;border:1px solid #e0e0e0;border-radius:6px;
  font-size:11px;font-family:monospace;color:#666;
}
.admin-upload__dl{
  padding:6px 10px;background:#f5f5f5;border:1px solid #ddd;border-radius:6px;
  cursor:pointer;font-size:11px;font-weight:600;color:#333;
}
.admin-upload__dl:hover{background:#e8e8e8}

/* Effect select */
.admin-effects{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}
.admin-effect{
  padding:10px;border:1.5px solid #e0e0e0;border-radius:8px;
  text-align:center;cursor:pointer;transition:.2s;font-size:11px;font-weight:600;
}
.admin-effect:hover{border-color:#2A7A5F}
.admin-effect.active{border-color:#2A7A5F;background:#e8f5ef}

/* Menu item editor */
.admin-menu-item{
  display:flex;align-items:center;gap:8px;padding:10px;
  border:1px solid #eee;border-radius:8px;margin-bottom:6px;
}
.admin-menu-item input{flex:1;padding:8px 10px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px}
.admin-menu-item select{padding:8px;border:1px solid #e0e0e0;border-radius:6px;font-size:12px}
.admin-menu-item button{
  width:28px;height:28px;border:0;border-radius:6px;
  cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;
}

/* Overlay for block selection */
.admin-highlight{outline:3px dashed #2A7A5F!important;outline-offset:2px;cursor:pointer!important}

/* Responsive */
@media(max-width:480px){
  .admin-panel{width:100%}
}
