/* ============================================================
   BASE.CSS — app.css bölümü (satır 1–213)
   Orijinal: public/assets/css/app.css
   ============================================================ */

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:linear-gradient(180deg,var(--bg) 0,var(--bg-alt) 220px);color:var(--text);font-family:"Segoe UI",Arial,sans-serif}
.topbar{background:linear-gradient(90deg,var(--topbar-from),var(--topbar-to));box-shadow:var(--topbar-shadow)}
.navbar .nav-link{color:rgba(255,255,255,.92)!important;border-radius:var(--radius-md);padding:.65rem .9rem;display:inline-flex;align-items:center;white-space:nowrap;line-height:1.1}
.navbar .nav-link.active,.navbar .nav-link:hover{background:var(--primary-hover)}
.navbar-toggler-icon{filter:invert(1)}
.brand{display:flex;align-items:center;gap:.7rem;color:#fff!important;font-size:var(--font-size-3xl)}.brand-badge{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--radius-md);background:var(--panel);color:var(--primary);font-weight:800;box-shadow:var(--shadow-sm)}
.topbar .container-fluid{display:flex;align-items:center;gap:.85rem}
.topbar .navbar{align-items:center}
.topbar .navbar-nav{margin-bottom:0!important;padding-top:0;padding-bottom:0}
.topbar-main-nav,.topbar-side-nav{margin-block:0!important}
.topbar .nav-item{display:flex;align-items:center}
.topbar-logout-btn{white-space:nowrap;color:rgba(255,255,255,.92)!important;border-color:rgba(255,255,255,.35)!important}
.topbar-logout-btn:hover,.topbar-logout-btn:focus{color:#fff!important;background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.48)!important}
.topbar .topbar-module-link{color:rgba(255,255,255,.88)!important;border-radius:10px;padding:.55rem .8rem;font-weight:500;font-size:var(--font-size-topbar);display:inline-flex;align-items:center;gap:.45rem;position:relative}
.topbar .topbar-module-link.active,.topbar .topbar-module-link:hover{background:rgba(240,125,0,.2);color:#ff9f2f!important}
.topbar .topbar-user-meta{font-size:var(--font-size-topbar-meta);position:relative}
.topbar .topbar-user-meta .notif-dot{top:-4px;right:-6px}
.topbar-bell-icon{color:#f59e0b}
.topbar-shield-icon{color:var(--primary)}
.topbar-role-badge{background:rgba(240,125,0,.15);color:var(--primary);font-size:var(--font-size-caption)}
.page-shell{min-height:calc(100vh - 72px)}
.hero-card{background:var(--panel);backdrop-filter:blur(12px);border:var(--card-border);border-radius:var(--radius-2xl);padding:1rem 1.1rem;box-shadow:var(--shadow-lg)}
.hero-copy .eyebrow{display:inline-block;font-size:var(--font-size-caption);font-weight:700;letter-spacing:.12em;color:var(--primary)}
.hero-copy h1{font-weight:800;margin:.15rem 0}.hero-copy p{color:var(--muted);max-width:680px}
.search-bar{margin-top:.25rem;max-width:560px;margin-inline:auto}.search-bar .form-control,.search-bar .input-group-text,.search-bar .btn{border-radius:var(--radius-lg)}.search-bar .form-control{padding:.58rem .9rem;min-height:44px}.search-bar .input-group-text{min-height:44px;background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important;border-right:none!important}.search-bar .form-control{border-left:none!important}.search-bar .form-control:focus{border-color:var(--primary)!important}
.rate-box{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;background:var(--panel);border-radius:var(--radius-md);padding:.3rem .6rem;border:1px solid var(--line);margin-bottom:.25rem;font-size:var(--font-size-note)}
.stat-grid{display:none}.stat-card{display:none}
.section-title{font-size:var(--font-size-page-title);font-weight:800;margin:0 0 .35rem}.det-items-scroll{overflow-x:visible}
.text-hierarchy-secondary {
    font-size: var(--font-size-subtle);
    color: var(--muted); /* text-secondary */
}
.mobile-item{padding:1rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);margin-bottom:.8rem}.desktop-table{display:block}.mobile-cards{display:none}
.popup-shell .popup-title{font-size:var(--font-size-page-title);font-weight:800}
.product-thumb-fixed{width:100px;height:100px;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--bg-alt)}
.login-body{min-height:100vh;background:radial-gradient(circle at top left,var(--login-bg-from) 0,var(--login-bg-to) 75%);display:grid;place-items:center}.login-wrap{width:min(100%,520px);padding:1.25rem}.login-card{border-radius:var(--radius-2xl)}.btn{border-radius:var(--radius-md)}.form-control,.form-select{border-radius:var(--input-radius);padding:.75rem .95rem;border:1px solid var(--input-border);background:var(--panel);color:var(--text)}.form-control:focus,.form-select:focus{box-shadow:0 0 0 .2rem var(--input-focus-ring);border-color:var(--primary)}.password-toggle-btn{border-color:var(--input-border);background:var(--panel);color:var(--muted)}.password-toggle-btn:hover,.password-toggle-btn:focus{background:var(--panel-alt);color:var(--text);border-color:var(--primary);box-shadow:none}[data-theme="dusk"] .login-card{background:var(--panel)!important;border:1px solid var(--line)!important;color:var(--text)!important}[data-theme="dusk"] .login-card .card-body,[data-theme="dusk"] .login-card .form-label,[data-theme="dusk"] .login-card .text-secondary{color:var(--text)!important}
.btn-xxs { padding: 1px 6px !important; font-size: var(--font-size-2xs) !important; border-radius: var(--radius-xs) !important; min-height: 22px; display: inline-flex; align-items: center; justify-content: center; }
.expand-row>td{padding:0!important;background:var(--bg-alt)}.expand-card{padding:1rem;border-top:1px solid var(--line)}.inline-form-panel{padding:1rem;border:1px dashed var(--line);border-radius:var(--radius-lg);background:var(--panel)}.toggle-panel{border-top:1px solid var(--line);padding-top:1rem}

/* Kritik Veri Vurguları */
.bg-light-danger { background-color: var(--danger-bg) !important; }
.text-us-desc { font-size: var(--font-size-meta); color: var(--muted); }
.arrow-icon { color: var(--muted); transition: transform 0.22s ease; }
.is-open .arrow-icon { color: var(--success); transform: rotate(90deg); }

/* modal display/show Bootstrap tarafından yönetiliyor */
.modal-dialog{margin:1.25rem auto;max-width:min(96vw,var(--modal-width,1140px))}
.modal-content{border:none;border-radius:var(--modal-radius);overflow:hidden;box-shadow:var(--modal-shadow)}

.btn-close{cursor:pointer}
[data-theme="dusk"] .modal .btn-close,
[data-theme="dusk"] .offcanvas .btn-close{
  filter: invert(1) grayscale(1) brightness(190%);
  opacity: .88;
}
[data-theme="dusk"] .modal .btn-close:hover,
[data-theme="dusk"] .modal .btn-close:focus,
[data-theme="dusk"] .offcanvas .btn-close:hover,
[data-theme="dusk"] .offcanvas .btn-close:focus{
  opacity: 1;
}

.notif-dot{
  position:absolute;
  top:4px;
  right:4px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:17px;
  height:17px;
  padding:0 4px;
  border-radius:999px;
  background:#ef4444;
  color:#fff;
  font-size:var(--font-size-caption);
  font-weight:700;
  line-height:1;
  box-shadow:0 0 0 2px var(--topbar-to);
  pointer-events:none;
}

@media (max-width:991px){.desktop-table{display:none}.mobile-cards{display:block}.stat-grid{grid-template-columns:repeat(2,1fr)}.hero-card{padding:1rem;border-radius:20px}.hero-copy h1{font-size:1.9rem}.rate-box{grid-template-columns:1fr;gap:.5rem}.topbar .navbar-collapse{background:var(--topbar-from);margin-top:.75rem;border-radius:16px;padding:.75rem}.topbar .nav-link{margin-bottom:.25rem}}
@media (max-width:991px){
  /* Offcanvas Temalandırma */
  .offcanvas { background-color: var(--topbar-from) !important; color: var(--text) !important; width: 280px !important; border-right: 1px solid var(--line) !important; }
  .offcanvas { background-color: var(--topbar-from) !important; color: #fff !important; width: 280px !important; border-right: 1px solid var(--line) !important; z-index: 1055 !important; }
  .offcanvas-backdrop { z-index: 1054 !important; }
  .offcanvas-body { padding-bottom: 100px !important; }
  .offcanvas-header { border-bottom: 1px solid var(--line); padding: 1.25rem; }
  .offcanvas-title { font-weight: 800; color: var(--primary); }
  .offcanvas .btn-close { filter: invert(1) grayscale(100%) brightness(200%); }
  
  /* Offcanvas İçindeki Menü Elemanları */
  .offcanvas .nav-link { 
    padding: 0.8rem 1rem !important; 
    border-radius: var(--radius-md); 
    margin-bottom: 0.2rem;
    font-weight: 600;
  }
  
  /* Yönetim Dropdown'ını mobilde açılır liste (Accordion) yapısına dönüştür */
  .offcanvas .dropdown-menu {
    position: static !important;
    float: none !important;
    background: var(--topbar-to) !important;
    border: none !important;
    box-shadow: none !important;
    margin: 0.5rem 0 !important;
    padding: 0.5rem !important;
    /* display: block !important; /* Mobilde hep görünür veya collapse ile yönetilir */ /* Kaldırıldı */
  }
  .offcanvas .dropdown-item {
    color: var(--muted) !important;
    padding: 0.6rem 1rem !important;
    font-size: var(--font-size-subtle);
  }
}

#searchResults.is-loading{opacity:.65;pointer-events:none;transition:opacity .15s ease}
.topbar .navbar-collapse.show{display:block}

.content-wrap{max-width:1120px;margin:0 auto}
.hero-card.hero-centered{text-align:center}.hero-centered .hero-copy p{margin-inline:auto}.hero-centered .rate-box{max-width:620px;margin-inline:auto}
.popup-feedback{display:none;border-radius:var(--radius-md);padding:.75rem .9rem;margin-bottom:1rem}.popup-feedback.show{display:block}.popup-feedback.success{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.popup-feedback.error{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}
@media (max-width:991px){.content-wrap{max-width:100%}.search-bar{max-width:100%}.rate-box{justify-content:flex-start}}

.hero-title-home{font-size:clamp(1.15rem,2vw,1.5rem);letter-spacing:.08em}.hero-title-standard{font-size:clamp(1.3rem,2.4vw,1.75rem)}.page-feedback{display:none;max-width:560px;margin:.55rem auto 0;padding:.7rem .85rem;border-radius:var(--radius-md);text-align:left;border:1px solid transparent}.page-feedback.show{display:block}.page-feedback.success{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.page-feedback.error{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}


.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-around;align-items:stretch;height:78px;background:var(--panel);border-top:1px solid var(--line);box-shadow:var(--shadow-md);z-index:1035;padding-bottom:env(safe-area-inset-bottom)}
.mobile-bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.28rem;color:#374151;text-decoration:none;font-weight:700;font-size:var(--font-size-note);line-height:1.05;padding:.45rem .2rem .6rem}
.mobile-bottom-nav__item i{font-size:1.38rem;line-height:1}
.mobile-bottom-nav__item.active{color:var(--primary)}
.mobile-bottom-nav__item.active i{color:var(--primary)}
.mobile-bottom-nav__item span{text-align:center}
.mobile-bottom-nav.nav-hidden{display:none!important}
@media (min-width:992px){.mobile-bottom-nav{display:none}}


html,body{height:100%}
@media (max-width:991px){
  body{padding-bottom:0;overflow-x:hidden;overflow-y:auto;min-height:100dvh;background:var(--bg);-webkit-overflow-scrolling:touch}
  .topbar{position:sticky;top:0;z-index:1045}
  .page-shell{min-height:calc(100dvh - 84px - env(safe-area-inset-bottom));height:auto;padding-top:max(.5rem,env(safe-area-inset-top));padding-bottom:calc(84px + env(safe-area-inset-bottom) + .75rem);overflow:visible}
  .content-wrap{height:auto;min-height:0;overflow:visible;-webkit-overflow-scrolling:touch;padding-bottom:calc(96px + env(safe-area-inset-bottom))!important}
  #searchResults{padding-bottom:1rem}
  .mobile-bottom-nav{display:flex!important;position:fixed;left:0;right:0;bottom:0;height:84px;background:var(--panel);border-top:1px solid var(--line);box-shadow:var(--shadow-lg);z-index:1046;padding-bottom:max(env(safe-area-inset-bottom),8px)}
  .mobile-bottom-nav__item{min-width:0;font-size:var(--font-size-caption);font-weight:800;color:#2f3742;gap:.22rem;padding:.45rem .15rem .5rem}
  .mobile-bottom-nav__item i{font-size:1.4rem}
  .mobile-bottom-nav__item span{font-size:var(--font-size-caption);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .mobile-bottom-nav__item.active{color:var(--primary)}
}
@media (min-width:992px){
  body{overflow:auto}
  .page-shell{padding-top:0;padding-bottom:0;height:auto;overflow:visible}
  .content-wrap{overflow:visible;height:auto}
  .topbar .offcanvas-header{display:none}
  .topbar .offcanvas{position:static;transform:none!important;visibility:visible!important;background:transparent;border:0;flex:1 1 auto;min-width:0}
  .topbar .navbar-collapse{display:flex!important;align-items:center;justify-content:space-between;gap:.75rem;flex:1 1 auto;min-width:0}
  .topbar .offcanvas-body{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:0!important;min-height:0;overflow:visible}
  .topbar .brand,.topbar .navbar-brand{flex:0 0 auto;min-width:0}
  .topbar .navbar-nav{align-items:center;flex-wrap:nowrap;min-width:0}
  .topbar .navbar-nav.me-auto,.topbar-main-nav{flex:1 1 auto;overflow-x:auto;scrollbar-width:none;padding-right:.75rem}
  .topbar .navbar-nav.me-auto::-webkit-scrollbar,.topbar-main-nav::-webkit-scrollbar{display:none}
  .topbar .navbar-nav.ms-auto,.topbar-side-nav{flex:0 0 auto;white-space:nowrap;max-width:42vw}
  .topbar .nav-item,.topbar .dropdown{flex:0 0 auto}
  .topbar .nav-link,.topbar-logout-btn{min-height:40px;margin:0!important}
  .topbar-main-nav .nav-link,.topbar-side-nav .nav-link{align-self:center}
  .topbar .topbar-user-meta{display:inline-flex;align-items:center;gap:.3rem;min-width:0;max-width:26vw;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
}

@media (min-width:992px){
  body.customer-module-page .topbar .offcanvas-body{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
    column-gap:.75rem;
  }

  body.customer-module-page .topbar .topbar-main-nav{
    overflow:visible;
    padding-right:0;
    min-width:0;
    gap:.15rem;
  }

  body.customer-module-page .topbar .topbar-main-nav .topbar-module-link{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    column-gap:.38rem;
    width:104px;
    white-space:normal!important;
    text-align:left;
    line-height:1.02;
    padding:.48rem .52rem;
    font-size:var(--font-size-topbar);
  }

  body.customer-module-page .topbar .topbar-main-nav .topbar-module-link i{
    display:inline-block;
    margin:0!important;
    align-self:start;
  }

  body.customer-module-page .topbar .topbar-main-nav .topbar-module-link .notif-dot,
  body.customer-module-page .topbar .topbar-main-nav .topbar-module-link .badge-cart-chip{
    position:absolute;
    top:5px;
    right:5px;
    margin:0;
  }

  body.customer-module-page .topbar .topbar-side-nav{
    flex:0 0 auto;
    max-width:none;
    flex-wrap:nowrap;
    justify-content:flex-end;
  }

  body.customer-module-page .topbar .topbar-user-meta{
    max-width:340px;
  }

  body.customer-module-page .topbar .customer-topbar-meta{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:.12rem;
    font-size:var(--font-size-caption);
    line-height:1.02;
    padding:.28rem .45rem;
  }

  body.customer-module-page .topbar .customer-topbar-meta .customer-meta-line{
    display:flex;
    align-items:center;
    gap:.3rem;
    min-width:0;
    white-space:nowrap;
  }

  body.customer-module-page .topbar .customer-topbar-meta .customer-meta-text{
    display:block;
    max-width:168px;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  body.customer-module-page .topbar .customer-topbar-meta i{
    font-size:var(--font-size-caption);
    flex:0 0 auto;
  }

  body.cadmin-module-page .topbar .topbar-main-nav{
    overflow:visible;
    padding-right:.35rem;
  }

  body.cadmin-module-page .topbar .topbar-main-nav .topbar-module-link{
    display:inline-flex;
    align-items:center;
    max-width:none;
    white-space:nowrap!important;
    text-align:left;
    line-height:1.1;
    padding:.55rem .82rem;
    vertical-align:middle;
    font-size:var(--font-size-meta);
  }

  body.cadmin-module-page .topbar .topbar-side-nav{
    flex:0 0 auto;
    max-width:none;
    flex-wrap:nowrap;
    justify-content:flex-end;
    gap:.25rem;
  }

  body.cadmin-module-page .topbar .topbar-user-meta{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:.14rem;
    max-width:180px;
    padding:.28rem .48rem;
    line-height:1.05;
  }

  body.cadmin-module-page .topbar .topbar-user-meta .topbar-user-line,
  body.cadmin-module-page .topbar .topbar-user-meta .topbar-role-line{
    display:flex;
    align-items:center;
    gap:.35rem;
    min-width:0;
    white-space:nowrap;
  }

  body.cadmin-module-page .topbar .topbar-user-meta .topbar-user-name{
    display:block;
    max-width:132px;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  body.cadmin-module-page .topbar .topbar-role-badge{
    margin:0 !important;
  }

  body.cadmin-module-page .topbar .topbar-main-nav .topbar-module-link i{
    display:inline-block;
    margin:0 .25rem 0 0!important;
  }

  body.admintools-module-page .topbar .offcanvas-body{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
    column-gap:1rem;
  }

  body.admintools-module-page .topbar .topbar-main-nav{
    min-width:0;
    flex-wrap:wrap;
    overflow:visible;
    padding-right:0;
    row-gap:.35rem;
    column-gap:.1rem;
    align-content:flex-start;
  }

  body.admintools-module-page .topbar .topbar-main-nav .topbar-module-link{
    display:inline-flex;
    align-items:center;
    white-space:nowrap!important;
    max-width:none;
    text-align:left;
    line-height:1.1;
    padding:.55rem .8rem;
    font-size:var(--font-size-topbar);
  }

  body.admintools-module-page .topbar .topbar-main-nav .topbar-module-link i{
    display:inline-block;
    margin:0 .25rem 0 0!important;
  }

  body.admintools-module-page .topbar .topbar-side-nav{
    flex:0 0 auto;
    max-width:none;
    flex-wrap:nowrap!important;
    justify-content:flex-end;
    justify-self:end;
    align-self:start;
  }

  body.admintools-module-page .topbar .topbar-user-meta{
    max-width:none;
  }
}

/* ── Logo (2. istek) ──────────────────────────────────────────────────────── */
.brand-logo{width:40px;height:40px;object-fit:contain;border-radius:var(--radius-sm);background:var(--panel);padding:2px}
.hero-logo-block{display:flex;flex-direction:column;align-items:center;gap:.15rem;margin-bottom:.4rem}
.hero-logo-img{width:100px;height:100px;object-fit:contain;border-radius:var(--radius-lg);background:var(--panel);padding:4px;border:1px solid var(--line);box-shadow:var(--shadow-md)}
.hero-logo-subtitle{font-size:var(--font-size-caption);font-weight:800;letter-spacing:.12em;color:var(--primary);margin-top:.1rem}

/* ── Silme onay modal (1. istek) ─────────────────────────────────────────── */
#deleteConfirmModal .modal-dialog{max-width:360px}
#deleteConfirmModal .modal-content{border-radius:var(--radius-xl)}

/* ── Mobil popup tek scroll (8. istek) ─────────────────────────────────────── */
@media (max-width:768px){
  .popup-shell{overflow-x:hidden}
  .popup-shell .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .popup-shell>.table-responsive,.popup-shell .toggle-panel .table-responsive{max-width:100%;overflow-x:auto}
  .modal-dialog{max-height:100vh}
  .modal-content{max-height:100vh;overflow-y:auto}
  .popup-shell{font-size:var(--font-size-note)}
}
