:root{--primary:#f07d00;--primary-dark:#2e343b;--accent:#ff9f2f;--bg:#eef2f5;--panel:#ffffff;--text:#1f2933;--muted:#6b7785;--danger:#d64545;--warning:#f6c445;--line:#e2e8f0}
*{box-sizing:border-box}
body{background:linear-gradient(180deg,#eef2f5 0,#f8fafc 220px);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}
.topbar{background:linear-gradient(90deg,#1f2328,#3d454f);box-shadow:0 10px 24px rgba(0,0,0,.12)}
.navbar .nav-link{color:rgba(255,255,255,.92)!important;border-radius:12px;padding:.65rem .9rem}
.navbar .nav-link.active,.navbar .nav-link:hover{background:rgba(240,125,0,.18)}
.navbar-toggler-icon{filter:invert(1)}
.brand{display:flex;align-items:center;gap:.7rem;color:#fff!important;font-size:1.05rem}.brand-badge{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#fff;color:var(--primary);font-weight:800;box-shadow:0 8px 18px rgba(0,0,0,.12)}
.page-shell{min-height:calc(100vh - 72px)}
.hero-card,.panel-card{background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.7);border-radius:24px;padding:1rem 1.1rem;box-shadow:0 12px 30px rgba(0,0,0,.06)}
.hero-copy .eyebrow{display:inline-block;font-size:.78rem;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:.5rem;max-width:560px;margin-inline:auto}.search-bar .form-control,.search-bar .input-group-text,.search-bar .btn{border-radius:16px}.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:1rem;justify-content:center;flex-wrap:wrap;background:#fff;border-radius:18px;padding:.65rem .9rem;border:1px solid var(--line);margin-bottom:.55rem;font-size:.92rem}
.stat-grid{display:none}.stat-card{display:none}
.section-title{font-size:1.3rem;font-weight:800;margin:0 0 .35rem}.data-table thead th{background:#f6dcc0;border:none;white-space:nowrap}.data-table{--bs-table-bg:transparent}.data-table td,.data-table th{padding:.9rem .8rem;border-color:#e6edf3;vertical-align:middle}.det-items-scroll{overflow-x:visible}
.mobile-item{padding:1rem;border:1px solid #e6edf3;border-radius:18px;background:#fff;margin-bottom:.8rem}.desktop-table{display:block}.mobile-cards{display:none}
.sub-panel{background:#f9fbfd;border:1px solid #e4ecf3;border-radius:20px;padding:1.2rem}.sub-panel h3{font-size:1.15rem;font-weight:800;margin-bottom:1rem}
.popup-shell .popup-title{font-size:1.35rem;font-weight:800}
.product-thumb-fixed{width:100px;height:100px;object-fit:cover;border-radius:16px;border:1px solid var(--line);background:#f3f4f6}
.login-body{min-height:100vh;background:radial-gradient(circle at top left,#f07d00 0,#1e293b 75%);display:grid;place-items:center}.login-wrap{width:min(100%,520px);padding:1.25rem}.login-card{border-radius:32px}.btn{border-radius:14px}.form-control,.form-select{border-radius:14px;padding:.75rem .95rem;border:1px solid #cfe0eb}.form-control:focus,.form-select:focus{box-shadow:0 0 0 .2rem rgba(240,125,0,.12);border-color:#f1b46e}
.expand-row>td{padding:0!important;background:#f8fafc}.expand-card{padding:1rem;border-top:1px solid var(--line)}.inline-form-panel{padding:1rem;border:1px dashed #d6dee7;border-radius:16px;background:#fff}.toggle-panel{border-top:1px solid var(--line);padding-top:1rem}.empty-state{text-align:center;padding:2rem}

/* 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:22px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.25)}

.btn-close{cursor:pointer}

@media (max-width:991px){.desktop-table{display:none}.mobile-cards{display:block}.stat-grid{grid-template-columns:repeat(2,1fr)}.hero-card,.panel-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:#222831;margin-top:.75rem;border-radius:16px;padding:.75rem}.topbar .nav-link{margin-bottom:.25rem}}
@media (max-width:768px){.modal{padding:0}.modal-dialog{margin:0;max-width:100vw;min-height:100vh}.modal-content{border-radius:18px 18px 0 0;min-height:100vh}#deleteConfirmModal .modal-dialog,#dataModal .modal-dialog{min-height:unset;margin:auto}#deleteConfirmModal.modal.show{display:flex !important;align-items:center;justify-content:center}#deleteConfirmModal .modal-content,#dataModal .modal-content{min-height:unset;border-radius:20px}.popup-shell{padding:1rem}.popup-product{align-items:flex-start}.data-table td,.data-table th{padding:.7rem .6rem;font-size:.92rem}.btn{padding:.6rem .8rem}.mobile-item .btn{flex:1 1 auto}.hero-card,.panel-card{padding:.9rem;border-radius:18px}.brand span strong{display:inline}.expand-card{padding:.75rem}.inline-form-panel{padding:.75rem}.det-items-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}}

#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:14px;padding:.75rem .9rem;margin-bottom:1rem}.popup-feedback.show{display:block}.popup-feedback.success{background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}.popup-feedback.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
@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:14px;text-align:left;border:1px solid transparent}.page-feedback.show{display:block}.page-feedback.success{background:#ecfdf3;color:#166534;border-color:#bbf7d0}.page-feedback.error{background:#fef2f2;color:#991b1b;border-color:#fecaca}


.data-table tbody tr:hover{background:rgba(240,125,0,.06)}

.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-around;align-items:stretch;height:78px;background:#fff;border-top:1px solid #dfe5ec;box-shadow:0 -8px 24px rgba(15,23,42,.08);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:.8rem;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:hidden;background:#eef2f5}
  .topbar{position:fixed;top:0;left:0;right:0;z-index:1045}
  .page-shell{height:100vh;padding-top:72px;padding-bottom:84px;overflow:hidden}
  .content-wrap{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:96px!important}
  #searchResults{padding-bottom:1rem}
  .mobile-bottom-nav{display:flex!important;position:fixed;left:0;right:0;bottom:0;height:84px;background:#fff;border-top:1px solid #d7dee7;box-shadow:0 -10px 28px rgba(15,23,42,.12);z-index:1046;padding-bottom:max(env(safe-area-inset-bottom),8px)}
  .mobile-bottom-nav__item{min-width:0;font-size:.78rem;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:.78rem;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}
}

/* ── Logo (2. istek) ──────────────────────────────────────────────────────── */
.brand-logo{width:40px;height:40px;object-fit:contain;border-radius:10px;background:#fff;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:18px;background:#fff;padding:4px;border:1px solid var(--line);box-shadow:0 4px 14px rgba(0,0,0,.08)}
.hero-logo-subtitle{font-size:.78rem;font-weight:800;letter-spacing:.12em;color:var(--primary);margin-top:.1rem}

/* ── Tüm tablolarda sütun çizgileri (3. istek) ─────────────────────────────── */
.data-table{border-collapse:collapse!important}
.data-table td,.data-table th{border:1px solid #d6e0ea!important}
.data-table thead th{border-bottom:2px solid #c9d5e0!important}

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

/* ── 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}
  .data-table td,.data-table th{font-size:.82rem;padding:.55rem .45rem!important;white-space:nowrap}
  .modal-dialog{max-height:100vh}
  .modal-content{max-height:100vh;overflow-y:auto}
  .popup-shell{font-size:.9rem}
}

/* ── Hero compact ─────────────────────────────────────────────────────────── */
.compact-hero{padding:.7rem 1rem .8rem}

/* ── Sapan Fiyat Sonuç Kutusu ────────────────────────────────────────────── */
.sapan-sonuc{animation:fadeIn .2s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.sapan-result-card{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:18px;padding:1rem 1.2rem}
.sapan-result-toplam{font-size:1.6rem;font-weight:900;color:#166534;letter-spacing:.02em}
.sapan-result-usd{margin-top:.1rem}
.sapan-result-detay{margin-top:.2rem;color:#374151}
.sapan-result-card .data-table td,.sapan-result-card .data-table th{font-size:.85rem;padding:.45rem .55rem!important}
.sapan-kur-info{padding:.4rem .8rem;background:#fff;border-radius:12px;border:1px solid var(--line);display:inline-block}

/* ── Sapan Tablo Layout (eski site stili) ─────────────────────────────────── */
.sapan-block{border-radius:16px;overflow:hidden;border:1px solid #e0d090}
.sapan-baslik{background:#f5c518;color:#1a1a1a;font-size:1.05rem;font-weight:900;letter-spacing:.06em;text-align:center;padding:.55rem 1rem}
.sapan-table{margin:0!important;border-collapse:collapse!important}
.sapan-table thead th{background:#f9dd77;color:#333;font-weight:700;font-size:.82rem;text-align:center;padding:.55rem .5rem!important;border:1px solid #e0c840!important;white-space:nowrap}
.sapan-table tbody td{background:#fff;padding:.5rem .4rem!important;border:1px solid #e8e8e8!important;vertical-align:middle;text-align:center}
.sapan-input{font-size:.82rem!important;padding:.3rem .4rem!important;text-align:center;min-width:80px}
.sapan-boy-input{background:#e8f4ff!important;max-width:70px}
.sapan-fiyat-input{background:#e8f4ff!important;font-weight:700!important;color:#0d6efd;font-size:.88rem!important;min-width:130px;text-align:center!important;cursor:default}
.sapan-loading{color:#999!important;font-weight:400!important}
@keyframes sapanFlash{0%{background:#d4edda}100%{background:#e8f4ff}}
.sapan-fiyat-sonuc{animation:sapanFlash .6s ease}
.sapan-kur-info{font-size:.82rem;color:#555}
@media(max-width:767px){
  .sapan-table{font-size:.78rem}
  .sapan-input{min-width:60px;font-size:.78rem!important}
  .sapan-fiyat-input{min-width:100px;font-size:.8rem!important}
}

/* ── Fiyat popup tablo ─────────────────────────────────────────────────────── */
/* Masaüstü: normal Bootstrap font — kural yok, colgroup ile hizalama yeterli */
/* Mobil: popup-fiyat-mobil-tbl sınıfı ile küçük font */
@media (max-width:768px) {
  .popup-fiyat-mobil-tbl th,
  .popup-fiyat-mobil-tbl td { font-size:.7rem !important; padding:.28rem .22rem !important; }
  .product-thumb-fixed { width:70px; height:70px; }
}

/* ── Sapan Mobil Kart ─────────────────────────────────────────────────────── */
.sapan-mobil-kart { padding: 1rem; background: #fff; }
.sapan-mobil-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .75rem;
  margin-bottom: .85rem;
}
.sapan-mobil-alan label:first-child {
  display: block;
  font-size: .72rem;
  font-weight: 700;
  color: #555;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: .25rem;
}
.sapan-mobil-alan .form-select,
.sapan-mobil-alan .form-control { font-size: .88rem; padding: .5rem .7rem; }
.sapan-mobil-alt {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem;
  padding-top: .5rem;
  border-top: 1px solid #f0f0f0;
}
.sapan-checkbox-label {
  display: flex;
  align-items: center;
  gap: .4rem;
  font-size: .88rem;
  font-weight: 600;
  color: #444;
  white-space: nowrap;
  cursor: pointer;
}
.sapan-mobil-alt .btn { white-space: nowrap; padding: .55rem 1rem; font-weight: 700; }
.sapan-fiyat-buyuk {
  flex: 1 1 100% !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  border: 2px solid #b8d8f8 !important;
  box-sizing: border-box;
}

/* ── Yönetim Dropdown ── */
.topbar-dropdown{background:#1c2330;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:.4rem 0;min-width:200px;margin-top:.3rem}
.topbar-dropdown .dropdown-item{color:rgba(255,255,255,.85);padding:.6rem 1.1rem;font-size:.88rem;border-radius:0;transition:background .15s}
.topbar-dropdown .dropdown-item:hover,.topbar-dropdown .dropdown-item:focus{background:rgba(240,125,0,.22);color:#fff}
.topbar-dropdown .dropdown-item.active{background:rgba(240,125,0,.35);color:#fff;font-weight:600}

/* ============================================================
   Müşteri Modülü — CSS Eklentisi
   Mevcut app.css'e eklenecek. Var olan stilleri ezmez.
   ============================================================ */

/* ── Genel yardımcılar ──────────────────────────────────────── */
.bg-purple  { background-color: #7c3aed !important; }
.t-wait     { background:#fef9e7; color:#b45309; border:1px solid #fde68a; }
.t-ok       { background:#ecfdf5; color:#065f46; border:1px solid #6ee7b7; }
.t-prep     { background:#eff6ff; color:#1d4ed8; border:1px solid #bfdbfe; }
.t-done     { background:#f0fdf4; color:#166534; border:1px solid #86efac; }
.t-cancel   { background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }

/* ── Panel & Section yardımcıları ───────────────────────────── */
.panel-head {
    padding: .55rem .85rem;
    font-weight: 700;
    font-size: .85rem;
    border-bottom: 1px solid var(--line);
    background: var(--panel);
}
.section-title {
    font-size: .88rem;
    font-weight: 700;
    color: var(--text);
}
.empty-state {
    text-align: center;
    padding: 2.5rem 1rem;
}

/* ── Masaüstü / Mobil kart geçişleri ────────────────────────── */
.desktop-table { display: block; }
.mobile-cards  { display: none; }

.mobile-item {
    padding: .55rem .5rem;
    border-bottom: 1px solid var(--line);
}
.mobile-item:last-child { border-bottom: none; }

@media (max-width: 640px) {
    .desktop-table { display: none; }
    .mobile-cards  { display: block; }
}

/* ── Mesaj paneli yükseklik ─────────────────────────────────── */
.msg-panel-card {
    height: 520px;
    min-height: 320px;
}
#msgArea {
    min-height: 0;
}
@media (max-width: 991px) {
    .msg-panel-card {
        height: 420px;
    }
}

/* ── Mesaj balonları ────────────────────────────────────────── */
.msg-bubble {
    max-width: 85%;
    padding: .4rem .65rem;
    border-radius: 12px;
    font-size: .82rem;
    line-height: 1.45;
    word-break: break-word;
}
.msg-left {
    background: var(--panel-alt, #f0f4f8);
    color: var(--text);
    align-self: flex-start;
    border-bottom-left-radius: 4px;
}
.msg-right {
    background: var(--primary);
    color: #fff;
    align-self: flex-end;
    border-bottom-right-radius: 4px;
}
.msg-meta {
    font-size: .62rem;
    margin-top: .1rem;
    opacity: .6;
}

/* ── Popup ──────────────────────────────────────────────────── */
.popup-shell {
    padding: 1rem 1.1rem;
}
.popup-title {
    font-size: 1rem;
    font-weight: 800;
    color: var(--text);
    line-height: 1.3;
}

/* ── Ürün küçük resim ───────────────────────────────────────── */
.product-thumb-fixed {
    width: 38px;
    height: 38px;
    object-fit: cover;
    border-radius: 9px;
    border: 1px solid var(--line);
    display: block;
}

/* ── Hero logo (login sayfaları) ────────────────────────────── */
.hero-logo-block { display: inline-block; }

/* ── Arama kutusu ───────────────────────────────────────────── */
.search-bar .input-group-text {
    background: var(--panel);
    border-color: var(--line);
    color: var(--muted);
}
.search-bar .form-control {
    border-color: var(--line);
}
.search-bar .form-control:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(240,125,0,.12);
}

/* ── Spec satırı hover ──────────────────────────────────────── */
.spec-row:hover {
    background: rgba(240,125,0,.03);
}

/* ── Badge düzeltmeleri ─────────────────────────────────────── */
.badge.t-wait,
.badge.t-ok,
.badge.t-prep,
.badge.t-done,
.badge.t-cancel {
    font-weight: 700;
    font-size: .72rem;
    padding: .28em .55em;
    border-radius: 6px;
}

/* ── CSP Sprint 4 (low-risk extraction) ───────────────────────────────────── */
.app-version-footnote {
    font-size: .7rem;
    padding: 6px 0 10px;
}

.print-logo {
    width: 48px;
    height: 48px;
    object-fit: contain;
    border-radius: 10px;
    border: 1px solid #eee;
}

.print-note-grid {
    display: grid;
    gap: 12px;
    margin-bottom: 1rem;
}

.print-note-grid-1 { grid-template-columns: 1fr; }
.print-note-grid-2 { grid-template-columns: 1fr 1fr; }

.print-inquiry-note {
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: #92400e;
}

.print-note-label-warn { color: #92400e; }

.print-toolbar {
    margin-bottom: 16px;
    display: flex;
    gap: 8px;
    align-items: center;
}

.btn-print-back {
    background: #fff;
    color: #374151;
    border: 1.5px solid #d1d5db;
    border-radius: 8px;
    padding: 8px 20px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.btn-print-primary {
    background: #f07d00;
    color: #fff;
    border: none;
    padding: 8px 20px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
}

.col-w-40 { width: 40px; }
.col-w-100 { width: 100px; }
.col-w-110 { width: 110px; }
.popup-col-id-desktop { width: 40px; }
.popup-col-unit-desktop { width: 56px; }
.popup-col-desc-desktop { width: 130px; }
.popup-col-id-mobile { width: 26px; }
.popup-col-unit-mobile { width: 34px; }

.text-muted-soft { color: #9ca3af; }
.text-right { text-align: right; }
.popup-import-badge { font-size: .7rem; }
.popup-fixed-table { width: 100%; table-layout: fixed; }

/* ── CSP Faz-1 Paket-A helpers ───────────────────────────────────────────── */
.data-table-compact { font-size: .82rem; }
.panel-card-border-soft { border: 1px solid #dee2e6; }
.panel-card-bg-soft { background: #f9fbfd; border: 1px solid #e4ecf3; }
.panel-card-bg-warm { background: #fff8f0; border: 1px solid #fde3c0; }
.panel-card-bg-cool { background: #f0f8ff; border: 1px solid #c0d8f0; }
.section-title-md { font-size: 1.1rem; }
.cursor-pointer { cursor: pointer; }
.nowrap-cell { white-space: nowrap; }
.ii-product-results-dropdown {
  max-height: 200px;
  overflow-y: auto;
  position: absolute;
  z-index: 9999;
  width: calc(100% - 24px);
  display: none;
}

.badge-rate-fixed { background: #ecfdf5; color: #065f46; border: 1px solid #6ee7b7; font-size: .7rem; }
.badge-rate-fixed-sm { background: #ecfdf5; color: #065f46; border: 1px solid #6ee7b7; font-size: .65rem; }
.inline-form { display: inline; }
.alert-text-sm { font-size: .8rem; }
.note-revision { color: #92400e; }
.note-danger { color: #dc2626; }
.note-warning { color: #d97706; }
.strike-old { text-decoration: line-through; color: #9ca3af; }
.text-primary-var { color: var(--primary); }
.order-total-bar { border-top: 1px solid var(--line); background: var(--panel); }
.order-total-value { color: var(--primary); font-size: 1.05rem; }
.text-xs { font-size: .75rem; }
.msg-area-stack { display: flex; flex-direction: column; gap: .4rem; }
.border-top-line-important { border-color: var(--line) !important; }
.no-resize { resize: none; }
.btn-primary-solid { background: var(--primary); color: #fff; }
.no-shrink { flex-shrink: 0; }
.filter-toggle-row { cursor: pointer; padding: .75rem 1rem; display: flex; align-items: center; justify-content: space-between; }
.filter-toggle-active { background: #fffbeb; }
.badge-active-mini { background: var(--primary); color: #fff; font-size: .6rem; }
.chevron-sm-primary { font-size: .75rem; color: var(--primary); }
.filter-body-panel { border-top: 1px solid var(--line); padding: 1rem; }
.label-pointer { cursor: pointer; }
.activity-band {
  display: flex;
  background: #fef9c3;
  border: 1px solid #fde047;
  border-radius: 8px;
  padding: .5rem 1rem;
  margin-bottom: .75rem;
  cursor: pointer;
  align-items: center;
  justify-content: space-between;
}
.activity-band-text { font-size: .85rem; color: #854d0e; }
.activity-band-close { background: none; border: none; font-size: 1rem; cursor: pointer; color: #854d0e; }
.empty-icon-xl { font-size: 2.5rem; color: var(--muted); }
.order-total-mobile { font-size: .8rem; }
.text-purple { color: #7c3aed; }
.loadmore-wrap { text-align: center; padding: 1rem 0; }
.loading-spinner-inline { display: inline; }
.all-loaded-wrap { text-align: center; padding: .5rem 0; }

/* ── CSP Faz-1 Paket-B (customer/products) ───────────────────────────────── */
.btn-cart-summary { background: var(--primary); color: #fff; }
.search-info-min-h { min-height: 1.2em; }
.th-w-50 { width: 50px; }
.th-w-200 { width: 200px; }

.product-thumb-sm-clickable {
  width: 38px;
  height: 38px;
  cursor: pointer;
}

.product-thumb-placeholder-sm {
  width: 38px;
  height: 38px;
  border-radius: 9px;
  background: linear-gradient(135deg, #f6dcc0, #f0e8d8);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .75rem;
  color: #c97a30;
  cursor: pointer;
}

.product-link-primary {
  cursor: pointer;
  color: var(--primary);
}

.qty-input-desktop {
  width: 70px;
  border-radius: 9px;
  padding: .35rem .4rem;
}

.btn-cart-base {
  border-radius: 9px;
}

.text-2xs { font-size: .7rem; }

.product-thumb-md {
  width: 44px;
  height: 44px;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid var(--line);
  flex-shrink: 0;
}

.product-thumb-placeholder-md {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: linear-gradient(135deg, #f6dcc0, #f0e8d8);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .75rem;
  color: #c97a30;
  flex-shrink: 0;
}

.product-name-mobile {
  cursor: pointer;
  color: var(--primary);
  font-size: .82rem;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.product-unit-mobile { font-size: .75rem; color: var(--muted); }
.product-price-mobile { color: var(--primary); font-size: .85rem; }
.cart-form-mobile { width: 90px; }
.qty-input-mobile { border-radius: 9px; padding: .3rem .4rem; font-size: .82rem; }
.btn-cart-mobile { border-radius: 9px; font-size: .75rem; padding: .3rem .4rem; }
.modal-width-500 { --modal-width: 500px; }

.modal-product-img {
  width: 90px;
  height: 90px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid var(--line);
}

.modal-product-placeholder {
  width: 90px;
  height: 90px;
  border-radius: 14px;
  background: linear-gradient(135deg, #f6dcc0, #f0e8d8);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  color: #c97a30;
}

.spec-link { color: var(--primary); word-break: break-all; }
.icon-xs { font-size: .75rem; }
.spec-text-sm { font-size: .9rem; }
.modal-price-xl { font-size: 1.3rem; font-weight: 900; color: var(--primary); }

.cart-toast {
  position: fixed;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  border: 1px solid #d1fae5;
  border-radius: 14px;
  padding: .75rem 1rem;
  display: flex;
  align-items: center;
  gap: .75rem;
  box-shadow: 0 4px 20px rgba(0,0,0,.12);
  z-index: 9999;
  min-width: 260px;
  max-width: 90vw;
  animation: cartToastSlideUp .25s ease;
}

.cart-toast-icon { color: #16a34a; font-size: 1.1rem; }
.cart-toast-sub { font-size: .8rem; }

.cart-toast-close {
  margin-left: auto;
  background: none;
  border: none;
  font-size: 1rem;
  cursor: pointer;
  color: var(--muted);
}

.btn-cart-incart { background: #16a34a; color: #fff; }

@keyframes cartToastSlideUp {
  from { opacity: 0; transform: translateX(-50%) translateY(20px); }
  to { opacity: 1; transform: translateX(-50%) translateY(0); }
}

/* ── CSP Faz-1 Paket-C (admin/orders) ────────────────────────────────────── */
.text-xxs { font-size: .65em; }
.th-w-140 { width: 140px; }
.w-130 { width: 130px; }
.stock-link {
  cursor: pointer;
  color: var(--primary);
  text-decoration: underline;
}
.badge-xs { font-size: .6rem; }
.badge-snapshot { background: #ecfdf5; color: #065f46; border: 1px solid #6ee7b7; font-size: .65rem; }
.strike-old-sm { text-decoration: line-through; color: #9ca3af; font-size: .8rem; }
.internal-note-panel { background: #fffbeb; border: 1px solid #fde68a; }
.text-note-title { color: #92400e; font-size: .85rem; }
.text-note-body { color: #78350f; white-space: pre-wrap; }
.textarea-note { background: #fffde7; border-color: #fde68a; font-size: .82rem; }
.btn-note-save { background: #92400e; color: #fffde7; font-size: .75rem; }
.rev-item-card { border-color: var(--line) !important; background: #fafafa; }
.history-list { max-height: 220px; overflow: auto; }
.history-item { background: #fff; border: 1px solid var(--line); }
.status-pill {
  border-radius: 10px;
  padding: .35rem .75rem;
  display: flex;
  align-items: center;
  gap: .4rem;
  white-space: nowrap;
}
.status-pill-val { font-size: 1.1rem; font-weight: 900; }
.status-pill-label { font-size: .72rem; color: #555; }
.pill-amber { background: #fffbeb; border: 1px solid #f59e0b30; }
.pill-amber .status-pill-val { color: #f59e0b; }
.pill-green { background: #f0fdf4; border: 1px solid #16a34a30; }
.pill-green .status-pill-val { color: #16a34a; }
.pill-sky { background: #f0f9ff; border: 1px solid #0ea5e930; }
.pill-sky .status-pill-val { color: #0ea5e9; }
.pill-violet { background: #faf5ff; border: 1px solid #7c3aed30; }
.pill-violet .status-pill-val { color: #7c3aed; }
.pill-purple { background: #fdf4ff; border: 1px solid #9333ea30; }
.pill-purple .status-pill-val { color: #9333ea; }
.badge-mobile-type { font-size: .58rem; }
.filter-body-panel-sm { border-top: 1px solid var(--line); }
.firm-drop-wrap { position: relative; }
.order-firm-drop {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,.1);
  z-index: 200;
  max-height: 180px;
  overflow-y: auto;
}
.ofd-opt { cursor: pointer; }
.ofd-opt:hover, .ofd-opt.active { background: #f3f4f6; }
.hr-filter { margin: 1rem 0 .75rem; }
.text-sky { color: #0369a1; }
.select-status-pending { background: #fef3c7; }
.select-status-ordered { background: #dbeafe; }
.select-status-ready { background: #d1fae5; }
.opacity-60 { opacity: .6; }
.text-075em { font-size: .75em; }
.text-07em { font-size: .7em; }
.text-green-strong { color: #16a34a; }
.border-top-2-line { border-top: 2px solid var(--line); }

/* ── Admin Dashboard küçük özet kutuları ───────────────────────────────────── */
.admin-dash-stats-row {
  display: flex;
  flex-wrap: nowrap;
  gap: .5rem;
  overflow-x: auto;
  margin-bottom: .75rem;
}
.admin-dash-stat-col {
  flex: 1 1 0;
  min-width: 140px;
}
.admin-dash-stat-card {
  padding: .55rem .6rem;
  border-radius: 12px;
}
.admin-dash-stat-value {
  font-size: 1.2rem;
  font-weight: 900;
  line-height: 1.05;
}
.admin-dash-stat-label {
  font-size: .7rem;
  line-height: 1.15;
}
.text-stat-primary { color: var(--primary); }
.text-stat-purple { color: #7c3aed; }
.text-stat-sky { color: #0ea5e9; }
.text-stat-green { color: #16a34a; }
.text-stat-orange { color: #f97316; }

/* ── CSP Faz-1 Paket-C2 (admin/internal_orders) ───────────────────────────── */
.int-prod-col { flex: 2; min-width: 180px; position: relative; }
.int-prod-drop,
.int-firm-drop,
.int-cust-drop {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,.1);
  z-index: 300;
  max-height: 180px;
  overflow-y: auto;
}
.int-firm-drop { z-index: 200; max-height: 160px; }
.int-prod-drop { max-height: 160px; }
.int-w-70 { width: 70px; }
.int-w-80 { width: 80px; }
.int-w-100 { width: 100px; }
.int-w-130 { width: 130px; flex-shrink: 0; }
.int-w-160 { width: 160px; }
.int-static-input { cursor: default; }
.int-readonly-muted { background: #f8f9fa; color: #6b7280; }
.panel-overflow-visible { overflow: visible; }
.int-panel-head { border-bottom: 1px solid var(--line); }
.int-minw-600 { min-width: 600px; }
.int-item-row-center { align-items: center; }
.int-stock-link { background: #f8f9fa; cursor: pointer; color: var(--primary); text-decoration: underline; }
.badge-branch-tuzla { background: #f97316; color: #fff; }
.badge-branch-karakoy { background: #0ea5e9; color: #fff; }
.badge-branch-sm { font-size: .7rem; }
.badge-branch-xs { font-size: .65rem; }
.badge-branch-xxs { font-size: .58rem; }
.badge-system-mini { background: #ede9fe; color: #5b21b6; font-size: .55rem; }
.badge-manual { background: #fef9c3; color: #92400e; font-size: .6rem; }
.int-total-strong { color: var(--primary); font-size: 1.1rem; }
.int-mobile-total { color: var(--primary); font-size: .82rem; }
.int-summary-chip {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: .35rem .75rem;
  display: flex;
  align-items: center;
  gap: .4rem;
}
.int-summary-chip-val { font-size: 1.1rem; font-weight: 900; }
.int-summary-chip-label { font-size: .72rem; color: #555; }
.int-filter-form { background: #f8f9fa; padding: 1rem; }
.int-top-border { border-top: 1px solid var(--line); }
.int-opt-active { background: #f0f9ff; }
.text-08rem { font-size: .8rem; }
.hover-row-warm:hover { background: #fffbeb !important; }
.firm-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,.1);
  z-index: 100;
  max-height: 200px;
  overflow-y: auto;
}
.firm-option { cursor: pointer; }
.firm-option-hover { background: #f3f4f6; }
.firm-option-active { background: #f3f4f6; }
.cust-nav-link { color: rgba(255,255,255,.88)!important; border-radius: 10px; padding: .55rem .85rem; font-weight: 600; font-size: .92rem; }
.cust-nav-link.active, .cust-nav-link:hover { background: rgba(240,125,0,.2); color: #ff9f2f!important; }
.badge-cart-chip {
  position: absolute;
  top: 2px;
  right: -6px;
  background: #e53e3e;
  color: #fff;
  border-radius: 999px;
  font-size: .6rem;
  min-width: 16px;
  height: 16px;
  line-height: 16px;
  text-align: center;
  padding: 0 4px;
  font-weight: 700;
}
.badge-cart-mobile-chip {
  position: absolute;
  top: 6px;
  right: calc(50% - 18px);
  background: #e53e3e;
  color: #fff;
  border-radius: 999px;
  font-size: .55rem;
  min-width: 15px;
  height: 15px;
  line-height: 15px;
  text-align: center;
  padding: 0 3px;
  font-weight: 700;
}
.topbar-user-meta { font-size: .82rem; }
.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: .65rem; }
.notif-band { background: #fff7ed; border-bottom: 2px solid #fed7aa; }
.notif-band-wrap { max-width: 680px; margin: 0 auto; }
.notif-band-item {
  background: #fff;
  border: 1px solid #fcd9a0;
  border-radius: 12px;
  padding: .65rem .85rem;
  margin-bottom: .4rem;
  position: relative;
}
.notif-band-emoji { font-size: 1.1rem; flex-shrink: 0; margin-top: .05rem; }
.notif-band-title { font-size: .85rem; color: #92400e; }
.notif-band-detail { font-size: .76rem; color: #666; margin-top: .2rem; line-height: 1.7; }
.notif-price-old { text-decoration: line-through; color: #bbb; margin-left: .25rem; }
.notif-price-arrow { margin: 0 .15rem; }
.notif-price-up { color: #d64545; }
.notif-price-down { color: #16a34a; }
.notif-more-link { font-size: .72rem; color: #c97a30; }
.notif-band-message { font-size: .78rem; color: #555; margin-top: .1rem; }
.notif-close-btn { font-size: .6rem; flex-shrink: 0; margin-top: .1rem; }
.mobile-nav-z { z-index: 1035; }
.btn-order-default { background: var(--primary) !important; }
.btn-order-inquiry { background: #7c3aed !important; }
.btn-submit-order { color: #fff !important; padding: .65rem !important; }
.preview-box {
  max-height: 200px;
  overflow-y: auto;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
}
/* Ortak Gizleme (Hidden) Sınıfları */
.hidden, .is-hidden, .tpl-card-hidden, .prod-check-item-hidden, .firm-card-hidden, .firm-no-result-hidden, .grp-prod-item-hidden, .template-wrap-hidden, .hint-hidden, .print-actions-hidden { display: none !important; }
.tpl-content-hidden, .firm-content-hidden, .grp-content-hidden, .firm-option-hidden { display: none; }

.is-flex { display: flex !important; }
.is-block { display: block !important; }
.prod-search-count { font-size: .7rem; padding: .15rem .5rem; }
.chevron-accent { color: #7c3aed !important; }
.firm-no-result-visible { display: block !important; }
.hint-visible { display: block !important; }

@media (max-width: 768px) {
  .int-item-row .int-prod-unit { width: 70px !important; }
  .int-item-row .int-prod-qty { width: 80px !important; }
  .int-item-row .int-prod-price { width: 100px !important; }
  .int-item-row .item-status-sel { width: 130px !important; }
}

/* ── CSP Faz-4 helpers ─────────────────────────────────────────────────────── */
.cadmin-btn-primary { background: var(--primary); color: #fff; }
.cadmin-btn-purple { background: #7c3aed; color: #fff; }
.btn-size-07 { font-size: .7rem; }
.btn-size-075 { font-size: .75rem; }
.btn-compact-065 { font-size: .65rem; padding: .15rem .4rem; }
.btn-micro-action { font-size: .6rem; padding: .1rem .3rem; }
.badge-size-06 { font-size: .6rem; }
.inline-form { display: inline; }
.section-bottom-line { border-bottom: 1px solid var(--line); }
.firm-content-row { border-top: 1px solid var(--line); }
.firm-users-col { border-right: 1px solid var(--line); }
.firm-header-row { background: var(--panel); border-bottom: none; }
.firm-header-row-open { border-bottom: 1px solid var(--line); }
.firm-toggle-trigger { cursor: pointer; }
.firm-chevron { color: var(--primary); }
.branch-badge-mini { background: #ede9fe; color: #5b21b6; font-size: .6rem; }
.group-toggle-row { cursor: pointer; background: transparent; }
.group-toggle-row-open { background: #f9fbfd; }
.group-chevron { font-size: .7rem; color: var(--primary); }
.group-badge-template { background: #ede9fe; color: #5b21b6; font-size: .58rem; }
.group-item-row { font-size: .78rem; }
.group-item-excluded { opacity: .55; }
.group-item-name-excluded { text-decoration: line-through; color: #9ca3af; }
.group-item-tag { font-size: .55rem; border-radius: 4px; padding: 1px 5px; }
.group-item-tag-include { background: #dcfce7; color: #166534; }
.group-item-tag-excluded { background: #fee2e2; color: #991b1b; }
.group-item-tag-template { background: #ede9fe; color: #5b21b6; }
.group-product-list { max-height: 140px; overflow-y: auto; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.group-product-item { display: flex; align-items: center; gap: .5rem; padding: .25rem .5rem; cursor: pointer; border-bottom: 1px solid var(--line); font-size: .75rem; }
.empty-state-building-icon { font-size: 2rem; color: var(--muted); }

.log-stat-value { font-size: 1.6rem; font-weight: 900; }
.log-stat-login { color: #16a34a; }
.log-stat-override { color: #f59e0b; }
.log-stat-failure { color: #d64545; }
.log-stat-blocked { color: #7c3aed; }
.customer-log-table { font-size: .82rem; }
.log-ip-cell { font-family: monospace; font-size: .75rem; }
.log-action-login { color: #16a34a; }
.log-action-logout { color: #6b7785; }
.log-action-failed { color: #d64545; }
.log-action-override { color: #f59e0b; }
.log-action-blocked { color: #7c3aed; }
.log-action-default { color: #6b7785; }

.print-page, .print-page * { box-sizing: border-box; }
.print-page { font-family: 'Segoe UI', Arial, sans-serif; font-size: 13px; color: #1a1a2e; background: #fff; padding: 2rem; max-width: 800px; margin: 0 auto; }
.print-page table { width: 100%; border-collapse: collapse; margin-bottom: 1.5rem; }
.print-page thead tr { border-bottom: 1.5px solid #e5e7eb; }
.print-page th { text-align: left; padding: 8px 6px; font-size: 10px; color: #888; text-transform: uppercase; letter-spacing: .5px; font-weight: 600; }
.print-page th:not(:first-child) { text-align: right; }
.print-page tbody tr { border-bottom: 1px solid #f3f4f6; }
.print-page td { padding: 10px 6px; font-size: 13px; color: #1a1a2e; }
.print-page td:not(:first-child) { text-align: right; }
.print-page .header { display: flex; justify-content: space-between; align-items: flex-start; padding-bottom: 1.5rem; border-bottom: 2px solid #f07d00; margin-bottom: 1.5rem; }
.print-page .logo-area { display: flex; align-items: center; gap: 12px; }
.print-page .company-name { font-size: 16px; font-weight: 600; color: #1a1a2e; }
.print-page .company-sub { font-size: 11px; color: #888; margin-top: 2px; }
.print-page .doc-title { text-align: right; }
.print-page .doc-title h1 { font-size: 20px; font-weight: 600; color: #1a1a2e; text-align: right; }
.print-page .doc-title .order-no { font-size: 13px; color: #888; margin-top: 3px; text-align: right; }
.print-page .info-grid { display: grid; gap: 12px; margin-bottom: 1.5rem; }
.print-page .info-box { background: #f8f9fa; border-radius: 8px; padding: 10px 12px; }
.print-page .info-box .label { font-size: 10px; color: #888; margin-bottom: 3px; text-transform: uppercase; letter-spacing: .5px; }
.print-page .info-box .value { font-size: 13px; font-weight: 600; color: #1a1a2e; }
.print-page .info-box .sub { font-size: 11px; color: #888; }
.print-page .total-area { display: flex; justify-content: flex-end; margin-bottom: 1.5rem; }
.print-page .total-box { min-width: 240px; }
.print-page .total-row { display: flex; justify-content: space-between; padding: 5px 0; font-size: 13px; color: #555; }
.print-page .total-row.grand { border-top: 1.5px solid #e5e7eb; margin-top: 4px; padding-top: 8px; font-weight: 600; font-size: 15px; color: #1a1a2e; }
.print-page .grand-amount { color: #f07d00; }
.print-page .kdv-note { font-size: 10px; color: #aaa; text-align: right; margin-top: 3px; }
.print-page .note-box { background: #f8f9fa; border-radius: 8px; padding: 10px 12px; margin-bottom: 1rem; font-size: 12px; }
.print-page .note-label { font-size: 10px; color: #888; margin-bottom: 4px; text-transform: uppercase; letter-spacing: .5px; }
.print-page .footer { border-top: 1px solid #e5e7eb; padding-top: 1rem; display: flex; justify-content: space-between; align-items: flex-end; }
.print-page .footer-note { font-size: 10px; color: #aaa; line-height: 1.7; }
.print-page .status-badge { display: inline-block; background: #ecfdf5; color: #065f46; border: 1px solid #6ee7b7; border-radius: 6px; padding: 3px 10px; font-size: 11px; font-weight: 500; }
.print-page .print-actions { display: flex; gap: 8px; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; }
.print-page .btn-print { background: #f07d00; color: #fff; border: none; border-radius: 8px; padding: 8px 20px; font-size: 13px; font-weight: 500; cursor: pointer; }
.print-page .btn-back { background: #fff; color: #374151; border: 1.5px solid #d1d5db; border-radius: 8px; padding: 8px 20px; font-size: 13px; font-weight: 500; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.print-page .btn-back:hover { background: #f3f4f6; border-color: #9ca3af; }

.customer-order-print .info-grid { grid-template-columns: repeat(3, 1fr); }
.customer-order-print td.product-name { font-weight: 500; }
.customer-order-print td.total { font-weight: 600; }
.cadmin-order-print .info-grid { grid-template-columns: repeat(4, 1fr); }
.cadmin-order-print .internal-note { background: #fffbeb; border: 1px solid #fde68a; }
.cadmin-order-print .internal-note .note-label { color: #92400e; }
.cadmin-order-print .internal-note .note-content { color: #78350f; white-space: pre-wrap; }
.cadmin-order-print .customer-note { background: #f8f9fa; }
.cadmin-order-print .ic-label { background: #fef3e2; color: #92400e; border: 1px solid #fde68a; border-radius: 6px; padding: 2px 8px; font-size: 10px; font-weight: 500; margin-left: 6px; }

.cadmin-internal-order-print { font-family: Arial, sans-serif; font-size: 12px; color: #111; padding: 20px; max-width: none; }
.cadmin-internal-order-print .header { margin-bottom: 20px; padding-bottom: 12px; }
.cadmin-internal-order-print .logo-area h1 { font-size: 20px; color: #f07d00; font-weight: 900; }
.cadmin-internal-order-print .logo-area p { font-size: 10px; color: #666; }
.cadmin-internal-order-print .order-no { font-size: 22px; font-weight: 900; color: #111; text-align: right; }
.cadmin-internal-order-print .order-no small { display: block; font-size: 10px; color: #666; font-weight: normal; }
.cadmin-internal-order-print .meta-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 20px; background: #f9fafb; padding: 12px; border-radius: 8px; }
.cadmin-internal-order-print .meta-item label { display: block; font-size: 10px; color: #666; text-transform: uppercase; letter-spacing: .5px; margin-bottom: 2px; }
.cadmin-internal-order-print .meta-item span { font-weight: 700; font-size: 13px; }
.cadmin-internal-order-print .note-box { margin-bottom: 16px; background: #fffbeb; border: 1px solid #fde68a; border-radius: 6px; padding: 8px 12px; font-size: 11px; }
.cadmin-internal-order-print .note-box strong { display: block; font-size: 10px; color: #92400e; text-transform: uppercase; margin-bottom: 2px; }
.cadmin-internal-order-print th { background: #f3f4f6; padding: 7px 10px; font-size: 11px; border-bottom: 1px solid #e5e7eb; }
.cadmin-internal-order-print td { padding: 7px 10px; border-bottom: 1px solid #f3f4f6; font-size: 12px; color: #111; }
.cadmin-internal-order-print tr:last-child td { border-bottom: none; }
.cadmin-internal-order-print .tfoot-row td { border-top: 2px solid #f07d00; font-weight: 700; font-size: 13px; padding-top: 10px; }
.cadmin-internal-order-print .total-val { color: #f07d00; font-size: 16px; }
.cadmin-internal-order-print .badge { display: inline-block; padding: 2px 8px; border-radius: 12px; font-size: 10px; font-weight: 700; }
.cadmin-internal-order-print .badge-open { background: #fef3c7; color: #92400e; }
.cadmin-internal-order-print .badge-delivered { background: #d1fae5; color: #065f46; }
.cadmin-internal-order-print .badge-cancelled { background: #fee2e2; color: #991b1b; }
.cadmin-internal-order-print .badge-ready { background: #dbeafe; color: #1e40af; }
.cadmin-internal-order-print .badge-tuzla { background: #ffedd5; color: #c2410c; }
.cadmin-internal-order-print .badge-karakoy { background: #e0f2fe; color: #0369a1; }
.cadmin-internal-order-print .footer { margin-top: 24px; padding-top: 12px; font-size: 10px; color: #9ca3af; }
.cadmin-internal-order-print .manual-badge { display: inline-block; background: #fef9c3; color: #92400e; font-size: 9px; padding: 1px 5px; border-radius: 4px; margin-left: 4px; }
.cadmin-internal-order-print .print-toolbar { margin-bottom: 16px; display: flex; gap: 8px; align-items: center; }
.cadmin-internal-order-print .btn-print-back { background: #fff; color: #374151; border: 1.5px solid #d1d5db; border-radius: 8px; padding: 8px 20px; font-size: 13px; font-weight: 500; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.cadmin-internal-order-print .btn-print-primary { background: #f07d00; color: #fff; border: none; padding: 8px 20px; border-radius: 8px; cursor: pointer; font-size: 13px; font-weight: 700; }

@media print {
  .print-page { padding: 0; }
  .print-page .print-actions { display: none !important; }
  .cadmin-internal-order-print .no-print { display: none !important; }
  @page { margin: 1.5cm; }
}
@media screen {
  .print-page { max-width: 800px; margin: 0 auto; padding: 2rem; }
}

/* ── CSP sonrası eksik class tamamlama (müşteri/admin UI) ───────────────────── */
.catalog-search-icon { left: 12px; top: 50%; transform: translateY(-50%); color: var(--muted); z-index: 2; }
.catalog-search-input { padding-left: 2.2rem; border-radius: 12px; }
.catalog-search-info { min-height: 1.2em; }
.catalog-search-info-empty { color: #d64545 !important; }
.catalog-item-hidden { display: none !important; }
.catalog-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: .55rem;
  cursor: pointer;
  transition: box-shadow .15s ease, border-color .15s ease, transform .15s ease;
}
.catalog-card:hover { border-color: #f1b46e; box-shadow: 0 8px 22px rgba(0,0,0,.08); transform: translateY(-1px); }
.catalog-img-wrap {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: #f8fafc;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-bottom: .45rem;
}
.catalog-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.catalog-img-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9ca3af;
  font-size: 1.1rem;
  background: linear-gradient(135deg, #f6dcc0, #f0e8d8);
}
.catalog-name {
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.2;
  min-height: 2.35em;
  color: var(--text);
  margin-bottom: .15rem;
  overflow: hidden;
}
.catalog-unit { font-size: .68rem; color: var(--muted); }
.modal-width-480 { --modal-width: 480px; }
.modal-img-placeholder {
  width: 90px;
  height: 90px;
  border-radius: 14px;
  background: linear-gradient(135deg, #f6dcc0, #f0e8d8);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  color: #c97a30;
}

.notif-row { border-top: 1px solid #f1f5f9; }
.notif-row:first-child { border-top: 0; }
.notif-card { border-radius: 16px; }
.notif-card-read { border-left: 3px solid var(--line); }
.notif-card-unread-price { border-left: 3px solid #f59e0b; background: #fffbeb; }
.notif-card-unread-campaign { border-left: 3px solid #7c3aed; background: #faf5ff; }
.notif-emoji { font-size: 1rem; line-height: 1; margin-top: .1rem; }
.notif-title-strong { font-size: .95rem; line-height: 1.25; }
.badge-new-dot { background: #dc2626; color: #fff; font-size: .58rem; }
.badge-type-mini { font-size: .6rem; }
.notif-price-table-wrap { border: 1px solid #fde68a; border-radius: 10px; overflow: hidden; background: #fff; }
.notif-price-table-head { background: #fff7ed; }
.text-up { color: #dc2626; }
.text-down { color: #16a34a; }
.notif-campaign-msg { background: #f8fafc; border: 1px solid var(--line); border-radius: 10px; font-size: .83rem; color: #4b5563; }

.order-notif-row { border-top: 1px solid #eef2f7; }
.order-notif-row:first-child { border-top: 0; }
.order-notif-unread { background: #fffbeb; }
.order-notif-icon { line-height: 1; font-size: 1rem; margin-top: .1rem; }
.order-notif-link { color: var(--text); }
.order-notif-link:hover { color: var(--primary); }
.badge-new-mini { background: #dc2626; color: #fff; font-size: .55rem; }

.is-inline { display: inline !important; }
.text-danger-strong { color: #d64545; }
.text-078rem { font-size: .78rem; }
.text-072rem { font-size: .72rem; }
.text-065rem { font-size: .65rem; }
.text-062rem { font-size: .62rem; }
.btn-mini-icon { font-size: .72rem; line-height: 1; padding: .2rem .38rem; }
.max-h-220 { max-height: 220px; }
.product-list-shell { max-height: 180px; overflow-y: auto; border: 1px solid var(--line); border-radius: 9px; background: #fff; padding: .25rem; }
.spec-row-shell { padding: .75rem 1rem; border-top: 1px solid #f0f2f6; }
.spec-col-main { flex: 1 1 auto; min-width: 220px; }
.spec-actions-col { min-width: 86px; }
.badge-template-purple { background: #ede9fe; color: #5b21b6; font-size: .58rem; }

/* ── Sepet sipariş tipi ve submit buton state fix ───────────────────────────── */
.cart-order-type {
  border: 1px solid var(--line);
  background: #fff;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.cart-order-type:hover {
  background: #f9fbfd;
  border-color: #f1b46e;
}
.cart-order-type input[type="radio"] {
  margin-top: .2rem;
  accent-color: var(--primary);
}
.cart-order-type:has(input[type="radio"]:checked) {
  border-color: var(--primary);
  box-shadow: 0 0 0 2px rgba(240, 125, 0, .12);
}
.cart-order-type-order:has(input[type="radio"]:checked) {
  background: #fff7ed;
}
.cart-order-type-inquiry:has(input[type="radio"]:checked) {
  background: #f5f3ff;
  border-color: #7c3aed;
  box-shadow: 0 0 0 2px rgba(124, 58, 237, .12);
}
.cart-order-type-sub {
  font-size: .72rem;
  color: var(--muted);
}
.cart-order-type-order:has(input[type="radio"]:checked) .cart-order-type-title-order {
  color: #c25e00;
}
.cart-order-type-inquiry:has(input[type="radio"]:checked) .cart-order-type-title-inquiry {
  color: #6d28d9;
}

.btn-primary-solid:hover,
.btn-primary-solid:focus {
  background: #d66e00;
  color: #fff;
}

.btn.bg-purple:hover,
.btn.bg-purple:focus {
  background: #6d28d9 !important;
  color: #fff !important;
}

/* ── purchasing.php modülüne özel sınıflar ────────────────────────────── */
.purchasing-product-name {
  max-width: 280px;
}
.draft-input-width {
  max-width: 90px;
}
.draft-input-width-lg {
  width: 115px;
  flex: 0 0 115px !important;
}
.draft-select-width {
  width: 85px;
}
.search-input-wrapper {
  max-width: 250px;
}
.table-wrapper-scrollable {
  max-height: 70vh;
  overflow-y: auto;
}
.drafts-wrapper {
  min-height: 300px;
}
.col-icon { width: 40px; }
.col-supplier { width: 200px; }
.col-actions { width: 60px; }
.col-qty-supplier { width: 260px; }
.confirm-modal-narrow {
  max-width: 260px !important;
}

/* ── Teklif (Quote) Modülü ─────────────────────────────────────────────────── */
.quote-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 1.5rem;
  box-shadow: 0 4px 12px rgba(0,0,0,.04);
}
.quote-header-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  border-bottom: 2px solid var(--primary);
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
}
.quote-title { font-size: 1.5rem; font-weight: 800; color: var(--primary-dark); margin: 0; }
.quote-meta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.quote-meta-box { background: #f8fafc; border-radius: 8px; padding: 1rem; border: 1px solid #e2e8f0; }
.quote-meta-label { font-size: .75rem; color: var(--muted); text-transform: uppercase; font-weight: 700; margin-bottom: .25rem; }
.quote-meta-value { font-size: 1rem; font-weight: 700; color: var(--text); }

.quote-table th { background: #f1f5f9; font-weight: 700; color: #475569; font-size: .85rem; border-bottom: 2px solid #cbd5e1 !important; }
.quote-table td { vertical-align: middle; font-size: .9rem; }
.quote-total-row td { font-size: 1.05rem; font-weight: 700; background: #f8fafc; }
.quote-grand-total { color: var(--primary); font-size: 1.25rem; font-weight: 900; }

/* ── Teklif Yazdırma (PDF) Şablonu ───────────────────────────────────────── */
.print-page.quote-print-page { max-width: 900px; padding: 2rem 3rem; background: #fff; }
.quote-print-page .header { border-bottom: 3px solid var(--primary); padding-bottom: 1rem; margin-bottom: 2rem; display: flex; justify-content: space-between; }
.quote-print-page .company-info { font-size: .85rem; color: #64748b; line-height: 1.5; text-align: right; }
.quote-print-page .customer-info { margin-bottom: 2rem; padding: 1.2rem; border: 1px solid #e2e8f0; border-radius: 8px; background: #f8fafc; }
.quote-print-page .customer-title { font-weight: 800; font-size: 1.15rem; margin-bottom: .5rem; color: #1e293b; text-transform: uppercase; }
.quote-print-page .customer-detail { font-size: .9rem; color: #475569; line-height: 1.6; }
.quote-print-page .terms-box { margin-top: 2rem; font-size: .8rem; color: #64748b; border-top: 1px solid #e2e8f0; padding-top: 1rem; line-height: 1.6; }
.quote-print-page .validity-badge { display: inline-block; background: #fef3c7; color: #92400e; padding: .25rem .75rem; border-radius: 6px; font-weight: 700; border: 1px solid #fde68a; font-size: .8rem; }

/* ── Teklif Kopyalama / Motor Etkileşimleri ─────────────────────────────── */
.btn-copy-quote {
  background: #f8fafc;
  color: var(--primary);
  border: 1px solid var(--primary);
  transition: all 0.2s ease;
}
.btn-copy-quote:hover { background: var(--primary); color: #fff; }
.quote-copying { opacity: 0.6; pointer-events: none; }

@media print {
  .quote-print-page { padding: 0 !important; max-width: 100% !important; }
  .quote-print-page .no-print { display: none !important; }
  .quote-print-page .customer-info { background: transparent !important; border-color: #cbd5e1 !important; }
  .quote-print-page .quote-table th { background: transparent !important; border-bottom: 2px solid #000 !important; color: #000 !important; }
  .quote-print-page .quote-total-row td { background: transparent !important; }
  .quote-print-page .quote-grand-total { color: #000 !important; }
  @page { margin: 0.5cm; }
  body { background: #fff; margin: 0; padding: 0; }
  nav, .hero-card, .search-bar, .panel-card, .mobile-bottom-nav, .modal, .modal-backdrop { display: none !important; }
  #quotePrintTemplate { display: block !important; width: 100%; margin: 0; padding: 0; position: static; }
}

/* ── CSP Teklif Modülü Yardımcı Sınıfları (Inline Style Fixes) ────────── */
.quote-w-40 { width: 40px; }
.quote-w-60 { width: 60px; }
.quote-w-80 { width: 80px; }
.quote-w-100 { width: 100px; }
.quote-w-120 { width: 120px; }
.quote-w-150 { width: 150px; }
.quote-w-200 { width: 200px; }
.quote-min-w-150 { min-width: 150px; }
.quote-max-w-300 { max-width: 300px; }
.quote-text-center { text-align: center !important; }
.quote-text-right { text-align: right !important; }
.quote-nowrap { white-space: nowrap !important; }

/* ── CSP Faz-4 Ek Sınıfları (Quote ve Min-Stocks) ────────── */
.quote-search-results { max-height: 600px; overflow-y: auto; overflow-x: hidden; }
.quote-print-logo { max-height: 35px; width: auto; }
.quote-print-note-area { white-space: pre-wrap; font-size: 14px; min-height: 80px; }
.quote-tax-select { min-height: 24px !important; height: 24px !important; padding-top: 0 !important; padding-bottom: 0 !important; font-size: 0.75rem !important; }
#inline-stocks-table th.col-id { width: 60px; }
#inline-stocks-table th.col-cur-stock { width: 140px; }
#inline-stocks-table th.col-min-stock { width: 160px; }
#inline-stocks-table th.col-price { width: 160px; }
.inline-status.z-index-5 { z-index: 5; }
