/* Panel ekranları — ana sitenin (assets/style.css) renk/tipografi
   tokenlarını miras alır, sadece panel'e özgü yerleşimi ekler. */

.pnl-body{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  font-family: var(--font-body);
  background: var(--kraft);
  color: var(--espresso);
}

/* ---------- Giriş ekranı ---------- */
.pnl-wrap{
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding: 2rem 1.2rem;
  position:relative;
}
.pnl-back{
  position:absolute;
  top:1.8rem; left:1.8rem;
  font-size:.85rem;
  font-weight:600;
  color: var(--espresso-70);
  display:flex; align-items:center; gap:.4rem;
}
.pnl-back:hover{ color: var(--charred); }

.pnl-card{
  background: var(--card);
  border-radius: var(--radius);
  padding: 2.6rem 2.4rem;
  width:100%;
  max-width: 380px;
  box-shadow: 0 20px 50px rgba(43,29,20,.12);
  text-align:center;
}
.pnl-brand{ display:inline-flex; flex-direction:column; margin-bottom:1.4rem; }
.pnl-subtitle{
  font-family: var(--font-mono);
  font-size:.78rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color: var(--espresso-70);
  margin-bottom:1.8rem;
}

.pnl-form{ display:flex; flex-direction:column; gap:.4rem; text-align:left; }
.pnl-form label{
  font-family: var(--font-mono);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  color: var(--espresso-70);
  margin-top:.6rem;
}
.pnl-form input{
  padding:.7rem .9rem;
  border-radius:10px;
  border:2px solid #E3D3AE;
  font-family: var(--font-body);
  font-size:.95rem;
  background: var(--kraft);
  color: var(--espresso);
}
.pnl-form input:focus{
  outline:none;
  border-color: var(--charred);
}
.pnl-submit{ margin-top:1.4rem; width:100%; }

.pnl-error{
  background: #FBEAE4;
  color: var(--charred-dk);
  border: 1px solid #F0C4B4;
  border-radius: 10px;
  padding: .6rem .9rem;
  font-size: .85rem;
  display:flex; align-items:center; gap:.5rem;
  margin-bottom: 1.2rem;
}

/* ---------- Panel / dashboard ---------- */
.pnl-body-dashboard{ align-items:stretch; }

.pnl-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 1.1rem 2rem;
  background: var(--card);
  border-bottom: 1px solid #E3D3AE;
}
.pnl-user{ display:flex; align-items:center; gap:1rem; font-size:.9rem; }
.pnl-user small{ color: var(--espresso-70); }
.pnl-logout{ padding:.5rem 1.1rem; font-size:.85rem; }

.pnl-main{ flex:1; padding: 3rem 2rem; max-width: 900px; margin: 0 auto; width:100%; }
.pnl-welcome{
  font-family: var(--font-display);
  font-weight:600;
  font-size: clamp(1.8rem, 3.5vw, 2.4rem);
  margin-bottom:2rem;
}

.pnl-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap:1.4rem;
}
.pnl-tile{
  background: var(--card);
  border-radius: var(--radius);
  padding: 1.8rem;
  position:relative;
  box-shadow: 0 10px 30px rgba(43,29,20,.06);
}
.pnl-tile i{ font-size:1.5rem; color: var(--charred); margin-bottom:.8rem; display:block; }
.pnl-tile h3{ font-family: var(--font-display); font-weight:600; font-size:1.15rem; margin-bottom:.5rem; }
.pnl-tile p{ font-size:.88rem; color: var(--espresso-70); margin:0; }
.pnl-soon{
  position:absolute; top:1.2rem; right:1.2rem;
  font-family: var(--font-mono);
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  background: var(--mustard);
  color: var(--espresso);
  padding:.25rem .55rem;
  border-radius:6px;
}

@media (max-width: 575.98px){
  .pnl-topbar{ flex-direction:column; gap:.8rem; align-items:flex-start; }
}

