
/* ==================================================
   پنل مدیریت پینک‌بری — استایل اختصاصی
   ================================================== */
body.admin-body{ background:#faf5f7; }
.admin-shell{ display:flex; min-height:100vh; }
.admin-sidebar{
  width:250px; background:#fff; border-left:1px solid var(--line);
  padding:22px 16px; position:sticky; top:0; height:100vh; flex-shrink:0;
}
.admin-logo{ font-size:1.3rem; font-weight:700; color:var(--pink-600); margin-bottom:26px; padding:0 8px; }
.admin-nav a{ display:flex; align-items:center; gap:10px; padding:12px 14px; border-radius:12px; color:var(--ink-700); font-weight:500; margin-bottom:4px; cursor:pointer; }
.admin-nav a.active, .admin-nav a:hover{ background:var(--pink-50); color:var(--pink-600); }
.admin-nav a svg{ width:19px; height:19px; }
.admin-main{ flex:1; padding:28px 32px; max-width:100%; overflow-x:auto; }
.admin-topbar{ display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; }
.admin-topbar h1{ font-size:1.3rem; margin:0; }
.stat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:28px; }
.stat-card{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:18px 20px; }
.stat-card .num{ font-size:1.6rem; font-weight:700; color:var(--pink-700); }
.stat-card .lbl{ font-size:.82rem; color:var(--ink-500); margin-top:4px; }
.admin-view{ display:none; }
.admin-view.active{ display:block; }
.dashboard-live-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;margin-top:16px;}
.dashboard-panel{min-width:0;}
.dashboard-panel h2{font-size:1rem;margin:0;color:var(--pink-700);}
.dashboard-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:10px;flex-wrap:wrap;}
.dashboard-panel-head small{font-size:.72rem;color:var(--ink-500);}
.hourly-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.hourly-cell{padding:8px 6px;border:1px solid var(--line);border-radius:12px;text-align:center;background:var(--pink-50);font-size:.72rem;}
.hourly-cell span,.hourly-cell strong{display:block;}
.hourly-cell strong{color:var(--pink-700);font-size:.95rem;margin-top:2px;}
.admin-login-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--pink-50),#fff); }
.filter-row{ display:flex; gap:10px; margin-bottom:18px; flex-wrap:wrap; }
.filter-row button{ padding:8px 16px; border-radius:999px; border:1.5px solid var(--line); background:#fff; font-size:.85rem; }
.filter-row button.active{ background:var(--pink-500); color:#fff; border-color:var(--pink-500); }
.modal-backdrop{ position:fixed; inset:0; background:rgba(36,24,32,.5); display:none; align-items:center; justify-content:center; z-index:100; }
.modal-backdrop.open{ display:flex; }
.modal-box{ background:#fff; border-radius:20px; padding:26px; width:92%; max-width:520px; max-height:88vh; overflow-y:auto; }
@media (max-width:900px){
  #admin-menu-toggle{display:flex;}

  .admin-sidebar{ position:fixed; right:-260px; z-index:90; transition:right .2s; }
  .admin-sidebar.open{ right:0; }
  .admin-main{ padding:18px 14px; min-width:0; }
  .stat-grid{ grid-template-columns:1fr 1fr; }
}


/* ---------- Responsive hardening ---------- */
#admin-menu-toggle{display:none;}
.admin-login-wrap .form-page{width:min(100% - 28px, 460px);}
.admin-table-wrap{width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;}
.admin-main{min-width:0;}
@media (max-width:900px){
  #admin-menu-toggle{display:flex; flex:0 0 auto;}
  .admin-shell{display:block;}
  .admin-sidebar{
    width:250px;
    max-width:82vw;
    right:-270px;
    left:auto;
    box-shadow:0 12px 40px rgba(36,24,32,.15);
  }
  .admin-sidebar.open{right:0;}
  .admin-main{width:100%; padding:18px 14px 30px; overflow-x:hidden;}
  .admin-topbar{gap:12px;}
  .admin-topbar h1{font-size:1.1rem; min-width:0;}
  .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;}
  .dashboard-live-grid{grid-template-columns:1fr;}
  .stat-card{padding:14px; min-width:0;}
  .stat-card .num{font-size:1.25rem; overflow-wrap:anywhere;}
  .filter-row{align-items:stretch;}
  .filter-row input{min-width:0 !important; width:100%; flex:1 1 100% !important;}
  .filter-row .btn{width:100%;}
  #products-table,#orders-table,#tickets-table,#admins-table{width:100%; overflow-x:auto;}
  table.data-table{min-width:640px;}
  .modal-box{width:calc(100% - 24px); max-height:90vh; padding:20px 16px;}
}
@media (max-width:560px){
  .admin-login-wrap{padding:14px;}
  .admin-login-wrap .form-page{width:100%; padding:24px 18px; margin:0;}
  .stat-grid{grid-template-columns:1fr 1fr;}
  .admin-logo{font-size:1.05rem;}
  .admin-nav a{padding:11px 12px;}
}

.admin-settings-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;max-width:900px;}
.settings-note{color:var(--ink-500);font-size:.86rem;line-height:1.8;}
.owner-account-card{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);}
.owner-account-card h3{margin:0;color:var(--pink-700);font-size:1rem;}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;}
.settings-full{grid-column:1/-1;}
@media(max-width:560px){.settings-grid{grid-template-columns:1fr;}.settings-full{grid-column:auto;}.admin-settings-card{padding:18px 14px;}}