/* ---------- Tile as link (Menü Yönetimi) ---------- */
.pnl-tile-link{ display:block; text-decoration:none; color:inherit; transition: transform .2s ease, box-shadow .2s ease; }
.pnl-tile-link:hover{ transform: translateY(-4px); box-shadow: 0 16px 36px rgba(43,29,20,.12); color:inherit; }
.pnl-goto{
  position:absolute; top:1.2rem; right:1.2rem;
  font-family: var(--font-mono);
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  color: var(--charred);
  display:flex; align-items:center; gap:.3rem;
}

/* ---------- Genel form/alert ---------- */
.pnl-main-wide{ max-width: 1100px; }

.pnl-success{
  background: #EAF3E4;
  color: #3D6B2B;
  border: 1px solid #C9E0BB;
  border-radius: 10px;
  padding: .6rem .9rem;
  font-size: .85rem;
  display:flex; align-items:center; gap:.5rem;
  margin-bottom: 1.2rem;
}

/* ---------- Yeni ürün formu ---------- */
.pnl-form-card{
  background: var(--card);
  border-radius: var(--radius);
  padding: 1.8rem 2rem;
  box-shadow: 0 10px 30px rgba(43,29,20,.06);
  margin-bottom: 2.5rem;
}
.pnl-form-card h2, .pnl-list-section h2{
  font-family: var(--font-display);
  font-weight:600;
  font-size:1.3rem;
  display:flex; align-items:center; gap:.5rem;
  margin-bottom:1.4rem;
}
.pnl-form-card h2 i{ color: var(--charred); }

.pnl-add-form{ display:flex; flex-direction:column; gap:1rem; }
.pnl-field{ display:flex; flex-direction:column; gap:.35rem; flex:1; }
.pnl-field-row{ display:flex; gap:1rem; flex-wrap:wrap; }
.pnl-field label{
  font-family: var(--font-mono);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  color: var(--espresso-70);
}
.pnl-field input[type="text"],
.pnl-field input[type="number"],
.pnl-field input[type="file"],
.pnl-field select,
.pnl-field textarea{
  padding:.65rem .85rem;
  border-radius:10px;
  border:2px solid #E3D3AE;
  font-family: var(--font-body);
  font-size:.92rem;
  background: var(--kraft);
  color: var(--espresso);
  width:100%;
}
.pnl-field textarea{ resize:vertical; }
.pnl-field input:focus, .pnl-field select:focus, .pnl-field textarea:focus{
  outline:none; border-color: var(--charred);
}
.pnl-field small{ font-size:.75rem; color: var(--espresso-70); }
.pnl-add-form > button{ align-self:flex-start; margin-top:.4rem; }

/* ---------- Ürün ızgarası (kare kutular, ana site ile aynı dil) ---------- */
.pnl-count{ font-family: var(--font-mono); font-size:.85rem; color: var(--espresso-70); font-weight:400; }
.pnl-empty{ color: var(--espresso-70); font-size:.9rem; }

.pnl-product-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap:1.3rem;
}
.pnl-product-card{
  background: var(--card);
  border-radius: var(--radius);
  padding: 12px;
  box-shadow: 0 8px 22px rgba(43,29,20,.06);
}
.pnl-product-img-wrap{ position:relative; }
.pnl-product-img{
  width:100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 16px;
  display:block;
}
.pnl-cat-badge{
  position:absolute; top:10px; left:10px;
  font-family: var(--font-mono);
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.03em;
  background: var(--espresso);
  color: var(--kraft);
  padding:.25rem .55rem;
  border-radius:6px;
  opacity:.9;
}
.pnl-product-body{ padding: .9rem .3rem .2rem; }
.pnl-product-body h3{
  font-family: var(--font-display);
  font-weight:600;
  font-size:1.02rem;
  margin-bottom:.3rem;
}
.pnl-product-body p{
  font-size:.82rem;
  color: var(--espresso-70);
  min-height: 2.4em;
  margin-bottom:.8rem;
}
.pnl-product-footer{
  display:flex; align-items:center; justify-content:space-between;
  padding-top:.6rem;
  border-top: 1px dashed #E3D3AE;
}
.pnl-product-price{
  font-family: var(--font-mono);
  font-weight:700;
  color: var(--charred);
}
.pnl-remove-btn{
  display:flex; align-items:center; gap:.35rem;
  font-family: var(--font-mono);
  font-size:.72rem;
  font-weight:700;
  background: transparent;
  color: var(--charred-dk);
  border: 1.5px solid transparent;
  border-radius: 999px;
  padding: .35rem .7rem;
  transition: all .2s ease;
}
.pnl-remove-btn:hover{ background: var(--charred); color:#fff; border-color: var(--charred); }

/* ---------- Kaldırılan ürünler ---------- */
.pnl-removed-section{ margin-top: 3rem; }
.pnl-hint{
  font-size:.85rem;
  color: var(--espresso-70);
  margin-top:-.4rem;
  margin-bottom:1.3rem;
}
.pnl-product-card-removed{ opacity: .68; }
.pnl-product-card-removed:hover{ opacity: 1; }
.pnl-product-footer-removed{ flex-direction:column; align-items:stretch; gap:.6rem; }
.pnl-removed-actions{ display:flex; gap:.5rem; flex-wrap:wrap; }
.pnl-removed-actions form{ flex:1; }

.pnl-restore-btn{
  width:100%;
  display:flex; align-items:center; justify-content:center; gap:.35rem;
  font-family: var(--font-mono);
  font-size:.7rem;
  font-weight:700;
  background: transparent;
  color: var(--herb);
  border: 1.5px solid var(--herb);
  border-radius: 999px;
  padding: .4rem .6rem;
  transition: all .2s ease;
}
.pnl-restore-btn:hover{ background: var(--herb); color:#fff; }

.pnl-delete-btn{
  width:100%;
  display:flex; align-items:center; justify-content:center; gap:.35rem;
  font-family: var(--font-mono);
  font-size:.7rem;
  font-weight:700;
  background: var(--charred-dk);
  color:#fff;
  border: 1.5px solid var(--charred-dk);
  border-radius: 999px;
  padding: .4rem .6rem;
  transition: all .2s ease;
}
.pnl-delete-btn:hover{ background: #7A2606; border-color:#7A2606; }

/* ---------- Satış formu ---------- */
.pnl-satis-toplam{
  font-family: var(--font-mono);
  font-size: 1.1rem;
  font-weight:700;
  color: var(--charred);
  margin: .4rem 0 1.2rem;
}
.pnl-satis-toplam span{ font-size:1.3rem; }

/* ---------- Tablolar (bugünkü satışlar / rapor listesi) ---------- */
.pnl-table-wrap{
  background: var(--card);
  border-radius: var(--radius);
  padding: .5rem 1rem;
  overflow-x:auto;
  box-shadow: 0 10px 30px rgba(43,29,20,.06);
}
.pnl-table{ width:100%; border-collapse:collapse; font-size:.88rem; }
.pnl-table th{
  text-align:left;
  font-family: var(--font-mono);
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  color: var(--espresso-70);
  padding: .8rem .6rem .5rem;
  border-bottom: 2px solid #E3D3AE;
}
.pnl-table td{
  padding: .6rem .6rem;
  border-bottom: 1px dashed #E3D3AE;
}
.pnl-table tbody tr:hover{ background: var(--kraft); }
.pnl-table-total-label{
  text-align:right;
  font-weight:700;
  font-family: var(--font-mono);
  font-size:.8rem;
  padding: .8rem .6rem;
}
.pnl-table-total-value{
  font-family: var(--font-mono);
  font-weight:700;
  color: var(--charred);
  font-size:1rem;
  padding: .8rem .6rem;
}

/* ---------- Rapor filtresi ---------- */
.pnl-report-filter{
  display:flex;
  flex-wrap:wrap;
  gap:1.2rem;
  align-items:flex-end;
}
.pnl-report-actions{ display:flex; gap:.6rem; flex-direction:row; }
.pnl-report-summary{ margin-bottom: 2.5rem; }
.pnl-report-summary .pnl-tile h3{ font-size:1.5rem; margin-bottom:.2rem; }
.pnl-admin-only{
  display:inline-block;
  font-family: var(--font-mono);
  font-size:.62rem;
  text-transform:uppercase;
  background: var(--espresso);
  color: var(--kraft);
  padding:.15rem .5rem;
  border-radius:6px;
  margin-top:.3rem;
}

@media (max-width: 575.98px){
  .pnl-report-actions{ width:100%; }
  .pnl-report-actions button{ flex:1; }
}

/* ---------- Checkbox satırı (fiyat göster/gizle) ---------- */
.pnl-checkbox-row{
  display:flex; align-items:center; gap:.5rem;
  font-size:.88rem;
  font-weight:600;
  margin-top:.4rem;
  cursor:pointer;
}
.pnl-checkbox-row input{ width:16px; height:16px; accent-color: var(--charred); }
.pnl-checkbox-hint{
  display:block;
  font-size:.76rem;
  color: var(--espresso-70);
  margin-top:.25rem;
}
.pnl-price-hidden-badge{
  display:inline-flex;
  color: var(--espresso-70);
  margin-left:.3rem;
  font-size:.8rem;
}

/* ---------- Rol rozetleri ---------- */
.pnl-role-badge{
  display:inline-block;
  font-family: var(--font-mono);
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  padding:.2rem .55rem;
  border-radius:6px;
  vertical-align:middle;
  margin-left:.5rem;
}
.pnl-role-admin{ background: var(--espresso); color: var(--kraft); }
.pnl-role-kasa{ background: var(--mustard); color: var(--espresso); }
.pnl-role-garson{ background: var(--herb); color:#fff; }

.pnl-durum-aktif{ color: var(--herb); font-weight:700; font-size:.82rem; }
.pnl-durum-pasif{ color: var(--charred-dk); font-weight:700; font-size:.82rem; }
.pnl-row-pasif{ opacity:.55; }
.pnl-row-silindi{ opacity:.5; text-decoration: line-through; }

/* ---------- Masa tahtası ---------- */
.pnl-masa-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: .9rem;
  margin-bottom: 3rem;
}
.pnl-masa-slot{
  aspect-ratio: 1 / 1;
  border-radius: 16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding: .6rem;
  gap:.2rem;
  transition: transform .15s ease, box-shadow .15s ease;
}
.pnl-masa-slot:hover{ transform: translateY(-3px); box-shadow: 0 10px 24px rgba(43,29,20,.14); }
.pnl-masa-bos{
  background: var(--card);
  border: 2px dashed #D8C6A0;
  color: var(--espresso-70);
}
.pnl-masa-dolu{
  background: var(--charred);
  color:#fff;
  border: 2px solid var(--charred-dk);
}
.pnl-masa-no{ font-family: var(--font-mono); font-size:.72rem; opacity:.8; }
.pnl-masa-adi{ font-family: var(--font-display); font-weight:600; font-size:.92rem; line-height:1.15; }
.pnl-masa-tutar{ font-family: var(--font-mono); font-size:.78rem; font-weight:700; }

.pnl-open-form{ border: 2px solid var(--charred); }
.pnl-back-link{
  display:inline-flex; align-items:center; gap:.4rem;
  font-size:.85rem; font-weight:600;
  color: var(--espresso-70);
  margin-bottom:1rem;
}
.pnl-back-link:hover{ color: var(--charred); }

.pnl-inline-add{ margin-top:1.2rem; padding-top:1.2rem; border-top:1px dashed #E3D3AE; }
.pnl-close-form{ margin-top:1.5rem; }
.pnl-close-btn{ width:100%; }

@media (max-width: 575.98px){
  .pnl-masa-grid{ grid-template-columns: repeat(3, 1fr); }
}