.admin-ticket-chat-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--line)}.admin-ticket-chat-head small{display:block;color:var(--ink-500);margin-top:5px}.admin-ticket-chat-body{display:flex;flex-direction:column;gap:10px;padding:16px 2px;max-height:52vh;overflow:auto}.admin-chat-bubble{max-width:80%;padding:11px 14px;border-radius:17px;line-height:1.8}.admin-chat-bubble.customer{align-self:flex-start;background:var(--pink-50);border-bottom-right-radius:5px}.admin-chat-bubble.admin{align-self:flex-end;background:#edf6ff;border-bottom-left-radius:5px}.admin-chat-bubble small{display:block;color:var(--ink-500);font-size:.68rem;margin-top:5px}

/* ==================================================
   هماهنگ‌سازی پنل مدیریت با تم کیوت پاستلی سایت
   این بخش فقط ظاهر پنل داخلی را تغییر می‌دهد و احراز هویت
   و عملکرد endpointها را دست‌کاری نمی‌کند.
   ================================================== */
#pb-admin-embedded{
  background:var(--bg) !important;
  color:var(--ink-900);
}
#pb-admin-embedded .admin-shell{background:var(--bg);}
#pb-admin-embedded .admin-sidebar{
  background:rgba(255,253,254,.92);
  border-color:var(--line);
  box-shadow:0 8px 24px rgba(184,92,123,.06);
}
#pb-admin-embedded .admin-logo{
  color:var(--pink-700);
  font-family:'Shabnam','Vazirmatn',sans-serif;
}
#pb-admin-embedded .admin-logo::after{
  content:' ♡';
  color:var(--pink-500);
  font-family:Georgia,serif;
}
#pb-admin-embedded .admin-nav a{
  color:var(--ink-700);
  border-radius:16px;
  transition:background .2s,color .2s,transform .2s;
}
#pb-admin-embedded .admin-nav a.active,
#pb-admin-embedded .admin-nav a:hover{
  background:var(--pink-100);
  color:var(--pink-700);
  transform:translateX(-2px);
}
#pb-admin-embedded .admin-main{background:var(--bg);}
#pb-admin-embedded .admin-topbar h1{color:var(--pink-700);}
#pb-admin-embedded .stat-card,
#pb-admin-embedded .admin-settings-card,
#pb-admin-embedded .card,
#pb-admin-embedded .modal-box{
  background:rgba(255,253,254,.94);
  border-color:var(--line);
  border-radius:26px;
  box-shadow:var(--shadow-sm);
}
#pb-admin-embedded .stat-card .num{color:var(--pink-700);}
#pb-admin-embedded .filter-row button{
  background:rgba(255,253,254,.82);
  border-color:var(--pink-300);
  color:var(--ink-700);
  border-radius:999px;
  transition:background .2s,color .2s,transform .2s;
}
#pb-admin-embedded .filter-row button:hover,
#pb-admin-embedded .filter-row button.active{
  background:var(--pink-500);
  border-color:var(--pink-500);
  color:#fff;
  transform:translateY(-1px);
}
#pb-admin-embedded .admin-login-wrap{background:var(--bg);}
#pb-admin-embedded .admin-login-wrap .form-page{
  background:rgba(255,253,254,.94);
  border-color:var(--pink-300);
  box-shadow:0 14px 34px rgba(184,92,123,.12);
}
#pb-admin-embedded .admin-login-wrap h1{color:var(--pink-700);}
#pb-admin-embedded .modal-backdrop{
  background:rgba(104,79,93,.24);
  backdrop-filter:blur(3px);
}
#pb-admin-embedded .modal-box h2,
#pb-admin-embedded .admin-settings-card h2{color:var(--pink-700);}
#pb-admin-embedded .admin-main input,
#pb-admin-embedded .admin-main textarea,
#pb-admin-embedded .admin-main select{
  border-color:var(--line) !important;
  border-radius:16px !important;
  background:rgba(255,253,254,.95);
}
#pb-admin-embedded .admin-main input:focus,
#pb-admin-embedded .admin-main textarea:focus,
#pb-admin-embedded .admin-main select:focus{
  outline:none;
  border-color:var(--pink-500) !important;
  box-shadow:0 0 0 4px rgba(248,144,176,.13);
}
#pb-admin-embedded table.data-table th,
#pb-admin-embedded table.data-table td{border-bottom-color:var(--line);}
.product-image-manager{border:1px solid var(--line);border-radius:18px;padding:12px;background:rgba(255,253,254,.7);}
.image-upload-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px dashed var(--pink-300);border-radius:14px;background:var(--pink-50);}
.image-upload-copy{display:flex;flex-direction:column;gap:3px;min-width:0;}
.image-upload-copy strong{color:var(--pink-700);}
.image-upload-copy span{font-size:.75rem;color:var(--ink-500);}
.admin-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;}
.admin-image-card{position:relative;min-width:0;border:1px solid var(--line);border-radius:14px;padding:7px;background:#fff;}
.admin-image-card.is-primary{border:2px solid var(--pink-500);padding:6px;box-shadow:0 5px 14px rgba(248,144,176,.18);}
.admin-image-card img{width:100%;height:112px;object-fit:contain;border-radius:10px;background:var(--pink-50);}
.image-primary-label{display:block;margin:5px 2px;font-size:.7rem;color:var(--pink-700);font-weight:700;}
.image-card-actions{display:flex;gap:5px;flex-wrap:wrap;}
.image-card-actions .btn{padding:5px 8px;font-size:.7rem;box-shadow:none;}
.image-manager-empty{text-align:center;color:var(--ink-500);font-size:.8rem;margin:14px 0 4px;}
@media(max-width:560px){.admin-image-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.image-upload-card{align-items:stretch;flex-direction:column;}.image-select-label{width:100%;}.admin-image-card img{height:96px;}}
